当前位置:文档之家› Android I2C精析

Android I2C精析

Android I2C精析
Android I2C精析

Android I2C精析

基于linux内核开发的arm系统,会用到很多components。要让这些components正常的工作,我们必须了解它们的接口,懂得如何去注册总线,初始化芯片,进而让芯片正常的工作。下面我会介绍在arm开发过程中使用最频繁的一些接口和总线的原理,以及如何在开发的过程中去使用它们。

1 I2C总线与接口

I2C总线具有结构简单,使用方便的特点。下面我会描述linux下I2C驱动的结构,幷给出I2C设备驱动和应用的实现。

1.1 I2C总线概述

I2C(Inter-Integrated Circuit)总线是由PHILIPS公司开发的两线式串行总线,用于连接微控制器及外围设备。是微电子通信控制领域广泛采用的一种总线标准。它是同步通信的一种特殊形式,具有接口线少,控制方式简单,器件封装形式小,通信速率较高等优点。

I2C总线是由数据线SDA和时钟SCL构成的串行总线,可发送和接收数据,每个器件都有一个惟一的地址识别。I2C 规程运用主/从双向通讯。器件发送数据到总线上,则定义为发送器,器件接收数据则定义为接收器。主器件和从器件都可以工作于接收和发送状态。总线必须由主器件(通常为微控制器)控制,主器件产生串行时钟(SCL)控制总线的传输方向,并产生起始和停止条件。SDA 线上的数据状态仅在SCL为低电平的期间才能改变,SCL为高电平的期间,SDA 状态的改变被用来表示起始和停止条件。

从理论上说一根I2C总线上可以挂载128个I2C设备,但是通常情况下,由于有些设备在传输数据时占用的I2C总线带宽频繁,所以我们在一根I2C总线上挂载的设备是越少越好。下面给出I2C总线的连线图:

1.2 I2C总线工作原理

1.2.1 I2C通信专业术语

发送器:发送数据到总线的器件;

接收器:从总线接收数据的器件;

主机:初始化发送产生时钟信号和终止发送的器件;

从机:被主机寻址的器件;

多主机:同时有多于一个主机尝试控制总线但不破坏传输;

仲裁:是一个在有多个主机同时尝试控制总线但只允许其中一个控制总线并使传输不被破坏的过程;

同步:两个或多个器件同步时钟信号的过程。

1.2.2 I2C接口电路结构

前面我们说过I2C总线是由数据线SDA和时钟SCL构成的串行总线,在现实的产品开发过程当中,各种被控制器件均并联在这条总线上,每个器件都有一个唯一的地址识别,可以作为总线上的一个发送器件或接收器件(具体由器件的功能决定)。I2C总线的接口电路结构如图所示:

1.2.3 I2C总线信号状态

I2C总线有下面几种信号状态:

1.空闲状态:SDA和SCL都为高电平。

2.开始条件(S):SCL为高电平时,SDA由高电平向低电平跳变,开始传输数据。3.结束条件(P):SCL为高电平时,SDA由低电平向高电平切换,表示传输结束。4.数据有效:在SCL的高电平期间,SDA保持稳定,数据有效。

5.ACK信号: 数据传输的过程中,接收器件每接收一个字节数据要产生一个ACK 信号,向发送器件发出特定的低电平脉冲,表示已经收到数据。

1.2.4 I2C总线基本操作

I2C总线必须由主器件(通常为微控制器)控制,主器件产生串行时钟(SCL),同时控制总线的传输方向,并产生开始和停止条件。

数据传输中,首先主器件产生开始条件,随后是器件的控制字节(前七位是从器件的地址,最后一位为读写位)。接下来是读写操作的数据,以及 ACK响应信号。数据传输结束时,主器件产生停止条件。具体的过程如下图所示:

1.3 Linux内核的I2C驱动架构

1.3.1 I2C驱动架构

Linux系统对I2C设备具有很好的支持,linux系统下的I2C驱动程序从逻辑上可以分成3个部分:

1.I2C总线的驱动 I2C core :实现对I2C总线、I2C adapter及I2C driver 的管理。

2.I2C控制器的驱动 I2C adapter :针对不同类型的I2C控制器,实现对I2C 总线访问的具体方法。

3.I2C设备的驱动 I2C driver :针对特定的I2C设备,实现具体的功能,包括read, write以及ioctl等对用户层操作的接口。

这三个部分的层次关系下图所示:

1.3.2 I2C 总线驱动 I2C core

I2C core是Linux内核用来维护和管理的I2C的核心部分,其中维护了两个静态的List,分别记录系统中的I2C driver结构和I2C adapter结构。I2C core 提供接口函数,允许一个I2C adatper,I2C driver和I2C client初始化时在I2C core中进行注册,以及退出时进行注销。同时还提供了I2C总线读写访问的一般接口(具体的实现在与I2C控制器相关的I2C adapter中实现),主要应用在I2C设备驱动中。

1.3.3 I2C控制器的驱动 I2C adapter

I2C adapter是针对不同类型I2C控制器硬件,实现比较底层的对I2C总线访问的具体方法。I2C adapter 构造一个对I2C core层接口的数据结构,并通过接口函数向I2C core注册一个控制器。

1.3.4 I2C设备的驱动 I2C driver

I2C driver中提供了一个通用的I2C设备的驱动程序,实现了字符类型设备的访问接口,对设备的具体访问是通过I2C adapter来实现的。I2C driver 构造一个对I2C core层接口的数据结构,通过接口函数向 I2C Core注册一个I2C设备驱动。同时I2C driver 构造一个对用户层接口的数据结构,并通过接口函数向内核注册一个字符类型设备。

