在开始使用Android SDK编写第一个示例之前,必须确保已经按照中的说明正确设置了您的Android开发环境。
下面来看看如何编写一个简单的Android应用程序,它将打印“Hello World!”。
注:理解这篇教程,对后面的学习非常重要。了解项目中每个目录和每个文件的功能和作用。
创建Android应用程序
第一步是使用Android Studio创建一个简单的Android应用程序。 当点击Android Studio图标启动完成时,它将显示如下所示的屏幕 –

可以通过调用Start a new Android Studio Project 来开始创建应用程序开发。 在新的安装框架中应询问应用程序名称,包装信息和项目的位置。

输入应用程序名称(HelloWorld)后,选择应用程序运行的Android目标设备,在这里需要指定最小的SDK,在这个教程中,选择最小SDK为 API 21:Android 5.0(Lollipop) –
下一级安装应该包含选择移动设备的活动,它指定应用程序的默认布局。

选择一个空的Activity,如下所示 –

配置Activity,默认即可,点击完成。如下所示 –

在完成之后,开发开发工具将显示如下界面,我们可以开始编写应用程序的代码了。

运行应用程序
下面来看看,如何运行这个"Hello World!" 应用程序。假设您在创建环境的时候创建了AVD。 要从Android Studio运行应用程序,请打开项目的一个活动文件,然后单击工具栏上的“运行app”图标。如下图中箭头指向的位置 –

选择发布目标,如下图所示 –

注意:在这个过程中,Android Studio 可能需要安装一些其它的依懒组件,这就要求必须能连接到互联网络了。安装过程如下 –

Android Studio 在配置的AVD上安装应用程序并启动它,如果您的设置和应用程序一切正常,它将显示以下“模拟器”窗口 –

Android项目结构概述
以下是Android Studio中的的项目结构图:
下面对上面文件或目录的解释 –
编号
文件或目录
描述
1
AndroidManifest.xml
这是清单文件,它描述了应用程序的基本特征并定义了它的每个组件。
2
java
这包含项目的.java源文件。 默认情况下,它包含一个具有活动类的MainActivity.java源文件,该Activity类在应用程序使用应用程序图标启动时运行。
3
res/drawable
以前的Android版本使用这个文件夹来存储图像,当前版本使用mipmap文件夹来存储图像。这个目录几乎不再使用。
4
res/layout
这是定义应用程序用户界面的文件的目录。
5
res/menu
包含将显示在操作栏上的项目的XML菜单文件夹
6
res/mipmap
使用来包含mipmap图像
7
res/values
这是包含资源集合(如字符串和颜色定义)的其他各种XML文件的目录。
1. AndroidManifest.xml
无论您作为应用程序的一部分开发什么组件,都必须在AndroidManifest.xml中声明其所有组件。这个文件作为Android OS和应用程序之间的接口,所以如果没有在这个文件中声明你的组件,那么操作系统将不会考虑它。 例如,默认清单文件将如下面的文件所示 –
2. res/mipmap
需要更多地了解mipmap文件夹中的图像,请参阅下面的图像,mipmap文件夹中有一个图像文件。
在使用Android应用程序时偶尔遇到的一个问题是,比如看到的图像比较模糊,像素化或笨拙地拉伸。 解决此问题的方法是为Android支持的每种密度创建一个可绘制的文件夹,并将正确缩放的图像放在每个文件夹中。 Android支持6种不同的密度范围(以每英寸点数衡量):
ldpi:低密度屏幕; 大约120dpi。
mdpi:中等密度(在传统的HVGA)屏幕上; 大约160dpi。
hdpi:高密度屏幕; 大约240dpi。
xhdpi:超高密度屏幕; 大约320dpi。 在API级别8中添加
nodpi:这可以用于位图资源,不想缩放到匹配设备密度。
tvdpi:屏幕介于mdpi和hdpi之间; 大约213dpi。这不被视为“主要”密度组。 它主要用于电视机,大多数应用程序不需要它 – 为大多数应用程序提供mdpi和hdpi资源已足够,系统将根据需要进行扩展。此限定符是在API级别13中引入的。
Android Activity生命周期
首先,了解Activity是什么?Activity是支持屏幕或UI的Java代码。换句话说,用户界面的构建块就是Activity。 Activity类是Android中的一个预定义类,每个拥有UI的应用程序都必须继承它来创建窗口。例如,MainActivity类是一个Activity,它从库中的Activity类扩展而来。 下图说明了一个Activity的生命周期。
Activity的一个生命周期描述了一个Activity开始启动后的进程,直到应用程序关闭。 包括Activity暂时停止的进程,恢复等等。

为了更容易理解,可以修改MainActivity类的代码,覆盖onStart(),onResume()等方法,添加显示方法已经运行的消息。重新运行应用程序,看看会发生什么?
package com.yiibai.myapplication; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.util.Log; import android.view.Menu; import android.view.MenuItem; public class MainActivity extends AppCompatActivity { public static final String TAG ="MyMessage"; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // Print Log Log.i(TAG,"onCreate"); } @Override protected void onStop() { super.onStop(); // Print Log Log.i(TAG,"onStop"); } @Override protected void onDestroy() { super.onDestroy(); // Print Log Log.i(TAG,"onDestroy"); } @Override protected void onPause() { super.onPause(); // Print Log Log.i(TAG,"onPause"); } @Override protected void onResume() { super.onResume(); // Print Log Log.i(TAG,"onResume"); } @Override protected void onStart() { super.onStart(); // Print Log Log.i(TAG,"onStart"); } @Override protected void onRestart() { super.onRestart(); // Print Log Log.i(TAG,"onRestart"); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. // Print Log Log.i(TAG, "onCreateOptionsMenu"); return true; } @Override public boolean onOptionsItemSelected(MenuItem item) { // Print Log Log.i(TAG, "onOptionsItemSelected"); // Handle action bar item clicks here. The action bar will // automatically handle clicks on the Home/Up button, so long // as you specify a parent activity in AndroidManifest.xml. int id = item.getItemId(); return super.onOptionsItemSelected(item); } }
重新运行应用程序,并且看到记录在logcat窗口上的消息。

可以将筛选器设置为logcat,只显示日志记录的消息。

过滤器名称:My Filter日志标记(正则表达式):MyMessage

现在,logcat 窗口只显示指定的消息。

Android应用程序如何运行?
您已经成功运行了第一个Android应用程序,现在来回顾一下从应用程序调用以来Android如何运行。

在“项目”窗口中看到的不是涉及创建应用程序的所有组件。有些组件是由编译器程序自动生成的。 而且它不显示在项目窗口上。 例如,根据项目中源文件的结构,编译器将创建一个R.java 源文件,该文件为项目上的资源定义常量。要在Android Studio上查看R.java 文件,请打开MainActivity类,右键单击R.layout.main_activity,然后选择执行(Go to / Implementation)


在R.java类中定义的常量是根据Project中的资源来创建的:

因此,在项目的某个地方,可以使用常量来引用项目中的资源。例如,R.layout.activity_main是一个常量,它表示res/layout文件夹中的activity_main.xml文件。
工作原理:

¥ 我要打赏 纠错/补充 收藏
哥,这回真没有了
本文介绍了如何使用Android Studio创建和运行第一个Hello World应用程序,包括环境设置、项目创建步骤、运行应用程序的过程,以及对Android项目结构和关键文件的简要说明,如AndroidManifest.xml和Activity生命周期。
1207

被折叠的 条评论
为什么被折叠?



