转:Android工具类库

首先,就我个人开发经验,总结一下平常用到的一些最常用的功能:

  1. 下载,比如图片,文件。
  2. 将下载的文件进行解压。
  3. 请求服务器,比如说上传登陆信息,更新某些数据,又或者上传头像文件。
  4. 从文件系统中选择要操作的文件(图片,拍照,视频,拍摄视频)。
  5. 有时候也需要爬取某些网页数据。
  6. 存储一些配置信息
  7. 播放视频
  8. 再有一个特殊需求就是关乎Android程序UI设计,图标是个很麻烦的问题。每次都难以找到合适的Android 设计UI。

随后,我将很有针对性的推荐一些功能库,来简化上面的问题。

  1. afinal :  afinal 是一个很方便的工具库。 GitHub作者博客 (注:国人项目哟)
  • 一行代码就可以对数据库进行增删改查。 
  • 完全注解方式就可以进行UI绑定和事件绑定。无需findViewById和setClickListener等。
  • 轻松实现Android上传文件,POST数据,下载文件(支持断点续传,随时停止下载任务 或者 开始任务)。
  • 一行代码 加载网络图片。

  2.  android-async-http : Android下的异步HTTP库。 GitHub文档   PS:作者的GitHub值得关注。

  • 发送异步http请求,并且可在回调函数中处理返回响应Response。
  • http请求在thread线程,不会阻塞UI线程。
  • 请求使用线程池(ThreadPool)实现,优化了并发的资源使用。
  • 支持Multipart 文件上传。
  • 如果Request请求失败,会自动请求。
  • 支持Json解码。
  • 支持存储Cookies到Preference中。
  • 支持gzip处理Request以及Response。
  • 整个库只有19KB。

  3.  http-requests : Java http请求库,设计的很优雅的一个库,推荐。  GitHub

  4.  async-http-client : Android下的异步 Http 和 WebSocket 库。   GitHub

  • 支持代理设置
  • 支持分片儿处理请求返回内容
  • 支持WebSocket
  1. zt-zip:  压缩和解压库。  GitHub
  • 压缩和解压
  • 单独操作文件压缩和解压。
  • 替换zip文件中的某个文件
  1. aFileChooser :文件选择器,用于选择需要操作的文件  GitHub
  2. image-chooser-library : 图片和视频的选择库。  GitHubDemo
  3. jsoup:  HTML解析,并且能很好理解DOM,CSS,以及JQuery。 GitHub官方    PS:这是java库。做网页爬虫(Crawler,Robot)必备。
  4. toml: 这是个跨语言的配置信息存取方案。 GitHub
  5. Androiton-Action-Bar-Icons: 一个针对Android 优化过的ICON图标集。  GitHubDemo
  6. 推荐一个Android整体框架:ThinkAndroid 集成了ioc,orm,下载,缓存等模块,能让开发更加快速和高效,同时还是国人项目。 GitHub
  7. 如果你想要更快的网络传输和加载速度可以试试OKHTTP,他实现了Google开发的SPDY协议,通过复用一个Socket,缩短网络加载时间。 关于SPDY看这里OKHTTP
  8. Android-ProgressFragment :等待数据的时候,支持显示等待符号的Fragment控件。 GitHub
  9. 关于播放视频,不要再去研究什么FFMPEG了,too slow,国人有个非常非常出色的开源项目叫Vitamio,让你播放视频简单如abc。 GitHub官方网站
  10. AndroidCommon :Android常用的一些库和功能,如缓存,下拉列表,下载管理,静默安装等。感谢 Trinea  GitHub
  11. ion: 让Android的网络操作变得极其简单,支持异步获取和处理JSON,支持Android文件下载(同时支持下载进度条绑定),支持安全链接和代理。超级推荐!  GitHub

    四、图标资源:

    • http://iconsparadise.com/  质量一般,但也是一种选择
    • http://iconbench.com/  在线产生一些小图标
    • http://www.androidicons.com/  图标质量很不错,但是要付费($25刀),如果有想合买的可以联系我~
    • https://code.google.com/p/android-ui-utils/   用来在线生成符合Android Design风格的设计图标。  项目地址
    • http://www.flaticon.com/  高质量矢量图,推荐之~
    • Android-Iconify :一个将AweomeICON和Android结合起来的项目,推荐。
    • IonIconView :Android下的一个基于AwesomeICON的图标组件,力荐~

      五、一些手册

      六、一些视频(以下均为Google 2013 I/O大会的现场视频,视频较多持续更新中…)

      • Android Studio  的新特性官方讲解视频,我在官方技术博客上下载下来,上传到网盘,希望对大家有帮助。 下载地址
      • Android引入Gradle的官方讲解视频  下载地址 。
      • Google 2013 IO大会上抽出40多分钟时间讲解了Android Custom View的底层原理和书写方法。非常值得一看! 下载地址 。
      • IO大会上还讲解了高性能Android RenderScript的原理和使用方法,搞图形图像必备良品。 下载地址
      • 大会上还向开发者讲解了如何实现简洁、快速的网络请求。包括常用的JSON、AsyncTask,还提出了一种网络负荷较重情况下的解决方案RequestQueue(请求队列),提升自己技术必备视频。 下载地址
      • Android 蓝牙 操作最佳实践。 下载地址
      • Android ui 设计官方指南  下载地址
      • Android游戏开发 官方讲解视频  下载地址

      七、高价值链接

      • Android官方博客  提供一些跟Android相关的即时咨询。(需要梯子)
      • Android官方技术博客  主要提供一些新工具(如Android Studio),新技术(如每次更新带来新特性)的演示和讲解。(需要梯子)
      • 23code.com : 超强烈推荐,里面收集了非常多漂亮的Android开源项目。
      • StylingAndroid : 时常介绍Android的新特性。
      • AndroidViews  Android View组件收集站点。
      • 那两年炼就的Android内功修养  (这是一篇Android入门到提高的文章,内容很全面,而且由浅入深,强烈推荐,来自老罗的Android之旅)
      • Android-er  :专注Android好多年的一个老外的Blog。(需要梯子)
      • Android-Pattern :Android的一些设计模式。

      八、集成其他开发特性(懒人专用)

      • ORM:  Object-relationship mapping,如果你不知道什么是ORM设计, Google 。 目前Android上主要有三个ORM开源库。 greenDAO 、 OrmLite 、 AndrORM 。排序基本代表性能。 greenDao和Ormlite性能测试    Ormlite和Androrm性能对比 ,主要是原理实现决定的性能差异(GreenDao采用生成数据表类文件,其他的则采用了反射…)。如果对数据库性能要求很高,那么采用greenDao,如果想图方便采用OrmLite或者AndrORM。
      • ORM2: ActiveAndroid,另一个Android ORM组件,做的非常棒,推荐。 GitHub
      • sprinkles: 有一个ORM组件。  GitHub
      • android-priority-jobqueue:Android Job队列。轻松实现后台task管理,保证代码更清晰,低耦合。 GitHub
      • androidquery: 简单的Android框架,让写代码变得更简单。 Google Code

      九、专注Android的Blog

      1. http://www.trinea.cn/  关注Android性能还有一些小细节的,感谢VilenEera推荐。
      2. http://blog.csdn.net/jj120522  解决很多关于Android生产环节的开发细节,感谢star的推荐。
      3. https://github.com/Trinea/android-open-project  由Trinea收集的很多关于Android第三方特征库的Repo。
      4. http://linkyan.com/  就职于花瓣,专注于Android。

      十、从这些项目中学习组件的用法

      1. Android-GitHub: GitHub官方Android客户端(感谢 Liu Chong 推荐),用到了以下几个项目:

      原文: http://blog.csdn.net/caoyouxing/article/details/42418591

      十一、项目推荐使用的第三方开源库

      1. 使用上拉更多,下拉刷新:https://github.com/JosephPeng/XListView-Android 
      这个是github上面更为火爆的:https://github.com/chrisbanes/Android-PullToRefresh

      2. 侧滑的菜单: SlidingMenu.rar (自己导入support-4v包)推荐github上面一个很好的库,不过这个库有少少错误,修改过来就好了,附上github地址与修改地址。 
      github: https://github.com/jfeinstein10/SlidingMenu 
      修改地址:http://www.eoeandroid.com/forum.php?mod=viewthread&tid=262755&reltid=249556&pre_thread_id=0&pre_pos=5&ext=CB 
      其实修改的问题就是: 修改SlidingMenu library中的 SlidingFragmentActivity,让它继承于SherlockFragmentActivity,重新编译library导入

      3. 水平移动导航条关联ViewPage:

      http://www.eoeandroid.com/thread-175041-1-1.html

      3.1 这个是ViewPage带动画的,比较优秀: https://github.com/jfeinstein10/JazzyViewPager

       

      4. 数据库处理使用ormlite:http://ormlite.com/(文档全,注解的形式因此较慢) or      greenDroid:https://github.com/greenrobot/greenDAO(据评测最快,不过每次需要java编译较为麻烦)   or    ActiveAndroid:https://github.com/pardom/ActiveAndroid(没有使用过)    or    https://github.com/satyan/sugar(轻量简单, 下次项目使用)

      5. get,post的请求使用:https://github.com/loopj/android-async-http  或者  使用nio的库:https://github.com/koush/ion 
      https://github.com/koush/AndroidAsync  库支持程序退出后继续下载

      6. 图片加载,包括ListView显示图片加载使用:https://github.com/square/picasso ,推荐这个,代码中考虑的更为的周全

      https://github.com/thest1/LazyList  这个是我在项目中使用的

      7. Json数据解析,有很多种,推荐使用FastJason:http://code.alibabatech.com/wiki/display/FastJSON/Home

      8. ListView带快速搜索与键入搜索: listview右则搜索.rar

      9. 推荐一个AFinal框架,不错,集合了FinalDB、FinalActivity、FinalHttp、FinalBitmap四个功能与一身,不过在单一使用的情况下,还是使用单一功能的框架比较好

      10. 仿IPhone时间滚轮控件: iPhone时间转轮控件.rar

      11. 在android sdk3.0以下使用ActionBar  安装使用教程(亲测)http://blog.csdn.net/daguaio_o/article/details/8028695

      12. 多线程多任务队列断点下载,同时也提供开始、暂停功能,更多功能有待发掘,开源。本身jar有500k,感觉有点儿大,建议根据自己需要提取所需的代码。https://github.com/white-cat/ThinkAndroid

      13. GreenDroid 一个漂亮的android ui库,推荐使用QuickAction

      14. 手势放大缩小,双击放大缩小图片:https://github.com/jasonpolites/gesture-imageview

      15. android缓存框架:https://github.com/yangfuhai/ASimpleCache

      16. 把优酷、土豆等取出它们真是的视频播放地址:http://vparser.com/

      17. 开源中国的Maven库:http://maven.oschina.net/static/help.html

      18. 针对新浪微博,腾讯微博的认证与分享demo:https://github.com/cstdr/WeiboSDKDemo.git

      19. 一个可以替换ImageView的工具,smartImageView,来自github:http://loopj.com/android-smart-image-view/

      20. 图片放大与缩小:github的phoneView  如果需要在放大缩小上再加上旋转,请参考集合项目https://github.com/codepanda-ch/android-gestureimageview

      21. 强大的时间处理:joda     http://sourceforge.net/projects/joda-time/files/joda-time/2.3/

      22. 功能众多的工具包:apcahe lang       http://commons.apache.org/proper/commons-lang/download_lang.cgi

      23. 收集了很多的github上面的开源库列表: https://github.com/Trinea/android-open-project

       

       

      请尊重作者的劳动成果,转载注明出处,谢谢!

      原文:http://blog.csdn.net/caoyouxing/article/details/42418591

