安卓主流开发框架(安卓开发框架推荐)

http://www.itjxue.com  2023-02-20 18:32  来源:未知  点击次数: 

安卓框架有哪些

问题一:Android常用的框架有哪些 Android开发中常用的框架:

1、Afinal

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

2、 xUtils

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

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

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

xUitls 最低兼容android 2.2 (api level8)。

3、LoonAndroid

这是一个纯实现功能的框架,它的目标是节省代码量,降低耦合,让代码层次看起来更清晰。

4、 KJFrameForAndroid

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

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

项目地址:github/kymjs/KJFrameForAndroid

5、 dhroid

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

6、 SmartAndroid

SmartAndroid是一套给 Android开发者使用的应用程序开发框架和工具包。提供了一套丰富的标准库以及简单的接口和逻辑结构,其目的是使开发人员更快速地进行项目开发。使用 SmartAndroid可以减少代码的编写量,并将你的精力投入到项目的创造性开发上。

7、 andBase

ndbase是为Android开发者量身打造的一款开源类库产品

8、 AndroidAnnotations

完全的注解,使开发起来更加便利,程序员写的代码也更少。

9、 volley

Volley是Android平台上的网络通信库,能使网络通信更快,更简单,更健壮异步加载网络图片、网络数据,Google官方推荐。

问题二:安卓软件开发框架有哪些 安卓软件开发需要一定的Java基础,当然少不了Java环境的搭建,还有安卓SDK的环境搭建,接着你下个eclipse装个ADT插件,或者直接用Android studio就可以开发安卓应用了,具体的建议你找个开发教程

问题三:android有哪些实用框架?分别用来做什么? Android 目前还没有那样成熟的框架可以使用……

只能说有一些开源项目较好地解决了部分方面的问题,例如:

(1)EventBus:解决了模块之间消息传递解耦合的问题

(2)picasso:解决异步加载图片和缓存图片的问题

(3)dagger:一个依赖注入工具库

……

其他开源项目大多数解决了部分通用 UI 控件的问题,不过我看你的意思是架构级别的框架,而不是什么 UI 控件这类的小东西。

问题四:什么是android的框架开发 上图中的第二层Framework

问题五:常用的android开发框架有哪些 android bootstrap有试用过,但其实不用框架都能完成你想要的功能的话,真心没必要用。

问题六:Android的系统架构包括哪些部分 Android的系统架构和其操作系统一样,采用了分层的架构。Android分为四个层,从高层到低层分别是应用程序层、应用程序框架层、系统运行库层和Linux内核层。

一、应用程序

Android会同一系列核心应用程序包一起发布,该应用程序包包括客户端,SMS短消息程序,日历,地图,浏览器,联系人管理程序等。所有的应用程序都是使用JAVA语言编写的。

二、应用程序框架

开发人员也可以完全访问核心应用程序所使用的API框架。该应用程序的架构设计简化了组件的重用;任何一个应用程序都可以发布它的功能块并且任何其它的应用程序都可以使用其所发布的功能块(不过得遵循框架的安全性)。同样,该应用程序重用机制也使用户可以方便的替换程序组件。

三、系统运行库

Android 包含一些C/C++库,这些库能被Android系统中不同的组件使用。它们通过 Android 应用程序框架为开发者提供服务。

四、Linux内核层

Android内核是基于Linux 内核的修改的内核版本,它提供了用于支持Android平台的设备驱动。

问题七:android快速开发框架有哪些 ThinkAndroid免费源、简易、遵循Apache二源协议发布Android发框架其发宗旨简单、快速进行Android应用程序发包含Android mvc、简易sqlite orm、ioc模块、封装Android clitent模块,具快速构建文件缓存功能需考虑缓存文件格式都非轻松实现缓存基于文件缓存模块实现图片缓存功能android加载图片候oom问题加载图片错位问题都轻易解决包括手机发经应用实用工具类志管理配置文件管理android载器模块中国络切换检测等等工具 目前ThinkAndroid主要模块: MVC模块:实现视图与模型离 ioc模块:androidioc模块完全注解式进行UI绑定、res资源读取、及象初始化 数据库模块:androidorm框架使用线程池sqlite进行操作 模块:通client进行封装数据请求支持异步及同步式加载 缓存模块:通简单配置及设计实现缓存缓存随意配置 图片缓存模块:imageview加载图片候需考虑图片加载程现oomandroid容器快速滑候现图片错位等现象 配置器模块:简易实现配配置操作目前配置文件支持Preference、Properties配置进行存取 志打印模块:较快轻易实现志打印支持志打印扩展目前支持sdcard写入本打印、及控制台打印 载器模块:简单实现线程载、台载、断点续传、载进行控制、始、暂停、删除等等 中国络状态检测模块:中国络状态改变中国络状态进行检

