当前位置:首页 » 安卓系统 » android开源视频框架

android开源视频框架

发布时间: 2023-06-18 17:11:54

① android开发框架有哪些

主要总结了7个好用的android 开发框架推荐给你:

一、 Afinal

Afinal是一个Android的ioc,orm框架,内置了四大模块功能:,FinalBitmap,FinalDb,FinalHttp。通过,我们可以通过注解的方式进行绑定ui和事件。通过finalBitmap,我们可以方便的加载bitmap图片,而无需考虑oom等问题。通过finalDB模块,我们一行代码就可以对android的sqlite数据库进行增删改查。通过FinalHttp模块,我们可以以ajax形式请求http数据。

功能:

一个android的ioc,orm框架,内置了四大模块功能:,FinalBitmap,FinalDb,FinalHttp。通过,我们可以通过注解的方式进行绑定ui和事件。通过finalBitmap,我们可以方便的加载bitmap图片,而无需考虑oom等问题。通过finalDB模块,我们一行代码就可以对android的sqlite数据库进行增删改查。通过FinalHttp模块,我们可迟戚以以ajax形式请求http数据。

优点:功能比较全面,文档完善,代码效率比较高。

缺点:没有项目demo,框架的时间比较久,代码冗余比较多(这也是无可避免的),文档比较老跟不上代码更新进度。

二、 xUtils

xUtils:可以说是Afinal的升级版。

xUtils 包含了简旦陪很多实用的android工具。

xUtils 支持大文件上传,更全面的http请求协议支持(10种谓词),拥有更加灵活的ORM,更多的事件注解支持且不受混淆影响...

xUitls 最低兼容android 2.2 (api level 8)

三、

是一个免费的开源的、简易的、遵循Apache2开源协议发布的Android开发框架,其开发宗旨是简单、快速的进行Android应用程序的开发,包含Android

mvc、简易sqlite orm、ioc模块、封装Android

httpclitent的http模块,具有快速构建文件缓存功能,无需考虑缓存文件的格式,都可以非常轻松的实现缓存,它还基于文件缓存模块实现了图片缓存功能,在android中加载的图片的时候,对oom的问题,和对加载图片错位的问题都轻易解决。他还包括了一个手机开发中经常应用的实用工具类,如日志管理,配置文件管理,android下载器模块,网络切换检测等等工具

四、 LoonAndroid

如果你想看ui方面的东西,这里没有,想要看牛逼的效果这里也没有。这只是纯实现功能的框架,它的目标是节省代码量,降低耦合,让代码层次看起来更清晰。整个框架一部分是网上的,一部分是我改的,为了适应我的编码习惯,还有一部分像orm完全是网上的组件。在此感谢那些朋友们。

整个框架式的初衷是为了偷懒,之前都是一个功能一个jar,做项目的时候拉进去,这样对于我来说依然还是比较麻烦。最后就导致我把所有的jar做成了一个工具集合包。

有很多框架都含有这个工具集合里的功能,这些不一定都好用,因为这是根据我个人使用喜欢来实现的,如果你们有自己的想法,可以自己把架包解压了以后,源码拉出来改动下。

目前很多框架都用到了注解,除了没有入侵我们应用的代码以外,其他的基本上都有,要么是必须继承框架里面的activity,要么是必须在activity的oncreat里面调用某个方法。

整个框架式不同于,Roboguice等ioc框架,这是一个类似spring的实现方式。在整应用的生命周期中找到切入点,然后对activity的生命周期进行拦截,然后插入自己的功能。

五、

又叫KJLibrary,是一个android的orm 和 ioc

框架。同时封装了android中的Bitmap与Http操作的框架,使其更加简单易用;

的设计思想是通过封装Android原生SDK中复杂的复杂操作而达到简化Android应用级开发,最终实现快速而又安全的开发APP。我们提倡用最少的代码,完成最多的操作,用最高的效率,完成最复杂的功能。

功能:

一个android的orm 和 ioc 框架。同时封装了android中的Bitmap与Http操作的框架,使其更加简单易用;

