文档库 最新最全的文档下载
当前位置:文档库 › 基于Android平台的通讯帮手的设计与开发

基于Android平台的通讯帮手的设计与开发

基于Android平台的通讯帮手的设计与开发
基于Android平台的通讯帮手的设计与开发

第39卷 第6A期2012年6月计算机科学

Comp

uter ScienceVol.39No.6A

June 

2012本文受2011年度高等学校省级优秀青年人才基金项目(2011SQRL189)资助。唐 敏(1976-)

,女,硕士生,讲师,主要研究方向为嵌入式技术。基于Android平台的通讯帮手的设计与开发

唐 敏

(安徽邮电职业技术学院 合肥230031

) 

摘 要 Android是由Google推出的源码公开的智能手机操作系统,从推出至今得到越来越多的人的研究和使用。通过搭建Android应用开发平台,完成了Android应用程序的开发以及从总体设计到详细设计的工作。设计了一款基于Android的通讯帮手软件,它主要实现了手机联系人的分组存储、联系人资料的详细存储以及快捷的电话呼叫、短信发送、邮件发送功能。应用程序界面都通过Android UI设计完成,通过虚拟机调试分析直至最后编码通过。关键词 智能手机操作系统,移植,Android UI中图法分类号 TP311 文献标识码 A 

Designing and Developing 

the Communication Helper Based on AndroidTANG Min

(Anhui Vocational Colleg

e of Posts and Telecom,Hefei 230031,China) 

Abstract Android is an open source smart phone operating system,which is launched by Google.More and more peoplespend time in researching and using it.The paper built Android application development platform,and realized Androidapplication program.The work is from overall design to detailed design.The design of the communication help

er soft-ware is based on Android.It has the function of grouping the contacts stored in the phone,storing contact detail infor-mation,and quick phone calls,SMS,e-mail sending.The interface design is completed through the Android UI,and theprogram is debuged by 

virtual machine until the code is passed.Keywords Smart phone operating systems,Transplantation,Android user interface 

Android是2007年底由Google推出的源码公开的智能手机操作系统,

从推出至今已经得到越来越多的人的研究和使用。相关调查数据显示,Android在2011年第一季度占领智能手机系统老大的位置。2011年5月11日,第三届Google I/O(开发者大会)在旧金山举行。此次开发者大会上,Google在Android上的创新给大家带来了惊喜:An-droid3.1的新功能可以支持外接游戏手柄和有趣的面部识别,Android@H

ome可让家里所有可连接的物体与Android相连[1]

。由此可见,Android已经开始向物联网技术方面发

展。如果继续朝物联网方向研究,Android的市场前景不可估量。本文提出了一种智能通讯帮手系统的设计实现方法,以供开发者参考。

1 Android操作系统体系结构介绍

Android采用了分层架构的思想。表1是Android的体系结构图,它分为4层,从顶层到低层分别是应用程序层、应用程序接口层、系统运行库和Linux核心层。Android是和一系列核心应用程序包一起发布的,这些核心应用程序包括Email客户端、信息程序、日历,地图、浏览器功能、联系人管理等,所有的核心应用程序均使用Java高级语言编写。开发人员在遵循Android应用程序框架的安全性限制条件下,可以访问核心应用程序所有的API函数。系统运行库层可以

分为单独的两个部分,一部分是Android函数库,这些函数库主要是一些C/C++代码库,函数库与应用接口层配合;另一部分主要是Dalvik虚拟机,虚拟机是为调试方便而设计实现的。Linux内核层相当于系统内核层,是Android平台中硬

件与软件之间的纽带[

2,3]

。Android体系结构中4层分布很合理。层与层之间的功能相互独立,但是上一层的实现都依赖与下一层的支持,下一层也为上一层的实现奠定了基础,各层提供固定的SAP(Service Access 

Point),符合高内聚、低耦合的特点。表1 Android操作系统体系结构

应用程序和小部件应用程序接口类库

Android运行环境Linux内核和驱动

硬件

2 Android应用程序开发组件

一个Android应用程序,通常由Activity

、Service、Con-tentProvider和BroadcastReceiver 

4组件构成4,5]

。2.1 Activity

(活动)Activity是最基本的Android应用程序组件。一个An-droid应用程序可以被看作一组任务,每一个任务称作一个Activity。在应用程序中,一个Activity通常就是一个独立的

·

375·

屏幕,用于表现数据和与用户交互,每个屏幕可以有一个或多个组件布局。每一个Activity又是一个单独的类,每一个这样的类都从Activity基类继承而来。一个Activity可以切换到新的Activity,也可以返回前一个Activity。Android通过使用Intent这个特殊的类来实现Activity的切换。

2.2 Receiver(服务)

服务是具有一段较长生命周期且没有用户界面的程序。它可以运行在它自己的进程,也可以运行在其他应用程序进程的上下文(Context)里面,这取决于其自身的需要。其它的组件可以绑定到一个服务(Service)上面,通过远程过程调用(RPC)来调用这个方法。典型的例子就是音乐播放器。在一个音乐播放器程序中有多个活动,其分别实现了歌曲的选择和播放等功能。然而,音乐重放这个功能并没有对应的活动,它是通过服务来实现的。媒体播放器这个活动会使用Con-text.startService()来启动一个服务,从而可以在后台保持音乐的播放。同时,系统也将保持这个服务一直执行,直到这个Service运行结束。

另外,还可以通过使用Context.bindService()方法,将其连接到一个服务上(如果这个服务还没有运行将启动它)。当连接到一个服务后,可以通过服务提供的接口与它进行通讯。就媒体播放器这个例子而言,我们还可以进行暂停、重播等操作。

2.3 Content Provider(内容提供商)

Content Provider可以实现不同应用程序之间的数据共享,它提供了标准的访问接口以便其它应用程序对数据进行访问和操作。典型的例子就是使用内容管理器来访问联系人列表。你的应用程序也可以使用其它程序通过内容管理器提供的数据,同时你也可以定义你自己的内容管理器来向其它应用提供数据访问服务。

2.4 Broadcast Receiver(广播接收器)

