Android MVVM 架构系列之 DataBinding 2

这是上一章的后续,主要讲讲关于 DataBinding 的一些进阶规则。上一篇:Android MVVM 架构系列之 DataBinding更改 Binding 对象名字默认来说,DataBinding 生成的对应 Binding 对象名字是直接将布局文件的名字改成驼峰命名法然后后面加个 Binding ,例如对于 activity_main.xml ,生成的对象为 ActivityMainBin

- 阅读全文 -

Android MVVM 架构系列之 DataBinding

在 Google 的推荐下,MVVM 架构已经成为一种趋势。官方在推动 MVVM 的同时也出了一系列工具帮助我们更好的实现这种架构。DataBinding 就是其中一个很重要的工具。它可以降低代码耦合度,提高可读性和逻辑性。这是第一篇,主要讲简单的实现。对于更加高阶的应用,可以看第二篇:Android MVVM 架构系列之 DataBinding 2启用 DataBinding目前官方推荐的启用

- 阅读全文 -

算法模型 三边定位实现

最近有一个需求,有三个基站和一个定位点。每个基站可以测出自己和其他两个基站之间的距离以及自己和定位点的距离。要求以定位点为中心建立直角坐标系画出三个基站的点。抽象成数学模型,如下图:已知六条边 abcdefg 的长度,求 ABC 三点坐标。如果是数学题,其实也不是很难,这里问题在于基站测出的距离是有精度损失的,也就是说这里距离是有误差的,可能最终 OA 的距离会大于 e。或者说可能给出的距离无法组

- 阅读全文 -

LeetCode 剑指Offer 20. 表示数值的字符串

这是 2020 年 9 月 2 日的每日一题。这道题本身并不难,但是让我明白了一个自动机的概念。直接来看题吧。题目请实现一个函数用来判断字符串是否表示数值(包括整数和小数)。例如,字符串"+100"、"5e2"、"-123"、"3.1416"、"-1E-16"、"0123"都表示数值,但"12e"、"1a3.14"、"1.2.3"、"+-5"及"12e+5.4"都不是。我的思路首先我们可以写出一个

- 阅读全文 -

LeetCode 647. 回文子串

这是 2020 年 8 月 19 日的每日一题。这道题我是用 动态规划 解出来的。但是这题的 动态规划 效果反而不如暴力优化。可以说这道题让我明白了 动态规划 不能滥用。特此记录一下。647. 回文子串难度:中等题目给定一个字符串,你的任务是计算这个字符串中有多少个回文子串。具有不同开始位置或结束位置的子串,即使是由相同的字符组成,也会被视作不同的子串。示例 1输入:"abc"

- 阅读全文 -