有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java无法从安卓手机向我的数据库发送截击post请求

我使用凌空截击让我的安卓通过PHP作为桥梁与数据库进行通信

下面是我在安卓 studio上的登录代码,使用emulatorNexus 4 API 23可以很好地工作,但是当我尝试使用我的智能手机运行应用程序时,它只在界面上工作,但数据并没有正常发送/运行。顺便说一句,我在这个应用程序上使用的是SDK版本29

public class LoginActivity extends AppCompatActivity implements View.OnClickListener {


EditText editTextNoPelajar,editTextPassword;
TextView link_register;
Button btnLogin;
private static String URL_LOGIN = "http://10.1.19.2/attendance/Login.php";
SessionManager sessionManager;

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

    sessionManager = new SessionManager(this);

    editTextNoPelajar = (EditText)findViewById(R.id.editTextNoPelajar);
    editTextPassword = (EditText) findViewById(R.id.editTextPassword);
    link_register = (TextView) findViewById(R.id.textViewRegister);
    btnLogin = (Button) findViewById(R.id.buttonLogin);


    btnLogin.setOnClickListener(this);
}

private void userLogin(){
   final String NoPelajar = editTextNoPelajar.getText().toString().trim();
   final String Password = editTextPassword.getText().toString().trim();

    if(NoPelajar.isEmpty() || Password.isEmpty()){
        Toast.makeText(this,"Please fill up all the requirement",Toast.LENGTH_LONG).show();
    }

    else{

        StringRequest stringRequest = new StringRequest(Request.Method.POST, URL_LOGIN,
                new Response.Listener<String>() {
                    @Override
                    public void onResponse(String response) {
                        try {
                            System.out.println(response);
                            JSONObject jsonObject = new JSONObject(response);
                            String success = jsonObject.getString("error");
                            JSONArray jsonArray = jsonObject.getJSONArray("login");


                            if(success.equals("0")){

                                for(int i = 0 ; i < jsonArray.length();i++){
                                    JSONObject object = jsonArray.getJSONObject(i);

                                    String name = object.getString("Name").trim();
                                    String KodProgram = object.getString("KodProgram").trim();

                                    sessionManager.createSession(name,KodProgram);

                                    Intent intent = new Intent(LoginActivity.this,HomeActivity.class);
                                    intent.putExtra("Name",name);
                                    intent.putExtra("KodProgram",KodProgram);
                                    startActivity(intent);
                                    finish();
                                }

                            }

                        } catch (JSONException e) {
                            e.printStackTrace();

                        }

                    }
                }, new Response.ErrorListener() {
            @Override
            public void onErrorResponse(VolleyError error) {
                Toast.makeText(getApplicationContext(),error.getMessage(),Toast.LENGTH_LONG).show();
            }
         })
        {
            @Override
            protected Map<String, String> getParams() throws AuthFailureError {
                Map<String,String> params = new HashMap<>();
                params.put("NoPelajar",NoPelajar);
                params.put("Password",Password);

                return params;
            }
        };

        RequestQueue requestQueue = Volley.newRequestQueue(this);
        requestQueue.add(stringRequest);
    }

}

@Override
public void onClick(View view) {
    if(view == btnLogin){
        userLogin();
    }

}

}

另外,我已经在清单中启用了所有internet权限,如下所示

   <uses-permission 安卓:name="安卓.permission.INTERNET" />
<uses-permission 安卓:name="安卓.permission.ACCESS_WIFI_STATE" />
<uses-permission 安卓:name="安卓.permission.ACCESS_NETWORK_STATE" />
<uses-permission 安卓:name="安卓.permission.CHANGE_WIFI_STATE" />
<uses-permission 安卓:name="安卓.permission.CHANGE_NETWORK_STATE" />

一旦我点击按钮登录它就会显示这个

I/System.out: (HTTPLog)-Static: isSBSettingEnabled false
I/System.out: (HTTPLog)-Static: isSBSettingEnabled false
I/System.out: (HTTPLog)-Static: isSBSettingEnabled false
D/ViewRootImpl@8b8d06[Toast]: setView = 安卓.widget.LinearLayout{9070fc7 V.E...... ......I. 0,0- 
0,0} TM=true MM=false
D/ViewRootImpl@8b8d06[Toast]: dispatchAttachedToWindow
V/Surface: sf_framedrop debug : 0x4f4c, game : false, logging : 0
D/ViewRootImpl@8b8d06[Toast]: Relayout returned: old=[0,0][0,0] new=[462,1596][618,1728] result=0x7 
surface={valid=true 536733736960} changed=true
D/ViewRootImpl@8b8d06[Toast]: MSG_RESIZED_REPORT: frame=Rect(462, 1596 - 618, 1728) ci=Rect(0, 0 - 
0, 0) vi=Rect(0, 0 - 0, 0) or=1
D/ViewRootImpl@8b8d06[Toast]: dispatchDetachedFromWindow
D/InputEventReceiver: channel '630e1a0 Toast (client)' ~ Disposing input event receiver.
D/InputEventReceiver: channel '630e1a0 Toast (client)' ~NativeInputEventReceiver.
I/zygote64: Do full code cache collection, code=250KB, data=195KB
I/zygote64: After code cache collection, code=247KB, data=157KB
I/zygote64: Do partial code cache collection, code=248KB, data=160KB
I/zygote64: After code cache collection, code=248KB, data=160KB
Increasing code cache capacity to 1024KB

我哪里做错了人?。。请帮我解决这个问题,已经两天没有找到解决办法了。多谢各位


共 (0) 个答案