04. 【Android教程】Android 工程解析及使用

在上一章中已经搭建好了 Android 开发环境,本章我们将一起通过 Eclipse 创建我们的第一个 Android App。

1. 创建 Android 工程

首先打开 Eclipse,在菜单栏依次选择"New" -> "Android App Project"。如果是第一次创建,可能没有"Android App Project",那么可以选择"Other"->"Android"。主要有三个参数需要我们设置:

  • 应用名: 即我们App的名字,也是最终会显示在设备桌面上的名称;
  • 工程名: 项目工程的名字,Eclipse会按照此名称在本地创建工程目录,并将工程文件保存在此目录下;
  • 包名: App 的唯一 ID,Android 系统用包名区分不同的 App
    在这里可以有一个简单的理解,应用名更多是面向用户的,工程名更多是面向 Eclipse 的,而包名是面向 Android 系统的。

设置好并选择对应的 Android 版本,点确认后即完成工程的创建。

2. 工程结构解析

在 Eclipse 左侧展示的就是我们创建的工程的目录结构

目录文件比较多,其中需要大家着重注意的是以下 5 个:

  • src: 用于存放源文件,也就是没有进行编译的程序文件。结构按照包名排列,与 Java 工程类似。
  • gen: 用于存放编译中间产物,由 ADT 自动生成,我们一般不做修改。内部有一个 R.java 文件,是工程的资源字典。工程内 Res 目录下的所有资源都会通过 id 的形式登记在该文件内。
  • assets: 用于存放打包在 apk 内的静态文件。该目录下的文件将不会在 R.java 内生成对应的 id,并且会以原始格式保存,适用于保存类似文本文件,视频文件,MP3 音频等媒体文件。
  • res: 用于存放资源文件,主要有以下几个资源:
    • drawable: 存放各种位图文件(png、jpg、9图、gif等),除此之外可能是一些其他的 drawable 类型的 XML 文件
    • layout: 布局文件,各个页面的 UI 样式
    • values: XML 类型的描述文件
  • AndroidMainfest.xml: 应用程序清单文件,包含了 android 应用中的元信息,Android 中的四大组件以及用户权限列表等都需要在此注册,同时也详细描述了 android 应用的项目结构。
    以上 5 个目录是大家必须掌握的,后面的开发也会频繁用到。另外还有一些如果感兴趣可以简单了解,不作要求。
  • android 9.0: 包含了项目需要的库文件(Jar 文件),和普通 Java 项目中的/lib类似。同时其中还包含项目打包时需要的META-INF目录.
  • Android Private Libraries: 存放项目中引入的第三方 JAR 包
  • **bin:**编译结果,保存的是二进制文件,包括class、资源文件、dex、apk 等,我们可以在这个目录下导出 apk 文件
  • proguard-project.txt: 代码混淆配置文件
  • project.properties: 工程属性的配置文件。可以再次设置编译使用的 Android 版本号

3. 编译运行Android工程

建立好 Android 工程之后,就可以直接运行起来了。方法很简单,首先我们按照前面的教程开启 AVD 或者 Genymotion,然后在左侧工程列表中找到新建的工程,依次"右键" -> "Run as" -> "Android Application",静静的等待片刻,就可以看到出现在屏幕上的 Hello World。

4. 小结

本章我们介绍了如何通过 Eclipse 创建 Android 工程并对工程的目录结构及重要的文件做了详细介绍,最后在模拟器上运行了我们新建的 Android 应用。到这里你已经完成了第一个 Android 应用的创建与运行,对 Android 的开发方式有了一个基本的认识,也希望大家打好基础,为后面的内容做好充分的准备。

相关推荐
人道领域1 分钟前
Day | 10【苍穹外卖:SpringTask 和WebSocket 案例】
java·数据库·后端
白宇横流学长2 分钟前
基于SpringMVC 的景区智能客流预测系统设计与实现
java
1104.北光c°2 分钟前
Leetcode206.反转链表 迭代+递归 【hot100算法个人笔记】【java写法】
java·数据结构·笔记·算法·leetcode·链表·反转链表
MegaDataFlowers3 分钟前
静态/动态代理模式
java·开发语言·代理模式
00后程序员张5 分钟前
iPhone 无需越狱文件管理 使用Keymob查看导出文件
android·ios·小程序·https·uni-app·iphone·webview
kcuwu.5 分钟前
Python文件操作零基础及进阶
android·服务器·python
编程学习00110 分钟前
记一次Java面试
java·面试
计算机学姐13 分钟前
基于SpringBoot+Vue的家政服务预约系统【个性化推荐+数据可视化】
java·vue.js·spring boot·后端·mysql·信息可视化·java-ee
一只大袋鼠13 分钟前
请求转发vs重定向、同源策略与跨域
java·javaweb·同源策略·请求转发·重定向
小胖java13 分钟前
基于LDA主题模型与情感分析的航空客户满意度分析
java·spring boot·spring