Guruh talabasi Majidov Husanboyning mqudv
Android Studio-da ikkinchi Activity-ni ishga tushirish
Download 473.6 Kb.
|
Android Studio 1-oraliq Nazorat
- Bu sahifa navigatsiya:
- Intent obektini yaratish.
- Ikkinchi Activity obektini yaratish.
Android Studio-da ikkinchi Activity-ni ishga tushirish.Boshlash uchun Android Studio-da yangi dastur yaratib, "Ilova" deb nomlang. Endi activity-ga xabar kiritish uchun matn maydoni va tugmani qo'shing. Buning uchun activity_main.xml fayliga quyidagi kodni kiriting: xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android=" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="horizontal" > <EditText android:id="@+id/edit_message" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1" android:hint="Xabarni kiriting" /> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Yuborish"/> LinearLayout> Hozir tugmani bosish orqali qandat qilib yangi activity -ga o'tishni bilib olamiz. Tugmaning bosish hodisasini qo'shish uchun activity_main.xml faylini oching va Button elementiga android: onClick atributini qo'shing: <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:onClick="sendMessage" android:text="Yuborish"/> android: onClick atributiga berilgan "sendMessage" qiymati bu foydalanuvchi tugmachani bosganda tizim chaqiradigan activity sinfida aniqlangan usul(metod)ning nomi. Keyinchalik, ushbu metodni aniqlaymiz. Intent ob'ektini yaratish.Keyin MainActivity sinfiga( fayliga) o'tamiz va ushbu sinfni quyidagicha o'zgartiramiz: package com.example.android.ilova; import androidx.appcompat.app.AppCompatActivity; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.widget.EditText; public class MainActivity extends AppCompatActivity { public final static String EXTRA_MESSAGE = "EXTRA_MESSAGE"; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } // Tugmani bosish bilan ishlash metodi public void sendMessage(View view) { // tugmachani bosgandan so'ng amalga oshiriladigan harakatlar // Yangi Activity chaqirish uchun Intent ob'ekti yaratish Intent intent = new Intent(this, IkkinchiActivity.class); // Joriy Activity-da matn maydonini olish EditText editText = (EditText) findViewById(R.id.edit_message); // Berilgan matn maydoni(EditText)-ning matnini olish String message = editText.getText().toString(); // putExtra yordamida ob'ektni qo'shish - birinchi parametr - bu kalit, // ikkinchi parametr - bu ob'ektning qiymati intent.putExtra(EXTRA_MESSAGE, message); // yangi activity-ni ochish(boshlash) startActivity(intent); } }
Bu yerda tugmachani bosganda chaqiriladigan sendMessage () usuli qo'shiladi. Tugmachani bosish metodi parametr sifatida bosilgan tugmachani aks ettiruvchi View ob'ektini olishi kerak: public void sendMessage(View view) {
Keyinchalik, ikkinchi activity -ni boshlash uchun Intent ob'ekti kerak. Intent ob'ekti bajarilishi kerak bo'lgan ba'zi bir dastur ishlarini boshqa dastur bajarishi uchun imkoniyat beradi yoki boshqa activity-ga o'tishga yordam beradi (masalan, activity -ni boshlash): Intent intent = new Intent(this, IkkinchiActivity.class); Ushbu ob'ektning konstruktori ikkita parametrni oladi: Birinchi parametr kontekstni ifodalaydi - Context ob'ekti (bu yerda this kalit so'zidan foydalaniladi, chunki MainActivity klassi Context sinfining subklassidir). Ikkinchi parametr - bu yangi activity sinfi. Biz birozdan keyin yaratadigan IkkinchiActivity sinfi bo'ladi. SendMessage () usuli ichida EditText elementini olish va uning matn qiymatini message ob'ektiga o'tkazish uchun findViewById usulidan foydalanamiz: EditText editText = (EditText) findViewById(R.id.edit_message); String message = editText.getText().toString();
Keyin matn maydoni(EditText)dan olingan matn ishga tushirilgan activity-ga uzatiladi: intent.putExtra(EXTRA_MESSAGE, message);
"EXTRA_MESSAGE" parametri uzatilayotgan ma'lumotlarning kalitini bildiradi. Ya'ni, biz ko'plab ma'lumotlarni yangi activity-ga o'tkaza olamiz va ular chegaralanishi uchun ular uchun kalit belgilanadi. Bunday holda, EXTRA_MESSAGE kaliti odatdagi "EXTRA_MESSAGE" dir: public final static String EXTRA_MESSAGE = "EXTRA_MESSAGE"; Yangi activity -ni ochish uchun startActivity () usulini chaqirish va Intent - ni parametr sifatida o'tkazish kerak: startActivity(intent); Ushbu usulni chaqirgandan so'ng tizim Intent ob'ekti tomonidan aniqlangan yangi Activity ob'ektini ishga tushiradi. Ikkinchi Activity ob'ektini yaratish.Endi yangi activity - ning o'zi - IkkinchiActivity - ni qo'shaylik. Buning uchun MainActivity sinfini o'z ichiga olgan paketlar jildidagi project (app) -ga sichqonchani olib borib, sichqonchaning o'ng tugmasini bosing va keyin kontekst menyusidan New -> Activity -> Empty Activity - ni tanlang: Keyin yangi activity yaratish uchun dialog oynasi ochiladi: Activity nomini kiritib Finish tugmasini bosing Shunday qilib, biz yangi activity - ni yaratdik: app / java / com.example.android.ilova papkasiga yangi IkkinchiActivity klassi va app / res / layout papkasiga activity_ikkinchi.xml fayli qo'shildi. IkkinchiActivity sinfini, ya'ni IkkinchiActivity.java faylini oching va uni quyidagicha o'zgartiring: package com.example.android.ilova; import androidx.appcompat.app.AppCompatActivity; import android.content.Intent; import android.os.Bundle; import android.widget.TextView; public class IkkinchiActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // intent ob'ektidan ma'lumotlarni olish Intent intent = getIntent(); String message = intent.getStringExtra(MainActivity.EXTRA_MESSAGE); // Matn maydoni, bu yerda TextView yaratish va sozlash TextView textView = new TextView(this); textView.setTextSize(40); textView.setText(message); // activity layoutda TextView-ni ko'rsatish setContentView(textView); } }
Download 473.6 Kb. Do'stlaringiz bilan baham: |
ma'muriyatiga murojaat qiling