Java 为什么我';我在安卓显示器上发现了这个错误?
这是我的错误Java 为什么我';我在安卓显示器上发现了这个错误?,java,android,android-volley,Java,Android,Android Volley,这是我的错误 E/Volley: [272] BasicNetwork.performRequest: Unexpected response code 404 for http://192.168.0.102/line_app/includes/loginUser.php com.android.volley.ClientError com.android.volley.toolbox.BasicNetwork.performRequest(BasicNetwork.java:190) com
E/Volley: [272] BasicNetwork.performRequest: Unexpected response code 404 for http://192.168.0.102/line_app/includes/loginUser.php
com.android.volley.ClientError
com.android.volley.toolbox.BasicNetwork.performRequest(BasicNetwork.java:190)
com.android.volley.NetworkDispatcher.processRequest(NetworkDispatcher.java:120)
com.android.volley.NetworkDispatcher.run(NetworkDispatcher.java:87)
GL_emulation: eglSurfaceAttrib not implemented
Failed to set EGL_SWAP_BEHAVIOR on surface 0xf3f9ee80, error=EGL_SUCCES
我的代码
MainActivity.java
package com.example.rahul.lineapp;
import android.app.ProgressDialog;
import android.content.Intent;
import android.support.design.widget.TextInputLayout;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;
import com.android.volley.NetworkError;
import com.android.volley.RequestQueue;
import com.android.volley.Response;
import com.android.volley.ServerError;
import com.android.volley.TimeoutError;
import com.android.volley.VolleyError;
import com.android.volley.toolbox.Volley;
import org.json.JSONException;
import org.json.JSONObject;
public class MainActivity extends AppCompatActivity {
TextInputLayout ltxtb1,ltxtb2;
Button lbtn1;
String email, password;
TextView ltxt1;
RequestQueue requestQueue;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
setTitle("Login"); //set title of the activity
initialize(); //Initialize all the components present in the layout
requestQueue = Volley.newRequestQueue(MainActivity.this);//Creating the RequestQueue
//Login Button Clicked
lbtn1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
email = ltxtb1.getEditText().getText().toString();
password = ltxtb2.getEditText().getText().toString();
if (validateUsername(email) && validatePassword(password)) { //email and Password Validation
final ProgressDialog progressDialog = new ProgressDialog(MainActivity.this);
progressDialog.setTitle("Please Wait");
progressDialog.setMessage("Logging You In");
progressDialog.setCancelable(false);
progressDialog.show();
LoginRequest loginRequest = new LoginRequest(email, password, new Response.Listener<String>() {
@Override
public void onResponse(String response) {
Log.i("Login Response", response);
progressDialog.dismiss();
// Response from the server is in the form if a JSON, so we need a JSON Object
try {
JSONObject jsonObject = new JSONObject(response);
if (jsonObject.getBoolean("success")) {
Intent loginSuccess = new Intent(MainActivity.this, dash.class);
//Passing all received data from server to next activity
loginSuccess.putExtra("username", jsonObject.getString("username"));
loginSuccess.putExtra("email", jsonObject.getString("email"));
startActivity(loginSuccess);
finish();
} else {
if(jsonObject.getString("status").equals("INVALID"))
Toast.makeText(MainActivity.this, "User Not Found", Toast.LENGTH_SHORT).show();
else{
Toast.makeText(MainActivity.this, "Passwords Don't Match", Toast.LENGTH_SHORT).show();
}
}
}catch (JSONException e) {
e.printStackTrace();
Toast.makeText(MainActivity.this, "Bad Response From Server", Toast.LENGTH_SHORT).show();
}
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
progressDialog.dismiss();
if (error instanceof ServerError)
Toast.makeText(MainActivity.this, "Server Error", Toast.LENGTH_SHORT).show();
else if (error instanceof TimeoutError)
Toast.makeText(MainActivity.this, "Connection Timed Out", Toast.LENGTH_SHORT).show();
else if (error instanceof NetworkError)
Toast.makeText(MainActivity.this, "Bad Network Connection", Toast.LENGTH_SHORT).show();
error.printStackTrace();
}
});
requestQueue.add(loginRequest);
}
}
});
//Don't Have An Account TextView Clicked
ltxt1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(MainActivity.this, SignupActivity.class);
startActivity(intent);
}
});
}
private void initialize() {
ltxtb1 = (TextInputLayout) findViewById(R.id.txtbx1);
ltxtb2 = (TextInputLayout) findViewById(R.id.txtbx2);
lbtn1 = (Button) findViewById(R.id.button1);
ltxt1 = (TextView) findViewById(R.id.txt2);
}
private boolean validateUsername(String string) {
//Validating the entered USERNAME
if (string.equals("")) {
ltxtb1.setError("Enter a Email");
return false;
} else if (string.length() > 50) {
ltxtb1.setError("Maximum 50 Characters");
return false;
} else if (string.length() < 6) {
ltxtb1.setError("Minimum 6 Characters");
return false;
}
ltxtb1.setErrorEnabled(false);
return true;
}
private boolean validatePassword(String string) {
//Validating the entered PASSWORD
if (string.equals("")) {
ltxtb2.setError("Enter Your Password");
return false;
} else if (string.length() > 32) {
ltxtb2.setError("Maximum 32 Characters");
return false;
} else if (string.length() < 8) {
ltxtb2.setError("Minimum 8 Characters");
return false;
}
ltxtb2.setErrorEnabled(false);
return true;
}
}
package com.example.rahul.lineapp;
导入android.app.ProgressDialog;
导入android.content.Intent;
导入android.support.design.widget.TextInputLayout;
导入android.support.v7.app.AppActivity;
导入android.os.Bundle;
导入android.util.Log;
导入android.view.view;
导入android.widget.Button;
导入android.widget.EditText;
导入android.widget.TextView;
导入android.widget.Toast;
导入com.android.volley.NetworkError;
导入com.android.volley.RequestQueue;
导入com.android.volley.Response;
导入com.android.volley.ServerError;
导入com.android.volley.TimeoutError;
导入com.android.volley.VolleyError;
导入com.android.volley.toolbox.volley;
导入org.json.JSONException;
导入org.json.JSONObject;
公共类MainActivity扩展了AppCompatActivity{
文本输入布局ltxtb1、ltxtb2;
按钮lbtn1;
字符串电子邮件,密码;
文本视图ltxt1;
请求队列请求队列;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
setTitle(“Login”);//设置活动的标题
initialize();//初始化布局中的所有组件
requestQueue=Volley.newRequestQueue(MainActivity.this);//创建requestQueue
//单击登录按钮
lbtn1.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图v){
email=ltxtb1.getEditText().getText().toString();
密码=ltxtb2.getEditText().getText().toString();
if(validateUsername(电子邮件)&&validatePassword(密码)){//电子邮件和密码验证
final ProgressDialog ProgressDialog=新建ProgressDialog(MainActivity.this);
progressDialog.setTitle(“请稍候”);
progressDialog.setMessage(“登录您”);
progressDialog.setCancelable(假);
progressDialog.show();
LoginRequest LoginRequest=新的LoginRequest(电子邮件、密码、新响应.Listener(){
@凌驾
公共void onResponse(字符串响应){
Log.i(“登录响应”,响应);
progressDialog.disclose();
//来自服务器的响应的形式为if-JSON,因此我们需要一个JSON对象
试一试{
JSONObject JSONObject=新JSONObject(响应);
if(jsonObject.getBoolean(“成功”)){
意向登录成功=新意向(MainActivity.this,dash.class);
//将所有接收到的数据从服务器传递到下一个活动
loginsAccess.putExtra(“用户名”,jsonObject.getString(“用户名”);
loginsAccess.putExtra(“电子邮件”,jsonObject.getString(“电子邮件”);
startActivity(登录成功);
完成();
}否则{
if(jsonObject.getString(“status”).equals(“INVALID”))
Toast.makeText(MainActivity.this,“未找到用户”,Toast.LENGTH_SHORT.show();
否则{
Toast.makeText(MainActivity.this,“密码不匹配”,Toast.LENGTH_SHORT.show();
}
}
}捕获(JSONException e){
e、 printStackTrace();
Toast.makeText(MainActivity.this,“来自服务器的错误响应”,Toast.LENGTH_SHORT.show();
}
}
},new Response.ErrorListener(){
@凌驾
公共无效onErrorResponse(截击错误){
progressDialog.disclose();
if(服务器错误实例)
Toast.makeText(MainActivity.this,“服务器错误”,Toast.LENGTH_SHORT.show();
else if(TimeoutError的错误实例)
Toast.makeText(MainActivity.this,“连接超时”,Toast.LENGTH_SHORT.show();
else if(网络错误实例error)
Toast.makeText(MainActivity.this,“坏网络连接”,Toast.LENGTH_SHORT.show();
错误。printStackTrace();
}
});
添加(loginRequest);
}
}
});
//没有单击帐户文本视图
ltxt1.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图v){
意向意向=新意向(MainActivity.this,SignupActivity.class);
星触觉(意向);
}
});
}
私有void初始化(){
ltxtb1=(TextInputLayout)findViewById(R.id.txtbx1);
ltxtb2=(TextInputLayout)findViewById(R.id.txtbx2);
lbtn1=(按钮)findViewById(R.id.button1);
ltxt1=(TextView)findViewById(R.id.txt2);
}
私有布尔validateUsername(字符串){
//正在验证输入的用户名
if(string.equals(“”){
ltxtb1.setError(“输入电子邮件”);
返回false;
}else if(string.length()>50){
ltxtb1.setError(“最多50个字符”);
返回false;
}else if(string.length()<6){
package com.example.rahul.lineapp;
import com.android.volley.AuthFailureError;
import com.android.volley.Response;
import com.android.volley.toolbox.StringRequest;
import java.util.HashMap;
import java.util.Map;
public class LoginRequest extends StringRequest {
private static final String ROOT_URL = "http://192.168.0.102/line_app/includes/";
public static final String LOGIN_URL = ROOT_URL+"loginUser.php";
private Map<String, String> parameters;
public LoginRequest(String email, String password, Response.Listener<String> listener, Response.ErrorListener errorListener) {
super(Method.POST, LOGIN_URL, listener, errorListener);
parameters = new HashMap<>();
parameters.put("email", email);
parameters.put("password", password);
}
@Override
protected Map<String, String> getParams() throws AuthFailureError {
return parameters;
}
}