اینتنت یا Intent در برنامه نویسی اندروید چیست؟ همراه با مثال

intent چیست؟ کاربرد انواع اینتنت ها در برنامه نویسی اندروید - آموزش اندروید نویسی الکامکو

intent در اندروید چیست؟ اینتنت ها در برنامه نویسی اندروید چه کاربردی دارند؟ لیست intent های اندروید کدام ها هستند؟ در این مطلب از وبلاگ سایت اموزش برنامه نویسی می خواهیم به این سوالات پاسخ دهیم. پس تا آخر بخوانید تا با جواب آنها آشنا شوید.

اینتنت (Intent) چیست؟ 

واژه اینتنت (Intent) یعنی انجام کار. به اینصورت که بمنظور ساخت برنامه اندروید به واسطه intent به سیستم عامل اندروید اعلام می کنیم قصد انجام چه کاری را داریم و سیستم عامل چه کاری باید برای ما انجام دهد. به طور کلی اینتنت واسطی است مابین کامپوننت های مختلف (شامل Activity ها، Service ها، Broadcast Receiver ها و…) درون یک اپلیکیشن و یا مابین چند اپلیکیشن. کاربرد های متعددی برای اینتنت وجود دارد که شاید ساده ترین آن را بتوان انتقال بین دو Activity درون یک اپلیکیشن دانست.

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

همچنین بخوانید: فرگمنت چیست و در برنامه نویسی اندروید چه کاربردی دارد؟

وظیفه اینتنت ها در اندروید چیست؟

در واقع وظیفه اینتنت در برنامه نویسی اندروید این است که در برخی جاها، به اندروید می‌گوید چه چیزی می‌خواهد و اگر سیستم عامل اندروید (با توجه به برنامه‌های سیستمی خود و نرم‌افزارهای نصب شده) آن چیز خواسته شده در توانش باشد، به او کمک خواهد کرد؛ همان طور که از معنی ظاهریش پیداست.

کاربرد اینتنت ها در برنامه نویسی اندروید

اینتنت های اندروید معمولا برای اهداف زیر در مراحل ساخت اپلیکیشن اندروید استفاده می شوند: 

  • شروع یک سرویس
  • لانچ کردن یک اکتیویتی
  • نمایش یک صفحه وب
  • نمایش لیستی از محتواها
  • انتشار پیام عمومی
  • شماره گیری تماس تلفنی و غیره
  • و…

همچنین بخوانید » دوره asp .net core مهارت محور با ساخت پروژه های حرفه ای از پایه تا فوق پیشرفته

 انواع intent در اندروید

دو نوع intent در اندروید وجود دارد:

  1. ضمنی (Implicit)
  2. صریح (Explicit)

۱- Implicit Intent

اینتنت ضمنی یا Implicit Intent زمانی است که شما تمایل خود برای کار خاصی را به سیستم عامل اعلام می‌کنید. برای مثال «من را به یک اکتیویتی ببر که بتوانم یک متن را به اشتراک بگذاریم!» در اینجا تمایل اشتراک گذاری اعلام شده اما نام اکتیویتی خاصی معین نشده است.

سیستم عامل در هنگام اجرای اینتنت‌های ضمنی بر اساس نوع تمایل (مثلا در جمله بالا، اشتراک گذاری متن) تمام اپلیکیشن‌های دارای اکتیویتی مناسب برای برآورده کردن آن تمایل را به کاربر نشان می‌دهد.

Implicit Intent کامپاننت را مشخص نمی کند. در چنین حالتی، intent اطلاعات اجزای موجود ارائه شده توسط سیستمی را که قرار است فراخوانی شود، ارائه می دهد.

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