I2C driver实现用户层对I2C设备的访问,包括open,read,write,ioctl,release等常规文件操作,我们可以通过open函数打开 I2C的设备文件,通过ioctl函数设定要访问从设备的地址,然后就可以通过 read和write函数完成对I2C设备的读写操作。

通过I2C driver提供的通用方法可以访问任何一个I2C的设备,但是其中实现的read,write及ioctl等功能完全是基于一般设备的实现,所有的操作数据都是基于字节流,没有明确的格式和意义。为了更方便和有效地使用I2C设备,我们可以为一个具体的I2C设备开发特定的I2C设备驱动程序,在驱动中完成对特定的数据格式的解释以及实现一些专用的功能。

如何看懂电路图(超级完整版)

如何看懂电路图1--学电子跟我来系列文章 电子设备中有各种各样的图。能够说明它们工作原理的是电原理图,简称电路图。 电路图有两种,一种是说明模拟电子电路工作原理的。它用各种图形符号表示电阻器、电容器、开关、晶体管等实物,用线条把元器件和单元电路按工作原理的关系连接起来。这种图长期以来就一直被叫做电路图。 另一种是说明数字电子电路工作原理的。它用各种图形符号表示门、触发器和各种逻辑部件,用线条把它们按逻辑关系连接起来,它是用来说明各个逻辑单元之间的逻辑关系和整机的逻辑功能的。为了和模拟电路的电路图区别开来,就把这种图叫做逻辑电路图,简称逻辑图。 除了这两种图外,常用的还有方框图。它用一个框表示电路的一部分,它能简洁明了地说明电路各部分的关系和整机的工作原理。 一张电路图就好象是一篇文章,各种单元电路就好比是句子,而各种元器件就是组成句子的单词。所以要想看懂电路图,还得从认识单词——元器件开始。有关电阻器、电容器、电感线圈、晶体管等元器件的用途、类别、使用方法等内容可以点击本文相关文章下的各个链接,本文只把电路图中常出现的各种符号重述一遍,希望初学者熟悉它们,并记住不忘。 电阻器与电位器 符号详见图 1 所示,其中( a )表示一般的阻值固定的电阻器,( b )表示半可调或微调电阻器;( c )表示电位器;( d )表示带开关的电位器。电阻器的文字符号是“ R ”,电位器是“ RP ”,即在 R 的后面再加一个说明它有调节功能的字符“ P ”。 在某些电路中,对电阻器的功率有一定要求,可分别用图 1 中( e )、( f )、

( g )、( h )所示符号来表示。 几种特殊电阻器的符号: 第 1 种是热敏电阻符号,热敏电阻器的电阻值是随外界温度而变化的。有的是负温度系数的,用NTC来表示;有的是正温度系数的,用PTC来表示。它的符号见图( i ),用θ或t° 来表示温度。它的文字符号是“ RT ”。 第 2 种是光敏电阻器符号,见图 1 ( j ),有两个斜向的箭头表示光线。它的文字符号是“ RL ”。 第 3 种是压敏电阻器的符号。压敏电阻阻值是随电阻器两端所加的电压而变化的。符号见图 1 ( k ),用字符 U 表示电压。它的文字符号是“ RV ”。这三种电阻器实际上都是半导体器件,但习惯上我们仍把它们当作电阻器。 第 4 种特殊电阻器符号是表示新近出现的保险电阻,它兼有电阻器和熔丝的作用。当温度超过500℃ 时,电阻层迅速剥落熔断,把电路切断,能起到保护电路的作用。它的电阻值很小,目前在彩电中用得很多。它的图形符号见图 1 ( 1 ),文字符号是“ R F ”。 电容器的符号 详见图2 所示,其中( a )表示容量固定的电容器,( b )表示有极性电容器,例如各种电解电容器,( c )表示容量可调的可变电容器。( d )表示微调电容器,( e )表示一个双连可变电容器。电容器的文字符号是 C 。 电感器与变压器的符号 电感线圈在电路图中的图形符号见图 3 。其中( a )是电感线圈的一般符号,( b )是带磁芯或铁芯的线圈,( c )是铁芯有间隙的线圈,( d )是带可调磁芯的可调电感,( e )是有多个抽头的电感线圈。电感线圈的文字符号是“ L ”。

windowsXP下Android安卓开发环境搭建详细教程及图解

注:本教程是讲解在Windows XP下搭建安卓开发环境的。 安装目录: 步骤1 安装JDK 步骤2 安装Android SDK 步骤3 安装Tomcat 步骤4 安装Ant 步骤5 安装Eclipse 步骤6 安装Eclipse的ADT插件 步骤7 在图形界面下管理AVD 步骤8 设置Android系统语言 本教程的软件可以从我博客“绿杨芳草”下载。 方法/步骤 1、安装JDK 运行安装程序【jdk-6u22-windows-i586-p.exe】,分别点击下一步进行安装。 在安装过程中先后会出现两次选择安装目录的界面,全部改为以下路径: jdk安装目录:C:\Java\jdk1.6.0_22 jre安装目录:C:\Java\jre6\

安装好之后,配置环境变量: 打开环境变量窗口方法:右键【我的电脑】--单击【属性】--单击【高级】--单击【环境变量】。 在上方的用户变量中依次新建如下变量,并分别填入如下路径: 变量名:JAVA_HOME 变量值:C:\Java\jdk1.6.0_22 变量名:PATH 变量值:%JAVA_HOME%/bin 变量名:CLASSPATH 变量值:.;%JAVA_HOME%/lib/tools.jar;%JAVA_HOME%/lib/dt.jar 图1 配置完成之后,分别点击【开始】--【运行】--输入【cmd】--输入【javac】--按【回车键】,若看到以下信息,则代表配置成功。

