WhatsApp Status Downloader Android Studio

WhatsApp Status Downloader Android Studio – In this article i will explain how to make Android WhatsApp Status image and video downloader in Android Mobile device, here we create and developed in Android Studio platform. Now a days everyone has android phone and whatsapp application. They are like to see the their contact friends whatsapp status and also like to download the whatsapp status in their gallery. But in officially there is option for that to save the files in WhatsApp application. So we install some third party android application to save the whatsapp status like image or videos in our local storage phone device.

So here i will tell how to develop third party application like WhatsApp Status Downloader Android application in Android Studio platform. Already there are many applications will be there in Google Play store but we are develop unique and stylish application for download the whatsapp status in our local gallery storage.

Android WhatsApp Status Downloader Android Studio

Ok fine let’s start the project, First as usual create new project and choose the activity layouts after creating the project first we need to give some introduction animation to attract users. User interface is very important than our concept because no one like the concept everyone like the user friendly interface navigation.

In this project we use four directories in under the package. Every directoy has diiferent variation for control the project modules. Already i told first we need to develop some introduction animation for attract the new users and exiting users. So create IntroActivity.java class file first and after that open the default class of MainActivity.java class file & add the following below code,

package com.vetbossel.statussaver.Activities;
import android.Manifest;
import android.annotation.TargetApi;
import android.content.ActivityNotFoundException;
import android.content.Context;
import android.net.Uri;
import android.os.Build;
import android.os.Bundle;
import java.io.File;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Comparator;
import static org.apache.commons.lang3.StringUtils.capitalize;
public class MainActivity extends AppCompatActivity {
    Toolbar mToolbar;
    public static final int MY_PERMISSIONS_REQUEST_WRITE_STORAGE = 123;
    private StoryAdapter recyclerViewAdapter;
    public static final int ITEMS_PER_AD = 6;
    private static final int NATIVE_EXPRESS_AD_HEIGHT = 320;
   
