مشخصات مقاله
-
1850
-
0.0
-
5117
-
0
-
0
آموزش مسیریابی اندروید
آموزش مسیریابی اندروید
در این فصل خواهیم دید که در یک برنامه چگونه مسیر به جلو و عقب را می توانید تعیین کنید. در ابتدا باید دید چگونه در یک برنامه می توان مسیر ارائه داد.
ارائه ی up navigation در مسیریابی اندروید
Up navigation به ما اجازه می دهد تا در برنامه ی خود از یک فعالیت به فعالیت قبلی حرکت کنیم.
برای اجرای Up navigation اولین مرحله این است که فعالیت پایه ی مناسب برای هر فعالیت را اعلام کنیم. می توانید این کار را با مشخص کردن ویژگی parentActivityName در یک فعالیت انجام دهید. ترکیب آن مانند زیر می باشد.
android:parentActivityName="com.example.test.MainActivity"
پس ازآن لازم است که روش setDisplayHomeAsUpEnabled را از getActionBar() در روش onCreat مربوط به فعالیت، فرا بخوانید. این کار دکمه ی back را فعال می کند.
getActionBar().setDisplayHomeAsUpEnabled(true);
آخرین کاری که باید انجام دهید، رد شدن از روش onOptionsItemSelected می باشد. وقتی که یوزر آن را انتخاب کند، فعالیت شما یک فراخوانی به onOptionsItemSelected دریافت می کند. ID مربوط به این عمل عبارت است از android.R.id.home ترکیب آن نیز مانند زیر می باشد.
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case android.R.id.home:
NavUtils.navigateUpFromSameTask(this);
return true;
}
}
بررسی دکمه ی back دستگاه در مسیریابی اندروید
از آنجایی که شما دکمه ی بازگشت را برای مسیریابی در داخل برنامه خود فعال کرده اید، ممکن است بخواهید عملکرد بستن برنامه را نیز در کمه ی بازگشت دستگاه قرار دهید.
این عمل به وسیله ی عبور از onBackPressed و سپس فراخوانی moveTaskToBack و روش finish انجام می شود. ترکیب آن را در زیر می بینید.
@Override
public void onBackPressed()
{
moveTaskToBack(true);
MainActivity2.this.finish();
}
علاوه بر روش setDisplayHomeAsUpEnabled، روش های دیگری در گروه ActionBar API وجود دارند که در زیر لیست شده اند.
مثال:
مثال زیر استفاده از مسیریابی را توضیح می دهد. این مثال یک برنامه ی پایه ایجاد می کند که مسیریابی داخل برنامه را امکان پذیر می کند. برای انجام این مثال لازم است آن را روی یک دستگاه واقعی یایک مقلد اجرا کنید.
در اینجا محتوای src/com.example.test/MainActivity.java را مشاهده می کنید.
package com.example.test;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.Menu;
import android.view.View;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
public void activity2(View view){
Intent intent = new Intent(this,com.example.test.MainActivity2.class);
startActivity(intent);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
}
در اینجا محتوای src/com.example.test/MainActivity2.java را مشاهده می کنید.
package com.example.test;
import android.annotation.SuppressLint;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.support.v4.app.NavUtils;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
public class MainActivity2 extends Activity {
@SuppressLint("NewApi")
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main_activity2);
getActionBar().setDisplayHomeAsUpEnabled(true);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main_activity2, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
// Respond to the action bar's Up/Home button
case android.R.id.home:
NavUtils.navigateUpFromSameTask(this);
return true;
}
return super.onOptionsItemSelected(item);
}
@Override
public void onBackPressed() {
moveTaskToBack(true);
MainActivity2.this.finish();
}
}
در ادامه محتوای activity_main.xml می باشد.
در اینجا محتوای activity_main_activity2.xml را مشاهده می کنید.
در اینجا محتوای Strings.xml می باشد.
test Settings Hello world! This is activity 1 This is activity 2 Go to activity 1 Go to activity 2 MainActivity2
در اینجا محتوای AndroidManifest.xml می باشد.
اجازه بدهید Navigation application را اجرا کنیم. فرض می کنیم که در هنگام انجام تنظیمات محیط، AVD خود را ایجاد کرده اید. برای اجرای برنامه از eclipse، یکی از فایل های فعالیت پروژه را باز کنید و روی آیکن Run از تولبار کلیک کنید. Eclipse برنامه را روی AVD شما نصب و آغازمی کند و اگر همه چیز در مورد برنامه و تنظیمات درست باشد، پنجره ی Emulator زیر نمایش داده خواهد شد.
اکنون دکمه ی Go to activity 2 را انتخاب کنید، صفحه ی زیر نمایش داده خواهد شد.
اکنون شما در گوشه ی بالا سمت راست دکمه ی بازگشت را خواهید دید. اگر دکمه ی بازگشت را انتخاب کنید به فعالیت قبلی برمی گردید.
دوباره دکمه ی activity 2 را انتخاب کرده و این بار دکمه ی exit دستگاه را انتخاب کنید. خواهید دید که برنامه بسته می شود، که در تصویر زیر مشاهده می کنید.