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 的开发方式有了一个基本的认识,也希望大家打好基础,为后面的内容做好充分的准备。

相关推荐
风象南14 分钟前
SpringBoot的5种签到打卡实现方案
java·spring boot·后端
1candobetter20 分钟前
JAVA后端开发——多租户
java·开发语言
aningxiaoxixi33 分钟前
Android Framework 之 AudioDeviceBroker
android·windows·ffmpeg
~Yogi36 分钟前
今日学习:工程问题(场景题)
android·学习
奔跑吧 android1 小时前
【android bluetooth 框架分析 04】【bt-framework 层详解 1】【BluetoothProperties介绍】
android·bluetooth·bt·aosp13
星辰离彬1 小时前
Java 高级泛型实战:8 个场景化编程技巧
java·开发语言·后端·程序人生
移动开发者1号1 小时前
Android Activity状态保存方法
android·kotlin
筏.k1 小时前
C++ 网络编程(10) asio处理粘包的简易方式
java·网络·c++
移动开发者1号1 小时前
Volley源码深度分析与设计亮点
android·kotlin
张风捷特烈1 小时前
每日一题 Flutter#7,8 | 关于 State 两道简答题
android·flutter·面试