Android Important Topic List
Convert the video URL to image.
String[] split = mThumImage.split("=");
String breakString = split[1];
String mURl="http://img.youtube.com/vi/"+breakString+"/0.jpg";
Picasso.with(context).load(mURl).into(holder.imageViewIcon);
------------------End------------------
Half Circle Create.
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:left="-150dp"
android:right="-150dp"
android:top="-200dp">
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="oval">
<solid android:color="#C72C2F" />
</shape>
</item>
</layer-list>
---------------------------------
Define AdView adview;
/****
create code
/*****
AdRequest adRequest = new AdRequest.Builder().build();
adView.loadAd(adRequest);
adView.setAdListener(new AdListener() {
@Override
public void onAdLoaded() {
adView.setVisibility(View.VISIBLE);
}
});
Library:- compile 'com.google.android.gms:play-services-auth:11.0.0'
/******/
xml layout
/******/
<com.google.android.gms.ads.AdView
xmlns:ads="http://schemas.android.com/apk/res-auto"
android:id="@+id/adView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
ads:adSize="SMART_BANNER"
android:layout_centerHorizontal="true"
android:layout_above="@id/bottom_bar"
android:layout_gravity="center"
android:visibility="gone"
ads:adUnitId="your ca-app-pub">
</com.google.android.gms.ads.AdView>
----------------------------------------------------
//ToolBar back press
@Override
public boolean onOptionsItemSelected(MenuItem menuItem) {
if (menuItem.getItemId() == android.R.id.home) {
Intent cartIntent = new Intent(ReferralListingActivity.this, DashBoardActivity.class);
startActivity(cartIntent);
finish();
}
return super.onOptionsItemSelected(menuItem);
}
//End
//ToolBar Setting
setSupportActionBar(toolbar);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
getSupportActionBar().setDisplayShowHomeEnabled(true);
Drawable upArrow = ContextCompat.getDrawable(getApplicationContext(), R.drawable.ic_back);
upArrow.setColorFilter(ContextCompat.getColor(ReferralListingActivity.this, R.color.black), PorterDuff.Mode.SRC_ATOP);
getSupportActionBar().setHomeAsUpIndicator(upArrow);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
toolTitle.setText("Referral History");
//End
----------------------------------
Run Time Permission
AppPermissions mRuntimePermission;
private static final String[] ALL_PERMISSIONS = {
Manifest.permission.ACCESS_NETWORK_STATE,
Manifest.permission.CAMERA,
Manifest.permission.READ_EXTERNAL_STORAGE,
Manifest.permission.WRITE_EXTERNAL_STORAGE,
Manifest.permission.READ_CONTACTS,
Manifest.permission.RECEIVE_SMS,
Manifest.permission.READ_SMS
};
mRuntimePermission = new AppPermissions(SplashActivity.this);
mRuntimePermission = new AppPermissions(SplashActivity.this);
if (Build.VERSION.SDK_INT >= 23) {
if (mRuntimePermission.hasPermission(ALL_PERMISSIONS)) {
//exitSplash();
updateAppCode();
} else {
mRuntimePermission.requestPermission(SplashActivity.this, ALL_PERMISSIONS, ALL_REQUEST_CODE);
}
} else {
//exitSplash();
updateAppCode();
}
@Override
public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) {
switch (requestCode) {
case ALL_REQUEST_CODE:
List<Integer> permissionResults = new ArrayList<>();
for (int grantResult : grantResults) {
permissionResults.add(grantResult);
}
if (permissionResults.contains(PackageManager.PERMISSION_DENIED)) {
mRuntimePermission.requestPermission(SplashActivity.this, ALL_PERMISSIONS, ALL_REQUEST_CODE);
Toast.makeText(SplashActivity.this, "All permissions are necessary, please select allow button from permission dialog.", Toast.LENGTH_SHORT).show();
} else {
exitSplash();
}
break;
}
}
Library:- compile 'com.mukesh:permissions:1.0.4'
---------------------------------------------
Retrofit
public interface Api {
static final String URL = "https://pixelsoftwares.com/";
//Post the user information on server
@Multipart
@POST("/connectadlinks/api/user/updateprofile")
Call<ProfileInformation> profileInformation(@Part("userId") RequestBody userId, @Part("name") RequestBody mName, @Part("username") RequestBody mUserName, @Part("email") RequestBody mEmail, @Part("mobile") RequestBody mMobile, @Part("countrycode") RequestBody mCountryCode, @Part("nationid") RequestBody mNationalID, @Part MultipartBody.Part profileImage);
}
public class ProfileInformation {
@SerializedName("status")
@Expose
private String status;
@SerializedName("message")
@Expose
private String message;
@SerializedName("image")
@Expose
private String image;
public String getStatus() {
return status;
}
public void setStatus(String status) {
this.status = status;
}
public String getMessage() {
return message;
}
public void setMessage(String message) {
this.message = message;
}
public String getImage() {
return image;
}
public void setImage(String image) {
this.image = image;
}
}
//Post the user Information
public void postImage(String path) {
//progressBar.setVisibility(View.VISIBLE);
showDialog(true);
//profileImageView.setVisibility(View.GONE);
final String mUserName = userNameEditText.getText().toString();
final String mName = nameEditText.getText().toString();
final String mEmail = emailEditText.getText().toString();
final String mMobile = phoneEditText.getText().toString();
final String mNationalID = proofEditText.getText().toString();
int compressionRatio = 2; //1 == originalImage, 2 = 50% compression, 4=25% compress
try {
Bitmap bitmap = BitmapFactory.decodeFile(imageFile.getPath());
bitmap.compress(Bitmap.CompressFormat.JPEG, compressionRatio, new FileOutputStream(imageFile));
} catch (Throwable t) {
Log.e("ERROR", "Error compressing file." + t.toString());
t.printStackTrace();
}
RequestBody reqFile = RequestBody.create(MediaType.parse("image/*"), imageFile);
MultipartBody.Part body = MultipartBody.Part.createFormData("identificationimage", imageFile.getName(), reqFile);
RequestBody usertid = RequestBody.create(MediaType.parse("text/html"), Credentials.getLoginUserID(getActivity()));
RequestBody name = RequestBody.create(MediaType.parse("text/html"), mName);
RequestBody username = RequestBody.create(MediaType.parse("text/html"), mUserName);
RequestBody email = RequestBody.create(MediaType.parse("text/html"), mEmail);
RequestBody phone = RequestBody.create(MediaType.parse("text/html"), mMobile);
RequestBody countryCode = RequestBody.create(MediaType.parse("text/html"), "91");
RequestBody nationalId = RequestBody.create(MediaType.parse("text/html"), mNationalID);
Api service = Retrofit().create(Api.class);
Call<ProfileInformation> call = service.profileInformation(usertid, name, username, email, phone, countryCode, nationalId, body);
call.enqueue(new Callback<ProfileInformation>() {
@Override
public void onResponse(Call<ProfileInformation> call, retrofit2.Response<ProfileInformation> response) {
//progressBar.setVisibility(View.GONE);
showDialog(false);
// profileImageView.setVisibility(View.VISIBLE);
Log.d(">>onsuccess", ">>onsuccess" + response.body().getMessage());
Toast.makeText(getActivity(), response.body().getMessage(), Toast.LENGTH_LONG).show();
//fetchUserInfo();
}
@Override
public void onFailure(Call<ProfileInformation> call, Throwable t) {
// progressBar.setVisibility(View.VISIBLE);
showDialog(false);
Log.d(">>onFailure", ">>onFailure" + t.getMessage());
}
});
}
public Retrofit Retrofit() {
HttpLoggingInterceptor logging = new HttpLoggingInterceptor();
logging.setLevel(HttpLoggingInterceptor.Level.BODY);
OkHttpClient okHttpClient = new OkHttpClient.Builder()
.readTimeout(60 * 2000, TimeUnit.MILLISECONDS).addInterceptor(logging)
.build();
Retrofit retrofit = new Retrofit.Builder()
.baseUrl(Api.URL)
.addConverterFactory(GsonConverterFactory.create()).client(okHttpClient)
.build();
return retrofit;
}
Library:-
compile 'com.squareup.retrofit2:retrofit:2.1.0'
compile 'com.squareup.retrofit2:converter-gson:2.1.0'
compile 'com.squareup.okhttp3:logging-interceptor:3.3.1'
----------------------------------------------------------------------------
Profile Image Upload
public class ProfileFragment extends Fragment {
View convertView;
//EditText
EditText nameEditText, userNameEditText, phoneEditText, emailEditText, proofEditText;
//TextView
TextView confirmTextView;
LinearLayout uploadTextView;
//ImageView
ImageView statusImageView, pendingImageView;
ProgressDialog dialog;
Button submitButton;
ImageView profileImageView;
int CAPTURE_IMAGE = 1, CHOOSE_GALLERY = 2;
ProgressBar progressBar;
private static final String[] ALL_PERMISSIONS = {
Manifest.permission.ACCESS_NETWORK_STATE,
Manifest.permission.CAMERA,
Manifest.permission.READ_EXTERNAL_STORAGE,
Manifest.permission.WRITE_EXTERNAL_STORAGE
};
private static final int ALL_REQUEST_CODE = 0;
private static final int CAMERA_REQUEST = 108;
private String mCurrentPhotoPath = "";
AppPermissions mRuntimePermission;
File imageFile;
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
convertView = inflater.inflate(R.layout.fragment_edit_profile, container, false);
//Getting the widget id here
init(convertView);
//Using the clikc listenr here
listener();
fetchUserInfo();
//Credentials.getLoginUserID(getActivity());
//End
return convertView;
}
private void init(View view) {
//EditText
nameEditText = (EditText) view.findViewById(R.id.etName);
userNameEditText = (EditText) view.findViewById(R.id.etUser);
emailEditText = (EditText) view.findViewById(R.id.etEmail);
phoneEditText = (EditText) view.findViewById(R.id.etPhone);
proofEditText = (EditText) view.findViewById(R.id.etNationalId);
//TextView
confirmTextView = (TextView) view.findViewById(R.id.txtStatus);
uploadTextView = (LinearLayout) view.findViewById(R.id.txtUpload);
//ImageView
statusImageView = (ImageView) view.findViewById(R.id.imgStatus);
pendingImageView = (ImageView) view.findViewById(R.id.imgPending);
//Button
submitButton = (Button) view.findViewById(R.id.btnSubmit);
//ImageView
profileImageView = (ImageView) view.findViewById(R.id.imgUserProfile);
//Disable Here
nameEditText.setEnabled(false);
userNameEditText.setEnabled(false);
emailEditText.setEnabled(false);
phoneEditText.setEnabled(false);
}
private void listener() {
submitButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if (nameEditText.length() == 0) {
Toast.makeText(getActivity(), "Please fill all field!.", Toast.LENGTH_SHORT).show();
} else if (userNameEditText.length() == 0) {
Toast.makeText(getActivity(), "Please fill all field!.", Toast.LENGTH_SHORT).show();
} else if (emailEditText.length() == 0) {
Toast.makeText(getActivity(), "Please fill all field!.", Toast.LENGTH_SHORT).show();
} else if (phoneEditText.length() == 0) {
Toast.makeText(getActivity(), "Please fill all field!.", Toast.LENGTH_SHORT).show();
} else if (proofEditText.length() == 0) {
Toast.makeText(getActivity(), "Please fill all field!.", Toast.LENGTH_SHORT).show();
} else {
//postData();
if (imageFile == null) {
Toast.makeText(getActivity(), "Please provide Passport/National ID upload image", Toast.LENGTH_SHORT).show();
} else {
postImage(imageFile.getPath());
}
}
}
});
mRuntimePermission = new AppPermissions(getActivity());
profileImageView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
mRuntimePermission = new AppPermissions(getActivity());
if (Build.VERSION.SDK_INT >= 23) {
if (mRuntimePermission.hasPermission(ALL_PERMISSIONS)) {
clickImage();
} else {
mRuntimePermission.requestPermission(getActivity(), ALL_PERMISSIONS, ALL_REQUEST_CODE);
}
} else {
clickImage();
}
}
});
}
private void clickImage() {
final CharSequence[] items = {"Take Photo Camera", "Take Photo Gallery"};
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
builder.setTitle("Add Photo!");
builder.setItems(items, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int item) {
if (items[item].equals("Take Photo Camera")) {
Intent cameraIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
if (cameraIntent.resolveActivity(getActivity().getPackageManager()) != null) {
File photoFile;
photoFile = createImageFile();
if (photoFile != null) {
cameraIntent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(photoFile));
getActivity().startActivityForResult(cameraIntent, CAMERA_REQUEST);
} else {
mCurrentPhotoPath = "";
getActivity().startActivityForResult(cameraIntent, CAMERA_REQUEST);
}
}
} else if (items[item].equals("Take Photo Gallery")) {
chooseGallery();
}
}
});
builder.show();
}
public void chooseGallery() {
Intent galleryIntent = new Intent(Intent.ACTION_PICK, android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
getActivity().startActivityForResult(galleryIntent, CHOOSE_GALLERY);
}
private File createImageFile() {
String timeStamp = new SimpleDateFormat("yyyyMMdd_HHmmss", Locale.US).format(new Date());
String imageFileName = "JPEG_" + timeStamp + "_";
File storageDir = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES);
imageFile = null;
try {
imageFile = File.createTempFile(
imageFileName, // prefix
".jpg", // suffix
storageDir // directory
);
} catch (IOException e) {
e.printStackTrace();
}
if (imageFile != null) {
mCurrentPhotoPath = "file:" + imageFile.getAbsolutePath();
Log.d("Ihdh", "Image" + mCurrentPhotoPath);
}
return imageFile;
}
@Override
public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) {
switch (requestCode) {
case ALL_REQUEST_CODE:
List<Integer> permissionResults = new ArrayList<>();
for (int grantResult : grantResults) {
permissionResults.add(grantResult);
}
if (permissionResults.contains(PackageManager.PERMISSION_DENIED)) {
mRuntimePermission.requestPermission(getActivity(), ALL_PERMISSIONS, ALL_REQUEST_CODE);
Toast.makeText(getActivity(), "All permissions are necessary, please select allow button from permission dialog.", Toast.LENGTH_SHORT).show();
} else {
clickImage();
}
break;
}
}
public static boolean deleteDir(File dir) {
if (dir != null && dir.isDirectory()) {
String[] children = dir.list();
for (String aChildren : children) {
boolean success = deleteDir(new File(dir, aChildren));
if (!success) {
return false;
}
}
}
return dir != null && dir.delete();
}
private void handleCrop(int resultCode, Intent result) {
if (resultCode == RESULT_OK) {
try {
profileImageView.setImageDrawable(null);
uploadTextView.setVisibility(View.GONE);
//postImage(mCurrentPhotoPath);
} catch (Exception e) {
e.printStackTrace();
}
try {
Log.i("CROP", "handleCrop: " + Crop.getOutput(result));
profileImageView.setImageURI(Crop.getOutput(result));
uploadTextView.setVisibility(View.GONE);
//postImage(mCurrentPhotoPath);
} catch (Exception e) {
e.printStackTrace();
}
} else if (resultCode == Crop.RESULT_ERROR) {
try {
Toast.makeText(getActivity(), Crop.getError(result).getMessage(), Toast.LENGTH_SHORT).show();
} catch (Exception e) {
e.printStackTrace();
}
}
}
private void beginCrop(Uri source) {
try {
File file = getActivity().getCacheDir();
deleteDir(file);
} catch (Exception e) {
e.printStackTrace();
}
Uri destination = Uri.fromFile(new File(getActivity().getCacheDir(), "cropped"));
Crop.of(source, destination).asSquare().start(getActivity(), Crop.REQUEST_CROP);
}
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (resultCode != RESULT_CANCELED) {
if (requestCode == Crop.REQUEST_PICK && resultCode == RESULT_OK) {
beginCrop(data.getData());
} else if (requestCode == Crop.REQUEST_CROP) {
handleCrop(resultCode, data);
} else if (requestCode == CAMERA_REQUEST && resultCode == RESULT_OK) {
if (mCurrentPhotoPath == null || mCurrentPhotoPath.isEmpty()) {
beginCrop(data.getData());
} else {
beginCrop(Uri.parse(mCurrentPhotoPath));
}
}
}
if (requestCode == CHOOSE_GALLERY && resultCode == RESULT_OK) {
Uri selectedImage = data.getData();
String[] filePathColumn = {MediaStore.Images.Media.DATA};
Cursor cursor = getActivity().getContentResolver().query(selectedImage, filePathColumn, null, null, null);
cursor.moveToFirst();
int columnIndex = cursor.getColumnIndex(filePathColumn[0]);
String imgDecodableString = cursor.getString(columnIndex);
cursor.close();
File imageFile = new File("" + imgDecodableString);
this.imageFile = imageFile;
Uri uri = Uri.fromFile(imageFile);
Log.i("TAG", "path: " + imageFile.getAbsolutePath());
Bitmap bitmap;
try {
bitmap = MediaStore.Images.Media.getBitmap(getActivity().getContentResolver(), uri);
profileImageView.setImageBitmap(bitmap);
uploadTextView.setVisibility(View.GONE);
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
CropImage.activity(uri).setGuidelines(com.theartofdev.edmodo.cropper.CropImageView.Guidelines.ON).setAspectRatio(1, 1).start(getActivity());
}
if (requestCode == CropImage.CROP_IMAGE_ACTIVITY_REQUEST_CODE && resultCode == RESULT_OK) {
if (data != null) {
CropImage.ActivityResult result = CropImage.getActivityResult(data);
if (resultCode == RESULT_OK) {
Uri resultUri = result.getUri();
imageFile = new File(resultUri.getPath());
//postImage(imageFile.getPath());
} else if (resultCode == CropImage.CROP_IMAGE_ACTIVITY_RESULT_ERROR_CODE) {
Exception error = result.getError();
}
}
}
}
//Post the user Information
public void postImage(String path) {
//progressBar.setVisibility(View.VISIBLE);
showDialog(true);
//profileImageView.setVisibility(View.GONE);
final String mUserName = userNameEditText.getText().toString();
final String mName = nameEditText.getText().toString();
final String mEmail = emailEditText.getText().toString();
final String mMobile = phoneEditText.getText().toString();
final String mNationalID = proofEditText.getText().toString();
int compressionRatio = 2; //1 == originalImage, 2 = 50% compression, 4=25% compress
try {
Bitmap bitmap = BitmapFactory.decodeFile(imageFile.getPath());
bitmap.compress(Bitmap.CompressFormat.JPEG, compressionRatio, new FileOutputStream(imageFile));
} catch (Throwable t) {
Log.e("ERROR", "Error compressing file." + t.toString());
t.printStackTrace();
}
RequestBody reqFile = RequestBody.create(MediaType.parse("image/*"), imageFile);
MultipartBody.Part body = MultipartBody.Part.createFormData("identificationimage", imageFile.getName(), reqFile);
RequestBody usertid = RequestBody.create(MediaType.parse("text/html"), Credentials.getLoginUserID(getActivity()));
RequestBody name = RequestBody.create(MediaType.parse("text/html"), mName);
RequestBody username = RequestBody.create(MediaType.parse("text/html"), mUserName);
RequestBody email = RequestBody.create(MediaType.parse("text/html"), mEmail);
RequestBody phone = RequestBody.create(MediaType.parse("text/html"), mMobile);
RequestBody countryCode = RequestBody.create(MediaType.parse("text/html"), "91");
RequestBody nationalId = RequestBody.create(MediaType.parse("text/html"), mNationalID);
Api service = Retrofit().create(Api.class);
Call<ProfileInformation> call = service.profileInformation(usertid, name, username, email, phone, countryCode, nationalId, body);
call.enqueue(new Callback<ProfileInformation>() {
@Override
public void onResponse(Call<ProfileInformation> call, retrofit2.Response<ProfileInformation> response) {
//progressBar.setVisibility(View.GONE);
showDialog(false);
// profileImageView.setVisibility(View.VISIBLE);
Log.d(">>onsuccess", ">>onsuccess" + response.body().getMessage());
Toast.makeText(getActivity(), response.body().getMessage(), Toast.LENGTH_LONG).show();
//fetchUserInfo();
}
@Override
public void onFailure(Call<ProfileInformation> call, Throwable t) {
// progressBar.setVisibility(View.VISIBLE);
showDialog(false);
Log.d(">>onFailure", ">>onFailure" + t.getMessage());
}
});
}
public Retrofit Retrofit() {
HttpLoggingInterceptor logging = new HttpLoggingInterceptor();
logging.setLevel(HttpLoggingInterceptor.Level.BODY);
OkHttpClient okHttpClient = new OkHttpClient.Builder()
.readTimeout(60 * 2000, TimeUnit.MILLISECONDS).addInterceptor(logging)
.build();
Retrofit retrofit = new Retrofit.Builder()
.baseUrl(Api.URL)
.addConverterFactory(GsonConverterFactory.create()).client(okHttpClient)
.build();
return retrofit;
}
}
Menifest:- <activity
android:name="com.theartofdev.edmodo.cropper.CropImageActivity"
android:screenOrientation="portrait" />
<activity android:name="com.soundcloud.android.crop.CropImageActivity" />
--------------------------------------------------------------------------------------------------
Get the Url in text
setLinks(messageTextView(TextView), mMessage(get message));
private void setLinks(TextView messageTextView, String mMessage) {
String[] linkPatterns = {
"([Hh][tT][tT][pP][sS]?:\\/\\/[^ ,'\">\\]\\)]*[^\\. ,'\">\\]\\)])",
"#[\\w]+", "@[\\w]+"};
for (String str : linkPatterns) {
Pattern pattern = Pattern.compile(str);
Matcher matcher = pattern.matcher(messageTextView.getText());
while (matcher.find()) {
int x = matcher.start();
int y = matcher.end();
final android.text.SpannableString f = new android.text.SpannableString(messageTextView.getText());
InternalURLSpan span = new InternalURLSpan();
span.text = mMessage.substring(x, y);
f.setSpan(span, x, y, android.text.Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
messageTextView.setText(f);
Log.i("TEXT::", "TEXT:>>>" + f);
}
}
//messageTextView.setLinkTextColor(Color.BLUE);
messageTextView.setLinksClickable(true);
messageTextView.setMovementMethod(LinkMovementMethod.getInstance());
//messageTextView.setFocusable(false);
}
class InternalURLSpan extends android.text.style.ClickableSpan {
public String text;
@Override
public void onClick(View widget) {
Log.i("FINAL TEXT::", "FINAL TEXT:>>>" + text);
String mFinalValue = text.replace("\r\n", "");
if (mFinalValue.equals("https://pixelsoftwares.com/connectadlinks/user-status/check")) {
sendDataNotification();
} else {
Intent myIntent = new Intent(Intent.ACTION_VIEW, Uri.parse(mFinalValue));
startActivity(myIntent);
}
}
--------------------------------------------------------------
EditText Field Enter Only one text
otpOne.addTextChangedListener(new GenericTextWatcher(otpOne));
otpTwo.addTextChangedListener(new GenericTextWatcher(otpTwo));
otpThree.addTextChangedListener(new GenericTextWatcher(otpThree));
otpFour.addTextChangedListener(new GenericTextWatcher(otpFour));
public class GenericTextWatcher implements TextWatcher {
private View view;
private GenericTextWatcher(View view) {
this.view = view;
}
@Override
public void afterTextChanged(Editable editable) {
// TODO Auto-generated method stub
String text = editable.toString();
switch (view.getId()) {
case R.id.otp_1:
if (text.length() == 1)
otpTwo.requestFocus();
break;
case R.id.otp_2:
if (text.length() == 1)
otpThree.requestFocus();
break;
case R.id.otp_3:
if (text.length() == 1)
otpFour.requestFocus();
break;
case R.id.otp_4:
break;
}
}
@Override
public void beforeTextChanged(CharSequence arg0, int arg1, int arg2, int arg3) {
// TODO Auto-generated method stub
}
@Override
public void onTextChanged(CharSequence arg0, int arg1, int arg2, int arg3) {
// TODO Auto-generated method stub
}
}
///
-----------------------------------------------------------
Tab Select
Example select Left and Right
boolean isLeftSelect=false;
boolean isRightSelected=false;
if(isLeftSelect==false && isRightSelected==false){
Toast.makeText(RegisterActivity.this, "Please selected Left or Right", Toast.LENGTH_LONG).show();
}
leftText.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
isLeftSelect=!isLeftSelect;
leftText.setBackgroundResource(R.drawable.edtnewbg);
leftText.setTextColor(Color.parseColor("#000000"));
rightText.setTextColor(Color.parseColor("#ffffff"));
rightText.setBackgroundColor(Color.parseColor("#5C5B6D"));
rightText.setBackgroundDrawable(getResources().getDrawable(R.drawable.rounded_box));
vaLues = "2";
}
});
---------------------------------------------
Broadcast Receiver OTP
//ManiFest file
<receiver android:name="com.blush.app.IncomingSms">
<intent-filter>
<action android:name="android.provider.Telephony.SMS_RECEIVED" />
</intent-filter>
</receiver>
//Main Activity
public class IncomingSms extends BroadcastReceiver {
// Get the object of SmsManager
final SmsManager sms = SmsManager.getDefault();
public void onReceive(Context context, Intent intent) {
// Retrieves a map of extended data from the intent.
final Bundle bundle = intent.getExtras();
try {
if (bundle != null) {
final Object[] pdusObj = (Object[]) bundle.get("pdus");
for (int i = 0; i < pdusObj.length; i++) {
SmsMessage currentMessage = SmsMessage.createFromPdu((byte[]) pdusObj[i]);
String phoneNumber = currentMessage.getDisplayOriginatingAddress();
String senderNum = phoneNumber;
String message = currentMessage.getDisplayMessageBody().split(":")[1];
/// message = message.substring(0, message.length()-1);
message = message.substring(0, message.length());
Log.d(">>SmsReceiver", "senderNum: " + senderNum + "; message: " + message);
Intent myIntent = new Intent("otp");
myIntent.putExtra("message",message);
LocalBroadcastManager.getInstance(context).sendBroadcast(myIntent);
// Show Alert
} // end for loop
} // bundle is null
} catch (Exception e) {
Log.d(">>SmsReceiver", "Exception smsReceiver" +e.getMessage());
}
}
}
//Use in OTP Activity
private BroadcastReceiver receiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
if (intent.getAction().equalsIgnoreCase("otp")) {
final String message = intent.getStringExtra("message");
Log.d(">>SmsReceiver", "otp is " + message);
otpEditText.setText(message);
if(otpEditText.getText().toString().length()>6) {
requestOTP();
}
//Do whatever you want with the code here
}
}
};
@Override
public void onPause() {
super.onPause();
Log.d(">>on resume unregister", "on resume unregister");
LocalBroadcastManager.getInstance(this).unregisterReceiver(receiver);
}
@Override
public void onResume() {
Log.d(">>on resume register", "on resume register");
LocalBroadcastManager.getInstance(this).registerReceiver(receiver, new IntentFilter("otp"));
super.onResume();
}
----------------------------------------------------
Refferal and auto fill
//Receiver....
public class InstallReferrerReceiver extends BroadcastReceiver {
Prefs prefs;
@Override
public void onReceive(Context context, Intent intent) {
K.Log.i("TAG", "registered ref");
if (intent.getAction().equals("com.android.vending.INSTALL_REFERRER")) {
prefs = new Prefs(context);
String referrer = intent.getStringExtra("referrer");
K.Log.i("TAG", "referrer: " + referrer);
if (!referrer.contains("=") && !referrer.contains("&")) {
prefs.setString(Prefs.REFERRAL_ID, referrer.replace("\"", ""));
} else {
prefs.setString(Prefs.REFERRAL_ID, "");
}
//Use the referrer
}
}
}
//END
//Get Data
etReferralId.setText(prefs.getString(Prefs.REFERRAL_ID, ""));
//Share links
Intent intent = new Intent(android.content.Intent.ACTION_SEND);
intent.setType("text/plain");
String shareBodyText = "Take a look at this amazing app: https://play.google.com/store/apps/details?id=com.connectadlinks"+"&"+"referrer="+username;
intent.putExtra(android.content.Intent.EXTRA_SUBJECT, "Subject/Title");
intent.putExtra(android.content.Intent.EXTRA_TEXT, shareBodyText);
startActivity(Intent.createChooser(intent, "Share with"));
-----------------------------------------------------------------------------
EditText Message Field
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="10dp"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"
android:layout_marginTop="18dp"
android:orientation="vertical"
>
<EditText
android:id="@+id/contactmsgbox"
android:layout_width="match_parent"
android:layout_height="160dp"
android:gravity="left"
android:hint="Enter Message"
android:background="@drawable/et_square"
android:paddingLeft="10dp"
android:paddingTop="10dp"
android:textColor="#000000"
android:textColorHint="#000000" />
</LinearLayout>
-----------------------------------------------
Minus and Plus Logic on cart
private static int _counter = 0
plusLinearLayout.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View view) {
if (_counter >= 0 && _counter < 10) {
_counter = _counter + 1;
countTextView.setText("" + _counter);
String mQty = "" + _counter;
BasketAddAdapter.this.notifyDataSetChanged();
displayAlertDialog(mQty);
}
}
minusLinearLayout.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View view) {
if (_counter > 1 && _counter <= 10) {
_counter = _counter - 1;
countTextView.setText("" + _counter);
String mQty = "" + _counter;
//addItem(mQty,mID,mOrderId);
BasketAddAdapter.this.notifyDataSetChanged();
display(mQty);
}
}
--------------------------------------------
RawData
private void postExamData(JSONObject finalObj) {
showDialog(true);
String URL = "";
RequestQueue queue = Volley.newRequestQueue(this);
Log.i(">", "studentsObj>>>: " + finalObj);
JsonObjectRequest request = new JsonObjectRequest(Request.Method.POST, URL, finalObj, new Response.Listener<JSONObject>() {
@Override
public void onResponse(JSONObject object) {
Log.d("RESPONSE", object.toString());
showDialog(false);
submitPopMessage(object.toString());
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError volleyError) {
Log.d("RESPONSE", "That didn't work!");
showDialog(false);
}
});
queue.add(request);
request.setRetryPolicy(new DefaultRetryPolicy(500000,
DefaultRetryPolicy.DEFAULT_MAX_RETRIES,
DefaultRetryPolicy.DEFAULT_BACKOFF_MULT));
}
---------------------------------
Retrofit
public interface Api {
public static final String URL = " http://www.bloodstock.co.in/";
@POST("/api/UserRegistration")
@FormUrlEncoded
Call<UploadResponse> requestRegister(@Field("Name") String name,
@Field("Email") String email,
@Field("PhoneNumber") String phoneNumber,
@Field("BloodGroup") String bloodGroup,
@Field("DistrictId") String district,
@Field("StateId") String state,
@Field("CityId") String city,
@Field("Occupation") String occuption,
@Field("Address") String address);}
Create response call:::
public void registerBloodUserData() {
final String mUserName = userNameEditText.getText().toString();
final String mUserEmail = emailEditText.getText().toString();
final String mPhone = phoneEditText.getText().toString();
final String mAddress = addressEditText.getText().toString();
final String mOccuption = occuptionEditText.getText().toString();
showDialog(true);
Api service = Retrofit().create(Api.class);
Call<UploadResponse> call = service.requestRegister(mUserName, mUserEmail,mPhone,"B+ve","4","3","11",mAddress,mOccuption);
call.enqueue(new Callback<UploadResponse>() {
@Override
public void onResponse(Call<UploadResponse> call, retrofit2.Response<UploadResponse> response) {
Log.d("++response registerotp", "response" + response);
String status = response.body().getStatus();
Log.d("++status", "status" + status);
if (status.equalsIgnoreCase("true")) {
showDialog(false);
Toast.makeText(RegisterActivity.this, response.body().getMessage(), Toast.LENGTH_LONG).show();
} else {
showDialog(false);
Toast.makeText(RegisterActivity.this, response.body().getMessage(), Toast.LENGTH_LONG).show();
}
}
@Override
public void onFailure(Call<UploadResponse> call, Throwable t) {
showDialog(false);
Toast.makeText(RegisterActivity.this, t.getMessage(), Toast.LENGTH_LONG).show();
Log.d("++", "exception" + t.getMessage());
}
});
}
-------------------------------------------------------------------------------
Date Change
SimpleDateFormat form = new SimpleDateFormat("yyyy-mm-dd");
java.util.Date toDate= null;
java.util.Date taskDate= null;
java.util.Date confirmDate= null;
try
{
toDate = form.parse(mBonusDate);
taskDate = form.parse(mTaskDate);
confirmDate = form.parse(mConfirmDate);
}
catch (ParseException e)
{
e.printStackTrace();
}
SimpleDateFormat postFormater = new SimpleDateFormat("dd-mm-yyyy");
//Set the to and from date in list
String newDateTo = postFormater.format(toDate);
String newtaskDate = postFormater.format(taskDate);
String newconfirmDate = postFormater.format(confirmDate);
----------------------------------
//***********Expanse or Income login on radio button****************//
rExpense = (RadioButton) view.findViewById(R.id.rExpense);
rExpense.setChecked(true);
rIncome = (RadioButton) view.findViewById(R.id.rIncome);
rExpense.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
if (isChecked) {
rIncome.setChecked(false);
} else {
rIncome.setChecked(true);
}
}
});
rIncome.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
if (isChecked) {
rExpense.setChecked(false);
} else {
rExpense.setChecked(true);
}
}
});
//************************END******************************************//
//***********Pass Value*************//
String type = rExpense.isChecked() ? "E" : "I";
-----------------------------------------------------------------------