اندروید

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

folderمبانی اولیه
comments2 دیدگاه
اساطیر زبان

Activity یک صفحه نمایش منفرد با رابط کاربری مانند window یا frame جاواست. Activity اندروید زیر کلاسی از کلاس ContextThemeWrapper است.

اگر با زبان برنامه نویسی C ، C++ یا Java کار کرده اید ، میدانید که برنامه از تابع main() شروع می شود. با استفاده از متد بازگشتی onCreate()، سیستم اندرویدی برنامه خود را با یک Activity شروع می کند. دنباله ای از متد های callback وجود دارد که یک Activity را شروع می کنند و دنباله ای از متد های callback یک Activity را تجزیه می کنند ، همانطور که در نمودار زیر چرخه Activity نشان داده شده است:

 


اندروید استدیو

توی این پک فوق العاده، اندروید استدیو رو جوری یاد میگیری که تو هیچ کلاس آموزشی یا پک دیگه ای نه دیدی نه شنیدی! بدون هیچ کلاسی، با اندروید استدیو اپلیکیشن بزن، پروژه محور یاد بگیر و حسابی پول در بیار! 


 

C:\Users\Mr\Desktop\activity.jpg

کلاس Activity ، فراخوانی های زیر را مانند رویداد تعریف می کند. نیازی به اجرای همه متد های callback نیست. با این حال مهم است که هرکدام را درک کرده و مواردی را اجرا کنید که اطمینان حاصل کنید برنامه شما همانطور که کاربران انتظار دارند، رفتار کند.

شماره توضیح
۱ ()onCreate

اولین متد callback است و هنگامی که Activity برای اولین بار ایجاد می شود ، فراخوانی می شود.

۲ ()onStart

هنگامی که Activity برای کاربر قابل مشاهده است ، این متد فراخوانی می شود.

۳ ()onResume

هنگامی که کاربر تعامل با برنامه را شروع کند ، این متد فراخوانی می شود.

۴ ()onPause

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

۵ ()onStop

هنگامی که Activity دیگر قابل مشاهده نیست ، این متد فراخوانی می شود.

۶ ()onDestroy

این متد قبل از از بین رفتن Activity توسط سیستم، فراخوانی می شود.

۷ ()onRestart

هنگامی که Activity پس از متوقف شدن شروع شود ، این متد فراخوانی می شود.

مثال

این مثال شما را با قدم های ساده برای نشان دادن چرخه عمر Activity برنامه های کاربردی اندروید آشنا می کند. برای تغییر برنامه اندروید که در بخش مثال Hello World ایجاد کردیم ، مراحل زیر را دنبال کنید –

مرحله توضیحات
۱ می توانید از Android studio برای ایجاد برنامه اندروید استفاده کنید و آن را Hello.orld تحت پکیج com.example.helloworld همانطور که در بخش مثال Hello World توضیح داده شده است ، نامگذاری کنید.
۲ فایل اصلی MainActivity.java را مطابق شکل زیر اصلاح کنید. بقیه فایل ها را بدون تغییر نگه دارید.
۳ برنامه را اجرا کنید تا شبیه ساز اندروید راه اندازی شود و نتیجه تغییرات انجام شده در برنامه را تأیید کند.

در زیر محتوای تغییر یافته فایل src / com.example.helloworld / MainActivity.java را می بینید. این فایل شامل هر یک از متد های اساسی چرخه Activity است. از متد Log.d() برای تولید پیام های log استفاده شده است –

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 / activ_main.xml بارگذاری می کند:

setContentView(R.layout.activity_main);

یک برنامه می تواند بدون هیچ محدودیتی یک یا چند Activity داشته باشد. هر Activity که برای برنامه تعریف کرده اید باید در فایل AndroidManifest.xml اعلام شود و همچنین activity اصلی برنامه باید در manifest با <intent-filter> اعلام شود که شامل عملکرد MAIN و دسته LAUNCHER به شرح زیر است:

<?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>

اگر یکی از عملکرد MAIN یا دسته LAUNCHER برای یکی از activity های شما اعلام نشده باشد ، نماد برنامه شما در لیست برنامه های صفحه اصلی ظاهر نمی شود.

برنامه Hello World ویرایش شده را اجرا کنید. فرض می کنیم هنگام انجام تنظیمات محیطی ، AVD را ایجاد کرده اید. برای اجرای برنامه از studio Android ، یکی از فایل های Activity پروژه خود را باز کرده و از نوار ابزار ، روی گزینه Run Eclipse Run Icon کلیک کنید. studio Android برنامه را در AVD شما نصب کرده و آن را راه اندازی می کند و اگر همه چیز درست باشد ، پنجره Emulator را نشان می دهد و باید پیام های وارد شده زیر را در پنجره LogCat در studio Android مشاهده کنید –

