android开发框架

Android 100多个Styles快速开发布局XML,一行搞定View属性,一键统一配置UI..

风流意气都作罢 提交于 2020-02-28 12:00:26
Android开发中大量使用XML代码作为界面的布局,使用styles能大幅精简XML代码。 比如下面这个界面从AlertDialog至PlacePickerWindow有19个样式相同的跳转Item,点击后颜色加深并跳转界面。 使用styles前XML代码是这样的(838行): 1 <? xml version="1.0" encoding="utf-8" ?> 2 < LinearLayout xmlns:android ="http://schemas.android.com/apk/res/android" 3 android:layout_width ="fill_parent" 4 android:layout_height ="fill_parent" 5 android:background ="@color/activity_bg" 6 android:orientation ="vertical" 7 android:splitMotionEvents ="false" > 8 9 < RelativeLayout 10 android:id ="@+id/rlDemoMainTopbar" 11 android:layout_width ="fill_parent" 12 android:layout_height ="@dimen/topbar_height

安卓开发电商mvp框架和流式布局,搜索框

假如想象 提交于 2019-12-24 10:19:23
在我看来mvp框架其实是mvc框架变种产品。讲原本的activity/fragment的层次划分成present层和view层。m还是原来的实体层用来组装数据,p层则用来隔离view层,被称为中介层,v层还是view层主要用来展示数据的层。如下图所示: 有了present层之后呢?view层就专心在activity/fragment里面主要去处理视图层和维护自己的生命周期,将业务逻辑委托给present层,present层作为实体层和视图层的中介。实体层和视图层不直接进行交互,而是通过委托给persent层进行交互,这样做的好处是: 分离了视图逻辑和业务逻辑,降低了耦合 Activity只处理生命周期的任务,代码变得更加简洁 视图逻辑和业务逻辑分别抽象到了View和Presenter的接口中去,提高代码的可阅读性 Presenter被抽象成接口,可以有多种具体的实现,所以方便进行单元测试 把业务逻辑抽到Presenter中去,避免后台线程引用着Activity导致Activity的资源无法被系统回收从而引起内存泄露和OOM 方便代码的维护和单元测试。 以下主要展示的功能和框架有: MVP架构+基类+Volley封装 底部标签与Fragment的联动 arguments动态传值 接口回调 js交互,有参无参调用,弹框 自定义全局异常捕获 base封装Activity和Fragment

跨平台技术演进及Flutter未来

纵饮孤独 提交于 2019-12-02 14:38:21
一、移动跨平台技术演进 1. 引言 移动互联网发展十余年,伴随着 Android、iOS 等智能手机的不断普及,移动端已逐步取代 PC 端,成为兵家必争之地。正所谓“得移动端者得天下”,移动端已成为互联网领域最大的流量分发入口,一大批互联网公司正是在这大趋势下崛起。 2. 为什么需要跨平台技术 伴随着移动互联网的高速发展,公司间竞争越来越激烈,如何将好想法快速落地、快速试错,成为备受关注的问题。提升研发效率、缩短研发周期,保障产品快速试错并能快速迭代新功能,让新产品新功能以最快的速度同时抵达 Android、iOS 等多端用户。 众所周知,Android 应用采用 Java 或 Kotlin 编写,iOS 应用采用 Objective-C 或 Swift 编写,Web 端采用 HTML /CSS/JavaScript 编写。当需要开发支持多端的应用,每一端都需要独立研发、测试,一直到上线,以及后续的维护工作,工作量成倍增涨,势必延长研发周期。 为了解决多端独立开发的问题,跨平台技术便应运而生,各大互联网公司为此都投入大量人力,于是出现了各种跨平台技术框架, 面对移动领域的跨平台技术方案的层出不穷,又该如何做技术选型呢? 3. 移动端技术选型 作为移动端的跨端技术方案,所关注无外乎以下这4个方面:研发效率、动态性、多端一致性、性能体验。 研发效率:最大化代码复用

跨平台技术演进及Flutter未来

≯℡__Kan透↙ 提交于 2019-12-02 11:21:26
引言 移动互联网发展十余年,伴随着 Android、iOS 等智能手机的不断普及,移动端已逐步取代 PC 端,成为兵家必争之地。正所谓“得移动端者得天下”,移动端已成为互联网领域最大的流量分发入口,一大批互联网公司正是在这大趋势下崛起。 为什么需要跨平台技术 伴随着移动互联网的高速发展,公司间竞争越来越激烈,如何将好想法快速落地、快速试错,成为备受关注的问题。提升研发效率、缩短研发周期,保障产品快速试错并能快速迭代新功能,让新产品新功能以最快的速度同时抵达 Android、iOS 等多端用户。 众所周知,Android 应用采用 Java 或 Kotlin 编写,iOS 应用采用 Objective-C 或 Swift 编写,Web 端采用 HTML /CSS/JavaScript 编写。当需要开发支持多端的应用,每一端都需要独立研发、测试,一直到上线,以及后续的维护工作,工作量成倍增涨,势必延长研发周期。 为了解决多端独立开发的问题,跨平台技术便应运而生,各大互联网公司为此都投入大量人力,于是出现了各种跨平台技术框架,面对移动领域的跨平台技术方案的层出不穷,又该如何做技术选型呢? 移动端技术选型 作为移动端的跨端技术方案,所关注无外乎以下这4个方面:研发效率、动态性、多端一致性、性能体验。 研发效率:最大化代码复用,减少多端差异的适配工作量,降低开发成本,专注业务开发,实现

