【达内课程】ThinkAndroid数据库框架使用

thinkAndroid数据库框架

ThinkAndroid Git地址
在这里插入图片描述

下载jar包放入libs中
在这里插入图片描述

新建MyApplication继承TAApplication

public class MyApplication extends TAApplication {
    @Override
    public void onCreate() {
        super.onCreate();
    }
}

AndroidManifest中注册MyApplication

 <application
       ......
        android:name=".MyApplication">
        <activity android:name=".MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

创建保存用户信息的实体类UserEntity

public class UserEntity implements Serializable {
    private String username;
    private String password;

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }
}

创建一个DAO

public class UserDAO {
    public UserDAO(TAApplication taApplication) {
        //创建表
        TASQLiteDatabasePool pool = taApplication.getSQLiteDatabasePool();
        //从池中取对象
        TASQLiteDatabase database = pool.getSQLiteDatabase();
        //没有表
        //通过反射得到类的包名、类名、属性名
        if (!database.hasTable(UserEntity.class)) {
            database.creatTable(UserEntity.class);
        }
        //对象用完要放回池
        pool.releaseSQLiteDatabase(database);
    }

    public void insert(TAApplication taApplication, UserEntity userEntity) {
        TASQLiteDatabasePool pool = taApplication.getSQLiteDatabasePool();
        TASQLiteDatabase database = pool.getSQLiteDatabase();
        //利用反射得到对象属性名
        database.insert(userEntity);
        pool.releaseSQLiteDatabase(database);
    }

    public List<UserEntity> queryAll(TAApplication taApplication) {
        TASQLiteDatabasePool pool = taApplication.getSQLiteDatabasePool();
        TASQLiteDatabase database = pool.getSQLiteDatabase();
        //第一个参数:从哪读
        //第二个参数:有相同行,取一个
        //第三个参数:where
        //第四个参数:groupby
        List<UserEntity> list = database.query(UserEntity.class, true, null, null, null, null, null);
        pool.releaseSQLiteDatabase(database);
        return list;
    }
}

MainActivity

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        MyApplication application = (MyApplication) getApplication();
        UserEntity entity1 = new UserEntity();
        entity1.setUsername("周杰伦");
        entity1.setPassword("zhoujielun");
        UserDAO userDAO = new UserDAO(application);
        userDAO.insert(application,entity1);

        UserEntity entity2 = new UserEntity();
        entity2.setUsername("许嵩");
        entity2.setPassword("xusong");
        userDAO.insert(application,entity2);

        ArrayList<UserEntity> list = new ArrayList(userDAO.queryAll(application));
        Log.d("test","数量:"+list.size());
    }
}

运行程序可以查看到日志输出的数量为2

我们查看data/data目录
在这里插入图片描述
可以看到目录包名下创建了一个数据库think_android.db

我们用命令查看这个数据库

关于命令行的操作可以查看
【SQLite数据库存储】创建、升级数据库
在这里插入图片描述
在这里插入图片描述

也可以下载下来使用SQLite Expert Professional查看

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
ThinkAndroid是一个免费的开源的、简易的、遵循Apache2开源协议发布的Android开发框架,其开发宗旨是简单、快速的进行 Android应用程序的开发,包含Android mvc、简易sqlite orm、ioc模块、封装Android httpclitent的http模块, 具有快速构建文件缓存功能,无需考虑缓存文件的格式,都可以非常轻松的实现缓存,它还基于文件缓存模块实现了图片缓存功能, 在android中加载的图片的时候,对oom的问题,和对加载图片错位的问题都轻易解决。他还包括了一个手机开发中经常应用的实用工具类, 如日志管理,配置文件管理,android下载器模块,网络切换检测等等工具。 目前ThinkAndroid主要有以下模块: MVC模块:实现视图与模型的分离。 ioc模块:android中的ioc模块,完全注解方式就可以进行UI绑定、res中的资源的读取、以及对象的初始化。 数据库模块:android中的orm框架使用了线程池对sqlite进行操作。 http模块:通过httpclient进行封装http数据请求,支持异步及同步方式加载。 缓存模块:通过简单的配置及设计可以很好的实现缓存,对缓存可以随意的配置 图片缓存模块:imageview加载图片的时候无需考虑图片加载过程中出现的oom和android容器快速滑动时候出现的图片错位等现象。 配置器模块:可以对简易的实现配对配置的操作,目前配置文件可以支持Preference、Properties对配置进行存取。 日志打印模块:可以较快的轻易的是实现日志打印,支持日志打印的扩展,目前支持对sdcard写入本地打印、以及控制台打印 下载器模块:可以简单的实现多线程下载、后台下载、断点续传、对下载进行控制、如开始、暂停、删除等等。 网络状态检测模块:当网络状态改变时,对其进行检测。 项目主页:https://github.com/white-cat/ThinkAndroid(不过这个项目已经两年没更新了)  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值