Kamis, 09 Mei 2013

Membuat Aplikasi Android Bisa Share Teks Mengirimkan ke Aplikasi Lain, Share Send Intent Status ke Facebook Twitter

Kadang ingin juga membuat Aplikasi Android yang bisa mengirimkan atau sharing teks yang sedang kita tulis atau input ke aplikasi lain, misalnya saja aplikasi GMail, Facebook App For Android atau Twitter App For Android dan masih banyak lagi.

Ternyata solusinya lagi-lagi menggunakan Intent. Wah banyak banget ternyata kemampuan Intent ini. Kali ini kita gunakan Send Intent. Berikut caranya, buat project Android Baru :


Pada MainActivity.java ketikkan kode program ini :

package com.amijaya.sharesendintenttext;

import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;

public class MainActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        
        Button btnShare = (Button)findViewById(R.id.btnShare);
        btnShare.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
EditText edJudul = (EditText)findViewById(R.id.edJudul);
EditText edIsi = (EditText)findViewById(R.id.edIsi);

Intent i = new Intent(android.content.Intent.ACTION_SEND);
i.setType("text/plain");
i.putExtra(android.content.Intent.EXTRA_SUBJECT, edJudul.getText().toString());
i.putExtra(android.content.Intent.EXTRA_TEXT, edIsi.getText().toString());
startActivity(Intent.createChooser(i, "Share 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.activity_main, menu);
        return true;
    }
    
}


Kemudian pada layout activity_main.xml kita buat seperti ini :


<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/LinearLayout1"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context=".MainActivity" >

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Pesan untuk di-share?" />

    <TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Judul" />

    <EditText
        android:id="@+id/edJudul"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:ems="10" >

        <requestFocus />
    </EditText>

    <TextView
        android:id="@+id/textView2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Isi" />

    <EditText
        android:id="@+id/edIsi"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:ems="10" />

    <Button
        android:id="@+id/btnShare"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Share" />

</LinearLayout>


Untuk AndroidManifest.xml tidak perlu diubah, seperti ini :


<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.amijaya.sharesendintenttext"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk
        android:minSdkVersion="8"
        android:targetSdkVersion="16" />

    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name="com.amijaya.sharesendintenttext.MainActivity"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

</manifest>


Hasilnya :


Jika kita masukkan judul status dan isi teks. Kemudian klik Share. Akan muncul pilihan nama-nama aplikasi lain yang bisa menerima sharing dari aplikasi kita.


Misalnya dipilih aplikasi GMail, hasilnya sebagai berikut :


Project selengkapnya dapat didownload disini. Jika kesulitan, seperti ini cara downloadnya.

Semoga menarik :)

Tidak ada komentar:

Posting Komentar