转载于:https://www.cnblogs.com/killer-xc/p/7712589.html

一个简单的开源Android工具类,提供许多常用的类帮助我们开发程序。 AndroidCommon 一个简单的开源Android工具类,提供许多常用的类帮助我们开发程序。 These are the Android Common Utils. Class Introduction AnimationUtils Animation Unility Class AppUtils App Unility Class ArrayUtils Array Unility Class AssetsUtils Assets Unility Class BASE64Utils Base64 Unility Class BitmapUtils Bitmap Unility Class BlurUtils Blur Unility Class ByteUtils Byte Unility Class CalendarUtils Calendar Unility Class ClipboardUtils Clipboard Unility Class CollectionUtils Collection Unility Class CommonUtils Common Unility Class CpuUtils Cpu Unility Class DeviceUtils Device Unility Class DisplayUtils Display Unility Class FileUtils File Unility Class FragmentUtils Fragment Unility Class HandlerUtils Handler Unility Class IOUtils IO Unility Class ImageUtils Image Unility Class InputMethodUtils InputMethod Unility Class IntentUtils Intent Unility Class JsonUtils Json Unility Class LogUtils Log Unility Class MD5Utils Md5 Unility Class MapUtils Map Unility Class MemoryUtils Memory Unility Class NetworkUtils Network Unility Class NumberUtils Number Unility Class ObjectUtils Object Unility Class PackageUtils Package Unility Class PropertyUtils Property Unility Class RandomUtils Random Unility Class ResourceUtils Resource Unility Class SHA1Utils Sha1 Unility Class SerializableUtils Serializable Unility Class SharedPreferencesUtils SharedPreferences Unility Class ShellUtils Shell Unility Class StringUtils String Unility Class SystemUtils System Unility Class TelephonyUtils Telephony Unility Class ThreadUtils Thread Unility Class TimeUtils Time Unility Class ToastUtils Toast Unility Class UrlUtils Url Unility Class VibratorUtils Vibrator Unility Class ViewUtils View Unility Class Permission <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <uses-permission android:name="android.permission.READ_PHONE_STATE" /> <uses-permission android:name="android.permission.VIBRATE" /> <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" /> Proguard -keep class com.wx.android.common.** { *; } -keepclassmembers class com.wx.android.common.** { *; } -dontwarn com.wx.android.common.** Setup Download the project from GitHub Import it to your Eclipse workspace or IntelliJ IDEA project Set your project properties, then add a android project library, and select AndroidCommon Usage Gradle: compile 'com.wx.android.common:common:1.0.1' Author venshine venshine.cn@gmail.com License Copyright (C) 2015 venshine.cn@gmail.com Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值