آموزش برنامه نویسی اندروید
آموزش اندروید فصل دوم قسمت چهارم – Progress Dialog ها
خرداد ۹, ۱۳۹۵
آموزش برنامه نویسی اندروید
آموزش اندروید فصل دوم قسمت ششم – کار با اینتنت
خرداد ۱۲, ۱۳۹۵
آموزش برنامه نویسی اندروید

آموزش برنامه نویسی اندروید

در قسمت سیزدهم آموزش اندروید در ادامه مبحث مهم اکتیویتی ها در این بخش دررابطه با اتصال اکتیویتی ها با استفاده از اینتنت ها آموزش داده ایم و با مثالی مشخص نحوه کاربرد آن را مفصل شرح داده ایم.

آموزش کاربردی اندروید فصل دوم قسمت پنجم – اینتنت ها

توجه : برای مشاهده تصاویر در سایز اصلی بر روی آنها کلیک کنید.

اتصال اکتیویتی ها به یکدیگر با استفاده از اینتنت ها

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

مثال زیر به شما نشان میدهد که چگونه یک اکتیویتی دیگر به پروژه اضافه کرده و بین اکتیویتی ها حرکت میکنیم.

ابتدا طبق آموزش های قبل پروژه جدیدی به نام IntentsPrj ایجاد کرده  و یک اکتیویتی جدید با نام SecondActivity از مسیری که در تصویر زیر مشخص شده ایجاد میکنیم.

آموزش کاربردی اندروید-قسمت سیزدهم

حال همانطور که در آموزش های قبل مفصل توضیح داده شد باید هر اکتیویتی جدیدی که ایجاد میکنیم را درون فایل manifest برنامه معرفی کنیم به همین دلیل دستورات پررنگ شده زیر را به فایل AndroidManifest.xml اضافه میکنیم

<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=".SecondActivity"

            android:label="Second Activity"

            >

            <intent-filter>

                <action android:name="learn.SecondActivity" />

                <category android:name="android.intent.category.DEFAULT" />

            </intent-filter>

        </activity>

    </application>

حال در این مرحله باید با کلیک راست یک کپی از فایل activity_main.xml (در مسیر res/layout) ایجاد میکنیم و در مسیر برروی res/layout کلیک راست کرده گزینه past را کلیک میکنیم و نام آن را به نام secodactivity.xml تغییر میدهیم حال نتیجه ای مطابق شکل زیر خواهیم داشت

آموزش کاربردی اندروید-قسمت سیزدهم

حال میخواهیم درون فایل secondactivity.xml که در واقع نمای ظاهری SecondActiviy میباشد یک متن قرار دهیم درون فایل secondactivity.xml کدهای زیر را اضافه میکنیم

<TextView

        android:id="@+id/textView1"

        android:layout_width="wrap_content"

        android:layout_height="wrap_content"

        android:text="This is SecondActivity" />

حال در این مرحله باید activity_main.xml را تغییر داد چون برنامه بدین صورت است که از اکتیویتی main به اکتیویتی second برویم پس در activity_main.xml یک Button یا دکمه قرار میدهیم که با فشرده شدن به اکتیویتی دوم پرش کند. دستورات ایجاد Button نیز بدین صورت میباشد

<Button

        android:id="@+id/button1"

        android:layout_width="wrap_content"

        android:layout_height="wrap_content"

        android:text="Click to Display Second Activity"

        android:onClick="onClick" />

حال در فایل SecondActivity.java برای مشخص کردن layout چنین کدنویسی میکنیم

   import android.app.Activity;

import android.os.Bundle;

public class SecondActivity extends Activity {

        @Override

        public void onCreate(Bundle savedInstanceState){

                 super.onCreate(savedInstanceState);

                 setContentView(R.layout.secondactivity);

        }

}

حال در مرحله اخر باید  درون فایل MainActivity.java مشخص کنیم که با فشردن Button ایجاد شده به SecondActivity پرش کند پس در این فایل نیز کدهای پررنگ شده زیر را اضافه میکنیم

import android.os.Bundle;

import android.view.View;

import android.app.Activity;

import android.content.Intent;;

public class MainActivity extends Activity {

        @Override

        protected void onCreate(Bundle savedInstanceState) {

                 super.onCreate(savedInstanceState);

                 setContentView(R.layout.activity_main);

        }

     

      public void onClick(View v)

      {

              Intent intent=new Intent(MainActivity.this,SecondActivity.class);
 MainActivity.this.startActivity(intent);
      }

}

همانوگونه که مشاهده میکنید پارامترهایی که برای شی کلاس Intent تعریف کردیم شامل کلاس جاری که میخواهیم از آن به کلاس بعد برویم و پارامتر دوم کلاس دوم که مقصد ما است قرار میدهیم با صفت class.

عبارات فوق را میتوان بدین صورت نیز نوشت

startActivity(new Intent(“learn.SecondActivity”));

همانگونه که مشاهده هرگاه دکمه کلیک شود از متد ()startActivity برای نمایش دادن SecondActivity از طریق ایجاد یک شی از  کلاس Intent و ارسال نام فیلتر (SecondActivity (learn.SecondActivity به عنوان آرگومان استفاده میشود.

*توجه داشته باشید که کد startActivity() در دستورات فوق را میتوان به صورت زیر نیز نوشت

startActivity(new Intent(this, SecondActivity.class));

اما باید توجه داشت که تنها درصورتی میتوان از این گونه دستور استفاده کرد که اکتیویتی فراخوانی شده(مقصد) در پروژه جاری قرار داشته باشد.

حال میتوان برنامه را اجرا کرد و نتیجه را طبق شکل زیر مشاهده کرد.

آموزش کاربردی اندروید-قسمت سیزدهم

روش کار

همانگونه که میدانید یک اکتیویتی از یک بخش رابط کاربری (برای مثال main.xml) و بخش کلاس (مثلا MainActivity.java) تشکیل شده بنابراین هرگاه بخواهید یک اکتیویتی دیگر را ایجاد کنید باید ای دو بخش را نیز ایجاد کنید. در فایل manifest برنامه اکتیویتی جدید خود را چنین معرفی کردیم

<activity

            android:name=".SecondActivity"

            android:label="Second Activity"

            >

            <intent-filter>

                <action android:name="learn.SecondActivity" />

                <category android:name="android.intent.category.DEFAULT" />

            </intent-filter>

        </activity>

بخش های مختلف اکتیویتی فوق بدین شرح است

  • “android:name=”.SecondActivity :نام اکتیویتی ایجاد شده میباشد.
  • “android:label=”Second Activity : لیبل در نظر گرفته شده برای اکتیویتی میباشد.
  • “action android:name=”learn.SecondActivity : نام اینتنت برای اکتیویتی را مشخص میکند که دلخواه است اما سعی کنید از یک نام منحصر به فرد مثل دامنه خود استفاده کنید ت احتمال تداخل با نام اینتنت دیگر بوجود نیاید.اکتیویتی های دیگر که بخواهند از این اکتیوتی استفاده کنند از این نام استفاده میکنند.
  • “category android:name=”android.intent.category.DEFAULT : گروه دسته بندی این فیلتر اینتنت مشخص میکند هرگاه این را به اینتنتی اضافه کنید اکتیویتی میتوانید با استفاده از متد ()startActivity توسط اکتیویتی دیگر فراخوانی شود.

مدرس : خانم مهندس داودی نژاد

آموزش اندروید فصل دوم قسمت چهارم

آموزش اندروید فصل دوم قسمت ششم

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *