文档库 最新最全的文档下载
当前位置:文档库 › 手机高通平台BUIW简介

手机高通平台BUIW简介

BUIW Training 01/07 2008

Content

?预备知识

?Dialog框架(历史回顾)

?BUIW概述

?BUIW基本原理

?BUIW的使用(用BUIW构建app的UI)

预备知识

?高通平台的mmi由许多app组成,每个app可分为logic和ui,app的ui由一系列的界面组成,每个界面由多个界面元素组成,比如一个图标,一个字符串,都是界面元素。在Dialog体制框架下,一个界面就是一个Dialog,一个或多个相关的界面元素构成一个Control,在BUIW下,它们分别叫做Form和Widget。

预备知识

?IDisplay对象

类似MFC里的CDC对象,每个app有自己IDisplay对象,重要的函数如下

IDISPLAY_DrawText绘制文本

IDISPLAY_MeatureTextEx测量文本宽度

IDISPLAY_SetColor设置颜色(比如文的前背景色)

IDISPLAY_SetClipRect设置剪切区域

IDISPLAY_Update更新屏幕

IDISPLAY_FillRect以指定颜色填充矩形

?IImage对象

IImage_Draw绘制图片

IImage_SetOffset设置源图的偏移(画源图的一部分)

IImage_SetDrawSize设置图的剪切大小

画图的一般方法

P_img=ISHELL_LoadResImage();

IImage_Draw(P_img);

IImage_Release(P_img);

UI框架就是对上述函数的封装,app程序员可以只用上述函数实现一个app的ui,但工作量很大,不易扩展,维护。

预备知识

?三个重要的接口

1.IBASE接口

IBASE是所有对象的基类,记录对象的引用数量,确定对象的创建和释放uint32 (*AddRef) (iname*); //加引用数量

uint32 (*Release) (iname*); //减引用数量

2.IQueryInforace接口

继承于IBASE,支持接口查询,若查询成功,返回指针,并增加引用计数

int(*QueryInterface)(iname*, AEECLSID, void **);//查询接口

3.IHandler接口

继承于IQueryInforace,具备消息处理机制

boolean(*HandleEvent) (iname*,AEEEvent evt,uint16 wParam,uint32 dwParam);

void (*SetHandler)(iname*, HandlerDesc*pDesc); //设置消息处理器

?用Dialog构建app的UI的大致过程

1.用Brew SDK里的Resource Editor新建Dialog,在Dialog里添加几个Control,(只

能添加它支持的控件),保存为*.brx,build,生成bar,同时生成brh

2.在程序中,调用ISHELL_CreateDialog创建Dialog,并设置Handle

boolean wordclock_HandleEvent(wordclock*pMe,AEEEvent eCode,uint16 w,uint32 dw)

{

switch (eCode)

{

case EVT_APP_START:

ISHELL_CreateDialog(pMe->a.m_pIShell,WC_RES_FILE, IDD_DIALOG_MAIN, NULL);

return(TRUE);

case EVT_DIALOG_INIT:

IDIALOG_SetEventHandler((IDialog*)dwParam,

(PFNAEEEVENT)WorldClockDlgEvtHdrs[wParam-WORLDCLCOK_DLG_BASE],

(void *)pMe);

IDIALOG_SetProperties((IDialog*)dwParam,DLG_HANDLE_ALL_EVENTS);

return TRUE;

…………………………….

}

}

3.在Dialog的Handle里用如下办法访问Control

boolean wordclock_DlgHdlMain(wordclock*pMe,AEEEvent evt,uint16 w,uint32 dw) {

switch(evt)

{

case EVT_DIALOG_START:

pIDialog=ISHELL_GetActiveDialog(pMe->a.m_pIShell);

p_ImgCtrl=IDIALOG_GetControl(pIDialog,IDC_MAIN_TEXT);

IIMAGECTL_SetRect(p_ImgCtrl,&rc);

return TRUE;

……………………….

}

}

