-
public void close()
-
{
-
super.close();
-
userDao = null;
-
}
-
}
这里我们需要继承OrmLiteSqliteOpenHelper,其实就是间接继承了SQLiteOpenHelper
然后需要实现两个方法:
1、onCreate(SQLiteDatabase database,ConnectionSource connectionSource)
创建表,我们直接使用ormlite提供的TableUtils.createTable(connectionSource, User.class);进行创建~
2、onUpgrade(SQLiteDatabase database, ConnectionSource connectionSource, int oldVersion, int newVersion)
更新表,使用ormlite提供的TableUtils.dropTable(connectionSource, User.class, true);进行删除操作~
删除完成后,别忘了,创建操作:onCreate(database, connectionSource);
然后使用单例公布出一个创建实例的方法,getHelper用于获取我们的help实例;
最后我们可能会有很多表嘛,每个表一般我们都会单独写个Dao用于操作,这里为了简单我并没有抽取出来,直接写在helper中:
比如UserDao的获取:
[java] view plain copy
-
/**
-
* 获得userDao
-
*
-
* @return
-
* @throws SQLException
-
*/
-
public Dao<User, Integer> getUserDao() throws SQLException
-
{
-
if (userDao == null)
-
{
-
userDao = getDao(User.class);
-
}
-
return userDao;
-
}
然后通过获取到的Dao就可以进行User的一些常用的操作了。
=================================================================
最后是测试,我们直接创建了一个测试类进行测试~~~
[java] view plain copy
-
package com.zhy.zhy_ormlite.test;
-
import java.sql.SQLException;
-
import java.util.List;
-
import com.zhy.zhy_ormlite.bean.User;
-
import com.zhy.zhy_ormlite.db.DatabaseHelper;
-
import android.test.AndroidTestCase;
-
import android.util.Log;
-
public class OrmLiteDbTest extends AndroidTestCase
-
{
-
public void testAddUser()
-
{
-
User u1 = new User(“zhy”, “2B青年”);
-
DatabaseHelper helper = DatabaseHelper.getHelper(getContext());
-
try
-
{
-
helper.getUserDao().create(u1);
-
u1 = new User(“zhy2”, “2B青年”);
-
helper.getUserDao().create(u1);
-
u1 = new User(“zhy3”, “2B青年”);
-
helper.getUserDao().create(u1);
-
u1 = new User(“zhy4”, “2B青年”);
-
helper.getUserDao().create(u1);
-
u1 = new User(“zhy5”, “2B青年”);
-
helper.getUserDao().create(u1);
-
u1 = new User(“zhy6”, “2B青年”);
-
helper.getUserDao().create(u1);
-
testList();
-
} catch (SQLException e)
-
{
-
e.printStackTrace();
-
}
-
}
-
public void testDeleteUser()
-
{
-
DatabaseHelper helper = DatabaseHelper.getHelper(getContext());
-
try
-
{
-
helper.getUserDao().deleteById(2);
-
} catch (SQLException e)
-
{
-
e.printStackTrace();
-
}
-
}
-
public void testUpdateUser()
-
{
-
DatabaseHelper helper = DatabaseHelper.getHelper(getContext());
-
try
-
{
-
User u1 = new User(“zhy-android”, “2B青年”);
-
u1.setId(3);
-
helper.getUserDao().update(u1);
-
} catch (SQLException e)
-
{
-
e.printStackTrace();
-
}
-
}
-
public void testList()
-
{
-
DatabaseHelper helper = DatabaseHelper.getHelper(getContext());
-
try
-
{
-
User u1 = new User(“zhy-android”, “2B青年”);
-
u1.setId(2);
-
List users = helper.getUserDao().queryForAll();
-
Log.e(“TAG”, users.toString());
-
} catch (SQLException e)
-
{
-
e.printStackTrace();
-
}
-
}
-
}
简单测试了下CURD,使用AndroidTestCase记得配置下环境~~~
用起来是不是还是非常方便的,不过还是建议大家例如User的数据库操作,单独抽取出来为UserDao,如下:
[java] view plain copy
-
package com.zhy.zhy_ormlite.db;
-
import java.sql.SQLException;
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数Android工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Android移动开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新
如果你觉得这些内容对你有帮助,可以添加V获取:vip204888 (备注Android)
学习分享,共勉
Android高级架构师进阶之路
题外话,我在阿里工作多年,深知技术改革和创新的方向,Android开发以其美观、快速、高效、开放等优势迅速俘获人心,但很多Android兴趣爱好者所需的进阶学习资料确实不太系统,完整。今天我把我搜集和整理的这份学习资料分享给有需要的人
- Android进阶知识体系学习脑图
- Android进阶高级工程师学习全套手册
- 对标Android阿里P7,年薪50w+学习视频
- 大厂内部Android高频面试题,以及面试经历
一个人可以走的很快,但一群人才能走的更远。如果你从事以下工作或对以下感兴趣,欢迎戳这里加入程序员的圈子,让我们一起学习成长!
AI人工智能、Android移动开发、AIGC大模型、C C#、Go语言、Java、Linux运维、云计算、MySQL、PMP、网络安全、Python爬虫、UE5、UI设计、Unity3D、Web前端开发、产品经理、车载开发、大数据、鸿蒙、计算机网络、嵌入式物联网、软件测试、数据结构与算法、音视频开发、Flutter、IOS开发、PHP开发、.NET、安卓逆向、云计算
结+移动架构视频+大厂面试真题+项目实战源码》]( )收录**
一个人可以走的很快,但一群人才能走的更远。如果你从事以下工作或对以下感兴趣,欢迎戳这里加入程序员的圈子,让我们一起学习成长!
AI人工智能、Android移动开发、AIGC大模型、C C#、Go语言、Java、Linux运维、云计算、MySQL、PMP、网络安全、Python爬虫、UE5、UI设计、Unity3D、Web前端开发、产品经理、车载开发、大数据、鸿蒙、计算机网络、嵌入式物联网、软件测试、数据结构与算法、音视频开发、Flutter、IOS开发、PHP开发、.NET、安卓逆向、云计算