یک فنجان مشاوره
مهـمـان مــا باشیـد

شـمـــاره تــمــاس
031-36644146

Intent در اندروید چیست و چگونه پیاده سازی می شود؟

انتشار 01 خرداد 1397
دیدگاه ها 0
زمان تقریبی مطالعه
گردآوری پدیده تجارت

Intent چیست؟

Intent در لغت، به معنای قصد انجام کاری می باشد. در اندروید نیز از این تعریف دور نیست; به بیانی دیگر، ما با استفاده از Intent پیام ها و حتی دستوراتی را برای سیستم عامل اعلام میکنیم تا سیستم عامل بتواند بر روی آن ها پردازش کند. در بیان ساده تر، Intent واسطی است میان اجزا های مختلف یک پروژه درون یک اپلیکیشن و یا حتی چند اپلیکیشن.

کاربرد های فراوانی برای اینتنت وجود دارد که ساده ترین و در عین حال یکی از پراستفاده ترین آن ها، انتقال بین دو Activity می باشد. مثلا در نظر بگیرید که در یک Activity، سه Button به نام های Home,main page,Exit طراحی کردیم و می خواهیم هرکدام کار خاصی انجام دهند. بدیهی است که عملیات مربوط به هر Button در Activity های مجزا از هم قرار بگیرند. به منظور این کار سه اکتیوتی برای هر Button تعریف کرده و جهت انتقال به هرکدام، از اینتنت استفاده میکنیم.

Intent

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

 

انواع اینتنت ها

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

Implicit intent , Explicit intent.

 

Explicit intent:

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

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

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

اکنون به قسمت Xml پروژه رفته و همانطور که در پروژه های قبلی نیز به وضح دیده میشد، تنها یک TextView با مقدار Hello World می باشد. نوع لایه را Linear Layout انتخاب میکنیم.

حال باید یک Button به پروژه اضافه کنیم تا با کلیک بر روی آن به اکتیویتی مقصد منتقل شویم. حال باید اکتیویتی جدیدی را که قرار است به عنوان مقصد انتخاب شود، ایجاد کنیم. مانند دفعات قبل با قالب Empty Activity ایجاد میکنیم.

در این اکتیویتی جدید قصد داریم داده ها و اطلاعاتی از جانب ما برای کاربر منتقل شود. یعنی با کلیک دکمه در اکتیویتی اصلی اپلیکیشن، به آن دسترسی پیدا کند. ما نام این Activity را Info می گذاریم و وارد مرحله ی بعد می شویم.

برای قسمت Xml این اکتیویتی جدید، به جای Linear layout این بار از Relative Layout استفاده میکنیم. بنابراین 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:id="@+id/activity_Info"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context="ir.Padide_Tejarat.intent.Info">
</RelativeLayout>

و در قسمت Info.java کدهای زیر را مشاهده خواهید کرد:

package ir.Padide_Tejarat.intent;
 
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
 
public class Info extends AppCompatActivity {
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_Info);
    }
}

 

همانطور که در مقاله های قبلی نیز ذکر شد، هر Activity که به پروژه اضافه می شود، باید درون Manifest تعریف شود در غیر اینصورت از نظر سیستم عامل اندروید، این اکتیویتی اصلا وجود خارجی ندارد.! خوشبختانه در اندروید استودیو این عمل خودکار انجام می شود. Manifest پروژه ما قبل از ساخت اکتیویتی Info به اینصورت بود :

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="ir.Padide_Tejarat.intent">
 
    <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>

همانطور که مشاهده می کنیم، MainActivity درون تگ <activity> </activity> تعریف شده است. این نکته را در نظر داشته باشید که باید برای هر اکتیویتی که تعریف میکنیم، داخل تگ <activity> اضافه شود. پس اکتیویتی Info نیز باید در این تگ قرار بگیرد. بنابراین کد زیر را ملاحظه خواهید کرد:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="ir.Padide_Tejarat.intent">
 
    <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>
        <activity android:name=".Info"></activity>
    </application>
 
</manifest>

اکنون در Main_Activity ادامه راه را باهم بررسی میکنیم.

یک Button به نام “اندروید” ایجاد میکنیم و به پروژه اضافه میکنیم و مشخصات کلی آن از قبیل Id،Width,Height را نیز بر روی آن اعمال میکنیم.

اکنون قسمت Xml بصورت زیر خواهد بود:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/activity_main"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context="ir.Padide_Tejarat.intent.MainActivity"
    android:orientation="vertical">

    <Button
        android:text="اندروید"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/btn_about"
        android:layout_marginTop="30pt"
        android:textSize="18sp"/>
</LinearLayout>

