搜档网
当前位置:搜档网 › ANDROID 平台移植RDA BT 芯片心得

ANDROID 平台移植RDA BT 芯片心得

ANDROID 平台移植RDA BT 芯片心得
ANDROID 平台移植RDA BT 芯片心得

ANDROID 平台移植RDA BT 芯片心得

一,架构

除了最开始的1.0版本,ANDROID后期的版本都支持了Bluetooth,协议栈采用free 的Bluez,所以添加新的蓝牙模块只需添加初始化代码即可,RDA 也采用这种方式。

二,移植包说明

此移植包是在telechips m801中整理出来的,结构如下:

在所有涉及到的文件中,添加的代码都用//Add by RDA android字样作为开始,//End by RDA android作为结束,以此为查找依据,下面逐个文件说明

init.m801.rc:

添加service hciattach

android.mk:

添加hciattach_rda5875_5870E.c等编译

hciattach.c:

添加rda bt的初始化.

struct uart_t uart[] = {

{ "any", 0x0000, 0x0000, HCI_UART_H4, 115200, 115200, FLOW_CTL, NULL, NULL },

{ "ericsson", 0x0000, 0x0000, HCI_UART_H4, 57600, 115200, FLOW_CTL, NULL, ericsson },

{ "digi", 0x0000, 0x0000, HCI_UART_H4, 9600, 115200, FLOW_CTL, NULL,

digi },

{ "bcsp", 0x0000, 0x0000, HCI_UART_BCSP, 115200, 115200, 0, NULL, bcsp },

/* Xircom PCMCIA cards: Credit Card Adapter and Real Port Adapter */

{ "xircom", 0x0105, 0x080a, HCI_UART_H4, 115200, 115200, FLOW_CTL, NULL, NULL },

//Add by RDA android ,add rda hci initial

/* RDA 587X */

{ "rda", 0x0000, 0x0000, HCI_UART_H4, 115200, 115200, 0, NULL, rda_init },

可以更改hci attach的options,如init_speed(初始化速度),运行速度speed,FLOW_CTL(是否需要流控,这个须注意,若你的主芯片UART的硬FIFO 小于480Bytes,建议你采用流控,否则有溢出的风险),rda_init是RDA 初始化的入口.

hciattach_rda5875_5870E.c:

rda bt 初始化的具体实现.

极为重要的是:这个文件里需要软件工程师根据不同平台来实现控制RDA BT芯片第16脚LDO_ON的拉高与拉低(没有Reset脚,不理),以telechips m801平台为例子来讲解:

/*此函数实现拉高LDO_DON,并延时50ms*/

void RDA_pin_to_high(int fd)

{

#if 0

RDA_BT_POWER_ON;//open LDO_ON

usleep(5000);

GPIO_SetBtReset(SCI_TRUE);//open reset

usleep(20000);

#endif

int bt_on_off = 1;

ioctl(fd, IOCTL_BT_DEV_CTRL, &bt_on_off);

}

/*此函数实现拉低LDO_DON,并延时50ms*/

void RDA_pin_to_low(int fd)

{

#if 0

RDA_BT_POWER_OFF;//shut down LDO_ON

usleep(5000);

GPIO_SetBtReset(SCI_FALSE);//shut down reset

usleep(20000);

#endif

int bt_on_off = 0;

ioctl(fd, IOCTL_BT_DEV_CTRL, &bt_on_off);

}

这里用到了ioctl(fd, IOCTL_BT_DEV_CTRL, &bt_on_off); ,其他平台的实现方式或有不同,务必具体实现!

宏说明:

此份兼容了RDA5870E/5875/5876,针对使用的芯片只允许开一个宏。

//#define __RDA_CHIP_R10_5870E__

//#define __RDA_CHIP_R11_5875__

//#define __RDA_CHIP_R11_5876__

32.768KHz时钟:此时钟是BT在休眠模式时使用的,若不用休眠模式,可不用此时钟;

此时钟只能使用有源晶体或者直接供予方式。

//#define EXTERNAL_32K

需要注意的是:

__u32 RDA5872P_PSKEY_MISC[][2] =

{

{0x80000070,0x00006058}, //这条修改为0x00006008吧

#ifdef EXTERNAL_32K

{0x80000074,0xa5025010},

#else

{0x80000074,0x05025010},//0x05025010 for no sleep ; 0xa5025010 for sleep #endif

{0x80000084,0x9098C007},

{0x800000a0,0x00000000},

{0x800000a4,0x00000000},

{0x800000a8,0x0bbfbf30},//min power level

{0x80000044,0x11223344},

{0x80000048,0x00005566},

//{0x80000040,0x07023000},//PSKEY: modify flag

{0x80000040,0x070230006},//PSKEY: modify flag

};

红色字体代表BT address is : 0x55 66 11 22 33 44

量产的时候,可以参照此方法为每台蓝牙设备分配不同的地址

Kernel\目录下:

Kconfig:

Makefile:

tcc_bt_dev.c:

tcc_serial.c

这几个文件都是为ioctl(fd, IOCTL_BT_DEV_CTRL, &bt_on_off); 服务的,即具体实现LDO_ON 的拉高拉低,在此不详述。

Bluetooth.c

此处,只提供打印LOG信息。

三,调试基本步骤

1.确认硬件连接:UART_TX,UART_RX是否接反,VABT是否供电,26m时钟是否供给,

32K时钟是否供给(可不用);

2.进入hciattach所在目录: 输入hciattach -s 115200 /dev/tcc-uart1 rda 921600 (tcc-uart1

取决于你所使用的uart设备名),若这步成功,就可以进行hciconfig了.若不成功,按照以下方法进行排查:用示波器查看LDO_ON时序是否被程序所控制到,正常的上电时序应该如下:

若是UART_RX发不出数据,则要检查UART是否配置对,android本身自带UART驱动,一般不会出问题。

3.Hciconfig: 以上完成后,就可以用hciconfig 进行扫描,配对等系列操作了。

四,总结

此文档为个人移植心得,若有不当之处,请指正,共同进步。

android系统开发工作介绍

android系统开发工作介绍 一、android的开发工作 Android的开发分为三个类型:移植开发移动设备系统;android系统级开发和应用程序开发。 1、移植开发移动设备系统 2、Android系统级开发,指的是扩展android的框架或者是修改bug,这方面比较少,除非有些开发移动设备的厂商,比如做gps,可以往里面加入一些自己的特定系统东西,这可能导致一些不兼容。当然也可能是简单的修复bug,详细的内容后面还有说。 3、开发应用程序,这应该是比较主流的开发,也就是给android系统写应用程序。当然我们这里主要是研究android的framework如何给这些应用程序提供服务的。 总结一下,我们可以把android分为四个层次,从底层往上依次为:linux内核、C/C++库、java 框架和java应用程序。移植开发移动设备涉及到linux内核(包括其驱动);android系统级开发涉及到C/C++库的开发及给上层java框架;android应用程序开发就是调用java的框架写应用程序。 简单的从上到下,android应用程序需要有java框架支持,比如它要发送短信,就需要java 框架,java框架其实就是将C/C++库包装成为了一个JNI,而实现具体的功能是C/C++库,最后驱动硬件完成功能,这也就是linux内核部分。 所谓framework,也就是系统级开发,这将是本文的重点,虽然android的framework 开发比较少,但是对其了解后更有利于整体开发的进行,当然很多设备厂商还是非常需这要些的。 二、android系统架构

Linux内核及驱动、C/C++框架、java框架、java应用程序。 1)、Linux内核及驱动 其中linux内核及驱动是内核层的(本人对linux内核也有过痴迷的时候,就像现在android 痴迷一样),系统总是需要操作系统的支持的,比如内存管理、进程管网理、络协议栈等。 2)、android的C/C++框架 系统C库:用的是libc,没什么好说的,C程序员都知道。多媒体库SurFace Manager:显示子系统的管理器LibWebCore:web浏览器引擎,支持android浏览器SGL:skia图形库,底层的2D图形引擎 3D库:OpenGL FreeType:字体显示Android的运行环境,这个也应该属于这个框架里面的,android的虚拟机叫做Dalvik,运行环境就是由这个虚拟机和基础的java类库组成。 3)、android应用框架 提供一系列的服务和系统,包括视图、内容提供器、资源管理器、通知管理器活、动管理器。 视图非常丰富:list、grid、text box、button等。内容提供器是使得应用程序可以访问另一个程序的数据。资源管理器是提供访问非代码的资源访问,如布局文件。通知管理器,使得程序可以在状态栏中显示自定义的提示信息。活动管理器,用来管理程序生命周期。 4)、android应用程序Android所有的应用程序都是用java写的,当然现在好像也支持一些脚本语言,如 ruby,但是不支持C开发,所谓支持C开发是指jni的形式。 。。。。。。。。。