问题八:主流android开发框架有哪些 android开发框架github上有非常非常多,各种都是开源的,例如侧滑菜单,ImageLoading等等。

问题九:Android 有哪些著名的开源框架呢? 什么应用才对应什么所谓框架。你写个游戏用J2EE的框架试试。或者你写个搜索引擎用游戏引擎试试。没有哪个框架解决所有问题,如果那样,搞计算机也太简单了,框架拿来,随便改改就是一个软件。还是学点设计模式这些基本的有用。

问题十:Android软件框架结构自可分为哪些层? 开发一个程序,android的系统框架是层层相扣,不能分开的。

应用程序层:

这个层主要指的就是用java语言编写的运行在虚拟机上的程序,Google在最开始时就 在android系统中捆绑了一些核心的应用(核心应用的编写必须使用应用层序框架层的API框架),例如你android手机中SMS发送短消息的程序,通讯录等等。

应用程序框架层:

指的就是开发时所需要的API框架,开发人员是在遵守该框架的原则上,调用他们的,开发自己所需要的程序。

系统运行库层:

用于支持应用框架层的各个组件的。就是说当开发人员使用android应用框架层时,android系统会通过一些C/C++库来支持对我们使用的各个组件,使其能更好地为开发者服务。

linux核心层:

android的核心系统服务如安全性、内存管理、进程管理、网络协议栈和驱动模型等都依赖于Linux2.6内核,Linux内核同时也作为硬件和软件栈之间的抽象层。

因此,你开发的程序是运行在应用程序层,开发中写代码调用的包,是基于应用框架层,而在应用框架中的各个组件是需要系统运行库的支持的,例如,你要登陆查看的信息就必须访问到SQLite数据库,SQLite就位于系统运行库,再有,你登入要输入信息,肯定需要键盘驱动的支持,而各种驱动是依赖Linux内核的。

android 五大应用开发框架是什么

android应用开发框架是 Application Framework,其系统架构由5部分组成,分别是:Linux Kernel、Android Runtime、Libraries、Application Framework、Applications。

1、Linux Kernel (Linux内核?)

Android基于Linux 2.6提供核心系统服务,例如:安全、内存管理、进程管理、网络 堆栈、驱动模型。Linux Kernel也作为硬件和软件之间的抽象层,它隐藏具体硬件细节而为上层提供统一的服务。

2、Android Runtime (运行库)

Android包含一个核心库的集合,提供大部分在Java编程语言核心类库中可用的功能。每一个Android应用程序是Dalvik虚拟机中的实例,运行在他们自己的进程中。

Dalvik虚拟机设计成,在一个设备可以高效地运行多个虚拟机。Dalvik虚拟机可执行文件格式是.dex,dex格式是专为Dalvik设计的一种压缩格式,适合内存和处理器速度有限的系统。 大多数虚拟机包括JVM都是基于栈的,而Dalvik虚拟机则是基于寄存器的。

3、Libraries (程序库?)

Android包含一个C/C++库的集合,供Android系统的各个组件使用。这些功能通过Android的应用程序框架(application framework)暴露给开发者。

4、Application Framework (应用框架层)

通过提供开放的开发平台,Android使开发者能够编制极其丰富和新颖的应用程序。开发者可以自由地利用设备硬件优势、访问位置信息、运行后台服务、设置闹钟、向状态栏添加通知等等,很多很多。 开发者可以完全使用核心应用程序所使用的框架APIs。

应用程序的体系结构旨在简化组件的重用,任何应用程序都能发布他的功能且任何其他应用程序可以使用这些功能(需要服从框架执行的安全限制)。这一机制允许用户替换组件。

5、Applications(应用层)

Android装配一个核心应用程序集合,包括电子邮件客户端、SMS程序、日历、地图、浏览器、联系人和其他设置。所有应用程序都是用Java编程语言写的。Android本身是一套软件堆迭(Software Stack),或称为「软件迭层架构」,迭层主要分成三层:操作系统、中间件、应用程序。

