- 博客(77)
- 资源 (35)
- 收藏
- 关注
原创 android 模拟滑动事件
android 模拟滑动事件,见下面isSlideUnlockScreen()代部分.package com.android.internal.policy.impl.keyguard;import android.app.Activity;import android.content.Context;import android.graphics.Canvas;i
2015-11-02 17:18:33
13608
转载 Android号码匹配长度分析
(一) 前言在手机联系人匹配时经常会遇到这样一个问题:比如我手机中存入的联系人是A,号码 1234567 ; 嗯,那么当07551234567这么一个电话进来的时候,我们肯定要通过07551234567这个号码找到A这个联系人。所以这里面的匹配过程肯定不是简单而粗暴的字符串比较过程,而是有一个设计在里面,ok,那么我们今天就来分析这个设计。(二) 设计思想首先我们要明白
2013-08-08 11:39:48
7090
转载 InCallScreen是什么
InCallScreen是什么本文来自http://blog.youkuaiyun.com/yihongyuelan 转载请务必注明出处本文以MTK平台Android 4.2为分析对象,MTK在原生的基础之上添加了许多自己的东西,因此个别地方跟原生代码以及QCOM的代码不同,请读者知悉。在电话的呼出流程中,我们最后需要按下拨号键,才能将电话拨打出
2013-07-11 15:37:05
12079
转载 [通讯录] android通讯录数据库表解析和添加,访问通讯录
实际应用,“通讯录” 数据读取、添加联系人信息 ** 查看通讯录数据库: 首先启动模拟器、再打开 “File Explorer” 视图, 依次展开:data -- data -- com.android.providers.contacts(注意和 com.android.contacts 区分) -- databases,如图:
2013-06-05 15:53:33
16502
原创 android动态壁纸调用
动态壁纸的实现其实就是在Activity中调用动态壁纸服务,通过绑定服务得到IWallpaperService,调用该接口中的attach函数实现壁纸的调用。调用后动态壁纸其实是显示在Activity的后面,而Activity则是透明显示,这样就可以看到下面的动态壁纸,如果Activity不是透明的则什么也看不到。参考壁纸选择器的源代码:android4.0.3_v1.
2013-05-11 15:09:40
7479
转载 QuickContact分析及其弹出窗口实现
一、简介 QuickContact是为了应用程序能够快速方便的访问联系人,并且快速的运用联系人的信息执行相应操作而设计的。最常见的在Contacts应用程序中如下图所示: 在Activity中存在一个图标,点击该图标后弹出一个窗口,窗口中会有几个图标,不同的图标表示针对该联系人进行的不同操作,比如打电话,发短信,发送邮件,进入主页等等。图标的显示和不显示取决于该联系
2013-04-05 16:11:32
6611
原创 Android左右滑动实现Activity切换类 (整合代码实例)
先上图吧,下图是左右拖动的过程: 具体代码如下:Fling_Gallery类[java] view plaincopypackage com.xu81.testflip; import android.content.Context; import android.view.GestureDetector; impo
2013-03-26 16:26:46
12108
翻译 android -- Contacts 保存联系人
前些日子出于帮忙完成一个小小的需求,折腾下android 4.0 Contact的代码,正好也了解下Contact的业务流程。主要是联系人的增删改查,很眼熟是不,应用大部分的任务都是围绕怎么获取数据获取、如何显示数据和保存修改数据进行的,联系人也不例外,而且把握数据的流向变化也算是分析应用的一个途径吧,同时数据的变化也在一点程度上表现了业务的流程。其实联系人并不是复杂只是作为一个手机的核心级应用(
2013-03-21 09:50:30
7058
转载 Android下 ProgressDialog Dialog及Activity屏蔽Home键详解
屏蔽其他键,重写onKeyDownJava代码 @Override public boolean onKeyDown(int keyCode, KeyEvent event) { Log.i(TAG,"keycode="+keyCode + " isBan="+isBan); switch (keyCode) {
2013-02-19 15:12:38
12169
原创 onTouchEvent的使用 onTouchEvent注意事项
手机屏幕事件的处理方法onTouchEvent。该方法在View类中的定义,并且所有的View子类全部重写了该方法,应用程序可以通过该方法处理手机屏幕的触摸事件。该方法的签名如下所示。[java] view plaincopypublic boolean onTouchEvent(MotionEvent event) 参
2013-01-29 11:29:16
5930
转载 Android Contacts 联系人源码分析
Android Contacts总览Contacts应用是由Google Android团队编写的Android原生应用。在应用层面上涉及到Contacts.apk, ContactProvider.apk。其他相关的在Framwork,以及framework与linux内核之间的SQLite.Contacts.apk只是界面层的逻辑,主要实现UI的流程。对于联系人的查询,存储,增加和删除
2013-01-29 11:09:16
20467
转载 android 仿三星I900滑动解锁
三星I900滑动解锁看起来就像一层窗户纸,拉起纸来就能看到当前正在运行的activity程序,这是很有意思的。但其实现原理不可知,我们只能观测他的行为,根据掌握的可用API情况,推测他的实现代码。这里只是简单实现.算法原理呢,就是我们创建一个全透明的窗口,这样这个窗口就能全透顶层窗口下面的非激活窗口.然后在这个窗口上使用我们自定义的布局类,布局对象也行,布局成I900的样子,最后在我们的activ
2013-01-28 09:41:14
9065
原创 android Contacts源码界面分析
Contacts源码界面分析:点击手机上的联系人图标,首先进入的启动的是PeopleActivity,他的布局文件时peopleactivity.xml,如下所示:xmlversion="1.0"encoding="utf-8"?>FrameLayoutxmlns:android="http://schemas.android.com/apk/res/android"
2013-01-25 11:21:32
719
转载 10个必需的iOS开发工具和资源
界面总不是一件很容易事,尤其是iPhone/iPad的界面,做过iOS开发的程序员,一定会感到开发iPhone/iPad的界面是一件多么不容易的事。下面的文章来自10 Essential iOS Developer Tools & Resources, 这个文章介绍了十个iOS开发的基础性工具和资源,其一定会很有效地帮你做iOS的开发。(在这里,我再闲扯一句,虽然Android的开发好像整整 XM
2012-12-02 01:25:08
6271
转载 Android4.0解锁界面
http://blog.youkuaiyun.com/pkigavin/article/details/7616859 样机解锁界面效果类似如下 其实这也是我后面做出的效果,样机因为没有ROOT不好调试截图,功能是将解锁的图标添加了最近运行的运用的图标,这样的话更方便用户去使用1.分析 1.1.Android锁屏功能分析Android锁屏相关的代码在以下几个路径:
2012-10-18 16:50:04
10265
转载 android spinner修改样式
例子:http://www.eoeandroid.com/thread-92092-1-1.html 做到一种样式 android 的spinner本身背景样式要黑色的 ,而spinner里的字体也是黑色的 ,spinner 控件的属性里设置TextColor没用 网上找了下 需要定义xml 文件来定义样式 和自定义按钮控件类似; 1,首先定义spinenr本身背
2012-10-18 09:34:55
18532
转载 Android中使用Handler和Thread线程执行后台操作
大家都知道,在PC上的应用程序当需要进行一些复杂的数据操作,但不需要界面UI的时候,我们会为应用程序专门写一个线程去执行这些复杂的数据操作。通过线程,可以执行例如:数据处理、数据下载等比较耗时的操作,同时对用户的界面不会产生影响。在Android应用程序开发中,同样会遇到这样的问题。当我们需要访问网络,从网上下载数据并显示在我们的UI上时,就会启动后台线程去下载数据,下载线程执行完成后将结果返回给
2012-10-09 10:36:07
6092
原创 Android 解压问题(getNextEntry()抛UTFDataFormat Exception:bad byte at 0)(
Android zip解压网上的资料很多,但是我用时出现一个bug是getNextEntry()抛异常java.io.UTFDataFormatException:bad byte at 4。我找了好久最后发现,其实就是文件名不能是汉字。因为我的zip包里有带汉字的文件。这样Android就不够解压出现异常。Android解压的zip包不处理,里的东西不能是以汉字命名的。
2012-10-08 15:31:36
8055
原创 XP上配置Objective-c 环境
在Windows下搭建Objective C开发环境,需要到GNUstep官方网站上下载,四个软件包:GNUstep MSYS System、GNUstep Core、GNUstep Devel、Cairo Backend。其中,前两个软件包是必须要安装的,第三个软件包是安装一些开发工具,比如:gcc、g++等,所以如果是学习Objective C的话,这个包也是必须要安装,第四个软件包是
2012-10-07 10:43:12
6519
转载 android获取网络图片的用法 BitmapFactory.decodeByteArray
资源描述:关于android获取网络图片主要是把网络图片的数据流读入到内存中然后用1.Bitmap bitMap = BitmapFactory.decodeByteArray(data, 0, length); 方法来将图片流传化为bitmap类型 这样才能用到1.imageView.setImageBitmap(bitMap); 来进行转化在获取bitmap时候
2012-08-24 15:56:39
42113
原创 Context与SQLiteDatabase的方法openOrCreateDatabase的区别 (context、SQLiteOpenHelper)
Context.openOrCreateDatabase 与 SQLiteDatabase.openOrCreateDatabase本质上完成的功能都一样,Context.openOrCreateDatabase最终是需要调用 SQLiteDatabase.openOrCreateDatabase来完成数据库的创建的。也就是说, SQLiteDatabase类是android上对sqlite的
2012-08-24 11:02:51
40319
1
转载 Android内存溢出整理总结 OOM(Out Of Memory) 加载的图片太多或图片过大时经常出现OOM问题
加载的图片太多或图片过大时经常出现OOM问题,找网上资料也提供了很多方法,整理下:一般我们大家在遇到内存问题的时候常用的方式网上也有相关资料,大体如下几种:一:在内存引用上做些处理,常用的有软引用、强化引用、弱引用二:在内存中加载图片时直接在内存中做处理,如:边界压缩三:动态回收内存四:优化Dalvik虚拟机的堆内存分配五:自定义堆内存大小可是真的有这么简单吗,就用以上方式就能解决O
2012-08-23 16:25:39
6744
转载 BitmapFactory.Options详解 怎样获取图片的大小 遇到大一些的图片,遇到OOM(Out Of Memory)的问题
下面我们回到我们的主题上来:怎样获取图片的大小?思路很简单:首先我们把这个图片转成Bitmap,然后再利用Bitmap的getWidth()和getHeight()方法就可以取到图片的宽高了。新问题又来了,在通过BitmapFactory.decodeFile(Stringpath)方法将突破转成Bitmap时,遇到大一些的图片,我们经常会遇到OOM(Out Of Memory)的问题
2012-08-23 16:14:55
13639
原创 一个电话打出去的流程 (去电话代码流程)
1. TwelveKeyDialer.java, onKeyUp()2. TwelveKeyDialer.java, placeCall()3. OutgoingCallBroadcaster.java, onCreate() sendOrderedBroadcast(broadcastIntent, PERMISSION, new OutgoingCa
2012-07-25 14:19:08
2037
原创 一个incoming call的流程 (来电话代码流程)
1. 创建GsmPhone时,mCT = new GsmCallTracker(this);2. 创建GsmCallTracker时: cm.registerForCallStateChanged(this, EVENT_CALL_STATE_CHANGE, null); --> mCallStateRegistrants.add(r); 3. RIL中的RILRece
2012-07-25 14:16:34
4360
原创 一个电话打出去的流程 (代码流程)
1. TwelveKeyDialer.java, onKeyUp()2. TwelveKeyDialer.java, placeCall()3. OutgoingCallBroadcaster.java, onCreate() sendOrderedBroadcast(broadcastIntent, PERMISSION, new OutgoingCa
2012-07-25 14:13:25
1509
原创 Android Phone 类的详细 分析 各个类的功能
AccelerometerListener:感应器监听类,此类用于监听感应加速器,会通知客户端水平和重力感应信息 ADNList extents ListActivity:电话的应用程序 BluetoothAtPhonebook:蓝牙电话薄 BluetoothCmeError:免提配置文件中的错误参数 BluetoothHandsfree:蓝牙免提蓝牙耳机的手机应用管理器 Bl
2012-07-24 16:36:21
3869
1
原创 SQLite使用方法 SQLiteOpenHelper操作
程序内使用SQLite数据库是通过SQLiteOpenHelper进行操作1. 自己写个类继承SQLiteOpenHelper,重写以下3个方法public void onCreate(SQLiteDatabase db) {//创建数据库时的操作,如建表} public void onUpgrade(SQLiteDatabase db, int oldVersion, in
2012-07-24 15:15:06
14134
原创 Android判断一个Service是否运行 对服务的判断
在开启一个服务之前应该判断该服务知否已经在运行 //本方法判断自己些的一个Service-->com.android.controlAddFunctions.PhoneService是否已经运行public static boolean isWorked() { ActivityManager myManager=(ActivityManager)context.getSystemSe
2012-07-24 15:09:37
15279
转载 Android内存(内存溢出 内存不足 内存低 .)优化详解.
Android内存(内存溢出 内存不足 内存低 .)优化详解 Android内存泄露前言 不少人认为JAVA程序,因为有垃圾回收机制,应该没有内存泄露。其实如果我们一个程序中,已经不再使用某个对象,但是因为仍然有引用指向它,垃圾回收器就无法回收它,当然该对象占用的内存就无法被使用,这就造成了内存泄露。如果我们的java运行很久,而这种内存泄露不断的发生,最后就没内存可用了。当然
2012-07-16 17:52:42
19446
1
转载 出现bitmap内存限制OUT OF MEMORY 内存溢出 内存不足 内存低
在编写Android程序的时候,我们总是难免会碰到OOM(OUT OF MEMORY)的错误,那么这个错误究竟是怎么来的呢,可以先看一下这篇文章ANDROID BITMAP内存限制OOM,OUT OF MEMORY。 这里,我使用Gallery来举例,在模拟器中,不会出现OOM错误,但是,一旦把程序运行到真机里,图片文件一多,必然会出现OOM,我们通过做一些额外的处理来避免。
2012-07-16 17:44:18
4270
转载 Android内存情况
众所周知,在写 android 程序的时候,很容易出现 OOM ,而出现的时机大多数是由 Bitmap decode 引发的:1ERROR/AndroidRuntime(16350): java.lang.OutOfMemoryError: bitmap size exceeds VM budget 我们知道,and
2012-07-11 17:10:06
13456
原创 拨打视频电话时选择关闭摄像头弹出Phone报错java.lang.RuntimeException: Fail to get camera info 或 startPreview failed
java.lang.RuntimeException: Fail to get camera info在展讯平台8810遇到过:拨打视频电话时选择关闭摄像头弹出Phone报错 的问题。对InVideoCallScreen.java 中的 createCamera() 进行修改!!!private void createCamera() { //Add by kylin
2012-07-10 15:22:32
9193
原创 android源代码 锁屏灭屏来电接通后立即息屏、通话过程中息屏对方挂断不亮屏
在Android源码实际开发中遇到这样两个问题:锁屏灭屏来电接通后立即息屏、通话过程中息屏对方挂断不亮屏;由于唤醒亮屏的问题很多地方都用到,不想轻意修改其源码代码,怕引出其它更多的问题。所以再解决这两个问题时,采用一个直接的办法,就是:锁屏灭屏来电接通后立即息屏,那么就点亮屏,几秒之后再释放;如果:通话过程中息屏对方挂断不亮屏,那么就点屏,几秒之后再释放; 这种亮屏的方法,可以放在电话
2012-04-17 10:37:44
11669
原创 禁止home 与返回键 android源码来电话时容易拒接
屏蔽键重写activiy的两个方法就行屏蔽返回键public boolean onKeyDown(int keyCode, KeyEvent event) { switch (keyCode) { case KeyEvent.KEYCODE_BACK: return true; } return super.onKe
2012-04-16 10:58:27
3411
2
原创 Android ListView组件中androiddrawSelectorOnTop含义
在源码notes记事本中,listview显示时有这样一个问题,当点击其中一条Item时,显示颜色会将字体遮住。 在对应的xml中修改值,即可。android:drawSelectorOnTop="true" 点击某一条记录,颜色会显示在最上面,记录上的文字被遮住,所以点击文字不放,文字就看不到android:drawSelectorOnTop="false"点
2012-04-16 10:54:33
1057
原创 自定义Toast、程序退出时Toast也退出、Toast的用法
当我们在一个应用中用到Toaster来做为提示时,发现这样一个问题,当某个条件服合时,会弹出Toaster的对话框,不停地执行这个条件,会不停进行Toaster.show的显示,执行几次就现示几次,即使这个应用程序退出也会不停地Toast.show地显示,这样一来会给用户带来一种不好体验。当我们将应用程序退出了,就不应该Toast.show显示了。 我们可以在应用程序退出onDestro
2012-04-16 10:33:28
4659
转载 从Phone源码中分析来电话流程(部分)
首先,通过ddms拨打模拟器的电话,这样在RIL.java的RILReceiver线程(run()函数中)当中接收到rild发来的incoming消息,接收线程将消息转给processResponse(p)进行处理,processResponse(p)又将消息转给processUnsolicited (p)处理,然后又转到 case RIL_UNSO
2012-04-09 20:27:41
1404
原创 Android源码修改后的语音录音代码
如下代码为Android源码的录音代码修改,只要稍微修改即可以运到自己的应用中。package com.android.phone;import android.app.Activity;import android.os.Bundle;import java.io.File;import android.content.ContentResolver;import android.c
2012-04-09 19:53:44
9455
2
开机启动DailyRoads行车记录仪 断电自动关机
2015-04-15
Adnroid Calendars jar包(2)
2011-07-18
Andorid2.3 日历 源码合并
2011-07-16
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人