我有几个私有的AsyncTask方法,我想打破公共外部类.在我的应用程序中,我有一个扩展Application的公共类,它包含了我想从我的应用程序的不同部分访问的一些共享例程.然而,当我打破AsyncTask类时,我不再能够调用getApplicationContext()来获取对我的应用程序库的引用(该类不会立即从Activity继承任何内容).getBaseContext()也会有问题.我是否应该在实例化并从那里构建时将上下文传递给AsyncTask?不确定这是否安全.
import java.util.ArrayList;
import android.os.AsyncTask;
public class DlTask extends AsyncTask
{
long totalbytes = 0;
long totalread = 0;
ArrayList <String> data;
@Override
protected void onPreExecute ()
{
AppLib lib = (AppLib) getApplicationContext();
lib.saveStatusText ("Contacting " + lib.getServerAddress () + ":" + lib.getServerPort () + "...");
super.onPreExecute ();
}
@Override
protected Object doInBackground (Object... params)
{
data = lib.sendCommand (CMD_LIST);
return true;
}
@Override
protected void onPostExecute (Object result)
{
if (data != null)
{
lib.saveStatusText (data.size () + " …Run Code Online (Sandbox Code Playgroud)