大家好我试图访问与asynctasks一起工作的类,但奇怪的是我得到了令人讨厌的错误,也许你可以帮助我,serverRequest.Storenaryste();
上的错误显示这里是代码:
.................................................. ..............................
uzsisakyti.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Global.naryste = trukme +" "+ "rad" +" "+ kaina.getText().toString();
naris();
}
});
private void naris() {
ServerRequests serverRequest = new ServerRequests(this);
serverRequest.Storenaryste();
}
ServerRequest类:
public class Storenaryste extends AsyncTask<Void, Void, Void> {
@Override
protected Void doInBackground(Void... params) {
ArrayList<NameValuePair> dataToSend = new ArrayList<>();
dataToSend.add(new BasicNameValuePair("pastas",Global.elpastas ));
dataToSend.add(new BasicNameValuePair("slaptazodis",Global.slaptazodis ));
dataToSend.add(new BasicNameValuePair("naryste",Global.naryste));
HttpParams httpRequestParams = getHttpRequestParams();
HttpClient client = new DefaultHttpClient(httpRequestParams);
HttpPost post = new HttpPost(SERVER_ADDRESS
+ "Naryste.php");
try {
post.setEntity(new UrlEncodedFormEntity(dataToSend));
client.execute(post);
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
private HttpParams getHttpRequestParams() {
HttpParams httpRequestParams = new BasicHttpParams();
HttpConnectionParams.setConnectionTimeout(httpRequestParams,
CONNECTION_TIMEOUT);
HttpConnectionParams.setSoTimeout(httpRequestParams,
CONNECTION_TIMEOUT);
return httpRequestParams;
}
@Override
protected void onPostExecute(Void result) {
super.onPostExecute(result);
progressDialog.dismiss();
}
}
答案 0 :(得分:1)
您正试图像这样开始AsyncTask
:
ServerRequests serverRequest = new ServerRequests(this);
serverRequest.Storenaryste();
这对我来说有点奇怪,你应该这样做:
new Storenaryste().execute();
哪个应该有用。
另请查看AsyncTask的文档以了解如何正确使用它:
http://developer.android.com/reference/android/os/AsyncTask.html
答案 1 :(得分:0)
将您的功能更改为
private void naris() {
new Storenaryste().execute();
}