在Android中提供了BroadcastReceiver组件来响应一个外部的事件,当一个BroadcastReceiver被触发后,系统就会通知相应的程序。例如:当电话呼入、数据网络可用、或者到了晚上时,BroadcastReceivers不能显示UI,它只能通过Notifi-cationManager来通知用户。BroadcastReceivers既可以在AndroidManifest.xml中注册,也可以在代码中使用Context.registerReceiver()进行注册。当这些事情发生时,系统会在需要的时候启动你的应用,并在必要情况下触发Broadcast-Receivers。还可以通过使Context.sendBroadcast()将它们自己的Intent broadcasts广播给其它应用程序。

3 应用程序开发环境构建

硬件平台Mini2440是广州友善之臂有限公司开发的一款ARM9学习板,微处理器采用的是Samsung S3C2440,是业界领先的32位RISC微处理器。

对于应用程序开发,笔者选择在Windows XP下面完成。Android应用层主要代码是由Java语言编写的,对Java开发比较熟悉的都知道Eclipse集成开发环境,提供了强大的插件功能,可以方便地支持第三方软件的开发,这里选择Eclipse(版本3.5)+ADT插件。软件开发包选择最新的AndroidSDK版本。当然为了支持集成开发环境,还需要安装jdk,因

为是Java开发,Eclipse开发环境需要JRE的支持,如果没有Java运行时环境的支持,Eclipse就不能正常工作,会显示出错。

开发的应用程序要在开发板上测试。我们要进行An-droid操作系统在开发板上的移植工作,具体移植过程请参考参考文献[7];同时还要建立交叉编译环境为应用程序下载到开发板测试做准备。本文采用Google自己提供的工具链Bionic Lib,可以从http://android.kernel.org/pub/android-toolchain-20081019.tar.bz2下载到,这里就不再详述。

4 通讯帮手的设计

4.1 通讯帮手的总体设计

手机作为通信设备,方便大家沟通交流。大家在使用手机的时候,通讯薄是必不可少的工具。本文设计的这款通讯帮手,在让用户不必去记手机号码等联系人相关信息的基础上,进行个性化的设计,可以提供方便快捷的使用通道,让用户充分享受智能手机带来的舒适与便利。这为同类软件的设计提供了一个很好的参考。

Android通讯帮手主要是借助于Android提供的应用程序开发接口设计完成的,Android通讯帮手里面的数据采用的是系统自带的SQlite数据库,所有信息都保存在手机的data目录的相应软件包中。通讯帮手的主要功能是保存所有用户的信息和资料,包括联系人姓名、电话号码、头像、邮箱地址、生日、联系人描述等信息。

其次,Android通讯帮手提供了人性化的界面,可以通过单击界面图标,实现添加联系人、创建用户组等操作;同时Android通讯帮手还提供了快捷的通信通道,通过单击形象图标,实现发送短信、发送邮件、呼叫号码等功能。图1为通讯帮手功能结构图

图1 通讯帮手功能结构图

4.2 通讯帮手的详细设计

在进行通讯帮手的详细设计分析时,主要以通讯帮手编辑联系人模块进行分析说明。编辑联系人模块主要用到了Android UI设计,下面的部分代码是布局XML。

 〈?xml version="1.0"encoding="utf-8"?〉

〈LinearLayout

xmlns:android="http://schemas.android.com/apk/res/an-droid"android:orientation="vertical" android:layout_width="fill_parent"

android:layout_height="wrap_content"〉

〈ScrollView android:layout_width="fill_parent"

android:layout_height="fill_parent"android:layout_weight="1"

android:fillViewport="true"

android:background="@drawable/default_bg"〉

〈LinearLayout android:layout_width="fill_parent"

android:layout_height="wrap_content"

·

·

android:orientation="vertical"〉

〈LinearLayout android:layout_marginTop="20.0px"

android:layout_marginLeft="15.0px"

android:layout_marginRight="15.0px"

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:orientation="horizontal"android:padding="5dip"

android:background="@drawable/layoutbg"

android:gravity="center_vertical"〉

〈TextView android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:textColor="#ff3f3f3f"

android:textSize="16.0dip"android:text="姓名:"/〉

〈EditText android:id="@+id/name"

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:singleLine="true"

android:layout_weight="1"

android:layout_marginLeft="5dip"

android:background="@drawable/edit_text"/〉

……

〈/LinearLayout〉

……

XML元素的名称与Java类相对应,一个〈TextView〉元素将在UI中对应生成一个TextView,而〈LinearLayout〉则创建一个LinearLayout视图组。当载入一个XML布局资源时,Android系统会根据布局中的元素对运行时的对象进行初始化。布局时除用到了LinearLayout布局格式,还有Text-View、EditText、Spinner、Button等控件。对应上述XML布局的JAVA源程序见下部分代码:

package com.android.contactsmanager;

……

import android.app.Activity;

import android.os.Bundle;

import android.view.View;

import android.widget.ArrayAdapter;

import android.widget.Button;

import android.widget.EditText;

import android.widget.ListAdapter;

import android.widget.Spinner;

import com.android.contactsmanager.dao.ContactsManager-DbAdater;

