studio - hilos asynctask android
Asynctask de Android pasa una sola cadena (2)
Me gustaría pasar una sola cadena en una asynctask. ¿Alguien podría mostrarme cómo se hace? mi getEntity necesita el método getEntity (Activity, String, EntityGetListener) pero sigo pasando este String []
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;
}
}
Puedes construir AsyncTask
con un constructor.
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;
}
}
En la aplicación ( Activity
, Service
, etc.), puede utilizar;
private RemoteDataTask mTask;
private void doStuff(){
String pass = "meow"; // story.get(position).getEntity();
mTask = new RemoteDataTask(pass);
mTask.execute();
}
Ya tienes esto
new RemoteDataTask().execute(pass); // assuming pass is a string
En doInbackground
@Override
protected Long doInBackground(String... params) {
String s = params[0]; // here''s youre string
... //rest of the code.
}
Puedes encontrar más información @
http://developer.android.com/reference/android/os/AsyncTask.html