图2 2、安装Android SDK 将【android-sdk_r17-windows.zip】解压到E:\Android目录下(Android目录自己新建,以后所有关于Android开发相关软件都会统一放到该目录中),得到一个android-sdk-windows 文件夹,该文件夹包含如下文件结构: add-ons:该目录下存放额外的附件软件。刚解压后,该目录为空。 platforms:该目录下存放不同版本的Android版本。刚解压后,该目录为空。 tools:该目录下存放了大量Android开发、调试的工具。 SDK Manager.exe:该程序就是Android SDK和AVD(Android虚拟设备)管理器。 通过该工具可以管理Android SDK和AVD。 运行E:\Android\android-sdk-windows目录下的【SDK Manager.exe】 然后等待更新...(该步骤必须联网,因为SDK安装包需要在线获取)。 在更新的过程中若遇到如下的提示窗口:

学习android的心得体会

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

Android开发规范参考文档

Android开发参考文档 一、Android编码规范 1. java代码中不出现中文,最多注释中可以出现中文.xml代码中注释 2. 成员变量,局部变量、静态成员变量命名、常量(宏)命名 1). 成员变量: activity中的成员变量以m开头,后面的单词首字母大写(如Button mBackButton; String mName);实体类和自定义View的成员变量可以不以m开头(如ImageView imageView,String name), 2). 局部变量命名:只能包含字母,组合变量单词首字母出第一个外,都为大写,其他字母都为小写 3). 常量(宏)命名: 只能包含字母和_,字母全部大写,单词之间用_隔开UMENG_APP_KEY 3. Application命名 项目名称+App,如SlimApp,里面可以存放全局变量,但是杜绝存放过大的实体对象4. activity和其中的view变量命名 activity命名模式为:逻辑名称+Activity view命名模式为:逻辑名称+View 建议:如果layout文件很复杂,建议将layout分成多个模块,每个模块定义一个moduleViewHolder,其成员变量包含所属view 5. layout及其id命名规则 layout命名模式:activity_逻辑名称,或者把对应的activity的名字用“_”把单词分开。

命名模式为:view缩写_模块名称_view的逻辑名称, 用单词首字母进行缩写 view的缩写详情如下 LayoutView:lv RelativeView:rv TextView:tv ImageView:iv ImageButton:ib Button:btn 6. strings.xml中的 1). id命名模式: activity名称_功能模块名称_逻辑名称/activity名称_逻辑名称/common_逻辑名称,strings.xml中,使用activity名称注释,将文件内容区分开来 2). strings.xml中使用%1$s实现字符串的通配,合起来写 7. drawable中的图片命名 命名模式:activity名称_逻辑名称/common_逻辑名称/ic_逻辑名称 (逻辑名称: 这是一个什么样的图片,展示功能是什么) 8. styles.xml 将layout中不断重现的style提炼出通用的style通用组件,放到styles.xml中; 9. 使用layer-list和selector,主要是View onCclick onTouch等事件界面反映

Android应用程序开发个人总结

Android应用程序开发个人总结 Android应用程序开发个人总结范文 篇一:Android应用程序开发-个人总结 一、项目简介: 送祝福App是一款逢年过节为方便发送祝福信息的软件,并且介绍各种节日的相关情况。包含节日祝福短信,支持直接发送短信给好友,也可定时发送给好友,编写模版。为生活提供了便利。 二、个人在项目中承担的任务: 我是任务是整合成员负责的模块,把各个模块整合到一起,然后把主界面的效果做出来,主界面参考的是微信的界面 三、学习本门课程收获、体会及建议: 在本门课程中,我初步认识了安卓应用开发所需基本知识,比如安装体系结构,常用的控件以及API的使用方法,知道了安卓体系存储数据的方式。这一学期,安卓相关的知识自己掌握的不多,不过也透过安卓课程看到移动端应用的火热。这一个学期里,老师讲得比较细,自己单独下来练一个知识点了,也可以,不过当几个知识点的内容整合到一起,自己就凌乱了,自己的思路就不清晰。在期末项目中,我是任务是整合成员负责的模块,把各个模块整合到一起,然后把主界面的效果做出来,主界面参考的是微信的界面,由于时间和能力的限制,只完成了部分功能,功能没有完全实现。 篇二:Android程序员-201*年度个人工作总结和计划

逝者如斯夫,不舍昼夜!转眼间,自己在XX网里参加工作已经有一年有余了。回首即将逝去的201*年,可以说是平淡而不普通的一年,发现自己在各方面都比上一年有所进步、提高。一年的结束孕育着新一年的到来,新的一年意味着新的起点、新的挑战。昂首期待未来,总结以往经验。在新一年来临之际,我现把这一年的工作总结一下以及将新一年计划列一下。 大概3月份左右,XXXXApp第一期基本开发完成比较稳定的版本。在此之前,我主要负责参考XXXXApp的Android客户端的开发工作。XXXX第一期开发的难度系数相对比较低,开发起来还是相对的容易,所学到的基础知识基本上可以开发出来。我个人认为当时的开发效率还是比较低的,这里说的是整个项目的开发效率,不是个人负责工作的完成效率,换句话来说是团队的整体开发效率不高,没有达到高效。这个也许是团队协调与沟通交流还存在不足的地方。XXXXApp实际上基本可以满足用户的使用(表面),但是项目的代码管理(本质)比较杂乱、扩展性差、健壮性也不错、兼容性也不算好。这无疑导致开发的工作量大大的增加。产生这些问题的原因有团队的项目开发经验缺乏,有自己个人的开发水平有限、技能不足。简言之,我的专业技能还不够强。 在3月份之前,公司聘请了外包团队与我们的团队一起开发问答App。公司的目的培训公司的团队,让我们学习外包团队的技能。在外包团队的参与和指导下问答App开发工作相当顺利,团队的分工清晰、交流充分、协调都比较好。问答App的工作接近尾声,意味着XXX

