android笔记
- 格式:docx
- 大小:27.41 KB
- 文档页数:7
Android 发展•2007.11.5 Android 平台发布•2008.9.22 T-Mobile G1上市•2009年1季度 G1销售100万支•2009.3 MWC华为发布Android手机•Moto,三星,LG计划2009年下半年推出Android手机•2009 获得Orange, Vodafone, O2, Telefonica支持•2009进军上网本Android的优势•开放性谷歌与开放手机联盟合作开发了 Android,这个联盟由包括中国移动、摩托罗拉、高通、宏达和 T-Mobile 在内的 30 多家技术和无线应用的领军企业组成。
Android 是一个真正意义上的开放性移动设备综合平台。
通过与运营商、设备制造商、开发商和其他有关各方结成深层次的合作伙伴关系,来建立标准化、开放式的移动电话软件平台,在移动产业内形成一个开放式的生态系统,这样应用之间的通用性和互联性将在最大程度上得到保持•所有的应用是平等的所有的Android应用之间是完全平等的。
所有的应用都运行在一个核心的引擎上面,这个核心引擎其实就是一个虚拟机,它提供了一系列用于应用和硬件资源间进行通讯的API。
撇开这个核心引擎,Android的所有其他的东西都是”应用”•应用间无界限Android打破了应用之间的界限,比如开发人员可以把Web上的数据与本地的联系人,日历,位置信息结合起来,为用户创造全新的用户体验。
•快速方便的应用开发Android框架•Android系统与其它系统很不一样的地方是:它的应用程序并不直接与底层系统紧密结合,而是跑在Android框架中。
意思是设计Android应用程序时,我们并不需要关心实际上运行的机器是哪个品牌的手机或是哪一种嵌入式系统,或使用哪一种框架。
我们要关心的只是Android框架提供了哪些功能,好让我们能操作这台设备。
具体来说就是我们只要知道这台机器的屏幕大小,有没有键盘,有没有支持GPS等信息,就知道我们写的应用程序是否能在这台机器上顺畅地运行。
Android框架与底层系统的整合的问题完全可以留给软件工程师来操心。
•Android系统中的每一个应用程序在安装的过程中,都得事先在Android 框架中注册,登记这个应用程序所创建的Activity ,并事先注明会使用到的服务。
譬如当我们在Android上安装我们编写的BMI应用程序时,BMI应用程序就会向Android框架登记相关信息:BMI应用程序将会用到”Bmi”这个Activity。
•这份信息存在于每个Android应用程序项目根目录下的”AndroidManifest.xml”文件中。
如果我们在程序中,要用到其他应用程序或服务所提供的功能,也需一并在此列出。
•在安装应用程序的时候,Android框架会根据应用程序提供的这份列表,将信息注册于Android框架的注册表中。
什么是Android•Android是一个包括开源操作系统,中间件和主要应用的为移动设备服务的软件栈。
•SDK(Software Development Kit)提供了用JAVA语言在Android平台开发所必须的工具和API。
从不同的角度来说,”Android”代表着:•一个崭新的开源操作系统平台;•一个人性化的免费应用程序开发环境;•一个与世界各地的程序开发者,站在相同起跑点上的公平竞争机会。
Android打开项目和导入项目,修复项目•打开项目:“File→New-→Project”打开“New Android Project”,点击“Browse…”按钮选择”Create project from existing source”(打开已经存在的项目)•如果一个程序项目还不在“Eclipse”开发环境中,但是文件夹中已经包含一个“.project”文件。
如果我们还用打开项目的方式,会提示“an eclipse project already exists in this directory”(欲打开的文件夹已在工作目录下)这样的警告消息。
因此我们得尝试使用另一种方法:导入项目:在屏幕上方的菜单栏上,选择“File→Import”选项,会跳出“Import”窗口。
选择”General-→existing Projects int workspace”项目,然后按下”Next”按钮,会被带到新的画面。
选择项目的根目录。
•修复项目:如果我们发现打开后的文件夹图标上有个小小的黄色惊叹号,表示这个项目导入后还有些问题,我们可以使用ADT内置的功能来试着修复项目属性。
选择项目,右键单击,选择“Android Tools”菜单中的“Fix Project Properties”(修复项目属性)。
在导入一些低于1.5版的项目时,我们可能会在eclipse下方的”Problem”分页上看到消息提示“the type R is already defined”, 表示“R.java”文件被重复定义了。
通常这是因为旧版SDK与新版本SDK生成“R.java”的文件夹不同所导致。
这时只要打开“src”目录,把该目录中最下层由旧SDk生成的“R.java”文件删除,只留下“gen”目录下的“R.java”文档即可。
设置环境参数设置Android模拟器•当我们第一次按下”Debug”按钮,准备启动模拟器时,开发环境会弹出”Android AVD Error”信息窗口,通知我们尚未创建任何可用的模拟器,并询问我们是否要现在创建模拟器。
在按下”yes”按钮后,会带我们前往”Android Device Manager”模拟器管理工具窗口。
•要创建一个新的模拟器很容易,只要在”Create AVD”的”Name”字段中填入名称,按下”Create AVD”按键,即可创建新的模拟器。
模拟器创建成功后,按下“ finish”键,即自动启动模拟器。
•在模拟器上有个”SDCcar”字段,作用是创建搭配模拟器的虚拟SD卡。
例如在“SDCard”字段中输入“128M”,即代表创建一个128M大小的虚拟SD卡。
使用运行(Run)模式运行•在菜单栏中,我们可以不用”Debug Configuration….”选项,而改为设置”Run Configuration…”选项。
•选择“Run Configuration…”选项时,只是右下角的”Debug”按钮变成了”Run”按钮。
•按照相同步骤设置好后,”Debug”与”Run”模式的环境参数设置可以共用。
•差别只在于使用上,选择“Debug”模式时,我们可以在使用”日志与调试”中的”Logd”记录工具,来显示一些在开发过程中所需的额外调试消息。
再次启动Android模拟器•模拟器在启动完成后,才会开始安装编译好的项目应用程序。
在开发的过程中,我们不必每次测试完就将Android模拟器关闭。
只要模拟器还在运行,我们按一下”Debug”或“Run”,开发环境会自行用刚编译好的新版应用程序,来替换模拟器上的同一个旧版应用程序。
而不需要重新启动 Android模拟器,省下来很多时间。
操作Android模拟器•切换模拟器布局 android list target•切换屏幕在windows操作系统上按下“ctrl”和“F12”键•添加模拟器外观设置•删除模拟器外观设置•移除程序•删除模拟器创建Android新项目•在屏幕上方的菜单栏上,选择“File→New→Project”.点击”Android”文件夹下的”Android Project”,会打开”New AndroidProject”对话框。
•Project Name: 这个项目所在的文件夹名称•Application Name:应用程序显示在屏幕上的标题•Package Name:包名称。
•Create Activity:是否创建这个是项目的主要类,勾选后可以指定这个类的名称。
这个类别会是一个“Activity”类的子类。
我们可以在“Activity”中启动程序和控制程序流程,或是根据需要控制屏幕,界面。
•Build Target:选择用来编译项目的SDK配置。
当选定了Build Target后,开发工具会在Min SDk Version字段中自动填入对应的值。
•Min SDK Version:程序项目架构•Src 目录包含了一个“Android应用程序”所需的各个程序源文件。
•Gen目录中存放所有自动生成的文件。
这个目录中最关键的文件就是R.java.改文件是自动生成的,应该尽量避免手动修改。
•Res目录中存放所有程序中用到的资源文件。
Layout:页面布局目录,values 参数值目录,要使用layout和values中的界面组件和资源要通过R.java中自动产生的”R”类来调用。
•androidManifest.xml是android应用程序的功能列表,每个应用程序都在这个文件中,列出改程序所提供的功能。
表达用户界面:Android提供非常丰富而多样的界面组件,可分为三类:•显示界面类(例如:文字,按钮,输入字段);•页面布局类(例如:Layout 、Tab)•状态提示类(例如进度条、等待圈)“android.view.ViewGroup”是各种布局配置(layout)和视图(View)组件的基类。
常见的实现有:•LinearLayout(线性页面布局)•FrameLayout(框架页面布局)•TableLayout(表格页面布局)•AbsoluteLayout(绝对位置页面布局)•RelativeLayout(相对位置页面布局)常用类的介绍:•EditText 的作用: 提供一个文字输入文本框。
•TextView的作用:提供文字显示。
抽取字符串到XML说明文件 java文件中使用字符串提取时,举例:•String.xml中<string name="calcresult">你的计算结果是:</string>•源码:result.setText(“your calc result:”+nf.format(sum));•改成:result.setText(getText(R.string.calcresult)+nf.format(sum));•“getText”这个函数来自于”android.content.Context.getString”作用是通过指定参数标识符,读取资源文档中的特定字符串内容。
实体对话框•AlertDialog: 调用Builder()方法来预备对应的界面组件。
最后使用show()方法来将对话框显示在屏幕上我只说下我遇到的几个问题和解决的方法一,新建项目出错,提示:missing required source folder GEN解决方法,把gen目录下的R.java删除,项目自动刷新出一个新的R.java,解决二,run的时候出错:Activity class {XXX} does not exist原因是没有指定执行包解决方法: 在launch里指定要执行的包三,缺少Virtual Device 也就是常说的AVD(Android Virtual Device)解决办法:看网上说的又是执行命令又是什么的,说的有些乱我的解决办法就是不要管,执行的时候会提示你新做一个AVD,按着提示填个AVD的名字,然后再选个版本,搞定.四,最后还是报了一个warning : ActivityManager: Warning: Activity not started, its current task has been brought to the front* If the project contents haven't changed, the app will not be downloaded a second time.如果项目内容没有被改变,应用将不被再次下载,所以如果不修改内容再次运行程序会报此错误。