一些安卓框架

从网上收集一些框架,写程序偷懒这些框架很有用,必须记下来,为了以后少写代码,用别人好的框架

ThinkAndroid

ThinkAndroid(一个ThinkAndroid教程地址:http://my.oschina.net/u/1046077/blog/127603)虽然有很多使用的功能,如下,很齐全,而且下面这些功能做一个安卓项目都是需要的

  • MVC模块
  • ioc模块使用方法:
  • 数据库模块
  • Http模块使用方法:
  • 异步get方法
  • 同步get方法
  • 使用http下载文件:
  • 缓存模块 方法
  • 打印模块使用方法
  • 下载器模块
  • 下载器后台运行
  • 配置器模块:
  • 网络状态检测模块:

不过后来发现,一来这个框架好久没维护了,二来,因为做的是一个比较麻烦的项目,所以一个肯定要修改很多,这个框架改起来不方便,当时把这个框架的源码都看了一遍,折腾了近半个月,还是决定放弃了(不是他不好用,只是不够灵活,比如你要用这个框架,你的Application,Activity都必须继承这个框架的,不继承就不能用框架的,因为现在Android多了很多新的Activity,那你要想着按他的TAActivity改也非常麻烦)。

后来又发现了一个比较厉害的集成框架(这里说的意思是功能方面的集大成,类似第一个),叫

DroidParts

(官网:http://droidparts.org)

功能也是非常强大,基本上也涵盖了上面说的那些功能,而且框架相对灵活一些,作者将自己的Activity也命名为Activity,而且增加的代码很少,所以,如果你要集成一个特殊的Activity进来,只需要一两行代码的改变。他的功能如下:

  • DI  - injection of Views, Fragments, Services, anything.:依赖注入
  • ORM  - efficient persistence utilizing Cursors & fluent API.:ORM对象关系模型,就是将SQLite转为面向对象,类似Hibernate
  • EventBus  for subscribing to and posting events.:EventBus
  • Simple  JSON  (de)serialization capable of handling nested objects.:JSON转换
  • Improved  AsyncTask  &  IntentService  with Exceptions & result reporting support.:同步异步请求
  • L ogger that figures out tag itself & logs any object.:日志
  • RESTClient  for GETting, PUTting, POSTing, DELETing & InputStream-getting, also speaks JSON.:简单的RESTFUL客户端
  • ImageFetcher  to asynchronously attach images to ImageViews, with caching, cross-fade & transformation support.:图片加载和缓存
  • Numerous  Utils .:其他工具(如一些新的组件)

这个对我来说已经感觉很好的,框架很灵活,而且自定义也方便,做一般的简单的项目应该没有任何问题了,我还因此将官网的文档完全翻译了一遍在博客中写了一个系列,这个框架我前前后后也使用了半个多月的时间,为什么后来又放弃了呢!原因在于,他里面所有的功能基本上是自己的实现,所以,就导致了一个问题就是可定制性不强,整体功能强大,但是每个小功能就比较薄弱了,所以我又放弃了。

后来在GitHub上到处找啊找啊,又找到一个框架(其实也不算是一个框架,应该是一个演示项目),名字叫Android Bootstrap,不过这里要插一点的是,还有另外一个Android Bootstrap,和Web中的Bootstrap算是有一点对应,那个Android Bootstrap是一个安卓组件风格的集合(还有一些文字图标),这个我在使用DroidParts的使用也继承了这个工具,后来放弃了(没有用,因为美工都已经把界面设计好了,我要这个就没有用了),回到正题说我们的主角了。

 Android Bootstrap

官网:http://www.androidbootstrap.com/

GitHub地址:https://github.com/AndroidBootstrap/android-bootstrap

Android Bootstrap是一个演示项目,他集合了安卓开发中常用的工具集(这些开源工具基本涵盖了我们上面提到的两个集大成框架的所有功能点),然后做了一个有几个最初功能的应用(比如安卓账户管理等),基本上把那些开源工具都整合进去使用了一遍,所以,我们就可以把这个项目作为我们的项目的雏形的雏形来进行开发。现在我的程序也做了好长时间了,一个人做起来的确有些慢,不过也算渐渐进入状态了,后来我又整合了好些个开源工具来实现不同的功能,总体来说,选择这个项目程序来开发我的app是对的。现在可以列一下我项目中用到的所有的开源工具给大家一个参考(很多工具我都是经过认真的多个中选择的,除了最初的那几个基本保留外):



//这个就不说了,安卓自己的

compile ‘com.android.support:support-v4:19.+‘ :

//这个也不用说吧,安卓自己的 compile ‘com.android.support:appcompat-v7:19.+‘

//这个工具都应该知道,谷歌开发的JSON工具包,因为我们传数据都是用的JSON,所以经常要在对象和JSON字符串之间进行转换,这个工具没有显示的用,而是在下面的RETROFIT这个工具中调用的 compile ‘com.google.code.gson:gson:2.2.4‘

//这个工具是做图片加载的,大家知道我们的app的图片肯定实现先显示占位符,然后再异步加载的,中间涉及到(异步加载,内存,硬盘缓存等)好多事情,这个工具通过简单的API(一种链式API风格,我很喜欢)去实现,中间的事情完全不需要我们操心了,不过听说另外一个做图片缓存的工具,比这个功能强大,叫什么忘记了,不过这个工具绝对牛 compile ‘com.squareup.picasso:picasso:2.3.2‘

//依赖注入:简单来说就是帮我们统一新建对象的,详情看我的博文 compile ‘com.squareup.dagger:dagger:1.2.1‘

//dagger的编译工具,因为dagger会用到很多注解,这个工具就是说,我们的注解不是通过反射去处理的,而是直接生成代码,速度快,和下面的几个注解工具一样的方式,详情看我的博文 compile ‘com.squareup.dagger:dagger-compiler:1.2.1‘

//视图注入:我们经常会findById了,setOnClickListener了这些方法,很麻烦,而且看着代码很乱,这个工具就是通过注解去实例化你的View,当然,还有其他功能,详情看我的博文 compile ‘com.jakewharton:butterknife:5.0.0‘

//这个工具好像是基于HttpClient的,不过我现在不用这个了,我是完全用的Retrofit compile ‘com.github.kevinsawicki:http-request:3.0‘

//这个工具也是大名鼎鼎,是viewpager的指示器的开源工具(Viewpager现在也是一种非常常用的View) compile ‘com.actionbarsherlock:viewpagerindicator:[email protected]‘

//pusher:通知框架,目前还没开始用 compile ‘com.github.kevinsawicki:android-pusher:0.6‘

//一个工具集吧,比如我现在用的最频繁的Toaster.showLong|showShort,其实就是安卓自己的Toast类的封装 compile ‘com.github.kevinsawicki:wishlist:0.9‘

//EventBus:是用来解耦各个类的,比如我的Fragment和Activity交互,平常是要定义一个接口然后传入进来操作的,用这个就直接post了,很方便,当然他的功能很强大的,可以参考我的博文(最好是官方的英文文档,我的博文是个简单翻译) compile ‘com.squareup:otto:1.3.4‘

//Restful是现在比较流行的一个WEB设计风格吧,我其实也很喜欢这种风格,这个工具绝对帅爆了,写一个请求只需要写接口,实现都由工具来帮你搞定了,其实我们发送请求本来也不需要写逻辑代码(只需要发送URL,参数,Header等,这些都可以通过注解设置了) compile ‘com.squareup.retrofit:retrofit:1.6.1‘

//这个是一个简单的图片Slider,支持图片下面的标题文字 compile ‘com.daimajia.slider:library:[email protected]‘

//瀑布流,用这个可是费了我好大的功夫,因为他不支持上拉家在更多,我在他和PullToRefresh的整合可是花了不少时间(两天了) compile ‘com.etsy.android.grid:library:1.0.5‘

//圆角图形工具,可以理解为一个View,这个View可以设置你的组件是圆形的,椭圆的,边框等,很灵活 compile ‘com.makeramen:roundedimageview:1.3.0‘

//下拉刷新上拉加载组件,很有名气,支持很多的组件(如ListView,WebView,ViewPager等等) compile ‘com.mcxiaoke.pulltorefresh:library:2.5.3‘

//,可以在3.0以前的系统上使用属性动画,是一个向下兼容3.0的新的动画特性的包 compile ‘com.nineoldandroids:library:2.4.0‘

//这个是做字段校验的工具:比如你可以在一个TextView上面使用注解,约束这个TextView的文本必须是邮箱格式 compile (‘eu.inmite.android.lib:android-validation-komensky:0.9.2‘){

exclude module: ‘support-v4‘ }



当然,还有一些必要工具我还没有列出来,最明显的如ORM(因为现在还没有用到呢),日志等

一些安卓框架,布布扣,bubuko.com

时间: 2024-10-13 14:36:50

一些安卓框架的相关文章

宝宝巴士安卓框架介绍

*:first-child { margin-top: 0 !important; } body > *:last-child { margin-bottom: 0 !important; } a { color: #4183C4; text-decoration: none; } a.absent { color: #cc0000; } a.anchor { display: block; padding-left: 30px; margin-left: -30px; cursor: poin

安卓 框架

韩梦飞沙  韩亚飞  [email protected]  yue31313  han_meng_fei_sha ======== android-framework 1. 缓存 名称                                                                     描述 DiskLruCache                                        Java实现基于LRU的磁盘缓存 2.图片加载 名称        

xutils安卓框架的使用

使用xUtils快速开发框架需要有以下权限: <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 这两段代码是放到AndroidManifest.xml文件里 使用xutils框架,只用把下载文件夹里的jar包导入到项

轻量级安卓框架源码

上代码 自己的Activity package com.young.android; import com.young.android.annotation.ViewInject; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.TextView; imp

搭安卓框架的目录说明

1.com.公司名.项目名.功能名 2. com.公司名.项目名.base       adapt 基础adapt    asynctask 后台接口请求相关1   http 后台接口请求相关2   bean.response 接口基础返回值   config 配置信息,比如请求后台接口   constant 项目中的固定参数   db 项目中的sqlite   exception 异常   file 文件上传的   image 图片上传   log 日志打印   ui 基础UI(基础Activ

安卓第八夜 玛丽莲梦露

作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 上一讲说明了数据库中存取数据的方法.这一讲将以条目的视图方式,来以相似的视图方式,显示多个数据对象.这种方式特别适合于显示从数据库中取出的多个结构相似的数据,比如多个联系人,或者多个联系人分类. <玛丽莲梦露>,这是一副现代艺术作品.听到玛丽莲梦露自杀的消息后,现代艺术家沃霍尔深为震惊.他通过重复玛丽莲梦露的形象,创作了这幅波普艺术的名作.每一个形象既是重复,又有变化. 描述

安卓NDK流程

定义wrap类,声明native函数,加载库 package com.ndk.hello; public class Classs { public native String say_hello(); static { System.loadLibrary("HelloAndroidNDK"); } } 在项目根目录创建jni文件夹,在此文件夹生成JNI头文件 javah -classpath ../bin/classes com.ndk.hello.Classs 为生成的com_n

安卓 Input Events(输入事件)

在安卓中,有不止一种方法从你的应用截取用户交互事件.在你的用户界面中考虑事件,途径就是从用户界面中的一个指定的view对象中捕获事件.该view提供了这样做的方法. 在你用来组成你布局的不同的view类中,你或许注意到了一些公共的回调方法似乎看起来对UI事件有用.这些方法由安卓的框架调用,当各自的操作在对象中发生时.例如,当一个view (一个按钮)被触摸,在这个对象中的onTouchEvent() 方法就会被调用.然而,为了拦截这个事件,你必须继承该类(button )并且重写该方法(onTo

[安卓]创建一个视图类

跟其他任何设计良好的类一样,我们自己定义的视图类也封装了系列功能接口,有效地使用CPU和内存等等.要成为一个设计优良的类,我们的视图类还需要具有: 遵从安卓标准: 通过安卓XML布局提供定制的风格属性: 发送可达事件: 与广泛的安卓平台兼容. 安卓框架提供一系列基本类型和XML标签来帮助开发者创建满足以上要求的视图类.下面将详细介绍. 1.子类化视图类: 安卓中所有的视图类都派生于view类.我们的视图类可以直接派生于view类,也可以派生于高层类,譬如Button类.为了让Android De