任玉刚

有创新精神的Android技术分享者

排序:
默认
按更新时间
按访问量

《Android开发艺术探索》图书勘误

第一章 在13页提到“系统只在Activity异常终止的时候才会调用onSaveInstanceState与onRestoreInstanceState来储存和恢复数据,其他情况不会触发这个过程。”这句话的描述不确切,准确点说,应该是“系统只在Activity异常终止的时候才会调用onSave...

2016-01-13 10:51:34

阅读数:50768

评论数:372

MVC、MVP、MVVM,我到底该怎么选?

本文由玉刚说写作平台提供写作赞助 原作者:AndroFarmer 版权声明:本文版权归微信公众号玉刚说所有,未经许可,不得以任何形式转载 前言 MVC、MVP、MVVM是我们工作和面试中都比较重要的一块,但很多时候我们却有点迷惑。比如看了好多篇文章都搞不懂MVC...

2018-07-03 20:42:29

阅读数:742

评论数:0

一个小例子彻底搞懂 MVP

本文由玉刚说写作平台提供写作赞助 原作者:Zackratos 版权声明:本文版权归微信公众号 玉刚说 所有,未经许可,不得以任何形式转载 什么是 MVP MVP 全称:Model-View-Presenter ;MVP 是从经典的模式 MVC 演变而来,它们的基...

2018-06-28 13:17:11

阅读数:2058

评论数:3

instant app入门和开发指南

原创: 写作平台 玉刚说 3天前本文由玉刚说写作平台提供写作赞助,赞助金额:300元原作者:AndroFarmer版权声明:未经本公众号许可,不得转载概述instant app 是谷歌推出的类似于微信小程序(或者说小程序类似于instant app)的一项技术,用户无须安装应用,用完就走,同时兼备...

2018-05-28 23:05:10

阅读数:2400

评论数:5

Flutter 安装和初体验

在前面的文章中,我们初步了解了Flutter。本文将介绍Flutter的安装过程和开发工具,为了大家能更好地理解Flutter,本文还找了一个小例子。Flutter 安装指南关于Flutter的安装,参考官方文档中的步骤即可。本文以macOS为例,介绍Flutter在macOS上的安装细节。官方文...

2018-03-15 17:33:42

阅读数:9426

评论数:14

论程序员成长的正确姿势

何为成长?成长是指自我提升,一方面是本身的个人能力,另一方面是社会对你的认可度。最终,程序员的职位和薪水都能在成长中得以体现。很多人对成长有误解,在他们眼中,随着工作年限的提高,成长是理所当然的事情,这其实是一个误区。两个程序员同时工作3年,难道他们两个的成长就完全一样吗?其实是不一样的。很多岗位...

2018-03-01 23:49:09

阅读数:5885

评论数:14

全面理解Gradle - 定义Task

之前我们讲述了Groovy的语法,还讲述了Gradle的执行时序,本篇文章讲述下Task的定义。 Task可以理解为Gradle的执行单元,实在是太重要了。根据前面的分析,Gradle通过一个个task来完成具体的构建任务,下面我们来看下Task的定义。

2017-12-26 00:14:00

阅读数:10835

评论数:10

全面理解Gradle - 执行时序

什么是Gradle?一个像 Ant 一样的非常灵活的通用构建工具 一种可切换的, 像 maven 一样的基于合约构建的框架 支持强大的多工程构建 支持强大的依赖管理(基于 ApacheIvy ) 支持已有的 maven 和 ivy 仓库 支持传递性依赖管理, 而不需要远程仓库或者 pom...

2017-12-13 22:18:45

阅读数:12134

评论数:18

迷茫的程序员

程序员是一个特殊的群体,我们不知道为什么加入这个行业,也不知道这个行业还能做多久,不同人有着不同的故事、有着不同的迷茫。

2017-08-22 21:34:49

阅读数:14985

评论数:78

Gradle从入门到实战 - Groovy基础

Groovy是一门jvm语言,它最终是要编译成class文件然后在jvm上执行,所以Java语言的特性Groovy都支持,我们完全可以混写Java和Groovy。 既然如此,那Groovy的优势是什么呢?简单来说,Groovy提供了更加灵活简单的语法,大量的语法糖以及闭包特性可以让你用更少的代码...