import com.android.contactsmanager.ui.PhotoEditorView;public class EditContact extends Activity{

 ContactsManagerDbAdater contactsManagerDbAdapter;

 public static final String TAG="EditContact";

 ……

//各个组件

 private EditText name;//姓名

 private EditText phoneNumber;//号码

 private Spinner groupSpinner;//组

 private Button birthdayButton;//生日

 private EditText address;//住址

 private EditText email;//邮箱

 private EditText information;//好友描述

 private Button ok;//确定

 private Button cancel;//取消

 String editContactName;//缓存要编辑的联系人

 editContactName=intent.getStringExtra("name");

String sql="select*from contacts where name=?"; String selectionArgs[]={editContactName};

System.out.println(editContactName);

 contactInfoCursor=contactsManagerDbAdapter.getCur-sorBySql(sql,selectionArgs);

startManagingCursor(contactInfoCursor);

if(contactInfoCursor!=null &&contactInfoCursor.getCount()〉0){

System.out.println("〈〈〈〈〈〈〈〈〈〈〈〈〈〈〈〈test〉〉〉〉〉〉〉〉〉〉〉〉〉〉〉〉〉〉〉");

}//注意只有加了上面的if语句到resume方法后才会正常执行

}else{Log.e(TAG,"Unknown action,program will ex-it...");

finish();

return;

……

所有联系人的详细资料都在图2所示界面中添加

图2 通讯帮手的编辑联系人界面

5 通讯帮手的功能实现

Android通讯帮手的主界面是继承ExpandableListActivi-ty的一个类,它是一个可展开的list,通过单击某个具体的i-tem,显示该item的list。在本文中,通过该类的相关方法,可以将每个用户组列为单独的一行,用户组里面的联系人则包含在改行中,通过单击该用户组,弹出用户组下面的联系人名单。所有list上的数据通过CursorTreeAdapter这个类来绑定。界面如图3通讯薄主界面图所示,当前打开了亲人这个分组,里面包含一个联系人王武。这里使用了newGroup-View()方法来定义每一行的格式,使用BindGroupView()方法进行绑定[8,9]。

当单击用户组后,ExpandableListActivity类提供了new-ChildView()方法来定义用户组里面的联系人视图,通过bindChildView()绑定数据,同时在该方法中定义了电话呼

·

·

叫、短息发送、邮件发送的快捷方式,如图4,即通讯帮手用户组展开图所示。

通过单击图4中所示的sms图标,可以直接进行短息发送,系统会自动载入当前联系人的电话号码,在界面空白处,填写短息内容。

关于Android通讯帮手用户分组和用户联系人的相关设计,首先利用主界面的类包含的onCreateOptionsMenu()方法创建menu菜单的内容,提供添加新用户组、帮助、退出等功能。然后通过onCreateContextMenu()添加长按用户组和联系人,弹出下拉菜单项,通过onContextItemSelected()实现相应功能,如编辑联系人、删除联系人等,在此就不再一一赘述。

结束语 自从Google推出Android智能手机操作系统以来,Android的用户数目成倍增加,Android市场占有额翻了几番,这些都显示了Android无穷的魅力。在这种趋势下,智能手机制造商纷纷把目光投向Android,研究和开发它的应用程序,开发人员也成倍增长,可以说Android掀起了智能手机操作系统一个新的浪潮。在搭建Android应用开发平台并测试成功后,所有的应用程序界面都通过Android UI设计完成,并在虚拟机里进行了测试。应不断增加和完善通讯帮手的功能和界面,使软件使用起来方便、快捷、美观、安全,让用户体会到智能手机的魅力和软件的智能化、人性化的特点。

参考文献

[1]Google I/O:再造创新和开放的基因[EB/OL].http://www.cww.net.cn,2011-06-10

[2]Butler M.Android:Changing the Mobile Landscape[J].IEEEPervasive Computing,2011,10(1):4-7

[3]丁永明,纪方明.基于Android平台移动学习软件的研究与实现[J].数字通信世界,2011,1:66-68

[4]李杨,冯刚,李亮,等.基于Android的多媒体应用开发与研究[J].计算机与现代化,2011(4):149-152

[5]刘枫.Android智能手机天气预报系统设计及实现[J].计算机与时代,2011(4):61-63

[6]Micro2440用户手册[M].广州:广州友善之臂科技有限公司,2010

[7]宋杰,王书菊,曹竹冬,等.基于ARM2440平台的Android操作系统的移植[J].计算机技术与发展,2011,21(1):66-69

[8]勒岩,姚尚郎.Google android开发入门与实战[M].北京:人民邮电出版社,2009

[9]余志龙,陈小风,等.Google android SDK开发范例大全[M].北京:人民邮电出版社,2009

[10]Gramlich N.Android Programming[EB/OL].http://andbook.anddev.org,2008-02-21

[11]Maruna T,Savic M,Miljkovic G,et al.Google’s Android as anapplication environment for DTV decoder system[C]∥2010IEEE 14th International Symposium on Consumer Electronics.2010:35-44

(上接第572页)

由图2不难发现,这种算法对单一背景下的目标跟踪也是非常准确的(如第2~100帧),但在场景发生复杂变化时(如第110~129帧)跟踪会出现局部偏差;借助于目标模式自适应更新算法,目标短时间被遮挡的现象对跟踪结果影响不大(如第130~135帧),但遮挡时间过长或目标与背景相似度过高时,算法会出现明显的跟踪偏差(如第240~300帧),随机粒子分布在更大的分散区域,目标估计准确性明显降低。

另一方面,由于增加一种纹理特征导致算法计算量大增,算法的耗时也明显增加了。

结束语 为克服只有单一颜色特征进行目标跟踪鲁棒性不高的问题,提出了融合颜色和梯度方向特征的粒子滤波跟踪算法。该算法利用特征融合的粒子重要性评判模型和目标模式自适应更新模型,提高了算法对复杂变化的自适应能力。实验与分析表明,所提算法能比较可靠地实现复杂场景下的目标跟踪。但是,由于算法复杂性的增加,导致跟踪的实时性降低,因此,如何设计融合多特征的粒子滤波跟踪并行快速算法,增强算法的自适应性仍是值得深入研究的课题。

参考文献

[1]Comaniciu D,Ramesh V,Meer P.Real-time tracking of non-rigid

objects using mean shift[C]∥Computer Vision and PatternRecognition.Hilton Head,SC,USA:IEEE Computer Society,June 2000:142-149

[2]李远征,卢朝阳,高全学,等.基于多特征融合的均值迁移粒子滤波跟踪算法[J].电子与信息学报,2010,32(2):411-415

[3]尹宏鹏.基于计算机视觉的运动目标跟踪算法研究[D].重庆:重庆大学,2009

[4]张树春,胡广大.跟踪机动再入飞行器的交互多模型Unscented卡尔曼滤波方法[J].自动化学报,2007,33(11):1220-1225[5]段其昌,周奇,段盼.结合水平集和粒子滤波的人脸轮廓跟踪[J].光电工程,2010,37(3):117-121

[6]曾伟,朱桂斌,陈杰,等.多特征融合的鲁棒粒子滤波跟踪算法[J].计算机应用,2010,30(3):643-645,656

[7]常发亮,马丽,刘增晓,等.复杂环境下基于自适应粒子滤波器的目标跟踪[J].电子学报,2006,34(12):2150-2153

[8]王书朋,姬红兵.用于目标跟踪的自适应粒子滤波算法[J].系统仿真学报,2010,22(3):630-633

[9]刘先省.基于粒子优化的多模型粒子滤波算法[J].电子学报,2010,38(2):302-307

[10]牛长锋.复杂背景下视频运动目标跟踪的研究[D].北京:北京理大学,2010

·

·

高通android平台开发

问题描述: 对于有过开发高通android系统的人来说,获取代码构建开发环境并不是难事,但对于刚刚接触这一块内容的人,如果没有详细的说明很容易走弯路,本文档就是根据本人的实践总结的一些经验教训。 1.代码获取 高通的android代码分为两部分,一部分是开源的,可以从网站https://https://www.wendangku.net/doc/e93297362.html,/xwiki/bin/QAEP/下载,需要知道要下载的代码的分支及build id。另一部分是非开源的,需要从高通的另一个网站https://https://www.wendangku.net/doc/e93297362.html,/login/上下载,这个下载是有权限限制的,晓光的帐号可以下载代码。后面这部分代码需要放到第一部分代码的vendor指定目录下,可能是vendor/qcom-proprietary或vendor/qcom/proprietary,根据版本的不同有所区别。 高通平台相关的东西基本都在vendor/qcom/proprietary下或device/qcom下 2.编译环境构建(ubuntu 10.04 64位) Android2.3.x后的版本需要在64位下进行编译 更新ubuntu源,要加上deb https://www.wendangku.net/doc/e93297362.html,/ lucid partner 这个 源用来安装java。 apt-get install git-core gnupg flex bison gperf build-essential zip curl zlib1g-dev x11proto-core-dev libx11-dev libxml-simple-perl sun-java6-jdk gcc-multilib g++-multilib libc6-dev-i386 lib32ncurses5-dev ia32-libs lib32z-dev lib32readline5-dev 研发主机不能更新java,需要让IT安装sun-java6-jdk。 在命令行执行sudo dpkg-reconfigure dash 选择no,否则编译时会报一下脚本语法错误 编译的过程中https://https://www.wendangku.net/doc/e93297362.html,/xwiki/bin/QAEP/和版本的 release notes中都有介绍,首先source build/envsetup.sh,然后choosecombo选择需要的选项,最后make或make –j4。-j4用来指定参与编译的cpu个数,指定了编译会快些。编译单个模块的时候只需要在make后面跟 上模块的名字 为了简化可以使用以下脚本 export TARGET_SIMULATOR=fasle export TARGET_BUILD_TYPE=release export TARGET_PRODUCT=msm7627a export TARGET_BUILD_VARIANT=eng set_stuff_for_environment make $1 编译的中间结果在out/target/product/平台/obj目录下,有时候为了完全

高通8909平台NQ210调试

高通8909平台NQ210调试说明 高通平台电信VOLTE仅在Android 7.1上实现,而原来的NFC解决方案(PN547)只支持到Android6.0,所以有了高通8909+NQ210+Android7.1这个组合,以实现电信VOLTE+NFC。 F9 R4.1+NQ210 NFC性能调试过程中,几点说明: 1,配置文件需要将NXP的RF_BLK参数合入到高通默认参数 2,注重Rx端匹配调节,对读卡性能有较大提升。调试方法详见附件 3,最终的NFC电路可以不用DCDC,也不用MOS管实现读卡、点对点和开关机卡模拟。性能如下,满足我们要求 配置文件 高通参考设计里给了两个配置文件 /system/etc/libnfc-brcm.conf /system/etc/libnfc-qrd_default.conf 其中libnfc-qrd_default.conf没有NXP_RF_CONF_BLK的六组配置参数,NXP_CORE_CONF_EXTN 的配置参数也不全 从WPI给的配置文件libnfc-nxp_RF - EMVCO.CONF中,将NXP_RF_CONF_BLK六组参数和NXP_CORE_CONF_EXTN配置参数全部拷到libnfc-qrd_default.conf中,并将此文件替换手机中的默认文件。若出现卡模拟性能不佳,也可以在补全的配置文件中通过修改相位来进行优化。

配置文件中需要重点注意的是,NXP_EXT_TVDD_CFG的配置一定要和硬件对应。其中Config1是不采用DCDC的,Config2和3都是采用DCDC供电的。对于我们的项目,在没有DCDC下性能也能满足要求,所以NXP_EXT_TVDD_CFG=0x01 NFC匹配电路 F9 R4.1+NQ210最终的匹配电路如下: 其中:L4802+C4818/L4803+C4820是EMI Filter,采用默认值即可。 C4814+R4806/C4816+R4808是Rx通路匹配,对读卡性能同样有较大影响。靠近读卡器无法正确读卡,而远离读卡器就能正确读卡的问题,也可以通过Rx通路来优化。 中间的串电容,并电容就是NFC天线的发射匹配,NQ210的发射阻抗在30ohm,和PN547的50ohm有所不同。在实验室也可以以读卡/身份证距离为测试标准,盲调匹配电路。 这里重点针对Rx通路的优化进行说明。通常保持电容1nF不变,通过调节电阻来优化Rx通路。判断标准是要保证AGC值在500-800之间,可通过如下步骤优化电阻: 1,修改配置文件A0, 40, 01, 01-> A0, 40, 01, 81,让log中能看到AGC值 2,将修改后的配置文件导入手机,重启手机后并重现打开NFC 3,通过adb logcat输出log,在log中找到“6F13”地址的后四位数字,如5C02即代表0X025C,转换成10进制就是604 4,若AGC太小则减小电阻值,若AGC太大就增大电阻值。同时兼顾实测情况下的NFC性能最终来确认电阻值。 我们最终选用的3.3K电阻,对应的AGC值为604,满足要求。

基于Android平台的菜谱实现

基于Android平台的菜谱实现 1需求分析 随着手机的广泛普及,无线技术的突飞猛进,移动生活、移动办公逐渐由概念转变为现实,对于传统的餐饮业也产生了潜移默化的影响。 目前,大多数餐厅仍然以传统的纸质菜单为主。但是,这种点菜方式存在诸多弊端:从消费者角度来讲,菜谱不能及时更新,导致菜谱信息陈旧,点菜时经常出现某菜品已下架等情况。 用户需求:从餐厅老板来说,及时更新纸质的菜谱,无疑会增加餐厅的额外支出。为了改善传统纸质菜谱的弊端,将菜谱应用于手机客户端,为消费者带来更为便利的客户体验。而实时的菜品更新,不仅解决了纸质菜谱短时间内就出现脏、乱、差的问题,实现餐厅无纸化操作,而且潜在的提升了饭店的形象。 功能需求:用户可以进入菜单界面选择菜品分类,进入相应的分类内,查看该分类中的菜品信息,并对菜品的等级程度进行评价,查询某特定菜品,也可添加新菜品,删除菜品等。 2功能实现 本APP基于自身的需求,同时对西北大学周围众多餐厅现状的合理分析,结合实际,设计并实现了一个基于移动手机平台的智能菜谱显示,该系统的设计基于Android智能操作系统,简单的SQLite数据库,实现了对菜品的增、删、查、改各个功能。 消费者可以添加要点的菜品,在餐后可以对菜品的口味及好感程度进行具体化的评价,这样是对餐厅工作人员的一个回馈,同时也可以为其他消费者就餐提供建议。 2.1主界面 1、实现了对菜品的具体分类。如图2-1

图2-1 单击所选择的菜品分类,出现菜品的镜像显示,为消费者提供更为直观的视觉效果,有助于消费者做出选择。如图2-2 图2-2 2、是进入菜品显示的入口,同时也显示了该软件的使用方法如图2-3:

基于Unity3D和高通Vuforia SDK的AR开发

基于Unity3D和高通Vuforia SDK的AR开发 发表时间:2017-12-13T09:47:20.257Z 来源:《科技中国》2017年8期作者:刘伟杨希文盼向兴婷 [导读] 摘要:本文基于Unity3D这一专业游戏引擎和高通Vuforia SDK制作一款简单的AR,模型通过3d max等三维建模软件进行制作。本文主要介绍基于Unity3D如何制作出一款适合教育领域的AR应用软件,并对AR的研究方向与前景做出探讨。 摘要:本文基于Unity3D这一专业游戏引擎和高通Vuforia SDK制作一款简单的AR,模型通过3d max等三维建模软件进行制作。本文主要介绍基于Unity3D如何制作出一款适合教育领域的AR应用软件,并对AR的研究方向与前景做出探讨。 关键词:增强现实(Augmented Reality),Unity 3D,教育领域 一、概述及研究现状 增强现实(Augmented Reality),简称AR技术。一种实时的记算摄影机摄影位置及角度并加上相应图形的技术,在显示屏中把虚拟世界叠加到现实世界中,用户可以通过设备与其进行交流互动。 目前,国内的AR技术发展迅速,在教育领域的应用也备受关注,具有广阔的发展前景。国内的AR多应用于儿童教育(出版物)等,随着移动手机性能的提升和AR技术(特别是图片识别技术)的发展,未来AR一定会在教育领域蓬勃发展,并且还会在社交、旅游、军事、医疗、游戏等诸多领域实现成功应用。 二、设计与实现模块 AR制作流程主要有:模型导入Unity—基于高通网站制作识别图——导入SDK,在Unity3D中完成后期制作(动画,模型渲染,脚本驱动,特效,声音等)——打包发布到安卓(Android)平台,下面具体进行介绍。 开发工具的准备:1、基于Unity 3D,所以先安装Unity3D,案例所用的版本是Unity3D5.6.1f(64位)的,安装SDK和JDK,保证后续可以发布到Android平台进行测试与应用。2、登录高通Vuforia网站注册账号。 三、识别图模块 制作识别图,首先登录高通Vuforia网站,点击Develop按钮,单击License Manager下的Add License Key,在Project Type选择Development。在Project Details下添加App name:AR Demo,点击Next,出现刚刚填写的信息,确认无误后,勾选下面的许可确定。点击Confirm,License Manager下面会有AR Demo,点击它出现License Key,后期在Unity里面会用到,所以将它复制下来。 再点击Target Manager,点击Add Database,在弹出的Create Database中填写Name:AR _Demo,Type选择默认的Device即可,点击Create。在Database出现刚刚创建的AR_Demo,后面有它的信息(Name,Type,Targets,Date Modified),Targets为0,要添加图片,点击它,点击Add Target,在弹出的Add Target下,我们选择Type为Single Image,点击File后面的Browse,选择准备好的图片,设置宽度:400,最后点击Add,这是出现Uploading Target,只需要等待几秒钟,就会看到Target制作完成,这时可以看到选择的图片复杂的Rating (等级),它的值越高代表可识别的点越多,识别也更加容易和准确。制作好后,勾选我们制作的Target,点击Download Database,在弹出的Download Database窗口中,选择开发平台(Select a development platform)为Unity Editor,然后点击Download进行下载。下载好后,识别图就制作完成,这时还需要下载Vuforia SDK。点击上面的Downloads按钮,点击Download for Unity,在弹出的Software License下点击I Agree。 四、Unity 3D实现AR模块 打开Unity,新建工程,导入两个*.unitypackage:AR _Demo和vuforia-unity-6-2-10,我们可以直接点击两个带有Unity图标的文件进行导入,也可在Unity菜单栏中选择Asset下的Import Package进行导入。删除unity自带的主摄像机Main Camera,在资源Assets目录下找到Vuforia—Prefabs—ARCamera,拖到项目场景中,再将Image Target也拖放到场景中,将右侧检视面板中Image target Behaviour下的Type选择AR_Demo),将模型放置在识别图上,调整模型大小和位置,让它处于摄像机中央。设置ARCamera:点击ARCamera右侧的Inspector下的Open Vuforia configuration,将刚刚复制的的License Key粘贴到App License Key中,并且勾选上Datasets下的Load AR_Demo Database 和Activate。 五、发布到Android平台模块 点击菜单栏File—Build and settings,选择发布平台Android,点击player settings,修改Package Name后参数Company,点击Add Open Scenes,然后Build,Unity生成apk可执行文件。最后,通过将生成的apk文件传到Android手机上并进行安装运行,实现预期效果。 六、结论与展望 本文的AR制作基于在Unity3D中完成相关测试,最后打包发布成APP安装到Android手机上,运行APP通过手机摄像机即可实现增强现实的效果,完美展示模型与现实的叠加。本文为从事AR相关开发的工作人员提供指导,也为在教育领域苦苦寻找更加高效的教学模式的教

