آموزش برنامه نویسی اندروید (Android)
۴۱۹ آموزش
نمایش دسته بندی ها (۴۱۹ آموزش)

به اشتراک گذاری متن، در برنامه نویسی اندروید

در این آموزش، چگونگی به اشتراک گذاری یک متن را شرح خواهیم داد. حتما تاکنون در برنامه های مختلف دیده اید که با اشاره بر روی یک دکمه (button)، گزینه های مختلفی برای به اشتراک گذاری متن (مثل ارسال با پیامک یا bluetooth) نمایش داده می شود، مثل شکل زیر :

به اشتراک گذاری متن، در برنامه نویسی اندروید

در ادامه یک برنامه اندروید می سازیم که activity اصلی آن دارای یک دکمه (button) است که اگر بر روی آن دکمه اشاره کنیم، یک متن، برای اشتراک گذاری آماده می شود.

در برنامه eclipse ، ابتدا یک پروژه اندروید با نام Kelidestan.com_ShareText بسازید (نام package را برابر com.kelidestan.sharetext انتخاب کنید. نام activity اصلی را برابر MainActivity انتخاب کنید و فایل xml متناظر آن را هم، activity_main انتخاب کنید).

ابتدا فایل activity_main.xml را باز می کنیم :

به اشتراک گذاری متن، در برنامه نویسی اندروید

ظاهر گرافیکی آن به صورت زیر می باشد (به طور پیش فرض دارای یک TextView است) :

به اشتراک گذاری متن، در برنامه نویسی اندروید

و کدهای آن به صورت زیر است :


<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    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=".MainActivity" >

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/hello_world" />

</RelativeLayout>

ابتدا باید TextView را حذف کنیم و سپس یک دکمه (button) در فایل قرار بدهیم. برای این منظور، کدها را به صورت زیر تغییر می دهیم (نوع لایه را هم از RelativeLayout به LinearLayout تغییر می دهیم، البته این مورد اختیاری است) :


<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    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=".MainActivity" >

    <Button
        android:id="@+id/button1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="Share Text"
        android:onClick="shareData" />

</LinearLayout>

بخش مهم کد بالا، خط زیر می باشد :


android:onClick="shareData"

اکنون ظاهر گرافیکی فایل activity_main.xml به صورت زیر است :

به اشتراک گذاری متن، در برنامه نویسی اندروید

در این مرحله، قصد داریم که متن مورد نظرمان که قرار است به اشتراک گذاشته شود را در فایل strings.xml تعریف کنیم. فایل strings.xml را باز می کنیم :

به اشتراک گذاری متن، در برنامه نویسی اندروید

کدهای آن، به صورت زیر می باشد :


<?xml version="1.0" encoding="utf-8"?>
<resources>

    <string name="app_name">Kelidestan.com_ShareText</string>
    <string name="action_settings">Settings</string>
    <string name="hello_world">Hello world!</string>

</resources>

ما یک رشته (string) جدید با نام my_text می سازیم و متن مورد نظرمان را در آن قرار می دهیم. بنابراین کدهای فایل strings.xml به صورت زیر در می آید :


<?xml version="1.0" encoding="utf-8"?>
<resources>

    <string name="app_name">Kelidestan.com_ShareText</string>
    <string name="action_settings">Settings</string>
    <string name="hello_world">Hello world!</string>
    <string name="my_text">آموزش برنامه نویسی اندروید در سایت کلیدستان</string>

</resources>

اکنون فایل MainActivity.java را باز می کنیم :

به اشتراک گذاری متن، در برنامه نویسی اندروید

کدهای فایل MainActivity.java به صورت زیر می باشد :


package com.kelidestan.sharetext;

import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;

public class MainActivity extends Activity {

        @Override
        protected void onCreate(Bundle savedInstanceState) {
                super.onCreate(savedInstanceState);
                setContentView(R.layout.activity_main);
        }

        @Override
        public boolean onCreateOptionsMenu(Menu menu) {
                // Inflate the menu; this adds items to the action bar if it is present.
                getMenuInflater().inflate(R.menu.main, menu);
                return true;
        }

}

کدهای این فایل را به صورت زیر تغییر می دهیم :


package com.kelidestan.sharetext;

import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.view.Menu;
import android.view.View;

public class MainActivity extends Activity {

        @Override
        protected void onCreate(Bundle savedInstanceState) {
                super.onCreate(savedInstanceState);
                setContentView(R.layout.activity_main);
        }
       
        public void shareData(View view) {
        Intent intent = new Intent(Intent.ACTION_SEND);
        intent.setType("text/plain");
        String my_string = getResources().getString(R.string.my_text);
        intent.putExtra(Intent.EXTRA_TEXT, my_string);
        startActivity(Intent.createChooser(intent, "Share this text via"));
        }

        @Override
        public boolean onCreateOptionsMenu(Menu menu) {
                // Inflate the menu; this adds items to the action bar if it is present.
                getMenuInflater().inflate(R.menu.main, menu);
                return true;
        }

}

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

با اجرای برنامه اندروید، بر روی یک گوشی، صفحه زیر نمایش داده می شود :

به اشتراک گذاری متن، در برنامه نویسی اندروید

با اشاره بر روی دکمه (button)، گزینه های زیر نمایش داده می شود :

به اشتراک گذاری متن، در برنامه نویسی اندروید

این گزینه ها، تمامی مواردی را نشان می دهد که قابلیت اشتراک گذاری متن، در آنها وجود دارد. مثلا یکی از گزینه ها، گزینه Messaging می باشد که برای ارسال متن به صورت یک پیامک (sms) به کار می رود. با انتخاب این گزینه، صفحه ای نمایش داده می شود که در آن، متن مورد نظر ما به عنوان متن پیامک (sms) نوشته شده و تنها کافی است که کاربر شماره فرد را وارد کرده و سپس پیامک (sms) را ارسال کند :

به اشتراک گذاری متن، در برنامه نویسی اندروید

فایل های پروژه اندروید را می توانید از لینک های زیر دریافت کنید :