Webview source code android studio free download 2021

Convert Website in App Android Studio -

Web view source code  android studio free download 2021 - newshank.com


इस article में आपको Webview source code प्रोवाइड करा रहे है। ऐसा  Webview source code जिसमे कि आप अपनी website या Youtube channel को Android Studio के App में Convert कर सकते हैं। इस Webview source code  का video भी आपको इस आर्टिकल के नीचे मिल जायेगा।

 इस Webview source code  में आप अपने youtube channel को full screen में चला सकते हैं। इस Webview source code  को आपको कैसे edit करना है उसकी पूरी जानकारी आप नीचे article या वीडियो के हिसाब से क्र सकते हैं। 

follow this article-



Open android studio and Creat New Project - Empty Activity

1. Open  activity_splashactivity.xml  /  Past code

 <?xml version="1.0" encoding="utf-8"?>  
 <RelativeLayout  
   xmlns:android="http://schemas.android.com/apk/res/android"  
   android:layout_width="match_parent"  
   android:layout_height="match_parent"  
   >  
   
   <ImageView  
     android:layout_width="400dp"  
     android:layout_height="400dp"  
     android:src="@drawable/logo"  
     android:layout_centerHorizontal="true"  
     android:layout_centerVertical="true"  
     />  
   
   
 </RelativeLayout>  


2. splashactivity.java / Past code

 package com.hindinews.newshank;  
   
 import androidx.appcompat.app.AppCompatActivity;  
   
 import android.content.Intent;  
 import android.os.Bundle;  
 import android.os.Handler;  
   
 public class splashactivity extends AppCompatActivity {  
   private static int T = 4000;  
   @Override  
   protected void onCreate(Bundle savedInstanceState) {  
     super.onCreate(savedInstanceState);  
     setContentView(R.layout.activity_splashactivity);  
   
     new Handler().postDelayed(new Runnable() {  
       @Override  
       public void run() {  
         Intent intent = new Intent(splashactivity.this,MainActivity.class);  
         startActivity(intent);  
       }  
     },T);  
   
   
   }  
 }  
   


3. activity_main.xml / Past 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"  
   tools:layout_editor_absoluteY='81dp'>  
   
   <WebView  
     android:layout_width="match_parent"  
     android:layout_height="match_parent"  
     android:id="@+id/webview"  
     tools:layout_editor_absoluteY='0dp'  
     tools:layout_editor_absoluteX='0dp'  
   
     />  
   
   
   
 </RelativeLayout>  