NE555应用电路全集Microsoft+Word+文档

NE555应用电路全集 各种应用电路555触摸定时开关

集成电路IC1是一片555定时电路,在这里接成单稳态电路。平时由于触摸片P端无感应电压,电容C1通过555第7脚放电完毕,第3脚输出为低电平,继电器KS释放,电 灯不亮。 当需要开灯时,用手触碰一下金属片P,人体感应的杂波信号电压由C2加至555的触发端,使555的输出由低变成高电平,继电器KS吸合,电灯点亮。同时,555第7脚内部截止,电源便通过R1给C1充电,这就是定时的开始。 当电容C1上电压上升至电源电压的2/3时,555第7脚道通使C1放电,使第3脚输出由高电平变回到低电平,继电器释放,电灯熄灭,定时结束。 定时长短由R1、C1决定:T1=1.1R1*C1。按图中所标数值,定时时间约为4分钟。D1 可选用1N4148或1N4001。 相片曝光定时器 附图电路是用555单稳电路制成的相片曝光定时器。用人工启动式单稳电路。 工作原理:电源接通后,定时器进入稳态。此时定时电容CT的电压为:VCT=VCC= 6V。对555这个等效触发器来讲,两个输入都是高电平,即VS=0。继电器KA不吸合,常 开点是打开的,曝光照明灯HL不亮。 按一下按钮开关SB之后,定时电容CT立即放到电压为零。于是此时555电路等效触发的输入成为:R=0、S=0,它的输出就成高电平:V0=1。继电器KA吸动,常开接点闭合,曝光照明灯点亮。按钮开关按一下后立即放开,于是电源电压就通过RT向电容CT充电,暂稳态开始。当电容CT上的电压升到2/3VCC既4伏时,定时时间已到,555等效电路触发器的输入为:R=1、S=1,于是输出又翻转成低电平:V0=0。继电器KA释放,曝光灯H L熄灭。暂稳态结束,有恢复到稳态。

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

关于安卓应用程序的实习心得与报告 篇一:Android实习心得 刚开始接触Android感觉到它很有意思,在界面开发上和web 也可以形成了相通的架构,更加方便,视觉上也是非常的酷,在前期我通过的大量的Android SDK开发范例大全中的例子以及Android提供的APIDEMOS进行学习,尽管例子之间的连接比较零散,不过通过这些例子的学习我可以学习到了很多和以前java上相通的思想。 我在为期半个月的实习中学到了很多在课堂上根本就学不到的知识,收益非浅.现在我对这半个月的实习做一个工作小结。 1通过半个月的android实习,基本掌握了Android应用程序开发的一般流程。对常用控件基本掌握其用法,对其事件的监听方法也基本掌握。学习Android不仅是对前沿开发技术的了解,也是对编程知识的一次提升。 2通过学习Android的控件、布局、Activity、Service等一系列基础知识,对整个Android的开发有了大致的了解。例如: 要的布局(或者控件) ,在学习界面中,我发现Android为我们提供了很好的类似反射机制,通过Layout文件夹下的配置文件,可以快速的形成界面,在配置文件可以设置属性或者样式都是很快捷方便。对比较特殊的界面也可以通过处理嵌入到指定的界面,同样你可以通过java代码直接创建View进行添加,不过这种方式比较复杂。对一些点击、选中、按键等处理的事件,界面之间的跳转Intent管理,通过Bundle对数据在界面之间进行传输。

4在手机交互式通信服务中,学习了Android手机之间进行短信发送、广播、对广播的监听、服务等,在Service类中没有context,可以通过Handler来每秒反复运行,自动送出系统广播信息,同时在这里我们也知道可以设计一个常用的变量类,设计一个当前的CurrentActivity这个变量进行控制,进行处理。 在Android编程过程中巩固熟悉了Java的编程。由于Android 应用程序的开发离不开Java的支持,所以基础的Java知识是必须的。Android系统是基于Linux的手机操作系统平台,要深入系统的学习Android,不仅仅是有Java和Android应用开发,必须要具备Linux,C/C++高级编程才能深入的涉及Android Framework和Android内核开发。成为Android开发的高素质人才。所以,在后续对Android的学习中可能会看一些较底层的书籍。 由于这次实习时间较短,对于Android应用程序的高级编程讲的很少,是这次实习中的不足。要想开发一些好的应用程序,还需要更多的知识支持。在做实习最后的项目时,遇到了很多平时没有遇到或者没有特别关注的问题,如常见的Activity忘记注册,对SD卡存取需要权限,在写SQL语句时细微的错误就可能导致程序运行错误。这些问题只有自己在实际开发中才能体会到并且解决,并且在解决后可以长时间的记住。 通过Android的实习,我们在大四毕业前,我们又掌握了一项新的前沿的开发技能,也有了更多的发展方向,这在以后的找工作的过程中无疑为我们增加了砝码,也可以成为我们的一项兴趣爱好,可