Intent intent=new Intent(Intent.ACTION_VIEW);
intent.setData(Uri.parse(“http://www.javatpoint.com”));
startActivity(intent);

همچنین بخوانید: روش های کسب درآمد برنامه نویسی اندروید

۲- Explicit Intent

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

Explicit Intent کامپوننت را مشخص می کند. در چنین حالتی، intent کلاس خارجی را برای فراخوانی فراهم می کند.

Intent i = new Intent(getApplicationContext(), ActivityTwo.class);
startActivity(i);

همچنین بخوانید: دانلود فیلم های آموزش برنامه نویسی اندروید

مثالی از Android Implicit Intent

File: activity_main.xml

<?xml version=“۱.۰” encoding=“utf-8”?>  

<android.support.constraint.ConstraintLayout xmlns:android=“http://schemas.android.com/apk/res/android”  

    xmlns:app=“http://schemas.android.com/apk/res-auto”  

    xmlns:tools=“http://schemas.android.com/tools”  

    android:layout_width=“match_parent”  

    android:layout_height=“match_parent”  

    tools:context=“example.javatpoint.com.implicitintent.MainActivity”>  

  

    <EditText  

        android:id=“@+id/editText”  

        android:layout_width=“wrap_content”  

        android:layout_height=“wrap_content”  

        android:layout_marginEnd=“8dp”  

        android:layout_marginStart=“8dp”  

        android:layout_marginTop=“60dp”  

        android:ems=“۱۰”  

        app:layout_constraintEnd_toEndOf=“parent”  

        app:layout_constraintHorizontal_bias=“۰.۵۷۵”  

        app:layout_constraintStart_toStartOf=“parent”  

        app:layout_constraintTop_toTopOf=“parent” />  

  

    <Button  

        android:id=“@+id/button”  

        android:layout_width=“wrap_content”  

        android:layout_height=“wrap_content”  

        android:layout_marginRight=“8dp”  

        android:layout_marginLeft=“156dp”  

        android:layout_marginTop=“172dp”  

        android:text=“Visit”  

        app:layout_constraintEnd_toEndOf=“parent”  

        app:layout_constraintHorizontal_bias=“۰.۰”  

        app:layout_constraintStart_toStartOf=“parent”  

        app:layout_constraintTop_toBottomOf=“@+id/editText” />  

</android.support.constraint.ConstraintLayout>  

File: MainActivity.java

package example.javatpoint.com.implicitintent;

import android.content.Intent;

import android.net.Uri;

import android.support.v7.app.AppCompatActivity;

import android.os.Bundle;

import android.view.View;

import android.widget.Button;

import android.widget.EditText;

public class MainActivity extends AppCompatActivity {

    Button button;

    EditText editText;

    @Override

    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_main);

        button = findViewById(R.id.button);

        editText =  findViewById(R.id.editText);

        button.setOnClickListener(new View.OnClickListener() {

            @Override

            public void onClick(View view) {

                String url=editText.getText().toString();

                Intent intent=new Intent(Intent.ACTION_VIEW, Uri.parse(url));

                startActivity(intent);

            }

        });

    }

}

خروجی :

 

 

 

 

 

 

 

 

 

مثالی از Android Explicit Intent

این مثال یک اکتیویتی را از دیگری و بالعکس فراخوانی می کند.

File: activity_main.xml

<?xml version=“۱.۰” encoding=“utf-8”?>

