开发实践—浅析安卓应用程序开发技术

合集下载

关于安卓应用程序的实习心得与报告

关于安卓应用程序的实习心得与报告

关于安卓应用程序的实习心得与报告篇一:Android 实习心得刚开始接触Android 感觉到它很有意思,在界面开发上和web 也可以形成了相通的架构,更加方便,视觉上也是非常的酷,在前期我通过的大量的An droid SDK开发范例大全中的例子以及An droid提供的APIDEMO进行学习,尽管例子之间的连接比较零散,不过通过这些例子的学习我可以学习到了很多和以前java 上相通的思想。

我在为期半个月的实习中学到了很多在课堂上根本就学不到的知识,收益非浅.现在我对这半个月的实习做一个工作小结。

1 通过半个月的android 实习,基本掌握了Android 应用程序开发的一般流程。

对常用控件基本掌握其用法,对其事件的监听方法也基本掌握。

学习Android 不仅是对前沿开发技术的了解,也是对编程知识的一次提升。

2通过学习An droid的控件、布局、Activity 、Service 等一系列基础知识,对整个Android 的开发有了大致的了解。

例如: 要的布局(或者控件) , 在学习界面中,我发现Android 为我们提供了很好的类似反射机制,通过Layout 文件夹下的配置文件,可以快速的形成界面,在配置文件可以设置属性或者样式都是很快捷方便。

对比较特殊的界面也可以通过处理嵌入到指定的界面,同样你可以通过java 代码直接创建View 进行添加,不过这种方式比较复杂。

对一些点击、选中、按键等处理的事件,界面之间的跳转Intent 管理,通过Bundle 对数据在界面之间进行传输。

4 在手机交互式通信服务中,学习了Android 手机之间进行短信发送、广播、对广播的监听、服务等,在Service 类中没有context ,可以通过Handler 来每秒反复运行,自动送出系统广播信息,同时在这里我们也知道可以设计一个常用的变量类,设计一个当前的CurrentActivity 这个变量进行控制,进行处理。

android应用开发实训总结

android应用开发实训总结

android应用开发实训总结一、前言Android应用开发是一项非常有趣和具有挑战性的任务。

在这个实训中,我们学习了如何使用Java和Android Studio开发应用程序。

本文将总结我们的学习经验和教训,以便更好地了解如何开发高质量的Android应用程序。

二、基础知识在开始开发Android应用程序之前,需要掌握以下基础知识:1. Java编程语言。

2. Android操作系统的基本架构和组件。

3. Android Studio集成开发环境(IDE)的使用方法。

三、项目准备在创建一个新的Android项目之前,需要进行以下准备工作:1. 安装Java JDK和Android Studio。

2. 配置Android SDK并下载所需的API级别。

3. 选择适当的设备模拟器或连接物理设备进行测试。

四、创建新项目在创建新项目时,需要注意以下几个方面:1. 命名约定:包名必须是唯一的,建议使用公司或组织名称作为包名前缀。

2. 目标API级别:根据目标设备选择适当的API级别。

3. 模板选择:可以根据需求选择不同类型的模板来创建项目。

五、布局设计布局是指定义用户界面元素(如按钮、文本框等)在屏幕上的位置和大小。

Android提供了多种布局类型,如线性布局、相对布局、表格布局等。

在设计布局时,需要注意以下几点:1. 界面元素的大小和位置应该适合不同的屏幕分辨率。

2. 使用相对布局可以更好地适应不同的屏幕尺寸。

3. 避免使用绝对像素单位。

六、活动(Activity)Android应用程序中的活动是用户界面的基本组成部分。

每个活动都是一个独立的窗口,可以包含不同类型的用户界面元素。

在开发活动时,需要注意以下几点:1. 活动应该根据用户需求设计。

2. 活动之间可以通过意图(Intent)进行通信。

3. 活动生命周期是非常重要的,需要理解和掌握。

七、存储Android提供了多种存储选项,如SharedPreferences、SQLite数据库等。

android应用开发实验报告

android应用开发实验报告

android应用开发实验报告Android应用开发实验报告引言:随着智能手机的普及,移动应用的需求也越来越大。

作为目前最主流的移动操作系统之一,Android平台的应用开发变得越来越重要。

本实验报告将介绍我在Android应用开发实验中所学到的知识和经验,以及我开发的一个简单应用的过程和成果。

一、实验背景移动应用开发已经成为互联网行业的热门方向之一。