۰۸-۲۳ ۱۰:۳۲:۰۷٫۶۸۲ ۴۴۸۰-۴۴۸۰/com.example.helloworld D/Android :: The onCreate() event

۰۸-۲۳ ۱۰:۳۲:۰۷٫۶۸۳ ۴۴۸۰-۴۴۸۰/com.example.helloworld D/Android :: The onStart() event

۰۸-۲۳ ۱۰:۳۲:۰۷٫۶۸۵ ۴۴۸۰-۴۴۸۰/com.example.helloworld D/Android :: The onResume() event

C:\Users\Mr\Desktop\android_logcat_window.jpg

اگر روی دکمه قفل صفحه روی شبیه ساز اندروید کلیک کنید، پیام های زیر را در پنجره LogCat در Android studio مشاهده می کنید:

۰۸-۲۳ ۱۰:۳۲:۵۳٫۲۳۰ ۴۴۸۰-۴۴۸۰/com.example.helloworld D/Android :: The onPause() event

۰۸-۲۳ ۱۰:۳۲:۵۳٫۲۹۴ ۴۴۸۰-۴۴۸۰/com.example.helloworld D/Android :: The onStop() event

صفحه نمایش را در شبیه ساز اندروید باز کنید و پیام های مربوط به رویدادهای زیر را در پنجره LogCat در studio Android مشاهده کنید:

۰۸-۲۳ ۱۰:۳۴:۴۱٫۳۹۰ ۴۴۸۰-۴۴۸۰/com.example.helloworld D/Android :: The onStart() event

۰۸-۲۳ ۱۰:۳۴:۴۱٫۳۹۲ ۴۴۸۰-۴۴۸۰/com.example.helloworld D/Android :: The onResume() event

در مرحله بعد ، دوباره روی دکمه بازگشت اندروید در شبیه ساز اندروید کلیک کنید و پیام های مربوط به رویدادهای زیر را در پنجره LogCat در Android studio مشاهده کنید و این چرخه زندگی Activity را برای یک برنامه اندروید کامل می کند.

۰۸-۲۳ ۱۰:۳۷:۲۴٫۸۰۶ ۴۴۸۰-۴۴۸۰/com.example.helloworld D/Android :: The onPause() event

۰۸-۲۳ ۱۰:۳۷:۲۵٫۶۶۸ ۴۴۸۰-۴۴۸۰/com.example.helloworld D/Android :: The onStop() event

۰۸-۲۳ ۱۰:۳۷:۲۵٫۶۶۹ ۴۴۸۰-۴۴۸۰/com.example.helloworld D/Android :: The onDestroy() event

تفاوت پک های حرفه ای ما با آموزشهای رایگان: بطور خلاصه از زمین تا آسمان! 1-پکها، جدیدترین نسخه نرم افزارها را آموزش می دهند با قابلیت های بسیار بیشتر. 2-پکها توسط متخصص آن نرم افزار، به صورت کاملا پروژه محور و با حل چالش هایی که در مسیر کار عملی و حرفه ای با آن روبرو می شوید تهیه شده اند و بعد از استفاده، کاملا برای بازار کار آماده اید! 3- متد این پکها کاملا کار شده و تا ماهها، در ذهن تان ماندگارند و یادگیری بسیار سریعتر و کاملتری خواهید داشت. آموزشهای رایگان فقط دستورات نرم افزارها را (آنهم ناقص) بیان می کنند و تازه برای ورود به بازار باید ماهها تجربه عملی هم کسب کنید !!

turned_in

چرب زبان

با این اپلیکیشن ساده، هر زبانی رو فقط با 5 دقیقه در روز، توی 80 روز مثل بلبل حرف بزن! بهترین متد روز، تقویت حافظه، آموزش تصویری. یادگیری زبان کلید یادگیری هر مهارتی در قرن 21 !


حتما بخوانید!

2 دیدگاه. ارسال دیدگاه جدید

  • فرزام فهیمی
    دی 20, 1402 7:54 ق.ظ

    سلام و درود ،
    اجر شما نزد خداوند جزیل
    (از پینهای دستم باید بدونی ؛ یا از نگاه مستم باید بخونی ؛

    پاسخ
  • فرزام فهیمی
    دی 20, 1402 9:09 ق.ظ

    جناب میلاد حیدری مهندس عزیز خسته نباشید !
    یک سوال خدمت شما دارم ،
    به نظر شما ادولف هیتلر عمدا ! یا سهوا ! از به کار گرفتن دانش هسته ای امتناع کرد ?

    پاسخ

دیدگاهتان را بنویسید

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

این فیلد را پر کنید
این فیلد را پر کنید
لطفاً یک نشانی ایمیل معتبر بنویسید.

فهرست