, так как я новичок в Android Studio и у меня есть скрипт, который работал как шарм в php 7, но проблема возникает, когда я использую php 5.2. Проблема только в том, что я делаю INSERT или UPDATE Data из Android Studio до PHP, используя okhttp. Нет проблем на ВЫБРАТЬ или УДАЛИТЬ. и у меня есть маршрутизатор. php (я проверяю свой маршрутизатор. php в бессоннице, он работает хорошо):
{
"action": "QueryKontakS",
"method": "createRecord",
"result": {
"nama": "test",
"email": "",
"notelp": "",
"alamat": "",
"success": 1,
"msgfilektp": "tidak menulis file"
}
}
Вот мой java код, подключенный к маршрутизатору. php
void update(){
if (!isFinishing()) {
pDialog = new ProgressDialog(KontakActivity.this);
pDialog.setMessage("Please wait....");
pDialog.setIndeterminate(true);
pDialog.setCancelable(true);
pDialog.show();
}
JSONObject json = new JSONObject();
JSONObject filenya = new JSONObject();
try {
Log.i("file ", "JSONnya disini"+json);
try {
JSONObject jsonParam = new JSONObject();
jsonParam.put("action", "QueryKontakS");
if(edit) {
jsonParam.put("method", "updateRecord");
}else{
jsonParam.put("method", "createRecord");
}
JSONObject data = new JSONObject();
if (edit){
data.put("idkontak", idkontak);
}
if (!(photoPath ==null) && !photoPath.equalsIgnoreCase("")){
filenya.put("namafoto", photoPath);
data.put("foto", file+".jpg");
}
data.put("nama", nama.getText().toString());
data.put("email", email.getText().toString());
data.put("notelp", notelp.getText().toString());
data.put("alamat", alamat.getText().toString());
JSONArray arr2 = new JSONArray();
arr2.put(data);
jsonParam.put("data", arr2);
json.put("param",jsonParam);
Log.i("JSON nya: ",json.toString());
Log.i("Filenya: ",filenya.toString());
} catch (JSONException e) {
e.printStackTrace();
}
RP = new RequestPost("router.php",json,filenya, getApplicationContext());
RP.execPostuploadCall(new Callback() {
@Override
public void onFailure(Call call, IOException e) {
e.printStackTrace();
}
@Override
public void onResponse(Call call, Response response) throws IOException {
Log.i("file ", "Gagal Response disini" + response);
if (!response.isSuccessful()) throw new IOException("Unexpected code " + response);
final String jsonData = response.body().string();
runOnUiThread(new Runnable() {
@Override
public void run() {
try {
JSONObject obj = new JSONObject(jsonData);
Log.i("file ", "Gagal Disini"+obj);
JSONObject result = obj.getJSONObject("result");
int success = result.getInt("success");
if (success==1){
Intent i = new Intent(KontakActivity.this,MainActivity.class);
startActivity(i);
finish();
}else{
Toast t=Toast.makeText(getApplicationContext(),"Gagal menyimpan",Toast.LENGTH_SHORT);
t.show();
}
if (pDialog != null) pDialog.dismiss();
} catch (JSONException e) {
if (pDialog != null) pDialog.dismiss();
e.printStackTrace();
}
}
});
}
});
} catch (IOException e) {
if (pDialog != null) pDialog.dismiss();
e.printStackTrace();
}
}
Каждый раз, когда я нажимал кнопку Сохранить, я вижу в logcat
param {"action":"QueryKontakS","method":"createRecord","data":[{"nama":"test","email":"","notelp":"","alamat":""}]}
Content-Disposition: form-data; name="param"
Content-Length: 109
{"action":"QueryKontakS","method":"createRecord","data":[{"nama":"test","email":"","notelp":"","alamat":""}]}
Но, в конце концов, он продолжает давать мне
{"type":"exception","message":"Call to undefined action: ","where":"everywhere"}
org.json.JSONException: No value for result
Я думаю JSON уже отправил запрос JSON, но результат мне ничего не дал. Кажется, что все запросы на вставку и обновление имели исключение. Может ли кто-нибудь здесь помочь мне в чем моя ошибка.