2017-07-25 17:29:04

阅读数:22140

评论数:39

关于 Android 程序员最近的状况

- 关于Android的近况大家都知道,今年移动开发不那么火热了,完全没有了前两年Android开发那种火热的势头,如此同时,AI热火朝天,很多言论都说Android不行了。其实不光是Android,iOS也有类似的言论。那么到底如何看待这一现象呢?我的答案是:Android还行,只是回归平淡了,...

2017-07-21 23:24:37

阅读数:21023

评论数:53

Android中MotionEvent的来源和ViewRootImpl

前言很久没有发表文章了,今天来一篇,大家撒花~~~本文打算分析下Android中点击事件的来源,顺便提及下ViewRootImpl。Android中点击事件的来源这个问题,也许你会说“这还用你说吗?我可是看过艺术探索的人”,我知道艺术探索中的确是详细介绍了点击事件的传递流程,反正大致就是点击事件从...

2016-03-01 21:09:16

阅读数:27514

评论数:37

Android学习路线指南

前言 看到一篇文章中提到“最近几年国内的初级Android程序员已经很多了,但是中高级的Android技术人才仍然稀缺“,这的确不假,从我在百度所进行的一些面试来看,找一个适合的高级Android工程师的确不容易,一般需要进行大量的面试才能挑选出一个比较满意的。为什么中高级Android程序员不...

2015-11-01 23:34:56

阅读数:183442

评论数:258

给Android程序员的一些面试建议

前言应大家的邀请,写一篇关于Android面试相关的博客,需要说明的是本文只针对Android应用开发,不针对rom开发以及逆向工程。我想面试对于程序员来说是很重要的一件事件,面试结果的好坏直接决定了能否进入某个公司以及以什么级别和待遇进入某个公司。我参加面试的经验并不多,但是以面试官的身份面试别...

2015-10-18 23:12:18

阅读数:58991

评论数:92

Android的消息机制之ThreadLocal的工作原理

提到消息机制大家应该都不陌生,在日常开发中不可避免地要涉及到这方面的内容。从开发的角度来说,Handler是Android消息机制的上层接口,这使得开发过程中只需要和Handler交互即可。Handler的使用过程很简单,通过它可以轻松地将一个任务切换到Handler所在的线程中去执行。很多人认为...

2015-09-10 21:54:18

阅读数:28424

评论数:33

我对Android的理解

前言写这篇文章是为了和大家描述下我对Android的理解,同时会讲述下我后面的技术规划,希望能够对大家有点参考价值。大家都想学好Android,那么怎么才能学好呢?这个真不好说,但是我可以和大家交流下我自己的心得,当然仅限应用层开发,因为我本身是侧重应用层开发的。知识的分类Android中有很多知...

2015-07-09 10:54:37

阅读数:41562

评论数:45

循环广告位组件的实现

循环广告位组件的实现写在前面的话很久没有写博客了,很多小伙伴问我为什么博客不更新了,这是因为我在做其它事情,时间不充裕所以就没有更新博客,但是现在我又开始更新博客了!接下来我会陆续更新一些文章,主要包含如下几方面内容: 1. Android一些深入的知识点分析 2. 我的技术成长之路 3. ...

2015-06-18 01:37:46

阅读数:27161

评论数:72

Android设计模式源码解析之Proxy模式

Android设计模式源码解析之Proxy模式 本文为 Android 设计模式源码解析 中 Proxy模式 分析 Android系统版本: 5.0 分析者:singwhatiwanna,分析状态:完成,校对者:Mr.Simple,校对状态:已校对 Binder中的代理...

2015-03-24 12:58:07

阅读数:16204

评论数:25

Android L中水波纹点击效果的实现

博主参加了2014 CSDN博客之星评选,帮我投一票吧。点击给我投票前言前段时间android L(android 5.0)出来了,界面上做了一些改动,主要是添加了若干动画和一些新的控件,相信大家对view的点击效果-水波纹很有印象吧,点击一个view,然后一个水波纹就会从点击处扩散开来,本文就来...

2015-01-12 00:06:20

阅读数:50641

评论数:87

Android学习路线:如何成长为高级工程师

