![](/img/trans.png)
[英]Exception in thread “Thread-3” java.lang.NoSuchMethodError: org.apache.http.impl.client.DefaultRedirectStrategy.<init>([Ljava/lang/String;)V
[英]Android Login Registration System with PHP, MySQL with error 'java.lang.NoSuchMethodError: org.apache.http.impl.client.DefaultHttpClient.execute'
我已经用PHP,MySQL开发了Android登录注册系统。 这是简单的问题,但使我感到困惑。 我有很多错误,如下所示。
造成原因:java.lang.NoSuchMethodError:org.apache.http.impl.client.DefaultHttpClient.execute在com.chinatown.wangjian.chinatown_loginv10.Library.JSONParser.getJSONFromUrl(JSONParser.java:45)在com.chinatown.wangjian。 chinatown_loginv10.Library.UserFunctions.loginUser(UserFunctions.java:42)位于com.chinatown.wangjian.chinatown_loginv10.Login $ ProcessLogin.doInBackground(Login.java:194)位于com.chinatown.wangjian.chinatown_loginv10.Login $ ProcessLogin.doInBackground(Login.java:194) Login.java:170)位于com.chinatown.wangjian.chinatown_loginv10.Register $ ProcessRegister.onPreExecute(Register.java:197)位于android.os.AsyncTask.executeOnExecutor(AsyncTask.java:586)位于android.os.AsyncTask.execute (AsyncTask.java:534)在com.chinatown.wangjian.chinatown_loginv10.Register $ NetCheck.onPostExecute(Register.java:167)在com.chinatown.wangjian.chinatown_loginv10.Register $ NetCheck.onPostExecute(Register.java:119)>在android.os.AsyncTask.executeOnExecutor(AsyncTask.java:586)在android.os.AsyncTask.execute(AsyncTask.java :534)在com.chinatown.wangjian.chinatown_loginv10.Login $ NetCheck.onPostExecute(Login.java:159)在com.chinatown.wangjian.chinatown_loginv10.Login $ NetCheck.onPostExecute(Login.java:110)
我的Java代码有一部分:
JSONParser.java
HttpResponse httpResponse = httpClient.execute(httpPost);
HttpEntity httpEntity = httpResponse.getEntity();
is = httpEntity.getContent();
用户功能
public JSONObject registerUser(String mobile, String email, String uname, String password){
// Building Parameters
List params = new ArrayList();
params.add(new BasicNameValuePair("tag", register_tag));
params.add(new BasicNameValuePair("mobile", mobile));
params.add(new BasicNameValuePair("email", email));
params.add(new BasicNameValuePair("uname", uname));
params.add(new BasicNameValuePair("password", password));
JSONObject json = jsonParser.getJSONFromUrl(registerURL,params);
return json;
}
注册.java
private class ProcessRegister extends AsyncTask<String, String, JSONObject> {
private ProgressDialog pDialog;
String email,password,mobile,uname;
@Override
protected void onPreExecute() {
// TODO Auto-generated method stub
super.onPreExecute();
inputUsername = (EditText) findViewById(R.id.uname);
inputPassword = (EditText) findViewById(R.id.password);
mobile = inputMobile.getText().toString();
email = inputEmail.getText().toString();
uname= inputUsername.getText().toString();
password = inputPassword.getText().toString();
pDialog = new ProgressDialog(Register.this);
pDialog.setTitle("正在链接服务器");
pDialog.setMessage("注册中 ...");
pDialog.setIndeterminate(false);
pDialog.setCancelable(true);
pDialog.show();
}
protected JSONObject doInBackground(String... args) {
UserFunctions userFunction = new UserFunctions();
JSONObject json = userFunction.registerUser(mobile, email, uname, password);
return json;
}
private class NetCheck extends AsyncTask<String,String,Boolean>
{
private ProgressDialog nDialog;
@Override
protected void onPreExecute(){
super.onPreExecute();
nDialog = new ProgressDialog(Register.this);
nDialog.setMessage("加载中..");
nDialog.setTitle("正在检查网络");
nDialog.setIndeterminate(false);
nDialog.setCancelable(true);
nDialog.show();
}
我已经参考该网站尝试修复https://community.oracle.com/thread/2279492?start=0 ,并将httpcore-4.1.jar升级到libs文件夹图像下的最新版本。 但不适用于我的项目。 我是这方面的新手,因此我们将不胜感激。 提前致谢!
您尝试交流的方式已过时。 我的意思是许多类已经被描述过了,例如DefaultHttpClient
, BasicNameValuePair
, HttpResponse
等。请使用HTTPUrlConnection以获得更好的性能。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.