ImageVerifierCode 换一换
格式:DOCX , 页数:19 ,大小:27.47KB ,
资源ID:21454067      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/21454067.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(android native activityWord格式.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

android native activityWord格式.docx

1、android=package=com.example.native_activityandroid:versionCode=1versionName=- This is the platform API where NativeActivity was introduced. - 本地活动将引入的平台 API -uses-sdk android:minSdkVersion=8 /- This .apk has no Java code itself, so set hasCode to false. - 该 .apk 没有 Java 代码,所以设置 hasCode 属性值为假 -applic

2、ation android:label=string/app_namehasCode=false- Our activity is the built-in NativeActivity framework class.This will take care of integrating with our NDK code. - 我们的活动是内置本地活动框架类。这将处理使我们的 NDK 代码成为一体。 -activity android:name=android.app.NativeActivityconfigChanges=orientation|keyboardHidden- Tell N

3、ativeActivity the name of or .so - 告知本地活动共享库的名字 -meta-data android:android.app.lib_namevalue=native-activityintent-filteraction android:android.intent.action.MAINcategory android:android.intent.category.LAUNCHER/intent-filter/activity/application/manifest- END_INCLUDE(manifest) -三、native-activity/re

4、s/values/strings.xml 文件内容: encoding=resourcesstring name=app_nameNativeActivity/resources四、native-activity/jni/Application.mk 文件内容:# 使用 android-ndk-r5b/platforms/android-9/arch-arm/usr 目录下的头文件与库文件APP_PLATFORM := android-9五、native-activity/jni/Android.mk 文件内容:# Copyright (C) 2010 The Android Open Sou

5、rce Project# 版权所有(C)2010 Android 开源工程# Licensed under the Apache License, Version 2.0 (the License);# 根据 2.0 版本 Apache 许可证授权# you may not use this file except in compliance with the License.# 根据本许可证,你可以不使用此文件。# You may obtain a copy of the License at# 你可以获得许可证的副本在# http:/www.apache.org/licenses/LICE

6、NSE-2.0# Unless required by applicable law or agreed to in writing, software# distributed under the License is distributed on an AS IS BASIS,# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.# 除非因适用法律需要或书面同意,# 根据许可证分发的软件是基于按原样原则提供,无任何明示的或暗示的保证或条件。# See the License for the spe

7、cific language governing permissions and# limitations under the License.# 详见根据许可证许可下,特定语言的管辖权限和限制。# 用于返回当前目录的路径LOCAL_PATH := $(call my-dir)# CLEAR_VARS 变量是由生成系统已提供的,# 并且指出一个特殊的 GNU Makefile 文件将为你清除除了 LOCAL_PATH 以外的许多的 LOCAL_XXX 变量,# (例如:LOCAL_MODULE, LOCAL_SRC_FILES, LOCAL_STATIC_LIBRARIES,等等.)# 这是必

8、须的,因为全部的生成控制文件是在一个单独的 GNU Make 执行环境中被分析的,在那里所有的变量是全局的。include $(CLEAR_VARS)# LOCAL_MODULE 变量必须是已定义的,用来标识你的 Android.mk 文件中描述的每个模块。# 模块名字必须是唯一,并且不能包含任何的空格。# 注意生成系统将自动添加适当的前缀和后缀到相应的产生文件。# 换句话说,一个共享库模块命名为 native-activity 将产生 libnative-activity.so 。LOCAL_MODULE := native-activity# LOCAL_SRC_FILES 变量必须包含将

9、生成且汇编成一个模块的 C 和/或 C+ 源文件的列表。# 注意你将不列出头文件和包含文件在这里,因为生成系统将自动地为你估算依赖;# 列出的源文件将直接递给编译器。LOCAL_SRC_FILES := main.c# 使用在生成你的模块时的额外的链接器标志列表。# 对于用 -l 前缀传递特定的系统库名是有用的。# liblog.so 提供 Android 记录日志 API# libandroid.so 提供 Android 功能访问 API# libEGL.so 提供 EGL API# libGLESv1_CM.so 提供 OpenGL ES API# 注:# OpenGL ES (Open

10、GL for Embedded Systems,以下简称 OpenGL)# OpenGL 三维图形 API 的子集,针对手机、PDA和游戏主机等嵌入式设备而设计。# 该 API 由 Khronos 集团定义推广,# Khronos 是一个图形软硬件行业协会,该协会主要关注图形和多媒体方面的开放标准。# EGL 是 OpenGL ES 和 底层本地平台视窗系统 之间的接口,为 OpenGL ES 提供平台独立性而设计。# 它被用于处理图形管理、表面/缓冲捆绑、渲染同步,# 以及支援使用其他 Khronos API 进行的高效、加速、混合模式 2D 和 3D 渲染。LOCAL_LDLIBS :=

