
Android
dahaibeibe
这个作者很懒,什么都没留下…
展开
-
Android JNI浅析(1)
JNI是Java Native Interface的缩写,JNI是一种机制,有了它就可以在java程序中调用其他native代码,或者使native代码调用java层的代码。也就是说,有了JNI我们可以使Android项目中,java层与native层各自发挥所长并相互配合。如下图所示,JNI在Android中所处的位置。转载 2012-10-27 23:20:44 · 447 阅读 · 0 评论 -
android编译系统makefile(Android.mk)写法
android编译系统的makefile文件Android.mk写法如下(1)Android.mk文件首先需要指定LOCAL_PATH变量,用于查找源文件。由于一般情况下Android.mk和需要编译的源文件在同一目录下,所以定义成如下形式:LOCAL_PATH:=$(call my-dir)上面的语句的意思是将LOCAL_PATH变量定义成本文件所在目录路径。(2)Andro转载 2012-11-11 18:52:14 · 646 阅读 · 0 评论 -
Android.mk文件分析
Android.mk文件是在使用NDK编译C代码时必须的文件,Android.mk文件中描述了哪些C文件将被编译且指明了如何编译。掌握Android.mk文件的编写主要是掌握其里头将要使用的一些关键字,先来看一个简单的例子,这个例子使用的是android NDK带的HellJni的例子。[plain] view plaincopyLOCAL_PATH := $(ca转载 2012-11-07 22:03:51 · 440 阅读 · 0 评论 -
Android2.3下载与编译
1.安装JDK6对于Android2.3系统,不要安装JDK5,应该安装最新的JDK6。如果安装了JDK6,Android会自动按64位编译,如果系统是32位的,会有编译错误,后面会说如何修改这个错误。sudo apt-get install sun-java6-jdksudo update-java-alternatives -s java-6-sun安装完后,需要手动设置J转载 2012-11-07 21:19:02 · 441 阅读 · 0 评论 -
Android编译过程详解(二)
Android编译过程详解(二) Android编译过程详解(一):http://www.cnblogs.com/mr-raptor/archive/2012/06/07/2540359.html Android编译过程详解(二):http://www.cnblogs.com/mr-raptor/archive/2012/06/08/2541571.html转载 2012-11-07 20:57:55 · 454 阅读 · 0 评论 -
Android编译过程详解(一)
Android编译过程详解(一) Android编译过程详解(一):http://www.cnblogs.com/mr-raptor/archive/2012/06/07/2540359.html Android编译过程详解(二):http://www.cnblogs.com/mr-raptor/archive/2012/06/08/2541571.html An转载 2012-11-07 20:56:44 · 376 阅读 · 0 评论 -
Android编译过程详解(三)
Android编译过程详解(三) Android编译过程详解(一):http://www.cnblogs.com/mr-raptor/archive/2012/06/07/2540359.html Android编译过程详解(二):http://www.cnblogs.com/mr-raptor/archive/2012/06/08/2541571.html转载 2012-11-07 20:58:37 · 468 阅读 · 0 评论 -
如何在32位ubuntu11.10 下编译android 4.0.1源码和goldfish内核
一准备工作1安装javasdk6(1)从jdk官方网站http://www.oracle.com/technetwork/java/javase/downloads/jdk-6u29-download-513648.html下载jdk-6u29-linux-i586.bin文件。(2)执行jdk安装文件[html] view plaincopy$转载 2012-11-06 19:49:37 · 494 阅读 · 0 评论 -
Android JNI浅析(2)
上一篇blog我们讲到了JNINativeMethod结构体和AndroidRuntime::registerNativeMethods这个静态函数。我们在回顾以下JNINativeMethod结构体。[java] view plaincopytypedef struct { const char* name; /*Java 中函数的名字*/ const c转载 2012-10-27 23:21:53 · 520 阅读 · 0 评论 -
如何将Android应用程序编译至image/rom中
http://blog.youkuaiyun.com/silvervi/article/details/6315606#t2有时我们希望将自己的Android应用程序编译至image/rom中,这样程序将被安装至/system/app目录下,并且不能被卸载。下面我以自己的程序TestJniApp为例子,仿照源代码中自带的SimpleJNI,演示一下怎样将自己的应用程序编译至rom中。 1.转载 2012-11-11 18:40:37 · 573 阅读 · 0 评论 -
简述:Android中Parcelable接口
android整个上层java开发框架可以分为四个方面:界面(activity和appwidget)、消息(Intent和Message)、服务(Service)和数据(Sqllite、Content Provider)。开发要点摘记:1、新的序列化方式: android提供了一种新的类型:Parcel。本类被用作封装数据的容器,封装后的数据可以通过Intent或IPC转载 2012-11-26 21:19:09 · 514 阅读 · 0 评论 -
如何在Android 模拟器上传/下载文件,解决read-Only问题?
http://lockriver.blog.163.com/blog/static/48723224201156393859/转载 2013-04-16 21:34:54 · 990 阅读 · 0 评论 -
TextView学习
http://blog.youkuaiyun.com/a_mean/article/details/69309681:显示富文本(URL、不同大小、字体、颜色的文本)在TextView类中预定义了一些类似HTML的标签,通过这些标签,可以使TextView控件显示不同的颜色、大小、字体的文字。:设置颜色 :设置大号字转载 2013-02-26 22:13:21 · 574 阅读 · 0 评论 -
Android中RelativeLayout各个属性的含义
android:layout_above="@id/xxx" --将控件置于给定ID控件之上android:layout_below="@id/xxx" --将控件置于给定ID控件之下android:layout_toLeftOf="@id/xxx" --将控件的右边缘和给定ID控件的左边缘对齐android:layout_toRightOf="@id/xxx" --将控件转载 2013-02-25 10:32:31 · 363 阅读 · 0 评论 -
十四个月Android学习工作总结(2012-09-06更新)
1.客户端的功能逻辑不难,UI界面也不难,但写UI花的时间是写功能逻辑的两倍. 2.写代码前的思考过程非常重要,即使在简单的功能,也需要在本子上把该功能的运行过程写出来. 3.要有自己的知识库,可以是一个工具类,把写过的,看过的好的代码放进去,也可以是一个笔记本软件.因为只有放在知识库里的东西,才是你最重要的财富. 4.如果你想做自由职业者,你需要学英转载 2013-01-02 18:53:44 · 591 阅读 · 0 评论 -
什么是IBinder
上回书简单描述了进程间传递类对象的原理,这回在讲Parcel之前,先要讲一个东西:IBinder。IBinder是什么呢?首先要明白,Android的远程调用(就是跨进程调用)就是通过IBinder实现的,下面是对android开发文档的翻译。 IBinder是远程对象的基本接口,是为高性能而设计的轻量级远程调用机制的核心部分。但它不仅用于远程调用,也用于进程内调用。这个接口定义了与远程对转载 2012-11-25 23:40:45 · 784 阅读 · 0 评论 -
Android之MVC模式
MVC (Model-View-Controller):M是指逻辑模型,V是指视图模型,C则是控制器。一个逻辑模型可以对于多种视图模型,比如一批统计数据你可以分别用柱状图、饼图来表示。一种视图模型也可以对于多种逻辑模型。使用MVC的目的是将M和V的实现代码分离,从而使同一个程序可以使用不同的表现形式,而C存在的目的则是确保M和V的同步,一旦M改变,V应该同步更新,这与《设计模式》中的观察者模式是完转载 2012-11-18 12:09:50 · 407 阅读 · 0 评论 -
Android Native C 之 Helloworld的四种编译方式
一.编写helloworld.c Android.mk [root@fontlose jni]# cat hello.c [cpp] view plaincopyprint?#include int main() { printf("Hello World!\n"); return 0; } [ro转载 2012-11-14 16:00:31 · 704 阅读 · 0 评论 -
ubuntu下无法识别android手机
切换到android sdk的platform-tools目录下,重启adb服务,再输入adb devices就应该能找到设备了。hai@hai:~/android-sdk-linux_x86/platform-tools$ sudo ./adb kill-serverhai@hai:~/android-sdk-linux_x86/platform-tools$ sudo ./adb st原创 2012-11-14 11:51:51 · 442 阅读 · 0 评论 -
在Android C/C++层添加LOG调试(LOGI\LOGD\LOGE...)输出支持
最近在研究Android 2.3.3源代码的C/C++层,需要对代码进行一些调试,但是奇怪的是,直接添加LOGD("XXXXXXXX");,使用logcat却看不到任何输出,换成LOGI、LOGV、LOGW、LOGE也没有效果。于是在网上查找解决方法,经过几次试验,终于找到了,现在贴到下面备忘:第一步:在对应的mk文件中加入:LOCAL_LDLIBS := -llog第二步:在要使用LOG转载 2012-10-27 23:15:47 · 892 阅读 · 0 评论 -
如何在JNI编程中使用logCat
Android NDK发布后,java+C的编程方式成为android上性能编程的首选。当然,也支持其他语言,如C++等,只要符合JNI规则即可。在android编程java代码中,我们知道,可以使用Log.v等一些将日志输出到logcat,然后我们就可以看到日志输出信息。当然,也可以在shell 里使用adb logcat来查看日志信息。对于java代码可以这样查看日志信息,但java调转载 2012-10-27 23:10:42 · 632 阅读 · 0 评论 -
Android---陀螺仪传感器
如何把从陀螺仪获取的X,Y,Z轴的角速度信息转换成Roll(左右倾斜)、Pitch(前后倾斜)、Yaw(左右摇摆)全方位信息? 陀螺仪就是内部有一个陀螺,它的轴由于陀螺效应始终与初始方向平行,这样就可以通过与初始方向的偏差计算出实际方向。手机里陀螺仪实际上是一个结构非常精密的芯片,内部包含超微小的陀螺。陀螺仪测量是参考标准是内部中间在与地面垂直的方向上进行转动的陀螺转载 2012-10-24 19:18:33 · 8088 阅读 · 0 评论 -
sendMessage and sendEmptyMessage
/*** Sends a Message containing only the what value.*/public final boolean sendEmptyMessage(int what){ return sendEmptyMessageDelayed(what, 0);}/*** Pushes a message onto the end o转载 2012-10-18 20:05:17 · 973 阅读 · 0 评论 -
Windows下用Git下载android SDK源码并且用eclipse打开
1.首先下载git工具。 Windows下Git下载地址:http://code.google.com/p/msysgit/downloads/list 最上面那个。 安装过程和普通windows软件安装类似。 添加在桌面上的Git图标为启动使用shell命令工具,操作指令和用法则和Linux下一样。2.打开git窗口,随便在哪里新建一个文件夹,用于原创 2012-10-23 15:19:01 · 824 阅读 · 0 评论 -
OpenGL开发基础知识介绍
最近由于手机项目中需要用到OpenGL ES的知识,所以这段时间正在研究OpenGL的相关知识。因为OpenGL ES是OpenGL的剪裁版本,所以我直接从OpenGL入手,然后再去看OpenGL ES就很容易上手。从此篇开始,我将发表一系列文章来逐步深入介绍OpenGL的相关知识,开发我们可以使用VC6.0或.NET。 那么今天我要介绍的是OpenGL开发之旅基础知识介绍,这很重要,转载 2012-10-23 15:44:51 · 690 阅读 · 0 评论 -
第三方Android ROM的市场空间和前景分析
内容摘要:目前的第三方Android ROM普遍做得不够深,缺乏自己独到的、统一的体验与特色功能,甚至版本繁多的第三方Android ROM导致的应用程序兼容性问题,要从发烧友的小众玩具变成大众宠儿,未来还需要很长的路要走。 Android在iOS、WP7之外给大家开了一扇新的窗户,它不仅提供免费的系统与促成更具性价比的智能手机,更重要的是满足了开发者与用户的折腾欲望。i转载 2012-10-31 23:23:52 · 793 阅读 · 0 评论 -
Android mk文件介绍
Introduction: Android.mk编译文件是用来向Android NDK描述你的C,C++源代码文件的, 这篇文档描述了它的语法。在阅读下面的内容之前,假定你已经阅读了docs/OVERVIEW.TXT文件,了解了它们的脚色和用途。一、概述 一个Android.mk file用来向编译系统描述你的源代码。具体来说: (1) 该文件是GNU Makef转载 2012-10-21 14:48:59 · 572 阅读 · 0 评论 -
Android横竖屏总结(转)
横竖屏切换后Activity会重新执行onCreat函数,但是在Android工程的Mainfest.xml中加入android:screenOrientation="user" android:configChanges="orientation|keyboardHidden"之后,横竖屏切换之后就不会去执行OnCreat函数了,而是会去调用onConfigurationChanged(),这样转载 2012-10-17 20:38:42 · 389 阅读 · 0 评论 -
Android传感器编程入门
原帖地址:http://android.yaohuiji.com/archives/2503本讲内容:Android传感器编程入门,分别包括加速度传感器(accelerometer),陀螺仪(gyroscope),环境光照传感器(light),磁力传感器(magnetic field),方向传感器(orientation),压力传感器(pressure),距离传感器(proximity)和转载 2012-10-24 19:37:54 · 912 阅读 · 0 评论 -
Ubuntu11.04下安装Android编译环境并编译源码
声明:用的是中科大的源,起初用的代理上网,更新源时遇到一堆问题,然后换用VPN上,用的网易的源,更新时也是一对错误,换用中科大的源就一切ok了。如果安装不了sun-java6-jdk,尝试增加新的源:$sudo add-apt-repository "deb http://archive.canonical.com/ lucid partner"$sudo add-apt-repo原创 2012-10-24 12:57:52 · 536 阅读 · 0 评论 -
OpenGl ES一些东西
这两天抽空学习,断断续续阅读HelloArrow项目,反复看书中相关的描述在阅读代码时,发现代码本身的阅读完全OK,问题是找寻代码中涉及的3D库函数 ,API,很困难,比如glGenRenderbuffersOES原以为在iphone官方开发网站能找到glGenRenderbuffersOES相关函数,发现一无所有通过谷歌等,找到一个地址:http://www.imgt转载 2012-10-27 11:17:34 · 483 阅读 · 0 评论 -
android 2D skia库 简单应用
1 Skia 绘图概述 Skia 是 Google 一个底层的图形、文本、图像、动画等多方面的图形库,是 Android 中图形系统的引擎。 Skia 作为第三方软件放在 external 目录下: external/skia/ 。 skia 的源文件及部分头文件都在 src 目录下,导出的头文件在 include 目录下。使用 Skia 的 API 进行图形绘制时主要会用到转载 2012-10-26 21:30:09 · 1572 阅读 · 0 评论 -
ISurfaceComposer接口有13个成员函数
--createConnection:Android应用程序通过它来请求SurfaceFlinger服务建立一个连接,--createClientConnection:Android应用程序通过它来请求SurfaceFlinger服务创建一块共享UI元数据缓冲区--getCblk:Android应用程序通过它来请求SurfaceFlinger服务返回一块匿名共享内存,返回的匿名共享内存包含转载 2012-10-26 21:25:23 · 2001 阅读 · 0 评论 -
关于在windows下OpenGL glViewport, glOrtho,glScissor的详解
这两天在不停的弄OpenGL编程,好久没用了,遗忘了不少,现在找回来,总结了一下心得:首先关于视点的问题,这些可能一些初学的同学可能会很困惑这个问题:首先在Windows下坐标原点在右上角,而OpenGL的坐标原点则在右下角。对于我想渲染一个2D的图片来说视点设置应该如下:[cpp] view plaincopyglMatrixMode(GL转载 2012-10-27 11:21:45 · 1589 阅读 · 0 评论 -
Android OpenGL ES-Frame Buffer Object
Frame Buffer 对象的概念可以参见前面文章Android OpenGL ES 开发教程(23):FrameBuffer。简单的和2D图像类比,Frame Buffer 如果 对应到二维图形环境中,就是一个2D的内存数组空间,缺省情况为屏幕的显存,也可以创建Offscreen 内存空间,此时Frame Buffer 可以是一个二维数组,数组每个元素代表一个像素颜色。对于三维图形来说转载 2012-10-27 11:13:43 · 987 阅读 · 0 评论 -
android skia 使用实例
#include "SkBitmap.h"#include "SkDevice.h"#include "SkPaint.h" #include "SkRect.h"#include "SkImageEncoder.h" int main(){ // Declare a raster bitmap, which has an integer widt转载 2012-10-26 21:35:13 · 2387 阅读 · 0 评论 -
Android上使用SkBitmap 进行屏幕截图
在android上面做屏幕截图需要经过两个步骤1.从framebuffer获取RGB的原始字节(大小是 宽*高*图像深度/8) int fbfd = 0; struct fb_var_screeninfo vinfo;//保存这framebuffer的各自数据,宽高等等 fbfd = open("/dev/graphics/fb0", O_转载 2012-10-26 21:28:42 · 2414 阅读 · 1 评论 -
Android的surfaceflinger讲解
SurfaceFlinger是Android multimedia的一个部分,在Android的实现中它是一个service,提供系统范围内的surface composer功能,它能够将各种应用程序的2D、3D surface进行组合。在具体讲SurfaceFlinger之前,我们先来看一下有关显示方面的一些基础知识。 1、原理分析让我们首先看一下下面的屏幕简略图:转载 2012-10-26 20:33:59 · 792 阅读 · 0 评论 -
在jni中使用Logcat
1,在Android.mk文件中加上LOCAL_LDLIBS := -L$(SYSROOT)/usr/lib -llogLOCAL_PATH := $(call my-dir)include $(CLEAR_VARS)LOCAL_MODULE :=ndkdemoLOCAL_SRC_FILES :=com_app_test_nativeMethod.cLOCAL原创 2013-06-04 22:24:41 · 660 阅读 · 0 评论