一起学Android之Sqlite

一起学Android之Sqlite,第1张

概述本文主要讲解Andriod开发中Sqlite的简单应用(增删改查),仅供学习分享使用 概述

AndroID对sqlite提供了完全友好的支持,在应用程序内部,都可以通过名称访问任何的数据库。建议通过sqliteOpenHelpe的子类并通过重写onCreate() 方法进行创建数据表。本文主要讲解Andriod开发中sqlite的简单应用(增删改查),仅供学习分享使用。

涉及知识点sqliteOpenHelper 管理创建数据库和版本管理的帮助类(抽象类)。onCreate 创建数据表的方法execsql 执行一个非Select的语句,没有返回信息。sqliteDatabase 管理sqlite数据的对象,显示提供一组方法来管理数据库(CRUD)。SimpleCursorAdapter 一个简易的适配器,用来将Cursor适配数据到控件上。ContentValues 存储一组数据值(key-value)。示例效果图

如下图所示:

数据库帮助类

代码如下:

 1 package com.hex.demosqlite; 2  3 import androID.content.Context; 4  androID.database.sqlite.sqliteDatabase; 5  androID.database.sqlite.sqliteOpenHelper; 6  7 /** 8  * Created by administrator on 2019/4/4. 9  */10 public class DatabaseHelper extends sqliteOpenHelper {11 12     private static final String DB_name="persons.db";13 14     final int DB_VERSION=115 16     public DatabaseHelper(Context context) {17         super(context,DB_name,null,DB_VERSION);18     }19 20     21      * 创建数据库,指定数据库名称,版本号22      * @param db23      24     @OverrIDe25     voID onCreate(sqliteDatabase db) {26         String sql="create table person(_ID integer primary key autoincrement not null,name char(10),nickname char(10))"27         db.execsql(sql);28 29 30     31      * 数据库升级32 33  oldVersion34  newVersion35      36 37     voID onUpgrade(sqliteDatabase db,1)">int oldVersion,1)">int newVersion) {38         if(newVersion>oldVersion){39             onCreate(db);40         }41 42 }
新增(Insert)

代码如下:

 1   2      * 新增     * v 5       6      add(VIEw v) { 7         /** //一般不使用此种方法,因为execsql方法没有返回值         String sql="insert into person(name,nickname)values('宋江','及时雨')"; 9          db.execsql(sql);10          11         ContentValues values = new ContentValues();12         values.put("name","宋江");13         values.put("nickname","及时雨"14         //返回值为插入行的行号15         long result = db.insert("person",values);16         if (result > 0) {17             Toast.makeText(this,"插入成功"18         } else {19             Toast.makeText(20 21     }
查询(query)

代码如下:

 1        * 查询 query(VIEw v) {/*        String sql="select * from person where name=?";        Cursor cursor = db.rawquery(sql,new String[]{"宋江"});10         11         columns 如果为空,则表示所有列12         Cursor cursor = db.query("person",1)">null,"name=?",1)">new String[]{"宋江"},1)">13         while (cursor.movetoNext()) {14             int nameIndex = cursor.getColumnIndex("name"15             int nickIndex = cursor.getColumnIndex("nickname"16             String nameValue = cursor.getString(nameIndex);17             String nickValue = cursor.getString(nickIndex);18             String s = "name=" + nameValue + ",nickname=" + nickValue;this        adaper.swapCursor(cursor);        adaper.notifyDataSetChanged();23     }
修改(Update)

代码如下:

 1          * 更新 update(VIEw v) { String sql="update person set nickname=? where name=?"; 8  9         ContentValues values = 10         values.put("nickname","及时雨2"更新语句受影响的行数12         int result = db.update("person",values,1)">new String[]{"宋江"});14             Toast.makeText(15         } 16             Toast.makeText(17 18     }
删除(Delete)

代码如下:

     * 删除 delete(VIEw v) {String sql="delete person where name=?"; 9         受删除语句影响的行数int result = db.delete("person",1)">12             Toast.makeText(13         } 15 16     }
备注

千里之行,始于足下!

 

总结

以上是内存溢出为你收集整理的一起学Android之Sqlite全部内容,希望文章能够帮你解决一起学Android之Sqlite所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1121296.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-29
下一篇2022-05-29

发表评论

登录后才能评论

评论列表(0条)

    保存