基于Android手机开发———介绍与入门为什么受欢迎?第一个程序:HelloworldAndroid开发工具和环境介绍Resource的初步接触Android的调试Android发展的历史始于2007.11.5,基于Linux,由google推出09年第三季度市场份额3.5%10年第三季度市场份额25.5%11年第二季度市场份额37%,同期,iPhone仅占27%国内保有量861万台11年4月新增3万应用为什么受欢迎?一个词:“好用!”能够兼容大量的硬件:如蓝牙、GPS、重力感应、SD卡、摄像头、触屏。开放的平台:大量手机终端厂商加入,如摩托罗拉手机、HTC、三星、联想等。自由的开发平台:易学、易用、无过多开发的限制。为什么受欢迎?Dalvik虚拟机针对移动设备进行了优化。优化的图形能力支持2D、3D图形(OpenGLES1.0)。集成了基于开源WebKit引掣的浏览器。SQLite作为结构化数据存储。多媒体支持多种音频、视频格式。支持蓝牙Bluetooth,3G和WiFi依托Java丰富的编程资源丰富的开发环境。包括模拟机、调试工具、内存运行检测,以及为EclipseIDE所写的插件。运行环境应用开发语言:JavaDalvik虚拟机指令:DalvikExcutableJava标准库把java代码编译为Dalvik可执行文件(dexformat)模拟器我们调试程序的一大利器:模拟器。(leftsoftkey)F2orPage-upbuttonStar(rightsoftkey)Shift-F2orPageDownBackESCCall/dialbuttonF3Hangup/endcallbuttonF4SearchF5PowerbuttonF7AudiovolumeupbuttonKEYPAD_PLUS,Ctrl-5AudiovolumedownbuttonKEYPAD_MINUS,Ctrl-F6CamerabuttonCtrl-KEYPAD_5,Ctrl-F3Switchtopreviouslayoutorientation(forexample,portrait,landscape)KEYPAD_7,Ctrl-F11Switchtonextlayoutorientation(forexample,portrait,landscape)KEYPAD_9,Ctrl-F12Togglecellnetworkingon/offF8TogglecodeprofilingF9(onlywith-tracestartupoption)TogglefullscreenmodeAlt-EnterToggletrackballmodeF6Entertrackballmodetemporarily(whilekeyispressed)DeleteDPadleft/up/right/downKEYPAD_4/8/6/2DPadcenterclickKEYPAD_5Onionalphaincrease/decreaseKEYPAD_MULTIPLY(*)/KEYPAD_DIVIDE(/)开发工具和环境介绍两个工具包:AndroidSDKADTPluginforEclipse第一个程序:Helloworld打开eclipse,新建android工程打开Eclipse,新建项目(点击FileNewProject),在项目列表中展开Android目录,选择AndroidProject应用程序的名称包名称启动类名称兼容的最低版本运行你的程序两种方法:点击运行按钮。项目上右键点击runasAndroidapplication原代码存放目录gen/自动生成目录gen目录中存放所有由Android开发工具自动生成的文件。目录中最重要的就是R.java文件。这个文件由Android开发工具自动产生的。Android开发工具会自动根据你放入res目录的xml界面文件、图标与常量,同步更新修改R.java文件。正因为R.java文件是由开发工具自动生成的,所以我们应避免手工修改R.java。R.java在应用中起到了字典的作用,它包含了界面、图标、常量等各种资源的id,通过R.java,应用可以很方便地找到对应资源。另外编绎器也会检查R.java列表中的资源是否被使用到,没有被使用到的资源不会编绎进软件中,这样可以减少应用在手机占用的空间。res/资源(Resource)目录在这个目录中我们可以存放应用使用到的各种资源,如xml界面文件,图片或数据。AndroidManifest.xml功能清单文件这个文件列出了应用程序所提供的功能,在这个文件中,你可以指定应用程序使用到的服务(如电话服务、互联网服务、短信服务、GPS服务等等)。另外当你新添加一个Activity的时候,也需要在这个文件中进行相应配置,只有配置好后,才能调用此Activity。default.properties项目环境信息,一般是不需要修改此文件布局的一个实例?xmlversion=1.0encoding=utf-8?LinearLayoutxmlns:android=:orientation=verticalandroid:layout_width=fill_parentandroid:layout_height=fill_parentTextViewandroid:id=“@+id/text_hello”android:layout_width=fill_parentandroid:layout_height=wrap_contentandroid:text=@string/hello//LinearLayout的初步接触几个常用的标记:xmlns:android:每个资源文件必须包含,用于的引用Android命名空间定义的通用属性。android:id:用于定义资源文件的元素,方便有代码对资源的引用。android:layout_width及android:layout_height:用于定义元素的高和宽Android:text:顾名思义,就是定义文本的。Gravity:对齐方式。用图形的方式编辑界面,有时候会让你更轻松。文本视图不可编辑android:autoLink将指定格式的文本显示为链接•取值:none|web|email|phone|map|allandroid:gravity:在x轴和y轴的显示方向android:heightandroid:width高度和宽度以像素为单位android:hint当内容为空时显示的文本(输入框提示)android:text文本内容android:textColor文本颜色android:textSize字体大小android:typeface文本字体android:ellipsize显示内容超出长度时如何省略•取值none|start|middle|end|marqueepublicfinalclassR{publicstaticfinalclassattr{}publicstaticfinalclassdrawable{publicstaticfinalinticon=0x7f020000;}publicstaticfinalclassid{publicstaticfinalintlayout=0x7f050000;}publicstaticfinalclasslayout{publicstaticfinalintmain=0x7f030000;}publicstaticfinalclassstring{publicstaticfinalintapp_name=0x7f040001;publicstaticfinalinthello=0x7f040000;}}importandroid.app.Activity;importandroid.os.Bundle;publicclassHelloActivityextendsActivity{/**Calledwhentheactivityisfirstcreated.*/@OverridepublicvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.main);}}=.HelloActivityandroid:label=@string/app_nameintent-filteractionandroid:name=android.intent.action.MAIN/categoryandroid:name=android.intent.category.LAUNCHER//intent-filter/activity用程序显示界面信息使用TextView,用setContentView的方式把程序内的字符显示出来:TextViewtv=newTextView(this);tv.setText(Hello,Android);setContentView(tv);动静结合设置页面为什么要用两种方式显示界面?静态xml为框架。代码填充动态的内容。里添加必要的控件,如TextView。同过findViewById(控件的id);可以得到所要显示的控件。例如:取得TextView的控件TextViewtextView=(TextView)findViewById(R.id.Test);Android用一个Int对象表现颜色,里面含4个部分:Alpha:指透明度,取值范围0~255其他三部分,代表RGB,每个颜色的取值范围也是0~255,由RGB三色混合代表真彩色DDMS为IDE和emultor及真正的a