摘要: 基于: api "androidx.lifecycle:lifecycle-extensions:2.2.0" api "androidx.lifecycle:lifecycle-viewmodel-ktx:2.2.0" 1. 为LiveData添加观察者observe //liveData添加观察 阅读全文
posted @ 2020-07-09 16:25 ts-android 阅读(272) 评论(0) 推荐(0) 编辑
摘要: 本文基于下面的依赖对Lifecycle核心源码分析 api "androidx.lifecycle:lifecycle-extensions:2.2.0" api "androidx.lifecycle:lifecycle-viewmodel-ktx:2.2.0" 1.Lifecycle的两种使用方 阅读全文
posted @ 2020-06-30 19:21 ts-android 阅读(359) 评论(0) 推荐(0) 编辑
摘要: 1. Retrofit是怎么将回调函数放到主线程的? 看new Retrofit.Builder()的Builder方法 当返回对象为Call,就会使用默认的DefaultCallAdapterFactory static final class ExecutorCallbackCall<T> im 阅读全文
posted @ 2020-06-28 19:58 ts-android 阅读(267) 评论(0) 推荐(0) 编辑
摘要: 使用Google地图,需要手机支持google服务 (国产手机很多都不支持),如果不支持可以手动安装: 如果还是不能定位,可以安装下google地图App,然后定个位 ,不出意外这样就可以了 集成: 使用: 手动检测手机是否支持google服务: 定位成功后,通过经纬度获取更加详细的地址信息: 阅读全文
posted @ 2019-11-04 09:27 ts-android 阅读(2593) 评论(1) 推荐(1) 编辑
摘要: 代码如下: import 'package:flutter/material.dart'; import 'ListViewTest.dart'; void main(){ runApp( MaterialApp( title: "title", home: new Scaffold( appBar 阅读全文
posted @ 2019-05-20 13:44 ts-android 阅读(1468) 评论(1) 推荐(1) 编辑
摘要: 下面例子的main方法都如下: 常用dialog: 效果图: 自定义dialog: 上面的dialog,其实是把下图的白色区域变成了透明效果,dialog的真正大小,应该是包括设置的透明层区域的,如果点击这个区域,dialog是消失不了了,如果我注释type属性: 对应效果图: 所以如果需要去掉上图 阅读全文
posted @ 2019-04-08 16:50 ts-android 阅读(4244) 评论(0) 推荐(1) 编辑
摘要: 1.加载asset里的图片: 2.加载网络图片: 3.图片的一些属性: 来源于:https://jspang.com/post/flutter2.html#toc-e0d 测试代码: 效果图: 方向性的改变与图片的混合模式: 效果图: 4.为图片添加模糊度,毛玻璃效果: 效果图: 圆角图片: 可查看 阅读全文
posted @ 2019-04-01 17:06 ts-android 阅读(850) 评论(0) 推荐(0) 编辑
摘要: Scaffold 实现了基本的布局结构包含titlebar body 侧滑 悬浮按钮 bottomNavigationBar,基本用到的都会涵盖。 下面是一个例子,包含 1. PageView+底部导航栏的联动 2.点击事件 3.标题栏AppBar 菜单项 PopupMenuButton 4.侧滑 阅读全文
posted @ 2019-04-01 15:53 ts-android 阅读(2364) 评论(0) 推荐(0) 编辑
摘要: AOP是Aspect Oriented Programming的缩写,即『面向切面编程』。 优势:无侵入 比如我希望在所有页面启动的时候加一个埋点~ 希望在所有按钮点击的时候加个快速重复点击的判断~等等 这样在项目中同一种类型的所有代码处, 统一加入逻辑处理的方法,却不需要改动原有代码,叫做 面向切 阅读全文
posted @ 2019-02-20 10:31 ts-android 阅读(94) 评论(0) 推荐(0) 编辑
摘要: Dart语言特性: 在Dart中,一切都是对象,一切对象都是class的实例,哪怕是数字类型、方法甚至null都是对象,所有的对象都是继承自Object 虽然Dart是强类型语言,但变量类型是可选的因为Dart可以自动推断变量类型 Dart支持范型,List<int>表示一个整型的数据列表,List 阅读全文
posted @ 2019-01-28 15:58 ts-android 阅读(966) 评论(0) 推荐(0) 编辑