Tutorial Android – Share Status with Facebook, GMAIL and others

Bagi pengguna android tentunya pernah menggunakan aplikasi yang didalamnya ada tombol share yang apabila kita klik muncul dialog pilihan ingin menshare melalui gmail, facebook atau lainnya.

Semula saya berfikir wah gimana yah cara codingnya, tentu susah nih. Tapi android kembali menunjukkan kebolehannya seperti Lionel Messy yang mencetak 5 gol ke gawang Bayer Leverkusen pada perhelatan 16 besar liga champions.

Untuk membuktikannya mari kita project yang dapat membantu menshare status kita ke Facebook, Gmail dan lainnya. Kita beri saja nama aplikasinya ShareIt

1. Seperti biasa buka eclipsenya lalu buat new project

2. Buka file main.xml lalu edit seperti dibawah ini.

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
	android:orientation="vertical" android:layout_width="fill_parent"
	android:layout_height="fill_parent">
	<TextView android:layout_width="fill_parent"
		android:layout_height="wrap_content" android:text="My Status" />
	<EditText android:layout_width="match_parent"
		android:layout_height="wrap_content" android:inputType="textMultiLine"
		android:id="@+id/editTextMessage">
		<requestFocus></requestFocus>
	</EditText>
	<Button android:id="@+id/buttonShare" android:text="Share"
		android:layout_width="match_parent" android:layout_height="wrap_content"></Button>
</LinearLayout>

Pada file main.xml diatas akan tersedia inputan teks untuk menginputkan status dan button Share, untuk menshare status

3. Kita buka otak dari aplikasi ini, lalu buka file ShareItActivity.java lalu ketikan kode berikut

package com.agusharyanto.net.share;

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

public class ShareItActivity extends Activity {
	  EditText edtStatus;
	  Button btnShare;
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        edtStatus = (EditText) findViewById(R.id.editTextMessage);
        btnShare = (Button) findViewById(R.id.buttonShare);
		btnShare.setOnClickListener(new OnClickListener() {
			public void onClick(View v) {
				String status=edtStatus.getText().toString();
				shareIt(status);
			}
		});
    }

	public void shareIt(String pmessage) {
		Intent i=new Intent(Intent.ACTION_SEND);

		i.setType("text/plain");
		i.putExtra(Intent.EXTRA_SUBJECT, "My Status");
		i.putExtra(Intent.EXTRA_TEXT, pmessage);

		startActivity(Intent.createChooser(i,"My Status"));
	}
}

Nah perhatikan pada btnShare saya pasang OnClickListener yang membuat button tersebut apa bila diklik akan menangkap isi dari status dan mengirimnya ke method shareIt.

Pada mehod shareIt  inilah yang memunculkan dialog pilihan Gmap, facebook dan lainnya.

5. Mari kita jalankan programnya, maka hasilnya akan seperti ini.

klik button Share, akan muncul dialog pilihan (Gmail, Facebook dan lainnya dengan syara dihp kita sudah terinstall aplikasi GMAIL, Facebook)

Klik Gmail

Dan saksikan status kita sudah langsung ada pada body emailnya. Dengan subject “My Status”. Kuncinya ada pada code

i.putExtra(Intent.EXTRA_SUBJECT, “My Status”);
i.putExtra(Intent.
EXTRA_TEXT, pmessage);

pada Intentnya kita isi nilai EXTRA_SUBJECT kita My Status dan EXTRA_TEXT dengn pmessage

Bagaimana seperti saya bilang diawal dengan android membuat aplikasi jadi lebih mudah.

Agar semakin bersemangat saya kasih tantantangan nih, kalau pada aplikasi diatas isi dari EXTRA_SUBJECT saya beri nilai “My Status”.  Pada user interfacenya kita tambahkan inputan Subject, apa ayang kita ketikan pada inputan tersebut akan menset nilai EXTRA_SUBJECT.

Semoga Bermanfaat

Salam hangat

Agus Haryanto

