自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(44)
  • 收藏
  • 关注

原创 调用堆栈打印

  StackTraceElement[] stack = new Throwable().getStackTrace();            for (StackTraceElement element : stack)            {                Log.d(TAG, " |----" + element.toString());       ...

2014-02-19 11:14:35 114

android去电流程和电话大概框架

 总结一下:RIL层第一次收到电话状态改变的通知,上传到GSMCallTracker,检测电话状态后,再返回到RIL层,获取来电的各种信息(比如:号码等),在次传到GSMCallTracker,走case EVENT_POLL_CALLS_RESULT。因为之前phone进程拉起时就做好了各种注册操作,走完之前的CASE后会到APP层的CallNotifilter.java。 然后开始界面上的更...

2013-04-02 17:26:20 181

原创 android中application标签说明

<application> <application android:allowClearUserData=["true" | "false"] android:allowTaskReparenting=["true" | "false"] android:backupAgent="string&quot

2013-02-18 15:21:38 125

原创 Android Loaders

从3.0开始,Android支持loaders,loaders提供了异步载入数据以及监视数据源的变化的能力。使用loaders#初始化Loader#getLoaderManager().initLoader(  /*loader id*/0,                                 /*创建loader时的自定义参数*/null,            ...

2012-12-17 23:27:46 76

打电话phone--framework层(下)

 首先看下framework的入口函数PhoneUtils.placeCallpublic static int placeCall(Context context, Phone phone, String number, Uri contactRef, boolean isEmergencyCall, Uri gatewayUri) {...

2012-09-29 17:07:22 137

原创 打电话phone--framework层(上)

首先总结用序列图总结下,前面的过程 1.Contacts(http://h529820165.iteye.com/blog/1677877) 2.phone app层打电话(http://h529820165.iteye.com/blog/1677946) 3. phone app层界面更新(http://h529820165.iteye.com/blog/1677946) 最...

2012-09-29 14:59:51 139

拨打电话流程(Phone--App层)

   这里还是以MTK4.0代码为基础。Contacts流程:http://h529820165.iteye.com/blog/1677877 Phone.apk.OutgoingCallReceiver.java 接受到Contacts传过来的广播后 public void onReceive(Context context, Intent intent)...

2012-09-13 16:05:07 303

拨打电话流程(Contacts--App层)

   这里以MTK4.0代码为基础进行分析。  首先是Contacts.apk  拨号盘是依附于DialpadFragment上的。查看源码可以发现。无论是普通拨号还是视频拨号都会调用如下方法protected void dialButtonPressedInner(String number, int type) { if (TextUtils.isEmpty...

2012-09-13 14:47:17 311

原创 android有序广播

普通广播(Normal Broadcast):一,优缺点:和有序广播的优缺点相反!二,发送广播的方法:sendBroadcast()有序广播(Ordered Broadcast):一,优缺点优点:1,按优先级的不同,优先Receiver可对数据进行处理,并传给下一个Receiver2,通过abortBroadcast可终止广播的传播 缺点:效率低 二,发送广播的...

2012-08-22 21:04:08 120

原创 Ril层简介和短信接收

 RIL层 RIL 首先这个是用来和CP(基带处理器)通信。可以把他看成是硬件层的抽象,这里的硬件当然是各式各样的模块,比如wcdma, gsm, evdo等等。这样ril上层即telephony就无需关心当前是何种模块,比如我要拨出一个电话,我只要下发一个请求号为RIL_REQUEST_DIAL的请求即可,无需关心发送什么AT命令,这是软件思想中隔离变化的体现。【硬件抽象层,控制mo...

2012-08-22 20:34:00 647

原创 cursorAdapter简介

public class MySimpleCursorAdapter extends SimpleCursorAdapter { private Cursor m_cursor; private Context m_context; @Override public View newView(Context context, Cursor cursor, ViewGroup p...

2012-07-27 15:46:02 111

原创 AsyncQueryHandler

AsyncQueryHandler:异步的查询操作帮助类,其实它同样可以处理增删改1。AsyncQueryHandler的作用查询其API便可知,它担供:startInsertstartDeletestartUpdatestartQuery这四个操作,并提供相对应的onXXXComplete方法,以供操作完数据库后进行其它的操作,这四个 onXXXComplete方法都...

2012-07-27 14:28:51 61

原创 SurfaceView概述

众所周知,SurfaceView继承自View,但它与View不同?View是在UI的主线程中更新画面,而SurfaceView是在一个新线程中更新画面。我们不可能写一个方法让主线程自己运动。View的特性决定了其不适合做动画,因为如果更新画面时间过长,那么主UI线程就会被正在画的函数阻塞。所以Android中通常用SurfaceView显示动画效果。在对SurfaceView进行操作前And...

2012-03-22 12:51:32 73

原创 广播机制

android的广播分三种:1、常规广播:所有匹配的接收器都会接收到此广播。                                     发送方式:sendBroadcast(intent)2、粘性广播:可以在接受到注册之前发出的广播。最常见的例子就是WIFI。               发送方式:sendStickyBroadcast(intent)3、有序广播:根据广播接...

2012-03-13 14:26:31 82

原创 lockscreen 解析

以下分析基于android2.2的google源码。  开机启动时,首先执行PhoneWindowManager.systemReady()(这之前的流程不分析)。调用KeyguardViewMediator.onSystemReady()进行待机锁屏及解锁逻辑。  KeyguardViewMediator是整个待机解/锁屏业务的调度器,负责调度锁屏界面的相关动作及查询解锁屏状态,包括以下一些...

2012-03-13 14:14:16 649

原创 判断手机时间制式

ContentResolver cv = this.getContentResolver(); String strTimeFormat = android.provider.Settings.System.getString(cv, android.provider.Sett...

2012-03-13 11:20:32 100

原创 onSaveInstanceState和onRestoreInstanceState

Android calls onSaveInstanceState() before the activity becomes vulnerable to being destroyed by the system, but does not bother calling it when the instance is actually being destroyed by a user acti...

2012-02-08 20:53:02 80

原创 Intent flag / android:launchMode

Activity有四种加载模式:standardsingleTopsingleTasksingleInstancestandard首先说standard模式,也就是默认模式,不需要配置launchMode singleTopsingleTop和standard模式,都会将intent发送新的实例(后两种模式不发送到新的实例,如果已经有了的话)。不过,sing...

2012-02-08 20:28:10 76

原创 save / restore

在创建新的控件或修改现有的控件时,我们都会涉及到重写控件或View的onDraw方法。 onDraw方法会传入一个Canvas对象,它是你用来绘制控件视觉界面的画布。 在onDraw方法里,我们经常会看到调用save和restore方法,它们到底是干什么用的呢? ❑ save:用来保存Canvas的状态。save之后,可以调用Canvas的平移、放缩、旋转、错切、裁剪等操作...

2012-02-08 17:43:30 142

原创 R.style / styleable / attr

styleable表示属性public ListView(Context context, AttributeSet attrs, int defStyle) {        super(context, attrs, defStyle);        TypedArray a = context.obtainStyledAttributes(attrs,               ...

2012-01-29 14:22:32 132

原创 Android有效解决加载大图片时内存溢出问题

尽量不要使用setImageBitmap或setImageResource或BitmapFactory.decodeResource来设置一张大图,因为这些函数在完成decode后,最终都是通过java层的createBitmap来完成的,需要消耗更多内存。因此,改用先通过BitmapFactory.decodeStream方法,创建出一个bitmap,再将其设为ImageView的 ...

2012-01-29 12:48:02 67

原创 Android启动过程

Android从Linux系统启动有4个步骤;(1) init进程启动(2) Native服务启动(3) System Server,Android服务启动(4) Home启动 总体启动框架图如:    第一步:initial进程(system/core/init)      init进程,它是一个由内核启动的用户级进程。内核自行启动(已经被载入...

2012-01-20 15:44:22 52

原创 自定义属性

1、找到listView 源文件,位置为:frameworks\base\core\java\android\widget\ListView 2、查看构造方法 ListView(Context context, AttributeSet attrs, int defStyle) ,根据TypedArray a = context.obtainStyledAttributes(attrs,com...

2012-01-18 20:07:24 54

原创 不常使用的属性

drawSelectorOnTop:When set to true, the selector will be drawn over the selected item. Otherwise the selector is drawn behind the selected item. The default value is false. android:drawSelectorO...

2012-01-18 19:52:08 111

原创 bitmap tileMode

 android中达到类似于windows桌面背景的平铺的效果,定义一个bitmap对象,在xml中和代码中均可,设置其tileMode为repeat。在drawable文件夹下建立如下文件tilebg.xml: <?xml version ="1.0" encoding ="utf-8" ?> <bitmap xmlns:android ="http://schemas...

2012-01-18 19:23:59 563

原创 style

Android提供了许多可视的组件。通过自定义样式和主题,可以避免用这些组件开发的应用看上去千篇一律。样式和主题都是通过预定义一系列属性值来形成统一的显示风格。区别是,样式只能应用于某种类型的View;而主题刚好相反,它不能应用于特定的View,而只能作用于一个或多个Activity,或是整个应用。以下结合具体例子说明如何定义样式和主题:1.定义样式和主题    在工程中res/values/下添...

2012-01-13 12:42:36 78

原创 menu大全

菜单是用户界面中最常见的元素之一,使用非常频繁,在Android中,菜单被分为如下三种,选项菜单(OptionsMenu)、上下文菜单(ContextMenu)和子菜单(SubMenu),今天这讲是OptionsMenu    4。其他按需要重载 package com.wjq.menu;import android.app.Activity;import andro...

2011-12-29 11:03:22 92

原创 android ------权重

With layout_weight you can specify a size ratio between multiple views. E.g. you have a MapView and a table which should show some additional information to the map. The map should use 3/4 of the scre...

2011-12-19 20:50:43 95

原创 tabhost/tabwidget/framelayout ----Tabacitivity

<?xml version="1.0" encoding="utf-8"?> <TabHost xmlns:android="http://schemas.android.com/apk/res/android" android:id="@android:id/tabhost" android:layout_width="fill_parent

2011-12-19 20:25:30 78

原创 tabhost/tabwidget/framelayout ----acitivity

tabhost:   整个框架,是个容器,用来放置标签tabwidget:  一个标签framelayout:   tab的内容1.Acitivity<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/re...

2011-12-19 20:13:28 117

原创 include / merge

使用<include /> 标签来重用layout代码如果在一个项目中需要用到相同的布局设计,可以通过<include /> 标签来重用layout代码,该标签在android开发文档中没有相关的介绍。在android主屏程序中 用到了这个标签:<com.android.launcher.Workspace android:id="@+id/workspace"...

2011-12-19 16:36:56 111

原创 自定义属性

在res/values 文件下定义一个attrs.xml 文件.代码如下:   一、在res/values文件下定义一个attrs.xml文件.代码如下:  <?xml version="1.0" encoding="utf-8"?>  <resources>      <declare-styleable name="MyVi...

2011-12-14 13:15:19 50

原创 attrs format

1. reference:参考某一资源ID。    (1)属性定义:            <declare-styleable name = "名称">                   <attr name = "background" format = "reference" />            </declare-styleable&..

2011-12-14 13:13:04 50

原创 view drawingCache

View组件显示的内容可以通过cache机制保存为bitmap, 使用到的api有    void  setDrawingCacheEnabled(boolean flag),     Bitmap  getDrawingCache(boolean autoScale),     void  buildDrawingCache(boolean autoScale),     voi...

2011-12-14 11:12:04 60

原创 Android系统文件夹

手机连接电脑后,打开调试,使用DDMS查看手机目录结构,如下\system\app   这个里面主要存放的是常规下载的应用程序,可以看到都是以APK格式结尾的文件,不了解的可以看下 APK是什么文件格式? 在这个文件夹下的程序为系统默认的组件,自己安装的软件将不会出现在这里,而是\data\文件夹中。下面是详细的介绍:\system\app\AlarmClock.apk 闹钟\sy...

2011-12-09 10:49:16 147

原创 android颜色

 Colors are represented as packed ints, made up of 4 bytes: alpha, red, green, blue  Each component ranges between 0..255 with 0 meaning no contribution for that component, and 255 meaning 100% co...

2011-12-08 15:30:37 67

getPixels

public void getPixels (int[] pixels, int offset, int stride, int x, int y, int width, int height) Since: API Level 1 Returns in pixels[] a copy of the data in the bitmap. Each value is a ...

2011-12-08 14:01:44 146

原创 android 坐标

//绘制矩形   canvas.drawRect(new Rect(150, 75, 260, 120), mPaint);   //设置裁剪区域   canvas.clipRect(10, 10, 280, 260);  以屏幕的左上角为原点left : 矩形左边的X坐标   150        ---->图片中的A点 top:    矩形顶部的Y坐标...

2011-12-07 14:53:08 56

原创 onTouch 坐标

case MotionEvent.ACTION_MOVE:      NowX = event.getX();     break;   NowX:  相对于注册监听的控件的 横坐标【   如果控件在最左边, NowX 一直大于0  小于屏幕宽】 getX是获取以widget左上角为坐标原点计算的X轴坐标直.getRawX 获取的是以屏幕左上角为坐标原点计算的X轴坐...

2011-12-05 16:46:42 153

原创 adb

adb是一个面对客户服务系统   包括三个组成部分: 1.电脑上运行的客户端  你可以通过shell端使用adb命令启动客户端。 其他Android工具比如说ADT插件和DDMS同样可以产生adb客户端2.机器上作为后台进程运行的服务器   该服务器负责管理客户端与运行于模拟器或设备上的adb守护程序(daemon)之间的通信。.3.一个以后台进程的形式运行于模拟器或设备上...

2011-11-30 15:08:41 64

空空如也

空空如也

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

TA关注的人

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