自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

在Ubuntu上为Android系统的Application Frameworks层增加硬件访问服务

在数字科技日新月异的今天,软件和硬件的完美结合,造就了智能移动设备的流行。今天大家对iOS和Android系统的趋之若鹜,一定程度上是由于这两个系统上有着丰富多彩的各种应用软件。因此,软件和硬件的关系,在一定程度上可以说,硬件是为软件服务的。硬件工程师研发出一款硬件设备,自然少了软件工程师为其编写驱动程序;而驱动程序的最终目的,是为了使得最上层的应用程序能够使用这些硬件提供的服务来为用户提供软...

2011-06-30 23:10:00 47

Android Map Api 使用和开发(3)浮动搜索框 ,通过地址名称获取经纬度和详细地址并定位...

这篇把 浮动搜索框 ,通过地址名称获取经纬度和详细地址并定位 这些功能加上,算是一个比较完整的地图了。前辈们都说不要重复的造相同的轮子, 希望这整个例子对正在研究或做地图的同学有帮助。 先上图,看看效果搜索框:用的icon是愤怒的小鸟,尼玛默认的icon太难看了,换个好看的。哈哈、点击搜索后的效果:那就开始吧!一、配置搜索框searchable.xml<?xml ...

2011-06-30 17:10:00 68

在Ubuntu为Android硬件抽象层(HAL)模块编写JNI方法提供Java访问硬件服务接口

在上两篇文章中,我们介绍了如何为Android系统的硬件编写驱动程序,包括如何在Linux内核空间实现内核驱动程序和在用户空间实现硬件抽象层接口。实现这两者的目的是为了向更上一层提供硬件访问接口,即为Android的Application Frameworks层提供硬件服务。我们知道,Android系统的应用程序是用Java语言编写的,而硬件驱动程序是用C语言来实现的,那么,Java接口如何...

2011-06-29 22:27:00 65

Google Maps API Web Services文档使用

http://code.google.com/intl/zh-CN/apis/maps/documentation/geocoding/有很多有用的接口这个可以通过经纬度求地址信息,不过返回的信息有点多,怎么减少呢?用在手机上太浪费流量了,里面有很多不需要的信息。http://maps.google.com/maps/api/geocode/json?latlng...

2011-06-29 15:08:00 47

Android Map Api 使用和开发(2) 定位我的位置、地图弹出泡泡、通过经纬度获取地址...

