Android方法在活动开始时运行而不是onCreate

时间:2011-10-30 15:05:06

标签: android methods android-activity oncreate

我有一个方法,我需要在活动开始时运行。 我已经尝试将它放在OnCreate中,但如果活动保持原状一段时间,则onCreate会被调用两次(就是这样,我正在检查在线更新......所以需要一些时间)

这就是为什么我不能将更新方法放在onCreate

任何想法?

谢谢你, 罗恩

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.options);
    checkUpdate();
}

private void checkUpdate(){
    Runnable runnable = new Runnable() {
        public void run() {
            try
            {
                // create a web request to check if i have the latest update
                HttpClient client = new DefaultHttpClient();  
.
.
.
.
.
        };
    new Thread(runnable).start();

3 个答案:

答案 0 :(得分:3)

通常,您不希望在UI线程上放置需要一些时间才能执行的方法。 相反,您可能希望创建AsyncTask(或Thread / Handlers)以在后台运行该方法。另请参阅onStart()是否可以帮助您从onCreate()移开一些逻辑。

答案 1 :(得分:1)

使用布尔值确定活动是否已经开始。

答案 2 :(得分:0)

你可以在oncreate中执行该方法但是添加一个类boolean字段来检查你是否已经添加了run该方法。