Android精通之OrmLite数据库框架,Picasso框架,Okio框架,OKHttp框架
版权声明:未经博主允许不得转载

OrmLite基础知识
什么是OrmLite框架,在我没用这个框架时,不知道它有多好,用了才知道很方便哦,为了提供开发效率,Android开发者需要懂得运行多种框架进行开发。对于OrmLite框架是一种很轻量级的数据库操作框架,它的底层是由反射机制实现的。
OrmLite框架
来认识一下OrmLite的官网:http://ormlite.com/releases/
展示

接下来我们下载4.48的jar包,分别是core和android的。
接下来你会看到
@DatabaseField(columnName = "name")
这你就被奇怪了,这大概是OrmLite的框架的特性吧~
在OrmLiteSqlite中,你会编写一个数据库帮助类,继承OrmLiteSqliteOpenHelper,在该类中创建数据库和表的创建。
并重写两个方法:
onCreate()和onUpgrade()
在OrmLite框架中:
OrmLite 使用注解
自己创建一个实体类对应类
@中代表数据表(表名=“值为表名的名称,字段列的名称”)
@DatabaseTable(tableName="student")
public class Student{
}
@generatedId表示id为主键,true自动生成
@DatabaseField(generatedId = true)
private int id;
@columnName为字段名,同时下方
@DatabaseField(columnName = "name")
private String name;
@ForeignCollectionField为外键
创建数据库帮助类
在继承jar包中要添加两包类:
ormlite-android-4.48
ormlite-core-4.48
DatabaseHelper继承于OrmLiteSqliteOpenHelper
public class DatabaseHelper extends OrmLiteSqliteOpenHelper {
//这里创建一个构造函数,有参
private DatabaseHelper(Context context) {
super(context, DB_NAME, null, 2);
}
}
创建帮助类继承OrmLiteSqliteOpenHelper会自动导入两个方法:
@Override
public void onCreate(SQLiteDatabase sqLiteDatabase, ConnectionSource connectionSource) {
}
@Override
public void onUpgrade(SQLiteDatabase sqLiteDatabase, ConnectionSource connectionSource, int i, int i1) {
}
在onCreate中创建数据表,在onUpgrade中创建表的更新,onUpgrade先删除表在创建新的表更新。
TableUtils为表工具类
//onCreate
TableUtils.createTable(connectionSource,Student.class);
//onUpgrade
TableUtils.dropTable(connectionSource,Student.class,true);
onCreate(sqLiteDatabase,connectionSource);
在创建帮助类中,要获取DAO对象
//如下所示:
public Dao getDao(class class)throws SQLException{
...
}
Picasso框架
用于加载图片列表
onCreate
//设置图像
Picasso picasso = Picasso.with(this);
RequestCreator request = picasso.load(PATH_IMAGE_URI);
//网络加载错误,显示的图片
request.error(R.mipmap.ic_launcher);
//裁剪
request.resize(100, 100);
//设置占位符图片
request.placeholder(R.mipmap.ic_launcher);
Picasso.with(this).setIndicatorsEnabled(true);
class IconAdapter extends BaseAdapter {
private List<String> mDataUries;
//public int getCount()
//public Object getItem(int i)
//public long getItemId(int i)
// public View getView(int i, View view, ViewGroup viewGroup)
}
OKio框架
历史:
- java.io
- java.nio
- okio
OKio访问,存储,处理数据越来越方便
OKHttp框架
An HTTP+HTTP/2 client for Android and Java applications.
适用于Android和Java应用程序的HTTP和HTTP / 2客户端。
- Apache HttpClient
- HttpURLConnetion
- OkHttp
OKHttp:https://github.com/square/okhttp
or Gradle:
implementation 'com.squareup.okhttp3:okhttp:3.10.0'
如果觉得不错,那就点个赞吧!❤️
定位:分享 Android&Java 知识点
Android精通之OrmLite数据库框架,Picasso框架,Okio框架,OKHttp框架的更多相关文章
- 【转载】Android开源:数据库ORM框架GreenDao学习心得及使用总结
转载链接:http://www.it165.net/pro/html/201401/9026.html 最近在对开发项目的性能进行优化.由于项目里涉及了大量的缓存处理和数据库运用,需要对数据库进行频繁 ...
- Android开源框架——Picasso
开篇——介绍Picasso (Picasso是什么?)Picasso:A Powerfull Image Downloading and Caching Library for Android,即An ...
- android 一个SQLite数据库多个数据表的基本使用框架 (带demo)
android 一个SQLite数据库多个数据表(带demo) 前言 demo演示 一.搭建 二.建立实体类 三.建立数据库操作类 ...
- OkHttp框架从入门到放弃,解析图片使用Picasso裁剪,二次封装OkHttpUtils,Post提交表单数据
OkHttp框架从入门到放弃,解析图片使用Picasso裁剪,二次封装OkHttpUtils,Post提交表单数据 我们这片博文就来聊聊这个反响很不错的OkHttp了,标题是我恶搞的,本篇将着重详细的 ...
- Android开源框架源码分析:Okhttp
一 请求与响应流程 1.1 请求的封装 1.2 请求的发送 1.3 请求的调度 二 拦截器 2.1 RetryAndFollowUpInterceptor 2.2 BridgeInterceptor ...
- Android 框架学习之 第一天 okhttp & Retrofit
最近面试,一直被问道新技术新框架,这块是短板,慢慢补吧. 关于框架的学习,分几个步骤 I.框架的使用 II.框架主流使用的版本和Android对应的版本 III.框架的衍生使用比如okhttp就会有R ...
- 【转】Android 使用ORMLite 操作数据库
Android 使用ORMLite 操作数据库 用过ssh,s2sh的肯定不会陌生 ,应该一学就会 第一步: 下载ormlite-android-4.41.jar和ormlite-core-4.4 ...
- Android Multimedia框架总结(九)Stagefright框架之数据处理及到OMXCodec过程
转载请把头部出处链接和尾部二维码一起转载,本文出自逆流的鱼:http://blog.csdn.net/hejjunlin/article/details/52532085 不知不觉到第九篇了,感觉还有 ...
- Android八门神器(一): OkHttp框架源码解析
HTTP是我们交换数据和媒体流的现代应用网络,有效利用HTTP可以使我们节省带宽和更快地加载数据,Square公司开源的OkHttp网络请求是有效率的HTTP客户端.之前的知识面仅限于框架API的调用 ...
随机推荐
- Kubelet bootstrap 流程
首先,什么是kubelet bootstrap?在安装 k8s worker node 时,基本上 worker 的初始状态仅仅是安装了 docker 和 kubelet,worker 需要一种机制跟 ...
- html 提取 公用部分
在写HTML时,总会遇到一些公用部分,如果每个页面都写那就很麻烦,并且代码量大大增加. 网上查询了几种方法: 1.es6 的 embed 标签. <embed src="header. ...
- 2018面向对象程序设计(Java)第17周学习指导及要求
2018面向对象程序设计(Java)第17周学习指导及要求(2018.12.20-2018.12.23) 学习目标 (1) 掌握线程同步的概念及实现技术: (2) Java线程综合编程练习 学习资 ...
- 数据库-1055报错-把only_full_group_by去掉
[Err] 1055 - Expression #1 of ORDER BY clause is not in GROUP BY clause and contains nonaggregated c ...
- jstl标准标签库 其他标签
url操作标签 import 将另一个页面的内容引入到这个页面上来, 与include指令的区别: 这个标签可以引入其他项目中甚至网络上的资源 <c:import url="被导入的路 ...
- POJ-2387.Til the Cows Come Home.(五种方法:Dijkstra + Dijkstra堆优化 + Bellman-Ford + SPFA + Floyd-Warshall)
昨天刚学习完最短路的算法,今天开始练题发现我是真的菜呀,居然能忘记邻接表是怎么写的,真的是菜的真实...... 为了弥补自己的菜,我决定这道题我就要用五种办法写出,并在Dijkstra算法堆优化中另外 ...
- [剑指Offer]38-字符串的全排列
链接 https://www.nowcoder.com/practice/fe6b651b66ae47d7acce78ffdd9a96c7?tpId=13&tqId=11180&tPa ...
- 【读书笔记】深入应用C++11代码优化与工业级应用 读书笔记01
第一章 使用C++11让程序更简洁.更现代 1.1 类型推导 1.1.1 auto类型推导 1.auto关键字的新意义 不同于python等动态类型语言的运行时进行变量类型的推导,隐式类型定义的类 ...
- 249. Group Shifted Strings把迁移后相同的字符串集合起来
[抄题]: Given a string, we can "shift" each of its letter to its successive letter, for exam ...
- Python开发——数据类型【字典】
字典的定义 # Python语言中唯一的类型映射 # 键与值之间用“:”分开 # 项与项之间用“,”分开 person = {"name":"yuan",&qu ...