<android.support.constraint.ConstraintLayout xmlns:android=“http://schemas.android.com/apk/res/android”

    xmlns:app=“http://schemas.android.com/apk/res-auto”

    xmlns:tools=“http://schemas.android.com/tools”

    android:layout_width=“match_parent”

    android:layout_height=“match_parent”

    tools:context=“example.javatpoint.com.explicitintent.FirstActivity”>

    <TextView

        android:layout_width=“wrap_content”

        android:layout_height=“wrap_content”

        android:layout_marginEnd=“8dp”

        android:layout_marginStart=“8dp”

        android:layout_marginTop=“8dp”

        android:text=“First Activity”

        app:layout_constraintBottom_toBottomOf=“parent”

        app:layout_constraintEnd_toEndOf=“parent”

        app:layout_constraintHorizontal_bias=“۰.۴۵۴”

        app:layout_constraintLeft_toLeftOf=“parent”

        app:layout_constraintRight_toRightOf=“parent”

        app:layout_constraintStart_toStartOf=“parent”

        app:layout_constraintTop_toTopOf=“parent”

        app:layout_constraintVertical_bias=“۰.۰۶” />

    <Button

        android:id=“@+id/button”

        android:layout_width=“wrap_content”

        android:layout_height=“wrap_content”

        android:layout_marginEnd=“8dp”

        android:layout_marginStart=“8dp”

        android:layout_marginTop=“392dp”

        android:onClick=“callSecondActivity”

        android:text=“Call second activity”

        app:layout_constraintEnd_toEndOf=“parent”

        app:layout_constraintStart_toStartOf=“parent”

        app:layout_constraintTop_toTopOf=“parent” />

</android.support.constraint.ConstraintLayout>

File: MainActivityOne.java

package example.javatpoint.com.explicitintent;

import android.content.Intent;

import android.support.v7.app.AppCompatActivity;

import android.os.Bundle;

import android.view.View;

  public class FirstActivity extends AppCompatActivity {

      @Override

    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_first);

    }

    public void callSecondActivity(View view){

        Intent i = new Intent(getApplicationContext(), SecondActivity.class);

        i.putExtra(“Value1”“Android By Javatpoint”);

        i.putExtra(“Value2”“Simple Tutorial”);

        // Set the request code to any code you like, you can identify the

        // callback via this code

        startActivity(i);

    }

  }

File: activitytwo_main.xml

<?xml version=“۱.۰” encoding=“utf-8”?>

<android.support.constraint.ConstraintLayout xmlns:android=“http://schemas.android.com/apk/res/android”

    xmlns:app=“http://schemas.android.com/apk/res-auto”

    xmlns:tools=“http://schemas.android.com/tools”

    android:layout_width=“match_parent”

    android:layout_height=“match_parent”

    tools:context=“example.javatpoint.com.explicitintent.SecondActivity”>

    <TextView

        android:layout_width=“wrap_content”

        android:layout_height=“wrap_content”

        android:layout_marginEnd=“8dp”

        android:layout_marginStart=“8dp”

        android:layout_marginTop=“8dp”

        android:text=“Second Activity”

        app:layout_constraintBottom_toBottomOf=“parent”

        app:layout_constraintEnd_toEndOf=“parent”

        app:layout_constraintHorizontal_bias=“۰.۴۵۴”

        app:layout_constraintLeft_toLeftOf=“parent”

        app:layout_constraintRight_toRightOf=“parent”

        app:layout_constraintStart_toStartOf=“parent”

        app:layout_constraintTop_toTopOf=“parent”

        app:layout_constraintVertical_bias=“۰.۰۶” />

    <Button

        android:id=“@+id/button”

        android:layout_width=“wrap_content”

        android:layout_height=“wrap_content”

        android:layout_marginEnd=“8dp”

        android:layout_marginStart=“8dp”

        android:layout_marginTop=“392dp”

        android:onClick=“callFirstActivity”

        android:text=“Call first activity”

        app:layout_constraintEnd_toEndOf=“parent”

        app:layout_constraintStart_toStartOf=“parent”

        app:layout_constraintTop_toTopOf=“parent” />

</android.support.constraint.ConstraintLayout>

File: MainActivityTwo.java

package example.javatpoint.com.explicitintent;

import android.content.Intent;

import android.support.v7.app.AppCompatActivity;

import android.os.Bundle;

import android.view.View;

import android.widget.Toast;

public class SecondActivity extends AppCompatActivity {

