Android 发布数据,但现在怎么办?
我是android开发的新手,所以请耐心等待我 我试图将用户id和密码发布到PHP页面并返回数据(页面工作正常,经过测试并返回Json数据) 我遵循了在线指南,并遇到了类似的问题: 因此,我在上面的帖子中遵循了下面的回答 没有更多的错误,但现在我如何控制返回数据后发生的情况,如果数据有效,我如何转到下一个屏幕并显示它 下面的函数执行请求,但是如果有效或无效,如何获得屏幕响应Android 发布数据,但现在怎么办?,android,httpresponse,Android,Httpresponse,我是android开发的新手,所以请耐心等待我 我试图将用户id和密码发布到PHP页面并返回数据(页面工作正常,经过测试并返回Json数据) 我遵循了在线指南,并遇到了类似的问题: 因此,我在上面的帖子中遵循了下面的回答 没有更多的错误,但现在我如何控制返回数据后发生的情况,如果数据有效,我如何转到下一个屏幕并显示它 下面的函数执行请求,但是如果有效或无效,如何获得屏幕响应 @Override protected Boolean doInBackground(Void... params)
@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(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上的错误
NetRequestAsync类型的startActivity(Intent)方法未定义。如果此代码位于名称的
活动中,例如MyColActivity
,则可以使用MyColActivity访问这些方法。this.getApplicationContext()和MyColActivity.this.startIntent()
现在你到底想要什么?你想解析这个响应吗?如果响应良好,我想启动一个新屏幕(intent),并将数据传递到新屏幕。我已经创建了新屏幕,但在尝试调用屏幕时,代码中出现错误。下面是最新的codeprotected void onPostExecute(字符串结果){super.onPostExecute(结果);if(结果==“HEllO”){//successful request Intent dashboard=new Intent(getApplicationContext(),MainOrder.class);dashboard.addFlags(Intent.FLAG\u ACTIVITY\u CLEAR\u TOP);startActivity(dashboard);}else{//request-response中的错误}//msgTextField.setText(“”;//clear-text-box}很抱歉,这看起来像垃圾,我在上面的问题中添加了新代码。很抱歉,我不明白,意图代码在一个名为onPostExecute的函数中,它在一个名为NetRequestAsync的类中。我试图从onPostExecute加载表单,但代码中有错误(红色下划线)。我在问题底部提到的错误。通常像您的NetRequestAsync
类这样的类包含在活动
类中。如果不是您的情况,则必须将当前的活动
作为参数传递给此类。把包含你的类的文件的完整代码放进去,这样帮助你会更容易。juan,thnx,这就是问题所在,我在不同的类中使用了netrequestAsync。就像我说的,我正在阅读在线指南,我想我应该在一个新的课堂上创建它。我把班搬到mainactivity,现在它显示新屏幕。不客气。如果您接受我的回答,我将不胜感激:)
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
}