安卓android课程设计报告

安卓a n d r o i d课程设计 报告 Company Document number:WTUT-WT88Y-W8BBGB-BWYTT-19998

湘潭大学课程设计报告课程名称______手机安卓开发_______ 课题名称______天气预报APP_______指导老师______周唯___________ 姓名____黄柳________ 班级____12计2班________ 小组______棒棒糖_______ 时间____2015年1月26 日_____ 一、需求分析 (一)引言 1.编写目的 1.1 为用户提供一个显示天气预报的软件,可以根据百度地图显示用户需求的城 市位置,以及用图标表示各城市对应的气象信息,可以简洁的表示出“晴、 雨、雪”和“气温”气象信息。 2. 项目风险 2.1 (项目风险识别是指找出影响项目目标顺利实现的主要风险因素,并识别出 这些风险究竟有哪些基本特征、可能会影响到项目的那些方面。) 2.2 联网收费视用户电话运营商的收费标准决定 2.3 手机或者无线信号不好时,可能无法连接或更新天气情况 3. 预期读者和阅读建议 3.1 预期读者:会使用已经安装安卓系统的手机或者平板电脑及其他移动设备的 用户 3.2 阅读建议:读者应通过该文档可以了解相关项目的需求分析、使用注意事项 以及可能存在的风险 4. 产品范围 2.2手机,平板电脑,MP4,导航仪,上网本,电纸书等使用安卓系统的数码领 域 (二)综合描述 1.产品的状况

1.1 Android是一种以Linux为基础的开放源代码操作系统,主要使用于便携设 备。目前未有统一中文名称,中国大陆地区较多人使用“安卓”或“安致”。 Android操作系统最初由Andy Rubin开发,最初主要支持手机。2005年由 Google收购注资,并组建开放手机联盟开发改良,逐渐扩展到平板电脑及 其他数码领域上。我们开发的相关项目正是一个在安卓平台上开发的软件, 可以用这个软件来实现用户在一些简单的手持设备如手机或者平板电脑等上 面及时的了解到用户所在城市的天气预报。 2. 产品的功能 2.1 天气信息获取 2.2 天气信息显示 3. 系统配置功能 3.1 用户类和特性 安卓平台用户:安卓新用户可以使用软件来了解用户所在城市的天气预报。熟悉安卓平台用户还可以选择对相关软件的系统按自己的喜好进行配置并保留自己的个性化系统配置。 安卓软件开发者:安卓软件开发者(喜好者)可以通过相关的开源代码来了解软件运行的原理。 3.2 运行环境 软件需要在支持安卓系统的可移动设备中正确安装才能正常运行。安卓版本需在及以上,同时建议用户如果是在手机移动设备使用的话,需确保手机支持联网服务。 3.3 设计和实现上的限制 Eclipse是开发相关应用软件的首选集成开发环境,安卓开发环境首先需要安装支持java应用软件运行的java开发软件包(即JDK),然后安装集成开发环境Eclipse,最后安装Android SDK的Eclipse的ADT插件。 Android SDK和Eclipse的ADT插件是必须使用的。 软件支持高效、快速的数据存储方式,包括快速数据存储方式SharedPreferences、文件存储和轻量级关系数据块SQLite,可软件可以使用适合的方法对数据进行进程保存和访问。 3.4 假设和约束(依赖) 软件必须在安卓系统下才可以正常运行,若需要获取天气更新或者是短信服务,需确保用户的数码设备支持联网及短信服务。 (三) 外部接口需求 1 用户的手机设备可以支持联网。 2 用户界面 3 软件接口 软件提供轻量级的进程间通信机制Intent,实 现跨进程组件通信。 4 访问硬件的API库函数通讯接口 4.1 HTTP 协议:有多种接口可以调用 你可以用Java类库封装的 HttpConnection 或者用Apach的开 源项目的 HttpGet 或者HttpPost ,

Android经典项目源码学习包括工具、安全、影音等多个领域的项目

Android经典项目源码学习包括工具、安全、影音等多个领域的项目│├─地图相关││ bikeroute自行车导航源码、zip ││ Gps Test 源码、zip ││ GpsTracker源码、zip ││北京公交线路查询(离线)、zip ││百度地图API-定位周边搜索POI源码、zip ││百度地图API源码、zip ││获取Gps信息的程序源码、zip │││├─学习相关││365MobileSecretary v 1、0、zip ││365MobileSecretary、zip ││9妹工具(9Patch)、zip ││ AidlDemo(简单aidl的例子)、zip ││ aidl跨进程调用、zip ││alertDialog对话框、zip ││ Angle v 1、zip ││ Angle、zip ││ animation图片移动效果、zip ││BOOK看遍所有UI控件、zip ││ BrewClock闹钟、zip ││ broadcast电池电量显示源码、zip ││ BTWebViewSelection(webview选择文字)、zip ││ DocumentViewer(PDF阅读器)、zip ││ douBanList(滚动到底部加载新的,软缓存,懒加载)、zip ││draw自动绘画功能、zip ││expandableList扩展列表、zip ││ Facebook客户端、zip ││ Gamex木马分析报告、zip ││ GetSDTree(简单SD卡文件浏览器)、zip ││ Http 简单应用源码、zip ││ iconFile带图标的文件资源管理器、zip ││Intent切换、zip ││ jamendo-开源在线音乐、zip ││ listView学习源码、zip ││ menu单选菜单、zip ││ MyAppWeixin(仿微信界面)、zip ││ MyBrowser(简单网页浏览器)、zip ││ oschina--app(开源中国)、zip ││ PdfViewerPDF查看器、zip ││ Player(仿酷狗播放器)、zip ││progress前台运算、zip ││ ReadXmlByPull 使用Pull解析Xml文件、zip ││ ReadXmlByPull、zip ││ sharedPref学习源码、zip ││ sql练习合集、zip ││ style简单学习应用示例、zip ││ SurfaceView添加组件view 不被组件覆盖、zip ││ talk_xx_11_17 【Sundy系列】 全看懂了-加两年经验-语音朗读-语音识别-语音、zip ││ textView应

