- 博客(13)
- 资源 (156)
- 论坛 (10)
- 收藏
- 关注
原创 Android Jetpack架构组件(八)之DataBinding
一、DataBinding简介在传统的Android应用开发中,布局文件通常只负责应用界面的布局工作,如果需要实现页面交互就需要调用setContentView()将Activity、fragment和XML布局文件关联起来。然后通过控件的id找到控件,接着在页面中通过代码对控件进行逻辑处理。在这种传统的开发方式中,页面承担了大部分的工作量,大量的逻辑处理需要在Activity、Fragment中进行处理,因此页面显得臃肿不堪,维护起来也很困难,为了减轻页面的工作量,Google提出了DataBiidin
2020-12-30 17:36:29
91
原创 Android Jetpack架构组件(七)之WorkManager
一、WorkManager简介在Android应用开发中,或多或少的会有后台任务的需求,根据需求场景的不同,Android为后台任务提供了多种不同的解决方案,如Service、Loader、JobScheduler等。后台任务通常用在不需要用户感知的功能,并且后台任务执行完成后需要即时关闭任务回收资源,如果没有合理的使用这些API就会造成电量的大量消耗。为了解决Android电量大量消耗的问题,Android官方做了各种优化尝试,从Doze到app Standby,通过添加各种限制和管理应用程序进程来包
2020-12-28 20:00:06
82
原创 Android Jetpack架构组件(六)之Room
一、Room简介在Android应用开发中,持久化数据的方式有很多,常见的有Shared Preferences、Internal Storage、External Storage、SQLite Databases和Network Connection五种。其中,SQLite使用数据库方式进行存储,适合用来存储数据量比较大的场景。不过,由于SQLite写起来比较繁琐且容易出错,因此,社区出现了各种ORM(Object Relational Mapping)库,如ORMLite、Realm、LiteOrm
2020-12-23 22:42:16
139
原创 Android Jetpack架构组件(五)之Navigation
一、 Navigation简介1.1 Navigation诞生背景采用单个Activity嵌套多个Fragment的UI架构模式,已经被大多数的Android工程师所接受。但是,对于Fragment的管理一直是一件比较麻烦的事情,工程师需要通过FragmentManager和FragmentTransaction来管理Fragment之间的切换。在Android中,页面的切换和管理包括应用程序Appbar的管理、Fragment的动画切换以及Fragment之间的参数传递等内容。并且,纯代码的方式使用
2020-12-21 12:03:18
8066
8
原创 程序员如何构建自己的知识体系
https://time.geekbang.org/column/article/13911?utm_campaign=guanwang&utm_source=baidu-ad&utm_medium=ppzq-pc&utm_content=title&utm_term=baidu-ad-ppzq-title
2020-12-17 17:34:19
261
原创 WEEX跨平台开发环境搭建
一、Weex简介大约两年前,为了写一本Weex的入门书籍,我花了几个月的时间学习了下Weex跨平台相关的知识。Weex 是阿里前端技术团队开源的一套跨平台开发方案,能以Web的开发体验构建高性能、可扩展的 Native 应用。简单来说,在集成了 WeexSDK 之后,开发者就可以使用 JavaScript 语言和前端开发经验来开发移动应用。Weex 渲染引擎与DSL语法层是分开的,Weex 并不强依赖任何特定的前端框架。Weex 应用的页面表示层使用Vue,并遵循 W3C 标准实现了统一的 JSEngi
2020-12-16 19:23:26
181
原创 React Hook实战
一、 Hook 简介1.1 Hook历史在React Hook出现之前的版本中,组件主要分为两种:函数式组件和类组件。其中,函数式组件通常只考虑负责UI的渲染,没有自身的状态也没有业务逻辑代码,是一个纯函数。而类组件则不同,类组件有自己的内部状态,界面的显示结果通常由props 和 state 决定,因此它也不再那么纯洁。函数式组件,类组件有如下一些缺点:状态逻辑难以复用。在类组件中,为了重用某些状态逻辑,社区提出了render props 或者 hoc 等方案,但是这些方案对组件的侵入性太强,并且
2020-12-15 16:43:36
178
原创 Android Jetpack架构组件(四)之LiveData
一、 LiveData简介LiveData是Jetpack架构组件Lifecycle 库的一部分,是一个可感知生命周期的可观察容器类 (Observable)。与常规的可观察类不同,LiveData 具有生命周期感知能力,这意味着它具有感知应用组件(如 Activity、Fragment 或 Service)的生命周期的能力,并且LiveData仅更新处于活跃生命周期状态的应用组件观察者。因此,LiveData具有如下一些特效。LiveData是一个持有数据的容器类,它持有的数据是可以被观察者订阅的
2020-12-13 10:52:11
136
原创 程序员如何打造自己的影响力
https://www.zhihu.com/search?type=content&q=%E7%A8%8B%E5%BA%8F%E5%91%98%E5%A6%82%E4%BD%95%E9%AB%98%E6%95%88%E7%9A%84%E8%BF%9B%E8%A1%8C%E5%AD%A6%E4%B9%A0
2020-12-11 20:07:16
180
1
原创 Android Jetpack架构组件(三)之ViewModel
ViewModel简介在早期的Android开发中,由于应用相对较小,页面相对简单,我们会将数据请求、页面UI处理和数据加载全部放在Activity或Fragment中进行,但是随着项目的迭代,这种开发方式显得越来越臃肿,并且也不易于项目的维护和扩展。此时,借鉴后端的后端程序的开发思路,我们对Android项目进行了分层,典型的有MVC,MVP和MVVM等项目分层,然后每层负责自己的事情即可。以现在流行的MVVM模式为例。Model层:数据层,主要负责数据实体和对数据实体的操作。View层:视图层
2020-12-08 11:40:17
163
1
原创 如何让前端工程师拥有永不过时的技能
常常听人吐槽说,前端技术更新太快、前端的细分太多,程序员太苦、很多东西学不过来。作为一名工作了9年的资深前端⼯程师,我也是深有感触。有时候,面对这种吐槽,我也是一笑而过。不过,面对这些吐槽,我看到的却是前端开发者内心的焦虑。面对越来越卷的行业现状,大多数的开发者都有一股想突破⾃我的想法,不然的话,那和咸⻥有什么区别。首先,对于前端同学不断学习的态度我是很赞赏的,作为一名开发者,不停的学习新技术是每个开发者需要掌握的必备技能。但如果我们从另外⼀个⻆度来看,⼀个⾏业的新东⻄层出不穷,正说明这个⾏业⼀直在⾼速发
2020-12-07 10:48:42
18781
14
原创 程序员如何避免陷入内卷
内卷(involution)是近两年流行起来的一个名词,用来指带人类社会在一个发展阶段达到某种确定的形式后,停滞不前或无法转化为另一种高级模式的现象,现在很多人用它来指代非理性的内部竞争或“被自愿”竞争。内卷化最早出现在美国人类学家格尔茨的著作《农业的内卷化:印度尼西亚生态变迁的过程》一书中,书中描述的是这样一种状态:该地区水稻田是有限的,你不断增加劳动力并不能导致产量的增长,到最后你增加的人力越多,所有人的生活状态反而变得越差。聊到内卷,其实IT行业也是一个⽐较容易出现内卷的⾏业。几年,十多年前,当I
2020-12-03 10:52:55
34902
49
原创 React Navigation 5.x详解
React Navigation简介在多页面应用程序中,页面的跳转是通过路由或导航器来实现的。在RN应用开发过程中,早期的路由可以直接使用官方提供的Navigator组件,不过从0.44版本开始,Navigator被官方从react native的核心组件库中剥离出来,放到react-native-deprecated-custom-components的模块中,并且Navigator组件也不再被官方推荐使用。此时,我们可以选择由React Native社区开源的一款路由导航库React Navigati
2020-12-01 10:57:36
207
ModalViewDemo.zip
2020-11-30
xiangzhihong8的留言板
发表于 2020-01-02 最后回复 2020-04-20
CSDN 2018 博客之星
发表于 2019-01-10 最后回复 2019-01-10
CSDN 2018 博客之星投票
发表于 2019-01-09 最后回复 2019-01-09
CSDN 2018 博客之星投票
发表于 2019-01-08 最后回复 2019-01-08
CSDN 2018 博客之星投票
发表于 2019-01-08 最后回复 2019-01-08
CSDN 2018 博客之星投票
发表于 2019-01-07 最后回复 2019-01-08
CSDN 2018 博客之星投票
发表于 2019-01-06 最后回复 2019-01-06
CSDN 2018 博客之星投票,请投68号
发表于 2018-12-29 最后回复 2018-12-31
CSDN 2018 博客之星投票
发表于 2018-12-29 最后回复 2018-12-29
CSDN 2018 博客之星
发表于 2018-12-29 最后回复 2018-12-29
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人 TA的粉丝