博主参加了2014 CSDN博客之星评选,帮我投一票吧。点击给我投票前言之所以写这篇文章,是因为最近博客和我的开发群( 215680213 )中,不少小伙伴都让我讲讲android学习路线,所以我决定写一篇博客,来说明这个问题。既然有不少小伙伴来咨询这个问题,说明大家都还是想快速地提高技术,毕竟技...

2015-01-03 00:08:49

阅读数:80019

评论数:105

类似微信的文本输入框

本文内容比较简单,给大家介绍一下微信的文本输入框是如何实现的,其实那只是个普通的文本框设了一个特殊的背景而已。具体微信怎么实现的,大家可以反编译下,这里介绍下如何实现这个背景。可以先看下文章末尾的效果图,里面的文本框是不是和微信的比较像啊,下面说下实现思想:首先,这种效果用.9图我不知道是否可以做...

2014-12-28 18:59:04

阅读数:22901

评论数:20

DL动态加载框架技术文档

DL动态加载框架技术文档DL技术交流群:29969245 1. Android apk动态加载机制的研究2. Android apk动态加载机制的研究(二):资源加载和activity生命周期管理3. APK动态加载框架DL解析4. Android 使用动态加载框架DL进行插件化开发5. DL插件...

2014-10-20 00:45:32

阅读数:32951

评论数:32

APK动态加载框架(DL)解析

好久没有发布新的文章,这次打算发表一下我这几个月的一个核心研究成果:APK动态加载框架(DL)。这段时间我致力于github的开源贡献,开源了2个比较有用且有意义的项目,一个是PinnedHeaderExpandableListView,另一个是APK动态加载框架。具体可以参见我的github:h...

2014-10-10 00:20:57

阅读数:74741

评论数:108

Android View系统解析(下)

转载请注明出处:http://blog.csdn.net/singwhatiwanna/article/details/38426471(来自singwhatiwanna的csdn博客)Android View系统解析系列:Android View系统解析(上)介绍View的基础知识、View的滑...

2014-08-08 00:50:53

阅读数:49753

评论数:32

Android View系统解析(上)

Android View系统解析(上) 再说动画 View基础知识 View的滑动 View的事件分发 View的滑动冲突 Android View系统解析(下) View的绘制过程 自定义View

2014-07-27 11:00:14

阅读数:33208

评论数:47

可下拉的PinnedHeaderExpandableListView的实现

Android中,大家都用过ListView,ExpandableListView等,也许你还用过PinnedHeaderListView,但是如果我说PinnedHeaderExpandableListView,你听过吗?还有可下拉的PinnedHeaderExpandableListView呢...

2014-05-12 00:18:11

阅读数:35888

评论数:97

Android源码分析-资源加载机制

转载请注明出处:http://blog.csdn.net/singwhatiwanna/article/details/23387079 (来自singwhatiwanna的csdn博客)前言我们知道,在activity内部访问资源(字符串,图片等)是很简单的,只要getResources然后就可...

2014-04-26 15:16:15

阅读数:23881

评论数:20

Android apk动态加载机制的研究(二):资源加载和activity生命周期管理

为了更好地阅读本文,你需要先阅读Android apk动态加载机制的研究这篇文章,在此文中,博主分析了Android中apk的动态加载机制,并在文章的最后指出需要解决的两个复杂问题:资源的访问和activity生命周期的管理,而本文将会分析这两个复杂问题的解决方法。需要说明的一点是,我们不可能调起...

2014-04-11 00:26:48

阅读数:55670

评论数:119

Android apk动态加载机制的研究

问题是这样的:我们知道,apk必须安装才能运行,如果不安装要是也能运行该多好啊,事实上,这不是完全不可能的,尽管它比较难实现。在理论层面上,我们可以通过一个宿主程序来运行一些未安装的apk,当然,实践层面上也能实现,不过这对未安装的apk有要求。我们的想法是这样的,首先要明白apk未安装是不能被直...

2014-03-30 21:53:00

阅读数:77781

评论数:75

Android源码分析-全面理解Context

Context在android中的作用不言而喻,当我们访问当前应用的资源,启动一个新的activity的时候都需要提供Context,而这个Context到底是什么呢,这个问题好像很好回答又好像难以说清楚。从字面意思,Context的意思是“上下文”,或者也可以叫做环境、场景等,尽管如此,还是有点...

