2019独角兽企业重金招聘Python工程师标准>>>

一、新建HelloWorld项目:

1、打开Eclipse,点击“File”->"New"->"Project"-Android Application Project"":

在弹出的“New Android Application”窗体中输入相应的应用名称、项目名称、包名称,并选择相应的SDK版本和应用主题:

选择项目保存位置,一路“next”完成项目创建:

创建后的项目:

在创建后的项目名称上右键单击选择“Run As”->“Android Application”运行刚创建的项目:

运行结果:

二、应用程序目录结构简析:

1、应用程序目录结构:

2、各部分说明:

Activity文件:双击目录中的“MainActivity.java”,可以看到MainActivity的代码:

 1 package android.basic.helloandroid;
 2
 3 import android.os.Bundle;
 4 import android.app.Activity;
 5 import android.view.Menu;
 6
 7 public class MainActivity extends Activity {
 8
 9     @Override
10     protected void onCreate(Bundle savedInstanceState) {
11         super.onCreate(savedInstanceState);
12         setContentView(R.layout.activity_main);
13     }
14
15     @Override
16     public boolean onCreateOptionsMenu(Menu menu) {
17         // Inflate the menu; this adds items to the action bar if it is present.
18         getMenuInflater().inflate(R.menu.activity_main, menu);
19         return true;
20     }
21
22 }

从代码中可以看到MainActivity继承于Activity类,Activity是Android中的视图部分,负责处理界面显示。在MainActivity里面重写了父类的onCreate方法和onCreateOptionsMenu方法,在重写的onCreate方法里方法setContentView(R.layout.activity_main)给MainActivity设置了要显示的视图R.layout.activity_main,视图由R类寻找并加载(感觉很像mvc,Activity相当于Controller而要显示的layout就相当于具体的页面)。

R文件:在MainActivity的setContentView(R.layout.activity_main)方法中我们用R.layout.activity_main指定了要显示的视图,在应用程序目录结构的截图中可以看到R文件位于gen目录下面,双击显示代码:

 1 /* AUTO-GENERATED FILE.  DO NOT MODIFY.
 2  *
 3  * This class was automatically generated by the
 4  * aapt tool from the resource data it found.  It
 5  * should not be modified by hand.
 6  */
 7
 8 package android.basic.helloandroid;
 9
10 public final class R {
11     public static final class attr {
12     }
13     public static final class drawable {
14         public static final int ic_launcher=0x7f020000;
15     }
16     public static final class id {
17         public static final int menu_settings=0x7f070000;
18     }
19     public static final class layout {
20         public static final int activity_main=0x7f030000;
21     }
22     public static final class menu {
23         public static final int activity_main=0x7f060000;
24     }
25     public static final class string {
26         public static final int app_name=0x7f040000;
27         public static final int hello_world=0x7f040001;
28         public static final int menu_settings=0x7f040002;
29     }
30     public static final class style {
31         /**
32         Base application theme, dependent on API level. This theme is replaced
33         by AppBaseTheme from res/values-vXX/styles.xml on newer devices.
34
35
36             Theme customizations available in newer API levels can go in
37             res/values-vXX/styles.xml, while customizations related to
38             backward-compatibility can go here.
39
40
41         Base application theme for API 11+. This theme completely replaces
42         AppBaseTheme from res/values/styles.xml on API 11+ devices.
43
44  API 11 theme customizations can go here.
45
46         Base application theme for API 14+. This theme completely replaces
47         AppBaseTheme from BOTH res/values/styles.xml and
48         res/values-v11/styles.xml on API 14+ devices.
49
50  API 14 theme customizations can go here.
51          */
52         public static final int AppBaseTheme=0x7f050000;
53         /**  Application theme.
54  All customizations that are NOT specific to a particular API-level can go here.
55          */
56         public static final int AppTheme=0x7f050001;
57     }
58 }

从代码中可以看到R文件里面有很多类,每个类里面又有很多变量,这些类和变量在我们添加、删除控件或资源文件(图片、声音等)由开发工具自动帮我们维护的,由它来调用应用程序的各种资源,在代码第一句的注释中也说明了“AUTO-GENERATED FILE.  DO NOT MODIFY”。

layout文件:res/layout/activity_main.xml – 布局文件,双击activity_main.xml会进入可视化编辑界面,在这里你可以根据需要选择相应的控件:

也可以点击红框部分进入文本编辑界面直接写对应控件的代码(从截图代码文件可以看到该layout由一个相对布局和一个文本框组成):

AndroidManifest文件:在应用程序目录截图中倒数第四个可以看到一个AndroidManifest.xml文件,它是应用程序的配置文件包含在每个安卓应用程序中,它向系统描述了本程序所包括的组件、所实现的功能、所能处理的数据、要请求的资源等,可以近似看做网站中的Web.conig文件,同样它也可以由可视化编辑器或文本编辑器编辑:

Android.jar文件:Android.jar内部常用包作用概述,如下图所示:

可以看到Android.jar里面包含了很多包,常见包的作用如下:

