- 浏览: 127488 次
- 性别:
文章分类
最新评论
android 有自己的SqlLite ,程序的很多信息可以直接使用这个数据库操作,当然很多例子用android.content.ContentProvider对数据层外包了一层,其实正如文档中所说,很多的时候是没有必要这样的。A content provider is only required if you need to share data between multiple applications. For example, the contacts data is used by multiple applications and must be stored in a content provider. If you don't need to share data amongst multiple applications you can use a database directly via SQLiteDatabase.
我的使用SQLiteDatabase 路径
a:首先继承这个android.database.sqlite.SQLiteOpenHelper抽象类,使用这个抽象类主要是发现这个类可以很容易的进行数据库的创建 和版本管理的操作,结构清晰一点。
如下例子:
private static class DatabaseHelper extends SQLiteOpenHelper {
DatabaseHelper(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
}
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL("CREATE TABLE " + NOTES_TABLE_NAME + " ("
+ Notes._ID + " INTEGER PRIMARY KEY,"
+ Notes.TITLE + " TEXT,"
+ Notes.NOTE + " TEXT,"
+ Notes.CREATED_DATE + " INTEGER,"
+ Notes.MODIFIED_DATE + " INTEGER"
+ ");");
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
Log.w(TAG, "Upgrading database from version " + oldVersion + " to "
+ newVersion + ", which will destroy all old data");
db.execSQL("DROP TABLE IF EXISTS notes");
onCreate(db);
}
}
b:紧接着使用DatabaseHelper 的
public synchronized SQLiteDatabase getReadableDatabase ();
public synchronized SQLiteDatabase getWritableDatabase ();
这里获取的 android.database.sqlite.SQLiteDatabase 如果不关闭的话 [可以使用SQLiteOpenHelper中的close()] 是会被缓存的。
然后使用android.database.sqlite.SQLiteDatabase这个类中的execSQL(String sql),insert (String table, String nullColumnHack, ContentValues values)等进行我们熟悉的数据库操作。
我的使用SQLiteDatabase 路径
a:首先继承这个android.database.sqlite.SQLiteOpenHelper抽象类,使用这个抽象类主要是发现这个类可以很容易的进行数据库的创建 和版本管理的操作,结构清晰一点。
如下例子:
private static class DatabaseHelper extends SQLiteOpenHelper {
DatabaseHelper(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
}
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL("CREATE TABLE " + NOTES_TABLE_NAME + " ("
+ Notes._ID + " INTEGER PRIMARY KEY,"
+ Notes.TITLE + " TEXT,"
+ Notes.NOTE + " TEXT,"
+ Notes.CREATED_DATE + " INTEGER,"
+ Notes.MODIFIED_DATE + " INTEGER"
+ ");");
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
Log.w(TAG, "Upgrading database from version " + oldVersion + " to "
+ newVersion + ", which will destroy all old data");
db.execSQL("DROP TABLE IF EXISTS notes");
onCreate(db);
}
}
b:紧接着使用DatabaseHelper 的
public synchronized SQLiteDatabase getReadableDatabase ();
public synchronized SQLiteDatabase getWritableDatabase ();
这里获取的 android.database.sqlite.SQLiteDatabase 如果不关闭的话 [可以使用SQLiteOpenHelper中的close()] 是会被缓存的。
然后使用android.database.sqlite.SQLiteDatabase这个类中的execSQL(String sql),insert (String table, String nullColumnHack, ContentValues values)等进行我们熟悉的数据库操作。
发表评论
-
react-native github 中的eXamples中的示例工程运行方法。
2016-05-13 17:35 6591 从github中 https://github.com/ ... -
android textureView的重大进步
2016-04-13 17:01 2166android TextureView 的出现解决了几大问 ... -
android 陀螺器,加速度感应测试数据
2016-04-13 08:52 1002加速度传感器又叫G-sensor,返回x、y、z三轴的 ... -
android.permission.SYSTEM_ALERT_WINDOW
2016-04-12 16:05 805此权限用实现 在android手机上出现的浮在窗口上的快捷 ... -
fyuse 3d拍摄
2016-04-12 14:44 641fyuse : 附件为反编译的dex文件. -
diceplayer android版本可以实现 快速播放功能
2016-04-06 17:37 694android 版本的diceplayer 可以实现快速播放 ... -
anroid 各种感应介绍
2016-04-06 11:41 411http://blog.csdn.net/mad1989/ar ... -
videoview 刷新不及时的问题.
2016-03-29 13:17 1030androi videoview 在做开发的时候, 前个页面 ... -
android 解析带有_的 http url域名,出现解析错误的问题
2016-03-29 13:13 1634在 android中 访问带有_ 的域名的时候,例如js_s ... -
android mediaplayer 播放错误 -32
2016-03-23 14:33 3发现android4.4 meizu mx4pro 出现播放错 ... -
android 头像圆圈显示
2016-03-16 17:22 712public Bitmap toRoundBitmap(Bi ... -
android 获取签名 及其摘要
2016-03-16 14:17 768http://www.cnblogs.com/sunzn/ar ... -
android 自定义无黑边对话框输入框无法输入的问题
2016-03-16 11:25 808http://wbj05791467.blog.163.com ... -
andorid textview link text
2016-02-19 18:53 653android 在textview 解析自定义各种链接url ... -
不应该建立所谓的下来刷新webview
2016-02-18 10:23 702本来以为做一个下拉刷新功能的 webview 是一个好的功 ... -
在listview 滚动列表中实现 视频播放
2016-02-13 19:23 1080http://finalshares.com/read-698 ... -
okhttp 详解文章
2015-12-31 17:51 794http://www.cnblogs.com/ct2011/p ... -
android so常识
2015-12-31 12:43 416http://www.kejik.com/article/21 ... -
android studio 新建工程出现的问题解决
2015-12-31 10:48 863解决Android中No resource found th ... -
GitHub 上最火的40个Android 开源
2015-09-25 10:56 813http://www.360doc.com/content/1 ...
相关推荐
对数据库操作进行单元测试是确保代码质量的重要环节,可以使用JUnit和Mockito等工具对数据库操作进行模拟和验证。 以上就是关于Android直接操作SQLite数据库的一些关键知识点,理解并熟练运用这些知识将有助于构建...
5. **数据库操作**:服务器端的Web服务方法将执行具体的SQL语句(INSERT、UPDATE、DELETE等)。注意处理事务,确保数据的一致性。同时,应考虑SQL注入攻击,使用参数化查询或存储过程。 6. **Android组件**:在...
在Android平台上,数据库操作是应用程序开发中的重要环节,特别是在存储用户数据、应用配置或实现离线功能时。这个“android demo,数据库操作的应用案例”很可能包含了一个完整的示例项目,展示了如何在Android应用...
Android 直接操作 SQL Server 2008 数据库示例 本仓库提供了一个使用 Delphi XE7 开发的 Android 应用程序示例,该示例展示了如何在 Android 设备上通过服务器地址连接到 SQL Server 2008 数据库,并对数据库中的表...
- **USB调试**:通过开启Android设备的USB调试模式,开发者可以使用ADB(Android Debug Bridge)工具直接访问设备上的SQLite数据库,进行数据查看和修改。 - **网络连接**:通过WiFi或移动网络,Android应用可以通过...
在Android平台上进行MySQL数据库操作是一项常见的任务,尤其是在开发需要与远程服务器交互的移动应用时。本文将详细讲解如何在Android应用中使用Java Database Connectivity (JDBC) 连接MySQL数据库,实现数据的增删...
总结来说,DBFlow为Android应用提供了强大的SQLite数据库操作工具,简化了数据库的管理,提高了开发效率。通过以上介绍,你应该对如何使用DBFlow进行了基本了解,实践中可以根据具体需求进一步探索其高级特性和用法...
现在,你可以通过`DatabaseHelper`实例执行查询、插入、更新和删除等数据库操作。 4. **使用数据库**: 创建`DatabaseHelper`的实例,然后调用其`getWritableDatabase()`或`getReadableDatabase()`方法获取可读写...
这个"Android SQLite数据库操作Demo"项目将帮助你理解如何在实际应用中与SQLite数据库进行交互,包括基本的CRUD操作以及事务处理,这些都是Android开发中不可或缺的部分。通过实践这个Demo,你可以深入理解SQLite...
- **异步操作**:为了不阻塞UI线程,通常会将数据库操作放在AsyncTask或IntentService中执行。 - **ContentProvider**:虽然不是直接在源码中提及,但ContentProvider可以提供一种标准的方式来访问应用间的数据库...
在Android开发中,数据库操作是常见的任务之一,用于持久化数据。ORM(Object-Relational Mapping,对象关系映射)是一种技术,它允许开发者用面向对象的方式来操作数据库,避免了直接编写SQL语句的繁琐过程。本文将...
在Android应用开发中,SQLite是一个轻量级的数据库系统,用于存储和管理应用程序的数据。...在DBdemo项目中,你可能会看到这些功能的具体实现,通过阅读和学习,可以加深对Android SQLite数据库操作的理解。
本案例将详细介绍如何在Android应用中使用SQLite进行增(Create)、删(Delete)、改(Update)和查(Read)操作。 1. **创建SQLite数据库** 在Android中,我们需要创建一个继承自`SQLiteOpenHelper`的类,这个类...
就像其他数据库,SQLite 引擎不是一个独立的进程,可以按应用程序需求进行静态或动态连接。SQLite 直接访问其存储文件。 为什么要用 SQLite? 不需要一个单独的服务器进程或操作的系统(无服务器的)。 SQLite 不...
`DbManager` 类是数据库操作的业务逻辑层,它负责对数据库进行添加、删除、修改和查询等操作。初始化时,通过构造函数实例化 `DbHelper` 对象,并获取可写的数据库对象 `sqliteDB`。 - `add()` 方法用于添加数据...
这里我们将探讨如何在Android客户端通过网络连接到远程MySQL服务器,并执行相关的数据库操作。 首先,理解客户端-服务器-数据库架构至关重要。在这种模式下,Android设备作为客户端,通过HTTP或HTTPS等网络协议与...
- **SQLite Manager**:这是一款浏览器插件,可以在浏览器中直接查看和操作SQLite数据库,但需要先将数据库文件复制到电脑上。 - **Android Studio的Device File Explorer**:集成在Android Studio中的一个功能,...
【Android Studio 中 SQLite 数据库操作】 在 Android 开发中,SQLite 是一个常用的数据存储解决方案,尤其适合小型到中型的数据存储需求。SQLite 是一个轻量级的、嵌入式的关系型数据库,支持标准的 SQL 语法,...
在Android开发中,数据库操作是常见的任务之一,用于存储和检索应用程序的数据。为了简化这一过程,开发者通常会创建一个数据库帮助类(DataBaseHelper)来封装SQLite数据库的操作。在这个场景下,我们有一个名为`...
本Demo——"你想要的Android数据库操作精华(安全、并发、单例等)",旨在深入探讨如何在Android Studio环境下进行高效且安全的数据库操作,包括使用数据库框架、数据库加密、并发控制以及单例模式的应用。...