Android 数据存储之 SQLiteDatabase

?

惯例:安卓的三种本地的典型数据存储方式

  1. SharedPreferences
  2. 以文件格式保存在本地存储中
  3. SQL数据库

    本节学习的是 SQLiteDatabase 的使用方式,而在使用方面也只是展示了如何创建数据库,创建表,写入数据。然后查询出来。

    因为之前在 word 中操作以表格的形式插入多行代码时遇到了无法高亮,模糊不清的状况,所以本节并不会写出使用方法。

    详情请直接访问我的 GitHub 项目:https://github.com/Chenstyle/AndroidTraining

    具体注释什么的也写在了代码之中。所以,上代码:


package com.zhizhao.androidtraining.save_data;

import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.util.Log;

/**
* Created by zhizhao on 2015/11/2 0002 in 10:53.
* Ps:这个类写到最后我觉得不能这么下去了。如此下去也只是增加一些安卓基本操作使用
* 而我自己更加倾向于更快的提升自己的项目经验。
* 项目经验方面,没有什么比自己真正做一个项目提升明显了。
* 所以下一步,学习开源项目,然后发布出去。
* 这个项目也会继续写,继续提交。博客方面也会继续跟进。
*/
public class UsingDatabase {
private String dbName;
private String tableName;
private Context dbContext;
private String userName;
private String userPassword;

public UsingDatabase(String dbName, String tableName,
Context context, String data1, String data2){
this.dbName = dbName;
this.tableName = tableName;
this.dbContext = context;
this.userName = data1;
this.userPassword = data2;
}

public void createUserTable(){
//openOrCreateDatabase(String name, int mode, CursorFactory factory);
//第一个参数为数据库名称,第二个为权限,第三个为 CursorFactory 对象,
// 用于查询时返回 Cursor 的子类对象。或者传入 null 使用默认的 factory 构造
SQLiteDatabase db = dbContext.openOrCreateDatabase(dbName, dbContext.MODE_PRIVATE, null);
String cmd = "CREATE TABLE IF NOT EXISTS "+ tableName +" (name VARCHAR, password VARCHAR)";
db.execSQL(cmd);

ContentValues cv = new ContentValues();
cv.put("name", userName);
cv.put("password", userPassword);
//这里简直就是把我害惨了。记住,是表名。
db.insert(tableName, null, cv);
db.close();
}

public void insertUserTable(){
SQLiteDatabase db = dbContext.openOrCreateDatabase(dbName, dbContext.MODE_PRIVATE, null);

}

public void queryUserTable(){
SQLiteDatabase db = dbContext.openOrCreateDatabase(dbName, dbContext.MODE_PRIVATE, null);
//查询的结果通过 Cursor 返回。代表数据集的游标
Cursor cursor = db.rawQuery("SELECT * FROM "+tableName, null);
Log.v("数据库查询的结果===", "----------");
while(cursor.moveToNext()){
//根据数据库表的列序列查询。
String str = cursor.getString(0);
Log.v("数据库查询的结果===", ""+str);
}

Log.v("数据库查询的结果===", "+++");
cursor.close();
db.close();
}

}

?

最近发生了很多事情,因为实习的公司这边的一些问题,有急切转公司的想法。所以提升自身技能成为了当前最迫切的事情。以后的博客会陆续上Android Training 方面。

当然,在学习开源项目中如果遇到什么好的点子或者技巧,也会分享出来。基本要保持在每天都有的程度吧。

时间: 2024-08-27 13:56:26

Android 数据存储之 SQLiteDatabase的相关文章

Android 数据存储 利用SQLiteDatabase实现简单的学生管理

转载请注明出处:明桑Android 这是作为上一篇Android 数据存储 如何搞定SQLite Database的实例练习,之所以单独列出来是因为除了数据库方面的知识,还涉及其它方面的知识,所以就写的详细点,啰嗦点.希望对初学者有所帮助.当然这个Demo比较简单,有很多可以改进的地方,但那不是这里探讨的重点,重点学习如何将SQLiteDatabase数据绑定到我们的界面! 本文代码地址:UseSQLitDatabase 我们要做一个简单的学生管理的demo,创建student.db,包括nam

