随笔分类 -  Android开发

摘要:Android的GUI层并不复杂。它的复杂度类似于WGUI这类基于布局和对话框的GUI,与MFC、QT等大型框架没有可比性,甚至飞漫魏永明的MiniGUI都比它复杂许多。您也许会问,这样简单的GUI如何实现浏览器呢?原因很简单,浏览器有自己一套GUI。Android浏览器(WebKit)的GUI和Android的GUI实用同一套GDI——Skia,但GUI层是完全不同的设计,分别自成体系。Windown类,位于代码树frameworks\base\core\java\android\view\Windowjava.java文件。连同注释,这个文件总共一千多行,它概括了Android窗口的基本属 阅读全文
posted @ 2012-05-17 11:07 移动应用开发 阅读(1853) 评论(0) 推荐(0)
摘要:转自:http://orgcent.com/android-custom-view-draw-mechanism/Android系统中要自定义view,首先需要了解Android的view加载机制。主要有三个方法:1、onMeasure() //计算出view自身大小 2、onLayout() //仅在ViewGroup中,用来为子view指定位置(left,top) 3、onDraw() //view绘制内容 那么系统能让我们在onDraw()能够绘制些什么呢,查看View.draw()源码发现:点击查看源码下面根据源码中的相关说明,进一步分析控件的绘制操作及顺序:... 阅读全文
posted @ 2012-05-17 10:41 移动应用开发 阅读(1302) 评论(0) 推荐(0)
摘要:转自:http://hi.baidu.com/xiaofanqing/blog/item/9c4ef9116e5889dca6ef3f02.html上篇讲解了3个对象之间的关系和创建的时机。这篇讲解窗口是如何被绘制出来的。首先,我们看一个概念。就是View的draw方法的doc:Manually render this view (and all of its children) to the given Canvas.意思是说把View绘制在画布上。个人觉得这个概念很重要,View和Canvas 的关系,按常规的思维,肯定认为View聚合了Canvas对象,然后在View的onDraw 方法 阅读全文
posted @ 2012-05-17 09:29 移动应用开发 阅读(3480) 评论(0) 推荐(0)
摘要:转自:http://hi.baidu.com/xiaofanqing/blog/item/8261ac114ab14f64cb80c435.html我想大多数人,对于这3个东西的概念能区分,但是具体区别在哪却很难说出来。我这里根据我个人的理解来讲讲我个人对这3个概念的理解。当然这里设计到通用的事件窗口模型等通用GUI设计,我这里就不打算讲了,纯粹从概念上来进行区分。Activity是Android应用程序的载体,允许用户在其上创建一个用户界面,并提供用户处理事件的API,如onKeyEvent,onTouchEvent等。 并维护应用程序的生命周期(由于android应用程序的运行环境和其他操 阅读全文
posted @ 2012-05-17 09:28 移动应用开发 阅读(629) 评论(0) 推荐(0)
摘要:在多Activity开发中,有可能是自己应用之间的Activity跳转,或者夹带其他应用的可复用Activity。可能会希望跳转到原来某个Activity实例,而不是产生大量重复的Activity。这需要为Activity配置特定的加载模式,而不是使用默认的加载模式。加载模式分类及在哪里配置Activity有四种加载模式:standardsingleTopsingleTasksingleInstance设置的位置在AndroidManifest.xml文件中activity元素的android:launchMode属性:<activity android:name="ActB& 阅读全文
posted @ 2012-04-09 16:44 移动应用开发 阅读(165) 评论(0) 推荐(0)
摘要:绑定到一个Service 应用组件(客户端)可以调用bindService()绑定到一个service.Android系统之后调用service的onBind()方法,它返回一个用来与service交互的IBinder. 绑定是异步的.bindService()会立即返回,它不会返回IBinder给客户端.要接收IBinder,客户端必须创建一个ServiceConnection的实例并传给bindService().ServiceConnection包含一个回调方法,系统调用这个方法来传递要返回的IBinder.注:只有activities,services,和contentprovid.. 阅读全文
posted @ 2012-03-26 06:30 移动应用开发 阅读(209) 评论(0) 推荐(0)
摘要:如果你需要你的service与远程进程通信,那么你可以使用一个Messenger来为你的service提供接口.此技术使用不必使用AIDL就能执行进程间通信(IPC). 下面是如何使用Messenger的概要:service实现一个接收从客户端的每个调用引起的回调的Handler.Handler被用来创建一个Messenger对象(它是Handler的一个引用).Messenger创建一个从service的onBind()返回给客户端的IBinder.客户端使用IBinder来实例化这个Messenger(它引用到service的Handler),客户端用它来向service发送Messag. 阅读全文
posted @ 2012-03-20 08:06 移动应用开发 阅读(146) 评论(0) 推荐(0)
摘要:如果你的service仅被自己的应用使用并且不需跨进程工作,那么你可以实现你自己的Binder类使得你的客户端能直接使用service的公开接口方法.注:这只在客户端和service位于同一应用和同一进程中时才能工作,其实大多数都是这种情况.例如,在一个音乐应用需要把它的activity绑定到它自己的播放音乐的后台service时,这种方式就会很好地工作.下面是如何建立它:在你的service中,创建一个Binder实例,提供以下三种功能之一:Binder包含一些可供客户端调用的公开方法.返回当前的Service实例,它具有一些客户端可以调用的公开方法.或者,返回另一个类的实例,这个类具有.. 阅读全文
posted @ 2012-03-19 06:35 移动应用开发 阅读(158) 评论(0) 推荐(0)
摘要:关于Android中的组件和应用,之前涉及,大都是静态的概念。而当一个应用运行起来,就难免会需要 关心进程、线程这样的概念。在Android中,组件的动态运行,有一个最与众不同的概念,就是Task,翻译成任务,应该还是比较顺理成章的。Task的介入,最主要的作用,是将组件之间的连接,从进程概念的细节中剥离出来,可以以一种不同模型的东西进行配置,在很多时候,能够简化上层开发人员 的理解难度,帮助大家更好的进行开发和配置。任务在 SDK中关于Task(guide/topics/fundamentals.html#acttask),有一个很好的比方,说,Task就相当于应用 (application 阅读全文
posted @ 2012-03-05 11:33 移动应用开发 阅读(204) 评论(0) 推荐(0)
摘要:------------------------------------------------------------------------------------------------这几天主要是狂看源程序,在弥补了一些以前知识空白的同时,也学会了不少新的知识(比如 NIO),或者称为新技术吧。线程池就是其中之一,一提到线程,我们会想到以前《操作系统》的生产者与消费者,信号量,同步控制等等。一提到池,我们会想到数据库连接池,但是线程池又如何呢?建议:在阅读本文前,先理一理同步的知识,特别是syncronized同步关键字的用法。关于我对同步的认识,要缘于大三年的一本书,书名好像是 Ja 阅读全文
posted @ 2012-02-07 15:39 移动应用开发 阅读(210) 评论(0) 推荐(0)
摘要:Android中的两把锁 – WalkLock and KeyguardLock 详细分析 WalkLock – 顾名思义 唤醒锁 点亮屏幕用的 KeyguardLock – 顾名思义 键盘锁 解锁键盘用的 详细介绍: 1: WalkLock 唤醒锁 WalkLock真的能点亮屏幕吗? 答案是肯定的。 可是有时候为什么不点亮屏幕,这个就是参数设置的问题了。java代码:PowerManager.newWakeLock(PowerManager.FULL_WAKE_LOCK | PowerManager.ACQUIRE_CAUSES_WAKEUP, "Gank");Pow.. 阅读全文
posted @ 2011-11-01 11:05 移动应用开发 阅读(1534) 评论(0) 推荐(0)
摘要:前言 学习android一段时间了,为了进一步了解android的应用是如何设计开发的,决定详细研究几个开源的android应用。从一些开源应用中吸收点东西,一边进行量的积累,一边探索android的学习研究方向。这里我首先选择了jwood的Standup Timer项目。本文将把研究的内容笔记整理,建立一个索引列表。PowerManager.WakeLock PowerManager.WakerLock是我分析Standup Timer源代码时发现的一个小知识点,Standup Timer 用WakeLock保证程序运行时保持手机屏幕的恒亮(程序虽小但也做得相当的细心,考虑的很周到)。P.. 阅读全文
posted @ 2011-10-30 22:29 移动应用开发 阅读(364) 评论(0) 推荐(0)
摘要:Android权限分的很细,但命名比较人性化,Android permission比SymbianCapabilities有了不少改进,下面就来看看权限许可都有哪些定义吧,发现还是比较繁多的,如果发现你的程序某个地方调试错误很可能是Androidpermission的访问控制在作怪,这也是为了安全防止手机成为病毒的场所。Android开发网获取到的消息来看不用购买高昂的数字签名证书,权限许可权由用户决定而不是手机制造商和平台提供商,这一点不得不说明为Android开发人员着想,下面的信息都是需要添加在androidmanifest.xml文件中。程序执行需要读取到安全敏感项必需在android 阅读全文
posted @ 2011-09-23 11:37 移动应用开发 阅读(304) 评论(0) 推荐(0)
摘要:项目中,多个页面用到了地图,地图大小不一样,在显示完小页面的地图后,再返回大页面地图,地图会出现混乱现象。最后在找到了一个外国网站, 加 Manifest.xml 的Activity中加入 android:process <activity android:name=".ShowActivity" android:screenOrientation="portrait" android:process="ShowActivity" android:label="@string/app_name"> &l 阅读全文
posted @ 2011-09-09 14:52 移动应用开发 阅读(164) 评论(0) 推荐(0)
摘要:这篇把 浮动搜索框 ,通过地址名称获取经纬度和详细地址并定位 这些功能加上,算是一个比较完整的地图了。前辈们都说不要重复的造相同的轮子, 希望这整个例子对正在研究或做地图的同学有帮助。先上图,看看效果搜索框:用的icon是愤怒的小鸟,尼玛默认的icon太难看了,换个好看的。哈哈、点击搜索后的效果:那就开始吧!一、配置搜索框searchable.xml<?xml version="1.0" encoding="utf-8"?><searchable xmlns:android="http://schemas.android.co 阅读全文
posted @ 2011-06-30 17:10 移动应用开发 阅读(291) 评论(0) 推荐(0)
摘要:http://code.google.com/intl/zh-CN/apis/maps/documentation/geocoding/有很多有用的接口这个可以通过经纬度求地址信息,不过返回的信息有点多,怎么减少呢?用在手机上太浪费流量了,里面有很多不需要的信息。http://maps.google.com/maps/api/geocode/json?latlng=39.8749161,116.579879&sensor=false 阅读全文
posted @ 2011-06-29 15:08 移动应用开发 阅读(143) 评论(0) 推荐(0)
摘要:代码我传到csdn资源库了;http://download.csdn.net/detail/totogo2010/4335701 上篇把界面画出来了, 接下来就是显示里面的功能了,那这篇内容就比较丰富了。主要有这么几道菜:1、在地图上弹出泡泡显示信息,并且能相应泡泡的点击时间2、自动定位当前位置(也就是我的位置) --添加了 GPS定位和基站定位。3、获取经纬度对应的接到地址名称那下面就开始代码把,理论知识能讲多少是多少。一 、 地图弹出泡泡的制作1 、overlay_popup.xml 直接把layout放出来<?xml version="1.0" encoding 阅读全文
posted @ 2011-06-29 14:37 移动应用开发 阅读(382) 评论(0) 推荐(0)
摘要:(全部源码地址:http://download.csdn.net/detail/totogo2010/4335701 )最近正在做和地图相关的项目,想记录和整理一下的这方面的内容发出来,既是自己整理总结,也是和别人分享经验。做过android 地图相关项目的同学估计都会有一些相同的需求,这些需求在android 上谷歌自己做的地图软件都做得很好,很多人想模仿参考来做,比如:1、弹出浮动的搜索框,并能搜索地址并定位2、长按地图出现当前位置的泡泡(popup),泡泡里有标题和内容,有详细地址和详细信息3、自动定位到当前位置4、显示各种图层这么多需求不是一下子都能做出来的,而且做好了也不容易。那这篇 阅读全文
posted @ 2011-06-29 09:09 移动应用开发 阅读(279) 评论(0) 推荐(0)