অ্যারেলিস্ট উদাহরণ সঞ্চয় করার জন্য শেয়ার করা পছন্দে যাওয়ার আগে, আমাদের জানা উচিত অ্যান্ড্রয়েডে শেয়ার করা পছন্দগুলি কী। শেয়ার পছন্দ ব্যবহার করে, আমরা কী এবং মান জোড়া হিসাবে মান সংরক্ষণ বা পুনরুদ্ধার করতে পারি। নীচে দেখানো হিসাবে ভাগ পছন্দের পাঁচটি ভিন্ন পদ্ধতি উপলব্ধ রয়েছে -
-
সম্পাদনা()৷ - এটি ভাগ করা পছন্দের মানগুলি সম্পাদনা করতে চলেছে
-
কমিট() − এটি xml ফাইলে ভাগ করা পছন্দের মানগুলি কমিট করতে চলেছে
-
আবেদন() − এটি সম্পাদক থেকে ভাগ করা পছন্দের পরিবর্তনগুলি ফিরিয়ে দেবে৷
৷ -
সরান(স্ট্রিং কী) − এটি শেয়ার্ড প্রেফারেন্স ইউজ কী থেকে কী এবং ভ্যালস সরিয়ে ফেলবে।
-
পুট() − এটি শেয়ার করা পছন্দ xml-এ কী এবং মান রাখবে।
ভাগ করা পছন্দের একটি নমুনা উদাহরণ সিনট্যাক্স যেমন নীচে দেখানো হয়েছে −
final SharedPreferences sharedPreferences = getSharedPreferences("USER",MODE_PRIVATE);
উপরের সিনট্যাক্সে আমরা USER.xml হিসাবে একটি ভাগ করা পছন্দের ফাইল তৈরি করেছি এবং এটি ব্যক্তিগত মোড মানে অন্য কোনো অ্যাপ্লিকেশন এই ভাগ করা পছন্দ অ্যাক্সেস করতে পারে না৷
নিচের এই উদাহরণটি দেখায় কিভাবে অ্যান্ড্রয়েডে শেয়ার করা পছন্দ ব্যবহার করতে হয়।
ধাপ 1 − অ্যান্ড্রয়েড স্টুডিওতে একটি নতুন প্রকল্প তৈরি করুন, ফাইল ⇒ নতুন প্রকল্পে যান এবং একটি নতুন প্রকল্প তৈরি করতে সমস্ত প্রয়োজনীয় বিবরণ পূরণ করুন৷
ধাপ 2 − নিম্নলিখিত কোডটি res/layout/activity_main.xml-এ যোগ করুন .
<?xml version = "1.0" encoding = "utf-8"?> <android.support.constraint.ConstraintLayout xmlns:android = "https://schemas.android.com/apk/res/android" xmlns:app = "https://schemas.android.com/apk/res-auto" xmlns:tools = "https://schemas.android.com/tools" android:layout_width = "match_parent" android:layout_height = "match_parent" android:orientation = "vertical" tools:context = ".MainActivity" tools:layout_editor_absoluteY = "81dp"> <EditText android:id = "@+id/name" android:layout_width = "match_parent" android:layout_height = "60dp" android:layout_marginTop = "8dp" android:autofillHints = "" android:hint = "NAME" app:layout_constraintTop_toTopOf = "parent" tools:layout_editor_absoluteX = "0dp" /> <EditText android:id = "@+id/address" android:layout_width = "match_parent" android:layout_height = "wrap_content" android:layout_marginTop = "84dp" android:hint = "Phone Number" android:importantForAutofill = "no" android:inputType = "" app:layout_constraintTop_toTopOf = "@+id/name" tools:layout_editor_absoluteX = "16dp" tools:targetApi = "o" /> <Button android:id = "@+id/button" android:layout_width = "108dp" android:layout_height = "wrap_content" android:layout_marginStart = "8dp" android:layout_marginLeft = "8dp" android:layout_marginTop = "120dp" android:layout_marginEnd = "8dp" android:layout_marginRight = "8dp" android:gravity = "center_horizontal" android:text = "Save" app:layout_constraintEnd_toEndOf = "parent" app:layout_constraintHorizontal_bias = "0.503" app:layout_constraintStart_toStartOf = "parent" app:layout_constraintTop_toTopOf = "@+id/address" /> <Button android:id = "@+id/read" android:layout_width = "wrap_content" android:layout_height = "wrap_content" android:layout_marginStart = "8dp" android:layout_marginLeft = "8dp" android:layout_marginTop = "88dp" android:layout_marginEnd = "8dp" android:layout_marginRight = "8dp" android:gravity = "center_horizontal" android:text = "read" app:layout_constraintEnd_toEndOf = "parent" app:layout_constraintStart_toStartOf = "parent" app:layout_constraintTop_toBottomOf = "@+id/button" /> <TextView android:id = "@+id/result" android:layout_width = "wrap_content" android:layout_height = "0dp" android:layout_marginStart = "8dp" android:layout_marginLeft = "8dp" android:layout_marginTop = "184dp" android:layout_marginEnd = "8dp" android:layout_marginRight = "8dp" android:text = "result" app:layout_constraintEnd_toEndOf = "parent" app:layout_constraintStart_toStartOf = "parent" app:layout_constraintTop_toBottomOf = "@+id/button" /> </android.support.constraint.ConstraintLayout>
উপরের xml-এ এতে নাম এবং ঠিকানার জন্য দুটি সম্পাদনা পাঠ রয়েছে, যখন ব্যবহারকারী সংরক্ষণ বোতামে ক্লিক করেন তখন এটি শেয়ার করা পছন্দগুলিতে একটি অ্যারে হিসাবে মানগুলি সংরক্ষণ করে এবং যখন ব্যবহারকারী রিড বোতামে ক্লিক করে তখন এটি শেয়ার করা অ্যারে থেকে মানগুলি পড়তে পারে পছন্দ।
ধাপ 3 − নিম্নলিখিত কোডটি src/MainActivity.java-এ যোগ করুন
package com.example.andy.myapplication; import android.annotation.SuppressLint; import android.content.SharedPreferences; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.util.Log; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.TextView; import android.widget.Toast; import com.google.gson.Gson; import com.google.gson.reflect.TypeToken; import java.lang.reflect.Type; import java.util.ArrayList; import java.util.HashSet; import java.util.List; import java.util.Set; public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); final ArrayList<String> arrPackage; setContentView(R.layout.activity_main); final SharedPreferences sharedPreferences = getSharedPreferences("USER",MODE_PRIVATE); final EditText name = findViewById(R.id.name); final EditText address = findViewById(R.id.address); final TextView result = findViewById(R.id.result); Button save = findViewById(R.id.button); Button read = findViewById(R.id.read); arrPackage = new ArrayList<>(); read.setOnClickListener(new View.OnClickListener() { @SuppressLint("LongLogTag") @Override public void onClick(View v) { Gson gson = new Gson(); String json = sharedPreferences.getString("Set", ""); if (json.isEmpty()) { Toast.makeText(MainActivity.this,"There is something error",Toast.LENGTH_LONG).show(); } else { Type type = new TypeToken<List<String>>() { }.getType(); List<String> arrPackageData = gson.fromJson(json, type); for(String data:arrPackageData) { result.setText(data); } } } }); save.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { if(name.getText().toString().isEmpty() && address.getText().toString().isEmpty()) { Toast.makeText(MainActivity.this,"Plz Enter all the data",Toast.LENGTH_LONG).show(); }else{ String nameData = name.getText().toString().trim(); String addressData = address.getText().toString().trim(); arrPackage.add(nameData); arrPackage.add(addressData); Gson gson = new Gson(); String json = gson.toJson(arrPackage); SharedPreferences.Editor editor = sharedPreferences.edit(); editor.putString("Set",json ); editor.commit(); } } }); }
উপরের কোডে, আমরা অ্যারেলিস্টকে GSON-এ রূপান্তর করেছি এবং স্ট্রিং হিসাবে GSON ডেটা দখল করেছি।
পদক্ষেপ 4৷ − GSON অ্যাক্সেস করার জন্য আমাদের build.gradle-এ GSON লাইব্রেরি যোগ করতে হবে, যেমনটি নীচে দেখানো হয়েছে −
apply plugin: 'com.android.application' android { compileSdkVersion 28 defaultConfig { applicationId "com.example.andy.myapplication" minSdkVersion 15 targetSdkVersion 28 versionCode 1 versionName "1.0" testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } } dependencies { implementation fileTree(dir: 'libs', include: ['*.jar']) implementation 'com.google.code.gson:gson:2.8.5' implementation 'com.android.support:appcompat-v7:28.0.0' implementation 'com.android.support.constraint:constraint-layout:1.1.3' testImplementation 'junit:junit:4.12' androidTestImplementation 'com.android.support.test:runner:1.0.2' androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
ধাপ 5 − manifest.xml পরিবর্তন করার দরকার নেই চলুন আপনার অ্যাপ্লিকেশন চালানোর চেষ্টা করি।
আমি ধরে নিচ্ছি আপনি আপনার প্রকৃত Android মোবাইল ডিভাইসটি আপনার কম্পিউটারের সাথে সংযুক্ত করেছেন৷ অ্যান্ড্রয়েড স্টুডিও থেকে অ্যাপটি চালাতে, আপনার প্রোজেক্টের অ্যাক্টিভিটি ফাইলগুলির একটি খুলুন এবং টুলবার থেকে রান আইকনে ক্লিক করুন। একটি বিকল্প হিসাবে আপনার মোবাইল ডিভাইস নির্বাচন করুন এবং তারপরে আপনার মোবাইল ডিভাইসটি পরীক্ষা করুন যা আপনার ডিফল্ট স্ক্রীন প্রদর্শন করবে -
উপরের উদাহরণে আমরা নাম এবং ঠিকানা যোগ করেছি এবং সংরক্ষণ বোতামে ক্লিক করেছি।
উপরের উদাহরণে, আমরা read বাটনে ক্লিক করেছি। এটি টেক্সট ভিউতে টেক্সট যুক্ত করবে