Error with Null



我正在处理一个项目,遇到了一个问题。它以前工作得很好,但我正在做的是向url发送请求,并期待JSON响应。然而,当我检查响应时,它一直返回为null。这在以前不是一个问题,而是随机开始发生的。任何帮助都将不胜感激!"

此外,我还有另一个类,它实际处理url请求。

第一个位是登录页面上的onclick侦听器。它获取文本字段并将它们转换为字符串。登录的工作方式是必须将所有信息推送到URL中,这就是为什么它是这样设置的。

    bt.setOnClickListener(new OnClickListener(){
        @Override
        public void onClick(View v) {
            String account = acct.getText().toString();
            String uname = user.getText().toString();
            String passWord = pass.getText().toString();
            url = ap+"&t2mdeveloperid="+id+account+"&t2musername="+uname+"&t2mpassword="+passWord;
            new Login().execute();
        }
    }
            );
}

好的,这是请求运行的异步任务。

     private class Login extends AsyncTask<Void, Void, Void>{
    @Override
    protected void onPreExecute(){
        super.onPreExecute();
        //Here we will display our progress bar. This is dependent on each page. 
        pDialog = new ProgressDialog(MainActivity.this);
        pDialog.setMessage("Loading Talk2M Account");
        pDialog.setCancelable(true);
        pDialog.show();
    }

    @Override
    protected Void doInBackground(Void... arg0){
        //We need to create an object to call our service handler to make our http request. 
        ServiceHandler login = new ServiceHandler();
        //Now we need to make a request to the url as well as recieve the response. 
        String response = login.makeServiceCall(url, ServiceHandler.GET);
        Log.d("Response: ", "> " + response);
        try{
            JSONObject jsonObj = new JSONObject(response);
            String session = jsonObj.getString(TAG_SESSION);

        }catch(JSONException e){
            e.printStackTrace();
        }
        return null;
    }
    @Override
    protected void onPostExecute(Void result){
        super.onPostExecute(result);
        if(pDialog.isShowing())
            pDialog.dismiss();
    }
}

如果您返回的JSON为null,我的第一个猜测是验证您是否命中了正确的URL。如果是这种情况,那么api方面可能存在问题。您可能希望在应用程序的上下文之外,在REST客户端或web浏览器中测试此HTTP请求。

谨致问候。

相关内容

  • 没有找到相关文章

最新更新