开发框架的设计思想是通过封拦蠢装Android原生SDK中复杂的复杂操作而达到简化Android应用级开发,最终实现快速而又安全的开发APP。总共分为五大模块:UILibrary,HttpLibrary,DBLibrary。

六、 dhroid

dhroid 是基于android 平台,

极速开发框架,其核心设计目标是开发迅速、代码量少、学习简单、功能强大、轻量级、易扩展.使你更快,更好的开发商业级别应用

功能:

1.Ioc容器: (用过spring的都知道)视图注入,对象注入,接口注入,解决类依赖关系

2.Eventbus: android平台事件总线框架,独创延时事件,事件管理轻松

3.Dhnet: 网络http请求的解决方案,使用简单,减少代码,自带多种网络访问缓存策略

4.adapter模块: 数据绑定轻松,不用写多余的adapter,天生网络支持(一行代码搞定加载,刷新问题)

5.DhDb: android中sqlite的最轻量orm框架(增删改查轻松搞定)

6.Perference: android自带Perference 升级版,让你的Perference更强大,更方便

工具集合 JSONUtil(安全处理json),ViewUtil(数据绑定更快) (异步任务工具)...

七、

SmartAndroid是一套给

Android开发者使用的应用程序开发框架和工具包。它提供一套丰富的标准库以及简单的接口和逻辑结构,其目的是使开发人员更快速地进行项目开发。使用

SmartAndroid可以减少代码的编写量,并将你的精力投入到项目的创造性开发上。

功能:

SmartAndroid 拥有全范围的类库,可以完成大多数通常需要的APP开发任务,包括:异步网络操作相关所有功能、强大的图片处理操作、轻量级ORM数据库Sqlite库、zip操作、动画特效、Html等解析采集、事件总线EventBus/Otto、Gson(Json)、AQuery、主流所有UI控件(例如:ActionbarSherlock,SlidingMenu,BottomView,Actionbar,DragListView等10多种UI库)等。

② 开发androidapp,你会用到哪些开源框架

