Android Asynctask передает одну строку
Я хотел бы передать одну строку в asynctask. Может ли кто-нибудь показать мне, как это делается? my getEntity нуждается в методе getEntity (Activity, String, EntityGetListener), но я продолжаю передавать эту строку []
String pass= story.get(position).getEntity();
new RemoteDataTask().execute(pass);
private class RemoteDataTask extends AsyncTask<String, String, Long> {
@Override
protected Long doInBackground(String... params) {
// TODO Auto-generated method stub
EntityUtils.getEntity(activity, params, new EntityGetListener() {
@Override
public void onGet(Entity entity) {
viewcount = entity.getEntityStats().getViews();
}
@Override
public void onError(SocializeException error) {
}
});
return null;
}
}
Ответы
Ответ 1
У вас уже есть этот
new RemoteDataTask().execute(pass); // assuming pass is a string
В doInbackground
@Override
protected Long doInBackground(String... params) {
String s = params[0]; // here youre string
... //rest of the code.
}
Вы можете найти больше информации @
http://developer.android.com/reference/android/os/AsyncTask.html
Ответ 2
Вы можете построить AsyncTask
с помощью конструктора.
public class RemoteDataTask extends AsyncTask<String, String, Long> {
private String data;
public RemoteDataTask(String passedData) {
data = passedData;
}
@Override
protected String doInBackground(Context... params) {
// you can access "data" variable here.
EntityUtils.getEntity(activity, params, new EntityGetListener() {
@Override
public void onGet(Entity entity) {
viewcount = entity.getEntityStats().getViews();
}
@Override
public void onError(SocializeException error) {
}
});
return null;
}
}
В приложении (Activity
, Service
и т.д.) вы можете использовать;
private RemoteDataTask mTask;
private void doStuff(){
String pass = "meow"; // story.get(position).getEntity();
mTask = new RemoteDataTask(pass);
mTask.execute();
}