开源框架_开源框架面试之dubbo面试题 - CSDN
精华内容
参与话题
  • Java常用开源框架总结,主要包括Apache commons、Apache commons lang、Apache commons-io、commons-fileupload。
  • Spring开源框架

    千次阅读 2019-01-16 22:23:25
    为了解决企业应用开发的复杂性而创建的一个轻量级的Java 开发框架 简单来说,Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。 Spring框架的目标是使得Java EE应用程序的开发更加简捷 基本...

    为了解决企业应用开发的复杂性而创建的一个轻量级的Java 开发框架

    简单来说,Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。

    Spring框架的目标是使得Java EE应用程序的开发更加简捷

    基本框架:AOP、JEE、WEB、CORE、DAO、ORM

    三种依赖注入方式:属性(Setter方法)注入,构造注入和接口注入

    Spring  DAO:Spring提供了对JDBC的操作支持:JdbcTemplate模板工具类 。

    Spring  AOP:Spring提供面向切面的编程,可以给某一层提供事务管理

    Spring  Core:提供IOC容器对象的创建和处理依赖对象关系 。

    Spring  JEE:J2EE开发规范的支持,例如EJB 。

    Spring  WEB:Spring提供了对Struts、Springmvc的支持,支持WEB开发。与此同时Spring自身也提供了基于MVC的解决方案 

    Spring  ORM:Spring可以与ORM框架整合

     

     

    IOC容器

    就是具有依赖注入功能的容器,是可以创建对象的容器,IOC容器负责实例化、定位、配置应用程序中的对象及建立这些对象间的依赖。通常new一个实例,控制权由程序员控制,而"控制反转"是指new实例工作不由程序员来做而是交给Spring的容器来做。所以每次调用不再实例化,加一个声明即可

    简单来说就是把复杂系统分解成相互合作的对象,这些对象类通过封装以后,内部实现对外部是透明的,从而降低了解决问题的复杂度,而且可以灵活地被重用和扩展。IOC理论提出的观点大体是这样的:借助于“第三方”实现具有依赖关系的对象之间的解耦,如下图:

     

    BeanFactory 是所有Spring应用的核心。Spring框架是建立在这个模块之上的,这也使得Spring成为一个容器。

    IOC实现了松耦合。依赖被注入到对象,而不是创建或寻找依赖对象

     

     

    AOP容器(切面编程)

    可以为某一类对象进行监督和控制从而达到对一个模块扩充的功能。比如说日志、安全、缓存等那些与业务无关,却为业务模块所共同调用的逻辑或责任封装起来,便于减少系统的重复代码

     

    切面(Aspect):其实就是共有功能的实现。

    通知(Advice):是切面的具体实现。

    连接点(Joinpoint):就是程序在运行过程中能够插入切面的地点。

    切入点(Pointcut):用于定义通知应该切入到哪些连接点上。

    目标对象(Target):就是那些被通知的对象。

    代理对象(Proxy):将通知应用到目标对象之后被动态创建的对象。

    织入(Weaving):将切面应用到目标对象从而创建一个新的代理对象的过程。

    把应用的业务逻辑与系统的服务分离开来

    @Aspect
    @Component
    public class LogAspect {
        private static final Logger logger =LoggerFactory.getLogger(LogAspect.class);
        @Before("execution(* com.example.demo.controller.UserController.*(..))")
        public void beforeMethod(){//所有调用之前
            logger.info("beforeMethod"+new Date());
        }
        @After("execution(* com.example.demo.controller.UserController.*(..))")
        public void afterMethod(){//所有调用之后
            logger.info("afterMethod"+new Date());
        }
    }

    Bean

        每个Bean定义只存在一个实例,即Bean的scope默认是singleton的

     

     

    实际例子

    public class Hello {
        private String mess;
        public void steMess(String mess){
            this.mess=mess;
        }
        public void say(){
            System.out.println("hello"+mess);
        }
        public void setMess(String mess) {
            this.mess = mess;
        }
        public String getMess() {
            return mess;
        }
    }
    
    public static void main(String[] args){
            ApplicationContext context=new ClassPathXmlApplicationContext("spring-config.xml");
            Hello hello=(Hello)context.getBean("hello");
            hello.say();
    }
    
    //xml配置
    <bean id="hello" class="Hello">
               <property name="mess" value="Spring">
               </property>
    </bean>
    
    
    

    我们可以把对象的创建和管理工作交给Spring去完成,不需要自己去new对象,也不要去设置对象的属性,只要写好Spring的配置文件,Spring就可以帮我们去做

     

    SpringMVC

    SpringMVC实现了mvc设计模式的web框架。

    MVC是存在于桌面程序中的,M是指业务模型,V是指用户界面,C则是控制器,使用MVC的目的是将M和V的实现代码分离,从而使同一个程序可以使用不同的表现形式。比如一批统计数据可以分别用柱状图饼图来表示。C存在的目的则是确保M和V的同步,一旦M改变,V应该同步更新。

    视图包括Adobe Flash和像XHTMLXML/XSL,WML等一些标识语言和Web services.

    模型表示企业数据和业务规则

    控制器接受用户的输入并调用模型和视图去完成用户的需求

     

    首先用户发出请求,请求到达SpringMVC的前端控制器(DispatcherServlet),前端控制器根据用户的url请求处理器映射器查找匹配该url的handler,并返回一个执行链,前端控制器再请求处理器适配器调用相应的handler进行处理并返回给前端控制器一个modelAndView,前端控制器再请求视图解析器对返回的逻辑视图进行解析,最后前端控制器将返回的视图进行渲染并把数据装入到request域,返回给用户。

    spring mvc的入口是servlet,而struts2是filter。

    spring会稍微比struts快。spring mvc是基于方法的设计,而sturts是基于类

    展开全文
  • 各种Android UI开源框架

    万次阅读 2018-01-25 11:23:42
    自己总结的Android开源项目及库。 github排名 https://github.com/trending,github搜索:https://github.com/search Android库学习收集QQ群: 339129051 欢迎入群。 目录 UI UI卫星菜单节选器下拉刷新模糊效果HUD与...


    自己总结的Android开源项目及库。 github排名 https://github.com/trending,github搜索:https://github.com/search
    Android库学习收集QQ群: 339129051  欢迎入群。

    目录

    具体内容 =============================

    UI
    卫星菜单
    • android-satellite-menu - 点击主按钮,会弹出多个围绕着主按钮排列的子按钮,从而形成一个弹出式菜单。子按钮弹出和消失的动画效果都很棒。这种弹出式菜单按钮应用在Path app中。
    • ArcMenu - 实现弹出式按钮群(菜单)。点击主按钮,会在住按钮旁边弹出多个按钮(菜单)。弹出的按钮有两种排列形式,一种是围绕着主按钮成圆弧形排列,一种是和主按钮并排成一字型排列, 仿Path 2.0 (for iOS)。
    • Radial Menu Widget - 实现各种圆形或者半圆形菜单,以及圆形进度条。
    • android-circlebutton - 圆形按钮,有动画点击效果。
    • CircularFloatingActionMenu - 卫星菜单。
    • ElasticDownload - 挺酷的下载进度条。
    • android-snake-menu - 仿 Tumblr 的 Android 可拖拽蛇形动画菜单。
    节选器
    • SegmentView - 类似iOS的Segment Control控件,第一种方式是使用 RadioGroup 实现,O网页链接。
    • SHSegmentControl - 类似iOS的Segment Control控件,此种方式的可定制化更好。
    • android-segmentedradiobutton - 在Android中实现类似iOS的分段单选按钮(segmented control),本人以前项目一直使用,值得拥有。
    • android-segmented-control - RadioGroup实现类似ios的分段选择(UISegmentedControl)控件。
    下拉刷新
    • Android-Ptr-Comparison - Android 下拉刷新开源库对比,非常nice!!
    • Android-PullToRefresh - 最经典、最多人用的下拉刷新、加载更多。
    • PullDownListView - 一个下拉刷新的控件,实现了仿微信下拉中眼睛动画的效果。
    • DragTopLayout - 实现整个layout下拉刷新。
    • ZrcListView - 一个顺滑又漂亮的Android下拉刷新与加载更多列表组件,增加下拉刷新及滚动到底部自动加载的功能;增加越界回弹效果;增加自定义列表项动画的功能。
    • TwitterCover-Android - Twitter Android客户端的下拉封面模糊效果。
    • android-Ultra-Pull-To-Refresh - 实现整个layout下拉刷新,没有加载更过,Demo, 源码分析
    • StikkyHeader - 【Android控件源码:头部固定的控件列表效果】这是一个可以支持头部固定的控件列表功能,源码StikkyHeader,StikkyHeader是一个可以在滚动的时候将头部固定的控件,还可以将动画效果和StikkyHeader一起使用,api非常简单, 支持ListView,RecyclerView,ScrollView。支持2.3一下设备使用的StikkyHeader
    • PullDownListView - 实现了模仿微信眼睛下拉效果,源码PullDownListView,下拉刷新,上拉加载,模仿微信眼睛。
    • CircleRefreshLayout - 又一个下拉刷新的实现,水滴效果。
    • BGARefreshLayout-Android - 多种下拉刷新效果、上拉加载更多、可配置自定义头部广告位,目前已经实现了四种下拉刷新效果:新浪微博下拉刷新风格、慕课网下拉刷新风格、美团下拉刷新风格、类似qq好友列表黏性下拉刷新风格。
    • Pull-to-Refresh.Rentals-Android - 提供一个简单可以自定义的下拉刷新实现。
    • Pull-to-Refresh.Tours - Taurus,很精美的下拉刷新。
    • ParallaxListView - 模仿Path的下拉刷新,Head头部图片下拉放大。
    • WaveRefreshForAndroid - 下拉刷新水波纹动画。
    • CoordinatorLayoutDemos - 收集了不少资源写了一个基于CoordinatorLayout实现的下拉刷新效果。
    • Android_PullToRefreshLibrary_Collection - 下拉刷新开源库集锦 。
    • HitBlockRefresh - 下拉刷新:打砖块和打坦克。
    模糊效果
    HUD与Toast
    • android-UCToast - 在不申请任何权限的情况下在 Android 应用中弹出悬浮窗,实现文档
    • sweet-alert-dialog - sweet-alert-dialog是一款清新文艺的 Android 弹窗, 灵感来自于 JS 版的 SweetAlert。
    进度条
    • easyloadingbtn - 模仿了一个Dribbble上的Material Design效果,环形loading, 进度条、进度圈。
    • android-square-progressbar - 一个不错的方形进度条。
    • Radial Menu Widget - 实现各种圆形或者半圆形菜单,以及圆形进度条。
    • AnimatedCircleLoadingView - 一个有限/无限加载动画效果。基于Nils Banner的android-watch-loading-animation设计图。该设计本来是针对智能手表的。
    • circular-progress-button - 带动态效果的Button(按钮)可要比静态的按钮炫酷的多了,大家看到效果图就知道了。
    • CircularBarPager - Android实现的动态效果,一个数字圆圈进度效果,源码CircularBarPager,material 风格的数字圆圈进度显示库(api10 +)。
    • dotted-progress-bar - 一个小清新的进度条。
    • WhorlView - 一个炫酷的漩涡加载效果自定义View。
    • AVLoadingIndicatorView - AVLoadingIndicatorView整合了一些漂亮的 Android 动画加载效果。
    • MagicProgressWidget - 渐变的圆形进度条与轻量横向进度条。
    • GBSlideBar - GBSlideBar类似uber/滴滴等app的滑动选择工具条。
    • GifLoadingView - 一些好看的 loadingview。
    • HouseLoading - 一个有趣的android加载loading动画。实现原理

    UI其他
    • MixtureTextView - 富文本,支持Android图文混排、文字环绕图片等效果。
    • android-ActionQueue - Action Queue 用于执行有次序的队列操作,比如按次序弹出对话框,这在 Android 中尤其有用。
    • WheelView-Android - WheelView-Android 是一款开源的 Android 滚动选择控件, 适用于不少应用场景。
    • Android Wheel - 带有刻度的旋转器:日历、三级联动。
    • CharacterPickerView - 可实现三级联动的选择器,高仿iOS的滚轮控件,可实现单项选择,并支持一二三级联动效果。
    • Highlight - Highlight一款可应用于 Android 应用上的指向性功能高亮的库, 可以快速的给应用添加上应用引导的效果。
    • HeaderAndFooterRecyclerView - 支持addHeaderView、 addFooterView、分页加载的RecyclerView解决方案 。
    • CleverRecyclerView - 是一个基于RecyclerView的扩展库,提供了与ViewPager类似的滑动效果并且添加了一些有用的特性。
    • drag-select-recyclerview - 实现了类似 Google Photos 风格的图片多选效果。
    • FlycoTabLayout - 一个Android TabLayout库,目前有两个TabLayout:SlidingTabLayout、CommonTabLayout。
    • AndroidChangeSkin - 一种完全无侵入的 Android 应用换肤方式,支持插件式和应用内换肤,无需重启 Activity。
    • Lobsterpicker - Lobsterpicker 为 Android 开发者提供了满足 Material Design 风格的颜色选择器。
    • FlycoRoundView - 一个扩展原生控件支持圆角矩形框背景的库,可以减少相关shape资源文件使用。
    • FlowingDrawer - FlowingDrawer 一个弹性效果的抽屉菜单,图片是概念图,实际效果实现了70%(侧滑菜单)。
    • TextSurface -是用 Java 写的一款借助酷炫的动画效果来完成消息展示的微型动画框架。
    • android-animate-RichEditor -android-animate-RichEditor是一款支持图片插入动画效果的 Android 富文本编辑器。
    • FlycoPageIndicator - android-animate-RichEditor是一款支持图片插入动画效果的 Android 富文本编辑器。
    • AndroidMosaicLayout - 马赛克效果 Layout,磁片风格View 自适应大小。
    • DropDownMenu - 一个实用的多条件筛选菜单,在很多App上都能看到这个效果,如美团,爱奇艺电影票等。
    • Swipe-Deck - 仿 Tinder 的可以左右滑动消除卡片效果的自定义控件。
    • IntlPhoneInput - 一个支持国际化的电话号码输入的自定义控件。
    • AndroidUI4Web - AndroidUI4Web是一个高性能的WebApp框架, 在移动浏览器上有与原生App一致的体验。
    • SmoothCheckBox - SmoothCheckBox带有切换动画的CheckBox。
    • AndroidTimelineViewx - AndroidTimelineViewx仿微信朋友圈 时间轴。
    • CityPicker - CityPicker仿美团等选择城市列表。
    • material-intro - Material Design 风格的引导页。
    • EmphasisTextView - 支持部分文字高亮的 TextView。
    • greedo-layout-for-android - 深度定制的 LayoutManager,在显示网格布局的时候会考虑屏幕宽高比。
    • Rosie - 可以让你创建遵循 Clean Architecture 的应用的框架。
    • CreditCardView - 一个交互很赞的信用卡自定义 View。
    • android-md-core - Material风格bootstrap的框架。
    • SwipeCardView - 一个带渐变层叠动画的左右滑动效果(类似于探探左右刷脸)。
    • SwipeSelector - 可以左右滑动切换 item 的 Selector。
    • ForegroundViews - 类似于 FrameLayout 的支持的前景自定义 View。
    • android-material-chips - Material Design 的 Chips 控件实现。
    • XhsEmoticonsKeyboard - 表情键盘解决方案。
    • JKeyboardPanelSwitch - 一套 Android 键盘面板冲突, 布局闪动的处理方案。
    • GestureLibray - 九宫格解锁。
    • RecyclerItemDecoration - RecyclerView相关的ItemDecorstion仍然保持高度定制性,易用性。
    • materiallogindemo - 一个炫酷的Material Design 风格的登录和注册页面 。教程
    • ScrollablePanel - 一个二维可拖动的面板控件,交互像一个二维的RecyclerView,用法也非常简单和RecyclerView的用法基本一样,横向竖向滑动也都实现了View的复用。 如果你想做房态、计划表、待办事项、课程表等需要一个二维的面板的话,这个控件应该是比较适合的。

    动画

    • Android应用开发之所有动画使用详解 - Android应用开发之所有动画使用详解。
    • 动画特效大全 - Android 动画特效大全。
    • SwitchLayout - 国内开发者, Android的Activity切换动画特效库SwitchLayout,视图切换动画库,媲美IOS。
    • ActivityOptionsICS - 一个低版本activity动画兼容库——ActivityOptionsICS,可以很好的实现MD的动画效果。
    • SwipeBack - 一个可以通过手势返回到上一个Activity的开源库,支持上下左右四个方向返回,支持多个View为Child。
    • SpringIndicator - 模仿Morning Routine的引导页效果SpringIndicator;基于模仿红点拖拽的Demo实现:BezierDemo;sample中使用到 快速创建ViewPager和ListView等的第三方库:MultipleModel
    • XhsWelcomeAnim - 国内开发者, 华丽酷炫欢迎引导界面 动画没有之一。
    • Material-Animations - Material风格动画,可以定义两个Activity之间的动画。
    • android-shapeLoadingView - android-shapeLoadingView实现高仿新版58 加载动画,loading。
    • 一个绚丽的loading - 一个绚丽的loading动效分析与实现。
    • TransitionPlayer - 一个 Transition 动画控制控制库,可以让你很轻松的创建一个可交互的动画。
    • loading-balls - loading-balls 一款支持高度配置的 Android 加载进度球。
    • SogoLoading - 仿搜狗浏览器加载动画,实现说明
    • ExplosionField - Android中View 炸裂特效的实现分析
    • AZExplosion - AZExplosion:模仿ExplosionField的粒子破碎效果。
    • BrokenView -玻璃碎裂动画效果。
    • SwipeCardView - SwipeCardView一个带渐变层叠动画的左右滑动效果(类似于探探左右刷脸)。类似SwipeCard
    • CRAudioVisualizationView - 水波纹效果的声音可视化自定义 View。
    • LoadingDrawable - 一些酷炫的加载动画, 可以与任何View配合使用,作为加载动画或者Progressbar, 此外很适合与RecyclerRefreshLayout 配合使用作为刷新的loading 动画。
    • Depth-LIB-Android- - 一款酷炫的 Android 界面过渡动画效果。
    • SwipeCaptcha - 自定义View,仿一个斗鱼web端滑动验证码。 博文

    网络相关

    网络连接
    • ion - 一个异步网络请求和图片加载的库,一个库能搞定几乎所有的网络请求。
    • 多线程下载 - Android 实现多线程下载 完美代码。
    • opandroid - android p2p的开源实现。
    • okio - square出的Okio这个库,尤其擅长处理二进制数据。如果觉得Java的输入输出流实在太复杂啰嗦,不妨试试Okio。
    • okhttp - square出的okhttp库。
    • OkHttpPlus - OkHttp 的一个工具类开源项目OkHttpPlus——支持GET、POST、UI线程回调、JSON格式解析、链式调用、文件上传下载 ,OkHttpPlus介绍
    • Android-Download-Manager-Pro - 一个下载管理库,如果你的 App 有大量的下载工作,这个库能帮到你。
    • FileDownloader - 文件下载引擎,稳定、高效、简单易用。
    • jchat-android - 一个聊天 App,具有完备的即时通讯功能,JChat 的功能基于极光 JMessage SDK 来开发。

    网络测试
    • augmented-traffic-control - Facebook宣布开源移动网络测试工具ATC,该工具支持利用Wi-Fi网络模拟2G、2.5G、3G以及LTE 4G移动网络环境,让测试工程师们能够快速对智能手机和App在不同国家地区和应用环境下的性能表现进行测试。

    图像获取

    响应式编程

    地图

    • 百度地图 - Android百度地图 线路规划,模拟运动轨迹,及全景效果。
    • AirMapView - 支持多个本地地图提供者包括谷歌地图V2和亚马逊地图V2。如果设备没有任何受支持的本地地图提供者,AirMapView会回退到基于web的地图提供者(目前谷歌地图)。

    数据库

    • ORMLite - ORMLite做的最棒但是学习成本有点儿高,ORMLite的文档有点儿烂。
    • SugarORM - SugarORM比较轻便, 支持Has a 和 Has many映射,但无法保存集合,没有映射关系。
    • GreenDAO - GreenDAO要先建立一个java项目来生成对应的表,一变动又要生成,很不方便。
    • ActiveDriod - ActiveDriod也不错 官网
    • ORMDroid - ormdroid 。
    • sqlbrite - 良心企业Square的又一开源项目,当你不想给用ContentProvider,只想简单监听SQLite表增删改的数据变更时可以试试它。
    • sqlbrite - DBExecutor android ORM数据库 1.使用了读写锁,支持多线程操作数据。 2.支持操作多个数据库 3.支持事务 4.缓存Sql,缓存表结构。
    • Iron - 一个快速和易用的 NoSQL 数据存储框架。
    • hawk - 一个快速和易用的键值对数据存储框架,支持AES加密,支持SharedPreferences或Sqlite存储,支持Gson解析。
    • AndroidKeyValueStore - 一个基于 SQLite 的 Key/Value 存储框架。
    • DBFlow - 一个速度极快,功能强大,而且非常简单的 Android 数据库 ORM 库,为你编写数据库代码,DBFlow 已被证明是最好的解决方案。5 个顶级 Android 开源库

    图像浏览及处理

    • MPAndroidChart - MPAndroidChart是一个功能强大的图表开源类库:曲线图、柱形图、环形图。
    • XCL-Charts - (国人开发)基于Android Canvas来绘制各种图表,使用简便,定制灵活。
    • WilliamChart - 绘制图表的库,支持LineChartView、BarChartView和StackBarChartView三中图表类型,并且支持 Android 2.2及以上的系统。
    • CropImageView - 原生ImageView只支持centerCrop,这里有支持9个方向裁剪的ImageView。
    • SimpleCropView - 一个Android的图片裁剪库,使用简单,易于定制。
    • DrawableView - DrawableView实现画板功能,可以改变画笔粗细,颜色,支持撤销功能。
    • ImageCoverFlow - ImageCoverFlow效果不错的画廊控件 可以设置画廊一次可见图片的张数,和其他第三方Gallery控件不同的是,该控件直接继承自View,而不是sdk中的Gallery控件。
    • FancyCoverFlow - 支持Item切换动画效果的类似Gallery View。改进版本可以无限轮播,可以选择自动轮播或者 手动滑动。
    • BGABanner-Android - demo中演示了引导页、以及通过fresco、android-async-http、gson实现广告条的自动轮播效果(splash 、 ViewPager切换动画) 。
    • RecyclerViewPager - 重写后的 RecyclerViewPager 完全继承自RecyclerView,可以自定义触发翻页的距离,可自定义翻页速度,支持VerticalViewPager,支持Fragment。
    • StickerCamera - 可以说是一个完整的相机、图片编辑的 APP,集成了大部分市面上有的同类 APP 的功能,裁剪、滤镜、贴纸应有尽有。
    • demo6_PhotoRiver - 图片流动显示的demo,可以点击流动中的图片放大显示,双击空白处图片以九宫格排列。
    • glide-transformations - 一个基于Glide的transformation库,拥有裁剪,着色,模糊,滤镜等多种转换效果。
    • ColoringLoading - 一个用纯代码实现自动绘画效果动画的项目。
    • SmartDrawing - 一个轻量级的手绘板,加入了一点截图功能。这只是一个Demo。并不能作为类库,也不是完整的项目工程,仅供学习或参考使用。
    • SlidingCard - 漂亮的卡片滑动翻页特效。
    • LargeImage - 加载大图 可以高清显示10000*10000像素的图片。
    • GalleryFinal - 自定义相册,实现了拍照、图片选择(单选/多选)、 裁剪(单/多裁剪)、旋转、ImageLoader无绑定任由开发者选 择、功能可配置、主题样式可配置。GalleryFinal为你定制相册。
    • AndroidAlbum - AndroidAlbum图片选择器:1、MVP结构设计;2、工厂模式对载图框架进行封装抽象,方便替换其他载图框架;3、闪退日志的搜集,方便揪BUG。
    • uCrop - uCrop 是 Yalantis 推出的又一款力作, 用于裁剪 Android 系统上的图片, 致力于打造最佳的图片裁剪体验。
    • crop-image-layout - crop-image-layout:图片裁切布局。
    • RenderscriptHistogramEqualization - RenderScript :简单而快速的图像处理

    视频音频处理

    • ijkplayer - B站开源的视频播放器,支持Android和iOS。
    • DanmakuFlameMaster - 这里是Android上最好的开源弹幕引擎·烈焰弹幕使。
    • YouTubePlayerActivity - 一个可以播放YouTube视频的Activity,支持屏幕旋转、声音控制、播放失败处理、可以自定义Activity关闭动画以及在横屏播放的时候自动隐藏status bar。
    • AndroidVideoPlayer - 开源的 Android 视频播放器,支持 DLNA。
    • Hide-Music-Player - Hide音乐播放器。
    • JamsMusicPlayer - 是一个功能强大的 Android 开源播放器, 作者将原本收费的项目拿出来开源, 实在令人敬佩。
    • RxAndroidAudior - RxAndroidAudior目前最鲁棒的Android声音录制和播放封装库了,说明
    • Timber - 一款遵循了Material Design并且设计精美的播放器 Timber Music Player,已经在google play上架。
    • LandscapeVideoCamera - 一款功能强大的 Android 视频录制库, 仅允许横屏录制, 提供细粒度控制视频的质量与文件大小。

    测试及调试

    • DevelopQuickSetting - 快速开启关闭开发者设置的工具,提供了app界面和桌面widget,能快速打开关闭overdraw,layout border,gpu rendering,adb wifi,不保存activity实例等功能。
    • decompileandroid - 在线反编译apk文件。
    • jadx - 一个Android反编译神器,不同于常见的dex2jar,这个反编译器生成代码的try/catch次数更少,View也不再是数字id了,可读性更高。
    • Androguard - Androguard使用Python写的一系列逆向工具集,功能很强大哦,对逆向工程感兴趣的小伙伴可以这个系列,教程
    • logger - 一个简单、漂亮、功能强大的Android日志程序。
    • stf - WEB 端批量移动设备管理控制工具 STF 的环境搭建和运行,使用说明 。
    • DecompileApk - 一键反编译 APK,输出所有反编译后的代码、资源,使用方便。
    • AppCrashTracker - 一个异常追踪器,可以生成一个 JSON 格式的日志并可以上传到服务器。

    动态更新热更新

    消息推送与及时通讯

    客户端
    服务器端

    完整项目

    • SuesNews新闻客户端 - 腾飞新闻,一个符合 Google Material Design 的 Android 校园新闻客户端 ,新闻客户端说明 。
    • 新闻客户端 - Android应用源码比较不错的新闻客户端,本项目启动引导登录注册用户中心列表显示文章分页下拉刷新文章收藏更新反馈等新闻客户端常见的功能都有,项目分层合理,代码质量较高。
    • materialistic - Material Desgin风格的Hacker News客户端。
    • Telegram - Telegram 是一款专注于速度、安全的短信息应用,快速、简单、免费。Telegram 支持群组聊天,最高200人,最高支持分享1GB的视频,其它图片等等更是不在话下。而且所有信息全部支持同步。由于频发的隐私问题,所以 Telegram 也很注重通信安全。
    • SuZhouTong-client-for-android - 苏州通android客户端,非常多的UI效果。
    • ele_demo - 仿【饿了么】订餐软件的一个demo。
    • MD-BiliBili - Material Design 版 BiliBili Android 客户端。
    • AisenWeiBo - Aisen微博是新浪微博的第三方客户端,UI遵循Material Design:遵循Material Design、发布多图、离线下载、私信(触屏版、颜色主题切换、手势返回,4.4、5.0状态栏变色、离线编辑,定时发布多图、gif、长微博预览。FrescoDemo 。
    • 快递查询 - 使用了爱查快递www.ickd.cn的api接口,可以查询申通、EMS、顺风、圆通、中通、韵达、天天、汇通、全锋、德邦、宅急送等11种快递的单号信息,支持手动输入单号和扫描单号(红米测试的时候扫描单号有点问题),可以保存单号查询记录方便下次查询,,另外还包括了网络状态判断、快递自动更新、软件更新等功能,项目完美运行,有很详细的中文注释和逻辑分层。
    • SmartCall - SmartCall Android 企业通讯录。
    • Android-高仿大众点评客户端源码 - Android-高仿大众点评客户端源码。
    • 八个Android项目源码 - 八个Android项目源码,大部分功能相信可以在实战项目中直接使用,供大家下载学习,大部分项目是基于Android Studio开发,IDE为Eclipse的童鞋可通过网上教程自行转换,这里就不多说了。大家可以下载下来学习看看! 百度云盘下载地址
    • minicat - 一个简洁的饭否App,支持Android 4.0以上版本。
    • SimplifyReader - 一款基于Google Material Design设计开发的Android客户端,包括新闻简读,图片浏览,视频爽看 ,音乐轻听以及二维码扫描五个子模块。
    • GithubTrends - 是一个用来看查看 GitHub 热门项目的 Android App, 遵循 Material Design, 支持订阅 50 多种编程语言, 9 种颜色主题切换, 可在上面收藏喜欢的项目。
    • jianshi - jianshi简诗是国人开发的一个用于记录文字信息的 Android 完整应用, 作者仅用了一天便将其开发出来, 并将开发的流程记录成文放到了简书上。
    • BuildingBlocks - 积木: 一个以知乎日报作为数据展现内容;以抽屉菜单作为功能扩展入口;依循 Material Design 作为主导设计 UI 的应用。
    • Douya - 开源的 Material Design 豆瓣客户端。
    • TranslateApp - 一个实现『划词翻译』功能的 Android 开源应用。
    • likequanmintvp - 基于MVP的Retrofit2(okhttp3)+rxjava+dagger2+greendao+glide+rtmp直播。该项目系仿全民TV。

    插件

    • Android Studio 插件和工具 - 5个 推荐几个有用的 Android Studio 插件和工具(ButterKnife、selectorChapek、GsonFormat、ParcelableGenerator、LeakCanary)。
    • 8 个最优秀的 Android Studio 插件 - 8 个最优秀的 Android Studio 插件(H.A.X.M(硬件加速执行管理器)、Genymotion、Android Drawable Importer、Android ButterKnife Zelezny、Android Holo Colors Generator、Robotium Recorder、jimu Mirror、Strings-xml-tools)。
    • smalidea - 一款 IntelliJ IDEA/Android Studio 的 smali 插件~ ,Smalidea 无源码调试 Android 应用
    • gradle-fir-plugin - 一个上传apk到fir的gradle插件,使用说明
    • android-butterknife-zelezny - 一个ButterKnife的Android Studio插件, 该插件可以让你手动生成上述注入代码。
    • GradleDependenciesHelperPlugin - Gradle 依赖自动补全插件。
    • android-selector-intellij-plugin - 可以根据指定颜色生成Selector Drawable的插件。
    • 7个最佳的Android模拟器 - 7个最佳的Android模拟器。
    • gradle-android-javadoc-plugin - 可以生成 java doc 的 Gradle 插件。
    • gradle-android-junit-jacoco-plugin - 可以生成代码单元测试覆盖率报告的 Gradle 插件。
    • gradle-android-apk-size-plugin - 可以将 Apk 大小记录到 CSV 文件的 Gradle 插件。
    • 几款实用的Android Studio 插件 - 几款实用的Android Studio 插件:1、android-butterknife-zelezny;2、Gsonformat:可根据json数据快速生成java实体类;3、Android Postfix Completion;4、AndroidAccessors;5、Lifecycle Sorter:根据Activity或者fragment的生命周期对其生命周期方法位置进行先后排序,快捷键Ctrl + alt + K;6、JsonOnlineViewer;7、CodeGlance;8、findBugs-IDEA:帮你一起找bug的;9、ADB WIFI:使用wifi无线调试你的app,无需root权限。
    • Leisure - 闲暇(Leisure)是一款集”知乎日报”、“果壳科学人”、“新华网新闻”以及“豆瓣图书”于一体的阅读类Android应用。 果壳、知乎和豆瓣在国内拥有大量用户,这些社区的用户每天都产生很多高质量内容。闲暇以其简介的风格将这几大社区 的优质内容整合于一体,使得用户能有效地获取这些内容,大大节省了用户的时间。酷安下载地址.
    • LayoutFormatter插件 - 可自动将乱序的布局文件进行重新属性排序并格式化,比如 style 和 android:id 必须排在前面,紧接着 layout、padding,而值设定如 text 只能排在最后。

    出名框架

    • xUtils - xUtils 包含了很多实用的android工具。支持大文件上传,更全面的http请求协议支持(10种谓词),拥有更加灵活的ORM,更多的事件注解支持且不受混淆影响。最低兼容android 2.2 (api level 8)。目前xUtils主要有四大模块:DbUtils模块、ViewUtils模块、HttpUtils模块、BitmapUtils模块。
    • afinal - Afinal是一个android的ioc,orm框架,内置了四大模块功能:FinalAcitivity,FinalBitmap,FinalDb,FinalHttp。
    • ButterKnife - ButterKnife是一个专注于Android系统的View注入框架,让你从此从这些烦人臃肿的代码中解脱出来,ButterKnife–View注入框架5 个顶级 Android 开源库
    • EventBus - EventBus是一款针对Android优化的发布/订阅事件总线。主要功能是替代Intent,Handler,BroadCast在Fragment,Activity,Service,线程之间传递消息.优点是开销小,代码更优雅。以及将发送者和接收者解耦。xBus - xBus - 简洁的EventBus实现。
    • Small - 做最轻巧的跨平台插件化框架,目前已支持Android、iOS以及html5插件。并且三者之间可以通过同一套javascript接口进行通信。
    • LayoutCast - LayoutCast可以在应用不重启的情况下,将res文件夹下的改动直接同步到手机上。使用LayoutCast,可以节约Android开发者的大量编译等待时间,非常适合真机调试界面的时候使用,推荐每一位开发者安装该利器。BUCK很快,但入侵性强,项目改动大,LayoutCast对项目改动小。
    • retrofit - retrofit将 REST API 转换为 Java 接口。5 个顶级 Android 开源库
    • Dagger2 - Dagger 2 是著名的依赖注入库 Dagger 的继承者,我们强烈推荐它。文档5 个顶级 Android 开源库

    其他

    • java-zhconverter - java-zhconverter是一个简繁体中文互换的Java开源类库。
    • joda-time-android - 一个超赞的时间处理的库,Joda-Time ! 他能帮你轻松处理时区,处理时间加减,计算到期时间等等场景下的问题。java版本
    • AssistiveTouch - 配合Android手机沉浸式隐藏虚拟按键后快捷操作 (Nexus5屏幕变大了)。
    • S-Tools - S-Tools一个可以实时查看的CPU状态和手机各类传感器数据,还有一些例如颜色选择、指南针和设备信息等功能。
    • JsBridge - 模仿微信webview的JsBridge,安全方便的实现js和Java的互相调用,主要通过loadUrl和shouldOverrideUrl实现。
    • Sample Of All Samples - 提供大部分Android5.0组件的示例应用。
    • Android-Package-Channel - 美团网做的把Android多渠道打包工具,打包时间缩短到一分钟,python脚本。
    • fast-apk-packaging - Android不需要重新编译打渠道包。
    • android_gradle_script - gradle批量打包脚本,用txt配置一下,就可以支持多个渠道打包,适合国内这种动不动上百个渠道包的环境。目前有个问题,一次打包脚本超过80个就会GC问题。
    • BatchPackApk - 免签名直接打包工具。
    • Android多渠道打包工具Gradle插件 - Android多渠道打包工具Gradle插件。
    • Gradle-Plugin-User-Guide-Chinese-Verision - Gradle插件使用指南中文版。
    • gradle-guide.books - Android Gradle 插件中文指南(GitBook)。
    • Android-package_tool - 该工程用于编译多渠道Android应用,替换相应的标签,然后重新打包,用perl脚本实现。
    • 兰贝壳儿 - Android多渠道打包解决方案(兰贝壳儿),eclipse插件。
    • Algorithms - 常见算法问题的Java实现。
    • java-design-patterns - 一个常见设计模式的java实现。
    • PreferenceInjector - SharedPreference注入开源库,SharedPreference key与某个变量绑定、监听key变化、初始化key都可以通过注解完成。
    • prettytime - 一个实用的人性化的时间显示,比如:几分钟前,几天前。
    • Material-Movies - Material Design 下的Movie App(电影展示),可供学习,或者直接二次开发。
    • Clean-Contacts - 充满技术含量的一个 Contact App(联系人)。
    • RedEnvelopeAssistant - 完全免费开源的抢红包软件、做这个软件纯粹是发现Android的模拟点击十分好玩,然后顺道写了一个,有此基础,可以再扩展其他的很多模拟点击程序 。
    • superCleanMaster - 一键清理开源版,包括内存加速,缓存清理,自启管理,软件管理等。
    • LoadViewHelper - 切换加载中,加载失败,加载成功布局,定义一个LoadViewHelper所有界面通用。
    • android-best-practices - android最佳实践
    • Android最佳实践 - 安卓最佳实践(1):安卓开发–中文。
    • Android最佳实践 - 从Futurice公司Android开发者中学到的经验。 遵循以下准则,避免重复发明轮子。若您对开发iOS或Windows Phone 有兴趣, 请看iOS Good Practices 和 Windows client Good Practices 这两篇文章。
    • 如何安装ACRA - 如何安装ACRA-一个Android应用Crash跟踪系统—在自己的服务器上。
    • Android ocr识别文字介绍 - Android ocr识别文字介绍 。
    • DaVinci - DaVinci是一个适用于Android Wear平台的图片下载和缓存library。
    • Point-of-Android - Android 一些重要知识点解析整理 。
    • AppStoreLibrary - 检测是否在appstore安装了应用,搜索应用。
    • LeakCanary - 利用此类库,排查内存泄露变得非常简单,LeakCanary 中文使用说明LeakCanary: 让内存泄露无所遁形 。
    • anko - 快速开发框架。
    • CommonAdapter - 通过对于原生Adapter的封装,产生了支持ListView,GridView,RecyclerView的简单通用的Adapter。这种方式将item变成独立的“视图”对象,方便操作,又增加了可扩展性。
    • MVPAndroidBootstrap - 一个Android MVP 模式实例项目。
    • json2notification - 一个多功能方便好用的notification通知栏通知开源库。
    • barcodescanner - 一个封装好的基于zxing二维码扫描库。
    • BGAQRCode-Android - 一个可高度定制二维码扫描界面、生成二维码、识别图片二维码库。
    • mqtt - MQTT 协议 3.1.1 中文翻译版。
    • Droid Plugin - DroidPlugin 是360手机助手在Android系统上实现了一种新的插件机制:它可以在无需安装、修改的情况下运行APK文件,此机制对改进大型APP的架构,实现多团队协作开发具有一定的好处。
    • JsonAnnotation - 利用注解自动生成Gson‘s Model的库。
    • WeChatLuckyMoney - 微信抢红包插件。
    • android-support-23.2-sample - support 库在 23.2 版本新增内容示例项目。
    • Sunoath - 基于MVP+Retrofit+Material Design的Demo。
    • ActivityRouter - 一个url打开activity的Router库,支持指定参数类型,支持参数transfer,支持callback。

    好的文章

    收集android上开源的酷炫的交互动画和视觉效果

    交互篇

    1.SlidingUpPanelLayout 项目介绍:他的库提供了一种简单的方式来添加一个可拖动滑动面板(由谷歌音乐推广,谷歌地图和Rdio)你的Android应用程序。 项目地址:https://github.com/umano/AndroidSlidingUpPanel

    2.FoldableLayout 项目介绍:折叠展开点击的ITEM 项目地址:https://github.com/alexvasilkov/FoldableLayout

    3.android-flip 项目介绍:折叠翻页效果 项目地址:https://github.com/openaphid/android-flip

    4.SwipeBackLayout 项目介绍:拖动关闭当前活动窗体 项目地址:https://github.com/ikew0ng/SwipeBackLayout

    5.AndroidImageSlider 项目介绍:一个漂亮的Slider,可以通过自定义达到更好的效果 项目地址:https://github.com/daimajia/AndroidImageSlider

    6.Android-ParallaxHeaderViewPager 项目介绍:栏目展示动画,自动播放,滚动下方列表时候,收缩效果 项目地址:https://github.com/kmshack/Android-ParallaxHeaderViewPager

    7.FragmentTransactionExtended 项目介绍: 项目地址:https://github.com/DesarrolloAntonio/FragmentTransactionExtended

    8.FragmentTransactionExtended 项目介绍:Android按钮可以化身进度 项目地址:https://github.com/dmytrodanylyk/circular-progress-button

    9.floatlabelededittext 项目介绍:简单的实现浮动标签EditText:Android视图使用EditText之上,并提示EditText时填充文本。 项目地址:https://github.com/wrapp/floatlabelededittext

    10.QuickReturn 项目介绍:Showcases QuickReturn view as a header, footer, and both header and footer. 给几乎所有可以滑动的 View 加上快速返回的 Header 或者 Footer,使用非常方便。 项目地址:https://github.com/lawloretienne/QuickReturn

    11.VNTNumberPickerPreference 项目介绍:这是一个易于使用的自定义偏好,打开一个对话框中有许多选择。的值被自动保存,你可以设置默认,min -和maxValue方便地在XML。 项目地址:https://github.com/vanniktech/VNTNumberPickerPreference

    12.CircularFloatingActionMenu 项目介绍:动画,可定制的圆形浮动菜单为Android, 项目地址:https://github.com/oguzbilgener/CircularFloatingActionMenu

    13.NiftyDialogEffects 项目介绍:Dialog的各种打开动画,Nifty Modal Dialog Effects look like this(Nifty Modal Window Effects) 项目地址:https://github.com/sd6352051/NiftyDialogEffects

    14.material-menu 项目介绍:变形安卓菜单,返回和删除按钮 项目地址:https://github.com/balysv/material-menu

    15.AndroidViewHover 项目介绍:我们需要一个悬停视图,显示菜单,显示消息。 项目地址:https://github.com/daimajia/AndroidViewHover

    16.PagedHeadListView 项目介绍:图片轮转切换 项目地址:https://github.com/JorgeCastilloPrz/PagedHeadListView

    17.android-movies-demo 项目介绍:电影列表3级联动,交互 项目地址:https://github.com/dlew/android-movies-demo

    18.NiftyNotification 项目介绍:提示通知栏的各种动画 项目地址:https://github.com/sd6352051/NiftyNotification

    19.SwipeBack 项目介绍:拖动关闭,模范:kicker app(https://play.google.com/store/apps/details?id=com.netbiscuits.kicker) 项目地址:https://github.com/sockeqwe/SwipeBack

    20.AndroidSwipeLayout 项目介绍:类似微信的测拉菜单 项目地址:https://github.com/daimajia/AndroidSwipeLayout

    21.SnackBar 项目介绍: 项目地址:https://github.com/MrEngineer13/SnackBar

    22.Swipecards 项目介绍:A Tinder-like cards effect as of August 2014. You can swipe left or right to like or dislike the content. The library creates a similar effect to Tinder’s swipable cards with Fling animation. 项目地址:https://github.com/Diolor/Swipecards

    23.LDrawer 项目介绍:Android抽屉与材料设计动画图标 项目地址:https://github.com/keklikhasan/LDrawer

    视觉篇

    1.android-stackblur 项目介绍:毛玻璃,朦胧美 项目地址:https://github.com/kikoso/android-stackblur
    DEMO演示:

    2.BlurEffectForAndroidDesign 项目介绍:实现模糊图形技巧 项目地址:https://github.com/PomepuyN/BlurEffectForAndroidDesign

    3.Shimmer-android 项目介绍:闪动的文字 项目地址:https://github.com/RomainPiel/Shimmer-android

    4.WizardPager 项目介绍:它提供了一个示例实现的Android手机上安装一个向导界面 项目地址:https://github.com/TechFreak/WizardPager

    5.FloatingActionButton 项目介绍:浮动的按钮 项目地址:https://github.com/FaizMalkani/Fabulous

    6.JumpingBeans 项目介绍:跳动的文本 项目地址:https://github.com/frakbot/JumpingBeans

    7.android_maskable_layout 项目介绍:可屏蔽的布局 项目地址:https://github.com/christophesmet/android_maskable_layout

    8.activityanimation 项目介绍:Activit之间切换动画 项目地址:https://github.com/flavienlaurent/activityanimation

    9.android-shape-imageview 项目介绍:提供了一组自定义形状的android imageview组件,和一个框架来定义更多的形状。实现着色器和位图基于掩模图像视图。 项目地址:https://github.com/siyamed/android-shape-imageview

    10.RippleView 项目介绍:认为模仿的连锁反应在单击推出了Android L 项目地址:https://github.com/siriscac/RippleView

    11.android-ui 项目介绍:一个小部件可以定义的行为之间的动态变化 项目地址:https://github.com/markushi/android-ui

    12.FlatUI 项目介绍: 项目地址:https://github.com/eluleci/FlatUI

    UI资源

    • fontawesome - Font-Awesome图标。
    • material-design-responsive-design - 深聊Material Design复杂响应式设计,comprehensive-material-design-note - 帮你全面彻底搞定Material design的学习笔记。
    • Iconics - 这是一个可以让你在你的项目中使用几乎任何字体图标的库。默认包含 FontAwesome 和 Material Design Icons 还包含 Meteocons 插件。你甚至可以添加任何你自定义的字体图标(typeface)。

    开发资源

    他人开源总结
    • awesome-java - java库列表,中文版
    • material design 的android开源代码整理 - material design 的android开源代码整理。
    • Android开源项目分类汇总 - Trinea 国内最多好的开源库总结。 Android 开源库获取途径整理
    • Android开源库源码分析 - Trinea 我们从 Android 开始建了了协作项目,从简介、总体设计、流程图、详细设计全方面分析开源库源码。目前第一期完成,包括10个开源库及5个公共技术点的全面介绍。 在线网页

    • 年薪30万的Android程序员必须知道的帖子 - Android开源项目汇总,带效果gif图。

    • Android官方培训课程中文版 - Google Android官方培训课程中文版。

    • GitHub优秀Android开源项目 - GitHub 优秀的 Android 开源项目,很多中文现成项目。

    • Android开发工具及文档 - androiddevtools,收集整理Android开发所需的Android SDK、开发中用到的工具、Android开发教程、Android设计规范,免费的设计素材等。

    • material_design - eoeAndroid Material Design 中文协同翻译。

    • Android Design Support Library - Android Design Support Library 的 代码实验——几行代码,让你的 APP 变得花俏。
    • Android-Open-Sourse-Library - eoeAndroid 开源组件深度剖析: 1.Http请求组件:Volley\android-async-http\okhttp 2.json数据解析组件:Gson\fast-json\json-smart\Jackson。
    • wiki-eoeandroid - wiki-eoeandroid : Android Develop - 开发技术、Android Design - 设计规范、Android Distribute - 软件发布。

    • Java资源大全 - 国外程序员整理的Java资源大全。

    • Android开发技术前线 - Android开发技术前线 ( android-tech-frontier ),一个定期翻译、发布国内外Android优质的技术、开源库、软件架构设计、测试等文章的开源项目,让我们的技术跟上国际步伐。。

    • 10个常用工具类 - Android快速开发系列 10个常用工具类:1、日志工具类L.java;2、Toast统一管理类;3、SharedPreferences封装类SPUtils;4、单位转换类 DensityUtils;5、SD卡相关辅助类 SDCardUtils;6、屏幕相关辅助类 ScreenUtils;7、App相关辅助类;8、软键盘相关辅助类KeyBoardUtils;9、网络相关辅助类 NetUtils;10、Http相关辅助类 HttpUtils。
    • 19个Android开发工具 - 19个Android 开发工具:1、XAppDbg;2、ChkBugReport;3、APKAnalyser;4、AppXplore;5、Memory Analyzer(MAT);6、Eclipse插件SQLiteManger;7、Robotium;8、ACRA;9、Android Layout Binder;10、Spoon;11、Android Content Provider代码生成器;12、AndroidKickStartR;13、Android Holo颜色生成器;14、ActionBar风格生成器;15、Asset Studio;16、little eye labs;17、Droid Inspector;18、Android Button Maker;19、jsonschema2pojo。

    • apkbus - code4app 与 apkbus整理的Android开源资源分类, Android源代码

    • open-source-android-apps - 他人收集的开源代码:Android Wear、Communication 、Education、Finance、Game、Multi-Media、News & Magazines、Personalization、Productivity、Social Network、Tools、Travel & Local。
    • android-developer-tools-list - Android 常用开发工具 (Android Studio 插件、Android 网站、Android 系统性能调优工具、Android测试工具)。
    • Android平台上最好的几款免费的代码编辑器 - Android平台上最好的几款免费的代码编辑器:Quoda、DroidEdit、AWD、AIDE、CppDroid。
    • androidweekly - android技术开发周报,干货很多。
    • awesome-rails-gem - 收集了很多在平时使用 Rails 开发网站时经常会使用到的 Gem, 当中包括的有用户认证系统, API 接口开发, 文件上传, 站内搜索等优秀的 Gem 源。
    • Android_Data - 一份旨在帮助 Android 初学者快速入门以及找到适合自己学习的资料。
    • Android通用流行框架大全 - Android通用流行框架大全。
    • Android 学习资料收集 - 收集整理这份资料主要帮助初学者学习 Android 开发, 希望能快速帮助到他们快速入门, 找到适合自己学习资料, 节省再去收集学习资料时间。
    中文开发博客列表

    来源: TimLiu-Android


    展开全文
  • Android开发常用开源框架

    万次阅读 多人点赞 2018-08-22 11:37:41
    Android开源框架系列 Android开源项目 Android开发常用开源框架2 Android开发常用开源框架3 GitHub上最火的Android开源项目,所有开源项目都有详细资料和配套视频 2017年伊始,你需要尝试的25...

    Android开源框架系列

    开源框架

    开源框架

    开源框架

    https://github.com/JackChan1999/Android_Open_Project

    目录

    Square& JakeWharton

    框架名称 功能描述
    Picasso 一个强大的图片下载与缓存的库
    OkHttp Square出品,一个Http与Http/2的客户端
    Retrofit Square出品,类型安全的Http客户端
    ButterKnife 将Android视图和回调方法绑定到字段和方法上
    sqlbrite 一个响应式的数据查询框架
    keywhiz 一个隐私管理分配系统,能很好地与SOA配合
    LeakCanary 内存泄漏检测工具
    javapoet 动态生成Java源码
    phrase 字符串格式化
    dagger 依赖注入框架
    Flow Flow 将一个应用分成一个逻辑上的 Screen组合,Screen不是任何形式的特殊的库对象,而是一个被创造来代表我们应用视图的普通java对象(POJO)
    Mortar Mortar是一个专注拖拽和依赖注入的库,Mortar 用以下几个不同的部分将一个应用分为可组合的模块:Blueprints, Presenters and a boatload of custom Views
    RxBinding 可以实现数据层与View层的绑定,当数据发生变化,View会自动更新UI
    RxAndroid RxJava的扩展, 优雅地处理异步请求
    timber 对Android的Log类进行封装后的一个Log工具
    ViewPagerIndicator Paging indicator widgets compatible with the ViewPager
    DiskLruCache Java实现基于LRU的磁盘缓存
    Otto Otto 是 Square 公司出的一个事件库 (pub/sub 模式), 用来简化应用程序组件之间的通讯, otto 修改自 Google 的 Guava 库, 专门为 Android 平台进行了优化, 与上面介绍的 EventBus 相比, 两个库各有各的优点, 完全取决于我们自己项目的需求来选择它们哪一个
    javapoet A Java API for generating .java source files 动态生成Java源码

    阿里巴巴

    项目名称 功能描述
    freeline Freeline 是 Android 平台上的秒级编译方案,Instant Run 的替代品,也可以从 Freeline 官方主页来获取更多的信息。Freeline 由蚂蚁聚宝 Android 团队开发,它可以充分利用缓存文件,在几秒钟内迅速地对代码的改动进行编译并部署到设备上,有效地减少了日常开发中的大量重新编译与安装的耗时。Freeline能够为Android开发者节省很多喝杯咖啡的时间
    weex A framework for building Mobile cross-platform UI
    fastjson A fast JSON parser/generator for Java
    Dubbo Dubbo is a distributed, high performance RPC framework enpowering applications with service import/export capabilities
    AndFix AndFix is a library that offer hot-fix for Android App.
    dexposed dexposed enable ‘god’ mode for single android application.

    小米开源项目

    项目名称 功能描述
    Notes 小米便签社区开源版
    FileExplorer MIUI文件管理器社区开源版
    SoundRecorder MIUI录音机社区开源版

    Google开源项目

    项目名称 功能描述
    GCM Google Cloud Messaging 消息推送
    iosched: Google I/O Android App
    android-topeka Google官方给出的material design应用指南
    android-UniversalMusicPlayer Google官方给出的m音乐播放器,支持Android phones, tablets, Auto, Wear and Cast devices
    ExoPlayer An extensible media player for Android
    guava Google Core Libraries for Java 6+
    flexbox-layout FlexboxLayout is a library project which brings the similar capabilities of CSS Flexible Box Layout Module to Android.
    guice 轻量级的依赖注入框架
    gson A Java serialization/deserialization library that can convert Java Objects into JSON and back.
    protobuf Protocol Buffers - Google’s data interchange format
    material-design-icons Material Design icons by Google
    auto Auto 是 Java 生成器源代码集合,包括:AutoFactory - 兼容 JSR-330 的工厂;AutoService - ServiceLoader 的 Provider-configuration 文件;AutoValue - Java 1.6+ 的不可变 value-type 代码生成;Common - Helper 实用工具,用来编写注释处理器
    android-architecture A collection of samples to discuss and showcase different architectural tools and patterns for Android apps

    android-topeka

    categories.pngcategory_history.pngquiz_shakespeare.png

    android-UniversalMusicPlayer

    phone.pngphone_lockscreen.pngphone_fullscreen_player.png

    ExoPlayer

    An extensible media player for Android

    Streaming media with ExoPlayer - Google I/O 2016

    guava

    flexbox-layout

    flex-direction.gif

    1、图片加载,缓存,处理

    框架名称 功能描述
    Android Universal Image Loader 一个强大的加载,缓存,展示图片的库,已过时
    Picasso 一个强大的图片下载与缓存的库
    Fresco 一个用于管理图像和他们使用的内存的库
    Glide 一个图片加载和缓存的库,使用的App有:网易新闻
    GlidePalette Android Lollipop Palette is now easy to use with Glide
    PicassoPalette Android Lollipop Palette is now easy to use with Picasso !
    Picasso-transformations 一个为Picasso提供多种图片变换的库
    Glide-transformations 一个为Glide提供多种图片变换的库


    Picasso是著名的开源组织Square出品的图片处理框架,使用的比较多

    Glide是Google的员工基于Picasso开发,优化的,Android官网推荐使用的图片处理框架

    Fresco是Facebook开源的图片处理框架,真正做到了三级缓存,功能强大,强烈推荐使用

    Android Universal Image Loader是一个老牌的图片处理框架,但是在2015年的9月份已经停止更新维护,所以不推荐使用

    2、图片裁剪

    框架名称 功能描述
    uCrop Image Cropping Library for Android,使用的App有:薄荷,哔哩哔哩
    android-crop 图片裁剪,使用的App有:网易新闻,芒果TV
    cropper 图片裁剪开源框架
    Android-Image-Cropper Image Cropping Library for Android, optimized for Camera / Gallery
    PhotoCropper Android 大图片裁剪终极解决方案
    android-cropimage CropImage Activity from Gallery.apk packaged as a reusable Android library
    PhotoCrop A Library which can be used to crop images in Android similar to Facebook and Telegram,使用的App有:快手

    uCrop

    android-crop

    Android-Image-Cropper

    PhotoCropper

    PhotoCrop

    3、图片选择

    框架名称 功能描述
    MultiImageSelector 图片选择,使用的App有:薄荷
    BGAPhotoPicker-Android Android 图片选择、预览、九宫格图片控件、拖拽排序九宫格图片控件
    TakePhoto 轻量级Android照片处理框架
    RxGalleryFinal Android图片单选/多选、拍照、裁剪、压缩。视频选择和录制。GalleryFinal
    boxing 一个多媒体选择器库,B站出品。可以选择一张或者多张图片,提供预览和裁剪功能。同样支持gif图,选择视频和图像压缩功能。

    boxing

    multi_image.webpsingle_image_crop.webpvideo.webp

    MultiImageSelector

    BGAPhotoPicker-Android

    TakePhoto

    预览图
    运行效果图

    RxGalleryFinal

    4、图片转换,压缩,滤镜

    框架名称 功能描述
    Android-gpuimage 一个开源的基于GPU的图像处理库,提供各种各样的图像处理滤镜,并且支持照相机和摄像机的实时滤镜,使用的App有:快手
    photoview 使用的App有:薄荷,网易新闻
    circleimageview 圆形图片,使用的App有:薄荷
    RoundedImageView 圆形图片,使用的App有:薄荷
    SelectableRoundedImageView Android ImageView that supports different radii on each corner
    android-gif-drawable gif图片,使用的App有:网易新闻,快手
    Luban 可能是最接近微信朋友圈的图片压缩算法
    Compressor Compressor is a lightweight and powerful android image compression library

    Android-gpuimage

    circleimageview

    68747470733a2f2f7261772e6769746875622e636f6d2f68646f64656e686f662f436972636c65496d616765566965772f6d61737465722f73637265656e73686f742e706e67

    RoundedImageView

    SelectableRoundedImageView

    )

    5、高斯模糊,毛玻璃,图片模糊

    框架名称 功能描述
    android-stackblur Android StackBlur is a library that can perform a blurry effect on a Bitmap based on a gradient or radius, and return the result. The library is based on the code of Mario Klingemann.
    Blurry Blurry is an easy blur library for Android
    blurkit-android The missing Android blurring library. Fast blur-behind layout that parallels iOS.
    BlurView Dynamic iOS-like blur of underlying Views for Android
    ImageBlurring Android blurring image(bitmap) by java and jni

    android-stackblur

    68747470733a2f2f7261772e6769746875622e636f6d2f6b696b6f736f2f616e64726f69642d737461636b626c75722f6d61737465722f6172742f73637265656e73686f74312e706e6768747470733a2f2f7261772e6769746875622e636f6d2f6b696b6f736f2f616e64726f69642d737461636b626c75722f6d61737465722f6172742f73637265656e73686f74322e706e67

    Blurry

    blurkit-android

    BlurView

    BlurScreenshot.png

    ImageBlurring

    anim.gif

    缓存

    框架名称 功能描述
    LruCache Android原生API,内存缓存
    DiskLruCache Java实现基于LRU的磁盘缓存
    ASimpleCache 一个为android制定的轻量级的开源缓存框架
    base-diskcache Android 缓存库,融合了DiskLruCache和ASimpleCache

    网络请求

    框架名称 功能描述
    httpclient apache开源的网络请求框架,已过时
    AsyncHttpClient 基于httpclient封装,已过时
    OkHttp Square出品,一个Http与Http/2的客户端
    Retrofit Square出品,类型安全的Http客户端
    Volley Google推出的Android异步网络请求框架和图片加载框架,使用的App有:网易新闻


    从Android 6.0 开始,Google删除了apache的开源网络请求框架httpclient,所以基于httpclient的AsyncHttpClient也不推荐使用了

    Volley适合那些请求频繁但数据量不大的场景,不适用于大数据的请求,比如下载文件

    Android 6.0 后,Android开始使用OkHttp,而Retrofit是一个网络代理框架,可以更简单的使用OkHttp

    网络解析

    框架名称 功能描述
    Gson 一个Java序列化/反序列化库,可以将JSON和java对象互相转换
    Jackson Jackson可以轻松地将Java对象转换成json对象和xml文档,同样也可以将json、xml转换成Java对象
    Fastjson Java上一个快速的JSON解析器/生成器
    HtmlPaser 一种用来解析单个独立html或嵌套html的方式
    Jsoup 一个以最好的DOM,CSS和jQuery解析html的库

    数据库

    框架名称 功能描述
    OrmLite JDBC和Android的轻量级ORM java包
    Sugar 用超级简单的方法处理Android数据库
    GreenDAO 一种轻快地将对象映射到SQLite数据库的ORM解决方案,使用的App有:薄荷,京东
    ActiveAndroid 以活动记录方式为Android SQLite提供持久化
    SQLBrite SQLiteOpenHelper 和ContentResolver的轻量级包装
    android-database-sqlcipher 数据库加密
    storio Beautiful API for SQLiteDatabase and ContentResolver
    realm-java 移动数据库,高性能数据库:一个SQLite和ORM的替换品
    ObjectBox 相信不少人都用过GreenDao和EventBus,这两库都是greenrobot公司出品。ObjectBox也是该公司出品。GreenDao号称是最快的与SQLite的对象关系映射(ORM)。但是自从2011年以来,公司声称发现了许多的缺陷,有很多问题影响了性能。所以开发出另外一套性能最好且易用的NoSQL数据库,优于其他数据库5-15倍的性能。

    依赖注入

    框架名称 功能描述
    ButterKnife 将Android视图和回调方法绑定到字段和方法上
    Dagger2 一个Android和java快速依赖注射器
    AndroidAnotations 快速安卓开发。易于维护
    RoboGuice Android平台的Google Guice 已退役
    guice Google开发的依赖注入框架

    图表Chart

    框架名称 功能描述
    WilliamChart 创建图表的Android库
    HelloCharts 兼容到API8的Android图表库,使用的App有:薄荷
    MPAndroidChart 一个强大的Android图表视图/图形库,使用的App有:春雨医生

    后台处理

    框架名称 功能描述
    Tape 一个轻快的,事务性的,基于文件的FIFO的库
    Android Priority Job Queue 一个专门为Android轻松调度任务的工作队列

    事件总线

    框架名称 功能描述
    EventBus 安卓优化的事件总线,简化了活动、片段、线程、服务等的通信,使用的App有:薄荷
    Otto 一个基于Guava的增强的事件总线
    HermesEventBus 一个基于EventBus的、能在进程间发送和接收event的库,在IPC或者插件开发中非常有用

    响应式编程

    框架名称 功能描述
    RxJava JVM上的响应式扩展
    RxJavaJoins 为RxJava提供Joins操作
    RxAndroid Android上的响应式扩展,在RxJava基础上添加了Android线程调度
    RxBinding 提供用RxJava绑定Android UI的API
    Agera Android上的响应式编程
    RxLifecycle Lifecycle handling APIs for Android apps using RxJava

    Log框架

    框架名称 功能描述
    Logger 简单,漂亮,强大的Android日志工具
    Hugo 在调试版本上注解的触发方法进行日志记录
    Timber 一个小的,可扩展的日志工具

    测试框架

    框架名称 功能描述
    Mockito Java编写的Mocking单元测试框架
    Robotium Android UI 测试
    Robolectric Android单元测试框架


    Android自带很多测试工具:JUnit,Monkeyrunner,UiAutomator,Espresso等

    调试框架

    框架名称 功能描述
    Stetho 调试Android应用的桥梁,使得可以利用Chrome开发者工具进行调试

    性能优化

    框架名称 功能描述
    LeakCanary 内存泄漏检测工具
    BlockCanary 轻松找出Android App界面卡顿元凶
    ACRA Android应用程序崩溃报告
    Google Guava Guava工程包含了若干被Google的 Java项目广泛依赖 的核心库,例如:集合 [collections] 、缓存 [caching] 、原生类型支持 [primitives support] 、并发库 [concurrency libraries] 、通用注解 [common annotations] 、字符串处理 [string processing] 、I/O 等等。 所有这些工具每天都在被Google的工程师应用在产品服务中。
    google protobuf 由google开发,并且在google内部使用。Protobuf的作用和xml、json是一回事,但他是二进制格式,性能好、效率高。ProtoBuf开发者指南

    热修复

    框架名称 功能描述
    tinker 腾讯开源的一个热修复框架
    AndFix alibaba热修复框架
    dexposed alibaba热修复框架

    二维码

    框架名称 功能描述
    Zxing 一个二维码开源框架
    barcodescanner 使用的App有:薄荷
    BGAQRCode-Android 扫描二维码、扫描条形码、相册获取图片后识别、生成带 Logo 二维码、支持微博微信 QQ 二维码扫描样式
    zxing-android-embedded 使用的App有:春雨医生,芒果TV

    多媒体

    框架名称 功能描述
    ijkplayer Bilibili开源的视频播放器
    DanmakuFlameMaster Android开源弹幕引擎·烈焰弹幕使,使用的App有:网易新闻
    Vitamio 一款全能多媒体开发框架,全面支持硬件解码与 GPU 渲染
    FFmpeg 一个基于C语言的多媒体开源框架
    百度媒体云 基于百度视频处理、人脸识别、语音等技术媒体相关的整体解决方案
    ExoPlayer Google开源的视频播放器

     

    KSYStreamer_Android

    金山云Android采集推流SDK(Livestream SDK),支持内置/自定义美颜(Beauty Filter)、美声(Beauty Voice)、软硬编(Software/Hardware Encoder) 、网络自适应(Network Auto Adapt)、混音(Voice Mixer)、混响(Reverb)、画中画(PIP)、连麦(RTC)、动态贴纸(Sticker)

    KSYMediaPlayer_Android

    金山云Android播放SDK(KSYUN Live Streaming player SDK),支持RTMP HTTP-FLV HLS 协议(supporting RTMP HTTP-FLV HLS protocol),直播延时2-3秒(Living delay 2 or 3 seconds),supporting jitter control,software&hardware decode

    KSYLive_Android

    Android播放&推流融合版本[Android Play and LiveStreaming SDK] 直播延时2-3秒(Living delay 2 or 3 seconds),supporting jitter control,software&hardware decode, 支持内置/自定义美颜(Beauty Filter)、美声(Beauty Voice)、软硬编(Software/Hardware Encoder) 、网络自适应(Network Auto Adapt)、混音(Voice Mixer)、混响(Reverb)、画中画(PIP)

    KSYMediaPlayer_Android

    金山云Android播放SDK(KSYUN Live Streaming player SDK),支持RTMP HTTP-FLV HLS 协议(supporting RTMP HTTP-FLV HLS protocol),直播延时2-3秒(Living delay 2 or 3 seconds),supporting jitter control,software&hardware decode

    MD360Player4Android

    Android上全景视频渲染的库

    MD360Player4Android

    汉语转拼音

    框架名称 功能描述
    pinyin4j https://github.com/belerweb/pinyin4j
    TinyPinyin 适用于Java和Android的快速、低内存占用的汉字转拼音库。
    PinyinSearchLibrary The library of PinyinSearch,a Java Library which provide data parsing methods, data matching method and so on for T9 search and Qwerty search.PinyinSearch = T9Search + QwertySearch
    com.pinyin4android 唯品会使用

    下载

    框架名称 功能描述
    MultiThreadDownload 使用的App有:薄荷
    FileDownloader Android 文件下载引擎,稳定、高效、灵活、简单易用
    RxDownload 基于RxJava和Retrofit打造的下载工具, 支持多线程下载和断点续传, 智能判断是否支持断点续传等功能
    file-downloader 安卓上轻量级Http/Https文件下载框架,我的目标是让安卓文件下载越简单越好,尽可能以最简洁明了的方式完成复杂需求。

    动画

    框架名称 功能描述
    facebook:rebound A Java library that models spring dynamics and adds real world physics to your app
    ViewAnimator A fluent Android animation library
    Material-Animations Android Transition animations explanation with examples
    AndroidViewAnimations Cute view animation collection.
    ListViewAnimations An Android library which allows developers to easily add animations to ListView items
    recyclerview-animators An Android Animation library which easily add itemanimator to RecyclerView items.
    RecyclerViewItemAnimators An Android library which provides simple Item animations to RecyclerView items
    AnimationEasingFunctions Android Animation Easing Functions. Let’s make animation more real!
    BaseAnimation BaseAnimation收集网络Android相关动画集合,自定义控件等,近200多种源码
    FragmentAnimations 3D animations for support-v4 Fragment transition.
    AnimatedEditText Androids EditText that animates the typed text. EditText is extended to create AnimatedEditText and a PinEntryEditText.
    ViewPagerTransforms Library containing common animations needed for transforming ViewPager scrolling for Android v13+
    lottie-android Render After Effects animations natively on Android and iOS

    Android选择器类库

    包括日期时间选择器、单项选择器、地址选择器、颜色选择器、文件目录选择器、数字选择器、星座选择器等

    框架名称 功能描述
    material-calendarview material design 风格的日历控件使用的App有:薄荷
    MaterialDateTimePicker Pick a date or time on Android in style,使用的App有:薄荷
    android-times-square Standalone Android widget for picking a single date from a calendar view.
    AndroidPicker 安卓选择器类库,包括日期时间选择器、单项选择器、地址选择器、颜色选择器、文件目录选择器、数字选择器、星座选择器等。
    Android-PickerView 仿iOS的PickerView控件,有时间选择和选项选择并支持一二三级联动效果
    WheelPicker Simple and fantastic wheel view in realistic effect for android.
    Android-FilePicker Photopicker and document picker for android
    NumberPickerView another NumberPicker with more flexible attributes on Android platform
    Android-PickerView-Library Simple PickerView for Android

    Rajawali

    Rajawali是一个用于Android应用的3D引擎,基于 OpenGL ES 2.0。它可以用于普通的应用程序,以及实时壁纸。使用的App有:网易新闻

    aspectj

    AspectJ是一个面向切面的框架,它扩展了Java语言。使用的App有:网易新闻

    Apache Thrift

    可伸缩的跨语言服务开发框架,使用的App有:网易新闻

    Fabric SDK

    https://realm.io/cn/news/oredev-ty-smith-building-android-sdks-fabric/?utm_source=tuicool&utm_medium=referral

    GNU Trove

    Trove 是一个快速、轻量级 Collection 类的集合。Trove 提供所有标准 java.util Collections 类的更快的版本以及能够直接在原语(primitive)(例如包含 int 键或值的 Map 等)上操作的 Collections 类的版本。使用的App有:网易新闻

    Java-WebSocket

    简单的说,websocket就是用来做网页聊天以及手机推送用的。使用的App有薄荷

    以前不管使用HTTP轮询或使用TCP长连接等方式制作在线聊天系统,都有天然缺陷,随着HTML5的兴起,其中有一个新的协议WebSocket protocol,可实现浏览器与服务器全双工通信(full-duplex),它可以做到:浏览器和服务器只需要做一个握手的动作,然后,浏览器和服务器之间就形成了一条快速通道。两者之间就直接可以数据互相传送。这个新的协议的特点正好适合这种在线即时通信。

    现很多网站为了实现即时通讯,所用的技术都是轮询(polling)。轮询是在特定的的时间间隔(如每1秒),由浏览器对服务器发出HTTP request,然后由服务器返回最新的数据给客服端的浏览器。这种传统的HTTP request 的模式带来很明显的缺点 – 浏览器需要不断的向服务器发出请求,然而HTTP request 的header是非常长的,里面包含的数据可能只是一个很小的值,这样会占用很多的带宽。

    而最比较新的技术去做轮询的效果是Comet – 用了AJAX。但这种技术虽然可达到全双工通信,但依然需要发出请求。

    在 WebSocket API,浏览器和服务器只需要要做一个握手的动作,然后,浏览器和服务器之间就形成了一条快速通道。两者之间就直接可以数据互相传送。

    org.eclipse.mat

    内存分析。使用的App有薄荷,网易新闻

    CommonAdapter

    使用的App有:薄荷

    Android-Best-Practices

    JKeyboardPanelSwitch

    Android键盘面板冲突 布局闪动处理方案

    起源,之前在微信工作的时候,为了给用户带来更好的基础体验,做了很多尝试,踩了很多输入法的坑,特别是动态调整键盘高度,二级页面是透明背景,魅族早期的Smart bar等, 后来逐一完善了,考虑到拥抱开源,看业界还是有很多应用存在类似问题。就有了这个repo

    使用的App有:薄荷

    美洽

    最快连接你与顾客 美洽,在线客服软件的漂亮之选

    MeiqiaSDK-Android https://github.com/Meiqia/MeiqiaSDK-Android

    使用的App有:薄荷

    logger

    使用的App有:薄荷

    DeepLinkDispatch

    最常见的应用就是在网页中跳转到App的某个页面,电商类应用可是都用了的。根据data跳转不同的页面

    使用的App有:京东

    Crouton

    Context sensitive notifications for Android

    Bolts-Android 一个底层库集合

    com.arcsoft.livebroadcast

    ReLinker

    Relink是一个加载Android so文件(shared library)的一个库。

    在Android平台上加载本地库的危险性

    kik

    CHAT ON KIK

    Kik lets you connect with friends, 
    groups and the world around you 
    through chat. And now, you can 
    chat with bots too.

    nanohttpd

    嵌入式HTTP服务器 ,NanoHTTPD是一个免费、轻量级的(只有一个Java文件) HTTP服务器,可以很好地嵌入到Java程序中。支持 GET, POST, PUT, HEAD 和 DELETE 请求,支持文件上传,占用内存很小。可轻松定制临时文件使用和线程模型。

    i-jetty

    jetty经过交叉编译移植到android平台的web服务器软件,它可以部署web网站

    com.googlecode.mp4parser

    Sparta

    com.hp.hpl.sparta:XML、DOM、XPath解析器,http://sparta-xml.sourceforge.net/

    JRegex

    JRegex:jregex:正则表达式库

    NativeSubprocess

    唯品会使用

    NativeSubprocess 是一个可以让你在android 程序中创建Linux子进程并执行你的java代码的so库。由于市面上典型的内存清理工具只清理apk 包关联的进程,而不会处理linux原生进程,所以NativeSubprocess 可以做什么您懂的!

    androidquery

    Android-Query(AQuery)是一个轻量级的开发包,用于实现 Android 上的异步任务和操作 UI 元素,可让 Android 应用开发更简单、更容易,也更有趣。

    唯品会使用,https://github.com/androidquery/androidquery

    MarsDaemon

    进程常驻,进程保活

    唯品会使用 https://github.com/Marswin/MarsDaemon

    SA-iSecurity

    SA-iSecurity 客户端安全输入系统,唯品会使用

    口碑推荐平台TapReason

    TapReason提供了一款无广告的App增长解决方案。他们的广告是最值得信赖的,因为这些广告都是来自于好友或同事的推荐。唯品会使用

    ImageViewZoom

    Android ImageView widget with zoom and pan capabilities,春雨医生使用

    LayoutCast

    Cast android code and resource changes to the running application through ADB. 
    Android SDK sucks. It’s so slow to build and run which waste me a lot of time every day.

    把代码和资源文件的改动直接同步到手机上,应用不需要重启。省去了编译运行漫长的等待,比较适合真机调试的时候使用。

    Joda-Time

    JodaTime 提供了一组Java类包用于处理包括ISO8601标准在内的date和time。可以利用它把JDK Date和Calendar类完全替换掉,而且仍然能够提供很好的集成。

    Joda-Time主要的特点包括:

    1. 易于使用:Calendar让获取”正常的”的日期变得很困难,使它没办法提供简单的方法,而Joda-Time能够 直接进行访问域并且索引值1就是代表January。
    2. 易于扩展:JDK支持多日历系统是通过Calendar的子类来实现,这样就显示的非常笨重而且事实 上要实现其它日历系统是很困难的。Joda-Time支持多日历系统是通过基于Chronology类的插件体系来实现。
    3. 提供一组完整的功能:它打算提供 所有关系到date-time计算的功能.Joda-Time当前支持6种日历系统,而且在将来还会继续添加。有着比JDK Calendar更好的整体性能等等。

    https://github.com/JodaOrg/joda-time

    msgpack

    MessagePack是一个基于二进制高效的对象序列化Library用于跨语言通信。 
    它可以像JSON那样,在许多种语言之间交换结构对象;但是它比JSON更快速也更轻巧。 比Google Protocol Buffers还要快4倍

    https://github.com/msgpack/msgpack-java

    scribejava

    ScribeJava 是一个简单的 Java 实现的 OAuth/OAuth2 库。

    Logback

    Logback是由log4j创始人Ceki Gülcü设计的又一个开源日志组件。logback当前分成三个模块:logback-core,logback- classic和logback-access。

    frame-video-view

    No more issues with VideoView

    JakeWharton scalpel

    Jake Wharton,Android开发领域传奇一般的存在,熟悉Android开发的同学应该都听说过,即便没有,也应该会经常用到他主导或参与贡献的开源 项目,他在GitHub上开源了多个Android兼容性、依赖注入相关的知名项目,目前就职Square, 也参与贡献了Square公司开源的诸如Retrofit, okhttp等热门项目。

    Jake大神喜欢以刀命名自己的项目,可能他觉得这能很好的表达它们作为开发利器的犀利程度,不过没准他也很喜欢中国武侠小说呢。

    他最有名的两把刀,一把是Dagger, 匕首,一个依赖注入框架,用来解耦开发中各模块依赖的,最早由他开发与维护,后来转给Google维护;另一把是同样大名鼎鼎的ButterKnife, 黄油刀,有了它,你再也不用写findViewById了,以后有机会给大家详细介绍它们。

    今天的主角是它们不那么知名的小兄弟,Scalpel,这把非常酷炫实用的解剖刀。

    他其实就是实现了一个三维效果的界面布局层次展示,不需要手机连接开发设备,只需要简单几行代码将其集成到你的应用中,即可开启酷炫之旅,它提供的功能包括:

    • 通过setLayerInteractionEnabled(boolean)可开启与关闭此功能。

    • 通过setDrawViews(boolean)可控制是否绘制View, 也就是说它可以仅仅是个简单的布局线框图,也可以是色彩丰富的真实效果图。

    • 通过setDrawIds(boolean)可控制是否显示各控件的Id, 你就能知道你自己正在调试的那个控件到底在哪了?

    • 通过setChromeColor,setChromeShadowColor可自定义线框图的颜色,随你喜欢。

    material-camera

    https://github.com/afollestad/material-camera

    material-camera

    hawk

    Android的安全、简单Key-Value存储

    bugsnag

    Bugsnag crash reporting for Android apps ,Bugsnag exception reporter for Android

    goldengate

    An Android annotation processor for generating type safe JavaScript bindings (Bridges)

    Helpshift

    slf4j

    SLF4J,即简单日志门面(Simple Logging Facade for Java),不是具体的日志解决方案,它只服务于各种各样的日志系统。按照官方的说法,SLF4J是一个用于日志系统的简单Facade,允许最终用户在部署其应用时使用其所希望的日志系统。

    Nuwa热修复

    Nuwa, pure Java implementation, can hotfix your android application.

    Android 热修复Nuwa的原理及Gradle插件源码解析

    megvii人脸识别

    RadiusNetworks

    http://www.radiusnetworks.com/

    https://github.com/RadiusNetworks

    Swiper

    • 开源,免费,强大的移动端触摸滑动插件

    • Swiper常用于移动端网站的内容触摸滑动

    • Swiper3依然拥有progress,这是制作3D切换效果的利器

    • 在Swiper上加些小动画,制作高大上的展示

    Netty

    Netty是由JBOSS提供的一个java开源框架。Netty提供异步的、事件驱动的网络应用程序框架和工具,用以快速开发高性能、高可靠性的网络服务器和客户端程序。

    也就是说,Netty 是一个基于NIO的客户、服务器端编程框架,使用Netty 可以确保你快速和简单的开发出一个网络应用,例如实现了某种协议的客户,服务端应用。Netty相当简化和流线化了网络应用的编程开发过程,例如,TCP和UDP的socket服务开发。

    “快速”和“简单”并不用产生维护性或性能上的问题。Netty 是一个吸收了多种协议的实现经验,这些协议包括FTP,SMTP,HTTP,各种二进制,文本协议,并经过相当精心设计的项目,最终,Netty 成功的找到了一种方式,在保证易于开发的同时还保证了其应用的性能,稳定性和伸缩性。

    cheesesquare:Demos the new Android Design library

    FBReaderJ

    FBReaderJ是一个Android 平台上的电子书阅读器。这是一个Java版的FBReader图书阅读器的克隆。 FBReaderJ支持多种电子书格式: oeb , epub ,和fb2 。直读从zip、tar和gzip等格式

    hawtdispatch

    HawtDispatch is a small ( less than 100k ) thread pooling and NIO handling framework API modeled after the libdispatch API. libdispatch is the API that Apple created to power the Grand Central Dispatch (GCD) technology in OS X. It allows you to more easily develop multi-threaded applications which can more easily scale to take advantage of all the processing cores on your machine. At the same time, its development model simplifies solving many of the problems that plague multi-threaded NIO development.

    ZeroMQ 一个轻量级消息内核

    autobahn-android

    WebSocket & WAMP in Java for Android

    Robotium

    Robotium 是一款国外的Android自动化测试框架,主要针对Android平台的应用进行黑盒自动化测试,它提供了模拟各种手势操作(点击、长 按、滑动等)、查找和断言机制的API,能够对各种控件进行操作。Robotium结合Android官方提供的测试框架达到对应用程序进行自动化的测 试。另外,Robotium 4.0版本已经支持对WebView的操作。Robotium 对Activity,Dialog,Toast,Menu 都是支持的。

    One Step & Big Bang

    锤子科技的一小步,智能手机进化的一大步


    什么是一步(One Step)?

    通过拖拽完成将信息发送至应用或联系人的动作,节省了在不同应用之间切换的诸多步骤,第一次打通了手持设备中应用间的边界

    进一步了解 One Step

    什么是大爆炸(Big Bang)?

    用拇指大面积按压屏幕中的文字,Big Bang 会将你按住的那一段文字全部“炸”开并且按照语义智能拆分成易于选取的独立的字和词,由你随心所欲地选择,并可直接搜索、分享和复制。Big Bang 开创性地解决了在手机这样的小屏幕上难于处理文字的弊端

    展开全文
  • 开源框架介绍

    2014-11-18 13:17:26
    jsoup jsoup 是一款Java 的HTML解析器,可直接解析某个URL地址、HTML文本内容。它提供了一套非常省力的API,可通过DOM,CSS以及类似于jQuery的操作方法来取出和操作数据。

    jsoup

    jsoup 是一款Java 的HTML解析器,可直接解析某个URL地址、HTML文本内容。它提供了一套非常省力的API,可通过DOM,CSS以及类似于jQuery的操作方法来取出和操作数据。

    展开全文
  • 10款顶级web开源框架

    千次阅读 2017-08-05 14:09:27
    作为开发者,我们需要了解一些 宝贵的CSS UI开源框架资源,它们可以帮助我们更快更好地实现一些现代化的界面,包括一些移动设备的网页界面风格设计。本文分享了10个顶级的CSS UI开源框架,有几个确实不错,一起来看...
  • 七大开源blog框架介绍

    2020-08-06 15:37:10
      由于前面一期介绍Hexo搭建个人blog时,一时吹牛皮说了好几种博客框架,最后却只介绍了Hexo(我这张臭 嘴),有小伙伴在公众号询问到了其他的blog框架,由于我个人能力有限,这期就简单介绍下其他几个吧! Hexo、...
  • 开源框架

    2018-08-13 13:26:50
    简介:Spring Framework 是一个开源的Java/Java EE全功能栈(full-stack)的应用程序框架 项目主页:http://www.springsource.org/   * 阿里巴巴分布式服务框架 Dubbo 简介:Dubbo是阿里巴巴内部的SOA服务化...
  • 目前最流行的开源前端框架

    千次阅读 2018-06-12 16:52:52
    经常使用目前互联网比较流行的前端框架,小编根据自己工作中、关注中的一些前端框架进行了梳理,对于现在的开发者来说,都向着全栈方向发展,所以必须掌握些前端比较流行的框架,这样才能增强自己的技术体系框架,也...
  • 2018优秀的开源框架

    千次阅读 2018-06-16 18:53:28
    程序员界有个神奇的网站,那就是github,这个网站集合了一大批优秀的开源框架,极大地节省了开发者开发的时间,在这里我进行了一下整理,这样可以使我们在使用到时快速的查找到,希望对大家有所帮助!1. Retrofit ...
  • web开源框架大汇总

    万次阅读 2016-04-19 22:46:27
    Struts是一个基于Sun J2EE平台的MVC框架,主要是采用Servlet和JSP技术来实现的。由于Struts能充分满足应用开发的需求,简单易用,敏捷迅速,在过去的一年中颇受关注。Struts把Servlet、JSP、自定义标签和信息资源...
  • 深度学习八大开源框架 导读:深度学习(Deep Learning)是机器学习中一种基于对数据进行表征学习的方法,深度学习的好处是用非监督式或半监督式的特征学习、分层特征提取高效算法来替代手工获取特征(feature)。...
  • WPF开源UI界面框架项目

    万次阅读 2018-05-11 11:24:41
    WPF有很多优秀的开源项目,我以为大家都知道,结果,问了很多人,其实他们不知道。唉,太可惜了!先介绍两个比较牛逼的界面库,很牛逼!!!!!!!!!1、MaterialDesignInXamlToolkit Android风格的界面。 2、...
  • 十大流媒体开源项目

    万次阅读 2018-08-21 15:27:09
    2 VLC:开源的跨平台多媒体播放器及框架 http://www.videolan.org/  3 live555:开源流媒体服务项目 http://www.live555.com/  4 EasyDarwin: 企业级的流媒体平台框架 https://github.com/EasyDarwin  5 ...
  • 4 款基于 Django 框架开源软件推荐

    万次阅读 2018-05-12 22:51:09
    Django 是一款高性能的Python web框架,鼓励快速开发和干净、务实的设计。...下面介绍4款基于Django 框架开源项目:1、CMS 建站系统 Django-CmsDjango-Cms 是一款基于 Django 框架开发的 CM...
  • java 开源论坛框架/java web 论坛框架

    千次阅读 2017-11-10 11:17:52
    1.JsForum http://jsforum.sourceforge.net/ 2.JForum http://jforum.net/ 3.Mango BBS http://www.zuidaima.com/share/1712962200603648.htm 4.XLineCode http://www.xlinecode.com/ 5.jsp开发的论坛系统 ...
  • 一个JavaWeb搭建的开源Blog系统,整合SSM框架

    万次阅读 多人点赞 2019-06-20 22:41:29
    搬砖有暇,捣鼓了一个简单的Blog系统(项目地址https://github.com/lenve/JavaEETest/tree/master/MyBlog)...对ssm框架已经可以熟练使用的新手 4.刚刚开始接触JavaWeb的新手可以先收藏下来,具备了以上三个基础再来学
  • 5款优秀的开源的ERP系统

    万次阅读 2019-05-12 20:00:37
    1.jeewms jeewms基于JAVA的仓库管理系统(支持自营和第三方),包含PDA端和WEB端。 1、主要功能 计费配置、仓库配置、基础配置、计费管理、基础资料、仓库管理、月台管理、进货管理、出货管理、退货管理、库内...
  • 八款android日历 [Calendar] 开源项目框架分类总汇:   1.CircleTimerView 2.SlideDateTimePicker时间选择器 3.CalendarListview 4.CollapseCalendarView 5.Material Calendar View ...
  • golang的开源游戏服务器框架

    千次阅读 2018-05-04 19:50:12
    golang的游戏服务器框架有leaf, cellnet, mqant等. 一. 选择 cellnet好像使用callback回调方式, 直接pass. mqant使用了mqtt协议, 感觉写了太多, 有点复杂, 也pass了. 以上两个都没看源码, 就是看介绍的感觉. ...
1 2 3 4 5 ... 20
收藏数 496,538
精华内容 198,615
关键字:

开源框架