扩展资料

开发人员也可以完全访问核心应用程序所使用的API框架。该应用程序的架构设计简化了组件的重用;任何一个应用程序都可以发布它的功能块并且任何其它的应用程序都可以使用其所发布的功能块(不过得遵循框架的安全性限制)。同样,该应用程序重用机制也使用户可以方便的替换程序组件。

隐藏在每个应用后面的是一系列的服务和系统,其中包括;

丰富而又可扩展的视图(Views),可以用来构建应用程序,它包括列表(lists),网格(grids),文本框(textBoxes),按钮(buttons),甚至可嵌入的web浏览器。

内容提供器(ContentProviders)使得应用程序可以访问另一个应用程序的数据(如联系人数据库),或者共享它们自己的数据

资源管理器(ResourceManager)提供非代码资源的访问,如本地字符串,图形,和布局文件(layoutfiles)。

通知管理器(NotificationManager)使得应用程序可以在状态栏中显示自定义的提示信息。

活动管理器(ActivityManager)用来管理应用程序生命周期并提供常用的导航回退功能。

参考资料:百度百科 - Android系统构架

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上的地址如下:

要求

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上的库,github地址如下:

基于此,还有一个RxAndroid,github地址如下:

RxJava和RxAndroid的关系

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

基本概念

RxJava 有四个基本概念:

Observable:可观察者,即被观察者Observer:观察者subscribe:订阅事件

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

事件

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

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

数据库操作框架

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

GreenDAO

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

GreenDao的官方文档地址如下:

GreenDao的作用

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

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

核心概念

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

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

使用

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

首先进行的是依赖,对于greenDao,有两个地方需要设置,分别是项目根目录中的 build.gradle,还有module中的build.gradle。

classpath ‘org.greenrobot:greendao-gradle-plugin:3.3.0’ // add plugin

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

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

apply plugin: ‘org.greenrobot.greendao’ //开头加入该代码

dependences{

implementation ‘org.greenrobot:greendao:3.2.0’

}

然后就可以使用了。

bean实体

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

ORMLite

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

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

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

视图注入框架

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

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

该项目在github上的地址如下:

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

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

使用

首先是设置依赖,在build.gradle中进行依赖设置:

implementation ‘com.jakewharton:butterknife:10.2.1’

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

需要注意,该框架要求Java环境1.8版本以上,SDK版本在26以上,因此在使用到的module中的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的版本也有限制。因此,如果计划在项目中使用,要提前做好预备工作,以防止对已有项目和业务带来不必要的麻烦,反而影响工作进度。

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

Android开发框架介绍

编辑文档

学分 +2

开发框架方面包含基本的应用功能开发、数据存储、网络访问这三大块:

一、应用方面

一般而言一个标准的Android程序由如下4部分组成即Activity、Broadcast Intent Receiver、Service、Content Provider: 1. Activity是最频繁、最基本的模块,在Android中,一个Activity就是手机上一屏,相当于一个网页一样,所不同的是,每个Activity运行结束了,有个返回值,类似一个函数一样。Android系统会自动记录从首页到其他页面的所有跳转记录并且自动将以前的Activity压入系统堆栈,用户可以通过编程的方式删除历史堆栈中的Activity Instance。

Activity类中主要是跟界面资源文件关联起来(res/layout目录下的xml资源,也可以不含任何界面资源),内部包含控件的显示设计、界面交互设计、事件的响应设计以及数据处理设计、导航设计等application设计的方方面面。 2. Broadcast Intent Receiver

Intent提供了各种不同Activity进行跳转的机制,譬如如果从A activity跳转到B activity,使用Intent来实现如下: Intent in = new Intent(A.this, B.class); startActivity(in);

BroadcastReceiver提供了各种不同的Android应用程序进行进行进程间通讯的机制,譬如当电话呼叫来临时,可以通过BroadcastReceiver发布广播消息。对于用户而言,BroadcastReceiver是不透明的,用户无法看到这个事件,BroadcastReceiver通过NotificationManager来通知用户这些事件发生了,它既可以在资源AndroidManifest.xml中注册,也可以在代码中通过Context.registerReceiver()进行注册,只要是注册了,当事件来临的时候,即时程序没有启动,系统也在需要的时候会自动启动此应用程序;另外各应用程序很方便地通过Context.sendBroadcast()将自己的事情广播给其他应用程序;

3. Service,跟Windows当中的Service完全是一个概念,用户可以通过startService(Intent service)启动一个Service,也可通过Context.bindService来绑定一个Service.

4. Content Provider,由于Android应用程序内部的数据都是私有的,Content Provider提供了应用程序之间数据交换的机制,一个程序可以通过实现一个ContentProvider的抽象接口将自己的数据暴露出去,并且隐蔽了具体的数据存储实现,标准的ContentProvider提供了基本的CRUD(Create,Read,Update,Delete)的接口,并且实现了权限机制,保护了数据交互的安全性; 一个标准的Android应用程序的工程文件包含如下几大部分: - Java源代码部分(包含Activity),都在src目录当中;

- R.java文件,这个文件是Eclipse自动生成与维护的,开发者不需要修改,提供了Android对的资源全局索引; - Android Library,这个是应用运行的Android库;

- assets目录,这个目录里面主要用与放置多媒体等一些文件;

- res目录,放置的是资源文件,跟VC中的资源目录基本类似,其中的drawable包含的是图片文件,layout里面包含的是布局文件,values目录里面主要包含的是字符串(strings.xml)、颜色(colors.xml)以及数组(arrays.xml)资源;

- AndroidManifest.xml,这个文件异常重要,是整个应用的配置文件,在这个文件中,需要声明所有用到的Activity、Service、Receiver等。

常用的android开发框架有哪些

主要分为以下几种:

1、volley

项目地址

(1) JSON,图像等的异步下载;

(2) 网络请求的排序(scheduling)

(3) 网络请求的优先级处理

(4) 缓存

(5) 多级别取消请求

(6) 和Activity和生命周期的联动(Activity结束时同时取消所有网络请求)

2、Android-async-http

项目地址:

文档介绍:

(1) 在匿名回调中处理请求结果

(2) 在UI线程外进行http请求

(3) 文件断点上传

(4) 智能重试

(5) 默认gzip压缩

(6) 支持解析成Json格式

(7) 可将Cookies持久化到SharedPreferences

3、Afinal框架

项目地址:

主要有四大模块:

(1) 数据库模块:android中的orm框架,使用了线程池对sqlite进行操作。

(2) 注解模块:android中的ioc框架,完全注解方式就可以进行UI绑定和事件绑定。无需findViewById和setClickListener等。

(3) 网络模块:通过httpclient进行封装http数据请求,支持ajax方式加载,支持下载、上传文件功能。

(4) 图片缓存模块:通过FinalBitmap,imageview加载bitmap的时候无需考虑bitmap加载过程中出现的oom和android容器快速滑动时候出现的图片错位等现象。

FinalBitmap可以配置线程加载线程数量,缓存大小,缓存路径,加载显示动画等。FinalBitmap的内存管理使用lru算法,

没有使用弱引用(android2.3以后google已经不建议使用弱引用,android2.3后强行回收软引用和弱引用,详情查看android官方文档),

更好的管理bitmap内存。FinalBitmap可以自定义下载器,用来扩展其他协议显示网络图片,比如ftp等。同时可以自定义bitmap显示器,

在imageview显示图片的时候播放动画等(默认是渐变动画显示)。

4、xUtils框架

项目地址:

主要有四大模块:

(1) 数据库模块:android中的orm框架,一行代码就可以进行增删改查;

支持事务,默认关闭;

可通过注解自定义表名,列名,外键,唯一性约束,NOT NULL约束,CHECK约束等(需要混淆的时候请注解表名和列名);

支持绑定外键,保存实体时外键关联实体自动保存或更新;

自动加载外键关联实体,支持延时加载;

支持链式表达查询,更直观的查询语义,参考下面的介绍或sample中的例子。

(2) 注解模块:android中的ioc框架,完全注解方式就可以进行UI,资源和事件绑定;

新的事件绑定方式,使用混淆工具混淆后仍可正常工作;

目前支持常用的20种事件绑定,参见ViewCommonEventListener类和包com.lidroid.xutils.view.annotation.event。

(3) 网络模块:支持同步,异步方式的请求;

支持大文件上传,上传大文件不会oom;

支持GET,POST,PUT,MOVE,COPY,DELETE,HEAD,OPTIONS,TRACE,CONNECT请求;

下载支持301/302重定向,支持设置是否根据Content-Disposition重命名下载的文件;