Android程序员转正工作总结

Android程序员转正工作总结 Android程序员转正工作总结 我于xxxx年9月11日成为本公司技术部的一名.net程序员,三个月的试用期转眼就过去了。这段我人生中弥足珍贵的经历,给我留下了精彩而美好的回忆。在这段时间里您们给予了我足够的关怀、支持和帮助,让我充分感受到了领导们海纳百川的胸襟,在对您们肃然起敬的同时,也为我有机会成为影响力在线的一员而惊喜万分。 这段时间,在领导和同事们的关怀和指导下,我通过不懈努力,各方面均取得一定的进步,现将我的工作情况做如下汇报: 一、通过理论学习和日常工作积累经验我的各方面有了很大的进步。 刚到公司不久,我便开始负责.NET方面的网站开发和广告平台开发和维护,刚开始的时候对我来说确实压力很大,因为各方面都还不熟悉,而且与之前的公司相比,节奏也有点快,不过我慢慢的习惯了环境,和同事相处的比较融洽,领导对我也比较关心,在公司里工作就像是在一个幸福的大家庭里一样,我很快喜欢上了这里。 我到公司不久,第一个项目是xxx公司网站,做这个项目的时候我遇到了几个问题,我在以前公司做的时候没有在这么短的时候完成一个项目的,在效率上提高了我的能力。做这个项目的时候我也遇到了许多以前没有遇到过的问题,

我请教同事和朋友,还有借助网络一一解决了难题。 之后,我将B2B广告招商平台进行了改版,开发了xxx 智能建站广告平台以及以后网站的维护工作。 接下来,我又做了一个比较棘手的项目xxx在线咨询系统。为什么说棘手呢,因为我以前没有做过这方面的项目,而且我问遍了所有认识的朋友,搜遍了网络也没有找到如何解决的方法,之后我翻书籍,接着搜索网络。功夫不负有心人,终于我找到一个聊天室的小例子,但是功能差的太远,于是我把这个示例一点点的研究,从一点也不懂到后来慢慢看懂,从对AJAX技术一无所知到基本熟练运用。接下来我就开始自己开发,到最后终于把它开发了出来,虽然不是很完美,功能不是很强大,但是它是我辛苦的劳动结晶,我相信以后会把它开发的更强大,更完美。 二、明确岗位职能,认识个人技术能力不足。 经过三个多月的工作,虽然完成了一些项目的开发,我的技能也提高了很多,但是感觉我的技术还有待提高,所以我会在以后的工作中更加努力,努力提高自己的技术和各种不足,努力使自己成为一名称职的职员。 三、提出自己努力计划 1、学无止镜,时代的发展瞬息万变,各种学科知识日新月异。我将坚持不懈地努力学习各种技术知识,并用于指导实践。 2、业精于勤而荒于嬉,在以后的工作中不断学习知识,通过多看、多学、多练来不断的提高自己的各项技能。

Android中文文档安装SDK资料

安装SDK 本页内容介绍如何安装Android SDK和设置你的开发环境。如果你还没有下载SDK,你可以点下面的连接进行开始下载,然后阅读后续文档学习如何安装,并使用此SDK来创建Android应用程序。 下载SDK 升级? 如果你已经用更早的版本开发过程,可以跳过本页,并阅读升级SDK文档. 系统和软件需求 用Android sdk的代码和工具开发Android应用程序,你需要下面列出来的合适开发电脑和开发环境. 所需操作系统: Windows XP 或Vista Mac OS X 10.4.8 或更高版本(仅支持x86) Linux ( Linux Ubuntu Dapper Drake 版本已测试) 所需开发环境: Eclipse IDE Eclipse 3.3 (Europa), 3.4 (Ganymede) + Eclipse JD T 插件(大多数的Eclipse IDE 包包含) + WST (可选,但Android编辑器的特性需要,大多数Eclipse IDEmost Eclipse IDE packages )包中包含 JDK 5 或JDK 6 (只有JRE是不够的) Android Development Tools 插件(可选) Not compatible with Gnu Compiler f or Java (gcj) 其他开发环境或IDE JDK 5 或JDK 6 (仅有JRE不够) Apache Ant 1.6.5 或更高版本(Linux 和Mac环境下), 1.7 或更高版本(Windows环境下) Java的Gnu Compiler不一致(gcj) 注: 如果你的电脑上已经安装了jdk,请确定它是上面所列的版本号。另外需要注意有些linux版本可能包含有jdk 1.4 或者java 的gnu编译器,Adroid开发是不支持在这两种版本 安装SDK 下载完SDK后,把.zip文件解压到你电脑上合适位置默认情况下, SDK文件被解压到 android_sdk___文件夹. 这个文件夹包含tools/, samples/等. 请注意系统里SDK解压后的文件夹的名字和位置—当你安装Android插件和使用SDK工具时,你将需要引用这个文件夹你可以添加SDK tools 的文件夹路径为你的路径. 如上所述, tools/文件夹位于SDK文件夹. Linux环境下,修改~/.bash_prof ile或者~/.bashrc文件. 寻找路径环境变量设置的那一行添tools/为路径环境变量.如果你没有找到这一行,你需要添加一行: export PA TH=${PA TH}:/tools Mac环境下,在你的home文件夹里面查找.bash_prof ile,然后和linux一样处理。如果以前没有.bash_prof ile文件夹可以创建它。 Windows 环境下, 右击我的电脑( My Computer), 并选择属性(Properties). 在标签页高级(Advanced), 点击环境变量 ( Environment Variables),当对话出现, 在系统变量(System Variables) 栏目里双击路径( Path ) .并添加tools/ 文件夹的完整路径. 添加tools 到你的路径使你运行Android Debug Bridge (adb)和其他命令行tools ,不需要为工具路径添加完整路径.需要说明的是,如果你升级你的SDK路径不同,你需要记得更新你的路径(PA TH )到新的位置. 安装Eclipse插件(ADT) 如果你要使用Eclipse IDE作为开发Android应用的环境,你可以安装支持Android工程和工具的通用插件Android Development Tools (ADT). AD T插件包含强大的扩张,使得创建,运行和调试Android 更快速,更简单。 如果你不使用Eclipse IDE,就不必下载和安装AD T插件 下载和安装ADT插件,请按照你们各自Eclipse版本步骤安装。

