Java 强制用户使用最新的android应用程序版本

Java 强制用户使用最新的android应用程序版本,java,android,mysql,Java,Android,Mysql,是否可以在Android应用程序启动时检查用户是否拥有最新版本,如果没有,则强制用户更新?或者至少检查一下是否有新版本,并告诉他,只有当他下载并安装更新时,应用程序才能再次工作 背景是,我有一个应用程序,需要与服务器通信。当我在服务器和客户机之间的接口中更改某些内容时,我希望确保客户机具有最新版本 有没有什么土生土长的方法可以做到这一点?还是我必须自己检查 这是否只有在拥有mysql数据库时才可访问?是否可以仅在网页上使用纯文本进行此操作,并使用当前的应用程序版本进行检查 有没有可能只用一个 网

是否可以在Android应用程序启动时检查用户是否拥有最新版本,如果没有,则强制用户更新?或者至少检查一下是否有新版本,并告诉他,只有当他下载并安装更新时,应用程序才能再次工作

背景是,我有一个应用程序,需要与服务器通信。当我在服务器和客户机之间的接口中更改某些内容时,我希望确保客户机具有最新版本

有没有什么土生土长的方法可以做到这一点?还是我必须自己检查

这是否只有在拥有mysql数据库时才可访问?是否可以仅在网页上使用纯文本进行此操作,并使用当前的应用程序版本进行检查

有没有可能只用一个 网页上的纯文本,并拥有它 是否已使用当前应用程序版本检查

这就是我要做的:

正在文本文件中检查服务器上的最新版本:

HttpClient client = new DefaultHttpClient();
HttpGet request = new HttpGet(url);
HttpResponse response = client.execute(request);

String latestVersion = "";
InputStream in = response.getEntity().getContent();
BufferedReader reader = new BufferedReader(new InputStreamReader(in));
StringBuilder str = new StringBuilder();
String line = null;
while((line = reader.readLine()) != null)
{
    str.append(line);
}
in.close();
latestVersion = str.toString();
然后将其与安装的版本进行比较:

private String getSoftwareVersion() {
    try {
            PackageInfo packageInfo = getPackageManager().getPackageInfo(getPackageName(), 0);
            return packageInfo.versionName;//EDIT: versionCode would be better
    } catch (PackageManager.NameNotFoundException e) {
            Log.e(TAG, "Package name not found", e);
    };
 }

好问题!欢迎来到SO!这是个好问题+1此开源GitHub项目(MAHAndroidUpdater)完全提供更新功能。试试看,很简单。对不起,第一个代码放在哪里?我不熟悉android服务器连接。你可以选择每天这样做,在每次应用程序启动时这样做,在每次Web服务出现错误时,或者在没有得到正确格式的答案(因此你的代码肯定已更改)时这样做。视情况而定,没有正确的答案。。但是我会说最后一个是最好的。不,我的意思是我应该把HttpClient=newdefaulthttpclient()放在哪里;HttpGet请求=新的HttpGet(url);HttpResponse response=client.execute(请求);字符串latestVersion=“”;InputStream in=response.getEntity().getContent();BufferedReader reader=新的BufferedReader(新的InputStreamReader(in));StringBuilder str=新的StringBuilder();字符串行=null;while((line=reader.readLine())!=null){str.append(line);}in.close();latestVersion=str.toString();您也可以这样做,在我需要更改特定服务器的变量的地方添加像//hashmarks之类的hashmarks。谢谢此解决方案存在一些问题,我将在这里进行调查: