Navigation در برنامه نویسی اندروید

4 سال پیش

Navigation در برنامه نویسی اندروید

در این درس از مجموعه آموزش برنامه نویسی سایت سورس باران، در مورد Navigation در برنامه نویسی اندروید صحبت خواهیم کرد.

 

در این درس خواهیم دید که چگونه می توانید یک برنامه Navigation در برنامه نویسی اندروید بنویسید و بین صفحات مختلف یک برنامه سوئیچ و حرکت کنید.

ابتدا به نحوه تهیه ناوبری در برنامه خواهیم پرداخت.

 

ارائه Up Navigation

Up Navigation به برنامه ما امکان می دهد تا از فعالیت بعدی به فعالیت قبلی حرکت کند.

برای اجرای Up Navigation، اولین قدم اعلان این است که کدام فعالیت والد مناسب برای هر فعالیت است.

می توانید این کار را با تعیین ویژگی parentActivityName در یک فعالیت انجام دهید. نحو آن در زیر آورده شده است:

android:parentActivityName = "com.example.test.MainActivity"

پس از آن، شما باید متد setDisplayHomeAsUpEnabled از ()getActionBar  در متد onCreate فعالیت را فراخوانی کنید. این کار دکمه ی back را در نوار action فعال می کند:

getActionBar().setDisplayHomeAsUpEnabled(true);

آخرین کاری که باید انجام دهید این است که متد onOptionsItemSelected را نادیده بگیرید. هنگامی که کاربر آن را فشار می دهد، فعالیت شما فراخوانی ()onOptionsItemSelected را دریافت می کند. شناسه این اکشن android.R.id.home است. نحو آن در زیر آورده شده است:

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 انجام داد. نحو آن در زیر آورده شده است:

@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 در برنامه نویسی اندروید را نشان می دهد. این  برنامه به شما امکان می دهد در برنامه خود حرکت کنید.

برای آزمایش این مثال، باید این مورد را روی دستگاه واقعی یا شبیه ساز اجرا کنید.

 

شرح مراحل 

۱ شما برای ایجاد یک برنامه اندروید تحت یک پکیج com.example.sairamkrishna.myapplication از Android studio استفاده خواهید کرد.
۲ برای افزودن کد فعالیت ، پرونده src / MainActivity.java را تغییر دهید.
۳ یک فعالیت جدید با نام second_main.java ایجاد کنید و آن را ویرایش کنید تا کد فعالیت اضافه شود.
۴ تغییر طرح فایل XML res / layout / activity_main.xml در صورت لزوم، هر جز GUI اضافه کنید.
۵ تغییر طرح بندی فایل XML res / layout / second.xml در صورت لزوم، هر جز GUI اضافه کنید.
۶ برای افزودن کد لازم ، AndroidManifest.xml را تغییر دهید.
۷ برنامه را اجرا کنید و دستگاه اندرویدی در حال اجرا را انتخاب کنید و برنامه را روی آن نصب کنید و نتایج را بررسی کنید.

 

در اینجا محتوای src / MainActivity.java است.

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 است.

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 است.

<?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 است.

<?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 وجود دارد.

<resources>
   <string name="app_name">My Application</string>
</resources>

در اینجا محتوای AndroidManifest.xml است.

<?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 StudioRun Icon کلیک کنید. Android Studio برنامه را روی AVD شما نصب کرده و شروع به کار می کند و اگر با تنظیمات و برنامه هایتان همه چیز خوب باشد، زیر پنجره شبیه ساز نمایش داده می شود.

اکنون فقط دکمه را فشار دهید و صفحه زیر به شما نشان داده می شود.

فعالیت دوم شامل نمایش وب است، همانطور که در زیر نشان داده شده است به tutorialspoint.com هدایت شده است

 

منبع.

لیست جلسات قبل آموزش برنامه نویسی اندروید

  1. نگاهی کلی به برنامه نویسی اندروید
  2. تنظیمات محیط  در برنامه نویسی اندروید
  3. معماری برنامه نویسی اندروید
  4. اجزای برنامه در برنامه نویسی اندروید
  5. Hello World در برنامه نویسی اندروید
  6. سازماندهی و دسترسی به منابع در برنامه نویسی اندروید
  7. فعالیت در برنامه نویسی اندروید
  8. سرویس در برنامه نویسی اندروید
  9. گیرنده های پخش در برنامه نویسی اندروید
  10. ارائه دهنده محتوا در برنامه نویسی اندروید
  11. قطعات در برنامه نویسی اندروید
  12. Intent و فیلتر در برنامه نویسی اندروید
  13. طرح بندی رابط کاربری در برنامه نویسی اندروید
  14. کنترل های رابط کاربری در برنامه نویسی اندروید
  15. مدیریت رویدادها در برنامه نویسی اندروید
  16. استایل و تم ها در برنامه نویسی اندروید
  17. اجزای سفارشی در برنامه نویسی اندروید
  18. کشیدن و رها کردن در برنامه نویسی اندروید
  19. نوتیفیکیشن ها در برنامه نویسی اندروید
  20. سرویس های مبتنی بر مکان در برنامه نویسی اندروید
  21. ارسال ایمیل در برنامه نویسی اندروید
  22. ارسال پیامک در برنامه نویسی اندروید
  23. تماس های تلفنی در برنامه نویسی اندروید
  24. انتشار برنامه اندروید
  25. آموزش Alert Dialog در برنامه نویسی اندروید
  26. انیمیشن در برنامه نویسی اندروید
  27. ضبط صدا در برنامه نویسی اندروید
  28. مدیریت صدا در برنامه نویسی اندروید
  29. آموزش Auto Complete در برنامه نویسی اندروید
  30. بهترین شیوه ها در برنامه نویسی اندروید
  31. بلوتوث در برنامه نویسی اندروید
  32. استفاده از دوربین در برنامه نویسی اندروید
  33. کلیپ بورد در برنامه نویسی اندروید
  34. فونت سفارشی در برنامه نویسی اندروید
  35. پشتیبان گیری از داده ها در برنامه نویسی اندروید
  36.  ابزارهای توسعه دهنده در برنامه نویسی اندروید
  37. آموزش شبیه ساز در برنامه نویسی اندروید
  38. اتصال به فیس بوک در برنامه نویسی اندروید
  39. حرکات لمسی در برنامه نویسی اندروید
  40. آموزش گوگل مپ در برنامه نویسی اندروید
  41. افکت های تصویر در برنامه نویسی اندروید
  42. Image Switcher در برنامه نویسی اندروید
  43. حافظه داخلی در برنامه نویسی اندروید
  44. آموزش کار با JetPlayer در برنامه نویسی اندروید
  45. JSON Parser در برنامه نویسی اندروید
  46. ارتباط با LinkedIn در برنامه نویسی اندروید
  47. نوار پیشرفت Spinner در برنامه نویسی اندروید
  48. بومی سازی در برنامه نویسی اندروید
  49. صفحه Login در برنامه نویسی اندروید
  50. MediaPlayer در برنامه نویسی اندروید
  51. Multitouch در برنامه نویسی اندروید

 

 

0
برچسب ها :
نویسنده مطلب erfan molaei

دیدگاه شما

بدون دیدگاه