(全部源码地址:http://download.csdn.net/detail/totogo2010/4335701)上篇把界面画出来了, 接下来就是显示里面的功能了,那这篇内容就比较丰富了。主要有这么几道菜:1、在地图上弹出泡泡显示信息,并且能相应泡泡的点击时间2、自动定位当前位置(也就是我的位置) --添加了 GPS定位和基站定位。3、获取经纬度对应的接到地址名称...

2011-06-29 14:37:00 153

Android Map Api 使用和开发(1) 添加地图和界面

(全部源码地址:http://download.csdn.net/detail/totogo2010/4335701 )最近正在做和地图相关的项目,想记录和整理一下的这方面的内容发出来,既是自己整理总结,也是和别人分享经验。做过android 地图相关项目的同学估计都会有一些相同的需求,这些需求在android 上谷歌自己做的地图软件都做得很好,很多人想模仿参考来做,比如:1、弹出...

2011-06-29 09:09:00 52

在Ubuntu上为Android增加硬件抽象层(HAL)模块访问Linux内核驱动程序

在Android硬件抽象层(HAL)概要介绍和学习计划一文中,我们简要介绍了在Android系统为为硬件编写驱动程序的方法。简单来说,硬件驱动程序一方面分布在Linux内核中,另一方面分布在用户空间的硬件抽象层中。接着,在Ubuntu上为Android系统编写Linux内核驱动程序一文中举例子说明了如何在Linux内核编写驱动程序。在这一篇文章中,我们将继续介绍Android系统硬件驱动程序的...

2011-06-28 22:52:00 53

模仿android谷歌地图功能开发记录

第一步: 先要需要会地图加到程序里去可以参考这个教程http://hb.qq.com/a/20110221/000009.htm第二步:正在编代码。

2011-06-28 14:25:00 72

ARM 系统高效C编程——C编译器及优化概述

看一个例子, 把从地址data 开始的N个字节的内容置0:void memclr(char *data, int N){ for(;N>0; N --) { *data = 0;data ++; }}首先, 编译器无论多高级,也不可能知道 N 的输入是否可以是 0。 因此, 在第一个循环开始之前,编译器需要对这个问题进行明确的确定。其次,编...

2011-06-28 00:25:00 112

android内置搜索对话框(浮动搜索)例子

差点忘了,先上图看效果吧:步骤:(1)配置search bar的相关信息,新建一个位于res/xml下的一个searchable.xml的配置文件<?xml version="1.0" encoding="utf-8"?><searchable xmlns:android="http://schemas.android.com/apk/res/andro...

2011-06-27 23:55:00 94

在Ubuntu上为Android系统内置C可执行程序测试Linux内核驱动程序

在前一篇文章中,我们介绍了如何在Ubuntu上为Android系统编写Linux内核驱动程序。在这个名为hello的Linux内核驱动程序中,创建三个不同的文件节点来供用户空间访问,分别是传统的设备文件/dev/hello、proc系统文件/proc/hello和devfs系统属性文件/sys/class/hello/hello/val。进一步,还通过cat命令来直接访问/proc/hello...

2011-06-27 22:00:00 51

JavaScript金额的格式化函数

function formatNumber(num, pattern) { var strarr = num ? num.toString().split('.') : ['0']; var fmtarr = pattern ? pattern.split('.') : ['']; var retstr = ''; // 整数部分 var str = strarr[0]; var fmt =...

2011-06-27 14:59:00 132

TCP 协议 头结构

TCP/IP协议中各层的数据报结构是一个比较抽象的内容,大家在日常学习过程中往往难以理解和掌握,常常是死记硬背把它记住了事。本文首先利用Sniffer工具捕获了FTP命令操作过程中的所有数据包,然后对Sniffer工具中捕获的每一部分数据包的含义进行了详细的阐述,最后总结归纳出TCP/IP协议中网络接口层、网络层、传输层的数据报文结构,从而使大家加深对TCP/IP协议各层数据报结构的理解和掌握。 ...

2011-06-27 00:33:00 95

在Ubuntu上为Android系统编写Linux内核驱动程序

在智能手机时代,每个品牌的手机都有自己的个性特点。正是依靠这种与众不同的个性来吸引用户,营造品牌凝聚力和用户忠城度,典型的代表非iphone莫属了。据统计,截止2011年5月,AppStore的应用软件数量达381062个,位居第一,而Android Market的应用软件数量达294738,紧随AppStore后面,并有望在8月份越过AppStore。随着Android系统逐步扩大市场占有...

2011-06-26 12:10:00 59

LoadRunner常见问题

最近在自学LoadRunner,折腾的不轻啊!装了卸,卸了装。本以为很简单的事情,可是没想到自己亲自实践的时候会遇到很多问题。昨天在同事新买的本本上装了一次,还好,安装过程很顺利,可是新的问题又来了。在录制LoadRunner自带的订票系统时出问题了:录制过程中event竟然始终是0,哎!郁闷啊!本人确保选择的录制协议是对的,操作也没有任何问题。可是问题究竟出在哪呢?Google一把才知道:有高...

2011-06-25 21:25:00 73

Android硬件抽象层(HAL)概要介绍和学习计划

Android的硬件抽象层,简单来说,就是对Linux内核驱动程序的封装,向上提供接口,屏蔽低层的实现细节。也就是说,把对硬件的支持分成了两层,一层放在用户空间(User Space),一层放在内核空间(Kernel Space),其中,硬件抽象层运行在用户空间,而Linux内核驱动程序运行在内核空间。为什么要这样安排呢?把硬件抽象层和内核驱动整合在一起放在内核空间不可行吗?从技术实现的角度来...

2011-06-25 13:03:00 48

Solution to : The cpu has been disabled by the guest operating system. You will need to power off or...

安装虚拟机过程中,出现下面状况的:The cpu has been disabled by the guest operating system. You will need to power off or reset the virtual machine at this point”编辑vmx的文件,就是开始的时候改成darwin10的那个文件,添加下面这个语句。cpuid.1.eax = "...

2011-06-25 10:25:00 95

如何单独编译Android源代码中的模块

第一次下载好Android源代码工程后,我们通常是在Android源代码工程目录下执行make命令,经过漫长的等待之后,就可以得到Android系统镜像system.img了。以后如果我们修改了Android源代码中的某个模块或者在Android源代码工程新增一个自己的模块,是不是还是执行make命令呢?答案是否定的,Google为我们准备了另外的命令来支持编译单独的模块,以及重新打包syst...

2011-06-24 22:07:00 111

安装WIN7 后 UBUNTU 不见了, 找回的方法

用Ubuntu的livecd启动,进终端输入sudo -igrubfind /boot/grub/stage1返回自己Ubuntu系统的引导程序所在分区,我的是(hd0,2),然后重启终端输入sudo grubroot (hd0,2) 注释:root跟(之间有空格setup(hd0)quit然后关机(时间较长),再次启动,Ubuntu就回来了。另...

2011-06-24 00:06:00 71

在Ubuntu上下载、编译和安装Android最新内核源代码(Linux Kernel)

在前一篇文章提到,从源代码树下载下来的最新Android源代码,是不包括内核代码的,也就是Android源代码工程默认不包含Linux Kernel代码,而是使用预先编译好的内核,也就是prebuilt/android-arm/kernel/kernel-qemu文件。那么,如何才能DIY自己的内核呢?这篇文章一一道来。 一. 首选,参照前一篇在Ubuntu上下载、编译和安装Android...

2011-06-23 22:53:00 51

在VI中替换字符串

vi/vim 中可以使用 :s 命令来替换字符串。以前只会使用一种格式来全文替换,今天发现该命令有很多种写法(vi 真是强大啊,还有很多需要学习),记录几种在此,方便以后查询。  :s/vivian/sky/ 替换当前行第一个 vivian 为 sky  :s/vivian/sky/g 替换当前行所有 vivian 为 sky  :n,$s/vivian/sky/ 替换第 n 行开始到最后一行中每...

2011-06-23 16:55:00 187

samba share files between windows and ubuntu LINUX 文件共享

To get started, first check to see if Samba is installed (by default Samba usually is installed during installation).Open a Terminal window (Applications / Accessories / Terminal) and at the...

2011-06-22 22:04:00 57

Linux Device Drivers 3rd edition 设备驱动 源代码

Linux Device Drivers 3rd edition is a very good book by Jonathan Corbet, Alessandro Rubini and Greg Kroah-Hartman. The book itself is under Creative Commons license, so it’s easy to get it onlin...

2011-06-22 00:55:00 231

在Ubuntu上下载、编译和安装Android最新源代码

看完了前面说的几本书之后,对Linux Kernel和Android有一定的认识了,是不是心里蠢蠢欲动,想小试牛刀自己编译一把Android源代码了呢?一直习惯使用Windows系统,而Android源代码是不支持在Windows上编译上,于是决定使用虚拟机安装Ubuntu,然后下载、编译和安装Android源代码。 一. 环境准备。 1. 磁盘空间预留20G左右,内存3G,因为一边...

2011-06-21 23:15:00 50

scanf和printf函数处理不同进制

scanf函数,与printf函数一样,都被定义在stdio.h里,因此在使用scanf函数时要加上#includestdio.h。它是格式输入函数,即按用户指定的格式从键盘上把数据输入到指定的变量之中,其关键字最末一个字母f即为“格式”(format)之意。printf函数是格式化输出函数, 一般用于向标准输出设备按规定格式输出 信息。在编写程序时经常会用到此函数。printf()函数的...

2011-06-21 21:59:00 82

scanf和printf函数处理不同进制

scanf函数,与printf函数一样,都被定义在stdio.h里,因此在使用scanf函数时要加上#includestdio.h。它是格式输入函数,即按用户指定的格式从键盘上把数据输入到指定的变量之中,其关键字最末一个字母f即为“格式”(format)之意。printf函数是格式化输出函数, 一般用于向标准输出设备按规定格式输出 信息。在编写程序时经常会用到此函数。printf()函数的...

2011-06-21 21:59:00 123

printf()输出格式控制

1.转换说明符 %a(%A) 浮点数、十六进制数字和p-(P-)记数法(C99) %c 字符 %d 有符号十进制整数 %f 浮点数(包括float和doulbe) %e(%E) 浮点数指数输出[e-(E-)记数法] %g(%G) 浮点数不显无意义的零"0" %i 有符号十进制整...

2011-06-21 21:20:00 65

在Android中自定义IOS风格的按钮

IOS风格的UI比较流行,很多Android的UI设计者也愿意将Android的UI设计成类似IOS系统的UI风格。下面是一个例子,说明如何使用Shape来定义一个IOS风格的按钮。定义一个ios_button_grouped.xml。<?xmlversion="1.0"encoding="UTF-8"?><selector xmlns:android="...

2011-06-21 11:24:00 72

ubuntu 升级 upgrade

只需要下面三行:udo apt-get install update-manager-coresudo do-release-upgradesudo do-release-upgrade

2011-06-21 00:36:00 114

Android学习启动篇

近年来,手机移动平台越来越火爆。打开自己的QQ算了一下,在线好友共有31个,其中用手机上的有13个,手机用户占了42%;打开新浪微博、天涯和猫扑等网站,各种终端设备的发贴、回贴更是数不胜数。目前,手机平台如日中天的要数是iOS和Android了,尤其是iOS,Symbian已没落,WP7在挣扎。iOS一如既往地走Apple特色的封闭道路,然而它的强大在于能够建立一个完整的生态系统,乔布斯确实是...

2011-06-21 00:32:00 46

linux/config.h has been removed since kernel 2.6.19

linux/config.h has been removed since kernel 2.6.19So there will be a compile error if you are building a newer version kernel module.Just comment that line.

2011-06-19 16:14:00 64

ASP.NET刷新页面的六种方法

第一:private void Button1_Click( object sender, System.EventArgs e ){Response.Redirect( Request.Url.ToString( ) );}第二:private void Button2_Click( object sender, System.EventArgs e ){Response.Write( "&lt...

2011-06-18 23:58:00 63

一些鲜为人知的编程真相 [转]

转自:http://www.jobbole.com/entry.php/334. 一个程序员用在写程序上的时间大概占他的工作时间的10-20%,大部分的程序员每天大约能写出10-12行的能进入最终的产品的代码 — —不管他的技术水平有多高。 好的程序员花去90%的时间在思考、研究和实验,来找出最优方案。差的程序员花去90%的时间在调试问题程序、盲目的修改程序,期望某种写法能可行。“一个卓越的...

2011-06-18 23:32:00 66

多线程中Join的运用(困惑的经典问题终于解决)

最近看了一个老哥的博文,发现Thread.join()的例子中每次执行结果都不一样,特把例子贴出来:/*** Copyright (C), 2002-2012, www.chinarainbow.com.cn* @{#} JoinThread.java Create on 2011-6-9 下午02:05:59* @author 米饭超人* @version 1.0* @description...

2011-06-15 20:47:00 220

两种方式使用android时间和日期控件

第一种:日期控件DatePicker.javapackage com.example.dataPicker;import android.app.Activity;import android.app.DatePickerDialog;import android.app.Dialog;import android.os.Bundle;import an...

2011-06-14 13:57:00 222

Windows环境下Android NDK的开发

Android的NDK提供了一系列的工具,帮助开发者快速开发C(或C++)的动态库,并能自动将so和java应用一起打包成apk文件。Android应用开发者可以通过NDK调用C或C++本地代码。我们知道apk文件是很容易被反编译的,如果程序对于安全性的要求较高,这个时候就需要使用NDK了。如果我们要在Windows环境下,也可以进行NDK的开发。下面是配置环境的具体的步骤:1...

2011-06-14 13:11:00 53

让游戏支持复杂手势识别

给游戏加入复杂手势识别的功能无疑可以大大增加游戏的趣味性,对于像ios、andriod这样的全触控操作系统尤其如此。这篇文章不是讲解手势识别的论证推倒过程(那些公式看着就头疼,毕竟咱是写程序的不是写论文的,这些东东是怎么来的咱不管,能用就好),也不是讲解ios上面UIGestureRecognizer类的应用(这个暂时只能识别轻触滑动等简单的手势,虽然对于普通应用来说已经足够了,但是对于游戏来说...

2011-06-07 12:53:00 100

The content of the adapter has changed but ListView did not receive a notification.

在Android开发过程中,使用了大量的ListView,发现这个错误偶尔会出现。特别是做压力测试的时候,不停的点击刷新,更容易出现这个错误。代码中已经使用了Adapter的notifyDataSetChanged()方法通知UI更新了,但是还是会出现这个错误。究其根本原因,还是线程之间同步的问题。比如,线程1更新了Adapter中的内容,却还没有来得及通知内容已经更新,就又有线程2更新了A...

2011-06-07 12:19:00 67

ViewFlipper “Receiver not registered” Error

偶尔出现这个错误:ViewFlipper“Receivernotregistered” Error查了一下,是因为onDetachedFromWindow() 莫名其妙地在 onAttachedToWindow() 之前被调用导致。是一个Bug。在这里记录在案。http://code.google.com/p/android/issues/detail?id=6191...

2011-06-03 11:19:00 61

BlackBerry 那些事儿

BlackBerry VOIP 项目做了2个月了,我在负责黑莓项目的架构设计工作,在此对BB开发的一些实际经验和注意事项做个记录:1 BB 的UI开发首先J2ME和 RIM的UI 控件不能混用RIM 的UI控件比较低级,很多常用空间如LabelFiled ButtonFiled等默认的显示效果都不理想,这点比android和iphone差太多了,比较好的做法是把常用的Filed 自己...

2011-06-01 18:09:00 53

空空如也

空空如也

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

TA关注的人

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