数据库基础开源学习教程-android 使用 litepal *** 作本地数据库

数据库基础开源学习教程-android 使用 litepal  *** 作本地数据库,第1张

概述<p><iframename="ifd"src="https://mnifdv.cnesource/cnblogs/LearnMysql"frameborder="0"scrolling="auto"width="100%"height="1500"></iframe></p>    说明android手机自带本

<p><iframe name="ifd" src="https://mnifdv.cn/resource/cnblogs/LearnMysqL" frameborder="0" scrolling="auto" wIDth="100%" height="1500"></iframe></p>

 

<iframe frameborder="0" height="1500" name="ifd" scrolling="auto" src="https://mnifdv.cn/resource/cnblogs/LearnMysqL" wIDth="100%"></iframe>

 

 

 说明

androID手机自带本地数据库 sqlite , *** 作本地数据库androID给了API

不过这节的重点是讲解如何使用 郭霖(第一行代码) 写的litepal *** 作数据库

在使用litepal之前,咱们先看下使用androID 自带的API *** 作数据库

 

打开本节代码

 

 

 

 

 

1.用户可以去百度了...这是AndroID  API *** 作数据库最基本的规定

 

 

 

 

 

public class DataBase extends sqliteOpenHelper {    private final static String table_name = "Mytable";//表格名字    private final static String ID = "ID"; //第一个字段    private sqliteDatabase db = null;    public final static String Username = "name";//第二个字段    public DataBase(Context context, String DATABASE_name, int DATABASE_VERSION) {        super(context,DATABASE_name, null, DATABASE_VERSION);    }    @OverrIDe    public voID onCreate(sqliteDatabase db) {        // Todo auto-generated method stub        String sql = "CREATE table " + table_name +                " (" +                ID + " INTEGER primary key autoincrement, " +                Username + " text "+                ")";        db.execsql(sql);    }    @OverrIDe    public voID onUpgrade(sqliteDatabase db, int oldVersion, int newVersion) {        // Todo auto-generated method stub        String sql = "DROP table IF EXISTS " + table_name;        db.execsql(sql);        onCreate(db);    }    /**     * insert data     * @param name     * @return     */    public long insert(String name)    {        db = getWritableDatabase();        /* ContentValues */        ContentValues cv = new ContentValues();        cv.put(Username, name);        long row = db.insert(table_name, null, cv);        db.close();        return row;    }    /**     * delete data     * @param name     * @return     */    public long delete(String name)    {        db = getWritableDatabase();        String where = Username + " = ?";        String[] whereValue ={name};        long row = db.delete(table_name, where, whereValue);        db.close();        return row;    }    /**     * query data     * @param name     * @return     */    public Cursor query(String name)    {        db = getWritableDatabase();        Cursor cursor = null;        String str = null;        str = "select "+name +" from "+ table_name;        cursor = db.rawquery(str,null);        return cursor;    }}

 

 

 2.上面的程序是生成这样一张表格

 

 

3.插入数据

 

 

 

4.删除数据

 

 

 5.查询数据

 

 

 

使用

 

 

 

 

 

 

 

 

 

接着看litepal

1.把jar包引入自己工程

我使用的是2.0版本

 

 

 

 

 

2.建一个java文件,继承 litePalSupport

 

 

public class DataBaselitepal extends litePalSupport {    private  int ID;//ID    private  String Username;//用户名    private  String UserPwd;//密码public int getID() {        return ID;    }    public voID setID(int ID) {        this.ID = ID;    }    public String getUsername() {        return Username;    }    public voID setUsername(String username) {        Username = username;    }    public String getUserPwd() {        return UserPwd;    }    public voID setUserPwd(String userPwd) {        UserPwd = userPwd;    }}

 

 

上面的意思是建一张这样的表格

 

 

3.在assets文件夹里面建一个litepal.xml文件

如果没有 assets 文件夹,建一个文件夹,assets 是放androID资源的文件夹

<mapPing ></mapPing>

里面的calss需要写全路径.

 

<?xml version="1.0" enCoding="utf-8"?><litepal>    <!-- 数据库名 -->    <dbname value="Testlitepal" ></dbname>    <!-- 数据库版本 -->    <version value="1" ></version>    <!--数据库文件路径,把所有的数据库文件放到此处 -->    <List>        <mapPing ></mapPing>    </List></litepal>

 

 

4.初始化

1.建一个  MyApplication  继承 Application 

在 onCreate 里面写上下面两句

注: Application onCreate 是程序一启动就执行的函数,目的是让litepal第一时间初始化

如果自己有了 Application,只需要添加下面两句即可

 

 

/*=================litepal数据库=====================*/        litePal.initialize(this);        //获取到sqliteDatabase的实例,创建数据库表        sqliteDatabase db = litePal.getDatabase();

 

 

2.在 AndroIDManifest.xml 文件中配置下 

 

 

 

5.添加和查询数据

 

 

/*添加数据*/        DataBaselitepal dataBaselitepal = new DataBaselitepal();        dataBaselitepal.setUsername("yang");        dataBaselitepal.setUserPwd("11223344");        dataBaselitepal.save();        /*查询数据*/        List<DataBaselitepal> allSongs = litePal.where("Username=?","yang").find(DataBaselitepal.class);        for (DataBaselitepal dataBaselitepal1 :allSongs) {            int ID = dataBaselitepal1.getID();            String Username = dataBaselitepal1.getUsername();            String UserPwd = dataBaselitepal1.getUserPwd();            Log.d("MainActivity",ID+" "+ Username+ " " + UserPwd);        }

 

 

6.修改和删除数据

 

/*修改数据:把用户yang的密码改为1234567890*/        ContentValues values = new ContentValues();        values.put("UserPwd","1234567890");        int updateallNum = litePal.updateall(DataBaselitepal.class,values,"Username =  ? ","yang");        /*查询数据*/        List<DataBaselitepal> dataBaselitepals = litePal.where("Username=?","yang").find(DataBaselitepal.class);        for (DataBaselitepal dataBaselitepal1 :dataBaselitepals) {            int ID = dataBaselitepal1.getID();            String Username = dataBaselitepal1.getUsername();            String UserPwd = dataBaselitepal1.getUserPwd();            Log.d("MainActivity修改后查询",ID+" "+ Username+ " " + UserPwd);        }        /*删除用户名为yang,密码为1234567890的数据 */        int delAllNum = litePal.deleteall(DataBaselitepal.class,"Username = ? and UserPwd = ? ","yang","1234567890");

 

 

7.更新数据库

1.假设后期项目需求增加了手机号

 

 

2.在litepal设置一个新版本即可

 

 

 

总结

以上是内存溢出为你收集整理的数据库基础开源学习教程-android 使用 litepal *** 作本地数据库全部内容,希望文章能够帮你解决数据库基础开源学习教程-android 使用 litepal *** 作本地数据库所遇到的程序开发问题。

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

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

原文地址: http://outofmemory.cn/web/1059484.html

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

发表评论

登录后才能评论

评论列表(0条)

保存