【发布时间】:2015-12-29 08:28:39
【问题描述】:
在我的 Android 项目中,我想存储人员数据。 基本的是,填写个人详细信息表后,当按进入时,它将连接到服务器并存储来自服务器的数据。
所以,我有:
private void serverSignup(final Person suf) {
new AsyncTask<Person, Void, String>() {
@Override
protected String doInBackground(Person... params) {
String serverResponse = "";
try {
serverResponse = mServerAuth.userSignup(suf.getName(),
suf.getCountry(),suf.getDate(), suf.getEmail());
} catch (Exception e) {
Log.e("ErrorMessage", TAG + " > Signup access server error: " +
e.getMessage()); **I am getting this section as null
}
return serverResponse;
}
@Override
protected void onPostExecute(String serverResponse) {
finish();
}
}.execute();
}
和mServerAuth代码是:
public String userSignup(String name, String country,
String date, String email) throws Exception {
String url = "http://localhost:8080/SpringMVCHibernate/person/add";
Person suf = new Person(name, country, date, email);
List<NameValuePair> pairs = new ArrayList<NameValuePair>(1);
pairs.add(new BasicNameValuePair("suf", new Gson().toJson(suf)));
DefaultHttpClient httpClient = new DefaultHttpClient();
HttpEntity requestEntity = new UrlEncodedFormEntity(pairs);
HttpPost httpPost = new HttpPost(url);
httpPost.setEntity(requestEntity);
try {
HttpResponse response = httpClient.execute(httpPost);
HttpEntity entity = response.getEntity();
} catch (IOException ioe) {
Log.e("Error", TAG + " >
IOEException during the POST response: " + ioe.getMessage());
}
return null;
}}
访问此代码时出现错误:
Signup access server error: null
为什么值为null??它没有连接到服务器吗??
【问题讨论】:
-
您是否在您的 Manifest.xml 中添加了正确的权限
-
@Preeti:使用 HTTPUrlConnection 进行 Web 服务请求。
-
@kevz:好的,但是为什么我必须使用“HTTPUrlConnection”? DefaultHttpClient 不支持???
-
@Preeti:是的,它在 Android 的新 API 中已被弃用。