在开发Android应用时,相信很多同学遇到和我一样的情况,虽然项目刚开始构架时自认为MVC层级分的特别明确,但最终往往是一个Activity有好几百行代码,而且逻辑和UI显示完全混杂在一起,导致后续项目的维护成本巨大...MVP模式将分为两篇博客进行总结: (一)Android开发MVP模式解析 (二)Android开发MVP模式实践 一、MVP简介 我理解的MVP是由MVC优化衍生出来的一种模式,MVP将MVC...Android开发MVP模式实践中的示例将APP分为以下四层。 ? Entities:APP中的业务类。 Use Cases:负责从将Entities中的数据进行处理和包装。...四、总结 MVP将会为你的代码带来如下好处: View和Model之间的耦合度降低,使其更关注自身业务逻辑; 便于单元测试; 代码复用率提高; 代码框架更适用于快速迭代开发; 参考资料: Android...Architecting Android...The Clean way?
今天看到一套好看,好用的Android UI框架,分享给大家。...QMUI Android UI 一个旨在提高 UI 开发效率 快速产生项目 UI 的前端框架 QMUI Web 是一个专注 Web UI 开发,帮助开发者快速实现特定的一整套设计的框架。...框架主要由一个强大的 Sass 方法合集与内置的工作流构成。通过 QMUI Web,开发者可以很轻松地提高 Web UI 开发的效率,同时保持了项目的高可维护性与稳健。...如果你需要方便地控制项目的整体样式,或者需要应对频繁的界面变动,那么 QMUI Web 框架将会是你最好的解决方案。 组成部分 ? ?
Android的四层架构相比大家都很清楚,老生常谈的说一下分别为:Linux2.6内核层,核心库层,应用框架层,应用层。...我今天重点介绍一下应用框架层Framework,其实也是我自己的学习心得。 ...写APP的人都知道,学习Android开发的第一步就是去学习各种各样的API,什么Activity,Service,Notification等。...这些都是framework提供给我们的,那么我就详细的讲讲Framework到底在整个Android架构中扮演着什么角色。 ...用Java语言编写一些规范化的模块封装成框架,供APP层开发者调用开发出具有特殊业务的手机应用。
框架的引入 implementation 'com.youngman:collectionlibrary:1.3.8' Error:Could not find com.android.support...解决办法:在项目根build.gradle中加入 maven { url "maven.google.com" } 一、框架整体模块 二、PullToRefreshRecyclerView的使用...:id="@+id/recycler_rv" android:layout_width="match_parent" android:layout_height="match_parent" />...②框架提供了一个BaseRecycleItemTouchHelper,对于普通的左右滑动删除、拖拽已经实现,如果想自定义可以继承BaseRecycleItemTouchHelper类,再重写相对应的方法进行实现...="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height
概览 本篇主要介绍有关于Lifecycle Lifecycle 是属于 Android Architecture Components 的一个组件, 而Android Architecture Components...是属于Android Jetpack的一部分, 可以让组件自己管理生命周期的逻辑,避免每次调用时的繁琐步骤,用Lifecycle实现的组件可以实现生命周期的监听,数据变化的监听等功能。...关于Android Architecture Components Android Architecture Components 主要包含以下的组件 Room (用于数据持久化) Lifecycle-aware...; import android.arch.lifecycle.Lifecycle; import android.arch.lifecycle.LifecycleOwner; import android.arch.lifecycle.LifecycleRegistry...; import android.os.Bundle; import android.support.annotation.NonNull; import android.support.annotation.Nullable
从纯sdk及framwork的角度看,android中界面框架相关的类型有:Window,WindowManager,View等。下面就以这几个类为出发点来概览下安卓开发的“界面架构”。...再进一步,以ViewTree为整体,再看它和window,系统服务之间的关系可以从整体上把握android中界面框架。...有一点就是,Window是一个框架层的概念,整个android中的“各种界面”是不同类型的Window对象。...} and * {@link android.app.Dialog}...Window和View是界面框架的不同分级,系统级和UI元素,使得界面框架的设计更为清晰。
最近总结了一些常用的安卓框架,与大家分享。 大家有更好,更酷炫的框架欢迎留言。
当你需要在你的应用程序中提供搜索服务时,通过使用Android的搜索框架,应用程序将显示一个自定义搜索对话框来处理用户的搜索请求。...基础知识 Android的搜索框架将代您管理的搜索对话框,您不需要自己去开发一个搜索框,不需要担心要把搜索框放什么位置,也不需要担心搜索框影响您当前的界面。...> android="http://schemas.android.com/apk/res/android" android:label="@string/searchLabel..." android:hint="@string/searchHint"> 上面的配置文件中,除android:hint属性外,其它都是一个搜索对话框必须的配置项,android...> android="http://schemas.android.com/apk/res/android" android:label="@string/searchLabel
android数据库开发 Android中内置了sqlite,但是常用的开发语言java是面向对象的,而数据库是关系型的,二者之间的转化每次都很麻烦(主要是我对sql语言不熟悉)。...而Java Web开发中有很多orm框架,但是想直接放到Android上用有些麻烦。尝试了一下找Android的orm框架,说实话还有好几个。 ...然后有考虑了一下db4o 官网:http://www.db4o.com/ 官网上的介绍说是已经支持Android了,但是我一是觉得包有点大,而是觉得速度有点慢 最后看到的就是ormlite...; import android.database.sqlite.SQLiteDatabase; import android.util.Log; import cn.sdx.model.Hello...; import com.j256.ormlite.dao.Dao; import android.os.Bundle; import android.widget.TextView
Android热补丁技术应该分为以下两个流派: Native,代表有阿里的Dexposed、AndFix与腾讯的内部方案KKFix; Java,代表有Qzone的超级补丁、大众点评的nuwa、百度金融的...这里有个问题很关键,Tinker的亮点使用了QQ空间插桩的效果来规避Android的校验机制。NUWA分析里面有具体介绍。.../tinker-android-loader/src/main/java/com/tencent/tinker/loader ?...到Android5.1. /** * Installer for platform versions 19....由于微信发布的Android_N混合编译与对热补丁影响解析,所以在tinker中完全使用了新的Dex,那样既不出现Art地址错乱的问题,在Dalvik也无须插桩。
由于上一篇框架需要控件重新渲染一次,对于大型项目性能方面运行不够快,针对该问题进行优化 核心思想:自定义组件,在组件的onMeasure中就改变控件的长宽等属性 实现方法:自定义百分比组件,使用该组件自动适配该组件下所有子...> android="http://schemas.android.com/apk/res.../android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com.../tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context...="100px" android:layout_marginLeft="30px" android:background="@android:color/darker_gray
我记得推过一篇文章也是快速开发框架的,今天再来一篇!...1、roboguice 效果 图文无关 2、roboguice 说明 roboguice 是一个不错的开源快速开发框架,采用注解等简洁化代码。 温馨提示:学习无止境,休息更重要。...3、roboguice 使用 例子列表: 使用框架前 使用框架后 //使用框架前 class AndroidWay extends Activity { TextView name;...= getString(R.string.app_name); name.setText( "Hello, " + myName ); } } //使用框架后
基于NIO而不是线程 OkHttp 一个Http与Http/2的客户端 Retrofit 类型安全的Http客户端 Volley Google推出的Android异步网络请求框架和图片加载框架 ---...图表 名称 描述 WilliamChart 创建图表的Android库 HelloCharts 兼容到API8的Android图表库 MPAndroidChart 一个强大的Android图表视图/图形库...Log框架 名称 描述 Logger 简单,漂亮,强大的Android日志工具 Hugo 在调试版本上注解的触发方法进行日志记录 Timber 一个小的,可扩展的日志工具 ---- 13....测试框架 名称 描述 Mockito Java编写的Mocking单元测试框架 Robotium Android UI 测试 Robolectric Android单元测试框架 Android自带很多测试工具...:JUnit,Monkeyrunner,UiAutomator,Espresso等 ---- 14.调试框架 名称 描述 Stetho 调试Android应用的桥梁,使得可以利用Chrome开发者工具进行调试
AValidations 是 一个免费的、开源的、简易的、遵循Apache Licence 2.0开源协议发布,超级容易扩展的android表单验证的小框架 使用方法: 1.下载zip或者克隆AValidations...> android="http://schemas.android.com/apk/res/android"> android:drawable="@drawable.../red_btn_normal" android:state_focused="true" android:state_pressed="false"/> android:drawable=..."@drawable/red_btn_selected" android:state_focused="true" android:state_pressed="true"/> android...item android:drawable="@drawable/red_btn_disable" android:state_enabled="false"/> android:drawable
KJFrameForAndroid 又叫KJLibrary,是一个android的orm 和 ioc 框架。...同时封装了android中的Bitmap与Http操作的框架,使其更加简单易用;KJFrameForAndroid的设计思想是通过封装Android原生SDK中复杂的复杂操作而达到简化Android应用级开发...同时,KJFrameForAndroid是免费的、开源的、简易的、遵循Apache Licence 2.0开源协议发布的android应用开发框架,总共分为五大模块:UILibrary,UtilsLibrary...1、UILibrary模块 UILibrary包含两个部分Widget(控件)、Topology(Android框架结构继承链) UILibrary -> Widget控件部分 主要封装了常用的UI控件...4、DBLibrary模块 包含了android中的orm框架,一行代码就可以进行增删改查。支持一对多,多对一等查询。
1、Ultimate 效果 2、Ultimate 说明 Ultimate 框架目前主要包含的功能有View Injection,ORM,异步网络请求和图片加载,自动化脚本测试,磁盘LRU等功能.同时提供了类似于...Ultimate 框架是如图flask框架(python)那样包含了许多其他的开源项目的框架,比如 Butter Knife,Asynchronous Http Client for Android,...Universal Image Loader for Android 还有许多我在 Readme 或者 updatelog中提到的....UltimateAndroid框架需要API21版本的Android SDK来进行编译,如果使用了gradle的project,android studio的版本需要大于0.9.0。
{ int statusBarHeight = context.getResources().getIdentifier("status_bar_height", "dimen", "android...; } //上面方法获取不到的话,使用反射资源获取 return getStatusBarHeightByAndroid(context, "com.android.internal.R...//获取DecorView中id为content的布局 final ViewGroup context = (ViewGroup) activity.findViewById(android.R.id.content...view.getPaddingBottom(), view.getPaddingLeft(), view.getPaddingRight()); } } } 最后使用方法,在合适的地方初始化框架
一张图 纵横世界 ,给你一个完整的android启动过程框架 ,还你一个清晰明了的思路。...觉得太花哨,那就来个黑白版: android本身网上讲解的启动流程很多,那为什么我还要画这张图呢?
以下框架是AC在开发过程中经常会使用到的一些好的框架。列在这里做一个小小的总结,包含但不限于此。...https://github.com/ReactiveX/RxAndroid 消息通信 EventBus 组件间的消息通信 https://github.com/greenrobot/EventBus 注解框架...butterknife View注解框架 https://github.com/JakeWharton/butterknife dagger Android和Java的依赖注入框架 https://github.com...图片、视频、文件、音乐、通讯录选择器 https://github.com/coomar2841/android-multipicker-library Android-Image-Cropper 图片裁剪库...mvp架构学习实例 https://github.com/android10/Android-CleanArchitecture android-architecture google推荐的学习mvp
最常用的字节码处理框架有 AspectJ、ASM 等等,它们的相同之处在于输入输出都是 Class 文件。...而 AspectJ 作为 Java 中流行的 AOP(aspect-oriented programming) 编程扩展框架,其内部使用的是 BCEL框架 来完成其功能。...ArgusAPM 性能监控框架来全面分析下 AOP 技术在性能监控方面的应用。...within(com.argusapm.android.aop.*) && !...@Pointcut("execution(* android.app.Application.onCreate(android.content.Context)) && args(context)")
领取专属 10元无门槛券
手把手带您无忧上云