فعالیت در برنامه نویسی اندروید
فعالیت در برنامه نویسی اندروید
در این درس از مجموعه آموزش برنامه نویسی سایت سورس باران، با فعایت در برنامه نویسی اندروید (Android Activities) بیشتر آشنا خواهید شد.
یک فعالیت نمایانگر یک صفحه با یک رابط کاربری است دقیقاً مانند ویندوز یا فریم جاوا. فعایت در برنامه نویسی اندروید زیر کلاسی از کلاس ContextThemeWrapper است.
اگر با زبان برنامه نویسی C ، C ++ یا Java کار کرده اید، حتماً دیده اید که برنامه از تابع ()main شروع می شود. روشی کاملاً مشابه، سیستم اندروید برنامه خود را با فعالیتی شروع می کند که با فراخوانی متد onCreate() callback شروع می شود. دنباله ای از روش های کال بک وجود دارد که یک فعالیت را راه اندازی می کند و دنباله ای از روش های کال بک که فعالیتی را از بین می برد همانطور که در نمودار چرخه حیات فعالیت زیر نشان داده شده است:
کلاس Activity کال بک های زیر را به عنوان مثال رویدادها تعریف می کند. نیازی به پیاده سازی همه روش های کال بک نیست. با این حال، مهم این است که شما هر یک را بفهمید و مواردی را که برنامه شما را مطابق انتظار کاربران عمل می کند، پیاده سازی کنید.
کال بک و توضیحات | |
---|---|
1 |
()onCreate این اولین کال بک است و هنگام ایجاد فعالیت برای اولین بار فراخوانی می شود. |
2 |
()onStart این کال بک زمانی فراخوانی می شود که فعالیت برای کاربر قابل مشاهده شود. |
3 |
()onResume این وقتی کاربر شروع به تعامل با برنامه می کند. |
4 |
()onPause فعالیت مکث ورودی کاربر را دریافت نمی کند و نمی تواند هیچ کدی را اجرا کند و هنگامی که فعالیت فعلی در حالت مکث است و فعالیت قبلی از سر گرفته و فراخوانی می شود. |
5 |
()onStop این کال بک زمانی فراخوانی می شود که فعالیت دیگری قابل مشاهده نباشد. |
6 |
()onDestroy این کال بک قبل از اینکه فعالیت توسط سیستم از بین برود فراخوانی می شود. |
7 |
()onRestart این کال بک با زمانی فراخوانی می شود که فعالیت پس از توقف مجدداً شروع شود. |
مثال
این مثال برای نشان دادن چرخه فعالیت فعالیت برنامه اندروید، مراحل ساده ای را به شما ارائه می دهد. مراحل زیر را دنبال کنید.
مرحله | توضیحات |
---|---|
1 | شما از Android studio برای ایجاد یک برنامه اندروید استفاده خواهید کرد و آن را به عنوان HelloWorld تحت یک بسته com.example.helloworld همانطور که در بخش HelloWorld مثال توضیح داده شده است، نامگذاری کنید. |
2 | همانطور که در زیر توضیح داده شده ، فایل اصلی فعالیت MainActivity.java را تغییر دهید. بقیه پرونده ها را بدون تغییر نگه دارید. |
3 | برای راه اندازی شبیه ساز اندروید و تأیید نتیجه تغییرات انجام شده در برنامه، برنامه را اجرا کنید. |
در زیر محتوای فایل فعالیت اصلی تغییر یافته src / com.example.helloworld / MainActivity.java است. این فایل شامل هر یک از روشهای اساسی چرخه حیات است. از روش () Log.d برای تولید پیام های ورود به سیستم استفاده شده است.
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 50 51 52 |
package com.example.helloworld; import android.os.Bundle; import android.app.Activity; import android.util.Log; public class MainActivity extends Activity { String msg = "Android : "; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Log.d(msg, "The onCreate() event"); } /** Called when the activity is about to become visible. */ @Override protected void onStart() { super.onStart(); Log.d(msg, "The onStart() event"); } /** Called when the activity has become visible. */ @Override protected void onResume() { super.onResume(); Log.d(msg, "The onResume() event"); } /** Called when another activity is taking focus. */ @Override protected void onPause() { super.onPause(); Log.d(msg, "The onPause() event"); } /** Called when the activity is no longer visible. */ @Override protected void onStop() { super.onStop(); Log.d(msg, "The onStop() event"); } /** Called just before the activity is destroyed. */ @Override public void onDestroy() { super.onDestroy(); Log.d(msg, "The onDestroy() event"); } } |
یک کلاس activity با استفاده از فایل XML موجود در پوشه res / layout پروژه ، تمام مولفه UI را بارگیری می کند. عبارت زیر اجزای UI را از پرونده res / layout / activity_main.xml بارگیری می کند:
1 |
setContentView(R.layout.activity_main); |
یک برنامه کاربردی می تواند یک یا چند activity بدون هیچ محدودیتی داشته باشد. هر فعالیتی که برای برنامه خود تعریف می کنید باید در پرونده AndroidManifest.xml شما اعلان شود و فعالیت اصلی برنامه شما باید در مانیفست با <intent-filter> که شامل MAIN action و LAUNCHER است به شرح زیر اعلان شود:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.tutorialspoint7.myapplication"> <application android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:supportsRtl="true" android:theme="@style/AppTheme"> <activity android:name=".MainActivity"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> </manifest> |
اگر یکی از فعالیت های اصلی یا LAUNCHER برای یکی از فعالیتهای شما اعلام نشده باشد، نماد برنامه شما در لیست برنامه های صفحه اصلی ظاهر نمی شود.
بیایید سعی کنیم Hello World اصلاح شده خود را اجرا کنیم! برنامه ما فقط اصلاح شده است. من تصور می کنم شما AVD خود را هنگام راه اندازی محیط ایجاد کرده اید. برای اجرای برنامه از Android studio ، یکی از پرونده های فعالیت پروژه خود را باز کرده و از نوار ابزار روی نماد Run Icon کلیک کنید. Android studio برنامه را روی AVD شما نصب کرده و شروع به کار می کند و اگر با تنظیم و برنامه همه چیز خوب پیش برود، پنجره شبیه ساز نمایش داده می شود و باید پیام های ورود به سیستم زیر را در پنجره LogCat در Android studio مشاهده کنید –
1 2 3 |
08-23 10:32:07.682 4480-4480/com.example.helloworld D/Android :: The onCreate() event 08-23 10:32:07.683 4480-4480/com.example.helloworld D/Android :: The onStart() event 08-23 10:32:07.685 4480-4480/com.example.helloworld D/Android :: The onResume() event |
1 |
<img class="aligncenter wp-image-811 size-full" src="https://www.sourcebaran.com/learn/wp-content/uploads/2020/11/android_logcat_window.png" alt="فعالیت در برنامه نویسی اندروید" width="600" height="67" /> |
بیایید سعی کنیم دکمه قفل صفحه را روی شبیه ساز اندروید کلیک کنیم و پیام های زیر را در پنجره LogCat در android studio ایجاد می کند:
1 2 |
08-23 10:32:53.230 4480-4480/com.example.helloworld D/Android :: The onPause() event 08-23 10:32:53.294 4480-4480/com.example.helloworld D/Android :: The onStop() event |
بیایید سعی کنیم دکمه قفل صفحه را روی شبیه ساز اندروید کلیک کنیم و پیام های زیر را در پنجره LogCat در android studio ایجاد می کند:
1 2 |
08-23 10:34:41.390 4480-4480/com.example.helloworld D/Android :: The onStart() event 08-23 10:34:41.392 4480-4480/com.example.helloworld D/Android :: The onResume() event |
در مرحله بعدی، سعی کنیم دکمه بازگشت را روی شبیه ساز اندروید کلیک کنیم و پیام های رویداد زیر را در پنجره LogCat در Android studio ایجاد می کند و این چرخه حیات فعالیت را برای یک برنامه اندروید را تکمیل می کند.
1 2 3 |
08-23 10:37:24.806 4480-4480/com.example.helloworld D/Android :: The onPause() event 08-23 10:37:25.668 4480-4480/com.example.helloworld D/Android :: The onStop() event 08-23 10:37:25.669 4480-4480/com.example.helloworld D/Android :: The onDestroy() event |
لیست جلسات قبل آموزش برنامه نویسی اندروید
- نگاهی کلی به برنامه نویسی اندروید
- تنظیمات محیط در برنامه نویسی اندروید
- معماری برنامه نویسی اندروید
- اجزای برنامه در برنامه نویسی اندروید
- Hello World در برنامه نویسی اندروید
- سازماندهی و دسترسی به منابع در برنامه نویسی اندروید
دیدگاه شما