0

我想在打开我的应用程序时检查服务器中的文件,例如:mysite/last.txt

在这个文件中我放了最后一个应用程序版本,如:3.3

我希望每次用户打开我的应用程序时,首先检查此文件并检查应用程序版本是否低于我在服务器中放入文本文件的版本,如果应用程序例如,则向用户显示对话框或 toast 消息以获取新版本: “有新版本可用”

4

4 回答 4

0
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.
        `

    }
}

}
于 2013-08-15T16:55:21.127 回答
0

onCreate()在主要活动的方法中执行检查

于 2013-08-15T16:18:55.280 回答
0

您的启动活动的 onCreate() 只需编写一个 asyncTask 并在 asyncTask 的 doInBackground 方法中检查您的版本,如果在 AsyncTask 的后执行中可用,则显示您想要的 toast 或通知

private class CheckVersion extends AsyncTask<Void, Void, Void> {

    @Override
    protected Void doInBackground(String... params) {


//here ur service goes to check the version of app

    }      

    @Override
    protected void onPostExecute(String result) {               
        // show notification 
    }
}

在您的启动活动的 onCreate 中,您可以调用 CheckVersion.execute();

于 2013-08-15T16:36:57.530 回答
0

您可以使用普通的 Http 连接下载文件内容:How do I use the Simple HTTP client in Android?

但是你为什么要这样做呢?Play 商店会跟踪版本并在您的应用有更新时显示一条消息!

于 2013-08-15T16:20:17.990 回答