15 comments to Tutorial Android – Share Status with Facebook, GMAIL and others

  • m4ru

    “saya lagi belajar coding android ma mas Agus Haryanto” 😀

    Keren mas… i like this blog…!

    Tuhan memberkati… Sukses selalu…

  • Asyiq

    matur suwun.
    terima kasih.

  • ga bsa di download om agus source codenya 🙂
    kalo comment di blog ini ga pernah d bales yak ? haha..

    Nice Blog
    Keep Posting ^^

  • Agus Haryanto

    @vadhiem, thanks infonya, silahkan dicoba lagi. untuk comment, ini dibales 🙂

  • Angga Raditya

    Makasih mas agus. tutorial dari mas sangat membantu.
    BTW ada tutorial untuk parsing xml di web g?? lagi butuh banget buat tugas. contoh parsing xml di http://data.bmkg.go.id/cuaca_indo_2.xml

  • Indra Bngsawan

    makasih tutorialnya mas…

    saya mau tanya, di coding yang mas buat untuk menampilkan lokasi di google map khan seperti ini

    for (int i = 0; i < list_lokasi.size(); i++)
    {
    geopoint = new GeoPoint((int) (list_lokasi.get(i).lat * 1E6),
    (int) (list_lokasi.get(i).lng * 1E6));
    locationB.setLatitude(geopoint.getLatitudeE6() / 1E6);
    locationB.setLongitude(geopoint.getLongitudeE6() / 1E6);

    double distance = locationA.distanceTo(locationB);

    if (list_lokasi.get(i).category == 1) {
    icon = getResources().getDrawable(R.drawable.mosque);
    } else if (list_lokasi.get(i).category == 2) {
    icon = getResources().getDrawable(R.drawable.atm);
    }
    else if (list_lokasi.get(i).category == 3) {
    icon = getResources().getDrawable(R.drawable.supermarket);
    }
    else if (list_lokasi.get(i).category == 4) {
    icon = getResources().getDrawable(R.drawable.restaurant);
    }
    else if (list_lokasi.get(i).category == 5) {
    icon = getResources().getDrawable(R.drawable.gazstation);
    }

    icon.setBounds(0, 0, icon.getIntrinsicWidth(), icon
    .getIntrinsicHeight());
    overlay = new MyItemizedOverlay(icon, this);
    item = new OverlayItem(geopoint, list_lokasi.get(i).lokname, "Lat:"+ list_lokasi.get(i).lat
    + "\nLng:" + list_lokasi.get(i).lng + "\n Jarak:" + distance+"m");
    overlay.addItem(item);
    mapView.getOverlays().add(overlay);
    }

    nah, kalau diambil dari database sqlite gimana ya?

    saya cari2, coding untuk menampilkan database dari sqlite sebagai berikut

    Cursor c = dbAdapter.getAllTitles();
    if (c.moveToFirst()) {
    do {
    Toast.makeText(MainActivity.this, c.getString(0) + "; " + c.getString(1)
    + "; " + c.getString(2) + " " + c.getFloat(3)
    , Toast.LENGTH_SHORT).show();
    } while (c.moveToNext());
    }

    masalahnya, untuk indeksnya (i) gmn ya? yang di looping for (int i = 0; i < list_lokasi.size(); i++)

    terima kasih

  • wah keren aplikasinya… tolong di share tutorial membuat aplikasi kuis PG sederhana donk… thanks… moga makin sukses…

  • ibel

    mas, mau bertanya neh… saya coba aplikasi gempa untuk android, dan app itu sendiri kalau ada gempa dia menimbulkan bunyi peringatan… yang saya tanya darimana yang harus saya pelajari untuk memulainya? otomatis itu kan dari update sumber yang diambil makanya app itu berbunyi?? atau bagaimana??

    mohon jawabannya ya mas 🙂

  • Agus Haryanto

    @ibel, step pertama yang harus dilakukan adalah mencari provider yang bisa menyediakan informasi gempa contohnya BMKG, kedua coba buat program yang bisa membaca data yang diberikan BMKG.

  • Gun

    requestFocus gunanya utk apa?

  • scorpiejou

    om agus kalo semua sudah selesai spt tutor daiatas lalu kita run kok selalu force close ya? kesalahannya dimana om? trimakasih

  • Scorpiejou

    Om agus, ketika semua sudah selesai mengikuti tutor tsb lalu kita test Run dengan Emulator tapi terjadi Force Close, itu letak kesalahannya di mana ya om? terimakasih

  • Agus Haryanto

    @scorpiejou. sudah coba run langsung di hanset android ?

  • Scorpiejou

    hehehe terimakasih om agus, akhirnya bisa :))

  • AMBRIADI

    Terima Kasih untuk infox om agus, akhirnya saya mengerti cara share pada android. sekali lagi trim’s.

Leave a Reply

You can use these HTML tags

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>