ตอนที่ 6 : Android สร้างตาราง Table บน Mobile Services และการ Insert ข้อมูล |
ตอนที่ 6 : Android สร้างตาราง Table บน Mobile Services และการจัดเก็บ Insert ข้อมูล บทความนี้ขอต่อจากตอนที่แล้ว ซึ่งจะเป็นการสร้าง Table ไว้สำหรับจัดเก็บข้อมูลบน Mobile Services การเขียน Android App เพื่อสร้าง Column หรือฟิวด์ พร้อม ๆ กับการส่งข้อมูลจาก Android แล้วนำไปจัดเก็บ Insert ไว้ใน Table ของ Mobile Services บน Windows Azure
![Android Azure Mobile Services Table Insert Android Azure Mobile Services Table Insert](https://www.thaicreate.com/upload/tutorial/windows-azure-mobile-service-android-create-insert-table-01.jpg?v=1001)
ตอนนี้เรามี Mobile Services อยู่ 1 ตัว
![Android Azure Mobile Services Table Insert Android Azure Mobile Services Table Insert](https://www.thaicreate.com/upload/tutorial/windows-azure-mobile-service-android-create-insert-table-02.jpg?v=1001)
ในหน้า Get Started จะแสดงรายละเอียดของการเชื่อมต่อ และได้อธิบายไว้ในบทความก่อน ๆ หน้านี้แล้ว
ขั้นตอนการสร้าง Table หรือตาราง
![Android Azure Mobile Services Table Insert Android Azure Mobile Services Table Insert](https://www.thaicreate.com/upload/tutorial/windows-azure-mobile-service-android-create-insert-table-03.jpg?v=1001)
ตลิกที่ DATA และเลือก CREATE
![Android Azure Mobile Services Table Insert Android Azure Mobile Services Table Insert](https://www.thaicreate.com/upload/tutorial/windows-azure-mobile-service-android-create-insert-table-04.jpg?v=1001)
ใส่ชื่อตารางในที่นี้จะใส่เป็น MyMember
![Android Azure Mobile Services Table Insert Android Azure Mobile Services Table Insert](https://www.thaicreate.com/upload/tutorial/windows-azure-mobile-service-android-create-insert-table-05.jpg?v=1001)
ได้ตารางขึ้นมา 1 รายการชื่อว่า MyMember
![Android Azure Mobile Services Table Insert Android Azure Mobile Services Table Insert](https://www.thaicreate.com/upload/tutorial/windows-azure-mobile-service-android-create-insert-table-06.jpg?v=1001)
ให้คลิกเข้าไปใน Table (ตาราง) ซึ่งตอนนี้ยังไม่มี Column และ Rows
เพิ่มเติม
จะสังเกตุว่าไม่มีเครื่องมือสำหรับการสร้าง Table และการ Insert ข้อมูล (มีแต่ลบ Column และบน Rows ข้อมูล) แต่ทั้งนี้เราสามารถที่จะสร้าง Column และ Insert ข้อมูลได้จากการเขียน App บน Android
![Android Azure Mobile Services Table Insert Android Azure Mobile Services Table Insert](https://www.thaicreate.com/upload/tutorial/windows-azure-mobile-service-android-create-insert-table-07.jpg?v=1001)
เมนู SCRIPT เป็นพวก Script ที่ไว้ทำหน้าที่รับข้อมูลจาก Android แล้ว Insert ลงใน Table การทำงานคล้าย ๆ กับ Stored Procedure ซึ่งเราสามารถเขียน Script เพิ่มเติมได้ แต่ตอนนี้แนะนำให้กำหนดเป็นค่า Default ซะก่อน
![Android Azure Mobile Services Table Insert Android Azure Mobile Services Table Insert](https://www.thaicreate.com/upload/tutorial/windows-azure-mobile-service-android-create-insert-table-08.jpg?v=1001)
หลัก ๆ จะมีอยู่ 4 ตัวคือ Insert , Update , Delete , Read
![Android Azure Mobile Services Table Insert Android Azure Mobile Services Table Insert](https://www.thaicreate.com/upload/tutorial/windows-azure-mobile-service-android-create-insert-table-09.jpg?v=1001)
กลับมาบน Project ของ Android ตอนนี้เรายังคงมีแค่ไฟล์ MainActivity.java และ activity_main.xml
ขั้นตอนการสร้าง Class สำหรับจัดการกับ Table และการสร้าง Column ฟิวด์
![Android Azure Mobile Services Table Insert Android Azure Mobile Services Table Insert](https://www.thaicreate.com/upload/tutorial/windows-azure-mobile-service-android-create-insert-table-10.jpg?v=1001)
ให้สร้าง Class ขึ้นมา 1 ตัวโดยไปที่ คลิกขวา New -> Class
![Android Azure Mobile Services Table Insert Android Azure Mobile Services Table Insert](https://www.thaicreate.com/upload/tutorial/windows-azure-mobile-service-android-create-insert-table-11.jpg?v=1001)
การตั้งชื่อไฟล์ของ Class จะต้องชื่อเดียวกับ Table เท่านั้น
![Android Azure Mobile Services Table Insert Android Azure Mobile Services Table Insert](https://www.thaicreate.com/upload/tutorial/windows-azure-mobile-service-android-create-insert-table-12.jpg?v=1001)
เราได้ไฟล์ MyMember.java ไว้สำหรับการจัดการกับตาราง MyMember เรียบร้อยแล้ว
![Android Azure Mobile Service Table Insert Android Azure Mobile Service Table Insert](https://www.thaicreate.com/upload/tutorial/windows-azure-mobile-service-android-create-insert-table-13.jpg?v=1001)
ตอนนี้ในไฟล์ MyMember.java ยังไม่มีคำสั่งใด ๆ นอกจากค่า Default เราจะมาเริ่มสร้าง Column ให้กับตาราง
![Android Azure Mobile Services Table Insert Android Azure Mobile Services Table Insert](https://www.thaicreate.com/upload/tutorial/windows-azure-mobile-service-android-create-insert-table-15.jpg?v=1001)
MyMember.java
package com.example.thaicreate;
public class MyMember {
@com.google.gson.annotations.SerializedName("id")
private int mId;
@com.google.gson.annotations.SerializedName("name")
private String mName;
@com.google.gson.annotations.SerializedName("email")
private String mEmail;
public MyMember() {
// empty
}
public MyMember(String name, String email) {
this.setName(name);
this.setEmail(email);
}
public final void setName(String name) {
mName = name;
}
public final void setEmail(String email) {
mEmail = email;
}
}
ตัวอย่างการสร้าง Column ฟิวด์ที่ประกอบด้วย id,name และ email โดยที่ฟิวด์ id เป็น Column ฟิวด์บังคับที่จะต้องมีทุกครั้ง
เพิ่มเติม
1. ฟิวด์แรกจะต้องชื่อว่า id เป็นชนิดแบบ int
2. การสร้าง Column จะเรียกใช้งานทุก ๆ ครั้งที่ App ทำงาน โดยที่โปรแกรมจะตรวจสอบก่อนว่ามี Column แล้วหรือยัง ถ้ามีแล้วจะไม่สร้างเพิ่ม
3. ในกรณีที่มี Column ใหม่ สามารถมาสร้างเพิ่มได้ทันที เพราะเมื่อโปรแกรมทำงานใหม่อีกครั้ง Column ใหม่ก็จะถูกสร้างขึ้นมาใหม่
การ Insert ข้อมูลลงใน Table ตัวอย่างการ Insert ข้อมูลไปยัง Mobile Services
MainActivity.java
/*** Create to Mobile Services ***/
try {
mClient = new MobileServiceClient(
"https://thaicreate.azure-mobile.net/",
"QUjngFknhHZjdaGgYAAzdoXkOzKoxi24",
this);
} catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
/*** Create getTable ***/
mMyMember = mClient.getTable(MyMember.class);
/*** Item for Insert ***/
MyMember item = new MyMember();
item.setName("Win");
item.setEmail("[email protected]");
// Insert the new item
mMyMember.insert(item, new TableOperationCallback<MyMember>() {
public void onCompleted(MyMember entity, Exception exception, ServiceFilterResponse response) {
if (exception == null) {
// Suscess
} else {
// Failed
}
}
});
จากตัวอย่างจะเป็นการ Insert ข้อมูลจาก Android ไปยัง Table ชื่อว่า MyMember ของ Mobile Services ที่อยู่บน Windows Azure
Code เต็ม ๆ ทั้งหมด
activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<TextView
android:id="@+id/lblText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="TextView" />
</LinearLayout>
MyMember.java
package com.example.thaicreate;
public class MyMember {
@com.google.gson.annotations.SerializedName("id")
private int mId;
@com.google.gson.annotations.SerializedName("name")
private String mName;
@com.google.gson.annotations.SerializedName("email")
private String mEmail;
public MyMember() {
// empty
}
public MyMember(String name, String email) {
this.setName(name);
this.setEmail(email);
}
public final void setName(String name) {
mName = name;
}
public final void setEmail(String email) {
mEmail = email;
}
}
MainActivity.java
package com.example.thaicreate;
import java.net.MalformedURLException;
import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.widget.TextView;
import com.microsoft.windowsazure.mobileservices.MobileServiceClient;
import com.microsoft.windowsazure.mobileservices.MobileServiceTable;
import com.microsoft.windowsazure.mobileservices.ServiceFilterResponse;
import com.microsoft.windowsazure.mobileservices.TableOperationCallback;
public class MainActivity extends Activity {
private MobileServiceClient mClient;
private MobileServiceTable<MyMember> mMyMember;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
/*** Create to Mobile Services ***/
try {
mClient = new MobileServiceClient(
"https://thaicreate.azure-mobile.net/",
"QUjngFknhHZjdaGgYAAzdoXkOzKoxi24",
this);
} catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
/*** Create getTable ***/
mMyMember = mClient.getTable(MyMember.class);
final TextView lbText = (TextView) findViewById(R.id.lblText);
if (mClient != null) {
/*** Item for Insert ***/
MyMember item = new MyMember();
item.setName("Win");
item.setEmail("[email protected]");
// Insert the new item
mMyMember.insert(item, new TableOperationCallback<MyMember>() {
public void onCompleted(MyMember entity, Exception exception, ServiceFilterResponse response) {
if (exception == null) {
lbText.setText("Insert Data Successfully.");
} else {
lbText.setText("Insert Data Failed! Error = " + exception.getCause().getMessage());
}
}
});
}
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.activity_main, menu);
return true;
}
}
Screenshot
![Android Azure Mobile Services Table Insert Android Azure Mobile Services Table Insert](https://www.thaicreate.com/upload/tutorial/windows-azure-mobile-service-android-create-insert-table-14.jpg?v=1001)
แสดงผลบนหน้าจอ App ของ Android
![Android Azure Mobile Services Table Insert Android Azure Mobile Services Table Insert](https://www.thaicreate.com/upload/tutorial/windows-azure-mobile-service-android-create-insert-table-16.jpg?v=1001)
เมื่อกลับไปดูบน Portal Management ของ Mobile Services จะเห็นว่า Column ถูกสร้าง และ Rows ถูก Insert
บทความถัดไปที่แนะนำให้อ่าน
บทความที่เกี่ยวข้อง
Property & Method (Others Related) |
|
ช่วยกันสนับสนุนรักษาเว็บไซต์ความรู้แห่งนี้ไว้ด้วยการสนับสนุน Source Code 2.0 ของทีมงานไทยครีเอท
|
|
|
By : |
ThaiCreate.Com Team (บทความเป็นลิขสิทธิ์ของเว็บไทยครีเอทห้ามนำเผยแพร่ ณ เว็บไซต์อื่น ๆ) |
|
Score Rating : |
![](/images/resource/startrue.gif) ![](/images/resource/startrue.gif) ![](/images/resource/startrue.gif) |
|
|
Create/Update Date : |
2013-05-08 16:10:17 /
2017-03-24 11:13:27 |
|
Download : |
|
|
Sponsored Links / Related |
|
|
|
|
|
|
|