4. MainActivity.java / Past Code

 package com.hindinews.newshank;  
   
 import androidx.appcompat.app.AppCompatActivity;  
   
 import android.app.Activity;  
 import android.app.ProgressDialog;  
 import android.content.Intent;  
 import android.graphics.Bitmap;  
 import android.net.Uri;  
 import android.os.Build;  
 import android.os.Bundle;  
 import android.os.Environment;  
 import android.os.Parcelable;  
 import android.provider.MediaStore;  
 import android.util.Log;  
 import android.view.View;  
 import android.webkit.URLUtil;  
 import android.webkit.ValueCallback;  
 import android.webkit.WebChromeClient;  
 import android.webkit.WebSettings;  
 import android.webkit.WebView;  
 import android.webkit.WebViewClient;  
 import android.widget.Toast;  
 import java.io.File;  
 import java.io.IOException;  
 import java.text.SimpleDateFormat;  
 import java.util.Date;  
   
   
   
 public class MainActivity extends AppCompatActivity {  
   private WebView mywebview;  
   ProgressDialog progressDialog;  
   private static final int INPUT_FILE_REQUEST_CODE = 1;  
   private static final int FILECHOOSER_RESULTCODE = 1;  
   private ValueCallback<Uri> mUploadMessage;  
   private Uri mCapturedImageURI = null;  
   private ValueCallback<Uri[]> mFilePathCallback;  
   private String mCameraPhotoPath;  
   private static final String TAG = MainActivity.class.getSimpleName();  
   
   
   
   
   @Override  
   public void onActivityResult(int requestCode, int resultCode, Intent data)  
   {  
     if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {  
       if (requestCode != INPUT_FILE_REQUEST_CODE || mFilePathCallback == null) {  
         super.onActivityResult(requestCode, resultCode, data);  
         return;  
       }  
       Uri[] results = null;  
       // Check that the response is a good one  
       if (resultCode == Activity.RESULT_OK) {  
         if (data == null) {  
           // If there is not data, then we may have taken a photo  
           if (mCameraPhotoPath != null) {  
             results = new Uri[]{Uri.parse(mCameraPhotoPath)};  
           }  
         } else {  
           String dataString = data.getDataString();  
           if (dataString != null) {  
             results = new Uri[]{Uri.parse(dataString)};  
           }  
         }  
       }  
       mFilePathCallback.onReceiveValue(results);  
       mFilePathCallback = null;  
     } else if (Build.VERSION.SDK_INT <= Build.VERSION_CODES.KITKAT) {  
       if (requestCode != FILECHOOSER_RESULTCODE || mUploadMessage == null) {  
         super.onActivityResult(requestCode, resultCode, data);  
         return;  
       }  
       if (requestCode == FILECHOOSER_RESULTCODE) {  
         if (null == this.mUploadMessage) {  
           return;  
         }  
         Uri result = null;  
         try {  
           if (resultCode != RESULT_OK) {  
             result = null;  
           } else {  
             // retrieve from the private variable if the intent is null  
             result = data == null ? mCapturedImageURI : data.getData();  
           }  
         } catch (Exception e) {  
           Toast.makeText(getApplicationContext(), "activity :" + e,  
               Toast.LENGTH_LONG).show();  
         }  
         mUploadMessage.onReceiveValue(result);  
         mUploadMessage = null;  
       }  
     }  
     return;  
   }  
   
   
   @Override  
   protected void onCreate(Bundle savedInstanceState) {  
     super.onCreate(savedInstanceState);  
     setContentView(R.layout.activity_main);  
     progressDialog=new ProgressDialog(this);  
     progressDialog.setCancelable(false) ;  
     progressDialog.setMessage("Please Wait.....");  
     mywebview = (WebView) findViewById(R.id.webview);  
     WebSettings webSettings = mywebview.getSettings();  
     mywebview.loadUrl("https://www.newshank.com");  
     mywebview.setWebViewClient(new myWebClient());  
     mywebview.setWebChromeClient(new ChromeClient());  
     webSettings.setJavaScriptEnabled(true);  
   
     if (Build.VERSION.SDK_INT >= 19) {  
       mywebview.setLayerType(View.LAYER_TYPE_HARDWARE, null);  
     }  
     else if(Build.VERSION.SDK_INT >=11 && Build.VERSION.SDK_INT < 19) {  
       mywebview.setLayerType(View.LAYER_TYPE_SOFTWARE, null);  
     }  
   
   
   
   }//On Create End  
   
   
   
   
   
   @Override  
   public void onBackPressed()  
   {  
     if(mywebview.canGoBack())  
     {  
       mywebview.goBack();  
     }else{  
       super.onBackPressed();  
   
     }  
   }  
   
   
 //WebCLicnt New  
   
   
   private File createImageFile() throws IOException {  
     // Create an image file name  
     String timeStamp = new SimpleDateFormat("yyyyMMdd_HHmmss").format(new Date());  
   
     String imageFileName = "JPEG_" + timeStamp + "_";  
     File storageDir = Environment.getExternalStoragePublicDirectory(  
         Environment.DIRECTORY_PICTURES);  
     File imageFile = File.createTempFile(  
         imageFileName, /* prefix */  
         ".jpg",     /* suffix */  
         storageDir   /* directory */  
     );  
     return imageFile;  
   }  
   
   public class ChromeClient extends WebChromeClient {  
     // For Android 5.0  
     public boolean onShowFileChooser(WebView view, ValueCallback<Uri[]> filePath, WebChromeClient.FileChooserParams fileChooserParams) {  
       // Double check that we don't have any existing callbacks  
       if (mFilePathCallback != null) {  
         mFilePathCallback.onReceiveValue(null);  
       }  
       mFilePathCallback = filePath;  
       Intent takePictureIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);  
       if (takePictureIntent.resolveActivity(getPackageManager()) != null) {  
         // Create the File where the photo should go  
         File photoFile = null;  
         try {  
           photoFile = createImageFile();  
           takePictureIntent.putExtra("PhotoPath", mCameraPhotoPath);  
         } catch (IOException ex) {  
           // Error occurred while creating the File  
           Log.e(TAG, "Unable to create Image File", ex);  
         }  
         // Continue only if the File was successfully created  
         if (photoFile != null) {  
           mCameraPhotoPath = "file:" + photoFile.getAbsolutePath();  
           takePictureIntent.putExtra(MediaStore.EXTRA_OUTPUT,  
               Uri.fromFile(photoFile));  
         } else {  
           takePictureIntent = null;  
         }  
       }  
       Intent contentSelectionIntent = new Intent(Intent.ACTION_GET_CONTENT);  
       contentSelectionIntent.addCategory(Intent.CATEGORY_OPENABLE);  
       contentSelectionIntent.setType("image/*");  
       Intent[] intentArray;  
       if (takePictureIntent != null) {  
         intentArray = new Intent[]{takePictureIntent};  
       } else {  
         intentArray = new Intent[0];  
       }  
       Intent chooserIntent = new Intent(Intent.ACTION_CHOOSER);  
       chooserIntent.putExtra(Intent.EXTRA_INTENT, contentSelectionIntent);  
       chooserIntent.putExtra(Intent.EXTRA_TITLE, "Image Chooser");  
       chooserIntent.putExtra(Intent.EXTRA_INITIAL_INTENTS, intentArray);  
       startActivityForResult(chooserIntent, INPUT_FILE_REQUEST_CODE);  
       return true;  
     }  
     // openFileChooser for Android 3.0+  
     public void openFileChooser(ValueCallback<Uri> uploadMsg, String acceptType) {  
       mUploadMessage = uploadMsg;  
       // Create AndroidExampleFolder at sdcard  
       // Create AndroidExampleFolder at sdcard  
       File imageStorageDir = new File(  
           Environment.getExternalStoragePublicDirectory(  
               Environment.DIRECTORY_PICTURES)  
           , "AndroidExampleFolder");  
       if (!imageStorageDir.exists()) {  
         // Create AndroidExampleFolder at sdcard  
         imageStorageDir.mkdirs();  
       }  
       // Create camera captured image file path and name  
       File file = new File(  
           imageStorageDir + File.separator + "IMG_"  
               + String.valueOf(System.currentTimeMillis())  
               + ".jpg");  
       mCapturedImageURI = Uri.fromFile(file);  
       // Camera capture image intent  
       final Intent captureIntent = new Intent(  
           android.provider.MediaStore.ACTION_IMAGE_CAPTURE);  
       captureIntent.putExtra(MediaStore.EXTRA_OUTPUT, mCapturedImageURI);  
       Intent i = new Intent(Intent.ACTION_GET_CONTENT);  
       i.addCategory(Intent.CATEGORY_OPENABLE);  
       i.setType("image/*");  
       // Create file chooser intent  
       Intent chooserIntent = Intent.createChooser(i, "Image Chooser");  
       // Set camera intent to file chooser  
       chooserIntent.putExtra(Intent.EXTRA_INITIAL_INTENTS  
           , new Parcelable[] { captureIntent });  
       // On select image call onActivityResult method of activity  
       startActivityForResult(chooserIntent, FILECHOOSER_RESULTCODE);  
     }  
     // openFileChooser for Android < 3.0  
     public void openFileChooser(ValueCallback<Uri> uploadMsg) {  
       openFileChooser(uploadMsg, "");  
     }  
     //openFileChooser for other Android versions  
     public void openFileChooser(ValueCallback<Uri> uploadMsg,  
                   String acceptType,  
                   String capture) {  
       openFileChooser(uploadMsg, acceptType);  
     }  
   }  
   
   //-------------------------------  
   public class myWebClient extends WebViewClient{  
     @Override  
     public void onPageStarted(WebView view, String url, Bitmap favicon){  
       super.onPageStarted(view,url,favicon);  
       progressDialog.show();  
   
     }  
   
     @Override  
     public void onPageFinished(WebView view, String url) {  
       super.onPageFinished(view,url);  
       progressDialog.dismiss();  
     }  
   
     @Override  
     public boolean shouldOverrideUrlLoading(WebView view,String url){  
       if( URLUtil.isNetworkUrl(url) ) {  
         return false;  
       }  
   
       // Otherwise allow the OS to handle it  
       Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));  
       startActivity( intent );  
       return true;  
     }  

   }   
 }  
   


5. AndroidManifest.xml / Past Code

 <?xml version="1.0" encoding="utf-8"?>  
 <manifest xmlns:android="http://schemas.android.com/apk/res/android"  
   package="com.hindinews.newshank">  
   
   <uses-permission android:name="android.permission.INTERNET" />  
   <uses-permission android:name="android.permission.CAMERA" />  
   
   <uses-feature android:name="android.hardware.camera" />  
   
   <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />  
   
   <application  
     android:allowBackup="true"  
     android:icon="@drawable/ic_launcher"  
     android:label="@string/app_name"  
     android:roundIcon="@mipmap/ic_launcher_round"  
     android:supportsRtl="true"  
     android:theme="@style/AppTheme"  
     android:usesCleartextTraffic="true">  
     <activity android:name=".splashactivity">  
       <intent-filter>  
         <action android:name="android.intent.action.MAIN" />  
   
         <category android:name="android.intent.category.LAUNCHER" />  
       </intent-filter>  
     </activity>  
     <activity android:name=".MainActivity" />  
   </application>  
   
 </manifest>  



Watch Video / वीडियो देखें


Tags