控件讲解一、在Windows下搭建Android开发环境1、安装JDK(JavaDevelopmentKit)、安装AndroidSDK、安装Eclipse、打开Eclipse,并安装其Android插件(ADT)打开菜单Help-InstallNewSoftware,在AvailabeSoftware中加入地址,然后安装ADT(AndroidDevelopmentTools)5、新建Android项目New-AndroidProject,ProjectName-项目名称;BuildTarget-编译项目的SDK版本;Applicationname-程序名称;Packagename-包名;MinSDKVersion-程序所支持的最低SDK版本代号(2对应1.1,3对应1.5,4对应1.6)6、运行Android项目打开菜单Run-RunConfigurations-Newlaunchconfiguration,设置启动项目名称,在Android选项卡中选择启动项目,在Target选项卡中设置模拟器7、创建/使用模拟SD卡创建SD卡,运行类似如下命令:mksdcard-lsdcard512Md:\android\sdcard.img模拟器中使用SD卡,在项目配置的Target选项卡的AdditionalEmulatorCommandLineOptions框中输入类似如下参数:-sdcardd:\android\sdcard.img8、配置模拟器运行类似如下命令:androidcreateavd--nameandroid15--target2。或者直接在菜单Window-AndroidAVDManager中配置模拟器9、浏览模拟SD卡中的内容调试程序,在DDMS中选择FileExplorer,在其中的sdcard目录下就是模拟SD卡中的内容10、查看日志LogCatWindow-ShowView-Other-Android-LogCat11、在模拟器中安装/卸载apk安装apk运行类似如下命令:adbinstallname.apk;卸载apk运行类似如下命令:adbuninstallpackagename(注:这里的参数是需要卸载的包名)12、反编译Android程序解压apk文件,取出其中的classes.dex文件,运行类似如下命令:dexdump.exe-dclasses.dexdump.txt(其意思是将classes.dexdump出来,并将反编译后的代码保存到指定的文本文件中)13、人品不好是出现的某些错误的解决办法如果出现类似如下的错误等noclassfilesspecifiedConversiontoDalvikformatfailedwitherror1解决办法:Project-Clean出现AndroidSDKContentLoader60%(一直卡在60%)解决办法:Project-去掉BuildAutomatically前面的勾14、查看SDK源代码先想办法搞到源代码,如这个地址,然后将其解压到SDK根路径下的sources文件夹内即可二、Android项目的目录结构1、src-用于放置源程序2、gen-自动生成R.java文件,用于引用资源文件(即res目录下的数据)3、assets-用于放置原始文件,Android不会对此目录下的文件做任何处理,这是其与res目录不同的地方4、res/drawable-用于放置图片之类的资源;res/layout-用于放置布局用的xml文件;res/values-用于放置一些常量数据5、AndroidManifest.xml-Android程序的清单文件,相当于配置文件,配置应用程序名称、图标、Activity、Service、Receiver等三、HelloWorld程序1、res/layout/main.xml代码?xmlversion=1.0encoding=utf-8?!--设置ID的方式:ID前加前缀,@+id/引用资源文件内字符串资源的方式:指定的资源名称前加前缀,@string/--LinearLayoutxmlns:android=:orientation=verticalandroid:layout_width=fill_parentandroid:layout_height=fill_parentandroid:id=@+id/layoutTextViewandroid:layout_width=fill_parentandroid:layout_height=wrap_contentandroid:text=@string/hello/TextViewandroid:layout_width=fill_parentandroid:layout_height=wrap_contentandroid:id=@+id/txt//LinearLayout2、res/values/strings.xml代码?xmlversion=1.0encoding=utf-8?resourcesstringname=hellolayout直接调用values中的字符串/stringstringname=hello2编程方式调用values中的字符串/stringstringname=app_namewebabcd_hello/string/resources3、res/drawable目录下放置一个名为icon.png的图片文件4、AndroidManifest.xml代码?xmlversion=1.0encoding=utf-8?manifestxmlns:android==com.webabcd.helloandroid:versionCode=1android:versionName=1.0applicationandroid:icon=@drawable/iconandroid:label=@string/app_nameactivityandroid:name=.Mainandroid:label=@string/app_nameintent-filteractionandroid:name=android.intent.action.MAIN/categoryandroid:name=android.intent.category.LAUNCHER//intent-filter/activity/applicationuses-sdkandroid:minSdkVersion=3//manifest5、Main.java代码packagecom.webabcd.hello;importandroid.app.Activity;importandroid.os.Bundle;importandroid.widget.LinearLayout;importandroid.widget.TextView;publicclassMainextendsActivity{/**Calledwhentheactivityisfirstcreated.*/@OverridepublicvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);//将指定的布局文件作为Activity所显示的内容setContentView(R.layout.main);//动态地在指定的容器控件上添加新的控件TextViewtxt=newTextView(this);txt.setText(动态添加控件);//setContentView(txt);((LinearLayout)this.findViewById(R.id.layout)).addView(txt);//引用资源文件内的内容作为输出内容TextViewtxt1=(TextView)this.findViewById(R.id.txt);txt1.setText(this.getString(R.string.hello2));}}四、系出名门Android(2)-布局(Layout)和菜单(Menu)介绍在Android中各种布局的应用,以及菜单效果的实现?各种布局方式的应用,FrameLayout,LinearLayout,TableLayout,AbsoluteLayout,RelativeLayout?为指定元素配置上下文菜单,为应用程序配置选项菜单,以及多级菜单的实现1、各种布局方式的演示(FrameLayout,LinearLayout,TableLayout,AbsoluteLayout,RelativeLayout)res/layout/main.xml代码?xmlversion=1.0encoding=utf-8?!--layout_width-宽。fill_parent:宽度跟着父元素走;wrap_content:宽度跟着本身的内容走;直接指定一个px值来设置宽layout_height-高。fill_parent:高度跟着父元素走;wrap_content:高度跟着本身的内容走;直接指定一个px值来设置高--!--LinearLayout-线形布局。orientation-容器内元素的排列方式。vertical:子元素们垂直排列;horizontal:子元素们水平排列gravity-内容的排列形式。常用的有top,bottom,left,right,center等,详见文档--LinearLayoutxmlns:android=:orientation=verticalandroid:gravity=rightandroid:layout_width=fill_parentandroid:layout_height=fill_parent!--FrameLayout-层叠式布局。以左上角为起点,将FrameLayout内的元素一层覆盖一层地显示--FrameLayoutandroid:layout_height=wrap_contentandroid:layout_width=fill_parentTextViewandroid:layout_width=wrap_contentandroid:layout_height=wrap_contentandroid:text=FrameLayout/TextViewTextViewandroid:layout_width=wrap_contentandroid:layout_height=wrap_contentandroid:text=FrameLayout/TextView/FrameLayoutTextViewandroid:layout_width=wrap_contentandroid:layout_height=wrap_contentandroid:text=@string/hello/!--TableLayout-表格式布局。TableRow