自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

张超的博客

学习及生活点滴

  • 博客(93)
  • 资源 (1)
  • 收藏
  • 关注

转载 深入理解Android工程的编译过程

包进行自动化,比如建立每日构建系统、自动生成发布文件等等。这些都需要我们对Android工程的编译和打包有一个深入的理解,至少要知道它的每一步都做了什么,需要什么环境和工具,输入和输出是什么。那么我们就来挖掘一下Android的编译过程中的细节。首先,我们假定你的系统(什么系统都行,不限于Linux还是Windows系统,当然,我在这里默认使用Linux系统来举例子,但在 Window

2014-05-23 22:29:54 634

原创 ubuntu10.04安装中文输入法

1. sudo add-apt-repository ppa:shawn-p-huang/ppasudo apt-get updatesudo apt-get install ibus-gtk ibus-qt4 ibus-pinyin ibus-pinyin-db-open-phrase2. 如果用快捷键无法调出输入法,可能是ibus-daemon守护进程没有启动,此时通知区域应该看不到输

2014-03-17 20:43:09 602

转载 Base64编码

原文链接:http://www.cnblogs.com/hongru/archive/2012/01/14/2321397.html我们的图片大部分都是可以转换成base64编码的data:image。 这个在将canvas保存为img的时候尤其有用。虽然除ie外,大部分现代浏览器都已经支持原生的基于base64的encode和decode,例如btoa和atob。(将canvas画布

2014-03-11 12:01:53 510

转载 ANR分析

来自: 123 http://blog.csdn.net/tjy1985/article/details/6777355 http://blog.csdn.net/tjy1985/article/details/6777983 http://www.eoeandroid.com/forum.php

2014-03-04 22:20:40 1629

转载 XMPP协议

原文链接http://www.cnblogs.com/hanyonglu/archive/2012/03/04/2378956.html本文介绍XMPP协议原理及相关信息。 XMPP协议简介  XMPP(Extensible Messageing and Presence Protocol:可扩展消息与存在协议)是目前主流的四种IM(IM:instant mes

2014-03-03 10:34:20 552

转载 APK反编译步骤

博客转载自:http://blog.csdn.net/sunboy_2050/article/details/6727581 这段时间在学Android应用开发,在想既然是用Java开发的应该很好反编译从而得到源代码吧,google了一下,确实很简单,以下是我的实践过程。在此郑重声明,贴出来的目的不是为了去破解人家的软件,完全是一种学习的态度,不过好像通过这种方式也可以去汉

2014-02-23 23:36:37 725

转载 Android的网络与通信

原文链接:http://www.cnblogs.com/qingblog/archive/2012/06/15/2550735.htmlAndroid的网络与通信第一部分 Android网络基础   Android平台浏览器采用了WeBKit引擎,这款名为Chorme Lite的Web浏览器拥有强大扩展特性,每个开发者都以为编写自己的插件,使得浏览器的功能更加完善。

2014-02-23 23:35:23 775

原创 Fragment使用

Fragment的介绍Fragment是一个可重用的UI组件,这样可以提高程序的灵活性。Fragment可以理解为轻量级的Activity,比Activity的优点在于可以减少在AndroidMainfest.xml中定义,可以更好对不同设备的UI兼容。1. 创建Fragment示例一:public class FragmentDemo1 extends Fragmen

2014-02-15 19:33:55 744

转载 PreferenceActivity

原文链接:http://blog.csdn.net/zhang31jian/article/details/7967290现有某Activity专门用于手机属性设置 那么应该如何做呢?Activity + Preference 组合 前者用于界面构建 后者用于设置数据存放 其实 这是正确的 但是 这会比较繁琐 因为 每个设置选项 都要建立与其对应的Preference。所以现在

2014-02-14 21:57:11 628

原创 通过Http协议从webservice中获取数据

通过Http协议从webservice中获取服务步骤:1. 当需要从webservice中获取某中服务的时候,首先要搞清楚服务提供方给出的要求2. 根据webservice中的说明编写相应的代码示例1. 服务URL :http://www.webxml.com.cn/WebServices/WeatherWebService.asmx2. getWeatherbyCityn

2014-02-14 15:47:51 3891 1

转载 android 服务概述 本地服务示例

原文链接:http://byandby.iteye.com/blog/1026110  Android 支持服务的概念。服务是在后台运行组件,没有用户界面。可以将这些组件想象为Windows 服务或UNIX服务。 与这些服务类型类似,Android服务始终可用,但无需主动执行某些操作。    Android 支持两种服务类型的服务:本地服务和远程服务。本地服务无法供在设备上运行其他应用程序

2014-02-13 21:02:09 561

原创 android中的本地服务

Service分为本地服务和远程服务,今天学习了其中的本地服务。1. 创建服务1> 创建服务的步骤:a> 写一个继承自Service的类;b> 覆写onBind方法,如果该服务不与Activity交互,返回null即可,如果需要与Activity进行交互,则需要写一个继承自Binder的类并实现你需要交互的接口;c> 根据需求可以覆写Service的生命周期函数,包括onC

2014-02-13 20:54:01 563

原创 谷歌N4进入开发者模式

大家都知道从4.0开始usb调试选项出现在"开发者选项"里,而四儿子默认的状态是不显示开发者选项的,所以呢我们需要如下步骤:设置>关于手机。     然后滑到最下面找到版本号!找到它就对着它狂点一顿吧!(实际上是点7次)做到这里就ok啦,返回,你就发现开发者选项出现了!打开它,usb调试就有了!

2014-02-13 17:39:40 755

原创 android4.x Notification使用

android4.x中notification的使用1. 创建一个通知的步骤:1> 创建一个Notification的builderNotificationCompat.Builder builder = new NotificationCompat.Builder(this);builder.setSmallIcon(R.drawable.demo);builder.se

2014-02-13 17:22:03 1216 1

原创 简易MP3播放器实现

简易MP3实现包括以下几个部分:1. 下载模块1> 功能a> 从服务器下载歌曲列表b> 根据用户选择下载对应的MP3文件以及对应的lrc文件(如果存在)2> 涉及的技术a> 网络操作String path = "需要下载的文件路径";URl url = new URL(path);HttpURLConnection httpConn

2014-02-12 19:30:40 1321

转载 成为Android高手必须掌握的28大项内容和10个建议

原文链接:http://blog.csdn.net/jingwen3699/article/details/7723805一)成为Android高手必须掌握的8项基本要求 【1】 Android操作系统概述1. Android系统架构。           2. Android利用设计理念。           3. Android 开源知识。     

2014-02-10 22:12:34 627

原创 ActivityManagerService中的main函数

main方法源码:1. 创建一个AThread对象thr;2. AThread中创建ActivityManagerService对象;3. AThread中的成员mService指向ActivityManagerService对象引用;4. 创建ActivityThread对象;5. 获取上下文(Context)对象;6, 创建ActivityStack;7. star

2014-02-10 16:23:01 1028

原创 PowerManager.WakeLock使用Demo

PowerManager.WakeLock 有加锁和解锁两种状态,加锁的方式有两种,一种是永久的锁住,这样的锁除非显式的放开,是不会解锁的,所以这种锁用起来要非常的小心。第二种锁是超时锁,这种锁会在锁住后一段时间解锁。        在创建了PowerManager.WakeLock 后,有两种机制,第一种是不计数锁机制,另一种是计数锁机制。这可以通过setReferenceCounted

2014-02-09 23:17:05 964

原创 userActivity学习

例子: 打开收,并解锁进入桌面,如果在规定时间内不操作手机,那么屏幕将变暗,最后关闭。在此过程中,如果触动屏幕,屏幕又会重新变亮。这个触动屏幕的操作将触发userActivity函数的调用。上例中涉及两方面1. 不操作手机,屏幕将变暗,最后关闭。在PowerManagerService中,这是一个状态切换过程;2. 操作手机,将触发userActivity,此后屏幕变亮;源代码:

2014-02-09 21:56:43 3065

转载 Java程序员应该了解的10个面向对象设计原则

面向对象设计原则是OOPS(Object-Oriented Programming System,面向对象的程序设计系统)编程的核心,但大多数Java程序员追逐像Singleton、Decorator、Observer这样的设计模式,而不重视面向对象的分析和设计。甚至还有经验丰富的Java程序员没有听说过OOPS和SOLID设计原则,他们根本不知道设计原则的好处,也不知道如何依照这些原则来进行编程

2014-02-09 19:07:56 549

转载 Android开发指南-AIDL

原文链接:http://www.cnblogs.com/over140/archive/2011/03/08/1976890.html前言  本章内容为开发者指南(Dev Guide)/Developing/Tools/aidl,版本为Android2.3 r1,翻译来自"移动云_文斌",欢迎访问它的博客:"http://blog.csdn.net/caowenbin",再次感谢"移动云_

2014-02-09 18:59:38 646

原创 进程间复杂数据类型传递

进程间复杂数据类型传递涉及服务端和客户端1. 服务端1> 目录结构2> 传递的数据类Personpackage com.zhangchao.aidl;import android.os.Parcel;import android.os.Parcelable;public class Person implements Parcelable { private S

2014-02-09 18:14:17 739

转载 使用AIDL实现进程间的通信之复杂类型传递

原文链接:http://blog.csdn.net/liuhe688/article/details/6409708上次讲到简单的AIDL进程间通信的操作,客户端向服务端发送一个String类型的参数,服务端也返回一个String类型的结果,看似已经可以完成基本的需要了。不过在有的时候,简单的数据类型并不能满足我们的需求,我们就需要考虑怎样向服务端传递复杂的数据类型。今天就来讲一下如何向服

2014-02-09 17:23:00 666

转载 使用AIDL实现进程间的通信

原文链接:http://blog.csdn.net/liuhe688/article/details/6400385在Android中,如果我们需要在不同进程间实现通信,就需要用到AIDL技术去完成。AIDL(Android Interface Definition Language)是一种接口定义语言,编译器通过*.aidl文件的描述信息生成符合通信协议的Java代码,我们无需自

2014-02-09 15:31:24 507

原创 BatteryService学习笔记

BatteryService是提供接口用于获取电池信息,充电状态等;BatteryService创建: battery = new BatteryService(context, lights); ServiceManager.addService("battery", battery);BatteryService构造方法:1. BatteryService定义的3段阀值

2014-02-09 11:27:59 1485

原创 PowerManagerService学习笔记一

PowerManagerService(PMS): 主要负责Android系统中电源管理方面的工作。与其直接关系的类成员有如下几个:PowerManagerService从IPowerManager.Stub派生,并实现了Watchdog.Monitor及LocalPowerManager接口;IPowerManager.Stub及其内部类Proxy均有aidl工具处理IPower-Man

2014-02-08 20:28:54 1387

原创 PacakgeManagerService学习笔记九-APK installation

APK安装大致流程图:

2014-02-07 18:00:13 611

原创 PacakgeManagerService学习笔记八-APK installation

/*DefaultContainerService.java*/1. getMinimalPackageInfo: 获取一个PackageInfoLite对象public PackageInfoLite getMinimalPackageInfo(final Uri fileUri, int flags, long threshold) { PackageInfoL

2014-02-07 17:57:12 1347

原创 PacakgeManagerService学习笔记七-APK installation

1. adb install: adb intall有多个参数,只做简单学习,adb install xxx.apk, adb是一个命令,install是其参数。/*--commandline.c--> adb_commandline*/int adb_commandline(int argc, char **argv){ /*-----------省略------------*/

2014-02-07 16:55:08 3096

转载 Android中Parcelable接口的应用

原文链接:http://blog.csdn.net/stevenhu_223/article/details/9209575 在前面的一篇文章基于Android应用开发的跨进程通信实现(IPC)>介绍了通过跨进程实现基本数值类型(String)的传递,但是有的时候,需要跨进程实现传递相对较复杂的数据(比如图片之类的资源),而不仅仅是基本数据。那么,如何实现复杂数据跨进程的传递使用呢?这

2014-02-06 20:08:43 617

转载 C plus书籍推荐

原文链接:第一篇一些同学问我,如何学好C++,我没有别的办法给你们,唯一的办法就是读书,读大量的书,就可以解决。要把C++作为日常语言,而不是一种程序语言,这样就好办了。有人又要问我,那么我应该读什么书才好?没有时间怎么办?我只能对你们说,没时间的话,就别学C++了,做你们喜欢做的事。生活中没有C++,也同样美好。如果你准备学,一定要学好,那么我开个书单

2014-02-06 18:30:16 698

原创 PackageManagerService学习笔记六-构造函数

scanDirLI扫描流程:系统apk扫描完毕后,扫描第三方apk,进而将扫描得到的信息持久化到文件中。

2014-02-06 17:34:29 539

原创 PackageManagerService学习笔记五-构造方法

构造方法部分代码:

2014-02-06 16:18:06 1110

原创 PackageManagerService学习笔记四-构造方法(扫描Package)

构造方法代码片段:{ /*-------------省略部分代码------------*/ /*优化扫描,check是否有需要字节码优化*/ // Set flag to monitor and not change apk file paths when // scanning install directories. /* 定义扫

2014-02-06 11:44:32 891

转载 inotify -- Linux 2.6 内核中的文件系统变化通知机制

原文链接:http://www.ibm.com/developerworks/cn/linux/l-inotifynew/一、 引言众所周知,Linux 桌面系统与 MAC 或 Windows 相比有许多不如人意的地方,为了改善这种状况,开源社区提出用户态需要内核提供一些机制,以便用户态能够及时地得知内核或底层硬件设备发生了什么,从而能够更好地管理设备,给用户提供更好的服务,如 hotpl

2014-02-05 23:22:00 586

原创 PackageManagerService学习笔记三-构造方法

PackageManagerService构造方法源码片段:{ /*---------------省略代码------------------*/ File dataDir = Environment.getDataDirectory(); mAppDataDir = new File(dataDir, "data");

2014-02-05 20:48:35 962

原创 PackageManagerService学习笔记二-构造方法

PKMS构造方法部分源码:/*Android 4.2.2源码*/public PackageManagerService(Context context, Installer installer, boolean factoryTest, boolean onlyCore){ /*---省略部分代码---*/ if(mSdkVersion <= 0) { Slog.w(TAG

2014-02-05 16:41:13 1133

转载 Java 内存分配全面浅析

原文链接:http://blog.csdn.net/shimiso/article/details/8595564本文将由浅入深详细介绍Java内存分配的原理,以帮助新手更轻松的学习Java。这类文章网上有很多,但大多比较零碎。本文从认知过程角度出发,将带给读者一个系统的介绍。进入正题前首先要知道的是Java程序运行在JVM(Java Virtual Machine,Java虚拟机)上

2014-02-04 23:37:19 471

原创 PackageManagerService学习笔记一

PackageManagerService:  主要负责系统中的Package管理,应用程序的安装,卸载,信息查询等。PackageManagerService及其涉及的类间的关系PackageManagerService的main函数时在SystemServer中调用;/*Android 4.0.1源代码*/public static final IPackageMan

2014-02-04 22:32:51 971

原创 DeviceStorageManagerService学习

DeviceStorageManagerService部分源码:/*DeviceStorageManagerService构造方法*/public DeviceStorageManagerService(Context context){ mLastReportedFreeMemTime = 0; mContext = context; /* 数据共享 */ mConten

2014-02-04 17:45:33 2050

简易MP3播放器

简易mp3实现,学习相关知识点,Handler, Service, ListActivity, TabActiviy

2014-02-12

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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