发布数据,但现在是什么?

时间:2014-03-15 15:41:15

标签: android httpresponse

我是Android开发的新手,所以请耐心等待我。

我正在尝试将用户ID和密码发布到PHP页面并返回数据(页面工作正常,经过测试并返回Json数据)。

我按照在线指南进行了类似的问题:

How to send data to a website using httpPost, app crashes

所以我按照上面帖子中的以下答案中的说法进行了操作 https://stackoverflow.com/a/18588948/3415061

没有更多错误,但现在我如何控制返回数据后发生的事情,如果有效,我该如何进入下一个屏幕并显示它?

以下函数执行请求,但是如果有效则我如何获得对屏幕的响应。

@Override
protected Boolean doInBackground(Void... params) {
    HttpClient httpclient = new DefaultHttpClient();
    HttpPost httppost = new HttpPost("http://www.blag.com/blag.php");
    try {
         List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(3);
        nameValuePairs.add(new BasicNameValuePair("acc", "blag"));
        nameValuePairs.add(new BasicNameValuePair("usr", "blag"));
        nameValuePairs.add(new BasicNameValuePair("pass", "blag"));

        httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
        HttpResponse response = httpclient.execute(httppost);
        return true;
    } catch (ClientProtocolException e) {
        e.printStackTrace();
    } catch (IOException e) {
        e.printStackTrace();
    }
    return false ;
}

或者我想在这里访问响应,但我试图从这里启动另一个屏幕,但是我遇到了错误。

protected void onPostExecute(Boolean result) {
    super.onPostExecute(result);
    if(result){
        //successful request
    }else{
        //error in request response
    }
   // msgTextField.setText(""); // clear text box
}

我采取了正确的方法吗?

提前致谢!!!

新代码:

protected void onPostExecute(String result) {
    super.onPostExecute(result);
    if(result=="HEllO"){
        //successful request


            Intent dashboard = new Intent(getApplicationContext(), MainOrder.class);         
            dashboard.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
            startActivity(dashboard);

        //userFunction.logoutUser(getActivity().getApplicationContext());
    }else{
        //error in request response
    }
   // msgTextField.setText(""); // clear text box
}
GetApplicationContext上的

错误: 对于NetRequestAsync

类型,未定义getApplicationContext()方法

和命令行StartActivity上的错误 方法startActivity(Intent)未定义类型NetRequestAsync

1 个答案:

答案 0 :(得分:0)

如果此代码位于Activity名称内,请说MyCoolActivity,然后您可以使用MyCoolActivity.this.getApplicationContext()MyCoolActivity.this.startIntent()