安卓课程设计心得体会范文

安卓课程设计心得体会范文 安卓课程设计心得体会范文 两个星期的时间非常快就过去了,这两个星期不敢说自己有多 大的进步,获得了多少知识,但起码是了解了项目开发的部分过程。虽说上过数据库上过管理信息系统等相关的课程,但是没有亲身经历过相关的设计工作细节。这次实习证实提供了一个很好的机会。 通过这次课程设计发现这其中需要的很多知识我们没有接触过,去图书馆查资料的时候发现我们前边所学到的仅仅是皮毛,还有很多需要我们掌握的东西我们根本不知道。同时也发现有很多已经学过的东西我们没有理解到位,不能灵活运用于实际,不能很好的用来解决问题,这就需要我们不断的大量的实践,通过不断的自学,不断地发现问题,思考问题,进而解决问题。在这个过程中我们将深刻理解所学知识,同时也可以学到不少很实用的东西。 从各种文档的阅读到开始的需求分析、概念结构设计、逻辑结 构设计、物理结构设计。亲身体验了一回系统的设计开发过程。很多东西书上写的很清楚,貌似看着也很简单,思路非常清晰。但真正需要自己想办法去设计一个系统的时候才发现其中的难度。经常做到后面突然就发现自己一开始的设计有问题,然后又回去翻工,在各种反复中不断完善自己的想法。

我想有这样的问题不止我一个,事后想想是一开始着手做的时 候下手过于轻快,或者说是根本不了解自己要做的这个系统是给谁用的。因为没有事先做过仔细的用户调查,不知道整个业务的流程,也不知道用户需要什么功能就忙着开发,这是作为设计开发人员需要特别警惕避免的,不然会给后来的工作带来很大的麻烦,甚至可能会需要全盘推倒重来。所以以后的课程设计要特别注意这一块的设计。 按照要求,我们做的是机票预订系统。说实话,我对这个是一 无所知的,没有订过机票,也不知道航空公司是怎么一个流程。盲目开始设计的下场我已经尝过了,结果就是出来一个四不像的设计方案,没有什么实际用处。没有前期的调查,仅从指导书上那几条要求着手是不够的。 在需求分析过程中,我们通过上网查资料,去图书馆查阅相关 资料,结合我们的生活经验,根据可行性研究的结果和客户的要求,分析现有情况及问题,采用ClientServer结构,将机票预定系统划 分为两个子系统:客户端子系统,服务器端子系统。在两周的时间里,不断地对程序及各模块进行修改、编译、调试、运行,其间遇到很多问题:由于忘记了一些java语言的规范使得在调试过程中一些错误 没有发现,通过这次课程设计,我对调试掌握得更加熟练了,意识到了程序语言的规范性以及我们在编程时要有严谨的态度,同时在写程