Android平台作为全球最大的移动操作系统之一,具有广泛的用户基础和开放的生态系统,因此学习和掌握Android应用开发技术对于未来的职业发展非常有帮助。

二、实验目的通过本次实验,我希望能够掌握Android应用开发的基本流程和技术,包括应用的界面设计、交互逻辑的实现以及与后台服务的通信等。

同时,我也希望能够培养自己的创新思维和解决问题的能力。

三、实验过程1. 环境搭建在开始实验之前,我首先需要搭建好Android开发环境。

我下载并安装了Android Studio,这是官方推荐的Android开发工具,提供了丰富的开发工具和模拟器来辅助开发。

2. 学习基础知识在进入实际开发之前,我花了一些时间学习Android应用开发的基础知识,包括Java编程语言、XML布局文件的编写以及Android应用的生命周期等。

这些基础知识为我后续的实际开发打下了坚实的基础。

3. 设计应用界面在设计应用界面时,我首先考虑了用户的使用习惯和界面的美观度。

我使用Android Studio提供的可视化界面编辑器,通过拖拽和调整组件的位置和属性,设计出了一个简洁而实用的界面。

4. 实现交互逻辑应用的交互逻辑是实现应用功能的核心部分。

我使用Java语言编写了一些代码,实现了用户与应用之间的交互逻辑。

例如,当用户点击一个按钮时,应用会执行相应的操作,并显示结果给用户。

5. 与后台服务通信现在的应用很少能够独立完成所有功能,往往需要与后台服务进行通信。

我使用了Android提供的网络通信库,编写了一些代码,实现了与后台服务的数据交互。

Android应用开发的技术和难点

Android应用开发的技术和难点

Android应用开发的技术和难点随着智能手机的普及,Android手机已经深入人们的生活,不仅仅用来打电话或发送短信,还可以用来玩游戏、听音乐、看电影、上网等。

很多人都有自己喜欢的手机应用,有的还会尝试自己学习开发一个应用。

但是,开发一个Android应用是一项需要技术和耐心的任务。

在这篇文章中,我们将探讨Android应用开发的技术和难点,以帮助初学者更好地了解这个行业。

1、技术1.1 Java编程语言Android应用的开发主要依赖于Java编程语言。

Java是一种非常流行的编程语言,在许多行业和领域中都有广泛的应用。

为了编写Android应用程序,您需要熟悉基本的Java编程语言,如变量、数组、函数、类和对象,以便能够开始使用Android软件开发工具包(SDK)。

1.2 Android软件开发工具包Android SDK是开发Android应用程序的最重要工具。

这个工具包包括Java编程语言中的所有开发库和工具,以便您能够编写完整的Android应用程序。

这些工具包括开发界面、管理存储和文件、访问web服务、处理音频和视频等等。

Android SDK还支持多个版本的应用程序,包括Android 4.4及更高版本。

这些版本对应不同的设备和硬件配置,您可以选择适当的版本进行应用程序开发。

1.3 Android应用程序界面为了能够将应用程序添加到Android操作系统中,您需要了解和理解Android应用程序界面。

Android应用程序界面包括多个可视元素,如按钮、文本框、标签、图像视图等,并且支持多种布局方式。

您需要知道如何创建这些元素、如何调整它们的大小和位置、如何响应单击或触摸事件等等。

2、难点2.1 版本兼容性由于Android系统在不断升级,不同的Android手机可能在操作系统版本、硬件规格、软件自带功能等方面存在差异。

因此,在开发应用程序时,您必须考虑到不同版本和不同设备之间的兼容性问题。

安卓软件开发实训报告

安卓软件开发实训报告

安卓软件开发实训报告在日常生活中,我们经常需要知道自己的具体位置,尤其是在旅游或陌生城市中。

而手机作为目前最常见、最方便的电子信息载体,无疑是我们最好的选择。

为了让智能手机用户能够随时随地查询GPS所提供的服务,一种高效的办法就是将应用系统的功能拓展到手机终端上。

本文选择的是最常见的Android系统的程序开发。

对于软件从业人员来说,该平台具有无限的吸引力。

因此,本文首先介绍安卓系统在个人计算机上开发平台的搭建,并尝试在安卓系统上开发一款基于手机自带GPS组件的GPS应用。

关键字:Android,GPS,SDK,JDK,ADT,Eclipse(一)开发背景随着网络世界的深入生活,地球网络化已经是一条必然之路。

而今后的网络也将逐渐的走向移动互联网的轨道。

像手机,平板计算机,笔记本计算机等可以搭乘移动互联网的产品中使用人数最多的数码产品便是智能手机了。

