ในการแลกเปลี่ยนข้อมูลระหว่าง application กับ service ที่ติดต่อกับฐานข้อมูลบน server โดยส่วนใหญ่ก็จะแลกเปลี่ยนข้อมูลโดยใช้รูปแบบ JSON ซึ่งในส่วนของแอพพลิเคชัน ต้องทำคลาสในการรับข้อมูลพื่อให้สามารถรับข้อมูลและนำไปใช้ได้สะดวกขึ้น
ตัวอย่างข้อมูล JSON เช่น
[
{
“point”: “40.266044,-74.718479”,
“homeTeam”:”Lawrence Library”,
“awayTeam”:”LUGip”,
“markerImage”:”images/red.png”,
“information”: “Linux users group meets second Wednesday of each month.”,
“fixture”:”Wednesday 7pm”,
“capacity”:””,
“previousScore”:””
},
{
“point”:”40.211600,-74.695702″,
“homeTeam”:”Hamilton Library”,
“awayTeam”:”LUGip HW SIG”,
“markerImage”:”images/white.png”,
“information”: “Linux users can meet the first Tuesday of the month to work out harward and configuration issues.”,
“fixture”:”Tuesday 7pm”,
“capacity”:””,
“tv”:””
},
{
“point”:”40.294535,-74.682012″,
“homeTeam”:”Applebees”,
“awayTeam”:”After LUPip Mtg Spot”,
“markerImage”:”images/newcastle.png”,
“information”: “Some of us go there after the main LUGip meeting, drink brews, and talk.”,
“fixture”:”Wednesday whenever”,
“capacity”:”2 to 4 pints”,
“tv”:””
}
]
และตัวอย่างคลาส JAVA ที่เราต้องการสร้างเอาไว้รับข้อมูล ดังนี้ค่ะ
———————————-com.example.Example.java———————————–
package com.example;
import javax.annotation.Generated;
@Generated(“org.jsonschema2pojo”)
public class Example {
private String point;
private String homeTeam;
private String awayTeam;
private String markerImage;
private String information;
private String fixture;
private String capacity;
private String previousScore;
private String tv;
public String getPoint() {
return point;
}
public void setPoint(String point) {
this.point = point;
}
public String getHomeTeam() {
return homeTeam;
}
public void setHomeTeam(String homeTeam) {
this.homeTeam = homeTeam;
}
public String getAwayTeam() {
return awayTeam;
}
public void setAwayTeam(String awayTeam) {
this.awayTeam = awayTeam;
}
public String getMarkerImage() {
return markerImage;
}
public void setMarkerImage(String markerImage) {
this.markerImage = markerImage;
}
public String getInformation() {
return information;
}
public void setInformation(String information) {
this.information = information;
}
public String getFixture() {
return fixture;
}
public void setFixture(String fixture) {
this.fixture = fixture;
}
public String getCapacity() {
return capacity;
}
public void setCapacity(String capacity) {
this.capacity = capacity;
}
public String getPreviousScore() {
return previousScore;
}
public void setPreviousScore(String previousScore) {
this.previousScore = previousScore;
}
public String getTv() {
return tv;
}
public void setTv(String tv) {
this.tv = tv;
}
}
ซึ่งก็คือคลาส ที่มี method –> get กับ set นั่นเอง
ซึ่งจะเห็นว่าถ้าฐานข้อมูลเรามีหลายฟิลด์ ก็ต้งต้องทำ method get กับ set ทั้งหมดเลย (ร้องหายแปป)
จะดีแค่ไหนถ้ามีตัวสร้างคลาสให้เราจากข้อมูล JSON ของเราเลย ง่ายๆ ไปดูเลยค่ะที่เว็บ
http://www.jsonschema2pojo.org/
การใช้งานก็ง่าย ๆ โดยการวางตัวอย่างข้อมูล JSON ของเราลงไปและระบุค่านิดหน่อยตามต้องการ
ขอยกตัวอย่างบางตัวหลัก เช่น
– Package คือ ชื่อตำแหน่งที่เก็บคลาส
– class name คือ ชื่อคลาส
– Source Type คือ รูปแบบของ JSON ถ้าเป็นดังตัวอย่างข้อมูลก็กำหนดเป็น JSON
– Annotation style คือ รูปแบบของคลาสที่สร้าง
จากนั้นสังเกตด้านล่างมีปุ่ม preview เพื่อดูตัวอย่างคลาสที่สร้าง หรือจะให้ส่งออกเป็นไฟล์ zip ก็ได้เช่นกัน
จากตัวอย่าง กดปุ่ม Preview แสดงดังรูป
ขอขอบคุณ
http://www.jsonschema2pojo.org/
http://ajbee.me/2015/09/29/web-data-type-part2-json/
http://devahoy.com/posts/android-custom-listview-with-gson-tutorial/