Я использую залп, чтобы заставить мой android общаться с моей базой данных, используя PHP в качестве моста для доступа к базе данных.
Ниже приведен мой код входа в систему на android studio , который отлично работаетнормально использовать эмулятор Nexus 4 API 23 , но когда я пытаюсь запустить приложение с помощью своего смартфона Samsung A5-2017 , оно работает только на интерфейсе, но данные не отправляются / не работаюткак это должно.Кстати, я использую 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();
}
}
}
Кроме того, я включил все разрешения доступа в Интернет на Манифест , как показано ниже
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
<uses-permission android:name="android.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 = android.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
Где я ошибся, ребята? .. Пожалуйста, помогите мне решить эту проблему, он уже 2 дня пытаетсявыяснить решение.Спасибо