首页
学习
活动
专区
工具
TVP
发布

developerHaoz 的安卓之旅

专栏作者
45
文章
37781
阅读量
10
订阅数
如何构建Android MVVM应用程序
Databinding 是一种框架,MVVM是一种模式,两者的概念是不一样的。我的理解DataBinding是一个实现数据和UI绑定的框架,只是一个实现MVVM模式的工具。ViewModel和View可以通过DataBinding来实现单向绑定和双向绑定,这套UI和数据之间的动态监听和动态更新的框架Google已经帮我们做好了。在MVVM模式中ViewModel和View是用绑定关系来实现的,所以有了DataBinding 使我们构建Android MVVM 应用程序成为可能。   之前看了很多关于DataBinding的博客和相关的一些Demo,大多数就是往xml布局文件传入一些数据,然后把这些数据绑定到控件上( 如TextView binding:text=“@{user.name} ),接着在这些控件上(如Button binding:setOnClickListener="@{user.listener}") 设置一些事件到控件上,基本讲述都是DataBinding的基本用法。但是并没有人告诉你把一个onClickListener 写到一个类并把这个listener绑定到xml里面上是不是不太好,也没有人告诉你这个和xml布局绑定的ViewModel类应该放哪些数据,应该做什么事?应该如何设计?更是很少有博文来告诉你在Android 中如何通过Data Binding 去构建MVVM 的应用框架。这也就是是本篇文章的重点。接下来,我们先来看看什么是MVVM,然后在一步一步来设计整个应用程序框架。
developerHaoz
2022-05-13
1.2K0
Android安卓面试复盘
总共是面了8家,(2小,4中,2大厂) 小的都拿下了,4中里3个一轮游,1个三轮游。2大的都谈薪了。
developerHaoz
2022-05-13
3940
Android自定义Dialog
在开发中,我们经常会用到一些自定义布局的对话框。每次自己写的时候,经常会遇到一些细小的问题需要上网来解决,所以干脆把经常遇到的几个问题总结了一下,这样就可以愉快自定义dialog了。本文主要总结的问题有:1.对话框的大小、位置 2.对话框的主题
developerHaoz
2022-05-13
1K0
写给Android App开发人员看的Android底层知识(8)
 PMS,全称PackageManagerService,是用来获取Apk包的信息的。
