在开发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
从纯sdk及framwork的角度看,android中界面框架相关的类型有:Window,WindowManager,View等。下面就以这几个类为出发点来概览下安卓开发的“界面架构”。...再进一步,以ViewTree为整体,再看它和window,系统服务之间的关系可以从整体上把握android中界面框架。...有一点就是,Window是一个框架层的概念,整个android中的“各种界面”是不同类型的Window对象。...} and * {@link android.app.Dialog}...Window和View是界面框架的不同分级,系统级和UI元素,使得界面框架的设计更为清晰。
概览 本篇主要介绍有关于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
当你需要在你的应用程序中提供搜索服务时,通过使用Android的搜索框架,应用程序将显示一个自定义搜索对话框来处理用户的搜索请求。...基础知识 Android的搜索框架将代您管理的搜索对话框,您不需要自己去开发一个搜索框,不需要担心要把搜索框放什么位置,也不需要担心搜索框影响您当前的界面。...> <searchable xmlns:android="http://schemas.android.com/apk/res/android" android:label="@string/searchLabel..." android:hint="@string/searchHint"> 上面的配置文件中,除android:hint属性外,其它都是一个搜索对话框必须的配置项,android...> <searchable xmlns:android="http://schemas.android.com/apk/res/android" android:label="@string/searchLabel
由于上一篇框架需要控件重新渲染一次,对于大型项目性能方面运行不够快,针对该问题进行优化 核心思想:自定义组件,在组件的onMeasure中就改变控件的长宽等属性 实现方法:自定义百分比组件,使用该组件自动适配该组件下所有子...> <com.aruba.screenlibrary.layout.PercentLinearLayout xmlns: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
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也无须插桩。
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 的ORM 框架也就孕育而生了,现在市面上主流的框架有 OrmLite、SugarORM、Active Android、Realm 与 GreenDAO。...与 ORMLite 等使用注解方式的 ORM 框架不同,greenDAO 使用「Code generation」的方式,这也是其性能能大幅提升的原因。...> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="...android:layout_width="wrap_content" android:layout_height="wrap_content" android...> <ListView android:id="@android:id/list" android:layout_width
本文实例为大家分享了Android刷新加载框架的具体代码,供大家参考,具体内容如下 1.定义一个接口控制下拉和上拉 public interface Pullable { /** * 是否可下拉...<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/head_view..." android:layout_width="match_parent" android:layout_height="match_parent" android:background="@android..." android:layout_centerInParent="true" android:textColor="@android:color/white" android:textSize="16sp..." android:layout_centerInParent="true" android:textColor="@android:color/white" android:textSize="16sp
不用慌, 它就等同于: findViewById IOC框架 Inversion of Control,英文缩写为IOC,字面翻译:控制反转。
灵活的降级策略,每次跳转都会回调跳转结果,避免StartActivity()一旦失败将会抛出运营级异常 自定义拦截器,自定义拦截顺序,可以对路由进行拦截,比如登录判断和埋点处理 支持依赖注入,可单独作为依赖注入框架使用...二、ARouter框架 ? 上图是根据 ARouter 一次基本的路由导航过程,整理的基本框架图,涉及到主要流程,下面进行详细介绍。...三、路由管理 1.注册 通过注解,在编译时收集使用了注解的类或变量并经过Android Process Tool处理进行统一管理。...关于注解处理的源码详解见 阿里路由框架–ARouter 源码解析之Compiler 。 ? 以官方demo为例,通过注解处理器,按照固定的命名格式生成映射文件。....app.Fragment) { ((android.support.v4.app.Fragment) instance).setArguments(postcard.getExtras()); } return
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。
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框架,一行代码就可以进行增删改查。支持一对多,多对一等查询。
基于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开发者工具进行调试
我记得推过一篇文章也是快速开发框架的,今天再来一篇!...1、roboguice 效果 图文无关 2、roboguice 说明 roboguice 是一个不错的开源快速开发框架,采用注解等简洁化代码。 温馨提示:学习无止境,休息更重要。...3、roboguice 使用 例子列表: 使用框架前 使用框架后 //使用框架前 class AndroidWay extends Activity { TextView name;...= getString(R.string.app_name); name.setText( "Hello, " + myName ); } } //使用框架后
AValidations 是 一个免费的、开源的、简易的、遵循Apache Licence 2.0开源协议发布,超级容易扩展的android表单验证的小框架 使用方法: 1.下载zip或者克隆AValidations...> <item android:drawable
领取专属 10元无门槛券
手把手带您无忧上云