এই উদাহরণটি দেখায় যে আমি কীভাবে অ্যান্ড্রয়েডে একটি প্রদত্ত URL থেকে একটি ছবি ডাউনলোড এবং সংরক্ষণ করব৷
ধাপ 1 − অ্যান্ড্রয়েড স্টুডিওতে একটি নতুন প্রকল্প তৈরি করুন, ফাইল ⇒ নতুন প্রকল্পে যান এবং একটি নতুন প্রকল্প তৈরি করতে সমস্ত প্রয়োজনীয় বিবরণ পূরণ করুন৷
ধাপ 2 − res/layout/activity_main.xml-এ নিম্নলিখিত কোড যোগ করুন।
<?xml version="1.0" encoding="utf-8"?> <android.support.design.widget.CoordinatorLayout xmlns:android="https://schemas.android.com/apk/res/android" xmlns:app="https://schemas.android.com/apk/res-auto" android:id="@+id/coordinatorLayout" android:layout_width="match_parent" android:layout_height="match_parent"> <Button android:id="@+id/btnDownload" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Download Image" android:layout_margin="25dp" android:layout_gravity="top|center_horizontal" /> <ImageView android:id="@+id/imageView" android:layout_width="match_parent" android:layout_height="200dp" android:scaleType="centerCrop" app:layout_anchor="@id/btnDownload" android:layout_gravity="bottom" app:layout_anchorGravity="bottom" android:layout_margin="10dp" /> </android.support.design.widget.CoordinatorLayout>
ধাপ 3 − src/MainActivity.java
-এ নিম্নলিখিত কোড যোগ করুনimport android.app.Activity; import android.app.ProgressDialog; import android.content.Context; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.os.AsyncTask; import android.support.design.widget.CoordinatorLayout; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.ImageView; import android.widget.Toast; import java.io.BufferedInputStream; import java.io.IOException; import java.io.InputStream; import java.net.HttpURLConnection; import java.net.MalformedURLException; import java.net.URL; public class MainActivity extends AppCompatActivity { Context context; Activity activity; CoordinatorLayout coordinatorLayout; Button button; ProgressDialog mProgressDialog; ImageView mImageView; URL url; AsyncTask mMyTask; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); context = getApplicationContext(); activity = MainActivity.this; coordinatorLayout = findViewById(R.id.coordinatorLayout); button = findViewById(R.id.btnDownload); mImageView = findViewById(R.id.imageView); mProgressDialog = new ProgressDialog(activity); mProgressDialog.setIndeterminate(true); mProgressDialog.setProgressStyle(ProgressDialog.STYLE_SPINNER); mProgressDialog.setTitle("AsyncTask"); mProgressDialog.setMessage("Please wait, we are downloading your image file..."); button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { mMyTask = new DownloadTask().execute(stringToURL()); } }); } private class DownloadTask extends AsyncTask<URL,Void,Bitmap>{ protected void onPreExecute(){ mProgressDialog.show(); } protected Bitmap doInBackground(URL...urls){ URL url = urls[0]; HttpURLConnection connection = null; try{ connection = (HttpURLConnection) url.openConnection(); connection.connect(); InputStream inputStream = connection.getInputStream(); BufferedInputStream bufferedInputStream = new BufferedInputStream(inputStream); return BitmapFactory.decodeStream(bufferedInputStream); }catch(IOException e){ e.printStackTrace(); } return null; } // When all async task done protected void onPostExecute(Bitmap result){ // Hide the progress dialog mProgressDialog.dismiss(); if(result!=null){ mImageView.setImageBitmap(result); } else { // Notify user that an error occurred while downloading image Toast.makeText(MainActivity.this, "Error", Toast.LENGTH_SHORT).show(); } } } protected URL stringToURL() { try { url = new URL("https://wallpapersite.com/images/pages/pic_w/6408.jpg"); return url; } catch (MalformedURLException e) { e.printStackTrace(); } return null; } }
ধাপ 4 − androidManifest.xml
-এ নিম্নলিখিত কোড যোগ করুন<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="https://schemas.android.com/apk/res/android" package="app.com.sample"> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> <uses-permission android:name="android.permission.INTERNET"/> <application android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:roundIcon="@mipmap/ic_launcher_round" android:supportsRtl="true" android:theme="@style/AppTheme"> <activity android:name=".MainActivity"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> </manifest>
আসুন আপনার অ্যাপ্লিকেশন চালানোর চেষ্টা করি৷ আমি ধরে নিচ্ছি আপনি আপনার কম্পিউটারের সাথে আপনার আসল অ্যান্ড্রয়েড মোবাইল ডিভাইসটি সংযুক্ত করেছেন৷ অ্যান্ড্রয়েড স্টুডিও থেকে অ্যাপটি চালাতে, আপনার প্রোজেক্টের অ্যাক্টিভিটি ফাইলগুলির একটি খুলুন এবং টুলবার থেকে রান আইকনে ক্লিক করুন। একটি বিকল্প হিসাবে আপনার মোবাইল ডিভাইস নির্বাচন করুন এবং তারপরে আপনার মোবাইল ডিভাইসটি পরীক্ষা করুন যা আপনার ডিফল্ট স্ক্রীন প্রদর্শন করবে –