更新が利用可能かどうかを確認するアプリケーションを開発しています。問題は、アプリケーションが最新バージョンであることを認識できないことです。
サーバーにファイルがあり、そのファイルには最新のバージョン番号 (1.0.1) が含まれています。アプリケーションのバージョンも 1.0.1 ですが、アップデートを確認すると、アップデートが利用可能であることが示され、テキストには最新のインストール済みバージョンが 1.0.1 であると表示されます。
だからここに私のコードがあります:
(checkupdatebutton)
{
setContentView(R.layout.updater);
DefaultHttpClient httpclient = new DefaultHttpClient();
try {
HttpGet httppost = new HttpGet("http://myserver.com/latestversion.txt");
HttpResponse response;
response = httpclient.execute(httppost);
HttpEntity ht = response.getEntity();
BufferedHttpEntity buf = new BufferedHttpEntity(ht);
InputStream is = buf.getContent();
BufferedReader r = new BufferedReader(new InputStreamReader(is,"UTF-8"));
StringBuilder total = new StringBuilder();
String line;
while ((line = r.readLine()) != null) {
total.append(line + "\n");
}
TextView versionupdnew = (TextView)findViewById(R.id.versionupdnew);
//Set text to value of my file (latestversion.txt)
versionupdnew.setText(total);
TextView installedversion = (TextView)findViewById(R.id.versionupdcur);
installedversion.setText(R.string.version);
TextView title = (TextView)findViewById(R.id.title);
if(installedversion.equals(versionupdnew))
{
//Current version is latest
title.setText("No update needed!");
Button buttonUpdate = (Button)findViewById(R.id.buttonUpdate);
buttonUpdate.setEnabled(false);
}else{
title.setText("New version is available!");
}
} catch (ClientProtocolException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}