アプリを開いたときに、たとえば mysite/last.txt などのサーバー内のファイルを確認したい
このファイルには、次のような最後のアプリバージョンを入れました:3.3
ユーザーがアプリを開くたびに、最初にこのファイルを確認し、アプリのバージョンがサーバーのテキスト ファイルに入力したバージョンよりも低いかどうかを確認し、新しいバージョンのユーザーにダイアログまたはトースト メッセージを表示します。 「新しいバージョンが利用可能です」
アプリを開いたときに、たとえば mysite/last.txt などのサーバー内のファイルを確認したい
このファイルには、次のような最後のアプリバージョンを入れました:3.3
ユーザーがアプリを開くたびに、最初にこのファイルを確認し、アプリのバージョンがサーバーのテキスト ファイルに入力したバージョンよりも低いかどうかを確認し、新しいバージョンのユーザーにダイアログまたはトースト メッセージを表示します。 「新しいバージョンが利用可能です」
import android.os.Bundle;
public class SomeActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
new AsyncClass().execute("someurl");
//above line will call the doInBackground()
}
@Override
protected void onDestroy() {
// TODO Auto-generated method stub
super.onDestroy();
}
private class AsyncClass extends AsyncTask<String,Void,String>{
@Override
protected String doInBackground(String url) {
HttpClient client =new DefaultHttpClient();
HttpGet getreq =new HttpGet(url);
HttpResponse resp=client.execute(getreq);
return parserResponseFromServer(resp);
//above line will pass the control to onPostExecute()
}
private String parseResponseFromServer(HttpResponse response) throws IllegalStateException, IOException {
// TODO Auto-generated method stub
BufferedReader reader=new BufferedReader(new InputStreamReader(response.getEntity().getContent()));
String line_read=null;
StringBuilder builder=new StringBuilder();
while((line_read=reader.readLine())!=null){
builder.append(line_read);
}
return builder.toString();
}
@Override
protected void onPostExecute(String result) {
// TODO Auto-generated method stub
//HERE the result will be the response from the server.
`
}
}
}
通常の Http 接続を使用してファイルのコンテンツをダウンロードできます: How do I use the Simple HTTP client in Android?
しかし、なぜこれを行う必要があるのでしょうか。Play ストアはバージョンを追跡し、アプリの更新がある場合はメッセージを表示します!
onCreate()
メインアクティビティのメソッド内でチェックを実行します