【Android开发入门教程】二.Android应用程序结构分析

Java精品资料,Java 实战项目,还有Android开发教程,内含多线程,结构,算法,BATJ面试题等等大牛累积经验~~ ~须要更多资料,能够加入咱们Java交流学习基地免费获取:_ 925050116 _!!!_

1、新建HelloWorld项目:

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

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

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

建立后的项目:web

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

运行结果:
算法

2、应用程序目录结构简析:数据库

一、应用程序目录结构:浏览器

二、各部分说明:网络

Activity文件:双击目录中的“MainActivity.java”,能够看到MainActivity的代码:多线程

package android.basic.helloandroid;

import android.os.Bundle;

import android.app.Activity;

import android.view.Menu;

public class MainActivity extends Activity {

 @Override

 protected void onCreate(Bundle savedInstanceState) {

 super.onCreate(savedInstanceState);

 setContentView(R.layout.activity_main);

 }

 @Override

 public boolean onCreateOptionsMenu(Menu menu) {

 // Inflate the menu; this adds items to the action bar if it is present.

 getMenuInflater().inflate(R.menu.activity_main, menu);

 return true;

 }

}`

从代码中能够看到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目录下面,双击显示代码:

/* AUTO-GENERATED FILE.  DO NOT MODIFY.

 *

 * This class was automatically generated by the

 * aapt tool from the resource data it found.  It

 * should not be modified by hand.

 */

package android.basic.helloandroid;

public final class R {

 public static final class attr {

 }

 public static final class drawable {

 public static final int ic_launcher=0x7f020000;

 }

 public static final class id {

 public static final int menu_settings=0x7f070000;

 }

 public static final class layout {

 public static final int activity_main=0x7f030000;

 }

 public static final class menu {

 public static final int activity_main=0x7f060000;

 }

 public static final class string {

 public static final int app_name=0x7f040000;

 public static final int hello_world=0x7f040001;

 public static final int menu_settings=0x7f040002;

 }

 public static final class style {

 /**

 Base application theme, dependent on API level. This theme is replaced

 by AppBaseTheme from res/values-vXX/styles.xml on newer devices.

 Theme customizations available in newer API levels can go in

 res/values-vXX/styles.xml, while customizations related to

 backward-compatibility can go here.

 Base application theme for API 11+. This theme completely replaces

 AppBaseTheme from res/values/styles.xml on API 11+ devices.

 API 11 theme customizations can go here.

 Base application theme for API 14+. This theme completely replaces

 AppBaseTheme from BOTH res/values/styles.xml and

 res/values-v11/styles.xml on API 14+ devices.

 API 14 theme customizations can go here.

 */

 public static final int AppBaseTheme=0x7f050000;

 /**  Application theme.

 All customizations that are NOT specific to a particular API-level can go here.

 */

 public static final int AppTheme=0x7f050001;

 }

}`

从代码中能够看到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 元素(大部分是可见的)在应用程序的屏幕中使用

相关文章
相关标签/搜索