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

相关推荐
qq_297574673 小时前
【实战】POI 实现 Excel 多级表头导出(含合并单元格完整方案)
java·spring boot·后端·excel
星辰_mya3 小时前
Elasticsearch线上问题之慢查询
java·开发语言·jvm
南极星10053 小时前
我的创作纪念日--128天
java·python·opencv·职场和发展
郝学胜-神的一滴3 小时前
超越Spring的Summer(一): PackageScanner 类实现原理详解
java·服务器·开发语言·后端·spring·软件构建
摇滚侠3 小时前
Java,举例说明,函数式接口,函数式接口实现类,通过匿名内部类实现函数式接口,通过 Lambda 表达式实现函数式接口,演变的过程
java·开发语言·python
打工的小王3 小时前
java并发编程(七)ReentrantReadWriteLock
java·开发语言
lang201509283 小时前
Java并发革命:JSR-133深度解析
java·开发语言
abluckyboy3 小时前
基于 Java Socket 实现多人聊天室系统(附完整源码)
java·开发语言
Re.不晚3 小时前
JAVA进阶之路——数据结构之线性表(顺序表、链表)
java·数据结构·链表
毅炼3 小时前
Java 基础常见问题总结(3)
java·开发语言