夏敏的博客

一名Android程序员的技术博客

如何往Android系统中添加服务

getSystemService深入

最近公司平台要从Android 4.4.4 转战 Android 6.0, 带来的问题是之前我们在系统中添加了一些服务, 于是要将一些系统级的服务迁移过去,以及一些Framework 的自定义包...

程序员漫画系列-数据库注入式攻击

今天我们看一幅数据库注入式攻击的漫画。 记得上大三那会儿,我们的老师还让我们用一条语句直接在学校官网,直接拿到学校所有录取的新生详细信息,我当时试了试,很多学校的官网都可以。不过方正教务系统攻...

如何将一个Activity放到系统的最近任务列表里,独立于宿主app任务卡之外?

巧用新的Activity栈

微信小程序有个功能,开启的小程序都独立在最近任务列表里,同时这个功能是个很火的面试题,如何将一个Activity放到系统的最近任务列表里,独立于宿主app任务卡之外?我们看一张效果图,图中Sig...

程序员漫画系列-80端口之战

TurnOff.us 是一个极客漫画网站,作者Daniel Stori 画了一些非常有趣的关于编程语言、Web、云计算、Linux 相关的漫画。今天解读的是其中的80端口之战。 在开始,我们先来...

JVM学习之 线程同步背后的原理

本文来自How the Java virtual machine performs thread synchronization 前言 所有的 Java 程序都会被翻译为包含字节码的 clas...

一个命令轻松切换Java版本

引言 有时候,我们需要切换jdk版本,去编译一些指定jdk的东西. 比如今天我需要编译Android6.0源码,那我得把jdk切换到openjdk-1.7, 要知道, 我还要用1.6的jdk编译...

程序员漫画系列-Linux内核里面的那些小企鹅们

TurnOff.us 是一个极客漫画网站,作者Daniel Stori 画了一些非常有趣的关于编程语言、Web、云计算、Linux 相关的漫画。今天解读的便是其中的一篇。 在开始,我们先来看看这...

What is DecorView and android.R.id.content?

引言 DecorView和android.R.id.content是什么呢,我们必须从最常见的setContentView这个方法说起。 很多人都知道android.R.id.content,那...

为你的Android Studio打造帅气的LogCat配色

公司的电脑前一阵子配了个帅气的配色,后来回家看自己的AS,觉得好丑,索性把这个配色发出来,看Log好看多了。 帅气的配色发出来了。快去动手修改吧! 打开File->Settings搜索...

DiskLruCache简介

由JakeWharton大神所编写的DiskLruCache工程, 里面除去注释量,代码差不多500行,短短500行的代码,却拿到了3000多个star,以及800多个fork, 可见其代码设计...

全栈级别梳理-Android系统启动流程

尤记的15年9月笔试魅族的时候有一道题目,问ARM芯片开机第一步进入什么模式,如何进入。 记得当时笔试完了,东哥告诉我是修改CPSR寄存器低五位,进入管理模式。 后来记得背了整个ARM芯片的启动...

Android小知识-Asset目录与res目录的区别

这个问题很多人还可能真的不清楚,包括我也之前只知道原封不动保存到APK中这个作用。 让我们系统的总结一下。 res/raw和assets的相同点:    两者目录下的文件在打包后会原封不动的...

兄台的TextView怎么功能如此强大?

谈谈Span在Android中的应用

TextView, 一个我们每天都会看到的控件,很简单,它是用来显示文字的。ok,那TextView的源码我们可以点击看一下,足足有一万行,说明其实它做的事情很多的,远比我们想象的多。 我们今...

No SQL, Realm轻量级,现代化数据库入门

让你的应用迅速带上存储的翅膀

简介 Realm是一个可以替代SQLite以及ORMlibraries的轻量级数据库。相比SQLite,Realm更快并且具有很多现代数据库的特性,比如支持JSON,流式api,数据变更通知,...

阿里巴巴Java编程规约学习记录

让Java开发者能够提升协作效率、提高代码质量

浅谈 2017年2月9日,阿里发布了Java编程规范,旨在为行业树立新的规范,经过阅读,感觉为行业进步的确能够带来不少的好处。 以下是阿里公共号原文: 众所周知,制订交通法规表面上是要限制...