Activity ni boshqarishga Intent yasash




Download 17.89 Kb.
Sana26.05.2023
Hajmi17.89 Kb.
#64922
Bog'liq
mobil
Shahzod Beshimov shartnoma, 06.04.2023

Android Studio'da Activity'lar orasida ma'lumot almashish uchun bir nechta usullar mavjud. Bu usullardan biri Intent'larni foydalanishdir.

Intent'larni foydalanish orqali, bir Activity'dan boshqasiga ma'lumot o'tkazishingiz mumkin. Ushbu usulni o'zbek tilida quyidagicha amalga oshiring:

Intent orqali ma'lumot o'tkazish: Birinchi Activity'da Intent yaratib, ma'lumotni qo'shib olasiz va ikkinchi Activity'ga o'tish paytida ushbu Intentni ishlatishingiz mumkin.
Activity ni boshqarishga Intent yasash:

Intent intent = new Intent(AsosiyActivity.this, IkkinchiActivity.class);


intent.putExtra("MENING_MA'LUMOTIM", ma'lumot);
startActivity(intent);
Ikkinchi Activityda Intentdan ma'lumot olish:

Intent intent = getIntent();


String ma'lumot = intent.getStringExtra("MENING_MA'LUMOTIM");
Bu misolda "MENING_MA'LUMOTIM" o'zgaruvchi nomi ma'lumotni identifikatsiya qiladi. Siz o'zingizga qulay bo'lgan nomni ishlatishingiz mumkin.

Bu usul orqali Intent orqali ma'lumotlarni o'tkazib olishingiz va olingan ma'lumotni qabul qilishingiz mumkin.


Alishilishi mumkin bo'lgan boshqa ma'lumotlarni olish uchun quyidagi usullarni amalga oshirishingiz mumkin:

Bundle orqali ma'lumot o'tkazish: Intent yaratishdan oldin, Bundle obyektini ishlatib ma'lumotlarni o'z ichiga olishingiz mumkin. Keyinchalik, Bundle ni Intent ga qo'shib, ikkinchi Activity ga o'tishda o'zgartirishingiz mumkin.


Activity ni boshqarishga Bundle yasash:

Intent intent = new Intent(AsosiyActivity.this, IkkinchiActivity.class);


Bundle bundle = new Bundle();
bundle.putString("MENING_MA'LUMOTIM", ma'lumot);
bundle.putInt("MENING_SONIM", son);
intent.putExtras(bundle);
startActivity(intent);
Ikkinchi Activityda Bundle dan ma'lumot olish:

Intent intent = getIntent();


Bundle bundle = intent.getExtras();
if (bundle != null) {
String ma'lumot = bundle.getString("MENING_MA'LUMOTIM");
int son = bundle.getInt("MENING_SONIM");
}
Bu misolda "MENING_MA'LUMOTIM" va "MENING_SONIM" nomli kalit so'zlardan foydalanilgan. Sizning kerakli ma'lumotlaringizga mos nomlar berishingiz kerak.

Static o'zgaruvchilar orqali ma'lumot almashish: Birinchi Activitydan ikkinchi Activityga ma'lumot o'tkazish uchun static o'zgaruvchilardan foydalanishingiz mumkin. Static o'zgaruvchilarni public bo'lib o'rnatib, ularni boshqa Activitylardan ham chaqirishingiz mumkin.


Birinchi Activityda static o'zgaruvchini o'rnatish:

public static String MA'LUMOT = "Mening ma'lumotim";


Ikkinchi Activityda static o'zgaruvchini olish:

String ma'lumot = BirinchiActivity.MA'LUMOT;


Bu usul orqali, bir Activitydan boshqasiga o'zgaruvchilarni to'g'ridan-to'g'ri chaqirishingiz mumkin.

Umid qilamanki, bu qo'llanma sizning Android Studio'da Activity'lar o'rtasidagi ma'lumot almashish uchun kerakli yo'llarni tushuntirishga yordam beradi. Agar yana savollar bo'lsa, menga yozishingiz mumkin!

Parcelable yoki Serializable interfeyslarni foydalanish: Parcelable yoki Serializable interfeyslarni qo'llab-quvvatlovchi klasslarni yaratib, ma'lumot obyektlarini o'zaro o'tkazishingiz mumkin. Bunda obyektning ma'lumotlari avtomatik ravishda boshqa Activity ga o'tkaziladi.
Ma'lumot obyektini Parcelable interfeysi orqali o'tkazish:

public class MeningObektim implements Parcelable {


private String nomi;
private int yoshi;

// Konstruktor, getter va setterlar

// Parcelable interfeysining metodlari
@Override
public void writeToParcel(Parcel dest, int flags) {
dest.writeString(nomi);
dest.writeInt(yoshi);
}

@Override


public int describeContents() {
return 0;
}

public static final Parcelable.Creator CREATOR = new Parcelable.Creator() {


@Override
public MeningObektim createFromParcel(Parcel in) {
return new MeningObektim(in);
}

@Override


public MeningObektim[] newArray(int size) {
return new MeningObektim[size];
}
};

protected MeningObektim(Parcel in) {


nomi = in.readString();
yoshi = in.readInt();
}
}
Birinchi Activitydan ikkinchi Activityga obyektni Parcelable orqali o'tkazish:
Intent intent = new Intent(AsosiyActivity.this, IkkinchiActivity.class);
MeningObektim obyekt = new MeningObektim("Mening obyektim", 25);
intent.putExtra("MENING_OBYEKTIM", obyekt);
startActivity(intent);
Ikkinchi Activityda Parcelable obyektni olish:

Intent intent = getIntent();


MeningObektim obyekt = intent.getParcelableExtra("MENING_OBYEKTIM");
Singleton obyektlar orqali ma'lumot almashish: Singleton obyekt, yagona instansiya bo'lib, barcha Activitylardan foydalanishga imkon beradi. Buning uchun Singleton klassini yaratib, ma'lumotlarga o'sha klass orqali kirishingiz mumkin.
Singleton obyektni yaratish:

public class MeningSingleton {


private static MeningSingleton instance;
private String ma'lumot;

private MeningSingleton() {


}

public static MeningSingleton getInstance() {


if (instance == null) {
instance = new MeningSingleton();
}
return instance;
}

public String getMa'lumot() {


return ma'lumot;
}

public void setMa'lumot(String ma'lumot) {


this.ma'lumot = ma'lumot;
}
}
Ma'lumotlarni Singleton obyekt orqali almashish:

MeningSingleton singleton = MeningSingleton.getInstance();


singleton.setMa'lumot("Mening ma'lumotim");
String ma'lumot = singleton.getMa'lumot();
Download 17.89 Kb.




Download 17.89 Kb.

Bosh sahifa
Aloqalar

    Bosh sahifa



Activity ni boshqarishga Intent yasash

Download 17.89 Kb.