返回文本内容的请求(默认只启用了GET请求)支持缓存,可设置默认过期时间和针对当前请求的过期时间。

(4) 图片缓存模块:加载bitmap的时候无需考虑bitmap加载过程中出现的oom和android容器快速滑动时候出现的图片错位等现象;

支持加载网络图片和本地图片;

内存管理使用lru算法,更好的管理bitmap内存;

可配置线程加载线程数量,缓存大小,缓存路径,加载显示动画等...

5、ThinkAndroid

项目地址:

主要有以下模块:

(1) MVC模块:实现视图与模型的分离。

(2) ioc模块:android中的ioc模块,完全注解方式就可以进行UI绑定、res中的资源的读取、以及对象的初始化。

(3) 数据库模块:android中的orm框架,使用了线程池对sqlite进行操作。

(4) http模块:通过httpclient进行封装http数据请求,支持异步及同步方式加载。

(5) 缓存模块:通过简单的配置及设计可以很好的实现缓存,对缓存可以随意的配置

(6) 图片缓存模块:imageview加载图片的时候无需考虑图片加载过程中出现的oom和android容器快速滑动时候出现的图片错位等现象。

(7) 配置器模块:可以对简易的实现配对配置的操作,目前配置文件可以支持Preference、Properties对配置进行存取。

(8) 日志打印模块:可以较快的轻易的是实现日志打印,支持日志打印的扩展,目前支持对sdcard写入本地打印、以及控制台打印

(9) 下载器模块:可以简单的实现多线程下载、后台下载、断点续传、对下载进行控制、如开始、暂停、删除等等。

(10) 网络状态检测模块:当网络状态改变时,对其进行检

6、LoonAndroid

项目地址:

主要有以下模块:

(1) 自动注入框架(只需要继承框架内的application既可)

(2) 图片加载框架(多重缓存,自动回收,最大限度保证内存的安全性)

(3) 网络请求模块(继承了基本上现在所有的http请求)

(4) eventbus(集成一个开源的框架)

(5) 验证框架(集成开源框架)

(6) json解析(支持解析成集合或者对象)

(7) 数据库(不知道是哪位写的 忘记了)

(8) 多线程断点下载(自动判断是否支持多线程,判断是否是重定向)

(9) 自动更新模块

(10) 一系列工具类

7、KJFrameForAndroid

项目地址:

github项目地址:

备用项目地址:

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

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

同时,KJFrameForAndroid是免费的、开源的、简易的、遵循Apache Licence 2.0开源协议发布的android应用开发框架,总共分为五大模 块:UILibrary,UtilsLibrary,HttpLibrary,BitmapLibrary,DBLibrary。

8、AndroidAnnotations

xUtils是国内比较火的快速开发框架,但是它的注解机制不是太稳定而且注解可选也比较少,国外的一个框架主要专注于注解的开发,简化Android代码编写,它除了有依赖注入的特性以外,还集成了Ormlite,Spring-android中的REST模板。使用起来非常方便,大大提高了开发效率。

1.下载AndroidAnnotations:

git官网:

项目中重要的两个jar包分别是:androidannotations-api-3.0.1.jar和androidannotations-3.0.1.jar

2.新建一个android项目,然后将androidannotations-api-3.0.1.jar复制到libs目录下,在项目的根目录新建一个文件夹,命名为compile-libs,然后将androidannotations-3.0.1.jar复制到该目录下

3.在你的工程上右键单击,在弹出的菜单中选择"Properties",找到Java Compiler,确保Compiler compliance level设置为1.6,否则的话处理器将不起作用

4.然后设置项目属性:右键-Properties-Java Compiler-Annotation Processing 在该页面选中Enable project specific settings。

5.转到Java Compiler 中的 Annotation Processing 下边的 Factory Path,在此将androidannotations-3.0.1.jar添加到其中。

注解1:@ViewById 与findViewById功能相似,如果ViewById后没有设置资源ID的话,就是自动查找与变量名称相同的id资源。

注解2:@Click 点击事件处理的注解。

注解3:@UiThread 后台Ui线程的注解,省去了Handler等等。

注解4:@EActivity 提示Activity的注解,注意,该注解将Activity编译成Activity_,注意,多一个下划线“_”,因此在AndroidManifest.xml文件中需要将其添加下滑线

注解5:@AfterViews 是指View类注入完毕之后执行的代码。

(责任编辑:IT教学网)

更多

推荐Painter教程文章