安卓实训报告总结

安卓实训报告总结 不知不觉中为期三周的实训已经接近尾声。虽然时间很短,不过我确实学到了一些我觉得有用的东西,并且是平时上课学不到的东西。三周的实训,时间很短,确实很短。原本刚开始,乃至之前听说有为期三周的实训的时候,都觉得,这样的实训不过就是走过场罢了,只有三周的时间,能学到什么东西呢?所以一开始也没当回事。 就这样,带着这样的心态,开始了实训。因为第一天周一上午没有课,下午,才算是正式开始了三周的实训。一开始听老师讲课的时候,感觉很舒服啊,噼里啪啦一讲一堆,不过我就喜欢这样的,听着爽埃平时老师上课的时候都是讲一句顿一顿,或者一句话反复琢磨半天,这样的话,虽然老师的出发点是好的,是为了让学生更容易理解,但这样的话,教学的整体进度就下来了。而且就算是一个知识点反复讲,也不见得能就精通了这个东西,或者说对这个有多么理解。反而容易让学生产生一种懈怠的情绪。 而这样一开始,老师就给我一种耳目一新的感觉:这老师上课带劲啊!不过也就仅此而已了。老师花了一下午的时间着重介绍了老师所在的公司,以及我们接下来三周的实训计划。接下来一周实训之后,这个实训在老师的刻意营造下,尽量模仿公司的氛围。而让我感受最受的就是:凭事实说话。就是无论要下什么结论的时候,都要拿得出能够说服人的数

据。 这是我在第一周中感受最深的一件事。也是我学到的第一件事。说话下结论要有真凭实据。 在这一周中,老师着重讲了如何进行系统构架。因为之前也跟老师做过项目,所以对进行系统构架的理解要稍微深入些,对其重要性的了解也要多一些。这样,在老师的讲解下,再和我以前的理解相互验证,感觉就像武功高手,在前辈的点拨下顿悟了一样。 这就是我学到的第二件事,是在专业技能方面的收获。 然后在接下来的一周中,这样的学习中老师让我们每组一个白板,然后把每天的任务完成情况着实记录。这样,不同的组之间要对比;同组,不同的组员之间对比;自己今天和昨天的对比。无形中产生了一种强大的推理,推动我们前进。 这是我学习到的第三件事:没有动力,就学会寻找动力,而比较,是最有效的激励。 在第二周结束的时候,我们用来结束实训的一个项目就正式开始了。这个项目的时间很短,三天,如果算上上周末的时间的话,那就是五天,但前一周的时间确实没有有效的利用起来。那么这样只好算三天了。在这次项目中,我没有一个人大包大揽,一个人把项目扛下来。因为之前跟老师做过项目,并且我也是小组负责人,虽然作为这个小组负责人,我做的很不好,但有这样的一次经历之后,我知道我哪里做

安卓Android ROM定制、移植:第六篇:boot.img、recovery解包和打包

