How to convert a website into android app in just 5 min?

Hi Guys...

Here we are going to learn how to convert a fully functional website into android app in just 5 minutes.

Steps:

Step1: Create a android studio Project

Step2: Copy the source code from these blog to android studio

For example: Xml code in Xml file 

                      Java code in Java file 

Source Code:

Xml code:

<?xml version="1.0" encoding="utf-8"?>

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"

    xmlns:app="http://schemas.android.com/apk/res-auto"

    xmlns:tools="http://schemas.android.com/tools"

    android:layout_width="match_parent"

    android:layout_height="match_parent"

    tools:context=".MainActivity">


    <WebView

        android:id="@+id/myWebView"

        android:layout_width="match_parent"

        android:layout_height="match_parent"

        android:layout_centerInParent="true"/>


    <ProgressBar

        android:id="@+id/progressbar"

        android:layout_width="wrap_content"

        android:layout_height="wrap_content"

        android:layout_centerInParent="true"/>


</RelativeLayout>

Java code:

package com.narenderravulakollu.library;


import android.app.DownloadManager;

import android.content.Context;

import android.content.res.Configuration;

import android.graphics.Bitmap;

import android.graphics.BitmapFactory;

import android.net.ConnectivityManager;

import android.net.NetworkInfo;

import androidx.appcompat.app.AppCompatActivity;


import android.net.Uri;

import android.os.Bundle;

import android.view.View;

import android.view.Window;

import android.view.WindowManager;

import android.webkit.DownloadListener;

import android.webkit.WebChromeClient;

import android.webkit.WebSettings;

import android.webkit.WebView;

import android.webkit.WebViewClient;

import android.widget.FrameLayout;

import android.widget.ProgressBar;

import android.widget.Toast;


public class MainActivity extends AppCompatActivity {


    WebView mWebView;

    ProgressBar progressBar;



    @Override

    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_main);


        Window window = getWindow();

        window.addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);


        progressBar = (ProgressBar) findViewById(R.id.progressbar);

        mWebView = (WebView) findViewById(R.id.myWebView);


        progressBar.setVisibility(View.VISIBLE);

        mWebView.setWebViewClient(new Browser_home());

        mWebView.setWebChromeClient(new MyChrome());

        mWebView.setDownloadListener(new DownloadListener() {

            @Override

            public void onDownloadStart(String url, String userAgent, String contentDisposition, String mimetype, long contentLength) {


                DownloadManager.Request myRequest = new DownloadManager.Request(Uri.parse(url));

                myRequest.allowScanningByMediaScanner();

                myRequest.setNotificationVisibility(DownloadManager.Request.VISIBILITY_VISIBLE_NOTIFY_COMPLETED);


                DownloadManager myManager = (DownloadManager) getSystemService(DOWNLOAD_SERVICE);

                myManager.enqueue(myRequest);


                Toast.makeText(MainActivity.this,"Your file is downloading...", Toast.LENGTH_SHORT).show();



            }

        });

        WebSettings webSettings = mWebView.getSettings();

        webSettings.setJavaScriptEnabled(true);

        webSettings.setAllowFileAccess(true);

        webSettings.setAppCacheEnabled(true);


        if (savedInstanceState == null) {

            mWebView.post(new Runnable() {

                @Override

                public void run() {

                    loadWebsite();

                }

            });

        }


    }



    @Override

    public void onConfigurationChanged(Configuration newConfig) {

        super.onConfigurationChanged(newConfig);

    }


    @Override

    protected void onSaveInstanceState(Bundle outState) {

        super.onSaveInstanceState(outState);

        mWebView.saveState(outState);

    }


    @Override

    protected void onRestoreInstanceState(Bundle savedInstanceState) {

        super.onRestoreInstanceState(savedInstanceState);

        mWebView.restoreState(savedInstanceState);

    }


    private void loadWebsite() {

        ConnectivityManager cm = (ConnectivityManager) getApplication().getSystemService(Context.CONNECTIVITY_SERVICE);

        NetworkInfo netInfo = cm.getActiveNetworkInfo();

        if (netInfo != null && netInfo.isConnectedOrConnecting()) {

            mWebView.loadUrl("https://librarylearningapp.blogspot.com/");

        } else {

            mWebView.setVisibility(View.GONE);

        }

    }

    @Override

    public void onBackPressed() {

        if(mWebView.canGoBack()) {

            mWebView.goBack();

        }

        else

            super.onBackPressed();

    }


    class Browser_home extends WebViewClient {


        Browser_home() {

        }


        @Override

        public void onPageStarted(WebView view, String url, Bitmap favicon) {

            super.onPageStarted(view, url, favicon);


        }


        @Override

        public void onPageFinished(WebView view, String url) {

            setTitle(view.getTitle());

            progressBar.setVisibility(View.GONE);

            super.onPageFinished(view, url);


        }

    }


    private class MyChrome extends WebChromeClient {


        private View mCustomView;

        private WebChromeClient.CustomViewCallback mCustomViewCallback;

        protected FrameLayout mFullscreenContainer;

        private int mOriginalOrientation;

        private int mOriginalSystemUiVisibility;


        MyChrome() {

        }


        public Bitmap getDefaultVideoPoster() {

            if (mCustomView == null) {

                return null;

            }

            return BitmapFactory.decodeResource(getApplicationContext().getResources(), 2130837573);

        }


        public void onHideCustomView() {

            ((FrameLayout) getWindow().getDecorView()).removeView(this.mCustomView);

            this.mCustomView = null;

            getWindow().getDecorView().setSystemUiVisibility(this.mOriginalSystemUiVisibility);

            setRequestedOrientation(this.mOriginalOrientation);

            this.mCustomViewCallback.onCustomViewHidden();

            this.mCustomViewCallback = null;

        }


        public void onShowCustomView(View paramView, WebChromeClient.CustomViewCallback paramCustomViewCallback) {

            if (this.mCustomView != null) {

                onHideCustomView();

                return;

            }

            this.mCustomView = paramView;

            this.mOriginalSystemUiVisibility = getWindow().getDecorView().getSystemUiVisibility();

            this.mOriginalOrientation = getRequestedOrientation();

            this.mCustomViewCallback = paramCustomViewCallback;

            ((FrameLayout) getWindow().getDecorView()).addView(this.mCustomView, new FrameLayout.LayoutParams(-1, -1));

            getWindow().getDecorView().setSystemUiVisibility(3846);


        }


    }


}

Step3: Change Website URL in Java file 

Step4: Add user permissions in manifest file

            i.e Internet Access Permission

                 Network State Access Permission

Step5: Change theme to No Actionbar in manifest file 

Comments