运行之前,需要知道Android项目中的一些文件目录和文件
![](https://i-blog.csdnimg.cn/blog_migrate/5fde77f3a4f72831baa5984aa68c9724.png)
![](https://i-blog.csdnimg.cn/blog_migrate/9ccd13fb2018dec3f8df242cdd072cd8.png)
主要活动文件
主要活动代码在MainActivity.java的java文件中。这是实际的应用程序文件,将被转化为Dalvik(google自己设计的用于Android平台的java虚拟机)可执行文件运行。
下面由应用向导为Hello World应用生成的默认代码。
![](https://i-blog.csdnimg.cn/blog_migrate/2d1f3c3f86300f423edffeebe31a9ee9.png)
这里,R.layout.activity_main引用自res/layout目录下的activity_main.xml文件。onCreate()是活动被夹在之后从众多被调用的方法之一。
Manifest文件
无论你开发什么组件用作应用程序中的一部分,都需要在应用程序项目根目录下的manifest.xml文件中声明所有的组件。这个文件是Android操作系统与你的应用程序之间的接口,因此,如果没有在这个文件中声明你的组件,将无法被操作系统所识别。举个例子,一个默认的清单文件看起来如下:
![](https://i-blog.csdnimg.cn/blog_migrate/f5d40dd80e97e753048278cd5d4552dd.png)
这里,...标签之间是应用程序相关的组件。andnroid:icon属性指出位于res/drawable-hdpi下面的应用程序图标。这个应用使用drawable文件夹下名为ic_launcher.png的图片。
标签用于指定一个活动,android:name属性指定一个Activity类子类的全名。android:label属性指定用于活动名称的字符串。可以使用标签来指定多个活动。
意图过滤器的action被命名为android.intent.action.MAIN,表明这个活动被用做应用程序的入口。意图过滤器的category被命名为android.intent.category.LAUNCHER,表明应用程序可以通过设备启动器的图标来启动。
@string指的是strings.xml(将在后面介绍)。因此,@string/app_name指的是定义在strings.xml中的app_name,实际为"Hello World"。类似的,应用中的其他字符串也很流行。
下面是你的清单文件中将用到的标签,用于指定不同的Android应用程序组件:
- 活动元素
- 服务元素
- 广播接收器元素
- 内容提供者元素
string文件
string.xml文件在res/value文件夹下,它包含应用程序使用到的所有文本。例如,按钮,标签的名称,默认文本,以及其他想死的strings。这个文件为他们的文本内容负责。默认的strings文件看起来如下:
![](https://i-blog.csdnimg.cn/blog_migrate/ce9c99625e234ec8dc7fc5c23be187ee.png)
R文件
gen/com.example.helloworld/R.java文件是活动的Java文件,如MainActivity.java的和资源如strings.xml之间的胶水。这是一个自动生成的文件,不要修改R.java文件的内容。
![](https://i-blog.csdnimg.cn/blog_migrate/f2e3d2e855c4be1b649fbc3a14fe2ff0.png)
Layout文件
activity_main.xml是一个在res/layout目录下的layout文件。当应用程序构建它的界面时被引用。将频繁的修改这个文件夹改变应用程序的布局。在HelloWorld应用程序中,这个文件具有默认的布局,内容如下:
![](https://i-blog.csdnimg.cn/blog_migrate/8c58773069e34f4a514359de65cc27ab.png)
TextView是一个Android的控件用于构建用户图形界面。包含许多不同的属性,
诸如android:layout_width,android:layout_height等用来设置它的宽度和高度等。
@string指的是res/values文件夹下的strings.xml文件。
因此,@string/hello_world指的是定义在strings.xml中的名为hello的字符串:"Hello World!"
进行运行RunAs,则可以显示模拟器窗口