太抱歉了,因为教程实在是有点粗浅了,其实很多东西都不知道怎么去写,这不是复制粘贴,当然很多只是一步步的走的,不过也许我自己觉得已经阐述的很清楚了,可是一旦别人看起来,还是感觉很深奥,没办法,本人就这点能力了,呵呵! 大家都知道安卓的核心更换呢,那是在boot.img里面,那么如何在WINDOWS下去解开它呢,LINUX的自己略过。。。。 首先百度BOOTIMG.EXE,然后你懂的,会出来一大堆,这得感谢制作bootimg.exe的作者,本来是为华为的机器做的分解工具,不过我们也可以拿来分解boot.img、recovery.img等,OK!先来谈谈这两个文件的基础,部分来自网络。 boot和recovery映像的文件结构 boot和recovery映像并不是一个完整的文件系统,它们是一种android自定义的文件格式,该格式包括了2K的文件头,后面紧跟着是用gzip压缩过的内核,再后面是一个ramdisk 内存盘,然后紧跟着第二阶段的载入器程序(这个载入器程序是可选的,在某些映像中或许没有这部分)。此类文件的定义可以从源代码android-src/system/core/mkbootimg找到一个叫做bootimg.h的文件。 (译者的话,原文是一个叫做mkbootimg.h的文件,但从Android 2.1的代码来看,该文件名应该是改为bootimg.h了)。 /* ** +-----------------+ ** | boot header | 1 page ** +-----------------+ ** | kernel | n pages ** +-----------------+ ** | ramdisk | m pages ** +-----------------+ ** | second stage | o pages ** +-----------------+

Android课程设计报告材料

河南城建学院 课程设计报告书 专业:计算机科学与技术 课程设计名称:《Java高级应用》 题目:基于Android平台的记事本软件 班级:0814131班 学号:081413107 设计者:付明玉 同组人员: 李志军、翟帅星 指导老师:张妍琰景伟娜陈红军 完成时间:2016年06月04

一、设计目的 (2) 1.1设计目的 (2) 1.2设计要求 (2) 二、需求分析 (2) 2.1需求分析 (2) 2.2软件逻辑 (3) 2.2.1软件逻辑图 (3) 2.2.2功能模块图 (4) 2.3 数据存储实现 (5) 三、模块分析及设计 (6) 3.1首页面 (6) 3.2主菜单 (7) 3.3 查看模块 (8) 3.4添加记录 (10) 3.5 垃圾箱 (10) 3.6 设置页面 (11) 3.7 日历页面 (12) 四、制作过程及要点 (12) 五、设计总结 (13) 六、参考资料 (15)

一、设计目的 1.1设计目的 《Java高级应用》课程设计是我们实践性学习环节之一,通过课程设计:(1)、巩固本学期所学的理论知识,熟悉androidstutio 工具及相关java组件的灵活应用。(2)、编制出完整的应用程序,锻炼我们的分析解决实际问题的能力,为以后完成大型项目的开发打下基础。(3)、把理论与实验课所学内容做一个综合,并在此基础上强化我们的实践意识、提高实际动手能力和创新能力。 1.2设计要求 设计一款基于Android平台的记事本软件。 功能要求:具有记事本的基本功能,可以实现记录,批量处理。具备在线备份和分享功能。在线备份能备份各种编辑中或者编辑完成的文章。 二、需求分析 2.1需求分析 (1)用户进入系统后可以设置个人信息:设置页面颜色、姓名、电话、及锁定密码,设置标记; (2)查看记录:查看以前的记录;

安卓实训总结报告

安卓实训总结报告 安卓实训的总结与体会【1】 不知不觉中为期三周的实训已经接近尾声。 虽然时间很短,不过我确实学到了一些我觉得有用的东西,并且是平时上课学不到的东西。 三周的实训,时间很短,确实很短。 原本刚开始,乃至之前听说有为期三周的实训的时候,都觉得,这样的实训不过就是走过场罢了,只有三周的时间,能学到什么东西呢?所以一开始也没当回事。 就这样,带着这样的心态,开始了实训。 安卓实训。 因为第一天周一上午没有课,下午,才算是正式开始了三周的实训。 一开始听老师讲课的时候,感觉很舒服啊,噼里啪啦一讲一堆,不过我就喜欢这样的,听着爽啊。 平时老师上课的时候都是讲一句顿一顿,或者一句话反复琢磨半天,这样的话,虽然老师的出发点是好的,是为了让学生更容易理解,但这样的话,教学的整体进度就下来了。 而且就算是一个知识点反复讲,也不见得能就精通了这个东西,或者说对这个有多么理解。 反而容易让学生产生一种懈怠的情绪。 一、第一件事:说话做事要有真凭实据

而这样一开始,老师就给我一种耳目一新的感觉:这老师上课带劲啊!不过也就仅此而已了。 老师花了一下午的时间着重介绍了老师所在的公司,以及我们接下来三周的实训计划。 接下来一周实训之后,这个实训在老师的刻意营造下,尽量模仿公司的氛围。 而让我感受最受的就是:凭事实说话。 就是无论要下什么结论的时候,都要拿得出能够说服人的数据。 这是我在第一周中感受最深的一件事。 也是我学到的第一件事。 说话下结论要有真凭实据。 二、第二件事:专业技术的不断学习 在这一周中,老师着重讲了如何进行系统构架。 因为之前也跟老师做过项目,所以对进行系统构架的理解要稍微深入些,对其重要性的了解也要多一些。 这样,在老师的讲解下,再和我以前的理解相互验证,感觉就像武功高手,在前辈的点拨下顿悟了一样。 这就是我学到的第二件事,是在专业技能方面的收获。 三、第三件事:学会寻找动力 然后在接下来的一周中,这样的学习中老师让我们每组一个白板,然后把每天的任务完成情况着实记录。

S3C6410 移植Android 内核移植经验

主要过程: . 安装lunux 环境 . 安装编译工具 . 下载Linux kernel . 安装Android SDK . 获得root file system . 修改Linux kernel 源码 . 配置Linux kernel . 修改root file system . 编译Linux kernel . 下载kernel Image 1.安装linux 环境 安装Ubuntu Linux 系统,从网站上下载操作系统安装光盘映像,地址: https://www.sodocs.net/doc/7d6363369.html,/ubuntu/releases/8.04/ 下载ubuntu-8.04.2-desktop-i386.iso,刻录成光盘安装,安装可以在windows 系统下进行, 选取有15G 空间的硬盘安装,输入用户密码开始安装 这一步结束退出光盘重启进入Ubuntu 系统,完成余下系统安装。 Linux 安装完成,进入Ubuntu 系统,确保电脑连接Internet,安装一些必要软件。 打开终端输入命令框,进行下面的操作: $ sudo apt-get install ssh $ sudo apt-get install flex bison gperf libsdl-dev libesd0-dev libwxgtk2.6-dev build-essential zip curl

$ sudo apt-get install valgrind $ sudo apt-get install sun-java6-jdk $ sudo apt-get install libncurses5-dev 所有软件系统会自动从网络下载安装,完成后可以开始Android 的移植。 2.安装编译工具 下载: $ wget https://www.sodocs.net/doc/7d6363369.html,/public/gnu_toolchain/arm-none-linux-gnuea bi/arm-2008q1-126-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2 安装: $ tar -xjvf arm-2008q1-126-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2 3.下载Linux kernel 从下面地址获得: https://www.sodocs.net/doc/7d6363369.html,/p/android/downloads/list?can=1&q=&colspec=File name Summary Uploaded Size DownloadCount Kernel : linux-2.6.23-android-m5-rc14.tar.gz 解压文件 $ tar -xf linux-2.6.23-android-m5-rc14.tar.gz 4.安装Android SDK 从网上下载linux 版本的Android SDK,如下 https://www.sodocs.net/doc/7d6363369.html,/android/android-sdk_m5-rc15_linux-x86.zip 下载后解压,获得android-sdk_m5-rc15_linux-x86 文件 5.获得root file system ⑴下载busybox 工具从下面地址 http://benno.id.au/blog/2007/11/14/android-busybox(linux 环境中下载)⑵运行emulator 获取root file system $ cd <目录>/ android-sdk_m5-rc15_linux-x86/tools $ ./emulator& 等待emulator 启动,看到出现Android 系统画面,进入菜单ALL/Dev Tools/Development Settings 下,将Wait for debugger,Show running processes,Show screen updates 这三项打勾,回到命令输入终端。 $ ./adb push /busybox /data $ ./adb shell # /data/busybox tar -czf system.tar.gz /system # /data/busybox tar -czf data.tar.gz /data # /data/busybox tar -czf etc.tar.gz /etc # /data/busybox tar -czf sbin.tar.gz /sbin # exit $ ./adb pull /system.tar.gz ./ $ ./adb pull /data.tar.gz ./

学习android的心得体会

学习android的心得体会 【篇一:android实训心得体会】 项目总结 时间过的好快,为期三个月的实训生活即将结束了,每一次的实训我们都受益匪浅,我 们学到的不仅仅是课内还有课外,实训让我们的课内知识得到了巩固,专业知识、编程水平 都有很大的提高,我们非常感谢这次实训。刚开始二周的高强度的课程安排让我们受益匪浅;接下来的项目实训又让我们可以巩固 了课程。这让我觉得实习生活充实而有意义。乐淘购物项目和android优化大师,我更好的学习了ui的设计,如何使界面漂亮,美观, 巩固了listview,gridview,的使用,学会了动画进入界面的,和会移动的画廊等等。在这 两个项目中,除了让我明白工作中需要能力,素质,知识之外,更重要的是学会了如何去完 成一个任务,懂得了享受工作。当遇到问题,冷静,想办法一点一点的排除障碍,到最后获 取成功,一种自信心由然而生,这就是工作的乐趣。有时候也需要虚心请教,从别人的身上 真得能学习到不自己没有的东西,每一次的挫折只能使我更接近成功。音乐播放器项目,我们是七个人组成小组完成的,由组长带领我们,分配任务,每个人, 都发挥自己的长处,更好地去完成任务。对于团队开发来说,团结一致使我深有体会。团队 的合作注重沟通和信任,不能不屑于做小事,永远都要保持亲和诚信,把专业理论运用到具 体实践中,不仅加深我对理论的掌握和运用,还让我拥有了一次又一次难忘的开发经历,这是也是实训最大的收获。这次实训对于我以后学习、找工作也真是受益菲浅,在这3个月中让我初步从理性回到 感性的重新认识,也让我初步的认识这个社会,对于以后做人所应把握的方向也有所启发!

安卓实验报告

安卓实验报告 班级:xxxxx 学号: 姓名:xxxx 实验一:Activity生命周期的测试

一:实验目的 掌握使用Eclipse开发Android应用开发程序的方法; 掌握Android虚拟设备的创建方法; 了解Android的程序结构; 了解使用命令行创建Android程序方法; 了解Activity生命周期,理解Activity事件回调,onRestoreInstanceState()和onSaveInstanceState两个函数的使用。 二:实验设备 Eclipse 开发Android 应用 Android虚拟设备( AVD) 三:实验内容 (1)正常启动ActivityLife,然后单击用户界面的“结束程序”按钮关闭程序。 (2)正常启动ACtivityLife,然后通过“拨号键”启动内置的拨号程序,再通过“回退建”退出拨号程序,使ActivityLife重新显示在屏幕中。 四:实验核心代码 package class MainActivity extends Activity { private static String TAG="LIFECYCLE"; @Override protected void onCreate(Bundle savedInstanceState) { (savedInstanceState); setContentView (TAG,"(1) onCreate()"); Button button =(Button) findViewById (new OnClickListener() { public void onClick(View view) { oString().trim(); String str1 = ().toString().trim(); ("姓名:"+str); ("爱好:"+str1); if (arg1 == ("性别:"+"男"); else if (arg1 == ("性别:"+"女"); } }); } }); } } 五:运行结果截图:

【IT专家】yolo模型移植到android手机端

本文由我司收集整编,推荐下载,如有疑问,请与我司联系 yolo模型移植到android手机端 2017/08/18 665 之前写了android demo在手机上的运用,但是模型都是官方给的,想要替换成自己的模型,因此尝试了下将自己训练的yolo模型来替换demo给的模型。首先,darknet的训练和.weight文件到.pb文件的转化,以及android demo 的实现见之前的博客。在此不再叙述sdk,nkd等配置问题,且直接使用.pb文件。其次,默认已安装android studio。 (1)终端进入(android安装目录)/bin,输入./stuodio.sh开启android studio ?(2)点击new,import project导入(tensorflow所在路径)/tensorflow/examples/android文件夹(可连接手机先run,保证demo能够正常运行后再行修改) ?(3)将build.gradle中68行的bazelLocation改为自己bazel的路径:def bazelLocation = ‘/home/seven/bin/bazel’185行apply from: “download-models.gradle”注释掉,并在第112行,增加//*/(不然后面的内容都被当做注释了): ?if (nativeBuildSystem == ‘bazel’ || nativeBuildSystem == ‘makefile’) { // TensorFlow Java API sources. java { srcDir ‘../../java/src/main/java’ exclude ‘**/examples/**’//*/ } // Android TensorFlow wrappers, etc. java { 最后,将第76行开始的内容改为自己需要的版本号: android { compileSdkVersion 25 buildToolsVersion “26.0.1” if (nativeBuildSystem == ‘cmake’) { defaultConfig { applicationId = ‘org.tensorflow.demo’ minSdkVersion 21 targetSdkVersion 25 ndk { abiFilters “${cpuType}” } (4)将转化得到的.pb文件放在(tensorflow所在路径)/tensorflow/examples/android/assets文件夹内,为方便起见,可将此.pb重命名为graph-tiny-yolo-voc.pb。若文件夹中已存在此文件名的文件,删除之。 ?(5)该项目将一次性生成三个app,因为我只需要detect一个,在AndroidManifest.xml中删除关于另外的两个activity,修改后的文件如图 ?

Android实训心得

Android实训心得 刚开始接触Android感觉到它很有意思,在界面开发上和web也可以形成了相通 的架构,更加方便,视觉上也是非常的酷,在前期我通过的大量的Android SDK开发 范例大全中的例子以及Android提供的APIDEMOS进行学习,尽管例子之间的连接比 较零散,不过通过这些例子的学习我可以学习到了很多和以前java上相通的思想。 我在为期半个月的实习中学到了很多在课堂上根本就学不到的知识,收益非浅.现在我对这半个月的实习做一个工作小结。 通过半个月的android实习,基本掌握了Android应用程序开发的一般流程。对常用控件基本掌握其用法,对其事件的监听方法也基本掌握。学习Android不仅是对前 沿开发技术的了解,也是对编程知识的一次提升。 通过学习Android的控件、布局、Activity、Service等一系列基础知识,对整个Android的开发有了大致的了解。例如要的布局(或者控件) ,在学习界面中,我发现Android为我们提供了很好的类似反射机制,通过Layout文件夹下的配置文件,可以 快速的形成界面,在配置文件可以设置属性或者样式都是很快捷方便。对比较特殊的 界面也可以通过处理嵌入到指定的界面,同样你可以通过java代码直接创建View进 行添加,不过这种方式比较复杂。对一些点击、选中、按键等处理的事件,界面之间 的跳转Intent管理,通过Bundle对数据在界面之间进行传输。 在手机交互式通信服务中,学习了Android手机之间进行短信发送、广播、对广 播的监听、服务等,在Service类中没有context,可以通过Handler来每秒反复运行,自动送出系统广播信息,同时在这里我们也知道可以设计一个常用的变量类,设计一 个当前的CurrentActivity这个变量进行控制,进行处理。 在Android编程过程中巩固熟悉了Java的编程。由于Android应用程序的开发离 不开Java的支持,所以基础的Java知识是必须的。Android系统是基于Linux的手机操作系统平台,要深入系统的学习Android,不仅仅是有Java和Android应用开发, 必须要具备Linux,CC++高级编程才能深入的涉及Android Framework和Android内 核开发。成为Android开发的高素质人才。所以,在后续对Android的学习中可能会看一些较底层的书籍。

Android实验一实验报告

Android实验报告一 姓名:丁军峰 班级:信科12-3 学号:08123448

一、实验内容 编写一个Android应用程序,实现对自己物品的管理,功能包括添加、删除和查询等 二、实验目的 了解android开发流程,掌握SQLite数据库和ListView控件的使用三、需求分析 使用SQLite数据库,使用ListView控件显示物品 四、实验过程 1.创建程序,设计用户交互界面

Android_ROM制作移植及精简教程

Android_ROM制作,精简及移植教程 本教程主要内容有:Android系统文件夹结构解析、应用软件说明、定制精简、ROM签名把包等内容。刷机有风险,出问题自负。其实这个教程一早就想写的,但由于时间及本人的懒惰,一直拖着。今晚终于静下心来写好本文,本文有部份内容来自于网络。 速度与华丽,你喜欢那个。是不是想要一个又够速度又华丽的ROM呢?我是一个追求新鲜的人,对于手机的ROM,我又追求稳定、精简、美观、省电。现在Hero ROM有很多,最新的有第三方Android 2.1版本,但这些ROM的制作者都会跟据自已的个人喜欢会增加和增少相应的功能或是界面,但我们往往不喜欢这些ROM的某些小方面,所以随着而来面对的问题就是怎样把这个ROM修改成为一个自已真正需要的ROM呢?以往一直是依靠“大杀器”来解决,但觉得还是过于麻烦,所以寻求办法自己动手修改ROM。于是有了本文。废话少说,进入题。 一、Android系统文件夹结构 一个完整的ROM根目录会有以下几个文件夹及文件: data META-IN system boot.img 系统目录说明 1. 应用程序安装目录 1) 系统应用程序所在目录 /system/app/*.apk 2)用户安装应用程序所在目录 /data/app/*.apk 3) 注意: a)在模拟器中,每重启一次,/system/app/下的应用都会被还原,有时/data/app下也会被清除 b)若在/system/app和/data/app下有重名的应用,不一定会启动哪一个,尤其是在adb install杀死正在运行的程序时,有时旧的就会被启动 2.用户数据所在目录 /data/data/应用包名/shared_prefs 配置文件 /data/data/应用包名/databases/* 库文件所在目录 3. SD卡对应目录 /sdcard/

android项目实训心得体会

android项目实训心得体会 时间总是在不经意间悄然离去,在这短短的10天实训里,让我学会了很多课堂中学不到的东西。虽然只有10天,但让我感觉到无比的充实,让我懂得了学习的意义,时间的宝贵,认真负责的生活态度。明白了做一件事不肯能是一帆风顺,没有困难就没有进步,勇敢和坚持将会带领我们走向成功的驿站。也许这只是一次很小的成功,也会让我感到欣慰,因为我成功了。简单的去做好一件小事,铸就未来巨大的成功。 在这次实训中和队友一起完成一个项目,从开始的无从下手,到初见雏形,再到基本完善。这一幕幕的画面,让人无不对自己所做的标示认可与自豪。在那一行行代码间,流露出来的不只是大家对它付出的汗水,还有那份执着的心。 那天,我们吃着泡面坐着火车和地铁以及公交,不远千万厘米来到这环境清幽,绿化十足的圣地。实训基地虽有些简单,但宽敞明亮的场所让我们不由喜欢。在实训中,回味了曾经的对安卓的“味道”,又对新配方得产生了兴趣。安卓这道菜,想想都醉了。这次实训项目我们做的是个关于点餐类的APP。起初,强大的功能让我们这群菜鸟无从下嘴。但在我们这群崛起的码农面前,这次都不是问题。经过我们七嘴八舌的商讨下,最终确立了需求。需求就像我们人生的航标一样,有了它,我们的开发才有方向,不然都是无用的。每天我们制定开发计划,一小步一小步的走,一行一行慢慢的写。看着一个个小小功能的实现与完善,我们都对他竖起大拇指。

相信队友,这是我在此次实训中悟出来的一点体会。也许他平 日里不怎么优秀;也许他对开发不怎么会;也许他有一些懒惰。但我们都要相信他可以的。作为团队开发类项目,我们不能一个人什么都做完,这样其他人体会不到团队价值,这不利于项目的团队开发。我们要让每个人都有事做,并且要做好。 在这次实训中,我主要学到很多关于安卓界面布局的一些基础 知识。还有关于选项卡以及适配器和SQLite的一些简单操作。在此 次实训中,最主要的是让我的懂得了学习的意义和态度。当自己全身心投入代码的世界中时,时间似乎是静止的。当老师笑着说:“吃饭了…..”。才发现一上午就没了。这种忘我的学习态度,让人倍感兴奋。 此次实训,让我受益匪浅。在今后的工作和学习中用积极主动 的态度去对待,那将是一件美妙的事情。做一个迎难而上的自己,不断完善自己,突破自己。最后感谢在这次实训中无私的照顾我们的老师们,谢谢你们。 时间飞快,转眼毕设实训已经结束,我们也完成了所选的项目 任务。从实训开始到现在,经历了三个多月的时间,在这段时间里,我们着手安卓应用程序开发,刚开始接触Android感觉到它很有意思,在界面开发上和web也可以形成了相通的架构,更加方便,视觉上也是非常的酷,在前期我通过的大量的Android SDK开发范例大全中的例子以及Android提供的APIDEMOS进行学习,尽管例子之间的连接 比较零散,不过通过这些例子的学习我可以学习到了很多和以前java

安卓实训总结报告

安卓实训总结报告 就这样,带着这样的心态,开始了实训。 安卓实训。 因为第一天周一上午没有课,下午,才算是正式开始了三周的实训。 一开始听老师讲课的时候,感觉很舒服啊,噼里啪啦一讲一堆,不过我就喜欢这样的,听着爽啊。 平时老师上课的时候都是讲一句顿一顿,或者一句话反复琢磨半天,这样的话,虽然老师的出发点是好的,是为了让学生更容易理解,但这样的话,教学的整体进度就下来了。 而且就算是一个知识点反复讲,也不见得能就精通了这个东西,或者说对这个有多么理解。 反而容易让学生产生一种懈怠的情绪。 一、第一件事:说话做事要有真凭实据 而这样一开始,老师就给我一种耳目一新的感觉:这老师上课带劲啊!不过也就仅此而已了。 老师花了一下午的时间着重介绍了老师所在的公司,以及我们接下来三周的实训计划。 接下来一周实训之后,这个实训在老师的刻意营造下,尽量模仿公司的氛围。 而让我感受最受的就是:凭事实说话。

就是无论要下什么结论的时候,都要拿得出能够说服人的数据。 这是我在第一周中感受最深的一件事。 也是我学到的第一件事。 说话下结论要有真凭实据。 二、第二件事:专业技术的不断学习 在这一周中,老师着重讲了如何进行系统构架。 因为之前也跟老师做过项目,所以对进行系统构架的理解要稍微深入些,对其重要性的了解也要多一些。 这样,在老师的讲解下,再和我以前的理解相互验证,感觉就像武功高手,在前辈的点拨下顿悟了一样。 这就是我学到的第二件事,是在专业技能方面的收获。 三、第三件事:学会寻找动力 然后在接下来的一周中,这样的学习中老师让我们每组一个白板,然后把每天的任务完成情况着实记录。 这样,不同的组之间要对比;同组,不同的组员之间对比;自己今天和昨天的对比。 无形中产生了一种强大的推理,推动我们前进。 这是我学习到的第三件事:没有动力,就学会寻找动力,而比较,是最有效的激励。 四、第四件事:学会尊重别人,那样你也会获得别人的尊重 在第二周结束的时候,我们用来结束实训的一个项目就正式开始了。

心得体会 关于安卓课程设计心得体会

关于安卓课程设计心得体会 关于安卓课程设计心得体会如何写?下面是xxx整理的关于安卓课程设计心得体会范文,欢迎借鉴! 关于安卓课程设计心得体会范文一 刚开始接触Android感觉到它很有意思,在界面开发上和web也可以形成了相通的架构,更加方便,视觉上也是非常的酷,在前期我通过的大量的Android SDK开发范例大全中的例子以及Android提供的APIDEMOS进行学习,尽管例子之间的连接比较零散,不过通过这些例子的学习我可以学习到了很多和以前java上相通的思想,因为Android在现在也是全新的技术和框架,在其中我也学到了如何用单例模式、工厂模式等常用的设计模式进行学习,通过API进行开发客户端,对Request发送,Response处理中通过比较方便的JSON对象传输,以及对XML、JSON、图片、业务等下载处理,对API接口调用等问题处理,学习Android心得体会。首先在界面上,我们同样可以通过不同布局进行设计非常酷的界面,这些界面可以通过include进行引入,和jsp、html也有相通的地方,同样在android上可以用到自定义的样式这和css也有比较相通的地方,我们可以通过一些公用的方法写个BaseActivity这个基类,通过继承方式比较不错的实现了Activity的界面,因为这样你可以Header(头部)和Footer(尾部)进行处

理一些触发事件或者特效等,心得体会《学习Android心得体会》。布局模式以相对模式为主,线线布局模式可以在比较简单的include 进行完成,最重要的一点就是:我们可以自己通过重写方法或者通过实现View或者Layout等类进行扩充项目需要的布局(或者控件),在学习界面中,我发现Android为我们提供了很好的类似反射机制,通过Layout文件夹下的配置文件,可以快速的形成界面,在配置文件可以设置属性或者样式都是很快捷方便。对比较特殊的界面也可以通过处理嵌入到指定的界面,同样你可以通过java代码直接创建View进行添加,不过这种方式比较复杂。对一些点击、选中、按键等处理的事件,界面之间的跳转Intent管理,通过Bundle对数据在界面之间进行传输。其次在手机交互式通信服务中,学习了Android手机之间进行短信发送、广播、对广播的监听、服务等,在Service类中没有context,可以通过Handler来每秒反复运行,自动送出系统广播信息,同时在这里我们也知道可以设计一个常用的变量类,设计一个当前的CurrentActivity这个变量进行控制,进行处理。 关于安卓课程设计心得体会范文二 两个星期的时间非常快就过去了,这两个星期不敢说自己有多大的进步,获得了多少知识,但起码是了解了项目开发的部分过程。虽说上过数据库上过管理信息系统等相关的课程,但是没有亲身经历过相关的设计工作细节。这次实习证实提供了一个很好的机会。

Android程序开发实验报告

山西大学 物理电子工程学院 论文题目:基于Android系统的GPS 程序开发 学号:* 姓名:* * * 指导老师:* *

摘要 在日常生活中,我们经常需要知道自己的具体位置,尤其是在 旅游或陌生城市中。而手机作为目前最常见、最方便的电子信息载体,无疑是我们最好的选择。为了让智能手机用户能够随时随地查询GPS 所提供的服务,一种高效的办法就是将应用系统的功能拓展到手机终端上。本文选择的是最常见的Android系统的程序开发。对于软件从业人员来说,该平台具有无限的吸引力。 因此,本文首先介绍安卓系统在个人计算机上开发平台的搭建,并尝试在安卓系统上开发一款基于手机自带GPS组件的GPS应用。 关键字:Android,GPS,SDK,JDK,ADT,Eclipse 一引言 (一)开发背景 随着网络世界的深入生活,地球网络化已经是一条必然之路。而今后的网络也将逐渐的走向移动互联网的轨道。像手机,平板计算机,笔记本计算机等可以搭乘移动互联网的产品中使用人数最多的数码产品便是智能手机了。它已经在逐步的取代其他的电子产品的市场份额。据《2013-2017年中国智能手机行业市场需求预测与投资战略规划分析报告》估算,2012前三季度,全球智能手机用户总数已经突破了10亿大关。而2011前三季度的用户量只有约7亿户。可以看出,智能手机市场的潜力不可估量。

(二)Android 与GPS 简介 1.Android 是一种基于Linux 的自由及开放源代码的操作系统,主要使用于移动设 备,如智能手机和平板计算机,由Google 公 司和开放手机联盟领导及开发。 2011年第一季度,Android 在全球的市场份额首次超过塞班系统,跃居全球第一。 2012年11月数据显示,Android 占据全球智能手机操作系统市场76%的份额,中国市场占有率为90%。 Android 的系统架构和其操作系统一 样,采用了分层的架构。从架构图看, Android 分为四个层,从高层到低层分别是应用程序层、应用程序框架层、系统运 行库层和Linux 内核层。 Android 系统所具有的特点有:开放性、丰富的硬件、方便开发。 2.GPS 是英文Global Positioning System (全球定位系统) 的简称。GPS 起始于1958年美国军方的一个项目, 1964年投入使用。GPS 定位的基本原理是根据高速运动的卫星瞬间位置作为已知的起算数据,采用空间距离后方交会的方法,确定待测点的位置。GPS 由空间部分、地面控制系统、用户设备部分三部分组成。作为先进的测量手段和新的生产力,GPS 已经融入了国民经济建设、国防建设和社会发展的各个应用领域。GPS 技术与我们的日常生活日益相关。

安卓实训心得体会

第一篇、android实训心得 安卓实训心得体会 项目总结 时间过的好快,为期三个月的实训生活即将结束了,每一次的实训我们都受益匪浅,我们学到的不仅仅是课内还有课外,实训让我们的课内知识得到了巩固,专业知识、编程水平都有很大的提高,我们非常感谢这次实训。 刚开始二周的高强度的课程安排让我们受益匪浅;接下来的项目实训又让我们可以巩固了课程。这让我觉得实习生活充实而有意义。 乐淘购物项目和android优化大师,我更好的学习了UI的设计,如何使界面漂亮,美观,巩固了listview,gridview,的使用,学会了动画进入界面的,和会移动的画廊等等。在这两个项目中,除了让我明白工作中需要能力,素质,知识之外,更重要的是学会了如何去完成一个任务,懂得了享受工作。当遇到问题,冷静,想办法一点一点的排除障碍,到最后获取成功,一种自信心由然而生,这就是工作的乐趣。有时候也需要虚心请教,从别人的身上真得能学习到不自己没有的东西,每一次的挫折只能使我更接近成功。

音乐播放器项目,我们是七个人组成小组完成的,由组长带领我们,分配任务,每个人,都发挥自己的长处,更好地去完成任务。对于团队开发来说,团结一致使我深有体会。团队的合作注重沟通和信任,不能不屑于做小事,永远都要保持亲和诚信,把专业理论运用到具体实践中,不仅加深我对理论的掌握和 运用,还让我拥有了一次又一次难忘的开发经历,这是也是实训最大的收获。 这次实训对于我以后学习、找工作也真是受益菲浅,在这3个月中让我初步从理性回到感性的重新认识,也让我初步的认识这个社会,对于以后做人所应把握的方向也有所启发!相信这些宝贵的经验会成为我今后成功的重要的基石。 在此,我非常感谢指导老师和同学对我的帮助。 第二篇、Android学习心得 安卓实训心得体会 Android学习心得 这学期,我们新开了一门课程——android的研发。在老师们的介绍下,我们了解android的开发环境以及控件的功能。刚开始接触Android觉得既陌生又亲切,陌生在于没有学过具体的开发软件,亲切在于它

相关主题