?Dialog的问题

app对dialog的管理没有代码,dialog对Control的管理也没有代码,事件在它们间的传递更没有代码,很多Control也没有代码,由于brew已有的Control无法满足ui的要求,所在venice项目上,自主开发了menu和list,但menu,list没有被Dialog管理,需要app程序员主动调用相应过程来传递事件和重画。在venice项目上,很多数界面元素都是app程序员调用IDisplay或IImage接口直接画屏,总之,控件化,模块化程序不高,app程序员和组件程序员的职责不清。因此,在ROMA项目中,我们采用了BUIW框架

BUIW概述

?什么是BUIW

BUIW=BREW user interface widget

BUIW 是一种UI 软件开发包.

BUIW 是一种UI 开发框架

BUIW能够实现更为复杂UI

让UI开发更加容易和具有可扩展性

?BUIW的内容

Form: 应用程序窗口框架

Widget: 可见UI组件框架

Theme: UI主题文件工具

?BUIW的思想

C语言,面向对象的思精神

运用多种设计模式,比如类工厂模式,组合模式,修饰模式,观察者模式,MVC模式

?BUIW有全部的代码

?要解决的问题

App对form的管理,form对widget的管理,事件的分发,如何重画

BUIW基本原理

?几个重要的对象

Widget

Container

RootContainer

Form

RootForm

?Widget

相关文件:AEEWidget.c WidgetBase.h WidgetBase.c

