- 博客(61)
- 资源 (10)
- 收藏
- 关注
转载 android 事件模型原理2
1 InputManager系统服务我们知道Android由诸多系统服务组成,它们在系统启动的时候由Zygote孵化出来,自始至终运行于后台,这其中,WindowManagerService就是一个很重要的服务,它负责对整个窗口系统的管理,而在窗口系统中,用户的输入输出系统又是一个很重要的部分,于是,InputManager便承担起了全部的责任。InputManager开启两个线程
2013-09-09 18:42:49
1135
转载 android 事件模型原理
事件系統簡介1.Android事件系統,它解決的是如何將按键、鼠标、觸屏消息从收集到最终将之发送到焦点窗口進行處理的問題2.Android事件處理流程分两部分,一部分是从Framework开始,如何從底層读取事件并分发給Activity。一部分是从内核开始,如何从触摸屏读取設備事件并帶到上層3.EventHub它是系统所有事件的中央处理站,從驅動文件读取RawEvent
2013-09-09 16:49:17
1747
转载 android.graphics四、Android中图像变换Matrix的原理
Matrix的数学原理在Android中,如果你用Matrix进行过图像处理,那么一定知道Matrix这个类。Android中的Matrix是一个3 x 3的矩阵,其内容如下: Matrix的对图像的处理可分为四类基本变换:Translate 平移变换Rotate 旋转变换Scale
2013-09-04 17:24:18
1144
转载 android.Graphics三、Canvas裁剪和Region、RegionIterator
canvas 还提供裁剪的功能。 裁剪功能由Canvas提供的一系列的clip...方法 和quickReject方法来完成。 前面已经提到,真正提供可绘制区域的是Canvas内部的mutable bitmap。 Canvas更像是一个图层,我们只能在这上面的图层来绘制东西。1、首先介绍Region类Region,中文意思即区域的意思,它表示的是canvas图层上的某一块封
2013-09-04 16:51:24
4809
转载 android.graphics二、Canvas基本使用
Canvas的意思是画布,表现在屏幕上就是一块区域,我们可以再上面使用各种API绘制我们想要的东西。可以说,Canvas贯穿整个2D Graphics,android.graphics中的所有类,几乎都于Canvas有直接或间接的联系。所以了解Canvas是学习2D Graphics的基础。Android官方文档对Canvas的简介很好的介绍了Canvas的使用:[
2013-09-04 16:48:30
3106
转载 android.graphics一、概述
Android 2D Graphics的绝大部分API都在android.graphics中,它提供了低级的graphics工具,包括canvas,color filters,point,rectangle等等,我们可以使用它们直接在屏幕上绘制我们想要的图形。在android.graphics中还有一个子包,android.graphics.drawable,它定义了一系列的drawabl
2013-09-04 16:47:11
1161
转载 iPhone事件处理
iPhone开发指南之事件处理介绍是本文要介绍的内容,主要来讲解一下关于iphone中的事件处理的内容,先来看详细内容 。 事件处理 本章描述了iPhone操作系统里的事件类型,并解释了如何处理它们 。还讨论了怎么在一个应用程序里以及应用程序之间利用UIPasteboard类提供的机制来拷贝和粘贴数据,这是在iPhone OS 3.0中引入的 。 事件和事件类型 一个
2012-07-10 15:23:45
631
原创 让Python在Android系统上飞一会儿
第一节 在手机上配置Python运行环境 1.下载和安装 Scripting Layer for Android (SL4A)Scripting Layer for Android (SL4A) 是一个开源项目,目标是为android系统提供脚本语言的支持,使用户可以直接
2011-09-12 16:01:15
983
转载 Mac常用快捷键合集
通用Cmd-C 复制Cmd-V 贴上Cmd-X 剪下Option-移动 复制文件到新地址Cmd-移动 移动并自动对齐Cmd-Delete 删除Cmd-Option-移动 建立捷径Cmd-Shift-Delete 清空垃圾桶Cmd-Shift-Option-Delete 强制清空垃圾桶Cmd-F 搜寻Cmd-H 隐藏程序Cmd-Option-H 隐藏其他程序Cmd-Q 退出程序Cmd-Shi
2011-06-21 16:22:00
1719
转载 微型的Java Web框架 Spark
<br />Spark是一个可以让你以最小的代价快速创建Web应用的轻量级Java web框架,它的灵感来自于Sinatra。<br /> <br /><br />开始使用Spark<br />Routes<br />Request<br />Response<br />终止一个请求<br />Filters<br />请求重定向<br />指定端口开始使用Spark下载spark和spark依赖的类库(或者让maven来为你做这些事情),把它们放在工程classpath下,开始动手:import st
2011-05-25 14:24:00
3073
转载 看看什么公司在用Mac开发
<br /><br />1.先看第一个最震撼的,一个美国高等院校的上课情况,我看不出有几部本本是PC的<br /><br /> <br />2. Facebook的开发人员<br /><br />Mac外接dell显示器<br /> <br /><br />使用macbook pro本本<br /> <br />3. twitter公司,因为twitter使用的是rails框架,自然大部分人都是用mac<br /><br />使用的是iMac<br /> <br /><br />也有macbook外接显示器
2011-05-10 16:40:00
2283
转载 如何选择开源许可证?
<br /> <br />如何为代码选择开源许可证,这是一个问题。<br />世界上的开源许可证,大概有上百种。很少有人搞得清楚它们的区别。即使在最流行的六种----GPL、BSD、MIT、Mozilla、Apache和LGPL----之中做选择,也很复杂。<br />乌克兰程序员Paul Bagwell,画了一张分析图,说明应该怎么选择。这是我见过的最简单的讲解,只用两分钟,你就能搞清楚这六种许可证之间的最大区别。<br />下面是我制作的中文版,请点击看大图。<br /><br />
2011-05-03 09:20:00
552
转载 Android,谁动了我的内存(2)
<br /><br />五、超级大胖子Bitmap<br /> <br /> 可以说出现OutOfMemory问题的绝大多数人,都是因为Bitmap的问题。因为Bitmap占用的内存实在是太多了,它是一个“超级大胖子”,特别是分辨率大的图片,如果要显示多张那问题就更显著了。<br /> 如何解决Bitmap带给我们的内存问题?<br /> 第一、及时的销毁。<br /> 虽然,系统能够确认Bitmap分配的内存最终会被销毁,但是由于它占用的内存过多,所以很可能会超过java堆的限制。
2011-04-01 21:11:00
1238
转载 Android,谁动了我的内存(1)
<br /><br />一、 Android的内存机制<br /> Android的程序由Java语言编写,所以Android的内存管理与Java的内存管理相似。程序员通过new为对象分配内存,所有对象在java堆内分配空间;然而对象的释放是由垃圾回收器来完成的。C/C++中的内存机制是“谁污染,谁治理”,java的就比较人性化了,给我们请了一个专门的清洁工(GC)。<br /> 那么GC怎么能够确认某一个对象是不是已经被废弃了呢?Java采用了有向图的原理。Java将引用关系考虑为图的有向边,
2011-04-01 21:10:00
802
转载 android调试工具集【转】
<br /><br />1. 查看当前堆栈<br />1) 功能:在程序中加入代码,使可以在logcat中看到打印出的当前函数调用关系<br />2) 方法: <br />new Exception(“print trace”).printStackTrace();<br />2. MethodTracing<br />1) 功能:用于热点分析和性能优化,分析每个函数占用的CPU时间,调用次数,函数调用关系等<br />2) 方法:<br />a) 在程序代码中加入追踪开关 1: import and
2011-04-01 19:29:00
621
转载 android自定义Activity窗口大小
<br /><br />正常情况下,我们开发的应用程序都会上占满整个屏幕,那么怎么样才能开发出自定义窗口大小的的程序呢?如下图所示:<br /><br /><br />实现起来非常简单。<br />第一步,创建一个背景配置文件float_box.xml,放到res/drawable下,如下所示(如看不懂可查看本站:):<?xmlversion="1.0"encoding="utf-8"?><!--** Copyright 2010, Ideasandroid--><shapexmlns:android="h
2011-04-01 19:06:00
1251
转载 android数据库事务
<br /><br />在android应用程序开发中,在使用到数据库的时候,事务处理是非常重要的。<br /> 首先android数据库操作(特别是写操作)是非常慢的,将所有操作打包成一个事务能大大提高处理速度。<br /> 其次是保证数据的一致性,让一个事务中的所有操作都成功执行,或者失败,或者所有操作回滚。<br /> 如果您喜欢使用其他平台(如PHP + MySQL),代码通常在一个功能强大的服务器上运行,一般不会被意外中止,但在android平台上,您将会
2011-04-01 19:00:00
862
转载 移动 电信 联通 APN cmwap cmnet ctwap ctnet 3gwap uniwap 3gnet uninet是...
<br /><br />移动 电信 联通 APN cmwap cmnet ctwap ctnet 3gwap uniwap 3gnet uninet是什么 怎么设置<br /> APN(Access Point Name),即“接入点名称”,用来标识GPRS的业务种类,目前分为两大类:CMWAP(通过GPRS访问WAP业务)、CMNET(除了WAP以外的服务目前都用CMNET,比如连接因特网等)。<br />中国移动APN: cmwap (2G) cmnet (3G)<br />中国电信APN: ctwap
2011-03-31 14:57:00
19527
转载 WebView,WebViewClient,WebChromeClient
<br /><br />这三者有何关系?<br />在WebView的设计中,不是什么事都要WebView类干的,有些杂事是分给其他人的,这样WebView专心干好自己的解析、渲染工作就行了。WebViewClient就是帮助WebView处理各种通知、请求事件的,具体来说包括:<br /> onLoadResource<br /> onPageStart<br /> onPageFinish<br /> onReceiveError<br /> onReceivedHttpAuthRequest
2011-03-03 20:41:00
845
转载 android 共享全局数据
<br /><br />我们在平时的开发中,有时候可能会需要一些全局数据,来让应用中的所有Activity和View都能访问到,大家在遇到这种情况时,可能首先会想到自己定义一个类,然后创建很多静态成员,不过android已经为我们提供了这种情况的解决方案,下面就来介绍一下:<br /><br /> 在Android中,有一个名为Application的类,我们可以在Activity中使用getApplication(),方法来获得,它是代表我们的应用程序的类,使用它可以获得当前应用的主题,资源文件中
2011-02-21 11:12:00
1003
转载 Android中的事件模型
以前写 android ,对事件的处理没有太深入,只是简单的 onTouchEvent 就 ok 了,现在写的 UI ,很多自定义组件,父 view 和子view 都需要接收事件,然后处理。如果不弄明白它的事件传递机制,很难拥有好的用户体验。Touchevent 中,返回值是 true ,则说明消耗掉了这个事件,返回值是 false ,则没有消耗掉,会继续传递下去,这个是最基本的。在 View 中跟 Touch 相关的事件有 dispatchTouchEvent , interceptTouchEvnet
2010-12-24 22:04:00
4303
转载 Android---AlarmManager(全局定时器/闹钟)指定时长或以周期形式执行某项操作
<br /><br />AlarmManager的使用机制有的称呼为全局定时器,有的称呼为闹钟。通过对它的使用,个人觉得叫全局定时器比较合适,其实它的作用和Timer有点相似。都有两种相似的用法:(1)在指定时长后执行某项操作(2)周期性的执行某项操作<br />AlarmManager对象配合Intent使用,可以定时的开启一个Activity,发送一个BroadCast,或者开启一个Service.<br />下面的代码详细的介绍了两种定时方式的使用:<br /> (1)在指定时长后执行某项操作<br
2010-12-08 22:01:00
1274
转载 Intent和PendingIntent的关系
<br />Intent和PendingIntent的关系越看越迷惑,花了一段时间分析Android的JavaDoc终于有点心得,在此与大家分享:Intent是一个意图,一个描述了想要启动一个Activity、Broadcast或是Service的意图。它主要持有的信息是它想要启动的组件(Activity、Broadcast或是Service)。PendingIntent可以看作是对Intent的包装。供当前App之外的其他App调用。有点“被动”或是“Callback”的意思,但不是严格意义上的“被动”或
2010-12-08 22:00:00
772
转载 闹钟 AlarmManager PendingIntent
本文通过对Android内置闹铃功能的简单介绍,来让开发者朋友们了解基于OPhone平台下客户/服务模式的编程模型,以及如何使用OPhone 系统提供的闹铃唤醒功能。与此同时,本文还对PendingIntent做一些简单的介绍,并通过实例程序来演示如何通过PendingIntent将闹 钟应用程序和系统闹铃服务联系起来。一、闹铃功能 闹钟应用程序作为人 们日常常用的基本应用程序之一,其重要性不言而喻。在OPhone系统中闹铃服务功能不仅仅对闹钟应用程序服务,最重要的是可以利用该闹铃服务功能提供的 唤醒能力
2010-12-08 21:59:00
3262
转载 Android程序横竖屏切换
关于Android中Activity的横竖屏切换问题可以通过AndroidManifest.xml文件中的Activity来配置:android:screenOrientation=["unspecified" | "user" | "behind" | "landscape" | "portrait" | "sensor" | "nonsensor"]screenOrientation 用来指定Activity的在设备上显示的方向,每个值代表如下含义:"unspeci
2010-12-04 16:00:00
750
转载 Android签名用keytool和jarsigner制作apk文件
<br /><br />Android程序的签名和Symbian类似都可以自签名(Self-signed),但是在Android平台中证书初期还显得形同虚设,平时 开发时通过ADB接口上传的程序会自动被签有Debug权限的程序。需要签名验证在上传程序到Android Market上时大家都已经发现这个问题了。编辑本段 回目录Android signed制作方法<br /><br /> <br />首先在Android开发时没有安装jdk的网友在SUN官方网站下载JDKhttp://www.java.net/
2010-11-29 22:27:00
695
转载 android网络连接总结
<br />一:HttpURLConnection <br />Java代码 URL sourceUrl; String fileName =""; try { sourceUrl = new URL("网址"); fileName = sourceUrl.getFile(); fileName = fileName.substring(fileName.lastIndexOf('/') +
2010-11-29 22:25:00
967
转载 Android 实现联网(四)——TCP/UDP
<br /> <br />在java.net漫游 篇幅 中,我们详细介绍了与网络相关的基础类,本篇幅我们详细介绍TCP、UDP,以及如何在Android 实现联网中使用TCP、UDP协议。TCP(Transmission Control Protocol:传输控制协议)<br />TCP模型结构图,如下图所示:<br /><br />服务器端与客户端的交互图,如下图所示:<br /><br />对上图,解释如下服务器程序编写调用ServerSocket(int port)创建一个服务器套接字,并绑定到指定端
2010-11-29 22:24:00
2001
转载 Android 实现联网(二)——java.net漫游
<br /><br />相比较C++,Java在网络编程方面的优势是不言而喻的。想当初学习MFC网络方面的痛苦,现在看到java.NET包中的类,感觉轻松多了。说 点题外话:在C++网络方面可以推荐给大家一个很好的开源项目POCO库,这个库在网络方面的功能只能用: 那是相当强大,有兴趣的可以去学习下。<br />在Android 实现联网(一)——package说明篇幅中 ,我们简要介绍了Android 网络方面的包,本篇幅我们漫游java.net包,按照网络方面的知识来逐步学习java网络编程,并给大家介
2010-11-29 22:22:00
716
转载 Android 实现联网(三)——在线程中联网
<br /><br />在前面的关于Java I/O的学习中,有一个我们需要牢记的是:对数据流的操作都是阻塞的,在一般情况下,我们是不需要考虑这个问题的,但是在Android 实现联网的时候,我们必须考虑到这个问题。比如:从网络上下载一张图片:Java代码 public Bitmap returnBitmap(String url) { URL myFileUrl = null; Bitmap bitmap = null; try{ myFileUrl = new URL(url); }catc
2010-11-29 22:22:00
645
转载 Android 实现联网(一)——package说明
<br /><br />今天我们将深入介绍了Android SDK 中一些与网络有关的package,如下:<br />包<br />描述Java.NET提供与联网有关的类,包括流和数据包(datagram)sockets、Internet 协议和常见 HTTP 处理。该包是一个多功能网络资源。有经验的 Java 开发人员可以立即使用这个熟悉的包创建应用程序。java.io虽然没有提供显式的联网功能,但是仍然非常重要。该包中的类由其他 Java 包中提供的 socket 和连接使用。它们还用于与本地文件(在
2010-11-29 22:21:00
449
转载 XML解析学习——创建XML
<br /><br />一.基础知识<br /> 在前面的学习过程中,我们基本上比较全面的学习了OPhone/Android平台上读取XML文档的方法,介绍了使用Java SAX、OPhone/Android SAX、DOM和Pull等各种方式来读取XML文档内容。<br /> 目前为止,我们一直专注于解析已有的XML文档,实际上我们也是需要读XML的情形比较多。但是我们可能也有写XML的需要,应用程序可能需要将 XML 发送到远程服务器,或者需要以XML的形式保存数据等。因此在这部分内容中我们就来学习
2010-11-29 22:18:00
713
转载 android XML解析学习——方式比较
<br /><br />一.基础知识<br /> 经过这段时间的学习,我们已经了解了OPhone/Android平台上用于解析XML的三种方式:SAX、DOM和Pull。并且在学习的过程中也介绍了这三种方式各自的特点及适合的使用场合,简单的来说,DOM方式最直观和容易理解,但是只适合XML文档较小的时候使用,而SAX方式更适合在OPhone/Android系统中使用,因为相比DOM占用内存少,适合处理比较大的XML文档,最后的Pull方式使用场合和SAX类似,但是更适合需要提前结束XML文档解析的场合。<
2010-11-29 22:17:00
684
转载 android XML解析学习——Dom方式
<br /><br />一.基础知识<br /> 在《OPhone XML解析学习--Sax方式》和《OPhone XML解析学习--Sax方式(续)》中我们学习了在OPhone/Android平台上使用SAX的方式解析XML文档的方法。除了SAX的方式,还有一种常用的为DOM(Document Object Model文档对象模型)方式。<br /> DOM方式解析XML的过程为首先将所有 XML 文档读取到内存中,构造一个树结构,然后允许使用 DOM API 来操作整个树结构,包括遍历 XML 树、
2010-11-29 22:16:00
625
转载 android XML解析学习——Pull方式
<br /><br />一.基础知识<br /> 通过前面的学习我们已经知道了OPhone/Android上使用SAX和DOM方式解析XML的方法,并且对两种做了简单的比较,通过比较我们知道对在往往内存比较稀缺的移动设备上运行的OPhone/Android系统来说,SAX是一种比较合适的XML解析方式。<br /> 但是SAX方式的特点是需要解析完整个文档才会返回,如果在一个XML文档中我们只需要前面一部分数据,但是使用SAX方式还是会对整个文档进行解析,尽管XML文档中后面的大部分数据我们其实都不需要
2010-11-29 22:15:00
863
转载 android XML解析学习——android.Sax
<br /><br />一.基础知识<br /> 在《OPhone XML解析学习--Sax方式》中我们学习了OPhone /Android上使用Java的SAX进行XML解析的方式。而在OPhone/Android平台上使用SAX解析XML,除了使用Java的API外,还可以使用OPhone/Android SDK带的API来实现。OPhone/Android SDK中和SAX解析相关的包为android.sax,在这个包中OPhone/Android提供了都有的SAX API,使用它们可以更加方便的进
2010-11-29 22:14:00
1701
转载 android XML解析学习——Java Sax
一.简单介绍 XML(eXtensible Markup Language),即可扩展标记语言,是一种简单的数据存储语言,使用一系列简单的标记描述数据。XML 经常用作 Internet 上的一种数据格式,因此如果您希望通过 Internet 访问数据,则数据很有可能是 XML 格式,或者如果您希望发送数据给 Web 服务,那么您可能也需要发送 XML。简而言之,如果您的 OPhone/Android 应用程序将利用 Internet,那么您可能需要使用 XML。幸运的是,您可以采用多种方法在 OPhon
2010-11-29 22:08:00
1110
原创 为程序添加版本自动更新功能
<br /><br />OverView: <br />程序 通过后台每天检查是否有最新版本,如果需要更新当前版本,将弹出对话框让用户选择是否在当前通过Market来更新软件 。<br />Knowledge Points:SharedPreferences: 一个轻量级的存储方法,类似于经常使用的.ini文件,它也是通过检索关键字来取得相应的数值。之所以是成为轻量级,是因为它所能应用 的数值类型有限,对于存储较大数值,效率相对较低。官方参考System.currentTimeMillis:将当前时间以毫秒
2010-11-29 21:36:00
554
转载 如何取得Android源代码
<br /><br />Git 是 Linux Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的分布式版本控制软件,它不同于Subversion、CVS这样的集中式版本控制系统。在集中式版本控制系统中只有一个仓库(repository),许多个工作目录(working copy),而像Git这样的分布式版本控制系统中(其他主要的分布式版本控制系统还有BitKeeper、Mercurial、GNU Arch、Bazaar、Darcs、SVK、Monotone等),每一个工作目录都包含
2010-11-29 13:17:00
424
转载 Android单个模块编译
<br /><br />编译模块<br />android中的一个应用程序可以单独编译,编译后要重新生成system.img<br />在源码目录下执行<br /> . build/envsetup.sh (.后面有空格)<br />就多出一些命令:<br /> - croot: Changes directory to the top of the tree.<br /> - m: Makes from the top of the tree.<br /> - mm: B
2010-11-28 22:20:00
601
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人