它已经在逐步的取代其他的电子产品的市场份额。

据《XX-XX年中国智能手机行业市场需求预测与投资战略规划分析报告》估算,XX前三季度,全球智能手机用户总数已经突破了10亿大关。

而XX前三季度的用户量只有约7亿户。

可以看出,智能手机市场的潜力不可估量。

(二)Android与GPS简介是一种基于Linux的自由及开放源代码的操作系统,主要使用于移动设备,如智能手机和平板计算机,由Google 公司和开放手机联盟领导及开发。

XX年第一季度,Android在全球的市场份额首次超过塞班系统,跃居全球第一。

XX年11月数据显示,Android占据全球智能手机操作系统市场76%的份额,中国市场占有率为90%。

Android的系统架构和其操作系统一样,采用了分层的架构。

从架构图看,Android分为四个层,从高层到低层分别是应用程序层、应用程序框架层、系统运行库层和Linux 内核层。

Android系统所具有的特点有:开放性、丰富的硬件、方便开发。

是英文Global Positioning System(全球定位系统)的简称。

移动应用开发实习报告总结

移动应用开发实习报告总结

一、实习背景随着移动互联网的快速发展,移动应用市场日益繁荣。

为了紧跟行业趋势,提高自己的实践能力,我于2023年在某知名互联网公司进行了为期三个月的移动应用开发实习。

在实习期间,我参与了多个移动应用项目的开发,积累了宝贵的实践经验。

二、实习内容1. 项目概述实习期间,我参与了公司内部一款名为“智行”的移动应用的开发。

该应用是一款基于LBS(Location-Based Service)技术的社交类应用,旨在为用户提供便捷的出行信息服务。

2. 技术栈在项目开发过程中,我主要使用了以下技术栈:- 编程语言:Java、Kotlin- 开发工具:Android Studio、Xcode- 数据库:MySQL、SQLite- 开发框架:MVVM、MVC- 第三方库:Gson、Retrofit、OkHttp、RxJava3. 项目职责在实习期间,我主要负责以下工作:(1)参与需求分析,与产品经理、UI设计师等团队成员沟通,明确项目需求。

(2)编写Android端和iOS端的代码,实现应用的基本功能。

(3)与后端团队协作,完成数据交互、接口对接等工作。

(4)进行单元测试和集成测试,确保应用稳定运行。

(5)根据用户反馈,优化应用性能和用户体验。

三、实习收获1. 技术能力提升通过实习,我对移动应用开发有了更深入的了解,掌握了Java、Kotlin等编程语言,熟悉了Android和iOS开发工具,学会了使用MVVM、MVC等开发框架。

此外,我还学会了使用MySQL、SQLite等数据库,提高了自己的数据库操作能力。

2. 团队协作能力在实习过程中,我学会了与团队成员沟通、协作,共同推进项目进度。

在遇到问题时,我能主动寻求帮助,与同事共同解决难题。

3. 项目管理能力在项目开发过程中,我学会了如何根据项目进度安排工作,合理分配时间。

同时,我也明白了项目管理的重要性,学会了使用敏捷开发方法,提高项目效率。

4. 用户体验意识在实习期间,我深刻认识到用户体验对移动应用的重要性。

android开发实验报告总结

android开发实验报告总结

android开发实验报告总结《android 开发实验报告总结》在当今科技飞速发展的时代,移动应用开发成为了热门领域之一,其中 Android 开发更是备受关注。

通过本次 Android 开发实验,我获得了丰富的实践经验和深刻的技术理解。

接下来,我将详细阐述这次实验的各个方面。

实验背景与目标随着智能手机的普及,Android 操作系统占据了相当大的市场份额。

本次实验的目标是通过实际开发一个简单的 Android 应用程序,深入了解 Android 开发的流程、技术架构以及相关工具的使用,从而提高自己的编程能力和解决问题的能力。

实验环境与工具在实验过程中,我们使用了 Android Studio 作为主要的开发工具。

Android Studio 提供了丰富的功能,包括代码编辑、调试、版本控制等,极大地提高了开发效率。

同时,还需要安装 Java 开发环境(JDK)以及 Android SDK 等必要的组件。

实验内容与步骤首先是项目创建。

在Android Studio 中,通过选择合适的项目模板,设定项目名称、包名等基本信息,创建了一个初始的 Android 项目框架。

接着是界面设计。

利用 XML 布局文件,定义了应用的界面元素,如按钮、文本框、列表等,并通过设置属性来调整它们的外观和位置。

