Я создал функцию, вызываемую при нажатии кнопки, и передал текстовое значение, и код был протестирован, и я обнаружил, что код является истинным, и я создал файл PHP для получения значения и проверил файл, передав значение в браузере и показал правильные результаты для проблемы, когда я запускаю студию andreed Cover на кнопку Send, возникает исключение и появляется сообщение об ошибке
// Log.e : Throwable error com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was STRING at line 1 column 1 path $
// MainActivity:
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
final Handler handler = new Handler();
handler.postDelayed(new Runnable() {
@Override
public void run() {
post_2();
}
}, 300);
}
public void post_2(){
final ApiObject user = new ApiObject("a");
user.setValue("a");
ApiUtil.getServiceClass().setGetAllBody(user).enqueue(new Callback<MainResponse>(){
@Override
public void onResponse(Call<MainResponse> call,Response<MainResponse> response){
if(response.isSuccessful()){
if(response.body().status==0){
Log.i("msg00", "Returned msg0 " + response.body().message);
}else if (response.body().status==1){
Log.i("msg1", "Returned msg " + response.body().message);
}
//Log.i("msg", "Returned count " + postList.size());
}
}
@Override
public void onFailure(Call<MainResponse>call,Throwable t) {
Log.e("msg0","Throwable error "+t.toString());
}
});
}
}
// interface RetrofitInterface
public interface RetrofitInterface {
@Headers("Content-Type: application/json")
@POST("update.php")
Call<MainResponse> setGetAllBody(@Body ApiObject user);
}
//ApiObject :
public class ApiObject {
@SerializedName("value")
private String value;
private String message;
public ApiObject(String value) {
this.value = value;
}
public void setValue(String value) {
this.value = value;
}
public String getValue() {
return value;
}
}
// php file :
<?php
// include Marei DB Class
include 'DB.php';
$data = file_get_contents("php://input");
$obj = json_decode($data);
$db = DB::getInstance();
header('Content-Type', 'application/json; charset=utf-8');
$username= "";
if(!$_GET["value"]) {
print json_encode(['status' => 0, 'message' => 'Username is Non !']);
}
else{
$username = $_GET["value"];
print json_encode(['status' => 0, 'message' => 'Username is Done !']);
}
?>