基于Android平台的生活小助手app的设计与实现.

天津工业大学 毕业设计(论文) 基于android平台的生活小助手app的设计与实现 姓名 学院 专业 指导教师 职称 年月日

摘要 随着智能手机的快速普及,智能手机操作系统市场风生水起。为了让智能手机用户能够随时随地查询互联网所提供的服务,一种高效的办法就是将应用系统的功能拓展到手机终端上,让手机能够通过移动网以及互联网访问Web网站并处理各种各样的业务。因此,智能手机的应用软件及其需要的服务将有广阔的发展前景。 在如今这个智能手机系统群雄纷争的时候,2008年Google推出了一款名为Android的开源智能手机操作系统,它采用Linux内核,开放手机联盟(OHA)成员可以任意使用和修改SDK包,系统的开源性使其具有良好的拓展性。这款软件包括了操作系统、用户界面和应用程序,即智能手机工作所需要的全部软件。Android的最大特点是其开放性体系架构,不仅具有非常好的开发、调试环境,而且还支持各种可扩展的用户体验,包括丰富的图形组件、多媒体支持功能以及强大的浏览器。因此,对于软件从业人员来说,Android平台具有无限的吸引力。 本文就在分析讨论Android手机软件开发技术原理的基础上,开发出能为用户提供更好的基于Android平台的4G生活小助手app软件。 关键词:Android;天气;生活助手;

