ตอนที่ 8 : Show Case 4 : Delete Data (Android C# (Xamarin) and Mobile Services) |
ตอนที่ 8 : Show Case 4 : Delete Data (Android C# (Xamarin) and Mobile Services) ตัวอย่าง Show Case การเขียน Android C# (Xamarin) กับ Mobile Services ด้วย Tools ของ Visual Studio เพื่อที่จะทำการลบ Delete ข้อมูลในที่อยู่ในตาราง Table ด้วยการแรับค่า Input ที่ต้องการลบ จากนั้นผู้ใช้สามารที่จะกรอกรหัสหรือ ID ที่ต้องการ (ในที่นี้จะใช้ Username เป็น Key) และในการลบจะมี Dialog สำหรับการ Confirm หลังจาก Confirm แล้วข้อมูลก็จะถูกลบออกจากรายการของ Table รวมทั้งลบออกจากรายการของ Mobile Services ที่อยู่บน Windows Azure
Android C# (Xamarin) Mobile Services Delete Data
สำหรับขั้นตอนนั้นก็คือสร้าง Activity รับค่าผ่าน EditText เพื่อรอ User ทำการกรอกข้อมูลที่ต้องการลบ จากนั้นจะส่งข้อมูลซึ่งอารจะเป็น Key หรือ ID เพื่อเลือกรายการนั้น ๆ และลบออกจาก Table ของ Mobile Services ที่อยู่บน Windows Azure
รูปแบบการลบข้อมูลที่อยู่บน Azure Mobile Services ด้วย Android C#
memberTable = client.GetTable<MyMember>();
//*** Get Data for Delete ***//
var items = await memberTable.Where(item => item.Username == txtUsername.Text).ToCollectionAsync();
MyMember delete = items[0];
memberTable.DeleteAsync(delete);
Example ตัวอย่างการทำระบบลบข้อมูล Delete Data ด้วย Android C#
ตอนนี้เรามี Mobile Services อยู่ 1 รายการ
ชื่อตารางว่า MyMember
มีข้อมูลอยู่ทั้งหมด 3 รายการ
กลับมายัง Android C# Project บน Visual Studio
Main.axml
<?xml version="1.0" encoding="utf-8"?>
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/tableLayout1"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<TableRow
android:id="@+id/tableRow1"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:text="Delete Data "
android:layout_span="1"
android:textAppearance="?android:attr/textAppearanceLarge" />
</TableRow>
<View
android:layout_height="1dip"
android:background="#CCCCCC" />
<TableLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="0.1"
android:orientation="horizontal"
android:id="@+id/tableLayout2">
<TableRow
android:id="@+id/tableRow2">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Username "
android:textAppearance="?android:attr/textAppearanceMedium"
android:id="@+id/textView2" />
</TableRow>
<EditText
android:id="@+id/txtUsername"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ems="10" />
<Button
android:id="@+id/btnDelete"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Delete" />
</TableLayout>
</TableLayout>
MainActivity.cs
using System;
using Android.App;
using Android.Content;
using Android.Runtime;
using Android.Views;
using Android.Widget;
using Android.OS;
using Microsoft.WindowsAzure.MobileServices;
using Newtonsoft.Json;
namespace myFirstApps
{
public class MyMember
{
public int Id { get; set; }
[JsonProperty(PropertyName = "username")]
public string Username { get; set; }
[JsonProperty(PropertyName = "password")]
public string Password { get; set; }
[JsonProperty(PropertyName = "name")]
public string Name { get; set; }
[JsonProperty(PropertyName = "email")]
public string Email { get; set; }
[JsonProperty(PropertyName = "tel")]
public string Tel { get; set; }
}
[Activity(Label = "myFirstApps", MainLauncher = true, Icon = "@drawable/icon")]
public class MainActivity : Activity
{
public const string ApplicationURL = @"https://thaicreate.azure-mobile.net/";
public const string ApplicationKey = @"wXYfvYuGLIaDCZdqHjTwDgeDSHZOtL94";
private MobileServiceClient client; // Mobile Service Client references
private IMobileServiceTable<MyMember> memberTable; // Mobile Service Table used to access data
protected override void OnCreate(Bundle bundle)
{
base.OnCreate(bundle);
// Set our view from the "main" layout resource
SetContentView(Resource.Layout.Main);
// Delete
Button btnDelete = FindViewById<Button>(Resource.Id.btnDelete);
btnDelete.Click += (object sender, EventArgs e) =>
{
btnDeleteClick(sender, e);
};
}
private async void btnDeleteClick(object sender, EventArgs e)
{
client = new MobileServiceClient(ApplicationURL, ApplicationKey);
TextView txtUsername = FindViewById<TextView>(Resource.Id.txtUsername);
memberTable = client.GetTable<MyMember>();
//*** Get Data for Delete ***//
var items = await memberTable.Where(item => item.Username == txtUsername.Text).ToCollectionAsync();
AlertDialog.Builder builder = new AlertDialog.Builder(this);
AlertDialog confirm = builder.Create();
confirm.SetTitle("Confirm Data");
confirm.SetMessage("Are you sure delete?");
confirm.SetButton("OK", (s, ev) =>
{
MyMember delete = items[0];
memberTable.DeleteAsync(delete);
Toast.MakeText(this, "Delete Data Successfully", ToastLength.Short).Show();
});
confirm.SetButton2("Cancel", (s, ev) =>
{
});
confirm.Show();
}
}
}
ทดสอบการทำงาน
หน้าจอ Android App บน Android Emulator
ทดสอบกรอก Username ที่ต้องการ Delete จากนั้นให้เลือก Confirm ลบข้อมูล
ช้อมูลถูกลบเรียบร้อย
เมื่อกลับไปดูที่ Data บน Mobile Service ข้อมูลก็จะถูกลบออกไปด้วย
|
ช่วยกันสนับสนุนรักษาเว็บไซต์ความรู้แห่งนี้ไว้ด้วยการสนับสนุน Source Code 2.0 ของทีมงานไทยครีเอท
|
|
|
By : |
ThaiCreate.Com Team (บทความเป็นลิขสิทธิ์ของเว็บไทยครีเอทห้ามนำเผยแพร่ ณ เว็บไซต์อื่น ๆ) |
|
Score Rating : |
|
|
|
Create/Update Date : |
2014-09-23 13:17:38 /
2017-03-26 21:03:55 |
|
Download : |
No files |
|
Sponsored Links / Related |
|
|
|
|
|
|
|