代码改变世界

Android SDCard Mount 流程分析(一)

2012-04-05 11:01 by Terry_龙, 28592 阅读, 4 推荐, 收藏, 编辑
摘要:前段时间对Android 的SDCard unmount 流程进行了几篇简短的分析,由于当时只是纸上谈兵,没有实际上的跟进,可能会有一些误导人或者小错误。今天重新梳理了头绪,针对mount的流程再重新分析一次。本篇大纲 android 系统如何开机启动监听mount服务 默认设备节点在Android 系统的哪个目录 vold.fstab 配置文件的分析 vold 里面启动页面main做了些什么android 系统如何开机启动监听mount服务android sdcard 热插拔监测和执行操作是由一个启动文件vold 所统领的,系统开机会读取初始化配置文件init... 阅读全文

Android SDCard UnMounted 流程分析(三)

2012-03-22 20:40 by Terry_龙, 7070 阅读, 2 推荐, 收藏, 编辑
摘要:前篇地址Android SDCard UnMounted 流程分析(一)Android SDCard UnMounted 流程分析(二)前一篇讲到SDCard unmout onEvent 发送socket 到框架层,接下来分析框架层得到数据后的流程。MoutService当android 系统启动时,system将MountService 添加到启动服务里面,而MountService 会开启一个线程来运行NativeDaemonConnector,由它来监听vold的消息,代码:mConnector=newNativeDaemonConnector(this,"vold" 阅读全文

Android SDCard UnMounted 流程分析(二)

2012-03-22 15:47 by Terry_龙, 3997 阅读, 1 推荐, 收藏, 编辑
摘要:上一篇讲到通过NetlinkManager发送uevent 命令到NetlinkHandler 的onEvent,代码如下:voidNetlinkHandler::onEvent(NetlinkEvent*evt){VolumeManager*vm=VolumeManager::Instance();constchar*subsys=evt->getSubsystem();if(!subsys){SLOGW("Nosubsystemfoundinnetlinkevent");return;}SLOGD("NetlinkHandler:OnEventsubsy 阅读全文

Android SDCard UnMounted 流程分析(一)

2012-03-22 14:53 by Terry_龙, 6267 阅读, 4 推荐, 收藏, 编辑
摘要:Android SDCard框架Android SDCard框架,我们修改一般涉及到四大模块 Linux Kernel 用于检测热拔插,作为框架开发者来说,这者不用涉及 Vold 作为Kernel 与 Framework 之间的桥梁 Framework 操作Vold ,给Vold 下发操作命令 UI 与Framework 交互,用于挂载/卸载SD卡框架涉及的源码位置Vold :System/vold 为vold 提供接口:System/Netd 其他涉及的部分:System/core/libsysutils/src Sys... 阅读全文

Android RenderScript 使用 Struct 及其下标的赋值

2012-03-09 15:45 by Terry_龙, 3291 阅读, 2 推荐, 收藏, 编辑
摘要:这是一个关于RenderScript如何使用 Struct 的文章,是学习RenderScript 一个必须要掌握的基础知识点。大纲 如何定义Struct 如何得到指针长度并循环为指针赋值 整体DEMO代码如何定义StructRenderScript 里面定义结构有两种定义方法,参考如下:1.typedefstructtempArray{float2position;floatsize;}Array_T;Array_T*myArray;2.//定义一个structtypedefstruct__attribute__((packed,aligned(4)))tempArr... 阅读全文

Android RenderScript 关于Compute 的使用

2012-03-05 15:23 by Terry_龙, 6020 阅读, 2 推荐, 收藏, 编辑
摘要:RenderScript 不仅可以用来画图,而且可以用来做密集的计算操作。目前的API可以使用到的是利用CPU的核心优势来帮我们做计算。在未来,可能会包括GPU和DSP处理器上做精密计算。创建一个Compute 的RenderScript 下面有一张图详细的介绍了勾划了一个Compute 的 RenderScript:图解:Andriod 有一个RenderScript Compute 的引擎来支持做精密计算,后期google 会不断扩展这个引擎让其支持更多的精密计算如上面提到的GPU、DSP等等,创建Compute RenderScript 同样的也必须写一个.rs 文件,做运行时生成对.. 阅读全文

关于Android RenderScript 的详细说明和一些实用文档

2012-03-02 15:15 by Terry_龙, 28069 阅读, 3 推荐, 收藏, 编辑
摘要:RenderScript 是一种低级的高性能编程语言,用于3D渲染和处理密集型计算(3D播放等和关于CPU密集型的计算)。一直以来Android 在绘图性能的表现一直差强人意,引入NDK之后才有所改善,而在Honeycomb 中发布了RenderScript 这一杀手级在Framework 后,大大的增加了Android 本地语言的执行能力和计算能力。以下是参考一些网上总结的几点:编程语言和可移植性RenderScript 采用了c99语法(标准C来自1999年,最新标准是C11,来自2011年),新的应用编程接口(API)最终编译成原生代码。这意味着做为Android 图形开发者就不得不再系 阅读全文

Android RenderScript 的使用基础篇

2012-03-01 13:54 by Terry_龙, 12753 阅读, 2 推荐, 收藏, 编辑
摘要:准备上4.0项目,最近接触API 的时候看到了RenderScript 。通过运行google 那几个项目发现这个真是一个非常不错的API,但是google 所提供的文档非常少,有助于了解计算机图形计算,虽然我们做应用编程的不一定要涉及这块,但涉猎一下总是不错的。RenderScript 是Android 平台上的一种类C脚本语言。要在我们程序上实现RenderScript 渲染功能,最少需要实现的几个功能如下,以一个Hello Wold 为例: helloworld.rs实现RenderScript 的代码 RenderScriptRS.java 一个辅助类,简化操... 阅读全文

HTML5 的两个不错的文档

2012-02-29 11:04 by Terry_龙, 1178 阅读, 0 推荐, 收藏, 编辑
摘要:网上看到的两个比较不错的HTML5文档,保存下来,以备以后查阅。HTML5 Canvas Cheat Sheet关于html5 Canvas的文件,可以用作参考。都是些如何操作canvas的方法和属性用法,还配有详细的图解 aboutHTML5 Canvas Cheat Sheet 详细地HTML 节点标签说明 阅读全文

HTML5 学习手笔四:canvas 总结

2012-02-28 10:43 by Terry_龙, 2972 阅读, 3 推荐, 收藏, 编辑
摘要:什么是 Canvas?HTML5 的 canvas 元素使用 JavaScript 在网页上绘制图像。画布是一个矩形区域,您可以控制其每一像素。canvas 拥有多种绘制路径、矩形、圆形、字符以及添加图像的方法Canvas 对象Canvas 对象表示一个 HTML 画布元素 - <canvas>。它没有自己的行为,但是定义了一个 API 支持脚本化客户端绘图操作。你可以直接在该对象上指定宽度和高度,但是,其大多数功能都可以通过 CanvasRenderingContext2D 对象获得。 这是通过 Canvas 对象的 getContext() 方法并且把直接量字符串 " 阅读全文

HTML5 学习手笔三:canvas API 绘制树形图案B

2012-02-27 16:26 by Terry_龙, 6482 阅读, 5 推荐, 收藏, 编辑
摘要:继续为上篇的跑道树林添砖加瓦。本篇大纲 加载图像做为树干的背景 为树干实现渐变效果 使用背景图让跑道更加真实 1):使用HTML5的scale功能缩放树木 。2):使用rotate制造倾倒树木的效果 为树木添加阳光照射下的阴影效果 添加文本标题,并为文本增加阴影效果,使用Canvas Shadow API。加载图像做为树干的背景,功能点为:在canvas 中插入图片上篇使用矩形填充颜色的功能为树冠增加树干,但总体效果并不是很理想,达不到真正树木的要求。我们需要一张更带有树皮纹理的图片做为树干,基本的步骤分为: 创建图片对象 为图片... 阅读全文

HTML5 学习手笔二:canvas API 绘制树形图案A

2012-02-25 13:46 by Terry_龙, 3666 阅读, 3 推荐, 收藏, 编辑
摘要:上篇通过对canvas 画对角线,了解了一些canvas画图基本原理。现在可以利用HTML5 canvas API创建一个场景:带有长跑跑道的树林。本篇大纲 用canvas API绘制树木的树冠 为树冠的边框架加粗并且填充树冠颜色 为树冠创造一个强大的树干 绘制跑道用canvas API绘制树木的树冠原理还是与上篇画对角线一样,只是步骤增多而已,先看代码:<scripttype="text/javascript">functioncreateCanopyPath(context){context.beginPath();context.moveTo(-25,.. 阅读全文

HTML5 学习手笔一:canvas API 画对角线

2012-02-24 16:13 by Terry_龙, 4514 阅读, 3 推荐, 收藏, 编辑
摘要:自从停博一段时间后,一直在思考特别是今年开年,在想学习什么技术做为未来的技术储备。本来想加强下Android 底层方面的知识,但觉得工作上跟这块有所涉及再学习的话有点懒,由于Windows Phone 7 开发工作上没有涉及,目前也算是入门,未来短时间内不会考虑将其应用于工作选择,故不做考虑。现选择了两个方向为:IOS和HTML5,手上的毛主席相对比较紧还没有买MAC,所以优先选择了HTML5先涉猎一下,以后再考虑精通或者再涉猎IOS,作为未来的技术储备。 关于HTML5的简介和推广者网上一大把资料这里就略过,直接进入主题。 在页面中加入HTML5->canvas 在HTML页面中插入. 阅读全文

Android 调用堆栈跟踪

2012-02-23 14:40 by Terry_龙, 9977 阅读, 3 推荐, 收藏, 编辑
摘要:Android开发中,我们也会经常遇到段错误,也就是SIGSEGV(11),这个时候libc的backtrace会打印出对应的堆栈信 息,而你看到的仅仅是一对数字,好像无从查起。如下面这一从串断错误:ActivityManager(1105):Displayedactivitycom.android.browser/.BrowserActivity:2460ms(total2460ms)I/DEBUG(13002):************************************************I/DEBUG(13002):Buildfingerprint:'unk.. 阅读全文

Loaders 的使用,结合Fragments

2012-02-20 10:54 by Terry_龙, 13204 阅读, 3 推荐, 收藏, 编辑
摘要:Loader的特点和使用场所 Loader 可以在Activity 和Fragments 的界面下运行(本篇将结合上篇文章的Fragments的DEMO进行讲述如何在Fragments 下使用Loaders)。 它可以提供类似于AysncTask一样的异步请求数据加载的功能,实际上它就是来源于AysncTask 的扩展并增加了很多人性化的功能,例如加载进度框、更好的控制API等。 它拥有一个类似于Windows Phone 开发的MVVM一样的数据改变通知机制,当数据源做出改变时会及时通知。 当Cursor 发生变化时,会自动加载数据,因此并不需要再重新进行数据... 阅读全文

Android Fragments 详细使用

2012-02-17 14:29 by Terry_龙, 108454 阅读, 29 推荐, 收藏, 编辑
摘要:Fragments 诞生初衷 自从Android 3.0中引入fragments 的概念,根据词海的翻译可以译为:碎片、片段。其上的是为了解决不同屏幕分辩率的动态和灵活UI设计。大屏幕如平板小屏幕如手机,平板电脑的设计使得其有更多的空间来放更多的UI组件,而多出来的空间存放UI使其会产生更多的交互,从而诞生了fragments 。fragments 的设计不需要你来亲自管理view hierarchy 的复杂变化,通过将Activity 的布局分散到frament 中,可以在运行时修改activity 的外观,并且由activity 管理的back stack 中保存些变化。 Frag... 阅读全文

使用NDK移植开源项目,JNI的使用技巧

2012-02-07 09:58 by Terry_龙, 8567 阅读, 2 推荐, 收藏, 编辑
摘要:jni 的介绍JNI是Java Native Interface的缩写,中文为JAVA本地调用。从Java1.1开始,Java Native Interface(JNI)标准成为java平台的一部分,它允许Java代码和其他语言写的代码进行交互。JNI一开始是为了本地已编译语言,尤其是C和C++而设计的,但是它并不妨碍你使用其他语言,只要调用约定受支持就可以了。以下介绍Android 中如何使用jni移植开源库的技巧.JNI日志输出到Logcat中#include <android/log.h>#define LOG_TAG "===xcloud==="#def 阅读全文

android 处理图片工具

2012-01-08 16:40 by Terry_龙, 9482 阅读, 2 推荐, 收藏, 编辑
摘要:packagecom.wireme.activity;importjava.io.ByteArrayOutputStream;importjava.io.File;importjava.io.FileNotFoundException;importjava.io.FileOutputStream;importjava.io.IOException;importandroid.graphics.Bitmap;importandroid.graphics.BitmapFactory;importandroid.graphics.Canvas;importandroid.graphics.Color 阅读全文

Ubuntu 配置WebDav服务器

2011-11-30 16:19 by Terry_龙, 6111 阅读, 2 推荐, 收藏, 编辑
摘要:什么是WebDAV?简单地说:“基于Web的分布式创作和版本”的WebDAV。它是HTTP协议,它允许用户协作编辑和管理远程Web服务器上的文件的扩展。听说苹果的icloud 也是基于webdav来实现的,使用Ubuntu 如何配置webdav服务器呢?首先先了解webdav的一些开源项目和商业项目,访问这个链接:http://webdav.org/.进入终端:步骤1:安装apache2服务:sudo apt-get install apache2步骤2:启用关联到的模块:sudoa2enmoddav_fssudoa2enmoddavsudoa2enmoddav_lock步骤3:关联SO文件: 阅读全文

Android Ap 开发 设计模式第九篇:桥接模式

2011-07-26 20:30 by Terry_龙, 4358 阅读, 4 推荐, 收藏, 编辑
摘要:Bridge Pattern模式解读 bridge 是“桥梁”的意思。就像现实社会里的桥梁担负着连接两岸的重大责任一样,Bridge Pattern也是负责连接2个不同位置的参与者。 桥接模式沟通着“功能的类层次”和“实现的类层次”。将“功能的类层次”和“实现的类层次”分成2个独立的类层次可能会弄得支离破碎,所以必须在2个类层次之间建一座沟通的桥梁。程序示例 按照上面的分法,本例可以分为4个类按照“功能的类层次”和“实现的类层次”分开,分别为:功能的类层次 Display 该类为打印内容的类 CountDisplay 该类不仅可以打印内容还可以参数指定打印次数实现的类层次 DisplayIm. 阅读全文
上一页 1 2 3 4 5 6 ··· 9 下一页