Разработка приложений для Android Начала работы учебника --2.Android структурного анализа

Во-первых, новый проект HelloWorld:

1, откройте Eclipse , нажмите на кнопку " Файл " -> " Новый " -> " Проект " - Android Проект приложения "":

 

В всплывающем окне «New Android Application» форма введите соответствующее имя приложения, имя проекта, имя пакета и выберите соответствующую версию SDK и применить тему:

Выберите место для сохранения проекта, весь путь «следующий», чтобы завершить создание проекта:

После создания проекта:

В названии проекта для создания правой кнопкой мыши, чтобы выбрать «Run As» -> «Приложения для Android» Проект запуска только что создали:

Результат:

Во-вторых, анализ структуры каталога приложений:

1, структура каталога приложений:

2, часть описания:

Файл активность: Дважды щелкните папку «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 класса активности наследуется, активность Android представляет собой вид части дисплея интерфейса обработки заряда. В котором переписать MainActivity onCreateOptionsMenu OnCreate метод и методы родительского класса, переопределенный метод в методе OnCreate setContentView (R.layout.activity_main) предусмотрен для зрения MainActivity R.layout.activity_main , который будет отображаться, вид глядя из класса R и нагрузки (чувствует , как MVC, активность эквивалентно макета контроллера и отображения эквивалентно определенной страницу).

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 механизм
андроид. OpenGL -------- обеспечивают OpenGL инструменты
android.provider ------- класс обеспечивает доступ к Android контент - провайдера
android.telephony ----- предоставить информацию , относящуюся к API вызовов взаимодействовать
android.view ----------- интерфейс для обеспечения пользовательского интерфейса на основе рамочного
android.util ------------ инструментальные методы включают, например, дата и время проведения операции
android.webkit --- ------ браузер по умолчанию В качестве интерфейса
android.widget --------- содержит различные элементы пользовательского интерфейса (наиболее видимые) с помощью приложения экрана

 

Воспроизводится в: https: //my.oschina.net/secyaher/blog/274441

рекомендация

отblog.csdn.net/weixin_34402408/article/details/91967071