- 博客(607)
- 资源 (8)
- 收藏
- 关注
原创 Android刷机脚本——updater-script
前言 updater-script是Android手机刷入系统时的脚本文件,由它来决定Android系统需要刷入哪些内容,如何刷入。语法1. mount语法: mount(fs_type, partition_type, location, mount_point)。作用:挂载一个文件系统到指定的挂载点。返回值:成功返回挂载点,失败返回null。说明:
2014-12-14 16:48:07 4922
原创 Android解析XML文件
前言 在学习Android的Framework层源码时,Android大量的使用XmlPullParser来解析xml文件的源码。因此,这里也顺道介绍一下XmlPullParser的使用。XML XML(eXtensible Markup Language)中文名为可扩展标记语言。标记指计算机所能理解的信息符号,通过此种标记,计算机之间可以处理包含各种信息的文章等。
2014-11-25 15:33:40 2246 2
原创 Android EditText插入表情(字符串)到光标位置
前言 之前写的一个Android应用,在回复帖子插入表情的时候存在一个BUG,就是无法在EditText中指定的光标处插入表情字符串,每次添加的表情字符串都跑到了文字末尾。分析了一下apk源码,发现是在表情盘的click响应事件中没有正确处理表情字符串添加方法,这里记录一下如何在EditText指定光标处插入表情盘字符串。EditText光标处插入表情方法 既然是在
2014-11-23 23:08:43 2714
原创 Android摇一摇振动效果Demo
前言 在微信刚流行的时候,在摇一摇还能用来那啥的时候,我也曾深更半夜的拿着手机晃一晃。当时想的最多的就是,我靠,为神马摇一下需要用这么大的力度,当时我想可能腾讯觉得那是个人性的设计,后来才发觉尼马重力加速度设得太高了吧。扯多了,最近项目里需要解决一个振动的问题,因此在学习振动实现的过程中,写了个demo实现了摇一摇振动的效果,这里记录一下。原理 摇一摇功能的基本原理
2014-11-17 18:14:42 4299
原创 Android的Root原理
前言一直很好奇Android Root的原理,恰好最近碰到了一个跟Android默认带Root权限的问题,这里顺便记录一下Android系统root的原理。原理Android是基于Llinux内核的开源操作系统,与Ubuntu系统类似,所以在Android里获取root权限其实和在Linux系统下获取root权限是一回事。在Linux系统下获取root权限的方法是在命令行执行s
2014-11-07 18:04:12 3144
原创 Java并发协作——生产者、消费者模型
概述对于多线程程序来说,生产者和消费者模型是非常经典的模型。更加准确的说,应该叫“生产者-消费者-仓库模型”。离开了仓库,生产者、消费者就缺少了共用的存储空间,也就不存在并非协作的问题了。示例定义一个场景。一个仓库只允许存放10件商品,生产者每次可以向其中放入一个商品,消费者可以每次从其中取出一个商品。同时,需要注意以下4点:1. 同一时间内只能有一个生产者生产,生产
2014-11-04 18:06:16 1428
原创 经典面试题目——250M内存处理10G大小的log文件
前言周末逛知乎的时候,看到的一个经典面试题目:http://www.zhihu.com/question/26435483,很经典的一道分而治之的题目。题目描述如下:有次面试遇到一个问题,10G的log里面每一行都保存着一个url,内存只有250M,当输入一个url时,如果快速查出日志里是否有这条记录,如果有,有多少条?要求不能使用数据库,只能使用文本处理。思路之前我的
2014-11-03 14:35:44 10626 2
原创 Linux/Ubuntu sudo提权不输入密码
前言在写自动化打包脚本的过程中,zip打包时需要用到sudo权限,但是每次输入密码太过麻烦,因此这里介绍一下sudo提权不需要输入密码的方法。修改/etc/sudoers假设我们当前的用户是"wzy",则需要在/etc/sudoers文件中增加如下语句:# No Password for wzywzy ALL=(ALL)NOPASSWD:ALLgoogle了一些答案
2014-10-30 12:35:09 5579 3
原创 Bash Shell 解析路径获取文件名和目录名
前言还是今天再写一个自动化打包脚本,用到了从路径名中获取最后的文件名。这里记录一下实现过程。当然,最后我也会给出官方的做法。(ps:很囧,实现完了才发现原来Bash Shell有现成的函数)获取文件名假设给定的路径名为:/tmp/csdn/zhengyi/test/zhengyi.txtawk解法用“/”做分隔符,然后打印出最后的那一部分。实现代码如下:resFil
2014-10-29 20:33:28 23046 1
原创 Bash Shell 流程控制 —— select
前言今天刚好写了一个自动化打包脚本,再次使用到了bash shell,好幸福的感觉。这里主要是想介绍一下select命令,这个命令可以帮助我们完成菜单选择功能。格式我今天也是第一次使用select流程控制,在php、Java、C这些语言中并没有实现select功能。Bash Shell中,select格式如下:select $var in ${list[@]}do
2014-10-29 18:15:46 2567
原创 Android SparseArray源码分析
前言昨晚想在Android应用中增加一个整形到字符串的字典表,使用HashMap实现的时候,Eclipse给出了一个警告,昨晚项目上线紧张,我直接给忽略了,今天看了一下具体的Eclipse提示如下:Use new SparseArray (...) instead for better performance这个警告的意思是使用SparseArray来替代,以获取更好的性能。
2014-10-29 11:10:24 2046
转载 浅谈Service Manager成为Android进程间通信(IPC)机制Binder守护进程之路
原文链接转载著名出处:http://blog.csdn.net/luoshengyang/article/details/6621566
2014-10-22 20:05:53 1711
原创 Android.mk详解
概述Android.mk文件用来向编译系统描述如何编译你的源代码。更确切地说,该文件其实就是一个小型的Makefile。由于该文件会被NDK的编译工具解析多次,因此应该尽量减少源码中声明变量,因为这些变量可能会被多次定义从而影响到后面的解析。这个文件的语法允许把源代码组织成模块,每个模块属于下列类型之一:1. APK程序:一般的Android程序,编译打包生成apk文件。2. JAV
2014-10-10 12:27:00 9773 3
原创 Android源码仓库和Repo工具使用
前言好久没有双休一个周末了,唉,闲话不多说了,不管任何时候都要多学习充实自己。ROM Porting的工作是很繁琐的,涉及的知识点很多,这里介绍一下ROM Porting经常听到的名词和Repo工具的使用。AOSP、AOKP、CM相信很多Android发烧友对这几个单词都是耳熟能详了,这里还是给新入门的朋友们普及一下这几个单词背后的含义。AOSP是“Android Open
2014-09-22 21:03:12 4613 1
原创 Android Fragment使用
前言android的东西还是好复杂,多学习多总结了只能FragmentsFragment表现Activity中用户界面的一个行为或者是一部分。你可以在一个单独的activity上把多个fragment组合成为一个多区域的UI,并且可以在多个activity中再使用。你可以认为fragment是activity的一个模块零件,它有自己的生命周期,接收它自己的输入事件,并且可以在a
2014-09-18 20:03:08 1645
原创 Android HTTPS详解
前言最近有一个跟Https相关的问题需要解决,因此花时间学习了一下Android平台Https的使用,同时也看了一些Https的原理,这里分享一下学习心得。HTTPS原理HTTPS(Hyper Text Transfer Protocol Secure),是一种基于SSL/TLS的HTTP,所有的HTTP数据都是在SSL/TLS协议封装之上进行传输的。HTTPS协议是在HTTP
2014-09-15 17:27:50 6413 8
原创 Android选取相册图片并裁剪
前言Android应用中经常会遇到上传相册图片的需求,这里记录一下如何进行相册图片的选取和裁剪。相册选取图片1. 激活相册或是文件管理器,来获取相片,代码如下: private static final int TAKE_PICTURE_FROM_ALBUM = 1; private void takePictureFromAlbum() { Intent inten
2014-08-30 11:13:25 2198
原创 解决java.util.concurrent.RejectedExecutionException
前言昨晚12:00运行自动化测试脚本时遇到了java.util.concurrent.RejectedExecutionException这个异常,从异常名称里很容易分析出是提交的任务被线程池拒绝了。查看源码发现是在Activity里,AsyncTask是在自定义的线程池的运行的,但是onDestory函数里确是先显示调用了线程池的shutdown方法,然后才是AsyncTask的cancel
2014-08-29 15:48:02 192927 8
原创 [Android]WebView method must on same thread
问题描述最近代码里使用了webview,主要是使用webview load了远程的url。但是我从实现了javascript接口,调用javascript中方法刷新url时,发现刷新代码没有实际效果。示例代码如下:public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceSta
2014-08-11 20:07:26 2157
原创 Android BadTokenException 问题解决
前言今天测试过程中发现了“android.view.WindowManager$BadTokenException”问题,这里记录一下解决方法。(PS:第一款应用上线了,感觉BUG还是比较多,感觉因为这个应用,能不能过试用期都是问题了,只能坚持加油了)。问题分析这种问题其实在错误日志中都能给出很好的提示,下面贴一下部分有用的错误日志,如下所示:android.view.Wi
2014-08-07 20:50:42 10291 2
原创 Android消息处理机制——Looper、Handler、Message 源码分析
学习Android源码,分析Handler、Looper、Message,欢迎指导!
2014-08-03 16:10:12 4557 4
原创 Android Layout 布局属性
前言Android应用开发工程师比可避免的会遇到UI设计师提供了效果图,需要在短期内快速实现UI效果。这需要Android应用开发工程师对Android Layout布局有熟悉的了解,才能快捷的搭建起UI框架来。Android LayoutAndroid中Layout主要有:FrameLayout、LinearLayout、RelativeLayout、TableLayout、
2014-08-01 15:00:55 1570
原创 Eclipse正确导入第三方工程
前言昨晚在不同的Android做最后上线测试的时候,突然一个在其他平台正常的升级提示功能报出了“java.lang.NoClassDefFoundError”的错误。赶紧adb logcat *:W查看错误日志,发现了引用的第三方项目的类不存在。幸亏阿里这边大牛多,而且普通走的比较晚,稍微说明一下我的使用情况,就给我指出了第三方工程引入方式不对的问题,这里记录一下。引入工程步骤
2014-08-01 12:03:02 3272 1
原创 Linux下使用Fastboot给手机刷ROM
前言一直在刷机、失败、刷机、失败中,还好今天有个任务可以使用fastboot刷机,好开心,终于不用切换系统了。(话说好久没有写代码了,身为一个互联网程序员,不写代码我容易紧张)。开发环境Ubuntu13.10,配置好Android的开发环境即可。具体配置可参考:http://blog.csdn.net/wzy_1988/article/details/37737255
2014-07-16 19:31:33 11224
原创 Android开机动画 (boot animation)制作
前言Rom Porting第一部可能就是开机动画的移植,这个移植过程还是相当简单的,简要介绍一下Android 开机动画的制作。Boot AnimationAndroid系统自android 2.0以后,均使用/system/bin/bootanimation程序来显示开机动画,如需要修改开机动画,不用修改代码,只需要按格式要求制作bootanimation.zip包即可。zi
2014-07-15 17:26:20 5588
原创 System.getProperty()小结
前言今天帮组里的同学用System.getProperty()来获取当前系统的属性,例如java虚拟机版本、操作系统名称等属性,这里简单记录一下System.getProperty()获取指示键指示的系统属性,但是在Android系统中有一些特定的值是Dalvik VM提供的,不允许修改,后面会具体给出。测试代码:System.out.println(S
2014-07-14 16:20:13 2448
windows scoket编程
2011-11-28
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人