انتقال اطلاعات بین اکتیویتی ها در اندروید + ویدیو

ارسال شده توسط: حسین درویشی Comments: 0

انتقال اطلاعات بین اکتیویتی ها در اندروید + ویدیو

موضوع این آموزش در مورد انتقال اطلاعات بین اکتیویتی ها می باشد که در ادامه، این موضوع را بیشتر مورد بررسی و بحث قرار دادیم.

چگونگی ارسال مقدار به اکتیویتی دیگر

انتقال اطلاعات بین اکتیویتی ها از کلاس Intent و هچنین متد مربوط به آن که putExtra می باشد صورت می گیرد.


نکته: وقتی مقادیر یک اکتیویتی را به اکتیویتی دیگر ارسال می کنیم باید مقدار ارسال شده را در مقصد دریافت کنیم این کار را با یک TextView انجام خواهیم داد.


دو اکتیویتی یکی با نام MainActivity و دیگری با نام SecondActivty داریم و می خواهیم نام کاربر را با EditText در فرم MainActivity گرفته و با یک Button به صفحه SecondActivity بفرستیم.

کدهای نوشته شده در بخش Xml صفحه MainActivty:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 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"
android:orientation="vertical"
tools:context=".MainActivity"
android:padding="40dp">
<EditText
android:id="@+id/edtName"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ems="10"
android:inputType="textPersonName"
android:text="Name" />
<Button
android:id="@+id/btnSent"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Sent"
/>
</LinearLayout>

کدهای نوشته شده در بخش جاوا صفحه MainActivity

package com.example.activity;
import androidx.appcompat.app.AppCompatActivity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
public class MainActivity extends AppCompatActivity {
Button btnSent;
EditText edtName;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btnSent=findViewById(R.id.btnSent);
edtName=findViewById(R.id.edtName);
btnSent.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
String name=edtName.getText().toString();
Intent intent=new Intent(MainActivity.this,SecondActivity.class);
intent.putExtra("name",name);
startActivity(intent);
}
});
}
}

متد putExtra چیست؟

به منظور ارسال اطلاعات اضافه به فرم مقصد مقدار مورد نظر را با این متد می فرستند. این متد دو مقدار از ورودی دریافت می کند.

اولی درج یک کلید برای مقداری که باید پاس داده شود. و دومی مقداری است که باید به صفحه مقصد منتقل شود.


نکته: دقت کنید در صفحه مقصد داده را با استفاده از کلیدی که داخل متد به آن اختصاص دادیم دریافت می شود.


حال، اطلاعات اکتیویتیِ MainActivity به صفحه SecondActivity فرستاده می شود و باید اطلاعات را در این صفحه دریافت کنیم.

package com.example.activity;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.Toast;
public class SecondActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_second);
Bundle extrns=getIntent().getExtras();
String name=extrns.getString("name");
Toast.makeText(this, "YourName: "+name, Toast.LENGTH_SHORT).show();
}
}

در پایان شما را به تماشای ویدیوی زیر دعوت می کنم.

برای امتیاز به این نوشته کلیک کنید!
[کل: 6 میانگین: 4.2]

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *