Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/199.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
无法将连接类型为java.lang.string的值转换为jsonobject[Android Volley Library]_Java_Android_Android Volley - Fatal编程技术网

无法将连接类型为java.lang.string的值转换为jsonobject[Android Volley Library]

无法将连接类型为java.lang.string的值转换为jsonobject[Android Volley Library],java,android,android-volley,Java,Android,Android Volley,我知道,我知道,这是一个老问题,但我完全卡住了。我一直试图用Stackoverflow上的所有答案来解决这个问题,但仍然无能为力。这是我的代码: [爪哇]: package com.projectbengkelin; import android.content.Intent; import android.os.Bundle; import android.util.Log; import android.view.View; import android.widget.Button; im

我知道,我知道,这是一个老问题,但我完全卡住了。我一直试图用Stackoverflow上的所有答案来解决这个问题,但仍然无能为力。这是我的代码:

[爪哇]:

package com.projectbengkelin;

import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ProgressBar;
import android.widget.Toast;

import androidx.appcompat.app.AppCompatActivity;

import com.android.volley.AuthFailureError;
import com.android.volley.Request;
import com.android.volley.RequestQueue;
import com.android.volley.Response;
import com.android.volley.VolleyError;
import com.android.volley.toolbox.StringRequest;
import com.android.volley.toolbox.Volley;

import org.json.JSONException;
import org.json.JSONObject;

import java.util.HashMap;
import java.util.Map;

public class Register extends AppCompatActivity {

     EditText Edtnama,Edtemail,Edtalamat,EdtnoHp,Edtpassword;
     Button btnLanjut;
     Button btnKembali;
     ProgressBar loading;
     String nama, email, alamat, noHp, password;
    //private static String URL_REGISTER = "http://192.168.56.1/finals-mobile/register.php";
     String URL_REGISTER = "https://bengkelinteam.000webhostapp.com/api/insert_user.php";

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_register);

        Edtnama = findViewById(R.id.nama);
        Edtemail = findViewById(R.id.email);
        Edtalamat = findViewById(R.id.alamat);
        EdtnoHp = findViewById(R.id.noHp);
        Edtpassword = findViewById(R.id.password);
        loading = findViewById(R.id.loading);
        btnLanjut = findViewById(R.id.btnLanjut);
        btnKembali = findViewById(R.id.btnKembali);

        btnKembali.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                openMainActivity();
            }
        });

        btnLanjut.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Register();
            }
        });
    }


    private void Register() {
        loading.setVisibility(View.VISIBLE);
        btnLanjut.setVisibility(View.GONE);

         nama = Edtnama.getText().toString();
         email = Edtemail.getText().toString();
         alamat = Edtalamat.getText().toString();
         noHp = EdtnoHp.getText().toString();
         password = Edtpassword.getText().toString();
         RequestQueue requestQueue = Volley.newRequestQueue(Register.this);

        StringRequest stringRequest = new StringRequest(Request.Method.POST, URL_REGISTER, new Response.Listener<String>() {
                    @Override
                    public void onResponse(String response) {
                        try {
                            JSONObject jsonObject = new JSONObject(response);
                            int sukses = jsonObject.getInt("success");
                            // Toast.makeText(Register.this, "Setelah jsonObject", Toast.LENGTH_SHORT).show();
                            if (sukses == 1) {
                                Toast.makeText(Register.this, "Register Success!", Toast.LENGTH_SHORT).show();
                                finish();
                            }
                        } catch (JSONException e) {
                            e.printStackTrace();
                            Toast.makeText(Register.this, "Register Failed!" + e.toString(), Toast.LENGTH_LONG).show();
                            loading.setVisibility(View.GONE);
                            btnLanjut.setVisibility(View.VISIBLE);
                        }
                    }
                },
                new Response.ErrorListener() {
                    @Override
                    public void onErrorResponse(VolleyError error) {
                        Toast.makeText(Register.this, "Register Failed!" + error.toString(), Toast.LENGTH_SHORT).show();
                        //error.printStackTrace();
                        Log.e("Error", error.getMessage());
                        loading.setVisibility(View.GONE);
                        btnLanjut.setVisibility(View.VISIBLE);
                    }
                })
        {
            @Override
            protected Map<String, String> getParams() {
                Map<String, String> params = new HashMap<>();
                params.put("nama", nama);
                params.put("email", email);
                params.put("alamat", alamat);
                params.put("noHp", noHp);
                params.put("password", password);
                return params;
            }

            @Override
            public Map<String, String> getHeaders() throws AuthFailureError {
                Map<String, String> params = new HashMap<>();
                params.put("Content-Type", "application/x-www-form-urlencoded");
                return params;
            }
        };
        //RequestQueue requestQueue = Volley.newRequestQueue(this);
        requestQueue.getCache().clear();
        requestQueue.add(stringRequest);
    }
    public void openMainActivity(){
        Intent intent = new Intent(this, MainActivity.class);
        startActivity(intent);
    }
}


请帮帮我

您的php代码中有一个简单的问题-这样做:

     $response=array();

     $q = mysqli_query($conn, "INSERT INTO user (noHp, email ,nama, alamat, password) VALUES ('$nohp','$email','$nama','$alamat','$password')");

        if ($q) {
            $response["success"] = "1";
            $response["message"] = "success";
        } else {
            $response["success"] = "0";
            $response["message"] = "error";
        }
     echo json_encode($response);
     mysqli_close($conn);
用于检查您的响应

value connected of type java.lang.string cannot be converted to jsonobject
     $response=array();

     $q = mysqli_query($conn, "INSERT INTO user (noHp, email ,nama, alamat, password) VALUES ('$nohp','$email','$nama','$alamat','$password')");

        if ($q) {
            $response["success"] = "1";
            $response["message"] = "success";
        } else {
            $response["success"] = "0";
            $response["message"] = "error";
        }
     echo json_encode($response);
     mysqli_close($conn);