Navigation در برنامه نویسی اندروید
Navigation در برنامه نویسی اندروید
در این درس از مجموعه آموزش برنامه نویسی سایت سورس باران، در مورد Navigation در برنامه نویسی اندروید صحبت خواهیم کرد.
در این درس خواهیم دید که چگونه می توانید یک برنامه Navigation در برنامه نویسی اندروید بنویسید و بین صفحات مختلف یک برنامه سوئیچ و حرکت کنید.
ابتدا به نحوه تهیه ناوبری در برنامه خواهیم پرداخت.
ارائه Up Navigation
Up Navigation به برنامه ما امکان می دهد تا از فعالیت بعدی به فعالیت قبلی حرکت کند.
برای اجرای Up Navigation، اولین قدم اعلان این است که کدام فعالیت والد مناسب برای هر فعالیت است.
می توانید این کار را با تعیین ویژگی parentActivityName در یک فعالیت انجام دهید. نحو آن در زیر آورده شده است:
1 |
android:parentActivityName = "com.example.test.MainActivity" |
پس از آن، شما باید متد setDisplayHomeAsUpEnabled از ()getActionBar در متد onCreate فعالیت را فراخوانی کنید. این کار دکمه ی back را در نوار action فعال می کند:
1 |
getActionBar().setDisplayHomeAsUpEnabled(true); |
آخرین کاری که باید انجام دهید این است که متد onOptionsItemSelected را نادیده بگیرید. هنگامی که کاربر آن را فشار می دهد، فعالیت شما فراخوانی ()onOptionsItemSelected را دریافت می کند. شناسه این اکشن android.R.id.home است. نحو آن در زیر آورده شده است:
1 2 3 4 5 6 7 8 |
public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case android.R.id.home: NavUtils.navigateUpFromSameTask(this); return true; } } |
مدیریت دکمه back
از آنجا که دکمه back را برای حرکت در برنامه خود فعال کرده اید، ممکن است بخواهید عملکرد بستن برنامه را در دکمه back دستگاه قرار دهید.
این کار را می توان با overriding بر onBackPressed و سپس فراخوانی moveTaskToBack و متد finish انجام داد. نحو آن در زیر آورده شده است:
1 2 3 4 5 |
@Override public void onBackPressed() { moveTaskToBack(true); MainActivity2.this.finish(); } |
به غیر از این متد setDisplayHomeAsUpEnabled، متد های دیگری نیز در کلاس ActionBar API موجود است. آنها در زیر ذکر شده اند:
- (addTab(ActionBar.Tab tab, boolean setSelected
این متد یک تب برای استفاده در حالت tabbed navigation اضافه می کند
- ()getSelectedTab
این متد اگر در حالت tabbed navigation باشد و در حال حاضر حداقل یک تب وجود دارد، تب انتخاب شده فعلی را برمی گرداند
- ()hide
این متد اگر ActionBar در حال حاضر در حال نمایش است مخفی می کند
- ()removeAllTabs
این متد همه تب ها را از ActionBar حذف کرده و تب فعلی را لغو انتخاب می کند
- (selectTab(ActionBar.Tab tab
این متد تب مشخص شده را انتخاب می کند
مثال
مثال زیر استفاده از Navigation در برنامه نویسی اندروید را نشان می دهد. این برنامه به شما امکان می دهد در برنامه خود حرکت کنید.
برای آزمایش این مثال، باید این مورد را روی دستگاه واقعی یا شبیه ساز اجرا کنید.
شرح مراحل
1 شما برای ایجاد یک برنامه اندروید تحت یک پکیج com.example.sairamkrishna.myapplication از Android studio استفاده خواهید کرد.
2 برای افزودن کد فعالیت ، پرونده src / MainActivity.java را تغییر دهید.
3 یک فعالیت جدید با نام second_main.java ایجاد کنید و آن را ویرایش کنید تا کد فعالیت اضافه شود.
4 تغییر طرح فایل XML res / layout / activity_main.xml در صورت لزوم، هر جز GUI اضافه کنید.
5 تغییر طرح بندی فایل XML res / layout / second.xml در صورت لزوم، هر جز GUI اضافه کنید.
6 برای افزودن کد لازم ، AndroidManifest.xml را تغییر دهید.
7 برنامه را اجرا کنید و دستگاه اندرویدی در حال اجرا را انتخاب کنید و برنامه را روی آن نصب کنید و نتایج را بررسی کنید.
در اینجا محتوای src / MainActivity.java است.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
package com.example.sairamkrishna.myapplication; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.widget.Button; public class MainActivity extends Activity { Button b1; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); b1 = (Button) findViewById(R.id.button); b1.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent in=new Intent(MainActivity.this,second_main.class); startActivity(in); } }); } } |
در اینجا محتوای src / second_main.java است.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
package com.example.sairamkrishna.myapplication; import android.app.Activity; import android.os.Bundle; import android.webkit.WebView; import android.webkit.WebViewClient; /** * Created by Sairamkrishna on 4/6/2015. */ public class second_main extends Activity { WebView wv; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main_activity2); wv = (WebView) findViewById(R.id.webView); wv.setWebViewClient(new MyBrowser()); wv.getSettings().setLoadsImagesAutomatically(true); wv.getSettings().setJavaScriptEnabled(true); wv.loadUrl("http://www.tutorialspoint.com"); } private class MyBrowser extends WebViewClient { @Override public boolean shouldOverrideUrlLoading(WebView view, String url) { view.loadUrl(url); return true; } } } |
در اینجا محتوای activity_main.xml است.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 |
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" android:paddingBottom="@dimen/activity_vertical_margin" tools:context=".MainActivity" android:transitionGroup="true"> <TextView android:text="Navigation example" android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/textview" android:textSize="35dp" android:layout_alignParentTop="true" android:layout_centerHorizontal="true" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Tutorials point" android:id="@+id/textView" android:layout_below="@+id/textview" android:layout_centerHorizontal="true" android:textColor="#ff7aff24" android:textSize="35dp" /> <ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/imageView" android:src="@drawable/abc" android:layout_below="@+id/textView" android:layout_centerHorizontal="true" android:theme="@style/Base.TextAppearance.AppCompat" /> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="first page" android:id="@+id/button" android:layout_below="@+id/imageView" android:layout_alignRight="@+id/textView" android:layout_alignEnd="@+id/textView" android:layout_marginTop="61dp" android:layout_alignLeft="@+id/imageView" android:layout_alignStart="@+id/imageView" /> </RelativeLayout> |
در اینجا محتوای activity_main_activity2.xml است.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent" android:weightSum="1"> <WebView android:layout_width="match_parent" android:layout_height="wrap_content" android:id="@+id/webView" android:layout_gravity="center_horizontal" android:layout_weight="1.03" /> </LinearLayout> |
در اینجا محتوای Strings.xml وجود دارد.
1 2 3 |
<resources> <string name="app_name">My Application</string> </resources> |
در اینجا محتوای AndroidManifest.xml است.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.sairamkrishna.myapplication" > <uses-permission android:name="android.permission.INTERNET"></uses-permission> <application android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" > <activity android:name=".MainActivity" android:label="@string/app_name" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <activity android:name=".second_main"></activity> </application> </manifest> |
بیایید برنامه خود را اجرا کنیم! من تصور می کنم شما AVD خود را هنگام راه اندازی محیط ایجاد کرده اید. برای اجرای برنامه از Android studio، یکی از پرونده های فعالیت پروژه خود را باز کنید و از نوار ابزار روی کلیک کنید. Android Studio برنامه را روی AVD شما نصب کرده و شروع به کار می کند و اگر با تنظیمات و برنامه هایتان همه چیز خوب باشد، زیر پنجره شبیه ساز نمایش داده می شود.
اکنون فقط دکمه را فشار دهید و صفحه زیر به شما نشان داده می شود.
فعالیت دوم شامل نمایش وب است، همانطور که در زیر نشان داده شده است به tutorialspoint.com هدایت شده است
لیست جلسات قبل آموزش برنامه نویسی اندروید
- نگاهی کلی به برنامه نویسی اندروید
- تنظیمات محیط در برنامه نویسی اندروید
- معماری برنامه نویسی اندروید
- اجزای برنامه در برنامه نویسی اندروید
- Hello World در برنامه نویسی اندروید
- سازماندهی و دسترسی به منابع در برنامه نویسی اندروید
- فعالیت در برنامه نویسی اندروید
- سرویس در برنامه نویسی اندروید
- گیرنده های پخش در برنامه نویسی اندروید
- ارائه دهنده محتوا در برنامه نویسی اندروید
- قطعات در برنامه نویسی اندروید
- Intent و فیلتر در برنامه نویسی اندروید
- طرح بندی رابط کاربری در برنامه نویسی اندروید
- کنترل های رابط کاربری در برنامه نویسی اندروید
- مدیریت رویدادها در برنامه نویسی اندروید
- استایل و تم ها در برنامه نویسی اندروید
- اجزای سفارشی در برنامه نویسی اندروید
- کشیدن و رها کردن در برنامه نویسی اندروید
- نوتیفیکیشن ها در برنامه نویسی اندروید
- سرویس های مبتنی بر مکان در برنامه نویسی اندروید
- ارسال ایمیل در برنامه نویسی اندروید
- ارسال پیامک در برنامه نویسی اندروید
- تماس های تلفنی در برنامه نویسی اندروید
- انتشار برنامه اندروید
- آموزش Alert Dialog در برنامه نویسی اندروید
- انیمیشن در برنامه نویسی اندروید
- ضبط صدا در برنامه نویسی اندروید
- مدیریت صدا در برنامه نویسی اندروید
- آموزش Auto Complete در برنامه نویسی اندروید
- بهترین شیوه ها در برنامه نویسی اندروید
- بلوتوث در برنامه نویسی اندروید
- استفاده از دوربین در برنامه نویسی اندروید
- کلیپ بورد در برنامه نویسی اندروید
- فونت سفارشی در برنامه نویسی اندروید
- پشتیبان گیری از داده ها در برنامه نویسی اندروید
- ابزارهای توسعه دهنده در برنامه نویسی اندروید
- آموزش شبیه ساز در برنامه نویسی اندروید
- اتصال به فیس بوک در برنامه نویسی اندروید
- حرکات لمسی در برنامه نویسی اندروید
- آموزش گوگل مپ در برنامه نویسی اندروید
- افکت های تصویر در برنامه نویسی اندروید
- Image Switcher در برنامه نویسی اندروید
- حافظه داخلی در برنامه نویسی اندروید
- آموزش کار با JetPlayer در برنامه نویسی اندروید
- JSON Parser در برنامه نویسی اندروید
- ارتباط با LinkedIn در برنامه نویسی اندروید
- نوار پیشرفت Spinner در برنامه نویسی اندروید
- بومی سازی در برنامه نویسی اندروید
- صفحه Login در برنامه نویسی اندروید
- MediaPlayer در برنامه نویسی اندروید
- Multitouch در برنامه نویسی اندروید
دیدگاه شما