Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/186.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 安卓系统无法到达;否则";try-catch中的语句_Java_Android - Fatal编程技术网

Java 安卓系统无法到达;否则";try-catch中的语句

Java 安卓系统无法到达;否则";try-catch中的语句,java,android,Java,Android,我正在编写这段代码,发送一个带有截击的HTTP请求,当我得到json响应时,我解析它,并根据它给他什么,我想开始不同的意图。 所有的工作都很好,但是我不明白为什么在ifelse语句中,如果循环的主要部分不匹配,它没有到达循环的“else”端。 如果主循环满足,代码工作正常,否则我就有这个问题。 代码如下: public class MainActivity extends AppCompatActivity { private EditText etUsername; priv

我正在编写这段代码,发送一个带有截击的HTTP请求,当我得到
json
响应时,我解析它,并根据它给他什么,我想开始不同的意图。 所有的工作都很好,但是我不明白为什么在
ifelse
语句中,如果循环的主要部分不匹配,它没有到达循环的“else”端。 如果主循环满足,代码工作正常,否则我就有这个问题。 代码如下:

public class MainActivity extends AppCompatActivity {

    private EditText etUsername;
    private EditText etPassword;
    private Button btnLogin;

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

        etUsername = findViewById(R.id.etUsername);
        etPassword = findViewById(R.id.etPassword);
        btnLogin = findViewById(R.id.btnLogin);

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

    private void Login(){

        String url = "http://myapytestingthisurlisfake/loginuser_module";


        RequestQueue requestQueue = Volley.newRequestQueue(this);
        StringRequest stringRequest = new StringRequest(Request.Method.POST, url, new Response.Listener<String>() {
            @Override
            public void onResponse(String response) {

                Log.d("STATO HTTP", String.valueOf(response));



                 try {
                    JSONObject jresponse = new JSONObject(response);
                    JSONObject state = jresponse.getJSONObject("0");
                    JSONObject result = state.getJSONObject("Stato Information");
                    String statoo = result.getString("Stato");

                    Log.d("RESULT ERROR", statoo);

                    if (statoo.equals("Error")){ //Here the code work everytime
                        Toast.makeText(MainActivity.this, "stato è uguale da error", Toast.LENGTH_SHORT).show();
                    } else {//Here the code work never
                        Toast.makeText(MainActivity.this, "Statoo è diverso ad error", Toast.LENGTH_SHORT).show();
                    }



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


            }
        }, new Response.ErrorListener() {
            @Override
            public void onErrorResponse(VolleyError error) {
                Toast.makeText(MainActivity.this, "La chiamata non è andata a buon fine", Toast.LENGTH_SHORT).show();
                error.printStackTrace();
            }
        }) {
            @Override
            protected Map<String, String> getParams() throws AuthFailureError {

                Map<String, String> params = new HashMap<>();
                params.put("user","hello");
                params.put("password","there");
                params.put("secretKey","somerandomcode231231231231");
                params.put("username_utente", etUsername.getText().toString().trim());
                params.put("password_utente", etPassword.getText().toString().trim());
                return params;
            }
        };
        requestQueue.add(stringRequest);
    }
public类MainActivity扩展了AppCompatActivity{
私有编辑文本和用户名;
私人编辑文本和密码;
私人按钮;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
etUsername=findviewbyd(R.id.etUsername);
etPassword=findviewbyd(R.id.etPassword);
btnLogin=findviewbyd(R.id.btnLogin);
btnLogin.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图){
登录();
}
});
}
私有void登录(){
字符串url=”http://myapytestingthisurlisfake/loginuser_module";
RequestQueue RequestQueue=Volley.newRequestQueue(this);
StringRequest StringRequest=new StringRequest(Request.Method.POST,url,new Response.Listener()){
@凌驾
公共void onResponse(字符串响应){
Log.d(“STATO HTTP”,String.valueOf(response));
试一试{
JSONObject jresponse=新的JSONObject(响应);
JSONObject state=jresponse.getJSONObject(“0”);
JSONObject结果=state.getJSONObject(“Stato信息”);
String statoo=result.getString(“Stato”);
Log.d(“结果错误”,STATOW);
如果(statoo.equals(“Error”){//这里代码每次都工作
Toast.makeText(MainActivity.this,“statoèuguale da error”,Toast.LENGTH_SHORT.show();
}否则{//这里的代码永远不会工作
Toast.makeText(MainActivity.this,“Statooèdiverso ad error”,Toast.LENGTH_SHORT.show();
}
}捕获(JSONException e){
e、 printStackTrace();
}
}
},new Response.ErrorListener(){
@凌驾
公共无效onErrorResponse(截击错误){
Toast.makeText(MainActivity.this,“La chiamata nonèandata a buon fine”,Toast.LENGTH_SHORT.show();
错误。printStackTrace();
}
}) {
@凌驾
受保护的映射getParams()引发AuthFailureError{
Map params=新的HashMap();
参数put(“用户”、“您好”);
参数put(“密码”,“那里”);
参数put(“secretKey”、“somerandomCode231”);
参数put(“username_utete”,etUsername.getText().toString().trim());
参数put(“password_utete”,etPassword.getText().toString().trim());
返回参数;
}
};
添加(stringRequest);
}

因此,该值始终为“Error”?请发布
Log.d(“RESULT Error”,statoo)
是的,所有的人都工作得很好,我有所有的权限,https呼叫也可以工作,但是每次我启动应用程序,代码都不会到达语句的另一端。你调试了你的代码吗?
你刚刚写的结果是
错误`。你的代码表现和预期的一样。找出原因,值总是“错误”?请发布
日志.d(“结果错误”,statoo);
是的,所有人都工作得很好,我有所有权限,https调用也可以,但每次我启动应用程序时,代码都不会到达语句的另一端。你调试过代码吗?
你刚刚编写的结果是
错误。你的代码表现与预期一样。找出原因