- 博客(323)
- 资源 (10)
- 收藏
- 关注
原创 专家之路上的Flow高级秘籍
深入的学习Kotlin Flow API的高级特性,如上下文,背压和热流。以能够彻底理解Flow,并掌握Flow的高级用法。
2024-02-20 20:51:07
1071
2
原创 让你从此不再惧怕ANR
是安卓系统的核心基础通信机制,组件件间的通信,Intent,ContentResolver,应用与AMS,PMS和WMS等等之间的交互都是通过binder call来进行的,常规情况下大部分时候binder call都没有问题会很快问题,但如果binder另一头的某个服务发生了问题,即使是瞬时问题,也会导致binder call被阻塞或者变慢,这时就可能引发应用侧的ANR。调试的手段也都是从代码执行的角度,把线程的栈帧转储出来(stack trace dump),以查看是被哪 个函数阻塞了。
2023-12-11 20:51:33
276
原创 实战技巧:为Android应用设置独立的多语言
但如果系统也支持应用语言选择入口的话,那么通过系统入口也是可能会修改应用的多语文选项的,这时,就需要把系统的选项与应用内部的选项进行同步。通常情况下多语言的设置都在系统设置中,应用需要做的就是提供本应用所使用的字串的多语言翻译,使用时使用R.string.app_name类似的引用,然后系统会根据用户在系统设置中的选项来选择合适的具体的语言。来获取当前生效的语言选项,它是由appcompat库来维护的,肯定是最新的,所以应用自己保存的选项如果与这个API的结果不一致,就要重置为这个API的结果。
2023-12-04 22:39:38
666
原创 Kotlin学习之集合
但有时如果仅仅想重复一件事情n次,那就没有必要用Ranges,虽然它也可以,这时最为方便的是函数repeat,它与区间的唯一区别是repeat是没有返回值的,它仅是把一件事情重复n次,但没有返回值也就是说没有办法再转化为其他数组或者列表。Ranges是一个数据结构代表着一个区间,这个区间可能是一个整数范围,也可能是一个字符范围,其实也可以是其他自定义数据类型,只要能表达 出区间的概念。以外,还有对象的容器也非常的重要,比如线性容器(数组,列表和Set)和二维容器(哈希表)等。
2023-11-27 21:52:43
521
1
原创 Java中整数基础知识
开篇时说了,当时错误的认为0xFFFFFFFF是最小的整数,这里犯的第一个严重错误是,误把二进制的补码当成了原码,代码中的16进制(二进制)都是补码形式的,它的原码是0x80000001即-1。所以,你写的0xFFFFFFFF是补码形式,它的原码是减1再取反,(32个1)减1,最低位变成0,前面31个1,再取反,就只剩下最后一位是1和最高位的符号位,因此是-1,注意符号位是不变的,在转换过程中。简单来说,补码是一种二进制编码形式,正数的补码就是它的本身,而负数的补码是其取反后加1,可以。
2023-10-23 21:13:44
225
原创 学习Kotlin,看这一篇就够了
人生苦短,要用Kotlin这是一种对程序猿更为友好的语言,可以减少开发者的工作量,原本由开发者干的事情,其实很多都可以由编译器实现了,这是一种更为高级的语言。Java虽然严谨,但却过于繁琐,太啰嗦了,一个小事情却要写大量的代码,而且有些代码又是非常机械式的,在实际编码过程中都是用IDE来自动生成。Java,C,C++,Object C这些都是上世纪的编程语言。点击阅读全文...
2018-05-20 13:02:50
1221
原创 为猿七年有余,痒否?痛否?
还未有感,已然岁末,犹叹时之箭逝去如斯也,稍纵命再减一。回首望,为猿七年有余已,虽不成气候,亦未全蹉跎。略做小结,以不惘逝去之时日,亦会大益于尔后路途。若博文能助足下之一二,孤将甚悦。
2017-01-05 09:34:15
15389
52
原创 说说Android的MVP模式
安卓应用开发是一个看似容易,实则很难的一门苦活儿。上手容易,看几天Java,看看四大组件咋用,就能整出个不太难看的页面来。但是想要做好,却是很难。系统框架和系统组件封装了很多东西,开发者弄几个Activity,用LinearLayout把布局组合在一起,添加点事件监听,一个应用就成型了。红海竞争,不管多么复杂的UX和业务逻辑都是一个月快速上线,二周一个迭代,领导和产品早上改需求,晚上改设计,再加上
2016-02-11 12:47:21
5567
2
原创 Android技巧:学习使用GridLayout
GridLayout是一个非常强大的网格类布局,它不但能像TableLayout那样,实现网格类布局,但它更为强大的地方在于每个Cell的大小可以横向或者纵向拉伸,每个Cell的对齐方式也有很多种,而且不像TableLayout,需要一个TableRow,GridLayout可以通过指定Cell的坐标位置就能实现Cell的拉伸,从而实现,大小不一致的风格卡片式布局。基本概念
2015-12-14 16:52:50
3020
原创 安卓开发技术:监听软键盘的显示与隐藏
自从2007年乔帮主横空出世推出iPhone后,智能手机就都变成了触摸屏,且屏幕越来越大。输入自然也就通过软件来解决,现在来说绝大多数智能设备都是通过软键盘来做用户输入。在日常的开发过程中难免会跟软键盘打交道,比如强制显示或者强制隐藏等,也有些时候想要在键盘隐藏或者显示的时候做一点事情,这就需要准确的知道键盘的事件,这篇文章就来详细讨论一下Android下面如何做到监听键盘的事件。
2015-12-03 23:32:40
6066
原创 Android应用性能剖析全攻略
性能是软件质量的一个重要方面,好的软件必须要在性能上达到一定的标准。对于Android应用程序来讲,更是如此,移动互联网的红海竞争,如果应用的性能差,肯定会缺少竞争力的,这里就来聊一聊应用开发中如何提升性能,以及在开发过程中如何处理性能问题。性能的定义对于Android应用程序来讲分为三个方面,一方面是软件整体表现上的性能,也就是能多快给用户想要的结果,比如新闻阅读类应用,
2015-11-03 22:43:28
2452
原创 安卓开发技术:监听软键盘的显示与隐藏
自从2007年乔帮主横空出世推出iPhone后,智能手机就都变成了触摸屏,且屏幕越来越大。输入自然也就通过软件来解决,现在来说绝大多数智能设备都是通过软键盘来做用户输入。在日常的开发过程中难免会跟软键盘打交道,比如强制显示或者强制隐藏等,也有些时候想要在键盘隐藏或者显示的时候做一点事情,这就需要准确的知道键盘的事件,这篇文章就来详细讨论一下Android下面如何做到监听键盘的事件。点击
2015-10-26 21:19:07
2378
原创 Android Studio技能之快捷键
Android Studio是谷歌新一代的Android开发IDE,老一代的Eclipse+ADT已被无情的废弃。Android Studio基于JetBrains的IntelliJ IDEA,这是一个在Java界享有不错声誉的IDE,它以“Intelligent”著称。AS是谷歌基于IntelliJ开发的,加上了一套专门为Android定制的插件系统。早期的时候AS=IntelliJ +
2015-10-23 22:52:22
2629
原创 优秀代码赏析:CircleImageView
核心功能实现一个圆形的ImageView,或者说让一个View来显示一个圆形的图片。核心思路这个库短小精悍,全部代码才200多行,核心代码也就几十行,却实现了一个看似不简单的功能。要想实现圆形的图片,常规一般的人的思路,用图像处理的方式来解决,就好比显示圆角矩形图片那样。但是这个库的作者的思路十分的巧妙,它的核心思路就是把图片画在一个圆上面。点击阅读全文
2015-10-21 22:35:13
2619
原创 如何跳过Nexus 7二代的开机设置
事情是酱紫的Neuxs 7二代,2013年款,14年某宝上面买的,为了体验最新的Android版本,以及奶七的高性价比,于是就买了一个,之后也一直用着比较爽,电影,游戏,看书,看代码,体验原生Android,体验GMS,都是相当不错,直到今年4月份,突然有一天,触摸屏失灵了,在重启了之后,触摸能用了,但是反应不灵,有时要点好几次才有反应,有时则是好的。当时错误以为是装的软件太多了,反应慢,
2015-10-13 22:31:44
10335
The Artist’s Guide to GIMP, 2nd Edition
2012-10-20
Android本地代码生成器
2011-10-19
Android本地代码生成器
2011-10-19
Learning Vi and Vim editor
2009-05-29
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