2012-04-02 12 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; 

サーバーとチェックに接続するためにtcpudpパケットを使用することができますあなたの最後のバージョン。これは、TCPについて学ぶことができますリンクです:

+0

ありがとう、どうすれば私のウェブサイトのトラフにバージョンをチェックするために接続するのですか?私は昨晩Androidアプリケーションを作成し始めたので、この分野ではかなり新しいです。 – Erik

+0

投稿は編集されました – AliSh

+0

ありがとうございます。あなたの編集はstephendnickolas answerと同じでした。私は今どのようにアプリケーションのバージョンをチェックするのか知っていますが、サーバに接続してファイルのバージョンとバージョンを比較するのはどうですか? – 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または別のスレッドを使用してこれを行うことをお勧めします。

関連する問題