云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > 第一行代码Android学习笔记完全版

第一行代码Android学习笔记完全版

  • 62 次阅读
  • 3 次下载
  • 2025/5/4 11:19:12

public void onCreate(SQLiteDatabase db) { db.execSQL(CREATE_BOOK); db.execSQL(CREATE_CATEGORY); Toast.makeText(mcontext, \创建成功\ } public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { db.execSQL(\ db.execSQL(\ onCreate(db); }

缺点:需要删除已经存在的表,以前的数据也会被删除。

3、添加数据 4、更新数据 5、删除数据 6、查询数据

7、直接使用SQL操作数据库

添加数据:db.execSQL(―insert into Book(name,author,pages,price) values(?,?,?,?)‖,new String[] {―God‖,‖hujun‖,‖324‖,‖34.23‖});

更新数据:db.execSQL(―update Book set price=? where name=?‖, new String[] {―12.33‖,‖God‖});

删除数据:db.execSQL(―delete from Book where pages>?‖,new String[] {―100‖});

查询数据:db.rawQuery(―select * from Book‖,null);

查询数据方法: 首先,获取Cursor: Cursor cursor=null;

cursor=db.rawQuery(\然后,利用cursor得到返回的数据:

while(cursor.moveToNext()) { String author=cursor.getString(cursor.getColumnIndex(\ String name=cursor.getString(cursor.getColumnIndex(\ double price=cursor.getDouble(cursor.getColumnIndex(\ int pages=cursor.getInt(cursor.getColumnIndex(\ Log.i(\ Log.i(\ Log.i(\ Log.i(\ }

如果是第一次登陆,则将初始化为早7点,晚11点; 如果不是第一次登陆,则加载之前的设置

四、数据库最佳实践 1、使用事务

事务操作可以保证某一系列的操作要么全部完成,要么全部都不完成,保证安全。 首先,开启事务:db.beginTransaction(); 然后,执行数据库操作;

最后,事务成功:db.setTransactionSuccessful();

当执行操作出现故障时,事务不会成功,则以上的操作不会完成,数据库不会变化。 public void replaceData() { SQLiteDatabase db=databaseHelper.getWritableDatabase(); db.beginTransaction(); //开启事务 //首先,删除数据 db.execSQL(\ //手动设定一个断点,模仿删除失败 if(true) try { throw new IOException();

} catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } //然后,添加数据 db.execSQL(\into Book(name,author,pages,price) values(?,?,?,?)\String[] {\ //事务执行成功 db.setTransactionSuccessful(); } do

2、升级数据库最佳写法

之前升级数据库时,为了确保新增加的table之前没有,就先把table全部删除了,这样的行为是很傻比的。 改进方法为:

改变version,然后在onUpdate()中进行判断,根据version执行不同的更新操作。

databaseHelper = new MyDatabaseHelper(this, \

比如app一共更新了两次,第一次添加了table Category,第二次在table Book中添加category_id.

于是,就有三个版本: version=1 version=2 version=3 建数据库,添加table Book 添加table Category 在table Book中添加category_id

主程序中:databaseHelper = new MyDatabaseHelper(this, \将版本号改为3。

如果是第一次安装,则直接进入onCreate(),直接安装最新版本; 如果第一次安装版本1,则进入onUpdate(),连续进行了两次升级; 如果第一次安装版本2,则进入onUpdate(),只进行了最后一次升级。 public static final String CREATE_BOOK=\ \category_id,integer)\ public static final String CREATE_CATEGORY=\table Category(id integer primary autoincrement,category_name text,category_code integer)\

key

private Context mcontext; public void onCreate(SQLiteDatabase db) { db.execSQL(CREATE_BOOK); db.execSQL(CREATE_CATEGORY); Toast.makeText(mcontext, \创建成功\ }

//注意,switch语句里面,没有添加break! public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { switch (oldVersion) { case 1: db.execSQL(CREATE_CATEGORY); case 2: db.execSQL(\ default: } }

第七章 Content Provider

一、简介

Content Provider用法有两种:

1、使用现有的CP来读取和操作相应程序中的数据;比如系统电话本。 2、创建自己的CP给我们的程序数据提供外部访问的接口。

二、访问已有的CP

当一个APP通过CP对其数据提供了外部的访问接口,则其他任何程序都可以通过这个接口对数据进行访问和操作。

1、ContentResolver用法

任何程序如果想访问其他程序通过CP共享的数据,都要使用ContentResolver,通过

搜索更多关于: 第一行代码Android学习笔记完全版 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

public void onCreate(SQLiteDatabase db) { db.execSQL(CREATE_BOOK); db.execSQL(CREATE_CATEGORY); Toast.makeText(mcontext, \创建成功\ } public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { db.execSQL(\ db.execSQL(\ onCreate(db); } 缺点:需要删除已经存在的表,以前的数据也会被删除。 3、添加数据 4、更新数据 5、删除数据 6、查询数据 7、直接使用SQL操作数据库 添加数据:db.execSQL(―insert into Book(nam

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com