1.Framework7来自iDangero.us—自版本1.0在一年前发布以来,Framework就一直是开发iOS应用程序的最佳选择之一。由于它提供对安卓的支持,如果你先从iOS入手,但随后构建具有类似iOS外观感觉的安卓版本,它也是个不错的选择。功能特性包括:MaterialDesign用户界面、原生滚动、1:1页面动画、自定义DOM库以及XHR缓存和预装入。3.jQueryMobile来自jQuery基金会—这种成熟的轻量级框架基于jQuery,缺少本文中介绍的大多数程序包具有的许多高级功能,不过它仍拥有一群庞大的忠实用户。虽然它提供了语义标记、渐进式改进、主题化设计和PhoneGap/Cordova支持之类的功能,但是在类似原生系统的功能和性能或者高级用户界面方面乏善可陈。另一方面,它又很简单,这意味着“编写一次,到处运行”是常常可以实现的目标;对于还需要在WindowsPhone和黑莓上运行的简单应用程序而言,它也是个不猜改错的选择。2.Ionic来自Ionic—这种流行的跨平台框架基于SassCSS扩展语言,使用起来相当容易,不过它还能集成用于构建更高级应用程序的AngularJS。Ionic提供了一个丰富的库,包括针对移动设备优化的HTML、CSS和JSCSS组件、手势及工具,可与预定义的组件协同工作。命令行接口提供了仿真器、实时重装和日志等功能。还有一个基于Cordova的应用程序包装器。4.KendoUI来自Telerik—这种基于jQuery的HTML5/java框架既有开源版,又有商业版。对企业用户友好的KendoUI提供了种类丰富的用户界面窗口组件和插件。它最广为人知的地方就是拥有无数具有MaterialDesign风格的预构建主题,另外还有一个主题构建器,可用于构建自定义主题。其他功能特性包括:Angular和BootstrapUI集成以及性能优化。6.Native来自Telerik—顾名思义,Native专注于原生用户体验开发,但是它提供了跨安卓和iOS的跨平台代码共享支持。该软件使用现有的原生用户界面库,用户界面由Java、XML或视情况而定的Angular来描述。然而,使用起来,它不如Telerik更传统的跨平台KendoUI框架来得容易。5.MobileAngularUI来自MaurizioCasimirri—这个开穗兄判源项目将AngularJS和经过修改的推特Bootstrap合并到了一个移动用户界面框架。据说它保留了Bootstrap3的大部分语法,因而更容易实现从Web应用程序向移动应用程序的移植,同时增添了Bootstrap缺失的许多组件,比如切开关、覆盖、侧边栏、可滚动区域以及固定位置的导航条。库包括fastclick.js和overthrow.js。7.OnsenUI来自AsialCorp.—Onsen基于HTML和CSS而建,旨在与并非预先集成的PhoneGap和Cordova协同运行。它还可以与Angular和jQuery协同运行。顾名思义,该程序强调用户界面开发,并提供了一系列广泛的基于Web的用户界面组件和特性,比如表格的双列视图。(然而,仍然缺少MaterialDesign。)这个文档完备的程序针对这样的jQueryMobile用户:既需要易于使用,又想要更多的功能、更高的性能和更丰富的用户界面特性。总部位于东京的Asial正在开发一种拖放式GUI工具,该公司还开发和维护Monaca。9.SenchaTouch来自Sencha—Sencha的成熟的、面向企业的HTML5/Java框架既有开源版,又有商业版。Sencha建立于ExtJS的基础上,能够获得类似原生的性能。它为HTML5提供了可视化应用程序构建器,另外还提供了重复使用自定义组件的功能。原生包装器简化了分发到GooglePlay等应用程序商店的工作。8.ReactNative来自Facebook—ReactNative是一种开源框架,从Facebook的ReactJava框架派生而来,众所周知,Java框架取代了早些时候的HTML5基础。顾名思义,这个面向iOS的高端程序与其说是一种跨平台框架,还不如说是原生程序包装器,但是由于新增了对安卓的支持,它很适合我们的要求,因为你实际上尘早只要用Java编写一次代码,就能移植到这两个平台。目前,只有OSX桌面得到全面支持,不过也有试验性的Linux和Windows版本面向安卓开发。10.Titanium来自Appcelerator—不像那些比较偏向Web的框架,Titanium使用Java来构建原生代码,声称有望提升性能。这种基于Node.js的软件开发工具包(SDK)为iOS、安卓、Windows、黑莓和HTML5提供了5000多个API。Titanium更广为人知的地方是性能和丰富的功能特性,而不是易用性。软件是开源,不过只要你不发布你的应用程序,功能齐全的免费版可以免费享用,眼下你每月至少得支付39美元。


③ 开发android app,你会用到哪些开源框架

图片处理有:Universal Image Loader、Glide、Picasso、Fresco

响应式编程有:RxJava、Google Agera 、RxAndroid、RxBinding、RxJavaJoins

依赖注入有:ButterKnife、Dagger、AndroidAnnotations

这边有一份Android开源框架清单可以做下参考

④ android开发框架有哪些

1、Rajawali
介绍:
安卓的OpenGL ES 2.0/3.0 引擎。可以用于制作普通应用或者动态壁纸,当然也可以用于制作游戏。
项目地址: https://github.com/Rajawali/Rajawali

2、RxAndroid
介绍:
RxAndroid是RxJava的一个针对Android平台的扩展。它包含了一些能够简化Android开发的工具。
项目地址: https://github.com/ReactiveX/RxAndroid
3、Paginize
介绍:
Paginize 是一个轻量级的UI框架,使用注解来注入布局和view,除了使用注解之外,该框架还有两个特色:1.用Page的概念来取代Fragment,2.切换page时自带ios风格的动画效果。
项目地址: https://github.com/neevek/Paginize

4、otto
介绍:
Otto 是square公司出的一个事件库(pub/sub模式),用来简化应用程序组件之间的通讯。 Otto 修改自Google的Guava库,专门为Android平台进行了优化。
项目地址: https://github.com/square/otto

