2012-04-02 74 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 2012-04-02 10:34:24

+0

帖子编辑 – AliSh 2012-04-02 10:41:27

+0

谢谢,但我的编辑是一样的stephendnickolas答案。我现在知道如何检查应用程序版本,但是如何连接到服务器并将版本与文件名的版本进行比较? – Erik 2012-04-02 10:47:18

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或单独的线程来做到这一点,

相关问题