Android数据存储 如何搞定SQLite Database

转载请注明出处:明桑Android 在Android平台下有各种不同方法可以实现应用程序数据的存储和管理(SharedPerferences,File,SQLiteDatabase,网络存储),方法的选择依赖于需要存储的数据类型和数据结构.SQLite数据库能够安全而有效地解决结构化数据的存储问题: 这里主要介绍SQLite相关的用法,以及对数据库常见操作的封装. 最后,作为一个综合案例,做一个简单的学生管理的demo,创建student.db,包括name,grade字段,实现增.删.改.查的

Android数据存储之GreenDao 3.0 详解(一)

前言: 今天一大早收到GreenDao 3.0 正式发布的消息,自从2014年接触GreenDao至今,项目中一直使用GreenDao框架处理数据库操作,本人使用数据库路线 Sqlite---->OrmLite---->GreenDao.今天白天一直在忙着公司的项目需求,只能晚上加班来学习最新的GreenDao 3.0使用方式了. GreenDao 介绍: greenDAO是一个对象关系映射(ORM)的框架,能够提供一个接口通过操作对象的方式去操作关系型数据库,它能够让你操作数据库时更简单.更

Android 数据存储——SQLite实例、判断数据库中表是否存在

本文主要记录一下Android SQLiteDatabase中如何判断数据库中表是否存在,以及测试SQLiteDatabase数据库的基本操作.有关SQLite的详细说明,可以查看转载的Android 数据存储--SQLite使用详解 例子: AndroidManifest.xml--没有做任何修改,创建工程默认 <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="

10、Android数据存储

课程目标: 掌握Android中数据存储的几种方式 熟练使用PreferenceActivity&PreferenceScreen做专业的Setting功能 熟练使用SQLite3来存储数据 深入研究SQLite3数据库特性,并且比对与大型数据库的包括存储过程,主外键关联等特性 了解文件存储的内外存储分别  了解网络存储C/S结构原理 . 重点难点:SQLiteOpenHelper类的使用   SQLIte数据库的特性掌握 考核目标: 说出Android数据存储的几种形式 ? Sqlite3能支

【Android的从零单排开发日记】之入门篇(八)——Android数据存储(下)

废话不多说了,紧接着来讲数据库的操作吧.Come On! 提到数据存储问题,数据库是不得不提的.数据库是用来存储关系型数据的不二利器.Android为开发者提供了强大的数据库支持,可以用来轻松地构造基于数据库的应用.Android的数据库应用,依托于当下最流行的开源嵌入式数据库SQLite.在Android中,应用的数据库文件是该应用私有的,存储在应用数据目录下的databases子目录内.从代码结构来看,Android的数据库实现可以分成两个层次,在底层通过C++调用SQLite的接口来执行S

android数据存储_SQL数据库

源码下载(免下载积分):下载 对于保存重复或者结构化的数据数据,使用数据库很好的.在android对于数据库的API在 android.database.sqlite包中. 创建并操作数据库: 创建: 1. 继承SQLiteOpenHelper //继承SQLiteOpenHelper类, public class DictionaryOpenHelper extends SQLiteOpenHelper{ 2. 定义相关的成员变量和常量 public static final String D

Android——数据存储(四种方式之一)SharedPrefereces

Android--数据存储(四种方式) 1.SharedPrefereces   轻量级.XML  存储文件名,数据保存在data/data/basepackage/shared_prefs/myopt.xml中   实例-收藏-记住密码自动登录 //一种轻量级的数据存储方式//通过KEY 存入数据--putxxxx(key,value) 取出数据--getxxxx(key  default)   2.读写SD卡  SD的根目录  适用于数据流读写 3.SQLite  轻量级.dp文件多用于手机

Android数据存储(2):Internal Storage

Android数据存储的第二种形式是Internal Storage,即内部存储. 内存存储的特点是存储的是私有数据,其存储位置是在手机内存,一种是普通的文件存储,另一种是文本或图片在内存的缓存. 内部缓存的存放位置/data/data/包名/files 或 /data/data/包名/cache 1.create and write a private file to the internal storage: 步骤: 1)调用 openFileOutput()方法,返回的是一个FileOut