5 、rebound
介绍:
rebound是facebook的开源动画库。可以认为这个动画库是独立于android Framework之外的一种动画实现。
项目地址: https://github.com/facebook/rebound

6、KJFrameForAndroid
介绍:
KJFrameForAndroid 又叫KJLibrary,是一个帮助快速开发的框架。使用KJFrameForAndroid,你可以只用一行代码就完成http请求、网络图片加载、数据库数据保存或读取。
项目地址: https://github.com/kymjs/KJFrameForAndroid

7、xUtils
介绍:
xUtils
包含了很多实用的android工具。 xUtils
支持大文件上传,更全面的http请求协议支持(10种谓词),拥有更加灵活的ORM,更多的事件注解支持且不受混淆影响... xUitls
最低兼容android 2.2 (api level 8)
项目地址: https://github.com/wyouflf/xUtils

目前xUtils主要有四大模块:
DbUtils模块:
android中的orm框架,一行代码就可以进行增删改查;
支持事务,默认关闭;
可通过注解自定义表名,列名,外键,唯一性约束,NOT NULL约束,CHECK约束等(需要混淆的时候请注解表名和列名);
支持绑定外键,保存实体时外键关联实体自动保存或更新;
自动加载外键关联实体,支持延时加载;
支持链式表达查询,更直观的查询语义,参考下面的介绍或sample中的例子。
ViewUtils模块:
android中的ioc框架,完全注解方式就可以进行UI,资源和事件绑定;
新的事件绑定方式,使用混淆工具混淆后仍可正常工作;
目前支持常用的20种事件绑定,参见ViewCommonEventListener类和包com.lidroid.xutils.view.annotation.event。
HttpUtils模块:
支持同步,异步方式的请求;
支持大文件上传,上传大文件不会oom;
支持GET,POST,PUT,MOVE,COPY,DELETE,HEAD,OPTIONS,TRACE,CONNECT请求;
下载支持301/302重定向,支持设置是否根据Content-Disposition重命名下载的文件;
返回文本内容的请求(默认只启用了GET请求)支持缓存,可设置默认过期时间和针对当前请求的过期时间。
BitmapUtils模块:
加载bitmap的时候无需考虑bitmap加载过程中出现的oom和android容器快速滑动时候出现的图片错位等现象;
支持加载网络图片和本地图片;
内存管理使用lru算法,更好的管理bitmap内存;
可配置线程加载线程数量,缓存大小,缓存路径,加载显示动画等...

8、butterknife-view
注入工具
介绍:
为了减少频繁的调用findViewById(R.id...),可以采用一些注入框架,可以简化自己的代码,让你更专注于实际的功能开发,butterknife就是这样的一个框架,他是jakewharton大神的作品,值得一试。
class ExampleActivity extends Activity {
@InjectView(R.id.title) TextView title;
@InjectView(R.id.subtitle) TextView subtitle;
@InjectView(R.id.footer) TextView footer;
@Override public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.simple_activity);
ButterKnife.inject(this);
// TODO Use "injected" views...
}
}

这是博客地址:
http://jakewharton.github.io/butterknife/
项目地址: https://github.com/JakeWharton/butterknife

9、cube-sdk
一淘推出的开发框架
介绍:
cube一个Android开发包, 可极大提高你的开发效率。主要提供了图片加载以及网络请求方面的api功能。
项目地址: https://github.com/etao-open-source/cube-sdk
他们的网站:http://cube-sdk.liaohuqiu.net/cn/

10、ASimpleCache
一个简单的缓存框架
介绍:
ASimpleCache
是一个为android制定的 轻量级的 开源缓存框架。轻量到只有一个java文件(由十几个类精简而来)。
它可以缓存什么东西?普通的字符串、JsonObject、JsonArray、Bitmap、Drawable、序列化的java对象,和
byte数据。
项目地址: https://github.com/yangfuhai/ASimpleCache

