จุดประสงค์ของครั้งนี้
1. สร้างปุ่ม Share ขึ้นมา เมื่อกดปุ่มแชร์ส่งข้อความหรือรูปออกไป
2. แชร์ข้อความ String ตัวข้อความผมขอกำหนดเองเลยนะครับ เราสามารถใช้ช่อง Text input ได้เหมือนกัน แต่เพื่อความสะดวกครับ
3. แชร์รูป โดยผมจะแชร์ Image รูปสุดท้ายใน Album (เพื่อความสะดวกของผม)
เริ่มแรกเราต้องสร้าง XML ไฟล์สำหรับใส่ปุ่มของเราก่อนนะครับ อันนี้ผมใช้ activity_main.xml ที่ได้จากการ New Project เลย
activity_main.xml
1: <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
2: xmlns:tools="http://schemas.android.com/tools"
3: android:layout_width="match_parent"
4: android:layout_height="match_parent"
5: tools:context=".MainActivity" >
6: <Button
7: android:id="@+id/main_share"
8: android:layout_width="wrap_content"
9: android:layout_height="wrap_content"
10: android:layout_centerVertical="true"
11: android:layout_centerHorizontal="true"
12: android:layout_below="@+id/main_take"
13: android:onClick="onShare"
14: android:text="Share" />
15: </RelativeLayout>
สังเกตว่าผมใส่ android:onClick="onShare" เอาไว้ เราจะเอาไว้ใส่ function เมื่อกดปุ่มกันเราจะได้ layout ออกมาแบบนี้นะครับ
ต่อมาเราจะมาส่งข้อความ String กันนะครับ โดยเราจะทำกันในส่วนของ Java Code ซึ่งผมจะใช้เป็น MainActivity.java ที่ได้มาตั้งแต่ตอนสร้าง Project นะครับ
เราจะส่งแชร์ข้อความโดยเริ่มสร้าง Intent ของ Action_send ก่อนครับ
final Intent share = new Intent(Intent.ACTION_SEND);
จากนั้นเราก็กำหนด ชนิดของ object ที่เราจะส่งออก ซึ่ง "text/plain" คือเราจะส่งออกเป็น text share.setType("text/plain");
สุดท้ายเราจะใส่ String ของเรา
share.putExtra(Intent.EXTRA_TEXT, "This is my text to send.");
"This is my text to send." คือ String ที่ผมจะส่งออกไปครับ เราสามารถเปลี่ยนเป็นชื่อของตัวแปรแทนได้
เราจะได้ไฟล์ MainActivity.java ดังนี้
MainActivity.java
1: public class MainActivity extends Activity {
2: @Override
3: protected void onCreate(Bundle savedInstanceState) {
4: super.onCreate(savedInstanceState);
5: setContentView(R.layout.activity_main);
6: }
7: public void onShare(View v)
8: {
9: final Intent share = new Intent(Intent.ACTION_SEND);
10: share.setType("text/plain");
11: share.putExtra(Intent.EXTRA_TEXT, "This is my text to send.");
12: final String chooserTitle = "Share Snaphot";
13: MainActivity.this.startActivity(Intent.createChooser(share, chooserTitle));
14: } catch (final Exception e) {
15: Log.d("MyShare","Error");
16: }
17: }
18: }
บรรทัดที่ 7 คือชื่อฟังก์ชั่นที่เราใส่ไว้ใน xml
บรรทัดที่ 9 คือ Intent Action Send ที่เราสร้างขึ้นมา
บรรทัดที่ 13 คือสร้างตัวเลือกเป็น Popup ขึ้นมา
เมื่อเรากดปุ่ม Share จะได้รูปแบบด้านล่าง
ซึ่งตัวเลือกของมือถือแต่ละเครื่องจะแตกต่างกัน List ที่ขึ้นมาจะเป็น Application ที่ติดตั้งอยู่ในมือถือของเรา
เสร็จแล้วครับการส่ง String ด้วย Intent Action Send ครั้งหน้าเราจะแชร์รูปกันนะครับ
ไม่มีความคิดเห็น:
แสดงความคิดเห็น