در مرحله ی  بعد، باید برای Button از intent برای جابه جایی استفاده کنیم. یعنی کاربر پس کلیک روی دکمه “ اندروید” باید به اکتیویتی About منتقل شود. برای این کار نیاز به رویداد onClick داریم. یک راه دیگری هم برای استفاده از رویداد onClick وجود دارد که هم ساده تر بوده و هم باعث نوشتن کدهای کمتری خواهد شد. این روش فراخوانی متد onClick در مواقع بسیاری از جمله اینتنت ها می تواند مورد استفاده قرار گیرد. در ابتدا باید ویژگی onClick را درون خصوصیات Button اضافه کنیم. این کار از بخش کد Layout و همینطور در قسمت Properties فیلد onClick، قابل انجام است. ما این ویژگی را با نام “GoToInfo” به Button اضافه میکنیم:

<Button
    android:text="اندروید"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:id="@+id/InfoBtn"
    android:layout_marginTop="30pt"
    android:textSize="20sp"
    android:onClick="GoToInfo" />

کار ما با Main_Activity و Layout آن تمام شده و اکنون باید به کلاس جاوای آن رفته و مقصد نهایی اینتنت را برای آن اعمال کنیم

جهت انجام این کار،کدهای زیر را در کلاس جاوای خود اعمال کنید:

package ir.Padide_Tejarat.intent;
 
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
 
public class MainActivity extends AppCompatActivity {
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }
     
    public void GoToInfo(View v) {
         
    }
}

حال از کلاس intent یک شی جدید ایجاد می کنیم. مانند زیر:

public void GoToInfo(View v) {
    Intent Info_activity = new Intent(this, Info.class);
    startActivity(Info_activity);
}

اکنون پروژه ما به اتمام رسید. بنابراین هرزمان که بر روی “اندروید” کلیک میکنیم، به کلاس Info.java منتقل می شویم.

امیدوارم از خواندن این آموزش لذت برده باشید. جهت پرسش سوالات در مورد این مقاله، خوشحال می شویم با پاسخ به آن ها، به پیشرفت شما در این زمینه کمک ناچیزی کرده باشیم ^.^

آیا علاقه مند به یادگیری مباحث اندروید استودیو به صورت حرفه ای و کاربردی هستید؟ آیا برای کسب و کار آنلاین خود نیازمند اپلیکشن برای آن هستید؟

شرکت پدیده تجارت با یک دهه تجربه در زمینه تجارت الکترونیک و انواع شاخه های آن از جمله یادگیری و طراحی اپلیکیشن های اندروید، عضو اتحادیه و همچنین با کوله باری از تجربه و دانش، با افتخار برای آموزش و همچنین پذیرش سفارشات شما استقبال خواهد کرد.

جهت مشاهده ی نمونه کارهای اندروید شرکت پدیده به قسمت نمونه کارهای اندروید و همچنین برای اطلاع از زمان و امکانات دوره های آموزشی اندروید، به قسمت دوره های آموزش اندروید شرکت پدیده تجارت مراجعه فرمایید.

 

*آینده از آن کسب و کارهای آنلاین است*

تولید شده در بخش تولید محتوای پدیده تجارت

 

 

 

 

مقالات مرتبط

شاید علاقمند به دیدن این مقالات نیز باشید
(آرشیو کامل)

بازاریابی مجدد، ریمارکتینگ( Remarketing ) چیست؟ بازاریابی مجدد، ریمارکتینگ( Remarketing ) چیست؟ مقالات برندینگ

پدیده تجارت

14 فروردین 1401

نکاتی برای محبوب شدن در شبکه های اجتماعی نکاتی برای محبوب شدن در شبکه های اجتماعی مقالات برندینگ

پدیده تجارت

17 مرداد 1396

چرا باید برنامه نویسی IOS را یاد بگیریم؟ چرا باید برنامه نویسی IOS را یاد بگیریم؟ مقالات طراحی وب سایت

پدیده تجارت

29 آبان 1396

طراحی سایت پزشکی در اصفهان طراحی سایت پزشکی در اصفهان مقالات تجارت الکترونیک

پدیده تجارت

11 آذر 1398

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

پدیده تجارت

14 مهر 1398

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

پدیده تجارت

02 اردیبهشت 1399

چگونه یک بازی اندروید بسازیم؟ چگونه یک بازی اندروید بسازیم؟ مقالات موبایل

پدیده تجارت

13 مهر 1398

معرفی RatingBar و پیاده سازی آن در اندروید استودیو معرفی RatingBar و پیاده سازی آن در اندروید استودیو مقالات موبایل

پدیده تجارت

28 خرداد 1397

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

پدیده تجارت

08 آبان 1397

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

پدیده تجارت

24 اسفند 1400

نکات اساسی در طراحی اپلیکیشن موبایل نکات اساسی در طراحی اپلیکیشن موبایل مقالات موبایل

پدیده تجارت

30 شهریور 1396

دیدگاه کاربران

0

0 0 رای ها
امتیازدهی به مقاله
guest
0 نظرات
بازخورد (Feedback) های اینلاین
مشاهده همه دیدگاه ها