做Android肯定要用到SQLite数据库,下面是SQLite的操作
首先是SQLite的操作类:DBHelper.java
public class DBHelper extends SQLiteOpenHelper { private static final String DB_NAME = "name.db"; private static final String TBL_NAME = "Word"; private SQLiteDatabase db; private Cursor cursor ;//游标 /** * 初始化 * @param c */ DBHelper(Context c) { super(c, DB_NAME, null, 2);//2是版本号 } /** * 第一次加载数据库时调用,如果是自己导进来的就不用这个了 */ @Override public void onCreate(SQLiteDatabase db) { db.execSQL("create table Word(uid integer primary key autoincrement, uname varchar(20), uaddress varchar(20))"); } /** * 查询 * @param g * @return cursor */ public Cursor query() { db = getWritableDatabase(); cursor = db.rawQuery("select * from Word ",null);//用这个方法可以完成所有的,只要改下sql语句就行 return cursor; } //有条件的 public Cursor query(String id) { db = getWritableDatabase(); cursor = db.rawQuery("select * from Word where uid=? ",new String[]{id}); return cursor; } /** * 关闭 */ public void close() { if (db != null){ db.close(); } }
然后在Activity中实例化调用就行
DBHelper dbHelper = new DBHelper(getApplication()); Cursor c = dbHelper.query(String.valueOf(1));
因为SQLite嵌入式的,所以我们打包apk的时候,要记得连数据库文件一起打包;
把SQLite数据库文件放到项目下assets中或者是res/raw,两种取值的方法有所不同;
raw:getBaseContext().getResources().openRawResource(R.raw.name);
assets:getBaseContext().getAssets().open(name.db);
下面是具体的操作:
String DB_PATH = "/data/data/com.test.demo/databases/";//com.test.demo是你项目所在的包 String DB_NAME = "name.db";//文件名 // 检查 SQLite 数据库文件是否存在 if ((new File(DB_PATH + DB_NAME)).exists() == false) { // 如 SQLite 数据库文件不存在,再检查一下 database 目录是否存在 File f = new File(DB_PATH); // 如 database 目录不存在,新建该目录 if (!f.exists()) { f.mkdir(); } try { InputStream is = getBaseContext().getResources() .openRawResource(R.raw.english); // 输出流 FileOutputStream os = new FileOutputStream(DB_PATH+ DB_NAME); int length = is.available(); // 文件写入 byte[] buffer = new byte[length]; while ((length = is.read(buffer)) > 0) { os.write(buffer, 0, length); } // 关闭文件流 os.flush(); os.close(); is.close(); } catch (Exception e) { e.printStackTrace(); } }
注意:有些系统如2.2的话,如果文件.db大于1M的话,会报错:Data exceeds UNCOMPRESS_DATA_MAX (1622016 vs 1048576) ;因为assetsManager 无法处理大于1M的文件的压缩和解压。只要把我们文件的后缀名改成:".jpg", ".jpeg", ".png", ".gif",
".wav", ".mp2", ".mp3", ".ogg", ".aac",
".mpg", ".mpeg", ".mid", ".midi", ".smf", ".jet",
".rtttl", ".imy", ".xmf", ".mp4", ".m4a",
".m4v", ".3gp", ".3gpp", ".3g2", ".3gpp2",
".amr", ".awb", ".wma", ".wmv" 这些都可以,,,代码还是像上面一样就行
相关推荐
这篇私人笔记实现基于Android数据库,提供了完整的源码,适合初学者学习。通过用户名和密码的登录验证,确保了数据的安全性。现在,我们将深入探讨如何在Android中实现这样的功能。 首先,Android使用SQLite作为...
android数据库SQLite学习笔记.pdf
根据给定的信息,我们可以从Java和Android学习笔记中提取出一系列重要的知识点,下面将逐一进行详细解释。 ### Java基础知识 #### 1. 命令行基础操作 - **`javacmd`**: 这个命令是Java命令行工具的一部分,用于...
Android学习笔记全全整理,是针对想要深入理解并掌握Android开发技术的学习者们的一份宝贵资源。这份笔记涵盖了从基础到高级的多个方面,旨在帮助读者建立起完整的Android知识体系。以下将详细介绍其中可能包含的...
《Android学习笔记》 在移动应用开发领域,Android操作系统占据着重要的地位,为开发者提供了丰富的API和工具,使得创建各种应用程序变得可能。本压缩包文件包含了一位学习者从第一天到第五天,以及一个特定项目...
本项目名为"Android-笔记一款以sqlitedatabase为数据库采用MVP架构的轻便易用的笔记app",它是一个典型的Android应用示例,旨在展示如何结合SQLite数据库和Model-View-Presenter(MVP)架构模式来创建一个功能完善的...
《黑马程序员Android学习笔记》是一份专为初学者设计的详尽教程,旨在帮助那些希望踏入安卓开发领域的人员快速掌握核心知识。这份笔记涵盖了从基础到进阶的多个主题,帮助学习者系统地理解Android应用开发的过程。 ...
Android学习笔记-SQLite介绍-以及使用Sqlite-进行数据库的创建-完成数据.pdf
这篇学习笔记将引导新手入门,通过创建第一个简单的案例来了解Android Studio的基本操作。 首先,让我们了解一下Android Studio的核心功能。它基于IntelliJ IDEA,具备代码自动补全、重构、调试等强大的开发特性。...
在Android学习过程中,掌握核心概念和技术是至关重要的。这篇学习笔记涵盖了Android开发的基本知识点,旨在帮助初学者系统地理解和深入探索这个平台。 1. **Android系统架构**:Android由Linux内核、硬件抽象层...
这篇Android学习笔记主要涵盖了从第五章到第十三章的内容,是Android开发者或对Android系统感兴趣的初学者的重要参考资料。笔记详细解读了Android应用开发的核心概念和技术,旨在帮助读者深入理解并掌握Android开发...
【Android学习笔记】 Android是一个开源的移动操作系统,主要应用于智能手机和平板电脑。它由Google主导并开源,基于Linux内核。学习Android开发,你需要熟悉Java或Kotlin语言,理解Android SDK、Android Studio...
【Mono for Android学习笔记全套】是一份详尽的资源,旨在帮助开发者掌握使用Mono和C#进行Android应用开发的技术。Mono是.NET框架的一个开源实现,它使得C#开发者能够在多种平台上,包括Android,编写和运行应用程序...
【Android学习笔记详解】 在移动应用开发领域,Android操作系统占据着重要的地位,为开发者提供了丰富的平台和无限的可能性。"Android很好的学习笔记"是一份专为初学者设计的资源,旨在帮助那些想要踏入Android开发...
【Android学习笔记】 Android是一种基于Linux内核的开源操作系统,主要应用于移动设备,如智能手机和平板电脑。这个“很好的android学习笔记”包含了作者在学习Android开发过程中积累的宝贵经验,旨在帮助初学者或...