Android开发实战中常用安卓开发框架

Android是基于Linux平台的开源移动操作系统,主要适用于移动设备,如智能手机和平板电脑(当然现在已经适用车控应用了),由Google公司和开放手机联盟领导及开发。不完全统计,Android平台手机的全球市场份额已经达到80%,本文介绍了android开发者实战中最喜欢使用的几种Android开发框架。 1) Corona SDK Corona SDK是一个跨平台技术的工具,它利用Lua开发脚本,从一个特定的移动操作系统开发应用。应用程序可以在模拟器中测试,然后编译为Android的本机代码。同时Corona SDK 还支持与Map、Facebook、OpenFient、GameCenter的集成。然而在编译项目时,程序员需要把代码上传到Corona的服务器上去编译,不能在本地直接编译。 2) Phonegap Phonegap是一款开源的开发框架,旨在让开发者使用HTML、Java、CSS等Web APIs开发跨平台的移动应用程序。它需要特定平台提供的附加软件,例如iPhone的iPhone SDK,Android的Android SDK等,也可以和DW5.5及以上版本配套开发。使用PhoneGap比为每个平台分别建立应用程序稍好一些,因为虽然基本代码是一样的,但是程序员仍然需要为每个平台分别编译应用程序。 3) Xamarin Xamarin 始创于2011年,旨在使移动开发变得难以置信地迅捷和简单。Xamarin的产品简化了针对多种平台的应用开发,包括iOS、Android、Windows Phone和Mac App。Xamarin 由许多著名的开源社区开发者创立和参与,而且也是Mono项目的主导者——C#与?NET框架的开源、跨平台实现。 而这其中Xamarin Studio就是一个用C#语言开发跨平台应用的集成开发环境,它和iOS 以及Android SDK紧密整合。Xamarin Studio提供了很多现代开发所需功能,包括代码完成、调试器、打包和发布应用(支持通过TestFlight发布应用程序)。对于Android,Xamarin还包含了自己的UI生成器(对于iOS,则使用苹果Xcode的UI生成器),此外还集成了Git和Subversion。Android开发者可以使用Xamarin Studio在模拟器和真机上对移动应用进行测试和bug调试。 4) Sencha Touch 2 Sencha Touch是由Sencha公司开发的移动Web应用开发框架,用以提升主流移动设备在浏览器上的触碰操作,增强用户体验。该框架以久负盛名的Ext JS富客户端框架为基础,并支持最新的HTML5及CSS3标准,与流行的Apple iOS和Andriod设备兼容。一方面,它以Webkit浏览器引擎为基础,提供了出色的性能和用户体验;另一方面,它提供了基于GPL V3许可的开源版本和详尽的API文档,体现了良好的开放性和易用性。因此,该框架可帮助移动应用开发人员提升开发效率,从而创造出更多富有创意的移动应用。 5) Appcelerator Appcelerator是一个构建基于SOA的RIA应用的全集成平台,用来构建富应用、交互式的网站和应用程序。Appcelerator应用的语言——Web Expression Language,是一种对HTML 的扩展,它采用直观、声明的方法来构建动态的web应用。

API 579中文版

第一章前言 1.1前言 ASME和API编制的有关承压设备的规程和标准规范了新压力容器、管道系统和储罐的设计、制造、监督和检测。这些规程并不是阐述设备使用中的老化问题,也不是阐述由于设备老化或检测时发现的源自最初制造过程带来的缺陷。FFS合乎适用性评价是一种定量的工程评价方法,可用于论证包含缺陷或损害的在役部件的结构完整性。本推荐规程为FFS评价方法提供指导特别是准备用于精练或石油化工企业的设备。本推荐规程的指导方针可用于对已经检测出含有缺陷的承压设备做出继续运行、修理、更换的决定以保证设备安全运行。 1.2范围 1.2.1本推荐规程的方法和步骤目的是补充和扩充API510、API570和API653的要求。 1.2.2本推荐规程的评价程序可用于合乎适用性评定或重新评估按以下标准设计和制造的设备: ·ASME B&PV Code, Section VIII, Division 1 ·ASME B&PV Code, Section VIII, Division 2 ·ASME B&PV Code, Section 1 ·ASME B31.3 Piping Code ·ASME B31.1 Piping Code ·API 650 ·API 620 1.2.3本规程的评价程序也可用于按照其它组织的规范或标准建设的压力容器设备包括国际或公司内部标准。本推荐规程有着广泛的应用因为这些评价方法是建立在公认的应力法、非破裂缺陷的塑性破坏荷载和FAD策略基础上(见第二章 2.4.2)。 1.2.3.1当本推荐规程的程序用于没有按照1.2.2节所列规范制造的压力容器时,建议用户首先要看一下附录H的讨论。附录H所提供的信息连同设计规范差异的知识应该使用户能够确定满足其他设计规范的设备的FFS评定的系数比例或限值,当评估其它标准或规范时应当考虑以下ASME和API

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开发入门文档 v1.1

