开发日常
文章平均质量分 53
just小海
这个作者很懒,什么都没留下…
展开
-
全局Log管理
项目开发过程中,打印的log可谓是多而杂,因此对全局log的管理是必不可少。直接上代码:import android.util.Log;/** * 全局Log管理类 * * 通过设置 APP_LOG_LEVEL 字段,来控制对应的log是否显示 */public class LogHelper { /** * 所有log都打印 */ privat...原创 2018-05-17 09:44:43 · 468 阅读 · 0 评论 -
ThreadLocal的使用与理解
用过EventBus的同学都知道,在接收发出事件时,会有四种线程模式。那他是内部是怎样实现的呢?近日忙里偷闲,简单看了下EventBus源码,发现其发送事件前检查发送事件的线程状态(源码标注处),然后根据postingState去做一些线程切换的操作。扯了半天发现跟标题ThreadLocal没半毛钱关系,哈哈哈。显然不可能,currentPostingThreadState其实就是一个Th...原创 2019-01-18 10:41:02 · 206 阅读 · 0 评论 -
Python中json与实体类的相互转换
json是目前服务端与客户端交互的主要数据格式之一,在Python中又是怎样实现两者之间的相互转换呢?需要提前了解一下的是:json字符串到python对象的转换规则(下表所示)Python Json dict object list, tuple array str, unicode string int, long, float numbe...原创 2019-01-03 15:37:49 · 13725 阅读 · 1 评论 -
SpannableString的使用,实现富文本效果
在Android开发过程中,总会有些需求涉及到TextView展示形式复杂多样的文字,例如下划线、斜体、超链接等。其实SpannableString就能够简便的设置文字样式。核心方法 object what:ForegroundColorSpan、UnderlineSpan等各种Span;int start:字符开始位置int end:字符结束位置int flags:取值有如下四个S...原创 2018-12-03 21:00:36 · 358 阅读 · 0 评论 -
Mac环境下创建一个cocos2dx项目
随着移动端应用页面越来越酷炫,如今在移动端上集成游戏引擎已经变得很常见,类似cocos2dx、Unity3D等都是不错的选择。这里简单介绍一下Mac上创建一个集成cocos2dx的项目。1、从官网(https://www.cocos.com/download)下载 cocos2dx v3.x并解压,目录结构应该如下图所示。2、在终端(Terminal)里进入到cocos2d-x 3.1...原创 2018-12-05 20:45:55 · 776 阅读 · 0 评论 -
SharedPreference apply与commit的分析
在Android原生开发中,SharedPreferences是一个经常打交道的类,用于数据持久化。但在使用过程中,偶尔可能会出现保存的值并不准确的现象(活生生被坑了一波),其实就是apply与commit这两个提交方法引起的。先搜了一波资料,整理如下:1、apply没有返回值,而commit有返回值。2、apply是将修改数据原子提交到内存, 而后异步真正提交到硬件磁盘, 而commit是直接同...原创 2018-05-16 15:22:01 · 888 阅读 · 0 评论 -
APP卡顿检测工具 —— BlockCanary的集成
在开发中,随着业务的越来越复杂,代码量越来越多,由于各方面原因,app可能会变得卡顿,甚至出现ANR。那么对于APP的卡顿检测显得尤为重要,BlockCanary是一个挺不错的工具。关于BlockCanary的介绍,这里不再贴上了。直接去作者的github了解,地址https://github.com/markzhai/AndroidPerformanceMonitor/blob/master/R...原创 2018-05-15 18:11:55 · 8494 阅读 · 1 评论 -
Android获取渠道号
本篇文章以友盟多渠道打包为例,分析如何获取APK的渠道号。在开发中,接入友盟时,会在AndroidManifest里添加这样的mete-data配置关注红色标记的key-value,其实这就是渠道名,一般由产品约定好,apk需要打哪些渠道号,可以配置在build.gradle文件里,如下,这里只是拿几个作为展示:知道这个,其实获取渠道号就简单了,无非就是从meta-data里将key为UMENG_...原创 2018-05-14 15:58:10 · 11059 阅读 · 0 评论 -
首页动画的优化方案
上周在项目开发中碰到了一个需求,APP首页底部的栏目Tab需要添加动画,每隔30s播放一下,动画不算复杂,一个帧动画就能实现原创 2018-05-14 15:00:09 · 254 阅读 · 0 评论 -
IntentService的使用
Service作为Android四大组件之一,是一个相当重要的角色。我们经常通过Service在应用后台做一些逻辑,例如音频播放等。但是当我们需要在后台service做一些耗时操作时,这样就会出现麻烦了。Android的Service默认是运行于主线程,因此,如果有需要在Service里面执行耗时操作,只能开启一个子线程来处理。在 onStartCommand方法里面开启子线程来处理耗时操作。类似...原创 2019-01-23 17:28:06 · 205 阅读 · 0 评论