同时,使用了 ConstraintLayout 等布局管理器,实现了灵活且美观的界面布局。

然后是功能实现。

通过编写 Java 代码,实现了应用的各种功能逻辑。

例如,点击按钮触发相应的事件处理,从网络获取数据并展示在界面上,以及与本地数据库进行交互等。

在数据存储方面,学习和使用了 SharedPreferences 来保存简单的配置信息,以及 SQLite 数据库来存储复杂的数据结构。

在网络通信方面,使用了 HttpURLConnection 或者 Volley 等库来发送 HTTP 请求,获取服务器端的数据。

调试与测试在开发过程中,不可避免会遇到各种问题。

安卓程序实验报告(3篇)

安卓程序实验报告(3篇)

第1篇一、实验目的1. 熟悉安卓开发环境及工具的使用。

2. 掌握安卓应用程序的基本开发流程。

3. 学习安卓界面设计、布局、事件处理等基本技能。

4. 提高编程能力及团队协作能力。

二、实验环境1. 操作系统:Windows 102. 开发工具:Android Studio3.53. 编程语言:Java4. 虚拟机:Android 9.0 (Pie)三、实验内容1. 创建安卓项目2. 设计界面3. 编写功能代码4. 测试与调试四、实验步骤1. 创建安卓项目(1)打开Android Studio,点击“Start a new Android Studio project”;(2)选择“Empty Activity”模板,点击“Next”;(3)输入项目名称、保存位置等信息,点击“Finish”;(4)在项目目录中,找到MainActivity.java文件,修改其中的代码,以实现特定功能。

2. 设计界面(1)打开res/layout/activity_main.xml文件;(2)使用布局编辑器设计界面,添加控件(如Button、EditText等);(3)设置控件的属性(如文本、颜色、大小等)。

3. 编写功能代码(1)在MainActivity.java文件中,编写代码实现功能;(2)例如,编写按钮点击事件,实现数据计算、页面跳转等操作。

4. 测试与调试(1)在Android Studio中,点击“Run”按钮,启动模拟器或连接真机进行测试;(2)观察程序运行效果,如有问题,进行调试;(3)根据需要,修改代码,直至程序正常运行。

五、实验结果与分析1. 实验结果本次实验成功创建了一个安卓应用程序,实现了简单的功能,如按钮点击事件、页面跳转等。

2. 实验分析(1)在创建安卓项目时,熟悉了Android Studio的使用,掌握了项目结构及文件管理方法;(2)在设计界面时,学会了使用布局编辑器,掌握了常用控件的属性设置;(3)在编写功能代码时,学习了Java编程语言的基本语法,掌握了事件处理及页面跳转等操作;(4)在测试与调试过程中,提高了问题定位及解决能力。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

中南财经政法大学程序开发实践课程报告浅析安卓应用程序开发技术组长*** (*********)组员** (********)** (********)** (********)专业信息管理与信息系统(2010级)指导教师***完成日期2012年6月目录前言 (3)1 简介 (3)1.1 技术原理 (4)1.2 开发平台简介 (4)2 开发流程 (5)2.1 技术准备 (5)2.2 开发步骤 (5)2.3 部分代码分析 (9)3 问题及分析 (14)3.1 技术优势 (14)3.2 系统漏洞 (15)3.3 优化发展 (15)4 项目组成员分工情况 (1)前言Android是以Linux为核心的手机操作平台,作为一款开放式的操作系统,随着Android的快速发展,如今已允许开发者使用多种编程语言来开发Android应用程序,而不再是以前只能使用Java开发Android应用程序的单一局面,因而受到众多开发者的欢迎,成为真正意义上的开放式操作系统。

Android作为目前最流行的手机操作系统,关于其应用开发技术已经成了人们主要感兴趣的技术之一,此次我们浅析一下其开发的主要流程技术,便于参考学习,同时加强人们对于Android系统的理解。

本篇论文主要介绍一下该开发技术的工作步骤,以及部分参考代码的分析,目的在于更好地理解其技术实现。

简要说明其在不同平台上的实现,并分析在目前的Android市场中出现的系统和技术方面的不足,以及优化设想。

1、简介1.1 技术原理Android系统架构由5部分组成,分别是:Linux Kernel、Android Runtime、Libraries、Application Framework、Applications。

Linux KernelAndroid基于Linux 2.6提供核心系统服务,例如:安全、内存管理、进程管理、网络堆栈、驱动模型。

