0

私の質問は簡単です。アプリケーションの最初の開始をどのように認識できますか? RMS に何らかの値を保存し、アプリの起動時にそれを読み取り、何をすべきかを決定することで達成できると思います。

しかし、もっと簡単な解決策はありませんか?

4

1 に答える 1

3

私の知る限り、これより簡単な方法はありませんが、とにかくとても簡単です。

    public static boolean isFirstRun() {
        RecordStore rs = null;
        try {
            rs = RecordStore.openRecordStore("myAwesomeRecordStore", false); //check
            return false; //record store exists, so it's not our first run
        } catch (Exception e) {
            //RecordStoreNotFoundException, but we need to catch others anway
            try {
                rs = RecordStore.openRecordStore("myAwesomeRecordStore", true); //create
            } catch (Exception e1) {}
        }
        finally {
            if (rs != null) try {rs.closeRecordStore();} catch (Exception e) {}
        }
        return true; //so, record store did not exist and it was created (if no error occured (there shouldn't be any errors anyway))
    }
于 2012-05-07T10:30:09.000 に答える