android入门教程

android入门教程

ID:37259808

大小:356.50 KB

页数:9页

时间:2019-05-20

android入门教程_第1页
android入门教程_第2页
android入门教程_第3页
android入门教程_第4页
android入门教程_第5页
资源描述:

《android入门教程》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、·8步教你打开Android之门NDK入门教程这是一篇AndroidNDK开发的入门教程,在这一教程结束后,你将创建你自己的项目,从Java代码简单地调用原生C语言代码。前不久我们为大家介绍过在MyEclipse8.6上搭建Android开发环境,本文为一篇外文翻译,我们将介绍如何学习安装AndroidNDK并开始使用它。在这一教程结束后,你将创建你自己的项目,从Java代码简单地调用原生C语言代码。教程细节技术:AndroidSDK、NDK、C语言难度:进阶预计完成时间:60-90分钟先决经验在我们开始之前,我们需要先

2、花点时间了解一下这一教程的难度。它的标记是“进阶”。之所以标为“进阶”是因为我们这些作者想要确保你符合以下要求:你有Java和C语言经验。你能适应命令行操作。你知道如何了解你的Cygwin、awk和其他工具的版本。你能适应AndroidDevelopment。你有一个有效的Android开发环境(本文撰写时,笔者使用的是Android2.2)你使用Eclipse或者可以将Eclipse的指导步骤轻松应用于你自己的IDE上。就算你并不满足这些条件,我们当然也欢迎你阅读这一教程,不过你可能在某些步骤遇到困难,如果你满足了以上

3、条件这些困难就会轻易解除。也就是说,即使你认为自己是个移动开发老手,使用NDK依然很容易碰到困难和麻烦。请注意你可能要自行排查故障才能让一切正常运转于你的开发系统中。本教程提供完整的样例项目的开源代码下载。何时使用NDK的说明好,如果你正在阅读这篇教程,你也许已经在考虑在你的Android项目中使用NDK了。不过,我们想要花点时间讨论一下NDK为什么那么重要、何时该使用它,以及——同等重要的,何时不该使用它。总的来说,只有当你的应用程序真的是个处理器杀手的时候你才需要使用NDK。也就是说,你设计的算法要利用DalvikV

4、M中所有的处理器资源,而且原生运行较为有利。还有,别忘了在Android2.2中,JIT编译器会提高类似代码的效率。另一个使用NDK的原因是方便移植。如果你在现有的应用程序中有大量的C语言代码,那么使用NDK不仅可以加速你的项目的开发进程,也能在你的Android和非Android项目中保持修改的同步。这一点对于那些为其他平台而写的OpenGLES应用程序来说尤为如此。别以为只要用了原生代码就能提高你的应用程序的效率。Java与原生C语言之间的转换会增加一些资源开销,因此只有你有一些集中消耗处理器资源的任务时才真正有必要

5、这么做。第0步:下载工具好了,让我们开始吧。你需要下载NDK。我们先开始下载,因为在下载的过程中你可以检查一下确保你所需要用到的其余工具的版本都正确。从Android网站下载适合你的操作系统的NDK。现在,对照下列检查你的工具版本:如果在Windows下,Cygwin1.7或更高版本将awk升级到最新版本(我们使用的是20070501)GNUMake3.81或更高版本(我们使用的是3.81)如果其中任何一个的版本太旧,请在继续之前先升级。第1步:安装NDK既然NDK已经下载完成(没错吧?),你就需要解压缩它。解压后将它放

6、入合适的目录中。我们把它放在和AndroidSDK相同的目录下。记住你把它放在哪里了。现在,你也许想要在路径设置中添加NDK工具。如果你在Mac或Linux下,你可以用你的原生路径设置来完成。如果你在Windows下的Cygwin,你就需要设置Cygwin的路径设置。第2步:创建项目创建一个常规的Android项目。为了避免日后的问题,你的项目的路径必须不包含空格。我们的项目有个叫做“com.mamlambo.sample.ndk1”的包,带有一个叫做“AndroidNDK1SampleActivity”的默认Activ

7、ity——你之后还会看到它们。在这个项目的顶层创建一个叫做“jni”的目录——这是你放置原生代码的地方。如果你很熟悉JNI,那你就会知道AndroidNDK很大程度上基于JNI的概念——它本质上是个只有有限的C语言编译头文件的JNI。第3步:添加一些C语言代码现在,在jni文件夹中,创建一个叫做native.c的文件。一开始将以下C语言代码写入该文件,我们以后再添加另一个函数:1.#include 2. 3.#include 4. 5.#include 6. 7.#define DEBUG_TAG "NDK_Androi

8、dNDK1SampleActivity" 8. 9.void Java_com_mamlambo_sample_ndk1_AndroidNDK1SampleActivity_helloLog(JNIEnv * env, jobject this, jstring logThis) 10. 11.{ 12. 13.  

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。