Metodlar
Qisqacha ma`lumot
Harakatni
to`xtatish
Keyin
onCreate()
Bu metodda siz activitylarni
o`rtasidaga harakatni
boshqarishingiz mumkin masalan
bir-birlari bilan bog`lash.Java
faylni activity_main.xml fayli
bilan bog`lashda asosan
qo`llaniladi.
Yo`q
onStart()
onRestart()
Agar harakat to`xtatib qo`yilgan
bo`lsa qaytadan yuklab olish
imkoniyatini yaratib beradi.
Yo`q
onStart()
onStart()
Qayta ishchi rejimiga tushirishda
qo`llaniladi, agar to`xtatilgan
bo`lsa …
Yo`q
onResume()
yoki
onStop()
onResume()
Oldingi holatga qaytarish,
to`xtatilgan bo`lsa, shu metoddan
foydalaniladi
Yo`q
onPause()
onPause()
Biror bir harakatni to`xtatib
qo`yish, uning biror bir amallar
majmuyini vaqtinchalik stop berib
qo`yishimiz mumkin.Biz uning
oxirgi faoliyatini shu joyidan
qaytarmasak u onResume()
metodi holatida saqlanib
qolaveradi.
Ha
onResume()
yoki
onStop()
onStop()
Bu metod onResume() metodidan
farqli jihati oxirgi bajarilingan
harakatni butunlay to`xtaib
qo`yadi. Qayta ishga
tushurmaguncha shu holat
saqalanib qolaveradi.
Ha
onRestart()
yoki
onDestroy()
Ushbu metodlar dasturimizni hayot skilini davomiyligini ta`minlash uchun keng qo`llaniladi va ular
quyidagi holatlarda ishlatilinadi :
public class ExampleActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}
@Override
protected void onStart() {
super.onStart();
}
@Override
protected void onResume() {
super.onResume();
}
@Override
protected void onPause() {
super.onPause();
}
@Override
protected void onStop() {
super.onStop();
}
@Override
protected void onDestroy() {
super.onDestroy();
}
}
Realizatsiya qilish:
User interfacelar ierarik ko`rinishda shakllandi. XML ko`rinishlarni yasash uchun visual tarzda
obyektlarni listga qo`yigan holatda joylashtirishingiz mumkin. Bu obyektlar bo`lishi mumkin:
Button, EditText, TextView, CheckBox, ListView va h.k. Bu obyektlar ViewGroup tizimi deb ham
ataladi. Activitylardagi komponenetalar grafik yoki kodli ko`rinishlarda tasvirlanadi. Java qismida
esa Obyektlarni shu activity uchun faollashtib qo`yiladi. AndroidManifest da ushbu
activity_main.xml va unga birlashtilgan java fayllarni faollashtib qo`yish lozim bo`ladi.
element. For example:
...
...
Siz bu AndroidManifest qismida android dasturingizni ko`pgina paramertlarini kiritshingiz, tizimga
ta`siri haqda tanishtirish imkoniyati mavjuddir.
Masalan: Siz ushbu misolda ikki activity orasidagi munosabatni ko`rishingiz mumkin:
Birinchi activityning java fayli - "GetMessageActivity.java", ikkinchisiniki esa
DisplayMessageActivity.class deb nomlansin.
package ......;
import ......;
import android.widget.Toast;
public class GetMessageActivity ...... {
public final static String EXTRA_MESSAGE = "com.example.testintent.MESSAGE";
private int requestCode = 1;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_get_message);
}
public void sendMessage(View view) {
// Retrieve the message entered
EditText txtMessage = (EditText) findViewById(R.id.txtMessageID);
String message = txtMessage.getText().toString();
Intent intent = new Intent(this, DisplayMessageActivity.class);
intent.putExtra(EXTRA_MESSAGE, message);
startActivityForResult(intent, requestCode);
}
public void onActivityResult(int resultRequestCode, int resultCode, Intent result) {
if (resultRequestCode == requestCode) {
if (resultCode == RESULT_OK) {
Toast.makeText(this, result.getData().toString(), Toast.LENGTH_LONG).show();
}
}
}
......
......
}
display_message_activity.xml ning ko`rinishi quyidagicha:
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent" >
android:id="@+id/txtDisplayID"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
android:id="@+id/txtReturnedID"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/txtDisplayID"
android:hint="@string/message" />
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/txtReturnedID"
android:layout_alignParentRight="true"
android:text="@string/btnReturnLabel"
android:onClick="returnMessage"
/>
Bu misolda ikki activity ga edittext obyekti yordamida matn yuborishni ko`rib chiqamiz: OnClick()
metodi yodamida Button da returnMessage() ni qaytaramiz.
res\values\string.xml katalogida joylashgan string.xml fayliga
Return
ni kiritamiz.
Endi DisplayMessageActivity.java faylini yaratib quyidagicha yozib chiqamiz:
package ......;
import android.net.Uri;
importandroid.view.View;
importandroid.widget.EditText;
public class DisplayMessageActivity ...... {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_display_message);
Intent intent = getIntent();
String message = intent.getStringExtra(GetMessageActivity.EXTRA_MESSAGE);
TextView txtDisplay = (TextView) findViewById(R.id.txtDisplayID);
txtDisplay.setText(message);
}
public void returnMessage(View view) {
Intent result = new Intent();
EditText txtReturn = (EditText) findViewById(R.id.txtReturnedID);
String returnMessage = txtReturn.getText().toString();
result.setData(Uri.parse(returnMessage));
setResult(RESULT_OK, result);
finish();
}
......
......
}
Va biz quyidagi natijaga erishishamiz:
->
Vazifa: Ushbu laboratoriya mashg`ulotida har bir talaba o`ziga berkitilgan topshiriqni activitylar
orasidagi munosabatlarni qatnashtirib ishlashi lozim.
Do'stlaringiz bilan baham: |