Android-метод для запуска при запуске активности, а не при создании - PullRequest
0 голосов
/ 30 октября 2011

У меня есть метод, который мне нужно запустить при запуске действия.Я пытался поместить его в 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 ]

3 голосов
/ 30 октября 2011

Как правило, вы не хотите помещать методы, выполнение которых занимает некоторое время, в поток пользовательского интерфейса.Вместо этого вы можете создать AsyncTask (или Thread / Handlers) для запуска метода в фоновом режиме.Также посмотрите, поможет ли onStart () отойти от логики onCreate ().

1 голос
/ 30 октября 2011

Используйте логическое значение, чтобы определить, запущено ли действие.

0 голосов
/ 30 октября 2011

вы можете выполнить этот метод в oncreate, но добавьте логическое поле класса, чтобы проверить, если вы уже добавили запустить этот метод.

...