版权声明:未经博主允许不得转载

OrmLite基础知识

什么是OrmLite框架,在我没用这个框架时,不知道它有多好,用了才知道很方便哦,为了提供开发效率,Android开发者需要懂得运行多种框架进行开发。对于OrmLite框架是一种很轻量级的数据库操作框架,它的底层是由反射机制实现的。

OrmLite框架

来认识一下OrmLite的官网:http://ormlite.com/releases/

展示



接下来我们下载4.48的jar包,分别是coreandroid的。

接下来你会看到

@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框架的更多相关文章

  1. 【转载】Android开源:数据库ORM框架GreenDao学习心得及使用总结

    转载链接:http://www.it165.net/pro/html/201401/9026.html 最近在对开发项目的性能进行优化.由于项目里涉及了大量的缓存处理和数据库运用,需要对数据库进行频繁 ...

  2. Android开源框架——Picasso

    开篇——介绍Picasso (Picasso是什么?)Picasso:A Powerfull Image Downloading and Caching Library for Android,即An ...

  3. android 一个SQLite数据库多个数据表的基本使用框架 (带demo)

    android 一个SQLite数据库多个数据表(带demo) 前言        demo演示        一.搭建        二.建立实体类        三.建立数据库操作类        ...

  4. OkHttp框架从入门到放弃,解析图片使用Picasso裁剪,二次封装OkHttpUtils,Post提交表单数据

    OkHttp框架从入门到放弃,解析图片使用Picasso裁剪,二次封装OkHttpUtils,Post提交表单数据 我们这片博文就来聊聊这个反响很不错的OkHttp了,标题是我恶搞的,本篇将着重详细的 ...

  5. Android开源框架源码分析:Okhttp

    一 请求与响应流程 1.1 请求的封装 1.2 请求的发送 1.3 请求的调度 二 拦截器 2.1 RetryAndFollowUpInterceptor 2.2 BridgeInterceptor ...

  6. Android 框架学习之 第一天 okhttp & Retrofit

    最近面试,一直被问道新技术新框架,这块是短板,慢慢补吧. 关于框架的学习,分几个步骤 I.框架的使用 II.框架主流使用的版本和Android对应的版本 III.框架的衍生使用比如okhttp就会有R ...

  7. 【转】Android 使用ORMLite 操作数据库

    Android 使用ORMLite 操作数据库   用过ssh,s2sh的肯定不会陌生 ,应该一学就会 第一步: 下载ormlite-android-4.41.jar和ormlite-core-4.4 ...

  8. Android Multimedia框架总结(九)Stagefright框架之数据处理及到OMXCodec过程

    转载请把头部出处链接和尾部二维码一起转载,本文出自逆流的鱼:http://blog.csdn.net/hejjunlin/article/details/52532085 不知不觉到第九篇了,感觉还有 ...

  9. Android八门神器(一): OkHttp框架源码解析

    HTTP是我们交换数据和媒体流的现代应用网络,有效利用HTTP可以使我们节省带宽和更快地加载数据,Square公司开源的OkHttp网络请求是有效率的HTTP客户端.之前的知识面仅限于框架API的调用 ...

随机推荐

  1. ansible自动化运维详细教程及playbook详解

    前言 当下有许多的运维自动化工具( 配置管理 ),例如:Ansible.SaltStack.Puppet.Fabric 等. Ansible 一种集成 IT 系统的配置管理.应用部署.执行特定任务的开 ...

  2. 并发系列3:Lock锁以及核心类AQS

    Java Lock类提供了语言级别的Synchronized,Lock与Condition配合与Synchronized配合object一样实现了等待/通知机制.但它提供了更高的灵活性,有:1尝试非阻 ...

  3. C++ 11 创建和使用 unique_ptr

    unique_ptr 不共享它的指针.它无法复制到其他 unique_ptr,无法通过值传递到函数,也无法用于需要副本的任何标准模板库 (STL) 算法.只能移动unique_ptr.这意味着,内存资 ...

  4. python 之C3算法

    C3算法只要针对的Python2.3版本之后出现的新式类MRO(method resolution order) -------继承方法查询顺序;而经典类MRO则遵循的是深度优先遍历(树形结构) (1 ...

  5. Codeforces Round #508 (Div. 2)

    Codeforces Round #508 (Div. 2) http://codeforces.com/contest/1038 A #include<bits/stdc++.h> us ...

  6. 100-days: nineteen

    Title: Figure skating(花样滑冰): Olympic(奥林匹克的) champion Hanyu says '100 percent' on(引出时机) return to ice ...

  7. input中用中文输入法下的全角·替换英文输入法下的句号.

    核心语句 <input type="text" onkeyup="this.value=this.value.replace(/\./g, '·')" o ...

  8. 560. Subarray Sum Equals K 求和为k的子数组个数

    [抄题]: Given an array of integers and an integer k, you need to find the total number of continuous s ...

  9. [leetcode]59. Spiral Matrix II螺旋遍历矩阵2

    Given a positive integer n, generate a square matrix filled with elements from 1 to n^2 in spiral or ...

  10. 将Promise融会贯通之路

    前端初学者经常会问,我如何在ajax1结束之后才启动ajax2呢?我怎么做才能在所有的ajax结束之后触发某程序呢?亦或是哎真是烦,5个ajax套在一起,原来的逻辑是什么呀! 一个稍微有点经验的前端程 ...