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

تاریخ انتشار

17 فروردین 1398

نظرات

1 عدد

زمان مطالعه

تقریبا 3 دقیقه

نویسنده

شرکت پدیده تجارت

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

ابتدا یک پروژه با نام ShareText ایجاد کنید و داخل صفحه ی اصلی آن یک دکمه (Button) قرار دهید.

کد 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:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity"
    android:gravity="center">

    <Button
        android:id="@+id/btn_share_text"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="ShareText"
        android:textSize="18sp"/>

</LinearLayout>

یک لایه از نوع LinearLayout با طول و عرض match_parent ایجاد کرده و برای اینکه عناصر داخل این لایه وسط قرار گیرند gravity آن را center می کنیم. سپس داخل این لایه یک Button با طول و عرض wrap_content ایجاد کرده و برای آن یک متن با سایز مشخص ایجاد می کنیم.

کد Activity

import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;

public class MainActivity extends AppCompatActivity {

    Button btn_share_text;

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

        btn_share_text = findViewById(R.id.btn_share_text);
        btn_share_text.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent intent = new Intent(Intent.ACTION_SEND);
                intent.setType("text/plain");
                intent.putExtra(Intent.EXTRA_TEXT , "آموزش اندروید در شرکت پدیده تجارت");
                startActivity(Intent.createChooser(intent, "اشتراک گذاری از طریق"));
            }
        });
    }
}

 

ابتدا یک Button تعریف کرده و آن را findViewById می کنیم، سپس برای آن setonClickListener می نویسیم.

داخل تابع onClick یک Intent از نوع SEND تعریف می کنیم (چون قرار است یک متن به اشتراک بگذاریم و ارسال کنیم) :

Intent intent = new Intent(Intent.ACTION_SEND);

 

حالا باید با استفاده از setType نوع اشتراک گذاری را مشخص کنیم. چون می خواهیم متن به اشتراک بگذاریم setType را روی text/plain قرار می دهیم:

intent.setType("text/plain");

با استفاده از putExtra متنی که می خواهیم به اشتراک بگذاریم را مشخص می کنیم:

intent.putExtra(Intent.EXTRA_TEXT , "آموزش اندروید در شرکت پدیده تجارت");

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

برای اینکار ابتدا startActivity را نوشته و برای نمایش اسامی برنامه ها از createChooser استفاده می کنیم، همچنین یک عنوان مشخص می کنیم که این عنوان بالای اسامی برنامه ها نمایش داده میشود:

startActivity(Intent.createChooser(intent, "اشتراک گذاری از طریق"));

خروجی پروژه

با اجرای پروژه ابتدا با صفحه ی زیر روبرو میشوید:

 

سپس با کلیک بر روی دکمه، اسامی برنامه هایی که قابلیت اشتراک گذاری دارند با عنوان “اشتراک گذاری از طریق” نمایش داده می شود:

حالا باید برای اشتراک گذاری متن خود یکی از برنامه ها را انتخاب کنیم. بعنوان مثال با انتخاب برنامه ی Messaging  به صفحه ی زیر منتقل می شویم:

همانطور که مشاهده می کنید متنی که مشخص کرده بودیم آماده ی اشتراک گذاری می باشد.

 

نویسنده: الهه ابراهیمی

یک پاسخ

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

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

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

مقالات مرتبط