<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 *** 作本地数据库所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)