自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(323)
  • 资源 (10)
  • 收藏
  • 关注

原创 专家之路上的Flow高级秘籍

深入的学习Kotlin Flow API的高级特性,如上下文,背压和热流。以能够彻底理解Flow,并掌握Flow的高级用法。

2024-02-20 20:51:07 1071 2

原创 包教包会的Kotlin Flow教程

由浅入深的,以浅显易懂和容易理解的语言讲解Kotlin的Flow API的使用方法。

2024-02-18 21:03:35 862

原创 让你从此不再惧怕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

原创 Kotlin学习之函数

学习Kotlin中的函数的使用方法

2023-11-20 23:08:56 2035

原创 Kotlin之控制语句和表达式

学习一下Kotlin中的控制语句和表达式

2023-11-13 20:29:47 570 1

原创 Kotlin基础数据类型和运算符

介绍一下编程语言Kotlin中的类型和运算符

2023-11-06 21:11:13 600

原创 Java集合操作集锦

总结Java中常见的集合操作以及不同集合之间的最佳转换方式

2023-10-31 20:20:41 222

原创 Java中整数基础知识

开篇时说了,当时错误的认为0xFFFFFFFF是最小的整数,这里犯的第一个严重错误是,误把二进制的补码当成了原码,代码中的16进制(二进制)都是补码形式的,它的原码是0x80000001即-1。所以,你写的0xFFFFFFFF是补码形式,它的原码是减1再取反,(32个1)减1,最低位变成0,前面31个1,再取反,就只剩下最后一位是1和最高位的符号位,因此是-1,注意符号位是不变的,在转换过程中。简单来说,补码是一种二进制编码形式,正数的补码就是它的本身,而负数的补码是其取反后加1,可以。

2023-10-23 21:13:44 225

原创 解惑Android Scoped Storage

Android Storage权限收紧及其适配方法

2023-10-16 20:46:14 504

原创 Android逆向技术高阶大法

介绍Android插件化原理以及Hook技术

2023-09-25 20:15:19 1204

原创 玩转安卓运行速度优化

介绍安卓应用程序的优化方法

2023-09-18 20:55:50 731

原创 让你不再惧怕内存优化

详解安卓应用程序的内存问题以及如何优化内存的使用

2023-09-11 20:42:43 682

原创 深入浅出Android同步屏障机制

深入浅出的解释Android Sync Barrier机制,它引发的问题以及如何解决问题

2023-09-04 22:42:11 1251

原创 Android动画内幕揭秘

深入的探索Android平台上面动画的内部实现原理

2023-08-28 21:11:36 144

原创 Android动画进阶指北

介绍一些有关Android Animation的高级话题

2023-08-21 19:33:46 148

原创 回乡见闻:感知农村的新变化

记录一次回乡探亲过程中的所见所闻和由此而产生的想法

2023-08-14 19:41:31 122

原创 Android Animation Made Easy

深入浅出的介绍安卓的动画实现方式

2023-08-07 19:44:28 541 1

原创 Android Layout大点兵

点评Android中各种布局,给出构建UI页面的最佳指导原则

2023-08-01 08:15:00 159

原创 Android ConstraintLayout使用攻略

深入浅出的讲解如何优雅的使用Android中的ConstraintLayout。

2023-07-24 23:30:09 581 1

原创 Android事件高级手势处理

讨论Android上面一些高级的手势处理方法

2023-07-17 23:19:51 372 1

原创 Android View滑动处理大法

系统地讨论一下安卓应用开发中的View的滑动处理方法

2023-07-10 22:13:50 525

原创 Android View 事件派发流程

深入浅出式的讲解Android View的事件系统

2023-07-03 21:40:35 303

原创 Android View的渲染过程

深入浅出的介绍Android视图的渲染过程

2023-06-26 20:09:27 824

原创 理解安卓的视图体系结构

系统的介绍安卓的View的体系结构,让应用开发者对整体窗口有个更清楚的认知