11、androidannotations
介绍:
AndroidAnnotations是一个能够让你快速进行Android开发的开源框架,它能让你专注于真正重要的地方。
使代码更加精简,使项目更加容易维护,它的目标就是“Fast Android Development.Easy maintainance”。
通过一段时间的使用发现,相比原生的Android开发,确实能够让你少些很多代码
项目地址: https://github.com/excilys/androidannotations

12、Event Bus
解耦android模块
介绍:
当一个Android应用功能越来越多的时候,保证应用的各个部分之间高效的通信将变得越来越困难。如何优雅地解决这个问题?这时候,就需要使用到EventBus。
EventBus是GreenRobot出品的Android系统的一个Event
Bus类库,使用起来和之前我们所介绍的Square的Otto差不多,都是用来简化应用组件之间的通信。
项目地址: https://github.com/greenrobot/EventBus

13、BeeFramework_Android
介绍:
BeeFramework
Android版主要为Android初级开发人员提供一个基于MVC开发模式的APP DEMO,并提供一套APP内调试工具,包括
查看网络数据请求历史 Crash Log列表 真机WIFI环境下模拟2G\3G网络 查看APP性能(内存占用,CPU占用等)
项目地址: https://github.com/BeeFramework/BeeFramework_Android

14、afinal
介绍:
Afinal是一个android的ioc,orm框架,内置了四大模块功能:FinalAcitivity,FinalBitmap,FinalDb,FinalHttp。通过finalActivity,我们可以通过注解的方式进行绑定ui和事件。通过finalBitmap,我们可以方便的加载bitmap图片,而无需考虑oom等问题。通过finalDB模块,我们一行代码就可以对android的sqlite数据库进行增删改查。通过FinalHttp模块,我们可以以ajax形式请求http数据。
Afinal里面目前包含了四大组件:
FinalHttp:用于请求http数据,直接ajax方式请求,文件上传, 断点续传下载文件等
FinalBitmap:用于显示bitmap图片,而无需考虑线程并发和oom等问题。
FinalActivity:完全可以通过注解方式绑定控件和事件,无需编写代码。
FinalDb:android中sqlite的orm框架,一行代码搞定增删改查。

Afinal是一个android的ioc,orm框架,内置了四大模块功能:FinalAcitivity,FinalBitmap,FinalDb,FinalHttp。通过finalActivity,我们可以通过注解的方式进行绑定ui和事件。通过finalBitmap,我们可以方便的加载bitmap图片,而无需考虑oom等问题。通过finalDB模块,我们一行代码就可以对android的sqlite数据库进行增删改查。通过FinalHttp模块,我们可以以ajax形式请求http数据。详情请通过以下网址查看。
项目地址: https://github.com/yangfuhai/afinal

15、Volley
介绍:
在这之前,我们在程序中需要和网络通信的时候,大体使用的东西莫过于AsyncTaskLoader,HttpURLConnection,AsyncTask,HTTPClient(Apache)等,今年的Google
I/O 2013上,Volley发布了。Volley是Android平台上的网络通信库,能使网络通信更快,更简单,更健壮。
项目地址: https://github.com/mcxiaoke/android-volley

⑤ android开发一般都使用什么框架

目前框架使用的主要都是开源框架,都可以在github上找到:
1、volley
2、android-async-http
3、Afinal框架
4、xUtils框架
5、ThinkAndroid
6、LoonAndroid
主要有以下模块:
(1) 自动注入框架(只需要继承框架内的application既可)
(2)
图片加载框架(多重缓存,自动回收,最大限度保证内存的安全性)
(3) 网络请求模块(继承了基本上现在所有的http请求)
(4)
eventbus(集成一个开源的框架)
(5) 验证框架(集成开源框架)
(6) json解析(支持解析成集合或者对象)

(7) 数据库(不知道是哪位写的 忘记了)
(8) 多线程断点下载(自动判断是否支持多线程,判断是否是重定向)
(9)
自动更新模块
(10) 一系列工具类

⑥ android app开发中常用到哪些开源框架