11、-llog -landroid -lEGL -lGLESv1_CM# 将链接到本模块的静态库模块列表(用 BUILD_STATIC_LIBRARY 生成的)。# 这仅在共享库模块中有意义。LOCAL_STATIC_LIBRARIES := android_native_app_glue# BUILD_SHARED_LIBRARY 是一个已由生成系统提供的变量,# 表明一个 GNU Makefile 脚本是负责收集你定义的从最近的 include $(CLEAR_VARS)# 到决定去生成之间的全部 LOCAL_XXX 变量的信息,然后正确地生成共享库。# 注意你必须在包含这个文件之前最近位置有

12、 LOCAL_MODULE 或 LOCAL_SRC_FILES 变量的定义。include $(BUILD_SHARED_LIBRARY)# $(call macro-name, param1, .)# call 是一个内置于 make 的函数,# call 会扩展它的第一个参数并把其余参数依次替换到出现 $1、$2、.的地方。# call 的第一个参数可以是任何宏或变量的名称。# 允许你通过名字查找且包含其它模块的 Android.mk 文件。# 这将在你的 NDK_MODULE_PATH 环境变量提到的目录列表中查找模块标记的名字,# 并自动地为你包含它的 Android.mk 文件。#

13、为了方便起见,$NDK/sources 是被 NDK 生成系统附加到你的 NDK_MODULE_PATH 变量值定义中。$(call import-module,android/native_app_glue)六、native-activity/jni/main.c 文件内容:/* Copyright (C) 2010 The Android Open Source Project* 版权所有(C)2010 Android 开源工程* Licensed under the Apache License, Version 2.0 (the * 根据 2.0 版本 Apache 许可证授权* yo

14、u may not use this file except in compliance with the License.* 根据本许可证,你可以不使用此文件。* You may obtain a copy of the License at* 你可以获得许可证的副本在* http:* Unless required by applicable law or agreed to in writing, software* distributed under the License is distributed on an * WITHOUT WARRANTIES OR CONDITIONS

15、OF ANY KIND, either express or implied.* 除非因适用法律需要或书面同意,* 根据许可证分发的软件是基于* See the License for the specific language governing permissions and* limitations under the License.*/BEGIN_INCLUDE(all)/* Java Native Interface */#include /* 错误报告机制 */errno.h/* EGL */EGL/egl.h/* OpenGL ES 1.x */GLES/gl.h/* 接收和处

16、理传感器事件 */android/sensor.h/* Android logging API */android/log.h/* android-ndk-r5b/sources/android/native_app_glue 静态库头文件 */android_native_app_glue.h#define LOGI(.) (void)_android_log_print( ANDROID_LOG_INFO, , _VA_ARGS_ )#define LOGW(.) (void)_android_log_print( ANDROID_LOG_WARN, /* Our saved state

