
android 基础技术总结
文章平均质量分 87
源代码科技
资深Android工程师、技术管理
展开
-
Launcher启动过程
转载:http://blog.youkuaiyun.com/luoshengyang/article/details/6767736转载 2014-04-15 09:16:40 · 1817 阅读 · 0 评论 -
android实用方法收集
一些android开发中常用到的方法集合原创 2014-08-20 10:17:30 · 1432 阅读 · 1 评论 -
Activity属性官方详解
SYNTAX:<activity android:allowTaskReparenting=["true" | "false"] android:alwaysRetainTaskState=["true" | "false"] android:clearTaskOnLaunch=["true" | "false"] android:con转载 2014-08-13 15:54:28 · 4080 阅读 · 1 评论 -
android 为图片打上水印
说起水印其实很简单,就是在一张图片上面画上另一张图片或文字实现如下:package com.tang.watermark;import android.app.Activity;import android.graphics.Bitmap;import android.graphics.BitmapFactory;import android.graphics.Canvas;im原创 2014-09-22 10:06:00 · 2583 阅读 · 4 评论 -
android4.4中自动更新时间机制
名词解释:NITZ:NITZ(Network Identity and Time Zone)或网络标识和时区,是一种用于自动配置本地的时间和日期的机制,同时也通过无线网向移动设备提供运营商信息。NITZ是自从PHASE 2+ RELEASE 96 的GSM中的可选功能,经常被用来自动更新移动电话的系统时钟。NTP:NTP(Network Time Protocol)提供准确时间,首先要有准原创 2014-09-15 15:11:41 · 3255 阅读 · 2 评论 -
home键监听、屏蔽和模拟home键
/** * 模拟按home键 * 程序退到后台运行 * @param context */ private void imitatePressHome(Context context) { Intent intent = new Intent(Intent.ACTION_MAIN); intent.setF原创 2014-09-27 11:40:51 · 2068 阅读 · 0 评论 -
三种方法让你的Service不被“一键加速”和系统杀掉
基本上大家都知道提高service优先级可以在很大程度上让你的service免于因为内存不足而被kill,当然系统只是在此时先把优先级低的kill掉,如果内存还是不够,也会把你的service干掉的.1.android:persistent="true"常驻内存属性对第三方app无效,下面是官方说明android:persistent Whether or not t原创 2014-10-16 10:30:21 · 2537 阅读 · 2 评论 -
进程间通信---AIDL的使用实例
AIDL (Android Interface Definition Language) 是一种IDL 语言,用于生成可以在Android设备上两个进程之间进行进程间通信(interprocess communication, IPC)的代码。如果在一个进程中(例如Activity)要调用另一个进程中(例如Service)对象的操作,就可以使用AIDL生成可序列化的参数。本文简单介绍AIDL的使用原创 2014-11-05 16:30:53 · 1469 阅读 · 0 评论 -
adb shell input
命令格式1:adb shell input keyevent “value”原创 2015-01-15 17:06:47 · 981 阅读 · 0 评论 -
将程序变成system app 实现home、back、menu等按键模拟
1.要使一个程序成为系统程序我们必须咋原创 2014-10-15 15:27:42 · 2458 阅读 · 0 评论 -
adb shell am broadcast
adb shell am broadcast 后面的参数有:[-a ][-d ][-t ] [-c [-c ] ...] [-e|--es ...] [--ez ...] [-e|--ei ...] [-n ][-f ] []例如:adb shell am broadcast -a com.xxxxx --es key_原创 2015-01-13 11:56:11 · 1351 阅读 · 0 评论 -
U盘是否挂载
private static final String MOUNTS_FILE = "/proc/mounts";public static boolean isMounted(String path) { boolean blnRet = false; String strLine = null; BufferedReader reader =原创 2015-04-18 16:18:17 · 1346 阅读 · 0 评论 -
HashMap遍历方法
Map map = new HashMap(); Iterator iter = map.entrySet().iterator(); while (iter.hasNext()) { Map.Entry entry = (Map.Entry) iter.next(); Object key = entry.getKey(); Object val = entry.getVal原创 2015-10-23 10:52:13 · 484 阅读 · 0 评论 -
Android内存泄漏分析及调试
尊重原创作者,转载请注明出处:http://blog.youkuaiyun.com/gemmem/article/details/13017999此文承接我的另一篇文章:Android进程的内存管理分析 首先了解一下dalvik的Garbage Collection:如上图所示,GC会选择一些它了解还存活的对象作为内存遍历的根节点(GC Ro转载 2015-10-23 11:57:24 · 629 阅读 · 0 评论 -
Android横竖屏总结
Android横竖屏要解决的问题应该就两个:一.布局问题二.重新载入问题1.布局问题:如果不想让软件在横竖屏之间切换,最简单的办法就是在项目的AndroidManifest.xml中找到你所指定的activity中加上android:screenOrientation属性,他有以下几个参数:"unspecified":默认值 由系统来判断显示方向.判定的策略转载 2015-10-28 16:43:15 · 1051 阅读 · 0 评论 -
android 垃圾清理 文件清理
欢迎转载,转载请注明:http://blog.youkuaiyun.com/zhgxhuaa说明在总篇中提到过垃圾清理,本篇将着重介绍针对缓存、卸载残留、无用数据等“静态内容”的清理,有关于系统进程的清理以及手机加速的相关功能,将放到《手机加速篇》中介绍研究。什么是垃圾关于系统垃圾的定义现在很多手机管理软件中都有垃圾清理的功能,本篇也来对垃圾清理做一转载 2015-10-29 10:32:39 · 7863 阅读 · 1 评论 -
android 内存清理
欢迎转载,转载请注明:http://blog.youkuaiyun.com/zhgxhuaa说明在上一篇中介绍了“垃圾清理”,在系统优化中有一个功能往往是与垃圾清理分不开的,那就是“手机加速”。目前流行的管理软件中以及网络上并没有明确的定义什么叫“垃圾清理”什么叫“手机加速”。结合上一篇的“垃圾清理”这里统一做一个在本系列文章中的定义:n 垃圾清理:在本系列文章中认转载 2015-10-29 10:34:39 · 6777 阅读 · 0 评论 -
多线程安全
首先要明白线程的工作原理,jvm有一个main memory,而每个线程有自己的working memory,一个线程对一个variable进行操作时,都要在自己的working memory里面建立一个copy,操作完之后再写入main memory。多个线程同时操作同一个variable,就可能会出现不可预知的结果。根据上面的解释,很容易想出相应的scenario。原创 2015-12-26 11:25:25 · 630 阅读 · 0 评论 -
数据存储(二)--SAX引擎XML存储(附Demo)
Android SDK只支持采用SAX技术读取XML,SAX采用顺序读取的方式来处理XML文档。这就要求在每读取XML文档的某个节点时会触发相应的事件来处理这个节点。下面基于一个实例讲述SAX的使用:原创 2014-07-22 15:59:33 · 1402 阅读 · 0 评论 -
android系统漏洞
android的一个小漏洞原创 2014-04-09 10:14:14 · 2119 阅读 · 0 评论 -
MVC ListView 随笔
1.什么是MVC2.MVC与Android SDK3.Adapter的简单使用原创 2014-06-11 17:08:55 · 2294 阅读 · 0 评论 -
多线程学习
package com.example.threaddemo;import org.apache.http.impl.client.TunnelRefusedException;import android.os.Bundle;import android.os.Handler;import android.os.Message;import android.app.Activity原创 2014-04-17 15:45:39 · 1246 阅读 · 0 评论 -
android换皮肤思路总结
前段时间公司有做换皮肤的项目,经过网上搜罗,查看资料,我个人总结三种换皮肤的方法。 网上说的最多的就是使用android:sharedUserId标签来共享资源,但是经我测试无论用不用这个标签资源都可以访问,而且Launcher换皮肤的时候不能用这个标签来共享进程。第一种方法先上代码:MainActivity.javapackage com.app;import java.lang.re原创 2014-04-02 16:14:27 · 2876 阅读 · 1 评论 -
android数据读写
package com.example.filerw;import java.io.BufferedReader;import java.io.File;import java.io.FileInputStream;import java.io.BufferedOutputStream;import java.io.FileOutputStream;import j原创 2014-04-04 11:03:15 · 1705 阅读 · 0 评论 -
android 延时执行任务
package com.example.delaydemo;import java.util.Timer;import java.util.TimerTask;import android.os.Bundle;import android.os.Handler;import android.app.Activity;import android.util.Log;原创 2014-04-19 11:52:43 · 3202 阅读 · 0 评论 -
2D绘图
摘要 Android中使用图形处理引擎,2D部分是android SDK内部自己提供,3D部分是用Open GL ES 1.0。今天我们主要要了解的是2D相关的,如果你想看3D的话那么可以跳过这篇文章。 大部分2D使用的api都在android.graphics和android.graphics.drawable包中。他们提供了图Android中使用图形处理引擎,2D部分是android SD转载 2014-04-23 10:29:45 · 1404 阅读 · 0 评论 -
Activity的生命周期
大家好,今天给大家详解一下Android中Activity的生命周期,我在前面也曾经讲过这方面的内容,但是像网上大多数文章一样,基本都是翻译Android API,过于笼统,相信大家看了,会有一点点的帮助 ,但是还不能完全吃透,所以我今天特意在重新总结一下.首先看一下Android api中所提供的Activity生命周期图(不明白的,可以看完整篇文章,在回头看一下这个图,你会明白的):转载 2014-04-09 14:22:50 · 1320 阅读 · 0 评论 -
Android 中Touch(触屏)事件传递机制
转载:http://blog.youkuaiyun.com/wangjinyu501/article/details/22584465版本:2.0日期:2014.3.21 2014.3.29 版权:© 2014 kince 转载注明出处 一、基本概念 在实际开发中,经常会遇到与触屏事件有关的问题,最典型的一个就是滑动冲突。比如在使用SliddingMenu转载 2014-05-16 17:13:03 · 2885 阅读 · 0 评论 -
android 打开系统程序
1.直接拨号intent =new Intent(Intent.ACTION_CALL,Uri.parse("tel:911"));2.将号码传入原创 2014-05-13 16:10:46 · 1905 阅读 · 0 评论 -
SQLite 操作详解--SQL语法
SQLite库可以解析大部分标准SQL语言。但它也省去了一些特性并且加入了一些自己的新特性。这篇文档就是试图描述那些SQLite支持/不支持的SQL语法的。查看关键字列表。如下语法表格中,纯文本用蓝色粗体显示。非终极符号为斜体红色。作为语法一部分的运算符用黑色Roman字体表示。这篇文档只是对SQLite实现的SQL语法的综述,有所忽略。想要得到更详细的信息,参考源代码和语法文件“pars转载 2014-05-20 18:24:28 · 3241 阅读 · 0 评论 -
launchMode 总结
launchMode在多个Activity跳转的过程中扮演着重要的角色,它可以决定是否生成新的Activity实例,是否重用已存在的Activity实例,是否和其他Activity实例公用一个task里。这里简单介绍一下task的概念,task是一个具有栈结构的对象,一个task可以管理多个Activity,启动一个应用,也就创建一个与之对应的task。Activity一共有以下四种launc转载 2014-04-29 09:11:43 · 1122 阅读 · 0 评论 -
android 系统签名
最近在做个东西,巧合碰到了sharedUserId的问题,所以收集了一些资料,存存档备份。 安装在设备中的每一个apk文件,Android给每个APK进程分配一个单独的用户空间,其manifest中的userid就是对应一个Linux用户都会被分配到一个属于自己的统一的Linux用户ID,并且为它创建一个沙箱,以防止影响其他应用程序(或者其他应用程序影响它)。用户ID 在应用程序安装到设转载 2014-06-24 15:10:18 · 1789 阅读 · 0 评论 -
数据存储(一)--SharedPreferences之你不知道的事
一、SharedPreferences将数据文件保存在指定路径上二、SharedPreferences保存图片三、SharedPreferences保存对象原创 2014-07-17 10:34:38 · 3545 阅读 · 2 评论 -
android SQLite 使用实例
Android作为目前主流的移动操作系统,完全符合SQLite占用资源少的优势,故在Android平台上,集成了一个嵌入式关系型数据库—SQLite。如果想要开发 Android 应用程序,需要在 Android 上存储数据,使用SQLite 数据库是一种非常好的选择。在一般程序中使用数据库的过程都可以框架化,套路化,实例如下:表说明:1.班级 classes:原创 2014-05-19 15:30:40 · 8751 阅读 · 0 评论 -
ListView的使用
一个ListView通常有两个职责。(1)将数据填充到布局。(2)处理用户的选择点击等操作。第一点很好理解,ListView就是实现这个功能的。第二点也不难做到,在后面的学习中读者会发现,这非常简单。一个ListView的创建需要3个元素。(1)ListView中的每一列的View。(2)填入View的数据或者图片等。(3)连接数据与ListView的适配器。也就是转载 2014-06-11 11:18:39 · 1389 阅读 · 1 评论 -
数据存储(三)--JSON数据处理
JSON是一种轻量级的数据交换格式,具有良好的可读和便于快速编写的特性,从而可以在不同平台间进行数据交换。JSON采用兼容性很高的文本格式,同时也具备类似于C语言体系的行为。JSON可以将Java对象转成json格式的字符串,可以将json字符串转换成Java。比XML更轻量级,Json使用起来比较轻便和简单。JSON数据格式,在Android中被广泛运用于客户端和服务器通信,在网络数据传输与解析原创 2014-07-23 14:23:19 · 2861 阅读 · 0 评论 -
android中反射技术使用实例
反射机制应用1.通过反射技术可以访问到其他包名下数据方法等,这些为一些APK换皮肤提供了方便2. 访问android 隐藏的API3. 修改某些“不可改” 的系统资源原创 2014-06-09 11:47:49 · 3647 阅读 · 0 评论 -
ArrayList Vector LinkedList HasMap等区别与用法
ArrayList 和Vector是采用数组方式存储数据,此数组元素数大于实际存储的数据以便增加和插入元素,都允许直接序号索引元素,但是插入数据要设计到数组元素移动等内存操作,所以索引数据快插入数据慢,Vector由于使用了synchronized方法(线程安全)所以性能上比ArrayList要差,LinkedList使用双向链表实现存储,按序号索引数据需要进行向前或向后遍历,但是插入数据时只需要原创 2015-12-26 10:49:53 · 819 阅读 · 0 评论