    @Override

    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_second);

        Bundle extras = getIntent().getExtras();

        String value1 = extras.getString(“Value1”);

        String value2 = extras.getString(“Value2”);

        Toast.makeText(getApplicationContext(),“Values are:\n First value: “+value1+

                “\n Second Value: “+value2, Toast.LENGTH_LONG).show();

    }

    public void callFirstActivity(View view){

        Intent i = new Intent(getApplicationContext(), FirstActivity.class);

        startActivity(i);

    }

}

خروجی :

 

 

 

 

 

 

 

 

در صورتیکه می خواهید برنامه نویسی اندروید را اصولی و پروژه محور یاد بگیرید دوره زیر را به شما پیشنهاد می کنیم:

با مشاهده این آموزش، می توانید به عنوان یک برنامه نویس اندروید با توجه به هدفی که در نظر دارد، اپلیکیشنی با حوزه کاربردهای مختلف را با استفاده از پروژه نمونه ایجاد کنید.

دوره پیشنهادی برای یادگیری برنامه نویسی اندروید:
دوره متخصص اندروید شامل دوره های کاربردی برای ورود به بازار کار اندروید

این پکیج، برنامه نویسی اندروید شامل همه اموزشهای لازم از نصب اندروید استودیو گرفته تا آموزش کار با Android Studio با جاوا و کاتلین و ساخت پروژه های حرفه ای به شما آموزش داده می شود و اگر هیچ دانشی از گذشته در این زمینه ندارید مشکلی نیست، چون این دوره آموزش برنامه نویسی موبایل اندروی را بصورت کامل یاد میگیرید و بعد از ان می توانید درآمد زایی کنید.

اشتراک گذاری این صفحه در شبکه های اجتماعی:

commentشما بگید!

شما چه سوالی درباره این موضوع دارید که اینجا مطرح نشده است؟ لطفا تجربیات خودتان را در این زمینه حتما توی کامنت برای ما بنویسید. منتظر نظرات، پیشنهادات و سوالات شما در همین صفحه از سایت آموزش برنامه نویسی الکامکو هستیم…

توجه

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

shareاشتراک گذاری این مطلب

shareآخرین مقالات

توجه

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

آخرین مقالات

آموزش های تکمیل شده

آموزش اندروید استودیو - آموزش android studio - آموزش برنامه نویسی اندروید الکامکو - ساخت اپلیکیشن اندروید - آموزش ساخت برنامه اندروید

آموزش ساخت برنامه اندروید پروژه محور، ساخت اپلیکیشن برای اندروید

دوره متخصص اندروید

دوره متخصص اندروید | پکیج کامل آموزش برنامه نویسی اندروید

آموزش ساخت اپلیکیشن فروشگاهی اندروید دیجی کالا Digikala - سورس دیجی کالا php - الکامکو

آموزش ساخت اپلیکیشن فروشگاهی اندروید دیجی کالا + سورس

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

دوره آموزش کاتلین پروژه محور | آموزش Kotlin از صفر تا صد

آموزش طراحی رابط کاربری (طراحی UI اندروید) و آموزش طراحی تجربه کاربری (طراحی UX اندروید) - آموزش برنامه نویسی اندروید الکامکو

دوره جامع آموزش طراحی رابط کاربری (UI) و تجربه کاربری (UX) در اندروید

دوره آموزش ساخت اپلیکیشن اندروید فیلیمو - خرید اشتراک فیلیمو - خرید اشتراک فیلم - برنامه فیلیمو برای اندروید - ساخت اپلیکیشن فیلم و سریال - ساخت برنامه فیلیمو | مرجع آموزش برنامه نویسی اندروید الکامکو

آموزش ساخت اپلیکیشن اندروید فیلیمو همراه با سورس کد مشابه فیلیمو

توجه

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

2 دیدگاه
بازخورد درون خطی
مشاهده همه نظرات
شهرام د
3 سال گذشته

مثال خوبی از اینتنت ها بود

پشتیبانی الکامکو مقدم
پاسخ دادن به  شهرام د
3 سال گذشته

تشکر