Android是使用Java作为编译语言的,大部分人使用的IDE是Eclipse,Eclipse是一款很好的开源IDE,在大量“插件”的配合下,可以满足从企业级Java到手机终端Java游戏的开发。在开发Android应用软件的时候需要在Eclipse中安装Google推出的插件ADT。
在Eclipse下建立Android项目,项目中会包括一下几个主要部分:
1.src文件夹,这个文件夹中包含了项目的所有包和源文件(.java文件);
2.res文件夹,这个文件夹中则是包含了项目中的所有资源,比如程序图标(drawable)、布局文件(1ayout)、常量(values)等;
3.gen文件夹。其中包含了R.java文件,这个文件是在建立项目的时候自动生成的,文件是只读模式,不能进行更改,该文件是定义该项目所有资源的索引文件的。
4.Android X.x,这个是显示你这个项目使用的Android AP的版本。
5.AndroidManfest.xml文件.这个文件中包含了该项目中所使用的Activity、Service、Receiver。
下面我们来讨论下新手会犯的几个错误。
1、cannot be solved
刚开始接触Android的人,可能会想到从网上下载几个可以执行的代码来进行运行,但是直接从网上拷贝过来的代码在Eclipse中会显示错误,很多人就会不知道是为什么。在这种情况下,错误一般不是代码的问题,而是从网上拷贝下来的这些代码,这时候把鼠标移到错误的地点去,会提示“cannot be solved”。这个问题就是因为在Android的编写中,我们常常会把一些变量的定义放在布局文件中,而不是直接在源文件中直接定义出来。这时候打开布局文件目录下的main.xml文件,在这其中定义需要定义的变量,这样子问题就会得到解决了。
2、sorry, the application has stop excepted
Android运行的过程中,有一个问题可能会经常出现。在你运行的程序的时候,在进入运行界面后,会弹出一个对话框,上面写着“Sorry,the application has stop excepted”。之后点击按钮之后程序就退出了。这个时候很多人不知道怎么回事,而且无论是在源文件中还
是在布局文件中都不会有错误提示。表面上看来这个程序是没有错误存在的,但是这个程序无论怎么运行都会提示有错误,工程停止了。这个时候,我们需要从我们的变量上去找原因了,因为我们再设置变量的时候经常会遇到设置一个textView,button等,像是这样的变量我们在给它定义的时候需要对它的大小进行设置,要设置它的长度和高度。
有的时候有些问题是需要我们自己去解决的,所以我们需要自己学会去调试自己的程序,很多人可能开始的时候都不知道该如何去发现自己的问题。在Eclipse+ADT的开发环境中也没有直接跟踪内容的方法,在这个时候,我们可以使用Google提供的ADT插件DDMS在Eclipse上轻松的调试Android程序。
首先将Eclipse开发工具的工作界面切换到DDMS标签(DDMS会在Eclipse的右上角)。在DDMS中选择“Device”标签,查看其菜单功能,可以看到Debug Process(调试进程)、Update Threads(更行线程)、Update Heap(更新堆)、Cause GC(引起垃圾回收)、StopProcess(停止进程)、Screen Capture(屏幕截图)、Reset adb(重启Android Debug Bridge)菜单选项。在这里可以观察到Android程序运行时的各种状态,比如进程信息、线程分析、堆内存的占用,结束一个进程。这些操作都是在DDMS框架下进行的。
在DDMS中带有“Logcat”工具,它是通过“android.util.Log”类的静态方法来查找错误和打印系统日志消息。它是一个进行日志输出的API,在Android程序中可以随时为某一个对象插入一个Log,然后在DDMS中观察Logcat的输出是否正常。
在编写Android程序时候我们需要在平时写程序的时候注意一些细节,这样子就会避免很多不必要的错误发生。
下面说明几个需要注意的地方。
1.在编程的时候需要多进行保存,以免数据意外丢失了,并且需要多刷新工程,因为R.java中很可能没有及时生成你新加入的一些元素,从而造成程序的错误。
2.我们再编程的时候需要使用英文输入法,很多人会习惯性的使用中文输入法。然后再中英文之间不停的切换。因为有些中英文符号的差别是很小的,不容易察觉。
3.在编程的时候最好不要把多条语句放在一行上,如果放在一行上,代码将小可以单步执行,而且也不能为同一行上的多条语句设置行断点。
4.在我们出现的问题的时候,不要立刻想着上网求助,而是想想问题可能会出现在哪里,应该如何去解决这些问题,多思考思考,而不是有问题就依赖网上一些高手的帮助。