17、data.* 我们已保存的状态数据。struct saved_statefloat angle; /* RGB 中的绿色值 */int32_t x; /* X 坐标 */int32_t y; /* Y 坐标 */;* Shared state for our app.* 为我们的应用程序共享状态。struct engine/* android_native_app_glue.h 中定义的本地应用程序粘合剂模块用数据结构 */struct android_app* app;/* sensor.h 中定义的传感器管理器 */ASensorManager* sensorManager;/* 加速度传

18、感器 */const ASensor* accelerometerSensor;/* 已与一个循环器关联起来的传感器事件队列 */ASensorEventQueue* sensorEventQueue;/* 非零为可以绘制动画 */int animating;/* 显示器句柄 */EGLDisplay display;/* 系统窗口或 frame buffer 句柄 */EGLSurface surface;/* OpenGL ES 图形上下文 */EGLContext context;/* 系统窗口的宽度(像素) */int32_t width;int32_t height;/* 我们已保存

19、的状态数据 */struct saved_state state;* Initialize an EGL context for the current display.* 为当前显示器初始化一个 EGL 上下文。static intengine_init_display( struct engine* engine )/* initialize OpenGL ES and EGL* 初始化 OpenGL ES 和 EGL* Here specify the attributes of the desired configuration.* 在这里具体指定想要的配置的属性。* Below, w

20、e select an EGLConfig with at least 8 bits per color* component compatible with on-screen windows.* 在下面,我们选择一个至少 8 位色的 EGLConfig 与屏幕上的窗口一致。* 注:通常以 ID, Value 依次存放,对于个别标识性的属性可以只有 ID 没有 Value 。const EGLintattribs = EGL_SURFACE_TYPE, EGL_WINDOW_BIT, /* 系统窗口类型 */EGL_BLUE_SIZE, 8, /* 蓝色位数 */EGL_GREEN_SIZE

21、, 8, /* 绿色位数 */EGL_RED_SIZE, 8, /* 红色位数 */EGL_NONE ;EGLint w;/* 系统窗口的高度(像素) */EGLint h;/* 未使用的变量 */EGLint dummy;/* 像素格式ID - RGBA/RGBX/RGB565 */EGLint format;/* 系统中 Surface 的 EGL 配置 的总个数 */EGLint numConfigs;/* Surface 的 EGL 配置 */EGLConfig config;/* 系统窗口句柄 */* 1.返回一个显示器连接 - 是一个关联系统物理屏幕的通用数据类型。 */EGLDi

22、splay display = eglGetDisplay( EGL_DEFAULT_DISPLAY ); /* 得到系统默认的 */* 原型:EGLDisplay eglGetDisplay ( NativeDisplayType display );* display 参数是本地系统显示器类型,取值为本地显示器 ID 值。* 返回:如果系统中没有一个可用的本地显示器 ID 值与 display 参数匹配,* 函数将返回 EGL_NO_DISPLAY ,而没有任何 Error 状态被设置。/* 2. EGL 在使用前需要初始化,因此每个显示器句柄(EGLDisplay)在使用前都需要初始化。

23、eglInitialize( display, /* 有效的显示器句柄 */0, /* 返回主版本号 - 不关心可设为 NULL 值或零(0) */0 ); /* 返回次版本号 - 不关心可设为 NULL 值或零(0) */EGLBoolean eglInitialize( EGLDisplay dpy,* EGLint* major,* EGLint* minor );* EGLint 为 int 数据类型。EGLBOOlean 取值:EGL_TRUE = 1, EGL_FALSE = 0 。/* Here, the application chooses the configuration

24、 it desires.* 在这里,应用程序决定它要求的配置。* In this sample, we have a very simplified selection process,* where we pick the first EGLConfig that matches our criteria.* 在这个示例中,我们有一个非常精简的选择处理,* 我们选择第一个 EGLConfig 适应我们的标准。/* 定义一个希望从系统获得的配置,它将返回一个最接近你的需求的配置 */eglChooseConfig( display, /* 有效的显示器句柄 */attribs, /* 以 EG

25、L_NONE 结束的参数数组 */&config, /* Surface 的 EGL 配置 */1, /* Surface 的 EGL 配置个数 */numConfigs ); /* 系统中 Surface 的 EGL 配置 的总个数 */EGLboolean eglChooseConfig( EGLDisplay dpy,* const EGLint* attr_list,* EGLConfig* config,* EGLint config_size,* EGLint* num_config );/* EGL_NATIVE_VISUAL_ID is an attribute of the EGLConfig* that is guaranteed to be accepted by ANativeWindow_setBuffersGeometry().* EGL_NATIVE_VISUAL_ID 是一个 EGLConfig 的属性,* 保证被 ANativeWindow_setBuffersGeometry 函数认可。* As soon as we picked a EGLConfig,* we can safely reconfigure the A

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1