    ArrayList filesList = new ArrayList<>();
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setTheme(Constant.theme);
        setContentView(R.layout.activity_main);
        mFirebaseAnalytics = FirebaseAnalytics.getInstance(this);
        if (getAppIntro(this)) {
            Intent i = new Intent(this, IntroActivity.class);
            startActivity(i);
        }
        initComponents();
        //Toolbar
        mToolbar = (Toolbar) findViewById(R.id.toolbar);
        mToolbar.setBackgroundColor(Constant.color);
        setSupportActionBar(mToolbar);
        getSupportActionBar().setDisplayShowTitleEnabled(false);
        boolean result = checkPermission();
        if (result) {
            setUpRecyclerView();
            addNativeExpressAds();
            setUpAndLoadNativeExpressAds();
        }
                        }).withTypeface(typeface),
                        new PrimaryDrawerItem().withSelectable(false).withName("Whatsapp").withIcon(R.drawable.ic_if_whatsapp_3721678).withOnDrawerItemClickListener(new Drawer.OnDrawerItemClickListener() {
                            @Override
                            public boolean onItemClick(View view, int position, IDrawerItem drawerItem) {
                                final String appPackageName = getPackageName();
                                try {
                                    startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("https://api.whatsapp.com/send?phone=919497199987")));
                                } catch (ActivityNotFoundException anfe) {
                                    startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("https://api.whatsapp.com/send?phone=919497199987")));
                                }
                                return false;
                            }
                        }).withTypeface(typeface),
                        new PrimaryDrawerItem().withSelectable(false).withName("Facebook").withIcon(R.drawable.ic_if_facebook_circle_color_107175).withOnDrawerItemClickListener(new Drawer.OnDrawerItemClickListener() {
                            @Override
                            public boolean onItemClick(View view, int position, IDrawerItem drawerItem) {
                                final String appPackageName = getPackageName();
                                try {
                                    startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("https://www.facebook.com/vetripandi2")));
                                } catch (ActivityNotFoundException anfe) {
                                    startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("https://www.facebook.com/vetripandi2")));
                                }
                                return false;
                            }
                        }).withTypeface(typeface),
                        new PrimaryDrawerItem().withSelectable(false).withName(R.string.line_name).withTypeface(typeface),
                        new PrimaryDrawerItem().withSelectable(false).withName("Recommend to Friends").withIcon(R.drawable.ic_share_black_24dp).withOnDrawerItemClickListener(new Drawer.OnDrawerItemClickListener() {
                            @Override
                            public boolean onItemClick(View view, int position, IDrawerItem drawerItem) {
                                final String shareappPackageName = getPackageName();
                                Intent sendIntent = new Intent();
                                sendIntent.setAction(Intent.ACTION_SEND);
                                sendIntent.putExtra(Intent.EXTRA_TEXT, "Check out " + getResources().getString(R.string.app_name) + " App at: http://vetbossel.in/");
                                sendIntent.setType("text/plain");
                                startActivity(sendIntent);
                                return false;
                            }
                        }).withTypeface(typeface),
                        new PrimaryDrawerItem().withSelectable(false).withName("Rate Us").withIcon(R.drawable.ic_thumb_up_black_24dp).withOnDrawerItemClickListener(new Drawer.OnDrawerItemClickListener() {
                            @Override
                            public boolean onItemClick(View view, int position, IDrawerItem drawerItem) {
                                final String appPackageName = getPackageName();
                                try {
                                    startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("http://vetbossel.in")));
                                } catch (ActivityNotFoundException anfe) {
                                    startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("http://vetbossel.in")));
                                }
                                return false;
                            }
                        }).withTypeface(typeface),
                        new PrimaryDrawerItem().withSelectable(false).withName("Feedback").withIcon(R.drawable.ic_feedback_black_24dp).withOnDrawerItemClickListener(new Drawer.OnDrawerItemClickListener() {
                            @Override
                            public boolean onItemClick(View view, int position, IDrawerItem drawerItem) {
                                DisplayMetrics displaymetrics = new DisplayMetrics();
                                getWindowManager().getDefaultDisplay().getMetrics(displaymetrics);
                                int height = displaymetrics.heightPixels;
                                int width = displaymetrics.widthPixels;
                                PackageManager manager = getApplicationContext().getPackageManager();
                                PackageInfo info = null;
                                try {
                                    info = manager.getPackageInfo(getPackageName(), 0);
                                } catch (PackageManager.NameNotFoundException e) {
                                    // TODO Auto-generated catch block
                                    e.printStackTrace();
                                }
                                String version = info.versionName;
                                Intent i = new Intent(Intent.ACTION_SEND);
                                i.setType("message/rfc822");
                                i.putExtra(Intent.EXTRA_EMAIL, new String[]{getResources().getString(R.string.developer_email)});
                                i.putExtra(Intent.EXTRA_SUBJECT, getResources().getString(R.string.app_name) + version);
                                i.putExtra(Intent.EXTRA_TEXT,
                                        "\n" + " Device :" + getDeviceName() +
                                                "\n" + " System Version:" + Build.VERSION.SDK_INT +
                                                "\n" + " Display Height  :" + height + "px" +
                                                "\n" + " Display Width  :" + width + "px" +
                                                "\n\n" + "Have a problem? Please share it with us and we will do our best to solve it!" +
                                                "\n");
                                startActivity(Intent.createChooser(i, "Send Email"));
                                return false;
                            }
                        }).withTypeface(typeface),
                        new PrimaryDrawerItem().withSelectable(false).withName("Exit").withIcon(R.drawable.ic_exit_to_app_black_24dp).withOnDrawerItemClickListener(new Drawer.OnDrawerItemClickListener() {
                            @Override
                            public boolean onItemClick(View view, int position, IDrawerItem drawerItem) {
                                finish();
                                return false;
                            }
                        }).withTypeface(typeface)
                ).
                        withSavedInstance(savedInstanceState)
                .build();
        // ATTENTION: This was auto-generated to handle app links.
        Intent appLinkIntent = getIntent();
        String appLinkAction = appLinkIntent.getAction();
        Uri appLinkData = appLinkIntent.getData();
    }
    private void loadNativeExpressAd(final int index) {
        if (index >= filesList.size()) {
            return;
        }
        Object item = filesList.get(index);
        if (!(item instanceof NativeExpressAdView)) {
            throw new ClassCastException("Expected item at index " + index + " to be a Native"
                    + " Express ad.");
        }
        final NativeExpressAdView adView = (NativeExpressAdView) item;
        adView.setAdListener(new AdListener() {
            @Override
            public void onAdLoaded() {
                super.onAdLoaded();
                loadNativeExpressAd(index + ITEMS_PER_AD);
            }
    private boolean getAppIntro(MainActivity mainActivity) {
        SharedPreferences preferences;
        preferences = mainActivity.getSharedPreferences(Constants.MyPREFERENCES, Context.MODE_PRIVATE);
        return preferences.getBoolean("AppIntro", true);
    }
    private String getDeviceName() {
        String manufacturer = Build.MANUFACTURER;
        String model = Build.MODEL;
        if (model.startsWith(manufacturer)) {
            return capitalize(model);
        }
        return capitalize(manufacturer) + " " + model;
    }
    private void initComponents() {
        recyclerView = (RecyclerView) findViewById(R.id.recycler_view);
        recyclerLayout = (SwipeRefreshLayout) findViewById(R.id.swipeRecyclerView);
        recyclerLayout.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
            @Override
            public void onRefresh() {
                recyclerLayout.setRefreshing(true);
                setUpRecyclerView();
                (new Handler()).postDelayed(new Runnable() {
                    @Override
                    public void run() {
                        recyclerLayout.setRefreshing(false);
                        Toast.makeText(MainActivity.this, "Refreshed!", Toast.LENGTH_SHORT).show();
                    }
                }, 2000);
            }
        });
    }
     AlertDialog alert = alertBuilder.create();
            alert.show();
        } else {
            ActivityCompat.requestPermissions(MainActivity.this, new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE}, MY_PERMISSIONS_REQUEST_WRITE_STORAGE);
        }
    }
    }
}

Still we need to create more java class files with various of directories to make perfect android whatsapp status downloader application in android studio. But when i have explain all the codes articles looks like very jam and overlapping. So finally give full source code, Just move on layouts to make perfect user friendly interfaces.

Activity Layouts

In above i will explain only MainActivity.java class file so you can download the full source code in end of the article. Integrate the java class files with XML layouts to get perfect interface designs for our development. Developments are fulfilled by the XML layout designs. Open the default file of activity_main.xml file and add the following below code,



    
        
            
        
    
    

Still we need to create more xml layout files to integrate the java class files. Here i did’t explain all the files, finally i give the full source code.

Download Source Code

Here you can download the full source code & I hope it’s surely helps to build the application. If you are facing any issues just comment below we will try to solve your problem within 24 hours.

Leave a Reply