การเขียน Android เชื่อมต่อกับ ข้อมูลแบบ JSON ผ่าน Android Studio และ Web Server

การเขียน Android เชื่อมต่อกับ ข้อมูลแบบ JSON,การเขียน Android Application

ครั้ง

การดึง JSON จาก Web Server มาแสดงผลใน List View ของ Android กรณีศึกษา ข้อมูลท่องเที่ยวในประเทศไทย ตั้งชื่อ Project ว่า SmartTravel
แอพนี้เขียนด้วย Minimum SDK คือ API 16
เลือก Template เป็น แบบ Empty นั่นหมายความว่า ไม่มีอะไรเลย ทำใหม่หมด จะได้คล่อง ๆ นะครับ
ทดสอบรันโปรเจคดูก่อน ว่าผ่านมั้ย
ก่อนอื่นต้องเพิ่มสิทธ์ให้แอปพลิเคชั่นเราสามารถเข้าถึงอินเทอร์เน็ตได้ ก่อน โดยเข้าไปที่ไฟล์ AndroidManifest.xml หลังจากนั้นใส่ android.permission.INTERNET ใน User permission
สร้างไฟล์ json ขึ้นมา (กรณีนี้ สามารถดึงได้จากเว็บไซต์ของ naenoi เลยทำ web service เตรียมไว้ให้แล้ว)
สามารถเข้าไปได้เลย ผ่าน http://naenoi.com/story/gettraveljson.php
นำ listview เข้ามาใน layout (listview เป็น component สำหรับแสดงข้อมูลที่มีหลายรายการ และสามารถปรับแต่หน้าจอ (layout) ได้ตามความต้องที่ไม่สิ้นสุด)
ตั้ง id ให้กับ listview ชื่อ smartlist
เมื่อเราได้ listview แล้ว การที่จะทำให้ design ตรงความต้องการนั้นเราจะควรจะ customize (ทำเอง) layout ขึ้นมาเอง สร้าง layout ใหม่ ตั้งชื่อว่า list_item
ใน list_item เราจะแสดงชื่อสถานที่ท่องเที่ยว และ ที่อยู่
ดังนั้นให้ใส่ textview เข้าไปสองตัว ตั้งชื่อ placename และ placeaddress
เริ่มเขียนโค้ดกัน
ส่วนแรก สร้าง class ที่ทำหน้าที่ดึงข้อมูลและแปลงข้อมูลจาก Web Server โดยตั้งชื่อว่า HttpHandler
เริ่มเขียนโค้ดกัน
ส่วนแรก สร้าง class ที่ทำหน้าที่ดึงข้อมูลและแปลงข้อมูลจาก Web Server โดยตั้งชื่อว่า HttpHandler
คำสั่งแปลง Stream เป็นตัวอักษร
เมื่อ HttpHandler พร้อม เราก็กลับมาที่ Activity หลัก คือ MainActivity นั่นเอง
จากนั้นก็เริ่มละเลงสี เอ้ย ละเลงโค้ดกันได้เลย
ส่วนที่ 3 สร้าง class ในการเรียก JSON (Class นี้เป็นขอบเขตแบบ private เพราะเป็น Class ภายใต้ MainActivity)
คำสั่ง donInBackground จะทำหน้าที่เป็นเบื้องหลังในการไปเรียกข้อมูล JSON ที่เราได้เขียนไว้ มาเก็บไว้ใน JSONObject
มีโค้ดช่วงท้ายของ doInBackground นิดนึง และ คำสั่งเพิ่มเข้ามาคือ onPostExecute สำหรับประมวลผลคำร้องขอ
เขียนทุกอย่างเสร็จ ขอสรุปดังนี้
1.Layout หน้าหลัก และ layout หน้า list item
2.สร้าง HttpHandler
3.เรียกใช้งาน layout,HttpHandler และ JSON ใน MainActivity.java
หลังจากนั้นก็ปรับ layout ตามใจชอบแล้วก็คลิกรัน emulator เลย

ช่องของเรา