4

次の問題について考えていただければ幸いです。Androidには、データベースハンドラークラスを作成および設定するMainActivityがあります。例えば

public class DbHandler extends SQLiteOpenHelper{
    //do db handling
}

また、自分OnClickListenerのを作成しました。これにより、IntentstartActivityのインテントが作成されます。

私の質問/問題はDBHandler、を新しいものに渡すのに最適な方法Activityです。グローバルを作成することと、スレッドが再起動するリスクについて考えました。ラッパーを作成しない限り、パーセル/シリアル化の方法を完全に理解することはできませんが、それでも「パーセル」でオブジェクトを渡すという問題があります。

私は他の人がこれをどのように解決したかを理解したいと思っていますか?どうもありがとう。

4

1 に答える 1

2

私が知っているように、SQLiteOpenHelper のインスタンスを 1 つだけ使用することをお勧めします。シングルトンとして作成し、アクセス可能にします。

public final class DatabaseHelper extends SQLiteOpenHelper {

    /**
     * instance.
     */
    private static DatabaseHelper instance;

    /**
     * @return instance.
     */
    public static synchronized DatabaseHelper getInstance() {
        if (instance == null) {
            instance = new DatabaseHelper();
        }

        return instance;
    }
...
}
于 2013-01-31T09:09:28.450 に答える