RK28平台技术文档 Android 开发入门 部 门: 内核组 版 本: V1.1 作 者: 陈美友 文件状态: [√] 草稿 [ ] 正式发布 [ ] 正在修改 日 期: 2008-12-1 关键字 Linux 、Android 、Native C/C++、编译、下载 概 述 本文档主要讲述了Android 的下载、编译,以 及本地C/C++程序的开发、Android 应用程序 的开发等… 本文档适用了Android 开发的初学者

目录 下载ANDROID源码 (3) 编译ANDROID源码: (4) 编译ANDROID中的LINUX内核: (5) 编译NATIVE C/C++程序 (6) 运行NATIVE C/C++应用程序 (7) 在WINDOWS XP操作系统上构建ANDROID应用程序开发环境 (8) 编写ANDROID应用程序 (9) ANDROID SDK文件夹结构分析 (9) ANDROID源代码结构 (10) ANDROID应用程序生成 (10)

注: 如果你要创建Android的SDK,那么你必须安装JDK5,不要安装JDK6 $sudo apt-get install sun-java5-jdk 如果你使用apt-get下载安装程序时,发现某些安装包无法下载的情况, 那么你可以从网络上其它地方用其它的工具下载安装包,然后进行安装。我 通常是通过Windows上的迅雷下载,然后通过VMware中的文件共享传到Linux系统中。 我的电脑: 主系统:Windows XP 模拟器安装在Windows XP上 VMware中安装Linux:Ubuntu8.10 Android源码存放路径:~/mydroid 下载Android源码 在这里面以Ubuntu(x86)操作系统为例,说明下载Android的步骤: 下载必要工具: 下载GIT工具: $ sudo apt-get install git-core gnupg 下载JDK6: $ sudo apt-get install sun-java6-jdk 下载下列工具包:flex, bison, gperf, libsdl-dev, libesd0-dev, libwxgtk2.6-dev (optional), build-essential, zip, curl $ sudo apt-get install flex bison gperf libsdl-dev libesd0-dev libwxgtk2.6-dev build-essential zip curl libncurses5-dev zlib1g-dev 下载Valgrind工具(可选): $ sudo apt-get install valgrind 安装Repo工具: 创建目录存放Repo: $ cd ~ $ mkdir bin $ export PATH=~/bin:$PATH 下载Repo: $ curl https://www.doczj.com/doc/7618521719.html,/repo >~/bin/repo

常用电路图及电器的文字符号和图形符号

一、常用电路图- 1 -1.单按钮控制两台电动机顺序启动反序停止- 1 - 3.用两个时间继电器控制电动机间歇正反转- 2 -4.三地控制三相电动机正反转- 3 -5.两地控制一台电动机- 4 -6.频敏变阻启动原理图- 4 - 7.用一个时间继电器,和三个按钮,控制一个灯220和电机380,要求电机能自动运行60秒停止- 5 - 8. 接近开关导通后电机停止接近开关断开后延时N秒电机启动- 5 - 9.运用时间继电器使电磁铁动作2秒后复位,经过3分钟后动作2秒后复位,再经过5分钟后动作2秒复位- 6 - 10. 利用电接点压力表自动控制水泵- 6 - 11. 两台电动机既可分别启动和停止,也可以同时启动和停止. - 7 - 12. 正转停止后,必须过预定的时间(如5S)后才能反转,反转停止后,必须过预定的时间(如5S)后才能正转- 7 - 13. 用三个时间继电器控制正反转并要有间隙- 8 - 14. 三相异步电动机转子串联电阻启动- 8 -

15. 三相异步电动机启动控制线路图(带故障指示灯)- 9 - 16. 双控及多地控制(照明) - 10 - 18. 使电机有点动还有正常运行- 11 - 19. 用3个继电器控制电动机断相保护- 11 - 20. 用四个时间继电器控制正反转并要有间隙- 12 - 21. 三相电动机在220V电压下正反转能耗制动- 12 - 22. 三个地方控制一盏灯- 13 - 23. 星三角降压的电路用4个交流接触器和一个时间继电器要做成可以正反转的电路并且可以自动和手动的- 13 - 24. 延边三角形降压启动的原理图- 14 - 25. 点动与长动的正反转控制电路- 14 - 26. 用按钮开关(常开)启动电动机,用行程开关(常闭)停止电动机实物接线图- 15 -27用按钮开关(常开)启动电动机,用行程开关(常开)停止电动机实物接线图- 15 -28.四个地方控制一盏灯- 16 -29. 单相电能表加装互感器- 16 -31. 用一个3a的按钮通过继电器控制一个12v15a的电机- 17 -

相关主题
文本预览
相关文档 最新文档