0

バックグラウンドでアプリの更新をチェックするメソッドを実行しようとしていますが、次のエラーが表示されます。インポートするパッケージが不足していると思いますが、それについてはよくわかりません。この点であなたにとても感謝します。

Errors <br>
lastUpdateTime cannot be resolved to a variable
checkUpdate cannot be resolved 
Illegal modifier for the variable checkUpdate; only final is permitted
showUpdate cannot be resolved to a variable
Illegal modifier for the variable showUpdate; only final is permitted

ここに私のコードがあります

  public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        SharedPreferences prefs = getPreferences(0);
        lastUpdateTime =  prefs.getLong("lastUpdateTime", 0);

        /* Should Activity Check for Updates Now? */
        if ((lastUpdateTime + (24 * 60 * 60 * 1000)) < System.currentTimeMillis()) {

            /* Save current timestamp for next Check*/
            lastUpdateTime = System.currentTimeMillis();            
            SharedPreferences.Editor editor = getPreferences(0).edit();
            editor.putLong("lastUpdateTime", lastUpdateTime);
            editor.commit();        

            /* Start Update */            
            checkUpdate.start();

            /* This Thread checks for Updates in the Background */
            private Thread checkUpdate = new Thread() {
                public void run() {
                    try {
                        URL updateURL = new URL("url to my company");                
                        URLConnection conn = updateURL.openConnection(); 
                        InputStream is = conn.getInputStream();
                        BufferedInputStream bis = new BufferedInputStream(is);
                        ByteArrayBuffer baf = new ByteArrayBuffer(50);

                        int current = 0;
                        while((current = bis.read()) != -1){
                             baf.append((byte)current);
                        }

                        /* Convert the Bytes read to a String. */
                        final String s = new String(baf.toByteArray());         

                        /* Get current Version Number */
                        int curVersion = getPackageManager().getPackageInfo("your.app.id", 0).versionCode;
                        int newVersion = Integer.valueOf(s);

                        /* Is a higher version than the current already out? */
                        if (newVersion > curVersion) {
                            /* Post a Handler for the UI to pick up and open the Dialog */
                            mHandler.post(showUpdate);
                        }                
                    } catch (Exception e) {
                    }
                }
            };
4

1 に答える 1

0

私が見るいくつかの問題:

  1. lastUpdateTime は宣言されていますか?
  2. 宣言される前に checkUpdate が使用されています。
  3. checkUpdate の宣言で private を削除します。

それらを修正してから、さらにエラーがあるかどうかを確認してください。

于 2012-05-29T16:26:35.460 に答える