在前面的课程中,随着对Android体系的了解,已经可以进行正常的Android应用开发了。在Android开发中,同其他工程开发一样,也经常使用一些提高效率的框架,本文我们做一个对比。这些框架,既包括:网络请求框架、也包括图片加载库框架、还包括数据库操作等一些框架,总之,了解和熟悉这些框架,会对自己的开发效率有很大的提升和帮助。

网络请求框架

1、okHttp

在前文的学习中,我们已经了解过okHttp,是一个常用的网络加载库。

2、Retrofit

介绍

Retrofit是一个很不错的网络请求库,该库是square开源的另外一个库,之前的okhttp也是该公司开源的。

Retrofit是基于OkHttp封装的RESTful网络请求框架,使用注解的方式配置请求。优点是速度快,使用注解,callback函数返回结果自动包装成Java对象。官方自己的介绍说:

A type-safe REST client for Android and Java

该网络框架在github上的地址如下:https://square.github.io/retrofit/

要求

Retrofit支持的http方式方式包括 GET/POST/PUT/DELETE/HEAD/PATCH,Retrofit要求Java的版本是1.8+,Android应用的API版本应该在21+。

依赖

使用Retrofit库,和其他库一样,首先需要设置依赖,依然是在build.gradle文件中设置依赖:

//添加retrofit库依赖

implementation ‘com.squareup.retrofit2:retrofit:2.1.0’

//添加gson转换器

implementation ‘com.squareup.retrofit2:converter-gson:2.1.0’

使用

通过一个例子,我们可以来演示该框架的使用步骤:

1、定义请求接口,即程序中都需要什么请求操作
public interface HttpServices {

/**

  • 获取头条新闻

  • @param type 新闻类型

  • @param key apiKey

  • @return

  • */

    @GET(“toutiao/index”)