android.app-----------提供高层的程序模型、提供基本的运行环境
android.content-------包含各种的对设备上的数据进行访问和发布的类
android.database------通过内容提供者浏览和操作数据库
android.graphics-------底层的图形库,包含画布,颜色过滤,点,矩形,可以将他们直接绘制到屏幕上.
android.location-------定位和相关服务的类
android.media---------提供一些类管理多种音频、视频的媒体接口
android.net------------提供帮助网络访问的类,超过通常的java.net.* 接口
android.os-------------提供了系统服务、消息传输、IPC 机制
android.opengl--------提供OpenGL 的工具
android.provider-------提供类访问Android 的内容提供者
android.telephony-----提供与拨打电话相关的API 交互
android.view-----------提供基础的用户界面接口框架
android.util------------涉及工具性的方法,例如时间日期的操作
android.webkit---------默认浏览器操作接口
android.widget---------包含各种UI 元素(大部分是可见的)在应用程序的屏幕中使用

转载于:https://my.oschina.net/pangzhuzhu/blog/318037

Android开发入门教程--Android应用程序结构分析相关推荐

  1. 视频教程-快速入门Android开发 视频 教程 android studio-Android

    快速入门Android开发 视频 教程 android studio 任苹蜻,爱学啊创始人 & CEO,曾就职于某二车手公司担任Android工程师后离职创办爱学啊,我们的宗旨是:人生苦短,我 ...

  2. 2012 android开发工具,2012最新完整版Android开发入门教程

    此文档为2012年最新完整版的Android开发入门教程,免费分享给大家,希望大家喜欢! 点击索取: android开发者资料大全 第一篇:安装SDK 这里主要介绍如何安装Android的SDK开发包 ...

  3. 【收藏向】谷歌技术团队出品,Android开发入门教程,开源分享

    程序员圈子中,python.java等都是热门领域,网络上相关学习资源也比较多,相较之下Android的学习资料就比较少了,并且大多是碎片化的知识,不够系统和全面. 今天就来整理一下Android开发 ...

  4. 为什么Android项目mainactivity中有一个变量R_【Android开发入门教程】二.Android应用程序结构分析!...

    一.新建HelloWorld项目: 1.打开Eclipse,点击"File"->"New"->"Project"-Android ...

  5. android开发教程,android开发入门教程

    所谓知己知彼才能百战百胜,想学好android就必须先了解 android是什么意思 android环境搭建 Android一词的本义指"机器人",同时也是Google于2007年 ...

  6. Android开发入门教程2-Android init 启动过程分析

    Android init 启动过程分析   分析android的启动过程,从内核之上,我们首先应该从文件系统的init开始,因为 init 是内核进入文件系统后第一个运行的程序,通常我们可以在linu ...

  7. 速读原著-Android应用开发入门教程(Android中建立工程)

    2.4 Android中建立工程 2.4.1. 建立工程 Android 的 SDK 环境安装完成后,就可以在 SDK 中建立工程并进行调试了. 建立 Android 工程步骤如下: 选择" ...

  8. Android开发入门教程01

    目标 有一个页面 版本号1.0.0 修改应用图标 添加启动界面 添加4个按钮,粉笔而进入不同页面传递标题 布局 跳转 有一个页面 更换图标 修改AndroidManifest.xml里面icon 更换 ...

  9. android开发入门配置,Android开发入门——Andoird Studio的安装与配置

    Android的开发离不开Java,仍然需要对Java进行安装与配置,所以我写了上一篇文章,Java的安装与配置. 开始进行Android Studio的安装与配置. 一.进行配置Java,如果电脑里 ...

最新文章

  1. 2010.10.30 OA 项目组一周工作报告
  2. 词袋模型(bag of words)构建并使用主题模型(topic models)特征进行文本聚类分析(clustering analysis)实战
  3. 这些哭笑不得的情景,每个程序员都可能面对
  4. Node.js进击基础一(5-11事件模块)
  5. log4j2的核弹漏洞是如何被发现的?
  6. CMD查询Mysql中文乱码的解决方法
  7. 案例|数据中心UPS电源系统割接实施方案
  8. 【JQuery】将Json Object序列化成URL的QueryString
  9. Office Live Workspace让协同办公无处不在
  10. arduino灯光装置_【pinpong库控制硬件】之Arduino uno-调光台灯
  11. select标签multiple属性的使用方法
  12. 打造个人专版为CMD加上一把锁
  13. pytorch函数测试
  14. 【接口测试用例设计思路】
  15. java垃圾回收的方法_java垃圾回收的方法都有哪些
  16. 3DMAX导出网格顶点切向量
  17. 阿里定向广告最新突破:面向下一代的粗排排序系统 COLD
  18. 使用Fiddler对手机App抓包
  19. oceanus-58总体框架理解
  20. 一句话获取spring下所有注解

热门文章

  1. 过程质量保证PQA的几个关键方面
  2. 目标驱动的软件度量(选译)
  3. ACP-PMP答题技巧
  4. springboot controller 分页查询_Spring Boot实战分页查询附近的人:Redis+GeoHash+Lua
  5. 使用spring-rabbit测试RabbitMQ消息确认(发送确认,接收确认)
  6. Android性能优化典范
  7. html css float left与 float right的使用说明
  8. MongoDB PHP数据库查询类
  9. 自己动手制作(DIY)一个Mini-Linux系统
  10. [ZZ]如何在Web页面上直接打开、编辑、创建Office文档