• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >Android > 安卓第四天笔记-Sqlite,安卓第四天-sqlite

安卓第四天笔记-Sqlite,安卓第四天-sqlite

作者:网友 字体:[增加 减小] 来源:互联网 时间:2017-05-26

网友通过本文主要向大家介绍了安卓sqlite数据库,安卓sqlite增删改查,安卓sqlite,安卓sqlite教程,安卓sqlite汉化版等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

安卓第四天笔记-Sqlite,安卓第四天-sqlite


安卓第四天笔记-Sqlite

1.数据库的创建运行与更新

1.1.创建一个类继承SqliteOpenHelper

 

1.2.创建构造方法

/**

 * 数据库创建类

    

 * @author 刘楠

 *

 * 2016-2-20上午10:04:34

 */

public class DbSqliteOpenHelper extends SQLiteOpenHelper {

 

     /**

      *

      * @param context 上下文

      * @param name  数据库的名字如: students.db

      * @param factory  游标工厂 ,类似JDBC中的ResultSet中的hasNext();

      * @param version  数据库的版本

      */

     public DbSqliteOpenHelper(Context context, String name,

              CursorFactory factory, int version) {

         super(context, name, factory, version);

     }

 

     /**

      * 当数据库被创建时,执行,

      * 只会执行一次

      */

     @Override

     public void onCreate(SQLiteDatabase db) {

        

 

     }

 

     /**

      * 当数据版本升级时执行,

      * 数据版本只能升不能降 从1开始

      * 这里常用于更改数据库中的表的结构,如添加列,删除列,之类的,创建新的表

      */

     @Override

     public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {

     }

}

 

 

1.3.更改构造方法

/**

      *

      * @param context 上下文

      * @param name  数据库的名字如: students.db

      * @param factory  游标工厂 ,类似JDBC中的ResultSet中的hasNext();

      * @param version  数据库的版本

      */

     public DbSqliteOpenHelper(Context context) {

         super(context, "student.db", null, 1);

     }

 

 

更改后

/**

      *

      * @param context 上下文

      * @param name  数据库的名字如: students.db

      * @param factory  游标工厂 ,类似JDBC中的ResultSet中的hasNext();

      * @param version  数据库的版本 这里的版本必须大于0,如果为0就会报错

      */

     public DbSqliteOpenHelper(Context context) {

         super(context, "student.db", null, 1);

     }

 

 

源码中的解释,数据库版本必须大于等于0,否则会抛出异常

 

将数据库版本设置为0,运行

 

不能降版本

 

 

1.4.在onCreate方法中创建数据库表

/**

      * 当数据库被创建时,执行,

      * 只会执行一次

      */

     @Override

     public void onCreate(SQLiteDatabase db) {

         //创建数据库表

         //sql    create table students(_id integer primary key, name varchar(30))

         db.execSQL("create table students(_id integer primary key, name varchar(30))");

         Log.i(TAG, "onCreate 方法执行了");

 

     }

 

 

1.5.在Activity中实例化

 

 

/**

 * 数据库初始化

    

 * @author 刘楠

 *

 * 2016-2-20上午10:27:04

 */

public class MainActivity extends Activity {

 

     private static final String TAG = "MainActivity";

     private DbSqliteOpenHelper helper;

     @Override

     protected void onCreate(Bundle savedInstanceState) {

         super.onCreate(savedInstanceState);

         setContentView(R.layout.activity_main);

         //实例化

         helper = new DbSqliteOpenHelper(this);

        

         Log.i(TAG, "helper 实例化");

         //执行下方的代码后才会创建数据库

         helper.getWritableDatabase();

     }

 

}

 

 

创建数据库后并不会被创建,只有执行了,getReadDatabase或者getWriteDatabase(),

才会执行onCreate中的方法

 

 

运行查看LOG

 

 

 

1.6.数据已经创建,查看数据库

 

将数据库文件导出到桌面

SQLite Expert Professional 3打开

 

 

 

1.7.修改数据库版本,同是添加一列

 

/**

      * 当数据版本升级时执行,

      * 数据版本只能升不能降 从1开始

      * 这里常用于更改数据库中的表的结构,如添加列,删除列,之类的,创建新的表

      */

     @Override

     public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {

         Log.i(TAG, "onUpgrade 方法执行了");

        

         //sql alter table  students add gender varchar(10)

        

        

              //添加列

              db.execSQL("alter table  students add gender varchar(10)");

 

     }

 

 

 

 

 

查看日志

 

1.8.导出数据库中的文件再次查看

 

 

列已经添加成功

2.传统方式操作数据库

使用sql来操作数据库

/**

 * 传统数据库操作工具类

      

 * @author 刘楠

 *

 * 2016-2-20下午12:19:16

 */

public class StudentDao {

      

       private static final String TAG = "StudentDao";

       /*

        * 操作数据库类

        */

       private DbSqliteOpenHelper helper;

      

       public StudentDao(Context context){

              helper = new DbSqliteOpenHelper(context);

       }

      

       /**

        * 插入方法

        * @param name 姓名

        * @param gender 性别

        * @param stuno 学号

        */

       public void insert(String name,String gender,String stuno){

              //获取数据

              SQLiteDatabase db = he



 
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 安卓第四天笔记-Sqlite,安卓第四天-sqlite

相关文章

  • 2017-05-26Android入门(1)--下载安装Android Studio,androidstudio
  • 2017-08-02【玖哥乱弹】Android初学路上会遇到的瓶颈
  • 2017-05-26AlertDialog创建6种对话框的用法
  • 2017-05-26编译android源码4---ubuntu下载Android源代码
  • 2017-05-26Android 性能分析工具之 TraceView 使用说明
  • 2017-05-26Android studio 插件之 GsonFormat (自动生成javabean)
  • 2017-05-26centos7 系统cache的一例故障及解决
  • 2017-05-26android 图片加载库 Glide 的使用介绍,
  • 2017-05-26缓存之 ACache
  • 2017-05-26想要在launcher中模拟按home键。,launcherhome

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • 配置adb环境变量,adb环境变量
    • Android 手机卫士--平移动画实现,android卫士
    • TabLayout和ViewPager简单实现页卡的滑动,tablayoutviewpager
    • 安卓四大组件之广播,安卓四大组件
    • Android事件分发
    • 编译器开发系列--Ocelot语言3.类型名称的消解,编译器--ocelot
    • 状态栏一体化及其带来的软键盘自适应问题
    • PopupWindow的使用,PopupWindow使用
    • 初探ListView,初探网
    • android 权限拒绝时的问题解决(详解)

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有