developerHaoz
2022-05-13
2750
Android向系统日历添加日程事件
在项目开发过程中,有时会有预约提醒、定时提醒等需求,这时我们可以使用系统日历来辅助提醒。通过向系统日历中写入事件、设置提醒方式(闹钟),实现到达某个特定的时间自动提醒的功能。这样做的好处是由于提醒功能是交付给系统日历来做,不会出现应用被杀情况,能够做到准时提醒。 一般来说实现向系统日历中读写事件一般有以下几个步骤: (1)需要有读写日历权限; (2)如果没有日历账户需要先创建账户; (3)实现日历事件增删改查、提醒功能;
developerHaoz
2022-05-13
2.7K0
Android TextView 缩进指定距离
第一感觉就是 so so easy 嘛,加个标签,费不了什么事儿。第一印象记得 Spanable 可以更改对应文字的颜色和背景,设置设置点击事件。
developerHaoz
2022-05-13
6390
校招面试指南 - 100% 通过率的面试分享
大家好,我是 developerHaoz,一名 96 年的腾讯 Android 工程师。双非本科,校招拿过腾讯、阿里等多家头部互联网公司的 offer,而且面试通过率 100%,曾指导多位师弟师妹拿到包括阿里、拼多多、头条、bigo 等校招 offer。近期也拿了腾讯考核的最高绩效,在面试和职场算是有些自己的心得,今天给大家分享下校招面试相关的方方面面。
developerHaoz
2021-06-29
1.3K0
一起来看看 Android 官推 kotlin-first 的图片加载库
Coil 是一个非常年轻的图片加载库,在 2020 年 10 月 22 日才发布了 1.0.0 版本,但却受到了 Android 官方的推广,在 Android Developers Backstage 这个博客中专门聊过一期。推广的原因比较简单:一方面是这个库确实做得很好,另一方面是这个库完全是用 Kotlin 写的,而且运用了大量 Kotlin 的特性,尤其是协程。所以 Google 嘴上说着不会放弃 Java,但实际上咱们都懂的。
developerHaoz
2021-04-09
7820
Android CR 案例集 & 最佳实践
最近两个月一直在做团队 CR Owner 机制的落地,以及 CR 氛围和文化的提升,对于 CR 逐渐有了一些更深的理解以及可落地的方案
developerHaoz
2020-12-11
7370
Android 一款十分简洁、优雅的日记 APP
先来一波日记的展示吧,虽然内容比较简单,但还是设计的非常用心的,因此这款 APP 还是非常简洁和优雅的
developerHaoz
2019-02-22
6030
Android Volley 源码解析(三),图片加载的实现
在上一篇文章中,我们一起深入探究了 Volley 的缓存机制,通过源码分析对缓存的工作原理进行了了解,这篇文章将带大家一起探究「Volley 图片加载的实现」,图片加载跟缓存还是有比较紧密的联系的,建议大家先去看下:Android Volley 源码解析(二),探究缓存机制。
developerHaoz
2018-08-20
8080
Android Volley 源码解析(二),探究缓存机制
在上一篇文章中,带大家阅读了 Volley 网络请求的执行流程,算是对 Volley 有了一个比较清晰的认识,从这篇文章开始,我们开始针对 Volley 的某个功能进行深入地分析,慢慢将 Volley 的各项功能进行全面把握。
developerHaoz
2018-08-20
6870
关于 Android 进程和线程,你必须了解的东西
按照操作系统中的描述。线程是 CPU 调度的最小单元,同时线程也是一种有限的资源。而进程一般指一个执行单元,在 PC 和移动设备上指一个程序或者一个应用。一个进程可以包含多个线程。对于 Android 来说,它是一种基于 Linux 内核的移动操作系统,它的进程和线程有着其特有的性质。我们这篇文章就来聊聊关于 Android 中的进程和线程,我们需要了解的知识。
developerHaoz
2018-08-20
7690
Android 关于内存泄露,你必须了解的东西
内存管理的目的就是让我们在开发过程中有效避免我们的应用程序出现内存泄露的问题。内存泄露相信大家都不陌生,我们可以这样理解:「没有用的对象无法回收的现象就是内存泄露」。
developerHaoz
2018-08-20
1.1K0
Android Volley 源码解析(一),网络请求的执行流程
花了好几天,重新研究了 Volley 的源码实现,比起之前又有了一番新的体会,啃源码真的是一件让人纠结的事情,阅读优秀的源码,特别是难度相对较大的源码,一旦陷入代码细节或者情绪一烦躁,很容易让人奔溃,但是真正的啃下来,收获真的很大。从优秀的代码中学习优秀的编程思想以及良好的代码设计和代码风格是一个非常好的方法,这次通读了 Volley 的源码之后,对于 Volley 的代码质量和拓展性深感佩服,为了更好的记录这次的源码研究之旅,写几篇博客记录一下。
developerHaoz
2018-08-20
1.2K0
你真的懂 Java 的内存管理和引用类型吗?
对于 Java 程序员来说,在 Java 虚拟机自动内存管理机制的帮助下,不再需要为每一个 new 操作去写对应的 delete/free 代码,不容易出现内存泄露和内存溢出的问题。不过,也正是因为 Java 程序员把内存控制的权力交给了 Java 虚拟机,一旦出现内存泄露和内存溢出的问题,如果不了解虚拟机是怎样使用内存的,那么排查错误将会非常艰难。
developerHaoz
2018-08-20
6530
Android 关于移动互联网寒冬和个人核心竞争力的看法
关于 Android 市场需求,其实从前年开始 Android 就处于寒冬的境地,最直观的标志就是,工作不那么好找了。因为前几年移动互联网开始流行,很多创业公司都是想抓住这个风口,所以就开始招 Android 和 iOS 工程师来开发 App。而且很多培训机构也大量地培训 Android 工程师,等到这一两年需求慢慢饱和了,移动互联网这一块其实已经被 BAT 和其他的一些巨头公司瓜分了,所以很多创业公司都倒闭了,导致很多 Android 工程师失业了,这是市场需求不高、移动互联网寒冬一个很重要的原因。
developerHaoz
2018-08-20
3060
Android 打造一个丝滑的自动轮播控件
现在很多的 App 都有自动轮播的 banner 界面,用于展示广告图片或者显示当前比较热门的一些活动,除了具备比较酷炫的效果之外,通过轮播的方式来减少对界面的占用,也是很赞的一个设计点。本文主要是总结自动轮播控件的实现过程,以及对这类控件的一些优化的技巧。
developerHaoz
2018-08-20
4870
Android 刘海屏适配总结
随着 Apple 发布 iPhone X 之后,各大手机厂商也开始模仿这种刘海屏的设计,而且刘海屏手机的用户也是越来越大,前段时间将项目进行了所有主流厂商的刘海屏手机的适配,以便让刘海屏手机的用户也能有更好的体验。
developerHaoz
2018-08-20
1.8K0
Android 谈谈自动化测试
最近,手头上的项目基本开发完成,优化也做的差不多了,本以为可以安心准备上线。然而老板却反映说测试人员发现 App 总会出现一些莫名的 bug.
developerHaoz
2018-08-20
1.2K0
点击加载更多
社区活动
Python精品学习库
代码在线跑,知识轻松学
热点技术征文第五期
新风口Sora来袭,普通人该如何把握机会?
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·干货材料·成员作品·最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档