我是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
答案 0 :(得分:0)
如果此代码位于Activity
名称内,请说MyCoolActivity
,然后您可以使用MyCoolActivity.this.getApplicationContext()
和MyCoolActivity.this.startIntent()