آموزش برنامه نویسی اندروید (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) را ارسال کند :

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

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

نویسنده علیرضا گلمکانی
شماره کلید 255
گزینه ها
به اشتراک گذاری (Share) در شبکه های اجتماعی
نظرات 10 10 0
امین
۱۳۹۵/۰۶/۰۳
۱۹:۳۱

خط آخر ارور میده
(R.menu.main, menu);
روی منو ارور میده

مسلم
۱۳۹۵/۰۶/۲۸
۰۲:۵۳

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

admin
۱۳۹۵/۰۶/۲۹
۱۸:۵۵

سلام.
ابتدا کلید زیر در مورد ساخت ListView سفارشی (Custom ListView) را بخوانید تا با چگونگی درج عناصر دلخواه در ردیف های (item های یک ListView) آشنا شوید :

کلید شماره 843

بنابراین، مشابه کلید بالا، در ردیف های ListView ، یک دکمه (Button) قرار می دهید و در روش getView در Adapter سازنده item های ListView ، آن Button را شناسایی کرده و کدهای مربوط به ((به اشتراک گذاری)) را برای آن می نویسید.
اگر متن به اشتراک گذاری برای هر item متفاوت است، سعی کنید که شماره های متناظری که برای فراخوانی متن ها از آرایه (یا هر روش دیگر) به کار می برید، بر اساس متغیر position باشد (یک نکته برای عدم به هم ریختن متن های متناظر با item ها).

Flower

مسلم
۱۳۹۵/۰۷/۲۶
۱۸:۴۰

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

حاجی اس ام
۱۳۹۵/۰۸/۲۴
۰۰:۲۲

سلام
ممنون از مطالب خوبتون
نمی شه اشتراک گذاری خود برنامهاندروید رو هم بگید؟
یعنی Button باشه که با کلیک کردن بر روی آن بتوان خود برنامه رو به اشتراک گذاشت؟

محمد
۱۳۹۶/۰۳/۲۱
۱۳:۳۴

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

محمد
۱۳۹۶/۰۶/۱۳
۱۶:۰۵

سلام برای افزایش این کلید ها و ارسال مطالب متفاوت باید چکار کرد؟

admin
۱۳۹۶/۰۶/۱۳
۱۷:۴۵

سلام.
برای نوشتن در وب سایت کلیدستان، کلید زیر را بخوانید :

کلید شماره 3448

آموزش های مورد نظر شما می تواند به صورت رایگان یا غیررایگان منتشر شود.

Flower

جعفر
۱۳۹۶/۰۸/۱۰
۲۰:۴۹

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

حسین
۱۳۹۷/۱۱/۰۸
۰۰:۳۲

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

ارسال نظر جدید (بدون نیاز به عضو بودن در وب سایت)