安卓入门教程及环境搭建(附笔记)本文参与:Testin—安卓巴士Android开发原创教程大赛需要的软件包有三个,截止到2012年7月这些软件都是最新版本的:分别是JDK、SDK、Eclipse(版本4.2Juno)他们的名字和大小如下一、软件包的下载1、JDK的下载(jdk-7u5-windows-i586)、SDK的下载(installer_r20-windows)、Eclipse的下载(eclipse-jee-juno-win32)二、软件安装说说我的文件夹是怎么安排的,软件安装前先在自己安装软件的那个盘新建一个文件夹名字可以取为Android,然后这三个软件分别安装到里面的三个文件夹里就可以了,然后在Android文件夹里新建一个文件夹专门放自己的工程文件。1、JDK的安装上面下载的jdk-7u5-windows-i586是一个安装包,直接双击就可以安装了,记得路径选择Android文件夹里的Java文件夹。2、Eclipse的安装上面下载的eclipse-jee-juno-win32是一个压缩包,解压后就可以直接用了,将解压后的文件夹eclipse-jee-juno-win32也放在Android文件夹下。3、SDK的安装上面下载的installer_r20-windows是一个安装包,将它安装到Android文件夹里的android-sdk文件夹。装好以后像我的文件夹就是这样了三、Eclipse配置打开Eclipse选择help-InstallNewSoftWare进入如下界面,名字随意,我写的是android,网址输入:(如果出错,请将https改成http)点击Next进入下面界面AndroidDDMS和AndroidDevelopmentTools是必选,我为了方便全选了。接下来Next-Next-接受协议并Next进入如下界面安装完成后出现如下界面,选Yes重启Eclipse即可。四、SDK配置在刚才安装SDK的文件夹里找到SDKManager并运行,如下图为了快点安装完我们先只安装一个版本的SDK(Android2.2)挺快的,其他的有时间再安装,方法跟这个是一样的,因为要在线安装,一次性安装太多版本估计要四五个小时。另外需要提醒的是点击进度条右端小方块(安装过程中它是红色的)可以停止下载,并将已下载的包安装完,下次可以接着下。五、创建AVD打开Eclipse点击如图三角形所指的机器人按钮,就会出现AVD界面,点击New可以新建AVD。AVD是运行在电脑上的虚拟手机,启动了建好的AVD再让你写的工程Run,Eclipse就会自动将写好的安卓软件安装到虚拟的手机里面运行。按下图填写就可以配置一台运行Android2.2版本的虚拟手机了,当然Target里面的选项跟你安装的SDK是一致的,这里面还有各种品牌的机型(如Samsung、HTC、Sony)供选择,具有相当逼真的外观。在AVD界面选择一个已经建好的虚拟机,点击Start就可以启动了,效果如下六、创建工程选择菜单file-new-other进入如下界面:选择新建AndroidApplicationProject项目,点击Next按钮,进入如下界面继续Next,下面是选择程序的图标连续两个Next,到如下界面,填写Activity、Layout和Title的名字,然后Finish就完成了工程的创建。注:若有错误如:Project...ismissingrequiredsourcefolder:'gen',则将gen-Android.Test-R.java这个文件删掉,Eclipse会为我们重新生成这个文件,并且不会报错。配置运行,右键项目-Runas-RunConfiguration进入如下界面该界面,点击Browse按钮,选择你要运行的项目,选择Target切换到以下界面该界面选择运行的AVD,将AVD前面的方框设置为选择状态。创建好的工程自带一段HelloWorld代码因此可以直接运行,右键项目名称-runas-AndroidApplication效果如图到这里安卓开发的前期准备工作已经做完,接下来就是在Eclipse里面写代码发挥你的想象和才智了!附录:(初学者遇到的一些问题)一、建好工程后点击打开工程里任何一个文件都出现报错multipleproblemshaveoccurredjava.lang.NullPointerException解决办法:建工程的过程中出问题,我的是在建工程时填写packagename时出现Theprefix'com.example.'ismeantasaplaceholderandshouldnotbeused如下图只需将'com.example.'改成其他名字即可二、textviewcannotberesolvedtoatype解决方法Android开发视频教学中,用的是Android1.6版本,本机装了4.2版本,在跟着建Activity的时候却发生错误:textviewcannotberesolvedtoatype“在TextViewmyTextView=(TextView)this.findViewById(R.id.myTextView);ButtonmyButton=(Button)this.findViewById(R.id.myButton);之后看了下配套的代码,才知道原来发现缺少了两个包,于是在MainActivit.java文件的import部分加上importandroid.widget.Button;importandroid.widget.TextView;或者importandroid.widget.*;具体情况如下图三、Activity标题的设置ActivityName和LayoutName顾名思义,Title将会显示在该界面的顶端四、fill_parent和wrap_content的区别(翻译)2010-11-1210:18:01|分类:java_android|标签:android|字号订阅EitherattributecanbeappliedtoView's(visualcontrol)horizontalorverticalsize.It'susedtosetaVieworLayoutssizebasedoneitherit'scontentsorthesizeofit'sparentlayoutratherthanexplicitlyspecifyingadimension.两个属性都用来适应视图的水平或垂直大小,一个以视图的内容或尺寸为基础的布局比精确地指定视图范围更加方便。fill_parentSettingthelayoutofawidgettofill_parentwillforceittoexpandtotakeupasmuchspaceasisavailablewithinthelayoutelementit'sbeenplacedin.It'sroughlyequivalentofsettingthedockstyleofaWindowsFormControltoFill.设置一个构件的布局为fill_parent将强制性地使构件扩展,以填充布局单元内尽可能多的空间。这跟Windows控件的dockstyle属性大体一致。Settingatoplevellayoutorcontroltofill_parentwillforceittotakeupthewholescreen.设置一个顶部布局或控件为fill_parent将强制性让它布满整个屏幕。wrap_contentSettingaView'ssizetowrap_contentwillforceittoexpandonlyfarenoughtocontainthevalues(orchildcontrols)itcontains.Forcontrols--liketextboxes(TextView)orimages(ImageView)--thiswillwrapthetextorimagebeingshown.Forlayoutelementsitwillresizethelayouttofitthecontrols/layoutsaddedasitschildren.设置一个视图的尺寸为wrap_content将强制性地使视图扩展以显示全部内容。以TextView和ImageView控件为例,设置为wrap_content将完整显示其内部的文本和图像。布局元素将根据内容更改大小。It'sroughlytheequivalentofsettingaWindowsFormControl'sAutosizepropertytoTrue.设置一个视图的尺寸为wrap_content大体等同于设置Windows控件的Autosize属性为True。简言之:fill_parent布局指将视图(在Windows中称为控件)扩展以填充所在容器的全部空间。wrap_content布局指根据视图内部内容自动扩展以适应其大小。五、Android错误ThemethodonClick(View)oftypenewView.OnClickListener(){}mustoverrideasuperclass很早以前自己的一个Android小游戏的项目,今天用Eclipse重新打开报了一堆错误,都是跟@Override有关的,google一下找到解决的办法():源码打印?mButton1.setOnClickListener(newButton.OnClickListener(){@OverridepublicvoidonClick(Viewv){//TODOAuto-generatedmethodstubmTextView1.setText(Hi,Everyone!!);}});上述代码报错如下-implementsandroid.view.View.OnClickListener.onClick-ThemethodonClick(View)oftypenewView.OnClickListener(){}mustoverrideasuperclass查找后发现是jdk版本问题project----properties----javaCompiler中的compliercompliancelevel将1.5改为1.6就是说Java1.5的编译器默认对父类的方法进行覆盖,采用@Override进行说明;但1.6已经扩展到对接口的方法;所以如果还是以Java1.5的编译器来编译的话,会出现错误。java的编译器是1.6版本的,选择编译级别为1.6,但重要的一点是,选择build的android库是1.5的即可,生成的apk程序是可以在1.5内核上跑起来。总的来讲:androidsdk的版本与JavaJRE的版本可以配置起来用,两者关系应该是疏松的。出现问题如下图:六、建工程选择图标的问题这个问题很蛋疼,不想多说。。。。如图,选择图片或者剪贴纸做图标都是正常的,若一时手贱选了Text做图标就会建出一个奇怪的工程,里面的gen文件夹都是空的,更严重的是所有的文件夹都是空的,如第二张图所示,接着你再建工程的话不管你怎么选都出错,必须重启eclipse才行!七、常用操作详解1、创建Activity:需要多个Activi