10-Amaliy : Activitylar bilan ishlash. Activity oynasi. Faoliyat va dasturning hayot aylanishi
-Amaliy Intent obyektlaridan foydalanib Activityni ishga tushirish
Download 172.5 Kb.
|
10-Amaliy
11-Amaliy Intent obyektlaridan foydalanib Activityni ishga tushirish.
Intent bilan ishlash uchun yangi Activity sinfini qo'shamiz. Buni amalga oshirish uchun MainActivity klassi joylashgan papkani o'ng tugmasini bosing va kontekst menyusidan New->Faoliyat->Empty Activity-ni tanlang: Keling, yangi Activity sinfini SecondActivity deb ataymiz va qolgan barcha sozlamalarni sukut bo'yicha qoldiring: shundan so'ng loyihaga yangi Faoliyat qo'shiladi - SecondActivity: Shundan so'ng, AndroidManifest.xml manifest faylida biz quyidagi qatorlarni topishimiz mumkin: Amaldagi barcha faoliyat sinflari AndroidManifest.xml faylida Biroq, mohiyatan, faoliyatlar Activity sinfidan yoki uning avlodlaridan meros bo'lib qolgan standart java sinflaridir. Shuning uchun, Android Studio'da o'rnatilgan andozalar o'rniga biz oddiy sinflarni qo'shishimiz va keyin ularni Activity sinfidan meros qilib olishimiz mumkin. Biroq, bu holda, manifest fayliga faoliyat ma'lumotlarini qo'lda qo'shishingiz kerak bo'ladi. Bundan tashqari, intent-filtr elementidagi MainActivity uchun maqsad-filtr belgilangan. Unda "android.intent.action.MAIN" qiymatiga ega harakat elementi ilovaning asosiy kirish nuqtasini ifodalaydi. Ya'ni, MainActivity asosiy bo'lib qoladi va standart dastur tomonidan ishga tushiriladi. SecondActivity shunchaki loyihada ekanligi ko'rsatilgan va u uchun maqsad filtrlari o'rnatilmagan. MainActivity-dan SecondActivity-ni ishga tushirish uchun startActivity() usulini chaqirishingiz kerak: Intent intent = new Intent(this, SecondActivity.class); startActivity(intent); Intent obyekti startActivity usuliga parametr sifatida uzatiladi. Konstruktorda Intentni yaratish uchun ikkita parametr kerak bo'ladi: bajarish konteksti (bu holda joriy MainActivity ob'ekti) va Intent ob'ekti tomonidan ishlatiladigan va topshiriqga o'tkazilgan ma'lumotlarni ifodalovchi sinf (aslida dasturning klassi). biz ishga tushiradigan faoliyat). Endi bir Faoliyatdan boshqasiga o'tishni amalga oshirishni ko'rib chiqing. Buning uchun activity_main.xml faylida (ya'ni MainActivity interfeysida) biz tugmani belgilaymiz: xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent" android:layout_height="match_parent"> android:id="@+id/navButton" android:textSize="20sp" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Перейти к SecondActivity" android:onClick="onClick" app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintRight_toRightOf="parent" app:layout_constraintTop_toTopOf="parent"/> MainActivity sinfidagi tugmani bosish moslamasini belgilang, uning yordamida yangi Faoliyatga o'tish amalga oshiriladi: package com.example.viewapp; import androidx.appcompat.app.AppCompatActivity; import android.content.Intent; import android.os.Bundle; import android.view.View; public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } public void onClick(View view) { Intent intent = new Intent(this, SecondActivity.class); startActivity(intent); } } Klik ishlov beruvchisida SecondActivity ishga tushadi. Keyin, SecondActivity kodini o'zgartiramiz: package com.example.viewapp; import androidx.appcompat.app.AppCompatActivity; import android.os.Bundle; import android.widget.TextView; public class SecondActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); //setContentView(R.layout.activity_second); TextView textView = new TextView(this); textView.setTextSize(20); textView.setPadding(16, 16, 16, 16); textView.setText("SecondActivity"); setContentView(textView); } } Keling, ilovani ishga tushiramiz va bir faoliyatdan boshqasiga o'tamiz: Download 172.5 Kb. Do'stlaringiz bilan baham: |
ma'muriyatiga murojaat qiling