2014-03-23 02:21:33

阅读数:22873

评论数:17

Android Binder机制浅析

摘要Binder是android中一个很重要且很复杂的概念,它在系统的整体运作中发挥着极其重要的作用,不过本文并不打算从深层次分析Binder机制,有两点原因:1是目前网上已经有2篇很好的文章了,2是对Binder机制进行深入底层乃至驱动的分析这一过程相当困难且相当耗时,因此并不适合重复造轮子。本...

2014-02-23 14:14:57

阅读数:20697

评论数:5

Android内核解读-应用的安装过程

前言我们知道,在android手机上安装一个apk很简单,只要打开apk文件,默认就会弹出安装界面,然后点击确定,经过若干秒后,apk就安装成功了,可是你知道apk的安装过程是什么吗?你知道android系统在安装一个apk的时候都干了什么吗?在本文中,将一一解答这个问题。简单来说,apk的安装过...

2014-02-22 17:44:20

阅读数:16046

评论数:13

Android内核解读-Android系统的开机启动过程

转载请注明出处:http://blog.csdn.net/singwhatiwanna/article/details/19302593前言当长按手机的power键,Android手机就会开机,那么Android系统的开机启动过程到底是怎么样的呢,本文将要介绍这一过程。简单来说,Android系统...

2014-02-17 01:57:46

阅读数:15498

评论数:14

Ubuntu上Lamp的搭建

Step 1: 安装 mysql1 sudo apt-get install mysql-client mysql-serverStep 2: 安装 Apache21 sudo apt-get install apache2Step 3: 安装 PHP 支持1 sudo apt-get insta...

2014-02-15 14:26:06

阅读数:5269

评论数:0

树立个人品牌:让名企hr们主动来找你

前言        作为一名程序员,如何更快地提高自己从而让自己向更高级别飞跃是每个人都要关心的问题。质的飞跃是一个慢慢的过程,哲学上说:大量的量变会带来质变,也就是说,程序员想要当架构师、技术leader乃至CTO,不可避免的一步就是要完成许多量变。如何实现量变?从根本上来说就是提高自己的个人能...

2014-02-14 00:06:33

阅读数:24193

评论数:69

Android中屏幕密度和图片大小的关系分析

转载请注明出处:http://blog.csdn.net/singwhatiwanna/article/details/19139013前言Android中支持许多资源,包括图片(Bitmap),对应于bitmap的文件夹是drawable,除了drawable,还有drawable-ldpi、d...

2014-02-13 01:30:58

阅读数:12833

评论数:9

Smali语法介绍

Smali背景:Smali,Baksmali分别是指安卓系统里的Java虚拟机(Dalvik)所使用的一种.dex格式文件的汇编器,反汇编器。其语法是一种宽松式的Jasmin/dedexer语法,而且它实现了.dex格式所有功能(注解,调试信息,线路信息等)。Smali,Baksmali分别是冰岛...

2014-02-09 22:39:47

阅读数:13917

评论数:2

Android逆向工程-破解 哈皮妹-萝莉

转载请注明出处:http://blog.csdn.net/singwhatiwanna/article/details/18797493前言新的一年新的开始,除了继续我的原有课题之外,我还打算研究下Android逆向工程的一些东西,主要包括反编译、Smali、APK打包、签名、反逆向和移动安全等。...

2014-01-26 18:01:24

阅读数:20608

评论数:32

2014,新的一年我的计划

过几天就要过年了,这里祝大家春节快乐!在外面打拼一年了,赶快回家过年吧,哈哈。 2014对我来说是很重要的一年,是我快速提高自己的一年。工作上,我将会承担越来越重的工作量;分享上,我将持续更新我的CSDN博客,同时在GitHub和StackOverflow上有所活动。 关于CSDN博客,目前我主要...

2014-01-25 00:49:39

阅读数:8619

评论数:20

Android中将View的内容保存为图像的方法

