我在我的Android應用程序中創建了Splash
屏幕(Activity
)。我有一個擴展AsyncTask
的內部類。此內部類的構造函數接受Context
對象,該對象在Splash
活動的onCreate
方法中發送。還有一個常數String
字段。可變範圍內部類
public class Splash extends Activity {
private static final String TAG = "Splash";
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.splash);
new SplashAsyncTask(this).execute(new Void[] {});
}
private class SplashAsyncTask extends AsyncTask<Void, Void, Void> {
private Context context;
public SplashAsyncTask(Context context) {
this.context = context;
}
@Override
protected Void doInBackground(Void... params) {
try {
Thread.sleep(1500);
}
catch(InterruptedException e) {
if(Constants.LOGGING)
Log.e(TAG, e.toString());
}
return null;
}
@Override
protected void onPostExecute(Void result) {
super.onPostExecute(result);
}
}
}
我應該爲private static final String TAG = "Splash";
變量使用什麼範圍?所有範圍似乎都很好,但什麼是合適/更有效?我注意到eclipse會自動創建public
範圍聲明的變量
另外,我真的需要發送Context
對象到SplashAsyncTask
的構造函數嗎?或者我可以/我應該只在所有需要Context
參考的情況下使用Splash.this
?
有沒有必要發送上下文關聯到SplashAsynTask。內部類只是外部類的成員,他們可以訪問外部類的任何成員變量。 – 2010-09-29 15:45:58
我認爲根本不需要啓動屏幕,我討厭看到那些讓我等待的屏幕^^所以想想看它是否有意義 – 2010-09-29 15:58:15
好吧然後把它看作是另一個活動(不是飛濺)與AsyncTask – binnyb 2010-09-29 15:59:16