এই উদাহরণটি দেখায় যে আমি কীভাবে অ্যান্ড্রয়েডের টুকরোগুলির মধ্যে মানগুলি পাস করব৷
ধাপ 1 − অ্যান্ড্রয়েড স্টুডিওতে একটি নতুন প্রকল্প তৈরি করুন, ফাইল ⇒ নতুন প্রকল্পে যান এবং একটি নতুন প্রকল্প তৈরি করতে সমস্ত প্রয়োজনীয় বিবরণ পূরণ করুন৷
ধাপ 2 − res/layout/activity_main.xml-এ নিম্নলিখিত কোড যোগ করুন।
<RelativeLayout xmlns:android="https://schemas.android.com/apk/res/android" xmlns:tools="https://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:background="#574706" tools:context=".MainActivity"> <fragment android:layout_width="wrap_content" android:layout_height="wrap_content" android:name="app.com.sample.FragmentOne" android:id="@+id/fragment" android:layout_alignParentTop="true" android:layout_centerHorizontal="true" tools:layout="@layout/fragment_fragment_one" /> <fragment android:layout_width="wrap_content" android:layout_height="wrap_content" android:name="app.com.sample.FragmentTwo" android:id="@+id/fragment2" android:layout_below="@+id/fragment" android:layout_centerHorizontal="true" android:layout_marginTop="41dp" tools:layout="@layout/fragment_fragment_two" /> </RelativeLayout>
ধাপ 3 − src/MainActivity.java
-এ নিম্নলিখিত কোড যোগ করুনimport android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.Menu; import android.view.MenuItem; public class MainActivity extends AppCompatActivity implements FragmentOne.OnFragmentInteractionListener{ @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } @Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.menu_main, menu); return true; } @Override public boolean onOptionsItemSelected(MenuItem item) { int id = item.getItemId(); if (id == R.id.textUpdate) { return true; } return super.onOptionsItemSelected(item); } @Override public void onFragmentInteraction(String userContent) { FragmentTwo fragmentTwo = (FragmentTwo) getSupportFragmentManager().findFragmentById(R.id.fragment2); fragmentTwo.updateTextField(userContent); } }
পদক্ষেপ 4৷ − দুটি খণ্ড তৈরি করুন (FragmentOne এবং FragmentTwo) এবং নিম্নলিখিত কোড যোগ করুন −
a) FragmentOne.java
import android.app.Activity; import android.os.Bundle; import android.support.v4.app.Fragment; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.Button; import android.widget.EditText; import android.widget.Toast; public class FragmentOne extends Fragment { private OnFragmentInteractionListener mListener; private EditText userInput; private String userData; public FragmentOne() { } @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View view = inflater.inflate(R.layout.fragment_fragment_one, container, false); userInput = view.findViewById(R.id.userInput); Button update = view.findViewById(R.id.button); update.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { if(userInput.getText().toString().equals("")){ Toast.makeText(getActivity(), "User input value must be filled", Toast.LENGTH_LONG).show(); return; } userData = userInput.getText().toString(); onButtonPressed(userData); } }); return view; } public void onButtonPressed(String userContent) { if (mListener != null) { mListener.onFragmentInteraction(userContent); } } @Override public void onAttach(Activity activity) { super.onAttach(activity); try { mListener = (OnFragmentInteractionListener) activity; } catch (ClassCastException e) { throw new ClassCastException(activity.toString() + " must implement OnFragmentInteractionListener"); } } @Override public void onDetach() { super.onDetach(); mListener = null; } public interface OnFragmentInteractionListener { void onFragmentInteraction(String userContent); } }
fragment_fragment_one.xml −
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="https://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:padding="4dp" android:paddingBottom="32dp"> <EditText android:id="@+id/userInput" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_alignParentTop="true" android:layout_centerHorizontal="true" android:layout_marginTop="16dp" android:ems="10" android:inputType="text"> <requestFocus /> </EditText> <Button android:id="@+id/button" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerHorizontal="true" android:layout_below="@id/userInput" android:layout_marginTop="20dp" android:padding="16dp" android:elevation="4dp" android:text="Update" /> </RelativeLayout>
b) FragmentTwo.java
import android.os.Bundle; import android.support.v4.app.Fragment; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.TextView; public class FragmentTwo extends Fragment { private TextView updateText; public FragmentTwo() { } @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View view = inflater.inflate(R.layout.fragment_fragment_two, container, false); updateText = view.findViewById(R.id.textUpdate); return view; } public void updateTextField(String newText){ updateText.setText(newText); } }
টুকরো_টুকরো_দুটি −
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="https://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent"> <TextView android:id="@+id/textUpdate" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="" android:textSize="24sp" android:layout_alignParentTop="true" android:layout_centerHorizontal="true" android:textStyle="bold" android:layout_marginTop="32dp" /> </RelativeLayout>
ধাপ 5 − androidManifest.xml
-এ নিম্নলিখিত কোড যোগ করুন<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="https://schemas.android.com/apk/res/android" package="app.com.sample"> <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>
আসুন আপনার অ্যাপ্লিকেশন চালানোর চেষ্টা করি৷ আমি ধরে নিচ্ছি আপনি আপনার কম্পিউটারের সাথে আপনার আসল অ্যান্ড্রয়েড মোবাইল ডিভাইসটি সংযুক্ত করেছেন৷ অ্যান্ড্রয়েড স্টুডিও থেকে অ্যাপটি চালাতে, আপনার প্রোজেক্টের অ্যাক্টিভিটি ফাইলগুলির একটি খুলুন এবং টুলবার থেকে রুনিকনে ক্লিক করুন। একটি বিকল্প হিসাবে আপনার মোবাইল ডিভাইস নির্বাচন করুন এবং তারপরে আপনার মোবাইল ডিভাইসটি পরীক্ষা করুন যা আপনার ডিফল্ট স্ক্রীন প্রদর্শন করবে -