Wednesday 27 March 2019

Important thing for Android Developer

Q1. How to set listItem data in RecyclerView Android.
Q2. Is there a way to show a preview of a RecyclerView's contents in the Android Studio editor?
Answer :-
tools:listitem="@layout/list_item"


Answer: 
type /** before the method declaration and press Enter, the javadoc comment block will be generated automatically.
Dependencies:-

RecyclerView :-
dependencies {
    implementation 'com.android.support:recyclerview-v7:28.0.0'
}
RxAndroid(reactivexJava) :-

RecyclerView :-
RecyclerView :-


public void filterSocialShare() {
    List<Intent> targetShareIntents = new ArrayList<Intent>();
    Intent shareIntent = new Intent();
    shareIntent.setAction(Intent.ACTION_SEND);
    shareIntent.setType("text/plain");
    PackageManager pm = this.getPackageManager();
    List<ResolveInfo> resInfos = pm.queryIntentActivities(shareIntent, 0);
    if (!resInfos.isEmpty()) {
        System.out.println("Have package");
        for (ResolveInfo resInfo : resInfos) {
            String packageName = resInfo.activityInfo.packageName;
            Log.i("Package Name", packageName);

            if (packageName.contains("com.twitter.android") || packageName.contains("com.facebook.katana")
                    || packageName.contains("com.whatsapp") || packageName.contains("com.google.android.apps.plus")
                    || packageName.contains("com.google.android.talk") || packageName.contains("com.slack")
                    || packageName.contains("com.google.android.gm") || packageName.contains("com.facebook.orca")
                    || packageName.contains("com.yahoo.mobile") || packageName.contains("com.skype.raider")
                    || packageName.contains("com.android.mms")|| packageName.contains("com.linkedin.android")
                    || packageName.contains("com.google.android.apps.messaging")) {
                Intent intent = new Intent();

                intent.setComponent(new ComponentName(packageName, resInfo.activityInfo.name));
                intent.putExtra("AppName", resInfo.loadLabel(pm).toString());
                intent.setAction(Intent.ACTION_SEND);
                intent.setType("text/plain");
                intent.putExtra(Intent.EXTRA_TEXT, "https://website.com/");
                intent.putExtra(Intent.EXTRA_SUBJECT, "Share the content...");
                intent.setPackage(packageName);
                targetShareIntents.add(intent);
            }
        }
        if (!targetShareIntents.isEmpty()) {
            Collections.sort(targetShareIntents, new Comparator<Intent>() {
                @Override                public int compare(Intent o1, Intent o2) {
                    return o1.getStringExtra("AppName").compareTo(o2.getStringExtra("AppName"));
                }
            });
            Intent chooserIntent = Intent.createChooser(targetShareIntents.remove(0), "Select app to share");
            chooserIntent.putExtra(Intent.EXTRA_INITIAL_INTENTS, targetShareIntents.toArray(new Parcelable[]{}));
            startActivityForResult(chooserIntent,1);

        } else {
            Toast.makeText(getApplicationContext(), "No app to share.", Toast.LENGTH_LONG).show();
        }
    }
}

// color code to add transparency in color in android
100% — FF
95% — F2
90% — E6
85% — D9
80% — CC
75% — BF
70% — B3
65% — A6
60% — 99
55% — 8C
50% — 80
45% — 73
40% — 66
35% — 59
30% — 4D
25% — 40
20% — 33
15% — 26
10% — 1A
5% — 0D
0% — 00
 


Friday 8 March 2019

How to find specific key and value from any URL in java or in Android

https://myurltest.com/takeElement?exp=androidHubb&rollnumber=10
//pass takeElement and rollnumber

1. Method :- one way 
UrlQuerySanitizer sanitizer = new UrlQuerySanitizer(url);
String takeElement = sanitizer.getValue("takeElement"); // get your takeElement
String rollnumber = sanitizer.getValue("rollnumber"); // get your rollnumber
Log.d(TAG,"takeElement:: "+ takeElement);Log.d(TAG,"rollnumber:: "+ rollnumber);
intent.putExtra("takeElement", TextUtils.isEmpty(experienceName)?"": takeElement);
intent.putExtra("rollnumber", TextUtils.isEmpty(experienceName)?"": rollnumber);


2. Method :- 2nd way 
Uri uri = Uri.parse(url);
String experienceName = uri.getQueryParameter("takeElement");
String rollnumber = uri.getQueryParameter("rollnumber");