    Call getNewsList(@Query(“type”) String type, @Query(“key”) String key);

    }

    2、实例化Retrofit对象,使用的Builder的模式创建,如下代码所示:
    Retrofit retrofit = new Retrofit.Builder()

    .baseUrl(Constants.BASE_API)

    .addConverterFactory(GsonConverterFactory.create())

    .build();

    注意,这里设置结构体转换器,是可以直接把网络请求回来的数据转换为Java结构体,这里设置的Gson解析器,因此要引入相应的转换器支持库。

    3、得到接口对象,自己创建的全局的接口对象,并调用相应的接口,得到一个类似于请求Call对象。如下所示:
    HttpServices httpServices = retrofit.create(HttpServices.class);

    Call newsListCall = httpServices.getNewsList(“top”, Constants.API_KEY);

    4、加入到请求队列中,并设置回调方法:
    newsListCall.enqueue(new Callback() {

    @Override

    public void onResponse(Call call, Response response) {

    //网络请求成功的回调方法

    List list = Arrays.asList(response.body().result.data);

    Log.i(“TAG”, “请求成功:” + String.valueOf(list.size()));

    NewListAdapter adapter = new NewListAdapter(RetrofitActivity.this);

    adapter.setmData(list);

    mRecyclerView.setAdapter(adapter);

    }

    @Override

    public void onFailure(Call call, Throwable throwable) {

    //网络请求失败的回调方法

    Log.i(“TAG”, “请求失败:” + throwable.getMessage());

    }

    });

    其他界面操作和之前的Android中的内容一致。

    3、RxJava

    简单来说,用来处理事件和异步任务,在很多语言上都有实现,RxJava是Rx在Java上的实现。

    原理

    RxJava最基本的原理是基于观察者模式来实现的。通过Obserable和Observer的机制,实现所谓响应式的编程体验。

    特点

    RxJava在编程中的实现就是一种链式调用,做了哪些操作,谁在前谁在后非常直观,逻辑清晰,代码维护起来非常轻松。

    RxJava也是一个在github上的库,githubhttp://www.xingkongmj.com/news/id/62.html地址如下:https://github.com/ReactiveX/RxJava

    基于此,还有一个RxAndroid,github地址如下:https://github.com/ReactiveX/RxAndroid

    RxJava和RxAndroid的关系

    RxAndroid是RxJava的一个针对Android平台的扩展,主要用于 Android 开发。

    基本概念

    RxJava 有四个基本概念:

    Observable:可观察者,即被观察者Observer:观察者subscribe:订阅事件
    这四个概念之间的逻辑关系是:Observable和Observer通过subscribe方法实现订阅关系,从而Observable可以在需要的时候发出事件来通知Observer。

    事件

    RxJava 的事件回调方法主要包含以下几个:

    onNext:普通的事件onCompletedhttp://dachang.net/432717.html:事件队列完结。RxJava 不仅把每个事件单独处理,还会把它们看做一个队列。RxJava 规定,当不会再有新的 onNext 发出时,需要触发 onCompleted 方法作为标志。:事件队列异常。在事件处理过程中出异常时, 会被触发,同时队列自动终止,不再允许再有事件发出。在一个正确运行的事件序列中, onCompleted和 有且只有一个,并且是事件序列中的最后一个。需要注意的是,onCompleted() 和 () 二者也是互斥的,即在队列中调用了其中一个,就不应该再调用另一个。
    数据库操作框架

    在开发时,本地数据库可以起到缓存数据和存储业务数据的作用,随着技术的成熟,不断推出了有很多关于数据库的操作框架。比较常见的数据库操作框架有诸如:GreenDao,OrmLite 和 ActiveAndroid,DBFlow等。

    GreenDAO

    GreenDAO是一个开源的 Android ORM(“对象/关系映射”),通过 ORM(称为“对象/关系映射”),在我们数据库开发过程中节省了开发时间!

    GreenDao的官方文档地址如下:http://www.xingkongmj.com/news/id/63.html

    GreenDao的作用

    通过 GreenDao,我们可以更快速的操作数据库,我们可以使用简单的面相对象的API来存储,更新,删除和查询 Java 对象。这款数据库操作框架的特点是:

    高性能,在官方的统计数据中,GreenDao在GreenDao,OrmLite 和 ActiveAndroid三个框架中,读、写、更新操作效率均表现第一。易于使用的强大 API,涵盖关系和连接。内存消耗较小。安全:greenDAO 支持 SQLCipherhttp://www.xingkongmj.com/news/id/64.html,以确保用户的数据安全;
    核心概念

    GreenDao 的核心类有三个:分别是:

    DaoMaster:保存数据库对象(SQLiteDatabase)并管理特定模式的 DAO 类(而不是对象)。它有静态方法来创建表或删除它们。它的内部类 OpenHelper 和DevOpenHelper 是 SQLiteOpenHelper 实现,它们在 SQLite 数据库中创建模式。DaoSession:管理特定模式的所有可用 DAO 对象,您可以使用其中一个getter方法获取该对象。DaoSession 还提供了一些通用的持久性方法,如实体的插入,加载,更新,刷新和删除。XXXDao:数据访问对象(DAO)持久存在并查询实体。对于每个实体,greenDAO 生成DAO。它具有比 DaoSession 更多的持久性方法。Entities:可持久化对象。通常, 实体对象代表一个数据库行使用标准 Java 属性(如一个POJO 或 JavaBean )。
    使用

    按照官方的文档和github上的说明可以实现green的使用。

    首先进行的是依赖,对于greenDao,有两个地方需要设置,分别是项目根目录中的 build.gradle,还有mole中的build.gradle。
    classpath ‘org.greenrobot:green-gradle-plugin:3.3.0’ // add plugin

    在项目根目录中的build.gradle目录中写这句话的意思是添加greenDao的插件。

    在项目mole中的build.gradle中也需要进行配置,有两个地方需要设置,如下图所示:

    apply plugin: ‘org.greenrobot.greenhttp://www.xingkongmj.com/news/id/66.html’ //开头加入该代码

    dependences{

    implementation ‘org.greenrobot:green:3.2.0’

    }

    然后就可以使用了。

    bean实体

    可以在项目中创建自己业务需要的实体类,并通过注解来设置是实体类,字段约束等内容。然后点击Android Studio中的Make mole,即可自动生成XXXDao代码,以此来方便开发者的操作。生成的XXXDao类,不可修改和编辑,是自动生成的。

    ORMLite

    ORMLite框架是另外一款Android开发中可以使用的数据库操作框架。该框架的文档地址如下:https://ormlite.com/sqlite_java_android_orm.shtml

    该框架的文档准备的不是特别友好,此处不再赘述。

    总结,所有的框架原理几乎都相差不大,只是操作有所差异。

    视图注入框架

    在Android项目开发过程中,有太多的页面需要布局完成,同时在代码中需要些大量的findviewbyid的操作,来实现控件的解析。于是就有人想能否轻松一些,解放双手节省时间,干一些其他有意义的事情,于是ButterKnife就来了。

    ButterKnife是一个专注于Android系统的View注入框架,可以减少大量的findViewById以及setOnClickListener代码,可视化一键生成。

    该项目在github上的地址如下:http://www.xingkongmj.com/news/id/65.html

    这个框架的优势也非常明显:

    强大的View绑定和Click事件处理功能,简化代码,提升开发效率方便的处理Adapter里的ViewHolder绑定问题运行时不会影响APP效率,使用配置方便代码清晰,可读性强
    使用

    首先是设置依赖,在build.gradlehttp://dachang.net/432714.html中进行依赖设置:

    implementation ‘com.jakewharton:butterknife:10.2.1’

    annotationProcessor ‘com.jakewharton:butterknife-compiler:10.2.1’

    需要注意,该框架要求Java环境1.8版本以上,SDK版本在26以上,因此在使用到的mole中的build.graldle文件中,还必须添加如下代码配置:

    apply plugin: ‘com.jakewharton.butterknife’

    android{

    //…

    compileOptions {

    sourceCompatibility JavaVersion.VERSION_1_8

    targetCompatibility JavaVersion.VERSION_1_8

    }

    //…

    }

    另外,还必须在项目根目录中的build.gradle文件中,添加该框架的插件,如下图所示:

    dependences{

    classpath ‘com.jakewharton:butterknife-gradle-plugin:10.2.1’

    }

    然后即可在代码中进行使用了。

    在使用该框架的页面进行绑定诸如,如下所示代码:

    ButterKnife.bind( this) ;

    主要的功能

    @BindView():控件id 注解,解放双手,不用再每个控件都写一遍findviewById@BindViews():多个控件id 的注解,括号内使用花括号包括多个id即可,中间用,分割开在Fragment中使用,绑定Fragment。@BindString():绑定字符串@BindArray:绑定数组@BindBitmap:绑定bitmap资源@OnClick、@OnLongClick:绑定点击事件和长按事件…还有很多
    插件安装

    如果是页面很复杂,一个一个写BindView也很费劲,在Android Studio中,可以安装一个ButterKnife的插件,安装该插件后,可以在Studio中直接将对应的布局中的所有控件均给自动生成。

    注意,在进行自动生成时,鼠标要放在布局文件上。

    注意事项

    ButterKnife框架在使用时,要求的版本比较高,包括Java的版本也有限制。因此,如果计划在项目中使用,要提前做好预备工作,以防止对已有项目和业务带来不必要的麻烦,反而影响工作进度。

热点内容
ceph缓存变慢 发布:2025-02-07 11:46:52 浏览:923
python做什么用的 发布:2025-02-07 11:46:46 浏览:563
o2o与数据库设计 发布:2025-02-07 11:35:27 浏览:929
ftp服务器推荐 发布:2025-02-07 11:35:16 浏览:700
吉利星瑞豪华加6000是有哪些配置 发布:2025-02-07 11:25:18 浏览:971
李字加工编程 发布:2025-02-07 11:23:50 浏览:881
linux安全运维 发布:2025-02-07 11:14:19 浏览:737
阿里云集群服务器 发布:2025-02-07 11:12:38 浏览:453
如何选择家庭最佳配置 发布:2025-02-07 11:06:50 浏览:89
javatomcat服务器搭建服务器 发布:2025-02-07 10:55:22 浏览:624