Linux Kernel也作为硬件和软件之间的抽象层,它隐藏具体硬件细节而为上层提供统一的服务。

如果你学过计算机网络知道OSI/RM,就会知道分层的好处就是使用下层提供的服务而为上层提供统一的服务,屏蔽本层及以下层的差异,当本层及以下层发生了变化不会影响到上层。

也就是说各层各尽其职,各层提供固定的SAP(Service Access Point),专业点可以说是高内聚、低耦合。

如果你只是做应用开发,就不需要深入了解Linux Kernel层。

Android RuntimeAndroid包含一个核心库的集合,提供大部分在Java编程语言核心类库中可用的功能。

每一个Android应用程序是Dalvik虚拟机中的实例,运行在他们自己的进程中。

Dalvik虚拟机设计成,在一个设备可以高效地运行多个虚拟机。

Dalvik虚拟机可执行文件格式是.dex,dex格式是专为Dalvik设计的一种压缩格式,适合内存和处理器速度有限的系统。

大多数虚拟机包括JVM都是基于栈的,而Dalvik虚拟机则是基于寄存器的。

两种架构各有优劣,一般而言,基于栈的机器需要更多指令,而基于寄存器的机器指令更大。

dx 是一套工具,可以将Java .class 转换成.dex 格式。

一个dex文件通常会有多个.class。

由于dex 有时必须进行最佳化,会使文件大小增加1-4倍,以ODEX结尾。

Dalvik虚拟机依赖于Linux 内核提供基本功能,如线程和底层内存管理。

LibrariesAndroid包含一个C/C++库的集合,供Android系统的各个组件使用。

这些功能通过Android的应用程序框架(application framework)暴露给开发者。

下面列出一些核心库:系统C库--标准C系统库(libc)的BSD衍生,调整为基于嵌入式Linux设备媒体库--基于PacketVideo的OpenCORE。

这些库支持播放和录制许多流行的音频和视频格式,以及静态图像文件,包括MPEG4、H.264、MP3、AAC、AMR、JPG、PNG 界面管理--管理访问显示子系统和无缝组合多个应用程序的二维和三维图形层LibWebCore--新式的Web浏览器引擎,驱动Android 浏览器和内嵌的web视图SGL--基本的2D图形引擎3D库--基于OpenGL ES 1.0 APIs的实现。

库使用硬件3D加速或包含高度优化的3D软件光栅FreeType --位图和矢量字体渲染SQLite --所有应用程序都可以使用的强大而轻量级的关系数据库引擎Application Framework通过提供开放的开发平台,Android使开发者能够编制极其丰富和新颖的应用程序。

开发者可以自由地利用设备硬件优势、访问位置信息、运行后台服务、设置闹钟、向状态栏添加通知等等,很多很多。

开发者可以完全使用核心应用程序所使用的框架APIs。

应用程序的体系结构旨在简化组件的重用,任何应用程序都能发布他的功能且任何其他应用程序可以使用这些功能(需要服从框架执行的安全限制)。

这一机制允许用户替换组件。

所有的应用程序其实是一组服务和系统,包括:视图(View)--丰富的、可扩展的视图集合,可用于构建一个应用程序。

包括包括列表、网格、文本框、按钮,甚至是内嵌的网页浏览器内容提供者(Content Providers)--使应用程序能访问其他应用程序(如通讯录)的数据,或共享自己的数据资源管理器(Resource Manager)--提供访问非代码资源,如本地化字符串、图形和布局文件通知管理器(Notification Manager)--使所有的应用程序能够在状态栏显示自定义警告活动管理器(Activity Manager)--管理应用程序生命周期,提供通用的导航回退功能ApplicationsAndroid装配一个核心应用程序集合,包括电子邮件客户端、SMS程序、日历、地图、浏览器、联系人和其他设置。

所有应用程序都是用Java编程语言写的。

更加丰富的应用程序有待我们去开发!从上面我们知道Android的架构是分层的,非常清晰,分工很明确。

Android本身是一套软件堆迭(Software Stack),或称为「软件迭层架构」,迭层主要分成三层:操作系统、中间件、应用程序。

从上面我们也看到了开源的力量,一个个熟悉的开源软件在这里贡献了自己的一份力量。

1.2平台Android系统采用Linux作为内核,其开发平台主要具有以下功能:+ Application framework: 可重用的和可替换的组件部分,在这个层面上,所有的软件都是平等的。

Dalvik virtul machine: 一个基于Linux的虚拟机。

Integrated browser: 一个基于开源的WebKit引擎的浏览器,在应用程序层。