Widget 是窗体上的一个控件,具有一定行为,具有一定外观,保存一定数据,(属性)能响应事件,比较复杂的widget 会采用mvc 的设计模式将一个model, view, controller 三部分,定义如下struct WidgetBase {

const AEEVTBL(IWidget) *pvt;

//函数表指针,(函数表分配在结构体的末尾,对象创建时初始化表)

int nRefs; //引用计数

IModule * piModule; //把属的app

WExtent extent; //宽高

IContainer * piContainer; //所属的容器HandlerDesc hd; //handle PFNHANDLER pfnDefHandler;………………………..};

widget 必须属于一个容器并指向它,并没有保存它所隶属的form 的指针只在大小属性extent ,没有坐标属性。即widget 不知道它自己的位置。

能够处理事件,通常要继承widget 时,用子类的handle 重载父类的handle ,对于某一事件,若子类不处理,默认调用父类的handle

typedef struct{int width;int height;

} WExtent;

接口继承关系:IBase--------IQueryInterface----------IHandler---------IWidget

void (*GetPreferredExtent) (iname*, WExtent*pwePreferred); //获得widget的最合适的大小void (*GetExtent) (iname*, WExtent*pWExtent); //获得widget的大小

void (*SetExtent) (iname*, WExtent*pWExtent); //设置widget的大小

void (*GetParent) (iname*, IContainer**ppwc); //获得父容器

void (*SetParent) (iname*, IContainer*pwc); //设置父容器

void (*Draw) (iname*, ICanvas*piCanvas, int x, int y);//重画函数,每个widget必须重载boolean(*IntersectOpaque) (iname*, AEERect*prcDest, const AEERect*prcIn);

//给出一个prcIn,询问widget是否与其相交,若相交,计算出的相交区域放在prcDest返回int(*GetModel) (iname*, AEECLSID id, IModel**ppm);//获取model(数据)

int(*SetModel) (iname*, IModel*pm)//设置数据

?

Container

Container 是可容纳多个widget 的容器,Conainer 用循环队列管这些widget ,widget 在队列中的先后位置就表示在该容器中的叠放次序。定义如下:

struct ContainerBase {

……………………..WExtent extent; //大小

IContainer * piParent; //父容器

IWidget widget;

AEEVTBL(IWidget) vtWidget;//支持IWidget 接口的函数表HandlerDesc hd; //handle PFNHANDLER pfnDefHandler;WidgetNode head; //队列的头结尾WidgetNode * pFocus;//焦点widget ……………………};

只在大小属性extent ,没有坐标属性。保存一个它所隶属的容器的指针。

有两个函数表,分别支持container 和widget

Widgetnode 里保存了widget 指针了wdiget 的坐标,该坐标是相对于本container ,而不是屏幕

struct IWidget {IWidget_Vtbl *pvt, ContainerBase *pMe;

};

?接口继承关系:

IBase--------IQueryInterface----------IHandler---------IWidget

IBase--------IQueryInterface----------IContainer

void (*Invalidate) (iname*, IWidget*pw, const AEERect*prcInWidget, uint32 dwInvalFlags);

//申请重画

int(*Locate) (iname*, IWidget*pw, IContainer**ppRoot, AEERect*prcRelative);

//定位一个widget,返回该widget的区域(相对于整个app的区域)

int(*Insert) (iname*, IWidget*pw, IWidget*piwBefore, const void *pDesc);

//插入一个widget,插入到piwBefore之前,pDesc通常是插入的x,y坐标

int(*Remove) (iname*, IWidget*pw); //移除一个widget

IWidget* (*GetWidget) (iname*, IWidget*pwRef, boolean bNext, boolean bWrap)

?Container的双重身份及实现

Container具有双重身份,它既是容器,同时也可以表现为widget,可以再被父容器包含,这样就可以组成一棵以rootContainer为根的树,container对form也经常表现为widget。

Container的结构体里,即有container的函数表,还有widget的函数表,当以container使用时,地址就是对象的地址,当以widget使用时,不能简单的做指针类型强型转换,而应该用

IQueryInforace得到它的支持IWidget的引用。

?Container对事件的处理

通常交给焦点widget处理,焦点widget可由用户设置和改变,默认焦点是在从下往上第一个能获得焦点的widget,能否获得焦点是由container调用IWIDGET_CanTakeFocus进行查询得到

?Container的重画

重画一定是在某区域内的重画,container先根据叠放层次关系和区域相交关系进行计算,决定出哪些widget需要重画,然后再从下向上依次调用

IWIDGET_draw

?Container的Invalidate

Invalidate就是申请重画,通常由孩子widget調用,container做一个坐标转换后继续向上级container申请重画

BUIW基本原理\RootContainer ?RootContainer是根容器,是Container的子類,是一種特殊的container,是RootForm的成員,是Container/Widget組成的樹的樹根,每個app只有一棵樹,app的所有form上的所有widget都是被rootContainer直接或间接包含的。

?RootContainer没有重载handle,默认调用container的handle

?它和一般container的最大区别的Invalide操作,普通container要申请重画时,总是进行一定的坐标转换后向上一级申请,

rootContainer本身就是最上面的一级,它的Invalide操作会注册一个画重函数,该函数在下一轮ui事件循环时被执行。?RootContainer是界面重画的发起者

?Form

Form用于管理一个固定的窗体外观,处理用户交互消息,管理它自己的widget的生存期

类继承关系:IBase--------IQueryInterface----------IHandler---------IForm

typedef struct Form {

………………………….

HandlerDesc handler; //handle

PFNHANDLER pfnDefHandler;

IWidget* piWidget; //通常指向一个container

………………………….

} Form;

Form只有一个IWiget指针,通常一个Form里的控件多于一个,所以piWidget指针通常指向一个容器,容器里再装widget,Form没有区域大小信息,也没有Invalidate,draw过程,因此可见,Form不是直接负责画界的,一切界面可见元素,如图形,图像,文字必定是某个控件负责的。不应该存在游离于控件之外的界面元素,Widget的重画,也不是form发起的,而是rootContainer发起的。企图在formhandle里用display对象画图,将会有不可预见的后果。

?接口继承关系:

IBase-------IQueryInterface---------IHandler--------IForm

IForm没有在IHandler的基本上增加接口函数

Form的handle通常要由app程序员重载,且每个Form是不一样的?常用的接口

IForm_GetWidget获取widget的指针

IForm_SetWidget设置widget指针

这两个并不属于IForm接口,并不是vt表里的函数,只是为了方便用户使用而提供的

?RootForm

rootForm是Form的子类,本身不画界面,只用来管理一个app的所有form的栈。

typedef struct RootForm{

Form base; //继承于form

IRootContainer* piContainer; //指向一个RootContainer

IVectorModel* piForms; //form的栈

……………

} RootForm;

Rootform在创建时将创建一个RootContainer,并且成把base.piWidget和piContainer都指向它

高通android平台开发

问题描述: 对于有过开发高通android系统的人来说,获取代码构建开发环境并不是难事,但对于刚刚接触这一块内容的人,如果没有详细的说明很容易走弯路,本文档就是根据本人的实践总结的一些经验教训。 1.代码获取 高通的android代码分为两部分,一部分是开源的,可以从网站https://https://www.wendangku.net/doc/2b9011996.html,/xwiki/bin/QAEP/下载,需要知道要下载的代码的分支及build id。另一部分是非开源的,需要从高通的另一个网站https://https://www.wendangku.net/doc/2b9011996.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/2b9011996.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/2b9011996.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目录下,有时候为了完全

高通公司简介

高通公司简介 高通是全球3G、4G与下一代无线技术的领军企业,也是移动行业与相邻行业重要的创新推动者。30多年来,高通的技术驱动了智能手机的变革,将数十亿人连接起来。我们在3G和4G当中作出了开创性的贡献,现在正在引领5G之路,迈向智能联网终端的新时代。我们的产品正在变革汽车、计算、物联网、健康医疗、数据中心等行业,并支持数以百万计的终端以从未想象的方式相互连接。 高通创立于1985年,总部设于美国加利福尼亚州圣迭戈市,30,000多名员工遍布全球。高通是财富“世界500强”公司,并连续14年入选《财富》“美国500强”;自2000年起连续被《金融时报》评为“全球最有价值500强企业”之一。2016年,高通中国荣获“中国最受尊敬企业”称号,该项评选由《经济观察报》和北京大学联合主办,是体现企业运营、技术创新、社会责任及美誉度等多维度实力的权威奖项。 以创新为己任的高通多年来始终着眼未来,坚持在研发方面的巨额投入,通过“发明-分享-协作”的商业模式,以先进技术惠及产业,加速推动整个生态系统发展,从而帮助无线产业链上各方获得成功。公司每年在研发方面的投入约为财年收入的20%。截止目前,高通累计研发投入约为440亿美元。 秉承一贯的创新精神,依靠技术创新和进步,高通不断引领3G、4G以及下一代无线技术的演进,在推动无线通信产业发展的同时,让先进的无线数字技术能够更好的造福人类。高通从2006年就已经开始5G前瞻性研究,在5G基础技术、原型测试等多个方面开展了大量

工作,并已成功发布多个原型测试平台,以及业界首款商用5G调制解调器,引领全球5G之路。2016年11月,高通5G NR(新空口)原型系统和试验平台在第三届世界互联网大会上荣获“世界互联网领先科技成果”。除此之外,高通还正在为3GPP的5G NR标准化进程做出积极贡献,并积极参与全球有影响力的试验与测试,与包括中国在内的全球行业参与者紧密协作。 Qualcomm Technologies, Inc. (QTI)为高通的全资子公司,与其子公司一起运营高通所有的工程、研发活动以及所有产品和服务业务,其中包括其半导体业务QCT。2016财年QTI 的MSM芯片出货量达8.42亿片,充分体现了在核心芯片领域的领先优势。高通Technologies的骁龙?移动智能处理器是业界领先的全合一、全系列移动处理器,具有高性能、低功耗、逼真的多媒体和全面的连接性。截至2014年11月,搭载骁龙处理器的Android 智能手机出货量已经超过10亿部。QTI的产品和服务不仅仅局限于移动智能终端,目前公司的产品和业务已经拓展至医疗、汽车、物联网、智能家居、智慧城市等多个领域,并已推出超过25款专门设计和面向大众市场的物联网智能平台。截至目前,采用高通技术的物联网终端出货量已超过10亿部。 高通在九十年代进入中国市场,迄今已经二十余载,先后在北京、上海、深圳和西安开设了四家分公司,在北京和上海设立了研发中心,并在深圳设立其全球首个创新中心。秉承“植根中国,分享智慧,成就创新”的理念,高通致力于在中国向下一代无线技术演进的过程中,为中国的运营商、制造商和开发商合作伙伴提供全力支持。在高通中国区全体员工的不懈努力下,中国在全球业务发展中扮演的角色越来越重要,是全球最重要的市场之一。

高通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,满足要求。

基于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相关开发的工作人员提供指导,也为在教育领域苦苦寻找更加高效的教学模式的教

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/2b9011996.html,/sdk/index.html那是最好,如果登不上也没关系,能下的地方好多,上百度上搜有很多,而且下载都很快,我下载的是 android-sdk_r07-windows.zip,一下安装也是以它为例。 下载好后,随便解压到一个地方,目录结构如图所示:

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

MTK,展讯,高通处理器介绍

1---MTK: MTK在移动领域CPU目前可以分为3个系列:1、MT62xx系列(功能手机);2、MT65xx系列(智能手机);3、MT83xx系列(平板)。 MT62xx系列,先看下图: 该系列属于功能手机产品线,主要采用ARM7、ARM9、ARM11三种架构,ARMv5T、ARMv6L指令集,这些功能手机芯片并不羸弱,应该说很有特点。有的性能规格甚至操过了09年顶级智能机的性能水准,如:MT6276。有的在省电造诣上独步天下:如MT6250,耗电仅为MT8389的1/10。目前的MTK比较新的安卓智能芯片也普遍延续着功能手机设计优势。注意,在MT62xx系列中,并非CPU架构越先进主频越高,手机越好,原因很简单,功能手机和智能机不同,追求的并非只是单纯的性能,而是功能、速度、价格及待机等特性的结合体,所以即便是MTK最低端的功能机都有着全能的心态,MTK可以实现用规格较低的硬件,做出很全面的机子。比如,ARM7架构的MT6250,虽然主频只有260MHz但可以在上面搭载智能化的Nucleus3.2.2系统,可以实现类似智能机的花俏界面,类似安卓的智能软件扩展和功能手机的超长待机,这些功能原本需要ARM11处理器才能完成的功能,而如今在ARM7上都可以实现了,用ARM7的好处非常明显,芯片授权费低廉,辐射最低,功耗超低,代表机型:联想MA309。在ARM9架构上MTK也有发力,比如MT6268,在246MHz的频率下就能处理联通3G的高额网络吞吐数据,WIFI数据等,代表机型:联想I62、P717、P650WG。ARM11的MT6276处理器造出来的功能机,几乎和智能机无异了,可以实现类似智能机的软件扩展和全3D界面,代表机型有:联想概念机ZK990。四两拨千斤是MTK功能手机芯片的特色。MTK功能手机的卖点不在于硬件是否强大,系统占主导地位,系统功能越多,功能越全面则手机越强,硬件却成为了附属品。不追求顶级性能,但要做全面,这一特性已经延续到智能平台上了,用MTK智能机的朋友往往会发现,它们性能并不是最强,反而很追求细节功能,比如超长待机(省电),比如外部接驳能力(USB-OTG),裸眼3D(英特图3D显示技术)等。MTK是很聪明的,在能保证和高通几乎一致的用户体验前提下,也就是在保证系统基本不卡,顺滑的前提下,追求一些附加功能,来产生卖点,这些启发一般都是来自功能机的,因为功能机是更加追求功能,在智能机上也追求功能,是寻求安卓系统差异化的有力表现。就以超长待机这一卖点打个比方,联想主打超长待机的P系列手机:P70(MT6573)、P700(MT6575)、P700i(MT6577)、P770(MT6577T)、P780(MT6589)整个系列全被MTK占领了,高通没

android课程介绍

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

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 -

Windows7部署Android开发环境傻瓜式教程(Eclipse+ADT)

Windows7部署Android开发环境傻瓜式教程(Eclipse+ADT) (转) 以后工作中要用到android开发,所以想搭建好开发环境,笔记本装的是win7,在网上找了找相关资料,发现博客园有一片介绍搭建Android开发环境的文章,所以转载过来方便以后查看。转载地址:https://www.wendangku.net/doc/2b9011996.html,/vengen /archive/2010/04/01/AndroidSetup.html 我把该教程做成了一个PDF,网速慢的朋友可以在这里下载https://www.wendangku.net/doc/2b9011996.html,bl https://www.wendangku.net/doc/2b9011996.html,/vengen/AndroidSetup.zip 准备文件: 1 下载Android SDK https://www.wendangku.net/doc/2b9011996.html,/android/download.html WIN7 的安装方法与XP 的安装方式完全相同。 2 下载JDK6 https://www.wendangku.net/doc/2b9011996.html,/javase/downloads/index.jsp 3 下载Eclipse3.4.1 https://www.wendangku.net/doc/2b9011996.html,/downloads/ 对于Eclipse来说,直接解压之后就可以使用。 4 下载Eclipse的Android ADT插件 许多教程在这一步都是通过Eclipse自身的update功能进行下载: 启动Eclipse,选择【Help】> 【Soft Updates】> 【Find and Install…】 选择“Available Software”标签页,点击【Add Site…】按键。添加updat e站点:https://https://www.wendangku.net/doc/2b9011996.html,/android/eclipse/ 这时窗口中新增了“https://https://www.wendangku.net/doc/2b9011996.html,/android/eclipse/”项,选中该项,点击【Install…】按键即可下载。 注:许多国内的网友都无法完成这样的升级,通常是进行到一半就没有任何反映了(其他插件,例如pydev也是这样)。 没关系,我们直接到Android官网去下载这个ADT插件: https://www.wendangku.net/doc/2b9011996.html,/android/adt_download.html

Android简单的登陆界面的设计开发

通信实训报告 -Android移动平台开发 学院:信息工程学院 班级: 学号: 姓名: 实训内容: 一.1.Andriod的简介 Android。2011年初数据显示,仅正式上市两年的操作系统Android已经超越称霸十年的塞班系统,使之跃居全球最受欢迎的智能手机平台。现在,Android系统不但应用于智能手机,也在平板电脑市场急速扩张,在智能MP4方面也有较大发展。采用Android系统主要厂商包括台湾的HTC,(第一台谷歌的手机G1由HTC生产代工)美国摩托罗拉,SE等,中国大陆厂商如:魅族(M9),华为、中兴、联想、蓝魔等。 二.1软件下载 Android SDK,网址是 . JDK的下载地址。 Eclipse的下载网址是 第一步:下载Android SDK 网址是 选择"Available Packages",选择想安装的版本(我是全选了,省事),然后单击“Install Selected”->选择“Accept All”,再单击“Install Accepted”就可以在线安装了。 第二步:安装JDK A下载JDK。Android SDK需要JDK5 以上的版本。JDK6的下载地址。 B安装JDK。下载完成后进行正常双击、安装,这里就不说了。。。 C配置Java环境变量 1配置Java Home。复制Java的安装路径,右键单击“我的电脑”->“属性”->“高级”—>“环境变量”中新建环境变量java_home,变量值为java安装路径。 2配置Path。右键单击“我的电脑”->“属性”->“高级”—>“环境变量”,在“系统环境变量”中编辑Path便来了个,添加Java的bin目录到其中。变量与变量中间使用分号“;”分隔。 3配置classpath。右键单击“我的电脑”->“属性”->“高级”—>“环境变量”,在“系统环境变量”中新建一个系统变量名称为“classpath”,变量值为半角句号“.” 第三步:下载Eclipse

Android智能手机软件开发概述

第1章Android智能手机软件开发概述 随着移动设备的普及,其功能越来越完善,移动设备的系统平台也日渐火热。 本章首先介绍智能手机及其操作系统平台(如Symbian、Android、Windows Mobile、IOS等),并对学习Android手机软件开发的必要性进行阐述。之后, 介绍Android平台的总体架构,并对完成Android应用程序软件开发的SDK及 其组成进行简要说明。最后,对通过Android Market发布自己应用程序的方法 进行介绍。学习本章内容时,要求重点掌握如下内容: ●了解常见的智能手机操作系统平台。 ●了解Android的总体结构及主要功能。 ●了解Dalvik虚拟机、AVD等。 ●了解Android Market及发布应用程序的方法。 1.1 智能手机及其操作系统 据中国互联网络信息中心于2011年7月19日发布的统计《中国互联网络发展统计报告》显示,2011年上半年,我国手机网民规模继续稳步扩大。截至2011年6月底,我国手机网民达3.18亿,较2010年底增加1495万人(如图1.1所示)。可以说,智能手机正在快速走进人们的生活。就目前来看,已经有越来越多的人开始把智能手机当作日常看视频、办公的首选设备。随着A9架构、双核概念的问世,智能手机能更广泛、轻松地接管生活和工作中的大小事务[1]。因此,学习和研究智能手机软件开发,具有广阔的社会需求和工程实践意义。 图1.1 手机上网网民规模 智能手机一般指像个人电脑一样具有独立操作系统,可由用户自行安装软件等第三方服务商提供的程序,并且,用户能对手机功能进行扩充。目前,全球多数手机厂商都有智能手

1 Android系统简介及开发环境的搭建

1了解Android系统 1.1 Android系统介绍 Android是Google 开发的基于Linux 平台的、开源的、智能手机操作系统。Android 包括操作系统、中间件和应用程序,由于源代码开放,Android 可被移植到不同的硬件平台上。 围绕在Google的Android 系统中,形成了移植开发和应用程序开发两个不同的开发方面。手机厂商从事移植开发工作,应用程序开发可以由任何单位和个人完成,开发的过程可以基于真实的硬件系统,还可以基于仿真器环境。 作为一个手机平台,Android 在技术上的优势主要有以下几点: ●全开放智能手机平台 ●多硬件平台的支持:应用程序可通过标准API访问核心移动设备功能。 ●使用众多的标准化技术:可以轻松的嵌入HTML、JavaScript等网络内容 ●核心技术完整,统一:应用程序是平等条件创建的,可被替换或扩展。 ●应用程序可以并行运行。Android是完整的多任务环境,在后台运行时,应用程 序可生成通知引起用户注意。 ●完善的SDK 和文档 ●完善的辅助开发工具 Android 的开发者可以在完备的开发环境中进行开发,Android 的官方网站也提供了丰富的文档、资料。这些都使得Android 系统的开发和运行在一个良好的生态环境中。 1.2 Android系统的软件结构 Android 是一个开放的软件系统,它包含了众多的源代码。从下至上,Android 系统分成4个层次: ●第1 层次:Linux 操作系统及驱动; ●第2 层次:本地代码框架,包含各种类库和运行环境; ●第3 层次:Java 框架; ●第4 层次:Java 应用程序。 Android 的第1 层次由C 语言实现,第2层次由C 和/C++实现,第3、4层次主要由Java代码实现。对于Android 应用程序的开发,主要关注第3层次和第4层次之间的接口。 Android 系统的架构如图所示:

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