自动批量修改文件名

需求 ​ 作为一个android开发,经常需要将UI的切图导入项目中,但是UI切图文件通常是中文命名,而在android项目中,drawable文件名是不能用中文字符的,并且英文不能有大写字母,空格,并且为了可读性性,我们需要在单词间用“_”隔开,所以我们需要将切图文件名翻译为我们需要的样式 实现 ... »

5年Android程序员面试字节跳动两轮后被完虐,请查收给你的面试指南

大家应该看过很多分享面试成功的经验,但根据幸存者偏差的理论,也许多看看别人面试失败在哪里,对自己才更有帮助。 最近跟一个朋友聊天,他准备了几个月,刚刚参加完字节跳动面试,第二面结束后,嗯,挂了… 所以啊,不管怎么样,不论是什么样的大小面试,要想不被面试官虐的不要不要的,只有刷爆面试题题做好全面的准备 ... »

解谜:为何用了9-Patch背景图后自带Padding属性?

本次分享的主题源于笔者在实际开发中遇到的问题。 具体现象为:当普通的9-Patch图用作TextView的backGround属性后,整个TextView便有了一定的Padding值。但笔者并没有给定padding属性,甚至在预览视图中,也没有展现出padding效果。但运行起来后,便莫名其妙地有了 ... »

Framework掌握不熟?字节跳动大牛带你系统化学习

面试中Framework与Binder的重要性 Framework 通常作为一个Android APP开发者,我们并不关心Android的源代码实现,不过随着Android开发者越来越多,企业在筛选Android程序员时越来越看中一个程序员对于Android底层的理解和思考,这里的底层主要就是And ... »

2020年Android高级面试题总结(附答案解析)

前言 回顾一下自己这段时间的经历,三月份的时候,疫情原因公司通知了裁员,我匆匆忙忙地出去面了几家,但最终都没有拿到offer,我感觉今年的寒冬有点冷。到五月份,公司开始第二波裁员,我决定主动拿赔偿走人。后续的面试过程我做了一些准备,基本都能走到hr面,后面我也顺利地拿到了offer,我给大家分享下我 ... »

Android ContentProvider 基本原理和使用详解

ContentProvider(内容提供者)是 Android 的四大组件之一,管理 Android 以结构化方式存放的数据,以相对安全的方式封装数据(表)并且提供简易的处理机制和统一的访问接口供其他程序调用。 Android 的数据存储方式总共有五种,分别是:Shared Preferences、 ... »

Android Jetpack从入门到精通(深度好文,值得收藏)

前言 即学即用Android Jetpack系列Blog的目的是通过学习Android Jetpack完成一个简单的Demo,本文是即学即用Android Jetpack系列Blog的第一篇。 记得去年第一次参加谷歌开发者大会的时候,就被Navigation的图形导航界面给迷住了,一句卧槽就代表了小 ... »

Android HandlerThread 详解

概述 HandlerThread 相信大家都比较熟悉了,从名字上看是一个带有 Handler 消息循环机制的一个线程,比一般的线程多了消息循环的机制,可以说是Handler + Thread 的结合,从源码上看也是如此的设计,一般情况下如果需要子线程和主线程之间相互交互,可以用 HandlerThr ... »

2020年在项目中使用MVVM正确姿势,你用对了吗?

最近看到了几篇与 Jetpack MVVM 有关到文章,使我不禁也想淌一下这场混水。我是在 2017 年下半年接触的 Jetpack 的那套开发工具,并且后来一直将其作为开发的主要框架。在这段时间的使用过程中,我踩过一些坑,也积累了一些经验,为了将其推广到其它到项目中又专门封装出了一个库。当然,Je ... »

【从零开始撸一个App】Kotlin

工欲善其事必先利其器。像我们从零开始撸一个App的话,选择最合适的语言是首要任务。如果你跟我一样对Java蹒跚的步态和僵硬的语法颇感无奈,那么Kotlin在很大程度上不会令你失望。虽然为了符合JVM规范和兼容Java,它引入了一些较为复杂的概念和语法,很多同学就是因此放弃入门。其实越深入进去,就会越 ... »

Java 集合 | 红黑树 | 前置知识

为啥要学红黑树吖?因为笔者最近在赶项目的时候,不忘抽出时间来复习 Java 基础知识,现在准备看集合的源码啦啦。听闻,HashMap 在 jdk 1.8 的时候,底层的数据结构发生了变化,变成了数组+链表+红黑树。很好,没了解过红黑树,所以就趁今天闲暇学习一下啦 ... »

一种统计ListView滚动距离的方法

本文从实际使用的场景出发,提出了一个可记录ListView滚动距离的实际方案,该方案可精确统计各种场景下ListView的实际滚动距离,并兼容了常见的边界统计的问题。是目前可直接运用于实际的生产环境的最优方案,没有之一。 ... »

Android小部件Widget开发过程中的坑和总结

Android小部件Widget的简单实例,如果小部件中使用到了列表项如 ListView,GridView 等,在绑定数据时需要使用 RemoteViewsService 并提供一个 RemoteViewsFactory 实例来填充数据 而非 Adapter。绑定 item 的定点事件,定义Int... ... »

Android动画系列之帧动画和补间动画

原文首发于微信公众号:jzman-blog,欢迎关注交流! Android 提供三种动画:帧动画、补间动画和属性动画,本篇文章介绍帧动画以及补间动画的使用,属性动画的使用将在后面的文章中分享,那就来复习一下这两种动画的使用吧。 FrameAnimation FrameAnimation 即逐帧动画, ... »

Flutter中的绘图(Canvas&CustomPaint)API

本文是Flutter中Canvas和CustomPaint API的使用实例。 首先看一下我们要实现的效果: 结合动图演示,列出最终目标如下: 在程序运行后,显示一个小球; 每次程序启动后,小球的样式均发生随机性变化,体现在大小、颜色和位置三点; 小球运行的规律参考桌球或三维弹球游戏; 单击屏幕,小 ... »

Android Zero (基础介绍篇)

开发Android首先你得先配置好环境,配置的文章网上一大把,这里就不重复造轮子说了,配置好JAVA下载好AndroidStudio后我们先对基本的项目结构做一下了解! 首先介绍下你必须得知道的文件夹和文件 1.注册文件:主要用于声明权限,声明界面,声明服务,配置文件的地方 权限声明:手机所使用的所 ... »

Android Zero (开篇)

Android Zero == 从零开始 本文章主要打算给将要入门Android或刚刚入门Android的小伙伴适用的,开篇的几个案例都会抛弃所有现在用到的新技术和第三方框架,用最原生的方法从0演示,这样也能方便大家对新技术的理解站在一个比较好的基础上。 万变不离其中~想要达到一定的高度的前提是你的 ... »