ถามวิธี Android Studio ส่ง JSON เข้า Web Server ครับ
ขอบคุณครับ ผมพยามอ่านของพี่ แต่ไม่เข้าใจตรงนี้ครับ ว่าจะเอาไปใช้ต่ออย่างไร
Date :
2020-08-17 10:50:15
By :
JavaScrap
paramPostLive เอาออกไปก็ได้ครับ เป็น parameter เฉพาะกิจ แฮะๆ ใส่เกินเข้าไป
เป็นคลาสเฉพาะสำหรับ งาน football เวลา Live สด อะครับ 55555 อย่าลืมเอาออกจาก main activity ด้วยนะครับ 55555
ส่วน MyParam สร้างไว้ สำหรับ เก็บ ตัวแปร เวลา กำหนดตัวแปร สำหรับ POST หรือ GET
เอาไว้ประกอบ เป็น record สำหรับ ส่ง การนำไปใช้ ให้อ่านใน main activity ที่ 2 function สุดท้าย เป็นการประกอบ เป็น string
ส่วน sendHTTP sendHTTPS เป็นคลาส สำหรับ post ซึ่ง class 2 ตัวนี้ จะสร้าง asynctask สำหรับเรียกใช้ class http/https
แล้วส่งค่ากลับ ไปยัง function callback ใน main activity ซึ่ง function call back จะจำแนก parameter เพื่อทำงานต่อไป
เราไม่สามารถเรียกใช้ class http/https ในรูปแบบธรรมดาได้ ต้องใช้ asynctask เพื่อรอการ response ค่าจากการส่งข้อมูล ให้ server
เนื่องจาก class http/https เป็นคลาสที่ ไร้รูป (abstract class) ต้องอาศัย asynctask
ส่วนทำไมมี 2 ต้ว เพราะคลาส HTTP และ HTTPS มันคนละคลาสกัน มี ssl กับ ไม่มี สามารถเลือกใช้ได้ ตาม ลักษณะของ server
Date :
2020-08-17 12:31:36
By :
Chaidhanan
ขอบคุณมากๆครับ สำหรับความกรุณา
เดี๋ยวขอศึกษา/ปรับใช้ก่อน ขอบคุณครับ
Date :
2020-08-17 12:51:24
By :
JavaScrap
สวัสดีครับ
ตามภาพ ผมเอาตัวอย่างใน ThaiCreate ไปทำ เดิมผมใช้กับ Andriod 6 สามารถอับโหลดได้ครับ แต่พอเปลี่ยนเป็น Andriod 7 เปลี่ยนที่อยู่ไฟล์เป็นตามภาพ อับโหลดไม่มีข้อมูลไปครับ
รบกวนแนะนำด้วยครับ
Date :
2020-08-17 16:53:05
By :
JavaScrap
คลาส JSTools รวม json-parse ไวในคลาส จะได้ไม่ต้องอ้าง Exception บ่อยๆ
Code (Android-Java)
package com.tghservice; // เปลี่ยนตาม งาน
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
public class JSTools {
// -------------------------------------------------------
// JSON tool:: JSON String to JSON
public JSONObject str2Obj(String str){
JSONObject rs;
try {
rs = new JSONObject(str);
}catch(Exception e){
rs = str2Obj("{msg: \"error\", error: \""+e.getMessage()+"\"}");
}
return rs;
}
// -------------------------------------------------------
public String obj2Str(JSONObject js){
String rs;
try {
rs = js.toString();
}catch(Exception e){
rs = "{msg: \"error\", error: \""+e.getMessage()+"\"}";
}
return rs;
}
// -------------------------------------------------------
public JSONObject Array2Obj(JSONArray ar, int idx, String def){
JSONObject rs;
try {
rs = ar.getJSONObject(idx);
}catch(Exception e){
if(def.length()>0) {
rs = str2Obj(def);
}else{
rs = str2Obj("{msg: \"error\", error: \""+e.getMessage()+"\"}");
}
}
return rs;
}
// -------------------------------------------------------
public void put(JSONObject js, String Key, String Val){
try {
js.put(Key, Val);
}catch(Exception e){
//
}
}
// -------------------------------------------------------
public String Value2Str(JSONObject js, String Key){
String rs;
try {
rs = js.getString(Key);
}catch(Exception e){
rs = "";
}
return rs;
}
// -------------------------------------------------------
public double Value2double(JSONObject js, String Key){
double rs;
try {
rs = js.getDouble(Key);
}catch(Exception e){
rs = 0.0;
}
return rs;
}
// -------------------------------------------------------
public int Value2Int(JSONObject js, String Key){
int rs;
try {
rs = js.getInt(Key);
}catch(Exception e){
rs = 0;
}
return rs;
}
// -------------------------------------------------------
public JSONArray Value2Array(JSONObject js, String Key){
JSONArray rs;
try {
rs = js.getJSONArray(Key);
}catch(Exception e){
rs = new JSONArray();
}
return rs;
}
}
ในส่าวน ของ Exception ใส่ค่า เป็น default ไว้จะได้ตรวจสอบได้ง่ายๆ จะเซ็ทเป็นอะไร ก็ว่าไปตามสดวก
ประวัติการแก้ไข 2020-08-17 17:12:23
Date :
2020-08-17 17:09:50
By :
Chaidhanan
ขอบคุณคูณChaidhanan มากๆครับ
Date :
2020-08-18 08:44:11
By :
JavaScrap
Load balance : Server 02