Abstract With the rapid popularization of intelligent mobile phone, intelligent mobile phone operating system market fast. In order to make intelligent mobile phone users can query the services provided by the Internet anytime, anywhere, to expand the function an efficient approach is the application of the system to the mobile phone terminal, let the phone through the mobile network and Internet access to a web site and handle a wide variety of business. Therefore, the intelligent mobile phone application software and service will have broad prospects for development. In now the system of intelligent mobile phone warlords dispute. In 2008, Google launched a product called Android open-source smartphone operating system, which uses Linux kernel, Open Handset Alliance (OHA) members can be free to use and modify the SDK package, the open-source system make it with good scalability. This software includes the operating system user interface and applications that need intelligent mobile phone all the software. The biggest feature of Android is its open architecture, not only has a very good development and debugging environment, but also support a variety of scalable user experience, including rich graphical components, multimedia support, and powerful browser. Therefore, for software practitioners, Android platform has unlimited appeal. This article on the basis of analysis and Discussion on the Android mobile phone software development technology, developed to provide users with better Android platform based on the 4G life of small assistant app software. Keywords: Android; weather; life assistant;

Android4.0开发环境搭建

Android开发环境搭建 在网上找各种解决办法,无奈,都是互相转帖,要错大家一起错,而且都是老版本的安装方法,虽然没有太大差别,但小的差异还是搞得人很头痛,因为有时候就是一点不同就要找好长时间解决方法,我现在把我的安装历程发布出来,供大家分享,当然版本再更新的话我也不能保证就完全正确,只能保证现在的版本完全没问题。因为现在的android版本与原来的版本有一定的区别,所以我在2.2的基础上改了一下,现在可以安装到4.0 安装JDK 这个在上一篇中已经介绍过了,注意JDK的版本为1.5或者1.6都可以就行了,推荐使用1.6版本,因为它要比以前快得多。还有JAVA_HOME的设置。用set JAVA_HOME命令检查一下就行了。 SDK 4.0安装 今年Google离开大陆,导致登陆他们的网站会比较麻烦,一般情况下是登陆不上去的,需要翻墙,大家都懂的,我不多说,如果能登上 https://www.wendangku.net/doc/e93297362.html,/sdk/index.html那是最好,如果登不上也没关系,能下的地方好多,上百度上搜有很多,而且下载都很快,我下载的是 android-sdk_r07-windows.zip,一下安装也是以它为例。 下载好后,随便解压到一个地方,目录结构如图所示:

