随笔分类 -  Android

摘要:一、打开系统GPS服务locationManager = (LocationManager)this.getSystemService(Context.LOCATION_SERVICE); if (locationManager.isProviderEnabled(android.location.LocationManager.GPS_PROVIDER)){ Toast.makeText(this, "GPS模块正常", Toast.LENGTH_SHORT).show(); return; }二、设置需要查询的服务信息(填充位置数据类Criteria)//查询精度:高 阅读全文
posted @ 2012-02-06 11:04 OYK 阅读(1680) 评论(0) 推荐(0)
摘要:在main.xml布局文件添加用于显示取景画面的SurfaceView 控件:<SurfaceView android:layout_width="fill_parent" android:layout_height="240dip" android:id="@+id/surfaceView" />SurfaceView surfaceView = (SurfaceView)this.findViewById(R.id.surfaceView);surfaceView.getHolder().setFixedSize(17 阅读全文
posted @ 2011-11-13 19:01 OYK 阅读(567) 评论(0) 推荐(0)
摘要:第一步:在功能清单文件AndroidManifest.xml中添加音频刻录和照相机权限:<uses-permission android:name="android.permission.RECORD_AUDIO"/><uses-permission android:name="android.permission.CAMERA"/><uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/><us 阅读全文
posted @ 2011-11-13 18:59 OYK 阅读(649) 评论(0) 推荐(0)
摘要:/*用来标识请求照相功能的activity*/ private static final int CAMERA_WITH_DATA = 3023; /*用来标识请求gallery的activity*/ private static final int PHOTO_PICKED_WITH_DATA = 3021; /*拍照的照片存储位置*/ private static final File PHOTO_DIR = new File(Environment.getExternalStorageDirectory() + "/DCIM/Camera"); 注意此处 写的是sd卡 阅读全文
posted @ 2011-11-06 12:57 OYK 阅读(477) 评论(0) 推荐(0)
摘要:当一个活动接收到焦点时,它将被要求绘制它的布局。Android框架将处理这个绘画的过程,但是活动必须提供它的布局层次的根节点。绘画从布局的根节点开始。它被要求来测量和绘制布局树。绘画通过遍历布局树并渲染每个和失效区域相交的视图来处理。相应的,每个视图组负责请求绘制它的子视图(通过draw() 方法)而每个视图负责画它自己。因为这个树是顺序遍历的,这意味着先画父节点(也就是在屏幕后面),然后按照树中出现的顺序画其同层次节点。 框架将不会画不在失效区域的视图,而且还将会帮你画视图背景。你可以强制一个视图被重画,通过调用invalidate()。绘画布局共有两步:一个度量过程和一个布局过程。 度量过 阅读全文
posted @ 2011-10-30 22:23 OYK 阅读(2311) 评论(0) 推荐(2)
摘要:要绘图,首先得调整画笔,待画笔调整好之后,再将图像绘制到画布上,这样才可以显示在手机屏幕上。Android 中的画笔是 Paint类,Paint 中包含了很多方法对其属性进行设置,主要方法如下: setAntiAlias: 设置画笔的锯齿效果。 setColor: 设置画笔颜色 setARGB: 设置画笔的a,r,p,g值。 setAlpha: 设置Alpha值 setTextSize: 设置字体尺寸。 setStyle: 设置画笔风格,空心或者实心。 setStrokeWidth: 设置空心的边框宽度。 getColor: 得到画笔的颜色 getAlpha: 得到画笔的A... 阅读全文
posted @ 2011-10-25 11:52 OYK 阅读(53336) 评论(1) 推荐(7)
摘要:一直对字符的各种编码方式懵懵懂懂,什么ANSI、UNICODE、UTF-8、GB2312、GBK、DBCS、UCS……是不是看的很晕,假如您细细的阅读本文你一定可以清晰的理解他们。Let's go! 很久很久以前,有一群人,他们决定用8个可以开合的晶体管来组合成不同的状态,以表示世界上的万物。他们看到8个开关状态是好的,于是他们把这称为"字节"。 再后来,他们又做了一些可以处理这些字节的机器,机器开动了,可以用字节来组合出很多状态,状态开始变来变去。他们看到这样是好的,于是它们就这机器称为"计算机"。 开始计算机只在美国用。八位的字节一共可以组合 阅读全文
posted @ 2011-08-11 17:21 OYK 阅读(659) 评论(0) 推荐(0)
摘要:内容提要: 由于嵌入式系统与一般PC体系,在计算速度、内存容量、存储空间等方面存留很大的区别,如何在嵌入式装备上GIS引擎获得较好的运行速度,必要从以下几个方面举行优化: 1)数据组织方面 1. 地图数据紧缩(曲线抽稀) 线、面数据上平常存留众多的顶峰vertex,由于嵌入式系统与一般PC体系,在计算速度、内存容量、存储空间等方面存留很大的区别,如何在嵌入式装备上GIS引擎获得较好的运行速度,必要从以下几个方面举行优化:1)数据组织方面1. 地图数据紧缩(曲线抽稀)线、面数据上平常存留众多的顶峰vertex,由于vertex过密,导致勾绘时消费的工夫过大,因而对地图数据要预安排,减化路径庞杂度 阅读全文
posted @ 2011-08-10 09:44 OYK 阅读(1124) 评论(0) 推荐(0)
摘要:文章出处:http://www.limodev.cn/blog作者联系方式:李先静 <xianjimli at hotmail dot com>Broncho A1还不支持基站和WIFI定位,Android的老版本里是有NetworkLocationProvider的,它实现了基站和WIFI定位,但从 android 1.5之后就被移除了。本来想在broncho A1里自己实现NetworkLocationProvider的,但一直没有时间去研究。我知道 gears(http://code.google.com/p/gears/)是有提供类似的功能,昨天研究了一下Gears的代码, 阅读全文
posted @ 2011-08-09 14:57 OYK 阅读(2391) 评论(0) 推荐(0)
摘要:很多时候,利用触摸屏的Fling、Scroll等Gesture(手势)操作来操作会使得应用程序的用户体验大大提升,比如用Scroll手势在 浏览器中滚屏,用Fling在阅读器中翻页等。在Android系统中,手势的识别是通过 GestureDetector.OnGestureListener接口来实现的,不过William翻遍了Android的官方文档也没有找到一个相 关的例子,API Demo中的TouchPaint也仅仅是提到了onTouch事件的处理,没有涉及到手势。Android Developer讨论组里也有不少人有和我类似的问题,结合他们提到的方法和我所做的实验,我将给大家简单讲述 阅读全文
posted @ 2011-08-03 21:55 OYK 阅读(918) 评论(0) 推荐(0)
摘要:Android的应用程序的生命周期,我相信这在以后的Android面试一定是经常考的题目,所以大家一点要重视哦!下面我将图文双线程,希望对大家有一点帮助!首先我们看一下Android应用程序的生命周期图: 在大部份情况下,每个Android应用都将运行在自己的Linux进程当中。当这个应用的某些代码需要执行时,进程就会被创建,并且将保持运行,直到该进程不再需要,而系统需要释放它所占用的内存,为其他应用所用时,才停止。 Android一个重要并且特殊的特性就是,一个应用的进程的生命周期不是由应用自身直接控制的,而是由系统,根据运行中的应用的一些特征来决定的,包括:这些应用对用户的重要性、系统的全 阅读全文
posted @ 2011-08-03 21:54 OYK 阅读(669) 评论(0) 推荐(0)
摘要:大家好,这篇文章我将教大家如何在Windows环境下下载Android源码,Android 自2007年11月5号发布以来,发展速度如此之快,和它走开源的路是分不开的。我们在开发中有什么不明白不清楚的,直接把Android 源码下下来研究就可以了,看源代码将会让你提升很快!在这之前大家先熟悉俩个代码版本管理工具SVN,以及Git。SVN(Windows环境下最常用的):svn(subversion)是近年来崛起的版本管理工具,是cvs的接班人。目前,绝大多数开源软件 都使用svn作为代码版本管理软件。Git:Git 是用于 Linux 内核开发的版本控制工具。与常用的版本控制工具 CVS, S 阅读全文
posted @ 2011-08-03 21:52 OYK 阅读(558) 评论(0) 推荐(0)
摘要:Android开发带来新一轮热潮让很多移动开发者都投入到这个浪潮中去了,创造了许许多多相当优秀的应用。其中也有许许多多的开发者提供了应用开源项目,贡献出他们的智慧和创造力。学习开源代码是掌握技术的一个最佳方式。下面推荐几个应用开源项目,这些项目不仅提供了优秀的创意,也可以直接掌握 Android内核的接口使用: 1.Android团队提供的示例项目 如果不是从学习Android SDK中提供的那些样例代码开始,可能没有更好的方法来掌握在Android这个框架上开发。由Android的核心开发团队提供了15个优秀的示例项目,包含了游戏、图像处理、时间显示、开始菜单快捷方式等。 地址:http:/ 阅读全文
posted @ 2011-08-03 21:36 OYK 阅读(478) 评论(0) 推荐(0)
摘要:很多初学Android游戏开发的朋友,往往会显得有些无所适从,他们常常不知道该从何处入手,每当遇到自己无法解决的难题时,又往往会一边羡慕于 iPhone下有诸如Cocos2d-iphone之类的免费游戏引擎可供使用,一边自暴自弃的抱怨Android平台游戏开发难度太高,又连个像样的游戏引擎也没有,甚至误以为使用Java语言开发游戏是一件费力不讨好且没有出路的事情。 事实上,这种想法完全是没有必要且不符合实际的,作为能和苹果iOS分庭抗礼的Android(各种意义上),当然也会有相当数量的游戏引擎存在。仅仅因为我们处于这个狭小的天地间,与外界接触不够,所以对它们的存在茫然不知罢了。 下面我就罗列 阅读全文
posted @ 2011-08-03 21:36 OYK 阅读(432) 评论(0) 推荐(0)
摘要:转自: http://www.androidin.com/docs/reference/adb.html#sqliteAndroid 调试桥(adb)是多种用途的工具,该工具可以帮助你你管理设备或模拟器 的状态。可以通过下列几种方法加入adb:在设备上运行shell命令通过端口转发来管理模拟器或设备从模拟器或设备上拷贝来或拷贝走文件下面对adb进行了介绍并描述了常见的使用.Contents概要发出adb命令查询模拟器/设备实例给特定的模拟器/设备实例发送命令安装软件转发端口从模拟器/设备中拷入或拷出文件Adb命令列表启动shell命令通过远程shell端运行sqllite3连接数据库UI/软件 阅读全文
posted @ 2011-08-03 21:33 OYK 阅读(2045) 评论(0) 推荐(0)
摘要:Android的消息机制(一)android 有一种叫消息队列的说法,这里我们可以这样理解:假如一个隧道就是一个消息队列,那么里面的每一部汽车就是一个一个消息,这里我们先忽略掉超车等种种因素,只那么先进隧道的车将会先出,这个机制跟我们android 的消息机制是一样的。一、 角色描述1.Looper:(相当于隧道) 一个线程可以产生一个Looper 对象,由它来管理此线程里的Message Queue( 车队,消息隧道) 。2.Handler: 你可以构造Handler 对象来与Looper 沟通,以便push 新消息到Message Queue 里;或者接收Looper( 从Messa... 阅读全文
posted @ 2011-08-03 21:13 OYK 阅读(34354) 评论(2) 推荐(1)
摘要:package com.himi; import android.content.Context; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.graphics.Canvas; import android.graphics.Color; import android.graphics.NinePatch; import android.graphics.Paint; import android.graphics.RectF; import android.uti. 阅读全文
posted @ 2011-08-01 10:05 OYK 阅读(1713) 评论(1) 推荐(0)
摘要:andriod提供了 Handler 和 Looper 来满足线程间的通信。例如一个子线程从网络上下载了一副图片,当它下载完成后会发送消息给主线程,这个消息是通过绑定在主线程的Handler来传递的。在Android,这里的线程分为有消息循环的线程和没有消息循环的线程,有消息循环的线程一般都会有一个Looper,这个事android的新 概念。我们的主线程(UI线程)就是一个消息循环的线程。针对这种消息循环的机制,我们引入一个新的机制Handle,我们有消息循环,就要往消息循环里 面发送相应的消息,自定义消息一般都会有自己对应的处理,消息的发送和清除,消息的的处理,把这些都封装在Handle里 阅读全文
posted @ 2011-08-01 00:08 OYK 阅读(730) 评论(0) 推荐(0)
摘要:一:什么是NDK?NDK 提供了一系列的工具,帮助开发者快速开发C(或C++)的动态库,并能自动将so 和java 应用一起打包成apk。这些工具对开发者的帮助是巨大的。NDK 集成了交叉编译器,并提供了相应的mk 文件隔离CPU、平台、ABI 等差异,开发人员只需要简单修改mk 文件(指出“哪些文件需要编译”、“编译特性要求”等),就可以创建出so。NDK 可以自动地将so 和Java 应用一起打包,极大地减轻了开发人员的打包工作。比较简单的说,NDK是一套交叉编译工具,它可以帮你把你用C或C++书写的代码,编译为.so(类似与win下的.dll)格式的文件,使你可以在你的Android程序 阅读全文
posted @ 2011-07-31 23:08 OYK 阅读(1070) 评论(0) 推荐(0)
摘要:Linux系统中进程间通信的方式有:socket, named pipe,message queque, signal,share memory。Java系统中的进程间通信方式有socket, named pipe等。android应用程序理所当然可以应用JAVA的IPC机制实现进程间的通信,取而代之的是Binder通信。Google为什么要采用这种方式呢,这取决于Binder通信方式的高效率。 Binder通信是通过linux的binder driver来实现的。Binder通信操作类似线程迁移(thread migration),两个进程间IPC看起来就象是一个进程进入另一个进程执行代码然 阅读全文
posted @ 2011-07-31 20:26 OYK 阅读(11446) 评论(0) 推荐(0)