如何在Android中将对象传递给新的Intent

时间:2013-01-31 08:56:27

标签: android android-intent parcelable

我非常感谢您对以下问题的任何想法: 在Android中我有我的MainActivity,它创建并设置数据库处理程序类。 e.g。

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

另外,我创建了OnClickListener,创建了Intent,然后是startActivity的意图。

我的问题/问题是如何最好地将DBHandler传递给新的Activity。我考虑过创建一个全局 - 以及线程重启的风险。除非我创建一个包装器,否则我无法理解如何包裹/序列化 - 但仍然存在在“parcel”中传递对象的问题

我很想知道其他人是如何解决这个问题的?非常感谢。

1 个答案:

答案 0 :(得分:2)

据我所知,最好只使用一个SQLiteOpenHelper实例,因此将其创建为singleton并使其可访问

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;
    }
...
}