【转】值得推荐的android开发框架简介

ぃ、小莉子 提交于 2019-12-02 05:18:46
第一个:Afinal 项目地址: https://github.com/yangfuhai/afinal 功能:一个android的ioc,orm框架,内置了四大模块功 能:FinalAcitivity,FinalBitmap,FinalDb,FinalHttp。通过finalActivity,我们可以通过注解的 方式进行绑定ui和事件。通过finalBitmap,我们可以方便的加载bitmap图片,而无需考虑oom等问题。通过finalDB模块,我们一行 代码就可以对android的sqlite数据库进行增删改查。通过FinalHttp模块,我们可以以ajax形式请求http数据。 优点:功能比较全面,文档完善。 缺点:没有项目demo,框架的时间比较久,代码冗余比较多(这也是无可避免的),文档比较老跟不上代码更新进度 第二个: KJFrameForAndroid框架 项目地址: https://github.com/kymjs/KJFrameForAndroid 功能:一个android的orm 和 ioc 框架。同时封装了android中的Bitmap与Http操作的框架,使其更加简单易用; KJFrameForAndroid开发框架的设计思想是通过封装Android原生SDK中复杂的复杂操作而达到简化Android应用级开发,最终实 现快速而又安全的开发APP

学习Flutter从0开始

﹥>﹥吖頭↗ 提交于 2019-12-01 12:20:10
一. 认识Flutter 1.1. 什么是Flutter 先看看官方的解释: Flutter is Google’s UI toolkit for building beautiful, natively compiled applications for mobile , web , and desktop from a single codebase. 简单翻译一下: Flutter是谷歌主导研发的一个UI工具包,可以利用它,使用非常简洁的代码开发出漂亮的、原生的应用程序,无论是在移动端、Web端还是桌面端。 嗯,加入个人理解: Flutter就是一个UI开发工具包,可以开发各个平台,但是目前最活跃的地方依然 移动平台,虽然他也支持Web、桌面,甚至也将是 Google Fuchsia 下开发应用的主要工具。 但是现在,它只是活跃于移动端。 那么,目前移动平台主要有哪些呢? 没错,iOS、Android ! 于是,我们可以简单概述一下Flutter: Flutter目前被应用最广泛的就是作为iOS、Android跨平台解决方案,而且可以说是目前最优秀的跨平台解决方案。 它不仅仅性能 优越 ,而且开发非常 高效 ! 为什么需要这样一种跨平台解决方案呢? 待会儿我会讲到移动端开发的历史(各端独立开发到跨平台开发的出现)以及在整个历史进程中出现的各个痛点,直到Flutter的出现。

Android Jetpack介绍

送分小仙女□ 提交于 2019-11-29 17:09:48
作为一名Android开发者,在APP开发过程中,对于生命周期管理、数据管理、多线程处理、后台任务、导航、页面等功能开发存在各种各样的问题。Google针对这一开发痛点,创建了一个组件库,这就是 Jetpack 。 自2018 Google I/O发布Jetpack以来,已经补充了针对Android UI、行为、架构、基础四个领域涉及共30个库,框架图如下: Jetpack组件库框架图 Jetpack 使用优点 Jetpack可帮助开发人员更轻松地编写高质量的应用程序,其优点有: 提升开发效率 组件可以单独使用,也可以结合起来使用,同时加入Kotlin语言功能,提高开发效率 消除样板代码 Android Jetpack管理繁琐的活动,如后台任务,导航和生命周期管理,开发者使用Jetpack库可以将样板代码处理的逻辑交由库去完成,专注于具体业务逻辑实现,提升代码质量 构建高品质程序 围绕现代设计实践,使用Jetpack组件可以减少崩溃,减少内存泄漏,并提供向后兼容性。(Jetpack逐步将库迁移到androidx.*包中,与android 平台API隔离,这样能够带来更频繁的更新,开发者可以始终保持最新和最好的Jetpack组件版本使用) Jetpack 组件介绍 Jetpack提供了基础、架构、行为、UI四个领域的库,其中: 基础组件 提供跨领域功能 架构组件