此处SDK Manager.exe和以前版本略有区别,以前是SDK Setup.exe,功能都一样,双击它。(我们下载的也不是完整的SDK,只是一个安装SDK的工具) 双击之后我们会看到如下的界面: 左侧是我们要安装的SDK目录,如果你的网络够快而且空间不是特别少的话,选择Accept All,然后Install,开始漫长的在线安装:

android课程介绍

1.课程基本信息 课程编号:M21F58D10 课程名称:Android应用与开发 开设学期:第3学期 总学时:60 总学分:4 课程类别:岗位能力课程课程性质:必修课 适用专业:软件技术(移动应用开发) 责任单位:计算机与软件学院 2.课程定位 《Android应用与开发》课程是软件技术(移动应用开发方向)专业的岗位能力课程,课程的开设依据是软件技术专业人才培养目标和相关职业岗位(群)的能力要求,对本专业所面向的手机软件开发与测试、软件开发与项目管理等岗位所需要的知识、技能和素质目标的达成起支撑作用。 在课程设置上,前导课程有《Java程序设计》(M21F1611),《数据结构》(M21F232),后续课程有《移动互联网开发综合实训》(M21J57B10)、《毕业实习》(M21J991)。 3.课程设计思路 首先依据专业人才培养方案中关于人才培养目标的阐述,明确课程目标;其次,结合职业教育课程观、教学观、能力观,基于软件工程的开发过程,以项目化教学来组织课程内容,在课程内容的选择与排序中,以软件项目研发的不同阶段、典型任务为载体,将课程内容划分为互相联系的学习情景;第三,通过对各学习情景中学习目标、主要内容、授课方式、师生要求等各项内容的描述,来规范课程所要求的内容;第四,通过对课程内容的选取和组合,以一个完整的项目为载体,完成课程的实施;最后,通过对项目实施过程中各个环节的考察和评价,来完成对课程的评鉴与考核。 本课程在设计上本着懂方法,重应用的总体思路,突出体现职业教育的技能型、应用性特色,着重培养学生的实践应用技能,力求达到理论方法够用,技术技能过硬的目的。 4.课程建设基本理念 本课程按照理论实践一体、课内外互补、课堂教学与培优工程相结合的课程设计指导思想,以任务或项目为载体组织教学内容,突出学生的主体地位,实现“教、学、做”的有机融合;通过班级讲授、团队学习、个体辅导、展示交流、技能大赛等手段,实现从模仿到应用到创新的高职学生递进式培养。 本课程强调对学生职业岗位能力的培养和职业素养的养成,针对不同环节,采用特定的教学方法,有意识、有步骤地将职业能力的训练和职业素养的形成融入到实际的教学过程中。

