android操作sqlite数据库需要new一个新thread吗

如题所述

不需要,如果sqlite查询很耗时的话可以使用thread异步查询。

SQLite是轻量级嵌入式数据库引擎,它支持 SQL 语言,并且只利用很少的内存就有很好的性能。此外它还是开源的,任何人都可以使用它。许多开源项目((Mozilla, PHP, Python)都使用了 SQLiteSQLite 由以下几个组件组成:SQL 编译器、内核、后端以及附件。SQLite 通过利用虚拟机和虚拟数据库引擎(VDBE),使调试、修改和扩展 SQLite 的内核变得更加方便。 

    Android 集成了 SQLite 数据库 Android 在运行时(run-time)集成了 SQLite,所以每个 Android 应用程序都可以使用 SQLite 数据库。 

    数据库存储在 data/< 项目文件夹 >/databases/ 下。 Android 开发中使用 SQLite 数据库 Activites 可以通过 Content Provider 或者 Service 访问一个数据库。

    Android 提供了 SQLiteOpenHelper 创建一个数据库,只要继承 SQLiteOpenHelper 类,就可以轻松的创建数据库。SQLiteOpenHelper 类根据开发应用程序的需要,封装了创建和更新数据库使用的逻辑。

    SQLiteOpenHelper 的子类,至少需要实现三个方法:

    1 构造函数,调用父类 SQLiteOpenHelper 的构造函数。这个方法需要四个参数:上下文环境(例如,一个 Activity),数据库名字,一个可选的游标工厂(通常是 Null),一个代表你正在使用的数据库模型版本的整数。

    2 onCreate()方法,它需要一个 SQLiteDatabase 对象作为参数,根据需要对这个对象填充表和初始化数据。

    3 onUpgrage() 方法,它需要三个参数,一个 SQLiteDatabase 对象,一个旧的版本号和一个新的版本号,这样就可以清楚如何把一个数据库从旧的模型转变到新的模型。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-11-10
看情况,如果你的数据库已经非常大了,然后需要使用Select来搜索,那么就要考虑到执行的时间,如果执行的时间会影响主线程,那么还是建议你用线程来做,不过要注意的是,你在线程里面写调用数据库的话,之后的调用也需要写入线程内,否则数据库还没调用完,你就获取`那么那个值肯定为空.

另外如果想在线程里面修改页面布局,就是操作UI 那么记住要声明一个Handler 最好是全局的,那么在线程里就能操作UI了
第2个回答  2014-11-10
不需要,调用网络相关的方法才需要本回答被提问者和网友采纳