Optimized graphics: 包含一个自定义的2D图形库和基于OpenGL ES 1.0 标准的3D实现。

SQLite: 数据库Media support: 通用的音频,视频和对各种图片格式的支持(MPEG4,H.264, MP3, AAC, AMR, JPG, PNG, GIF)GSM Telephony: GSM 移动网络, 硬件支持。

Bluetooth, EDGE, 3G, and WiFi: 都依赖于硬件支持。

Camera, GPS, compass, and accelerometer: 都依赖于硬件支持。

Rich development environment: 包含一套完整的开发工具集,方便跟踪调试,内存检测和性能测试,而且提供了Eclipse的插件。

2、开发流程2.1 技术准备——开发环境1. Eclipse + Android SDK + ADT2. JDK 1.6或1.53. VMWARE+Ubuntu Linux4. Android源代码2.2开发步骤1、在Eclipse中新建Android工程Ø工程名JNITestØ Package名Test.powerise.JNITestØ Activity名JNItestØ应用程序名JNItest2、编辑res/layout/main.xml内容注:Test_powerise_JNITest_JNITest.c前面有一个tab,$(JNI_H_INCLUDE)前面有一个tab3、编辑Test.poserise.JNITest下的java文件JNITest.java代码1package Test.powerise.JNITest;23import android.app.Activity;4import android.os.Bundle;5import android.widget.TexTestiew;67public class JNITest extends Activity {8static{9System.loadLibrary("JNITest");10}1112public native String GetTest();1314public void onCreate(Bundle savedInstanceState) {15super.onCreate(savedInstanceState);16setContenTestiew(yout.main);17String str =GetTest();18TexTestiew JNITest =(TexTestiew) findViewById(R.id.JNITest);19JNITest.setText(str);20}21}224、用javah命令生成head文件(1). 设置好jdk环境变量(2). 运行cmd进入工程的根目录下(3). 运行javah -classpath bin -d jni Test.powerise.JNITest.JNITest(4). 会在根目录下生成一个.h的头文件内容如下:代码1/*DO NOT EDIT THIS FILE - it is machine generated */2#include <jni.h>3/*Header for class Test_powerise_JNITest_JNITest */45#ifndef _Included_Test_powerise_JNITest_JNITest6#define_Included_Test_powerise_JNITest_JNITest7#ifdef __cplusplus8extern"C"{9#endif10/*11* Class: Test_powerise_JNITest_JNITest12* Method: GetTest13* Signature: ()Ljava/lang/String;14*/15JNIEXPORTjstringJNICALL Java_Test_powerise_JNITest_GetTest 16(JNIEnv *, jobject);1718#ifdef __cplusplus19}20#endif21#endif5、编写C/C++文件如下代码#include "Test_powerise_JNITest_JNITest.h"JNIEXPORT jstring JNICALLJava_Test_powerise_JNITest_JNITest_GetTest (JNIEnv *env, jobjectobj){return(*env)->NewStringUTF(env, (char*)"JNITest NativeString");}6、编写Android.mk文件代码1LOCAL_PATH :=$(call my-dir)2include $(CLEAR_VARS)3LOCAL_SRC_FILES:=\4Test_powerise_JNITest_JNITest.c5LOCAL_C_INCLUDES :=\6$(JNI_H_INCLUDE)7LOCAL_SHARED_LIBRARIES :=libutils8LOCAL_PRELINK_MODULE :=false9LOCAL_MODULE :=libJNITest10include $(BUILD_SHARED_LIBRARY)7、编译生成动态库(1). 打开Ubuntu虚拟机(2). 新建文件夹路径:~/mydroid/external/libJNITest(mydroid的为android的源码根文件夹)(3). 把上面编写好的头文件、c/c++源文件、make文件拷贝进上面目录中(4). 执行如下命令:1cd mydroid/external/libJNITest2. ../../build/envsetup.sh (注:.和../之间有一个空格)3mm 注:如果上面的命令不成功或没有加最前面的点,这个命令将无效编译成功的后会在下面目录中生成libJNITest.so文件mydroid/out/target/product/generic/system/lib/8、在模拟器中执行程序首先要把so文件拷到/system/lib目录下(1). 启动模拟器(2). 设置android sdk的环境变量(3). 运行cmd,执行如下命令:adb remountadb push libJNITest.so /system/lib不要关闭模拟器,运行java程序JNITest,屏幕会出现“JNITest NativeString”这段字符串。

相关文档
最新文档