原理:创建一个新的Bitmap,然后再根据它来创建一个Canvas,最后调用View的draw方法将View画到Canvas上,这样得到的Bitmap就是我们想要的。代码: public Bitmap createViewBitmap(View v) { Bitmap bit...

2014-01-23 10:16:03

阅读数:7803

评论数:5

Android源码分析-Alarm机制与Binder的交互

前言本次给大家分析的是Android中Alarm的机制以及它和Binder的交互,所用源码为最新的Android4.4。因为Alarm的功能都是通过Binder来完成的,所以,介绍Alarm之前必须要先介绍下它是如何调用Binder来完成定时功能的。由于内容较多,本文会比较长,在文章结构安排上是这...

2014-01-19 00:56:53

阅读数:11277

评论数:15

给TextView加上多彩效果:改变部分字体的大小和颜色

转载请注明出处:http://blog.csdn.net/singwhatiwanna/article/details/18363899前言在实际使用中,有时候会遇到特殊需求,比如pm突发奇想,想把TextView的某几个字变的大一点,再加点颜色,这貌似不好搞,如果是给TextView整体加效果就...

2014-01-16 18:30:54

阅读数:32771

评论数:19

Android源码分析-Activity的启动过程

转载请注明出处:http://blog.csdn.net/singwhatiwanna/article/details/18154335前言Activity是Android中一个很重要的概念,堪称四大组件之首,关于Activity有很多内容,比如生命周期和启动Flags,这二者想要说清楚,恐怕又要...

2014-01-12 01:25:32

阅读数:37514

评论数:42

如何写一篇好文章?

如何写一篇好文章,对别人有用的文章首先,如果你写文章的目的是为了给自己看,那怎么写都无所谓,如果,你写的文章是给别人看的,那么我的理解是这样的:1.针对简单概念,你要介绍的全面,理论配合demo,能够让一个不懂的人看了之后懂了2.针对有点难度的概念,你要一步一步地详细介绍,让刚入门的小伙伴们能够仿...

2014-01-07 20:18:36

阅读数:5680

评论数:13

Android源码分析—属性动画的工作原理

转载请注明出处:http://blog.csdn.net/singwhatiwanna/article/details/17853275 前言 本文为Android动画系列的最后一篇文章,通过对源码的分析,能够让大家更深刻地理解属性动画的工作原理,这有助于我们更好地使用属性动画。但是,由于动画的底...

2014-01-05 00:05:50

阅读数:21646

评论数:27

Android属性动画深入分析:让你成为动画牛人

转载请注明出处:http://blog.csdn.net/singwhatiwanna/article/details/17841165 前言 感谢你阅读本文,我坚信读完本文肯定不会让你失望的。想要做动画牛人?想要精通动画?那么本文所讲的内容都是你必须要掌握的。关于动画,我已经写了两篇博文,但是还...

2014-01-04 18:29:20

阅读数:42501

评论数:75

WebView Attack In Android : 解析第三方账号登录平台所存在的安全隐患

转载请注明出处:http://blog.csdn.net/singwhatiwanna/article/details/17663345 前言 这是一个很有趣的话题,WebView在Android中包括IOS中都是一个很重要的控件,有了它,我们可以直接在应用里打开网页而不用跳到浏览器,且网页效...

2013-12-30 01:21:43

阅读数:10250

评论数:20

设计模式—适配器模式

转载请注明出处:http://blog.csdn.net/singwhatiwanna/article/details/17659905 前言 适配器模式在设计模式体系中属于结构型模式,可以分为三类:类的适配器模式、对象的适配器模式和接口的适配器模式,由于类和接口的适配器模式需要适配器继承原有...

2013-12-29 22:33:10

阅读数:5615

评论数:7

Android动画进阶—使用开源动画库nineoldandroids

转载请注明出处:http://blog.csdn.net/singwhatiwanna/article/details/17639987 前言 Android系统支持原生动画,这为应用开发者开发绚丽的界面提供了极大的方便,有时候动画是很必要的,当你想做一个滑动的特效的时候,如果苦思冥想都搞不定...

2013-12-28 23:47:12

阅读数:46959

评论数:27

Android源码分析—带你认识不一样的AsyncTask

转载请注明出处:http://blog.csdn.net/singwhatiwanna/article/details/17596225 前言 什么是AsyncTask,相信搞过android开发的朋友们都不陌生。AsyncTask内部封装了Thread和Handler,可以让我们在后台进行计...

2013-12-27 02:28:29

阅读数:19399

评论数:47

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