基于Android平台的手机通讯录管理系统

第一章绪论 1.1 项目研究背景 经过多年的发展,随着第三代网络的使用及四代网络的即将来了呢,移动终端不再仅是通讯网络的终端,还将成为互联网的终端。因此,移动终端的应用软件和需要的服务将会有很大的发展空间。Google与包括HTC、摩托罗拉、三星、联想等在内的三十多家技术和无线应用的领军企业组成的开发联盟为此于2007年11月退出了一份专为移动设备设计的软件平台——Android OS。 Android 是一套真正意义上的移动性设备综合平台,它包括操作系统、中间件和一些关键的平台应用。Android的Java程序运行环境包含一组Java核心函数库及Dalvik虚拟机,它们有效地优化额Java程序的运行过程。Android 系统平台基于优化了的Linux内核,它提供诸如内存管理、进程管理、设备驱动等服务,同时也是手机硬件的连接层。 Abdroid平台的开放性等特点既能促进技术(包括平台本身)的创新,又有助于降低开发成本,还可以是运营商能非常方便地制定特色化的产品,因此,它具有很大的市场发展潜力。 1.2 项目研究的目的及意义 随着3G网络的使用,移动终端不再仅是通讯网络的终端,还将成为互联网的终端。因此,移动终端的应用软件和需要的服务将会有很大的发展空间。在Google和Android手机联盟的共同推动下,Android在众多手机操作系统中脱颖而出,受到广大消费者的欢迎。 手机通讯录作为手机的基本功能之一,每天我们都在频繁地使用着。根据手机功能的不断加强与完善,手机通讯录对于人们的意义,已经不仅仅像记事簿一样显示通讯地址,而是向着个性化、人性化的方向发展。通讯录从无到有,从英文到中文,经过了十几年的发展历程,今后的发展趋势就是从通讯录发展为名片夹,也就是一个人名下,可以储存座机、手机、单位、地址、电子邮箱等内容,这种名片夹在电话薄的基础上,大大丰富了内容,同时结构也发生了革命性的的变化,而且随着手机的发展,相信更优秀的通讯录会越来越受到社会各层认识的喜爱。 1.3系统主要内容与实现方式

Android移动应用开发习题答案

Android移动应用开发习题答案 单元1 Android开发环境搭建与模拟器创建 1.填空题 (1) 2008 (2) Linux、操作系统 (3) 应用程序层、应用程序框架层、核心类库、Linux内核 (4) Java C++/C (5) 应用框架 (6) 应用程序 (7) 模拟器、Android模拟器 (8) IntelliJ IDEA Android 2.选择题 (1)创建程序的过程中,填写Application Name表示()。 正确答案:A (2)Android操作系统的手机可以有以下几个方法进行软件安装()。(多选题)ABCD (3)Android操作系统主要的特点是:()。(多选题) 正确答案:ABC (4)以下对Android操作系统描述正确的是:()。(多选题) 正确答案:ABCD (5)以下哪些是Android Stuido的优势()。(多选题) 正确答案:ABCD (6)以下哪些是Genymotion模拟器的优势()。(多选题) 正确答案:ABCD 3.简答题 (1)Android的四层架构分别包括哪几层?分别起到什么作用? 参考答案: Linux内核层(Linux Kernel):基于Linux内核,内核为上层系统提供了系统服务。 核心类库层(Libraries):系统库基于C/C++语言实现,通过接口向应用程序框架层提

基于Android Studio的移动应用开发任务驱动教程 供编程接口。 应用框架层(Application Framework):为开发者提供了一系列的Java API,包括图形用户界面组件View、SQLite数据库相关的API、Service组件等。 应用程序层(Applications):包含了Android平台中各式各样的应用程序。 (2)简述Android开发环境安装的步骤。 参考答案: 下载并安装JDK,配置JDK的环境变量; 从Anroid官网上下载Android开发组件(包含Eclipse和Android SDK、ADT); 安装Android开发环境(包括配置Android SDK的环境变量、打开Eclipse通过菜单设定Android SDK路径)。 (3)简述Android Studio的优势。 参考答案:略。 (4)简述Genymotion模拟器的优势。 参考答案:略。 (5)简述Android应用程序创建和运行的步骤。 参考答案: 通过菜单创建Android应用程序,设置应用程序名、Android版本等基本信息。 单击菜单中的运行按钮可以直接运行Android项目(也可以通过菜单配置运行参数, 指定运行的模拟器)。 单元2 Android Studio的组成结构与基本操作 1.填空题 (1) res/layout (2) Activity、Bundle (3) XML (4) java代码文件 (5) AndroidManifest.xml (6) 打包成.apk文件 2.选择题 (1)如果需要创建一个字符串资源,需要将字符串放在res\values的哪个文件中?()B (2)新建的Android程序默认的布局方式是相对布局(RelativeLayout),该布局中包含一个()控件。 B (3)要让布局文件或者控件能够显示在界面上,必须要设置RelativeLayout和控件的

基于Android平台的浏览器开发与实现

中国地质大学 毕业设计(论文)开题报告 题目:基于Android平台的浏览器开发与实现 学院:机电学院 专业:通信工程 班级:075083班 学号:858 姓名:许磊 指导教师:张晓峰 日期:2012 年 2 月29 日

