2012-04-02 2 views
0

Я создал свое первое приложение для Android, и теперь я хочу, чтобы приложение проверяло мой сервер на наличие новых обновлений, когда пользователь запускает приложение; если версия в имени файла APK (например, weather-right-now-11.apk) отличается от фактической версии, попросите пользователя загрузить новое обновление. Как я могу это сделать?Проверяйте обновления при каждом запуске

Заранее благодарен!

ответ

1

добавить к вашей основной деятельности:

@Override 
    protected void onResume() { 
     Toast.makeText(getApplicationContext(), "OnResume", Toast.LENGTH_SHORT).show(); 
     super.onResume(); 
    } 

и добавить свое действие в этой функции. onResume запускается с каждым началом деятельности.

вы должны иметь сервер, подключиться к нему и проверить версию программы и скачать ее, вы можете проверить свою версию с этим:

getApplicationContext().getPackageManager().getPackageInfo(
       context.getApplicationInfo().packageName, 0).versionCode; 

вы можете использовать tcp или udp пакет для подключения к серверу и проверки вашей последней версии. Это ссылка, что вы можете узнать о TCP:

+0

Спасибо, но как мне подключиться к моему сайту через эту функцию, чтобы проверить версию? Я начал создавать приложения для Android вчера вечером, поэтому я довольно новичок в этой области. – Erik

+0

сообщение был отредактирован – AliSh

+0

Спасибо, но я ваш редактор был таким же, как stephendnickolas ответ. Теперь я знаю, как проверить версию приложения, но как подключиться к серверу и сравнить версию с версией имени файла? – Erik

1

Вы можете получить текущую версию кода приложения со следующим:

/* 
    * Try to get the current version code from the package manager. 
    */ 
    int currentVersionCode; 
    try { 
     currentVersionCode = context.getPackageManager().getPackageInfo(
       context.getApplicationInfo().packageName, 0).versionCode; 
    } catch (NameNotFoundException e) { 
     // Shouldn't ever happen - but log anyway 
     return; 
    } 

Вы бы тогда нужно для установки некоторых методов проверки с сервером при запуске приложения, либо в onCreate, либо onResume. Примечание. Я бы предложил использовать AsyncTask или отдельный поток, чтобы сделать это,