3 wjxbless

尚未进行身份认证

我要认证

如果觉得简单,那就多思考

等级
TA的排名 3w+

Gradle 命令操作

常规操作 – 使用帮助Gradle Wrapper帮助命令行./gradlew -?./gradlew -h./gradlew -help查看所有可执行的Tasks ./gradlew tasks // 会以分组的形式列出所有的Task列表Gradle Help任务./gradlew help --task //显示tasks任务的帮助信息:类型、分组信息、可使用的参数强制刷新依赖./gradlew --refresh-dependencies assemble多任务调用

2020-09-06 23:24:22

Gradle 构建脚本基础

Setting 文件Setting文件大多是为了配置子工程,一个根工程可以包含多个Module也就是子工程,子工程只有在Setting文件里配置类Gradl才会识别,才会在构建的时候被包含进去Build文件每个Project都会有一个Build文件,该文件是project构建的入口,可以在此对project进行配置,配置版本,依赖库等等Project和Tasks一个Project又包含多个Task,即多中操作,比如打包一个jar包,复制一份文件,编译代码等等创建任务的两种方式如下 (两

2020-09-03 00:16:21

View 生命周期分析

View 生命周期View生命周期函数意义onFinishInflateView中所有的子元素均被映射成xml时触发onAttachedToWindow该方法在当前View被附到一个Window上时被调用onMeasureView确定所有子元素的大小onSizeChanged当View大小发生变化时触发onLayout当View分配所有子元素的位置和大小时触发onDrawView渲染内容细节onWindowFocusChanged当窗口

2020-08-02 22:55:41

Jetpack -- App StartUp

定义App StartUp是Google Jetpack新增的一个组件,该组件在App启动时提供了一个直接、高效的方式来初始化组件,同时开发者可以使用App Startup这个组件来简化启动顺序并且显示地设置初始化顺序,通过App Startup这个组件提供了一个ContentProvider来运行所有依赖项的初始化,避免第三方库单独通过ContentProvider进行初始化,从而提高了应用的启动速度,使用效果如下图所示:图片来自 Husayn Hakeem由上面两个图对比可见,App

2020-07-12 22:59:43

简单天气--Kotlin+JetPack+协程+MVVM架构

????????????简单天气简单天气——遵循 Material Design 风格天气APP,使用彩云天气api,基于MVVM模式结合JetPack组件库:LiveData、ViewModel、Lifecycle、Navigation、Room组件以及协程+Retrofit网络请求,使用Kotlin语言开发的一款天气app。项目地址Weather(github) ( ???? ???? ???? 如果觉得该项目对你有帮助留个star再走叭(๑• . •๑))下载体验当前版本(1.0)项目展示

2020-06-23 13:29:00

Jetpack组件结合MVVM架构的Kotlin版本WanAndroid来啦

WanAndroid-Kotlin 项目根据鸿神提供的WanAndroid开放Api来制作的WanAndroidApp, 基本实现了所有的功能,使用kotlin语言开发,基于Material Design+AndroidX + MVVM + ViewModel + LiveData + RxJava + Retrofit等优秀的开源框架,上次开发的 WanAndroidMvvm版本不是很完善,所...

2020-03-28 21:20:48

Kotlin Coroutine + retrofit + Okhttp3 网络请求实战篇

背景最近看到很多项目都将RxJava + Retrofit 替换成了 Coroutine + retrofit,首先Coroutine + retrofit学习成本相对于Rxjava来说较低,而且最重要的一点是Kotlin的下称实现线程切换的代码更加精简,逻辑相对更加清晰一些注意:没有学习过DSL 以及 协程 的可以阅读以下两篇Kotlin DSLKotlin 协程封装RxJava ...

2020-04-19 20:04:17

移动端软件架构设计

什么是架构软件架构是一张开发蓝图,是一个整体的规划,即软件工程的指导方针,软件开发的主要目标如图所示:优秀的软件架构提供迅速响应,扩展灵活;还要具备美观性,代码要简洁,易于阅读、维护、能使维护者对功能产生更清晰的认识,能够快速地处理变化软件架构设计的关注点软件架构设计应该关注 – 变化软件架构设计的本质和目的本质降低软件熵目的:降低因需求增加导致的软件熵增加从而导致的成本增加架构设计模式原则架构的细节需要运用一些经典的设计模式原则,比较常用的原则之一为SOLID原则

2020-05-18 19:11:35

ViewModel源码分析

ViewModel创建ViewModelProvider(this).get(CustomModel::class.java)点进源码查看ViewModelProvider实现// 实际上调用的方法是ViewModelProvider(activity.getViewModelStore, factory)public ViewModelProvider(@NonNull ViewModelStoreOwner owner) { this(owner.getViewModelStore

2020-05-16 21:12:35

Jetpack -- WorkManager

简介WorkManager适合处理一些定时执行的任务,它可以根据操作系统的版本自动选择底层是使用AlarmManager实现还是JobScheduler,降低我们的使用成本,同时他还支持周期性任务、链式任务处理等功能。WorkManager可以在应用退出或者手机重启的情况下,还能够执行之前注册的任务主要功能添加网络可用性或充电状态等工作约束调度一次性或周期性异步任务监控和管理计划...

2020-05-03 19:58:56

Flutter 动画封装

AnimatedWidgetAnimatedWidget对addListener和setState进行了封装,示例如下import 'package:flutter/material.dart';class AnimatedLogo extends AnimatedWidget {  // listenable类似之前写的addListener,此时可以监听a...

2020-04-28 15:24:14

ViewModelScope 简介与使用

简介当在ViewModel中引入协程,如果直接使用CoroutineScope,那么需要在onCleared()方法中取消协程,如果忘记取消协程那么会导致出现内存泄漏等各种问题,此时需要使用ViewModel扩展属性viewModelScope来实现协程作用域。viewModelScope源码分析val ViewModel.viewModelScope: CoroutineScope&...

2020-04-26 20:04:35

Flutter实现层叠滑动效果

实现效果项目地址滑动效果使用PageView滑动来控制当前显示的位置Stack( children: <Widget>[ // 两者堆叠在一起。通过PageView滑动的Controller来控制当前显示的page CardScrollWidget(currentPage), Positioned.fill( child: Page...

2020-04-26 18:17:18

Jetpack -- Navigation

简介NavHost: 是一个存放页面的容器,同时也是一个控制器(Activity /Fragment)NavController:切换页面,需要定制切换路线NavGraph:利用图形化的方式定制切换路线Navigation组件配合ViewModel实现数据共享1.首先创建一个Activity, 两个Fragment以及一个ViewModelfragment的xml如下...

2020-04-25 23:05:27

Flutter 实现自定义侧滑--side menu

实现效果项目源码对flutter中的动画不了解的可以看这篇 Flutter 动画入门实现首先将界面拆解成两部分 menu 和 homePage 使用Stack组件将两者包裹起来(类似使用FrameLayout)return Scaffold( backgroundColor: backgroundColor, body: Stack( children: <W...

2020-04-22 15:25:04

Flutter 动画入门

简介Flutter动画核心类:Animation类,它可以判断当前动画的状态(开始,停止,移动,前进,反向),它是由AnimationController管理的,并通过Listeners和StatusListeners管理动画状态的所发生的变化,我们先对动画有了大体的了解,下面我们对其中提到的类进行逐一学习这次主要学习flutter动画中的 平移,缩放,旋转,透明度,插值器,是为之后的自定义...

2020-04-21 21:59:57

Flutter实现的精致的聊天界面

偶然实现聊天UI的视频教程链接项目源码链接实现效果如下:

2020-04-20 19:39:38

Kotlin--小抄(十一)协程

简介协程是一种并发设计模式,可以使用协程来简化异步代码为什么需要协程顺序执行的代码是同步的,即下面的工作要执行必须等待之前的工作执行完毕,每一行代码都会阻塞当前的线程,显然主线程阻塞会导致明显的卡顿 ,界面呈现速度缓慢或界面冻结,对触摸事件的响应速度很慢,所以我们需要将耗时的任务放到主线程之外运行多线程执行代码,可以在不同的线程上执行顺序的代码,然后通过异步函数完成线程之间的切换工作...

2020-04-18 20:43:21

Kotlin-小抄(十)Kotlin创建DSL

DSL简介DSL (领域特定语言)指的是专注于特定问题领域的计算机语言,即对一个特定问题的方案模型更高层次的抽象表达,使之更加简单易懂。DSL只是问题解决方案模型的外部封装,这个模型可能是一个API库,也可能是一个完整的框架等在Android中比较典型的例子使用DSL框架Anko来替代传统的xml(类似Flutter创建布局的方式)如下代码块:UI {  &nbs...

2020-04-18 17:00:59

Flutter 多语言国际化配置 -- 使用Intl插件

安装插件Android Studio -> File -> Setting -> Plugins -> 搜索Flutter Intl配置项目首先在项目pubspec.yaml中添加如下语句并执行 package getdev_dependencies:... flutter_localizations: sdk: flutter在菜单栏的To...

2020-04-13 20:45:18

查看更多

勋章 我的勋章
  • 领英
    领英
    绑定领英第三方账户获取
  • GitHub
    GitHub
    绑定GitHub第三方账户获取
  • 签到王者
    签到王者
    累计签到获取,不积跬步,无以至千里,继续坚持!
  • 新人勋章
    新人勋章
    用户发布第一条blink获赞超过3个即可获得
  • 阅读者勋章Lv2
    阅读者勋章Lv2
    授予在CSDN APP累计阅读博文达到7天的你,是你的坚持与努力,使你超越了昨天的自己。
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv4
    勤写标兵Lv4
    授予每个自然周发布9篇以上(包括9篇)原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。
  • 学习力
    学习力
    《原力计划【第二季】》第一期主题勋章 ,第一期活动已经结束啦,小伙伴们可以去参加第二期打卡挑战活动获取更多勋章哦。
  • 原力新人
    原力新人
    在《原力计划【第二季】》打卡挑战活动中,成功参与本活动并发布一篇原创文章的博主,即可获得此勋章。