【Android移动开发技术】最常用的GitHub上优秀的 Android 开源项目

    xiaoxiao2025-03-23  17

     对于GitHub上开源项目的整理,很多博客都有写过。但是我觉得有些博客整理的开源项目过多,让我们看的眼花缭乱,以至于我们不知道该用哪一个好。所以为了更好的有利于初学者的学习,我从实战和易用性的角度重新整理这些优秀的开源项目,贪多无厌,一两个精品足以。

        这些开源项目可以分为UI类和框架类。UI类主要介绍那些自定义特性的View,包括ListView、ActionBar、ViewPager、Gallery、GridView、ImageView、ProgressBar等等。框架类的话有包含由快速开发框架Afinal,xUtils,以及Google开源的网络框架Volley.

     

          UI类:

     

       一、ListView

     

        1、android-pulltorefresh 

       一个强大的拉动刷新开源项目,支持各种控件下拉刷新 ListView、ViewPager、WevView、ExpandableListView、GridView、(Horizontal )ScrollView、Fragment上下左右拉动刷新,比下面johannilsson那个只支持ListView的强大的多。并且他实现的下拉刷新ListView在item不足一屏情况下也不会显示刷新提示,体验更好。 项目地址:https://github.com/chrisbanes/Android-PullToRefresh Demo地址:https://github.com/Trinea/TrineaDownload/blob/master/pull-to-refreshview-demo.apk?raw=true APP示例:新浪微博各个页面

     

          2、DragSortListView 

           拖动排序的ListView 同时支持ListView滑动item删除,各个Item高度不一、单选、复选、CursorAdapter做为适配器、拖动背景变化等 项目地址: https://github.com/bauerca/drag-sort-listview Demo地址: https://play.google.com/store/apps/details?id=com.mobeta.android.demodslv APP示例:Wordpress Android        

         3、SwipelistView

           支持定义ListView左右滑动事件,支持左右滑动位移,支持定义动画时间 项目 地址: https://github.com/47deg/android-swipelistview Demo地址: https://play.google.com/store/apps/details?id=com.fortysevendeg.android.swipelistview APP示例:微信     

         4、pinned-section-listview GroupName

         滑动到顶端时会固定不动直到另外一个GroupName到达顶端的ExpandListView项目地址:https://github.com/beworker/pinned-section-listview

    效果图:

        

         二、ActionBar

           1. ActionBarSherlock 

            为Android所有版本提供统一的ActionBar,解决4.0以下ActionBar的适配问题 项目地址:https://github.com/JakeWharton/ActionBarSherlock Demo地址:https://play.google.com/store/apps/details?id=com.actionbarsherlock.sample.demos APP示例:太多了。。现在连google都在用

     

           2.ActionBar-PullToRefresh 

          下拉刷新,ActionBar出现加载中提示 项目地址:https://github.com/chrisbanes/ActionBar-PullToRefresh Demo地址:https://play.google.com/store/apps/details?id=uk.co.senab.actionbarpulltorefresh.samples.stock APP示例:Gmail,Google plus,知乎等

        

         三、 Menu

             1.SlidingMenu 

     

     

           滑出式菜单,通过拖动屏幕边缘滑出菜单,支持屏幕左右划出,支持菜单zoom、scale、slide up三种动画样式出现。项目地址:https://github.com/jfeinstein10/SlidingMenu Demo地址:https://play.google.com/store/apps/details?id=com.slidingmenu.example APP示例:Foursquare, LinkedIn, Zappos, Rdio, Evernote Food, Plume, VLC for Android, ESPN ScoreCenter, MLS MatchDay, 9GAG, Wunderlist 2, The Verge, MTG Familiar, Mantano Reader, Falcon Pro (BETA), MW3 BarracksMenuDrawer和SlidingMenu比较:SlidingMenu支持菜单动画样式出现,MenuDrawer支持菜单view处于内容的上下层

     

     

        四、ViewPager 

     

             1.Android-ViewPagerIndicator 

          配合ViewPager使用的Indicator,支持各种位置和样式 项目地址: https://github.com/JakeWharton/Android-ViewPagerIndicator Demo地址: https://play.google.com/store/apps/details?id=com.viewpagerindicator.sample APP示例:太多了。

        五、GridView

                 1、StaggeredGridView 

                 允许非对齐行的GridView

    类似Pinterest的瀑布流,并且跟ListView一样自带View缓存,继承自ViewGroup

     

    项目地址:https://github.com/maurycyw/StaggeredGridView

    Demo地址:https://github.com/Trinea/TrineaDownload/blob/master/staggered-gridview-demo.apk?raw=true APP示例:Pinterest等

     

         2.DraggableGridView Item

           可拖动交换位置的GridView,类似桌面的单屏效果

    项目地址:https://github.com/thquinn/DraggableGridView

    Demo地址:https://github.com/thquinn/DraggableGridView/blob/master/bin/DraggableGridViewSample.apk?raw=true

        

                六、ImageView

     

        1.PhotoView 

     

          支持双击或双指缩放的ImageView

     

     在ViewPager等Scrolling view中正常使用,相比上面的AndroidTouchGallery,不仅支持ViewPager,同时支持单个ImageView

    项目地址:https://github.com/chrisbanes/PhotoView

    Demo地址:https://play.google.com/store/apps/details?id=uk.co.senab.photoview.sample

              

              2.android-gif-drawable 

              支持gif显示的view 项目地址:https://github.com/koral--/android-gif-drawable 用jni实现的,编译生成so库后直接xml定义view即可,而且本身不依赖于其他开源项目。

            3.CircleImageView

    圆形的ImageView 项目地址:https://github.com/hdodenhof/CircleImageView 效果图:

                   七、其他

         1.android-square-progressbar

          在图片周围显示进度 项目地址:https://github.com/mrwonderman/android-square-progressbar Demo地址:https://play.google.com/store/apps/details?id=net.yscs.android.square_progressbar_example APP示例:square

         2.SwipeBackLayout 

           左右或向上滑动返回的Activity 项目地址:https://github.com/Issacw0ng/SwipeBackLayout Demo地址:https://play.google.com/store/apps/details?id=me.imid.swipebacklayout.demo APP示例:知乎

         3.achartengine 

     

            支持折线图、面积图、散点图、时间图、柱状图、条图、饼图、气泡图、圆环图、范围(高至低)条形图、拨号图/表、立方线图及各种图的结合

     

     

    项目地址:https://code.google.com/p/achartengine/

     

     

     

    官方网站:http://www.achartengine.org/

     

     

     

    效果图:

     

     

    http://www.achartengine.org/dimages/temperature_range_chart.png

     

        

    http://www.achartengine.org/dimages/combined_chart.png

     

    http://www.achartengine.org/dimages/budget_chart.png

     

    APP示例:Wordpress Android,Google Analytics

           

        4.AndroidWheel 

         支持城市、多种日期时间、密码、图片

     

    项目地址:https://github.com/sephiroth74/AndroidWheel 效果图:

         5.android-lockpattern 

     

           Android的图案密码解锁项目地址:https://code.google.com/p/android-lockpattern/Demo地址:https://play.google.com/store/apps/details?id=group.pals.android.lib.ui.lockpattern.demo使用介绍:https://code.google.com/p/android-lockpattern/wiki/QuickUse示例APP:Android开机的图案密码解锁,支付宝的密码解锁

     

     

          工具类:

     

            一、快速开发框架

            1.Afinal

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

     

     

           2.xUtils

    xUtils 最初源于Afinal框架,进行了大量重构,使得xUtils支持大文件上传,更全面的http请求协议支持(10种谓词),拥有更加灵活的ORM,更多的事件注解支持且不受混淆影响...xUtils 包含了很多实用的android工具。

     

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

    GitHub 地址: https://github.com/wyouflf/xUtils/  

        3. Android-Universal-Image-Loader

    Android上最让人头疼的莫过于从网络获取图片、显示、回收,任何一个环节有问题都可能直接OOM,这个项目或许能帮到你。

    Universal Image Loader for Android的目的是为了实现异步的网络图片加载、缓存及显示,支持多线程异步加载。它最初来源于Fedor Vlasov的项目,且自此之后,经过大规模的重构和改进。

    4.Android Volley

    在Google I/O 2013上,Volley发布了。Volley是Android平台上的网络通信库,能使网络通信更快,更简单,更健壮。Volley可是说是把AsyncHttpClient和Universal-Image-Loader的优点集于了一身,既可以像AsyncHttpClient一样非常简单地进行HTTP通信,也可以像Universal-Image-Loader一样轻松加载网络上的图片。除了简单易用之外,Volley在性能方面也进行了大幅度的调整,它的设计目标就是非常适合去进行数据量不大,但通信频繁的网络操作,而对于大数据量的网络操作,比如说下载文件等,Volley的表现就会非常糟糕。  Volley主页: https://android.googlesource.com/platform/frameworks/volley

     

     

     

    原文地址:http://blog.csdn.net/finddreams/article/details/40923109

     

     

     

    【关于我们】

    奈园(微信公众号:inaiyuan),专注于国内各大互联网公司社会招聘内推。关注后回复关键词“内推”查看最新互联网名企(包括但不限于今日头条、网易游戏、BAT、网易互联网、小米、京东、乐视、携程等名企)内推信息,有技术岗、有产品岗、有运营岗、有设计岗、有交互岗、有销售岗,更有其他N多相关岗位!更多内推信息请扫描以下二维码关注查阅。

     

     

     

     

     

     
    转载请注明原文地址: https://ju.6miu.com/read-1297321.html
    最新回复(0)