一、选题的依据及意义: 随着智能手机的快速普及,智能手机操作系统市场风生水起。为了让智能手机用户能够随时随地查询互联网所提供的服务,一种高效的办法就是将应用系统的功能拓展到手机终端上,让手机能够通过移动网以及互联网访问Web网站并处理各种各样的业务。 浏览器是网民进入互联网的第一窗口,让用户能够快速的访问自己所需要的信息,如小说、新闻、音乐、视频、体育赛事、天气情况、股市行情等。如今,手机浏览器不仅仅是一种网络应用程序,也逐渐成为一种网络应用平台。各种网络应用基本都可以在浏览器上实现,所以被用户广泛接受成为各大浏览器厂商的最主要目标。 研究本课题的意义是让用户有一个快速的上网浏览入口,给用户一个界面友好,功能强大,易于操作,便于管理的浏览器。同时也让自己更加熟悉Android 应用程序的开发,了解Android应用程序开发的流程,各个模块之间的联系。 二、国内外研究现状及发展趋势: Android 是Google开发的基于Linux平台的开源手机操作系统。它包括操作系统、用户界面和应用程序—移动电话工作所需的全部软件,而且不存在任何以往阻碍移动产业创新的专有权障碍。Google与开放手机联盟合作开发了Android,这个联盟由包括中国移动、摩托罗拉、高通、宏达电和 T-Mobile 在内的30多家技术和无线应用的领军企业组成。Google通过与运营商、设备制造商、开发商和其他有关各方结成深层次的合作伙伴关系,希望借助建立标准化、开放式的移动电话软件平台,在移动产业内形成一个开放式的生态系统。 经过多年的发展,第三代数字通信( 3G)技术获得了广泛的接受,它为移动终端用户带来了更快的数据传输速率。随着3G网络的使用,移动终端不再仅是通讯网络的终端,还将成为互联网的终端。因此,移动终端的应用软件和需要的服务将会有很大的发展空间。Android用户也逐渐增加,根据发展趋势,Android将成为第一大智能手机平台。 浏览器作为用户访问网络的窗口,各大厂商也相继推出了自己的浏览器,如

Android平台介绍及使用指导

Android平台介绍及使用指导 二○一○年二月 版本 1.0

目录 Android平台介绍 ................................................................................... - 4 -基本名词...................................................................................................................... - 5 - 操作方法介绍 .......................................................................................... - 6 - 手机按键介绍.............................................................................................................. - 6 - 快捷键介绍.................................................................................................................. - 6 - 信息功能介绍.............................................................................................................. - 7 - 联系人功能介绍........................................................................................................ - 11 - 通话记录功能介绍.................................................................................................... - 14 - 文本粘贴/复制功能介绍.......................................................................................... - 14 - Push Email(Moxier)功能介绍............................................................................ - 15 - 电子邮件功能介绍.................................................................................................... - 16 - 桌面功能介绍............................................................................................................ - 19 - 蓝牙功能介绍............................................................................................................ - 23 - Wifi功能介绍........................................................................................................... - 23 - 飞行模式功能介绍.................................................................................................... - 23 - CDMA数据链接介绍................................................................................................... - 24 - 黑屏解锁功能............................................................................................................ - 25 - 回复出厂设置............................................................................................................ - 26 - 应用程序设置............................................................................................................ - 26 - GPS设置..................................................................................................................... - 27 - 手机中英文语言切换................................................................................................ - 28 - 更换手机输入法........................................................................................................ - 29 - 数据线链接Android手机........................................................................................ - 29 - 手机测试模式进入方法............................................................................................ - 30 - 横屏显示介绍............................................................................................................ - 30 - 浏览器功能介绍........................................................................................................ - 31 - RSS功能介绍............................................................................................................ - 32 - Q/A- 34 -

(完整版)基于Android平台的管理系统设计与实现毕业设计

基于Android平台的管理系统设计与实现 院系:信息科学与工程学院 专业班:计算机科学与技术班 姓名: 学号: 指导教师:

201 年月

基于Android平台的 管理系统设计与实现Design and Implementation of Online Management System Based on the Android Platform

摘要 基于Android平台的网上超市管理系统是结合当前最流行的移动平台开发的电子商务系统。本系统是PC端电商网站在Android平台的延伸,除了传统电商网站能够实现的各项基本功能之外还具有使用简单,操作方便等优点。利用本系统可以为超市的销售提供新的渠道。 本系统的开发运用了基于Java的Android SDK技术,系统采用C/S (客户端/服务器)结构实现。开发所采用的IDE为MyEclipse 10并安装由Google提供的Android Developer Tools。系统运行环境为Android版本4.0以上的移动设备。 本系统在电商网站的基础上完成了移动平台功能的设计,使用户能够在手机上方便的进行传统电商网站上所能完成的大部分操作。本系统的优点在于能够充分利用都市人群上下班途中、排队闲暇等碎片时间,提供方便快捷的购物方式,因此能够极大的抓住用户的依赖程度,提高超市自身品牌影响力,扩张超市营业范围,提高商品销售收入。 关键词:Android 移动设备网上超市

Abstract This e-commerce system named Online Market Management System is based on the most popular mobile platform - Android platform. This system is an extension of PC e-commerce website on the Android platform. Except functions that normal e-commerce system can realize, this system also has many advantages like easily use and convenient. Using this system has provided a brand new way for market sales. The development of this system has using the Android SDK based on Java technology, and achieve by C/S (Client/Server) structure. The IDE used for development is MyEclipse 10 which has installed Android Developer Tools provided by Google. This system need a mobile device that Android version is higher than 4.0 for running. This system has completed the function of the mobile platform based on e-commerce sites, and allow user finish most functions which can be done at normal e-commerce sites. This system can make full use of pieces of time which like the way go to work and the way home, or when you get in a line waiting for something, to provide a fast convenient way to shopping. These advantages can seize the users' dependence, improve the influence, expansion the scope of the business and increase sales revenue. Key words:Android mobile device Online Market

相关文档
相关文档 最新文档