2023-06-19 20:03:49 1120

原创 理解Java ThreadLocal

深入浅出的理解Java中的ThreadLocal以及为什么它能保证每个线程独有不被其他线程访问

2023-06-12 20:08:34 486

原创 理解 Java 关键字 final

深入浅出的理解Java关键字final

2023-06-05 22:40:47 555

原创 理解Java关键字volatile

深入理解关键字volatile的作用,以及如何正确的使用

2023-05-30 08:15:00 859

原创 拥抱新时代的Java

讲解如何用Java 8来进行函数式编程

2023-05-26 08:30:00 599

原创 学习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

doxygen完整示例

完整的如何使用Doxygen的例子,包括书写文档块,配置和生成的文档!

2013-03-07

The Artist’s Guide to GIMP, 2nd Edition

The Artist’s Guide to GIMP, 2nd Edition 英文原版 The GIMP, an image editor whose power and ease-of-use rivals that of Adobe Photoshop, is one of the world's most popular free software projects. Artists and designers have relied on the GIMP since 1995 to retouch photographs, composite multiple images, and create new artwork from scratch. The Artist's Guide to GIMP Effects shows you how to harness the GIMP's powerful features to produce professional-looking advertisements, impressive photographic effects, as well as logos and text effects. And author Michael J. Hammel, who has used the GIMP since its first public release, won't mince words or waste your time. His extensively illustrated, step-by-step tutorials are perfect for hands-on learning and experimentation. After a crash course in using the GIMP's interface and core tools (such as brushes, patterns, selections, layers, modes, and masks), you'll learn: Photographic techniques to simulate ripped edges, create sepia-toned antique images, swap colors, produce motion blurs, alter depth of field, and even fix rips in an old photo Web design techniques to create tiled patterns, navigation tabs, rollovers, and fancy buttons and borders Type effects to create depth, perspective shadows, metallic and distressed text, and neon and graffiti lettering Advertising effects to produce movie posters and package designs; simulate clouds, cracks, cloth, and underwater effects; and create specialized lighting Interface design tips for creating textures, navigation bars, and buttons Whether you're new to the GIMP or you've been playing with this powerful software for years, The Artist's Guide to GIMP Effects is sure to teach you some new tricks. Visit the book's companion site for additional tutorials and resources. http://www.graphics-muse.org/artistsguide/

2012-10-20

Android本地代码生成器

可以自动生成Android本地代码。 解压后,在项目根目录下面运行genjni.sh(先把里面的genjni.jar放在一个地方,然后把genjni.sh里面的路径改下)。之后,如果有本地方法声明,就会生成本地文件和编译文件。

2011-10-19

Android本地代码生成器

能帮助使用NDK开发时自动生成本地代码。 只需要在Java文件中声名本地方法,然后运行这个工具,它会逐个检查Java文件,并根据里面的本地方法生成本地文件,和相应的Android.mk文件。并会更新Java文件,添加System.loadLibrary。 接下来所需要做的就是实现那些本地方法。然后编译。

2011-10-19

Java反编译器

用于反编译Jar的实用工具,在逆向工程的时候特别的有用处。 可以把Jar直接解析成Java代码.

2011-10-14

Android反编译工具dex2jar

用于反编译Apk的实用工具,在逆向工程的时候特别的有用处。 可以把Dex转成Jar包。

2011-10-14

AMXLPrinter2用于把二进制的XML转为文本

用于将二进制的XML文件 转回到文本。在Android应用程序Apk逆向工程的时候特别有用。

2011-10-14

Learn the GNU Emacs Editor

best book about learning Emacs Editor

2009-05-29

Learning Vi and Vim editor

best course about Vi and Vim Editor. This is the 7th edition. It includes many Vim-7 new features

2009-05-29

Fedora 10安装教程

详细介绍Fedora 10的安装,非常适合初学者.

2009-05-29

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除