首先学会手动创建一个活动:

                            首先在包下面创建一个活动类,让它继承自Activity类,项目中的任何活动都应该重写 Activity 的 onCreate()方法。

                            创建和加载布局:在res/layout目录下,新建Android XML File。然后可以在XML文件下添加一些组件,比如按钮,菜单

                            在onCreate()方法中调用setContentView(R.layout.first_layout)加载布局

                            在 AndroidManifest 文件中注册:所有的活动都要在 AndroidManifest.xml 中进行注册才能生效
                       
    注册的声明要放在<application>内,通过<activity>标签来对活动进行注册。android::name来指定具体注册哪一个活动

                      android::label指定活动中标题栏的内空,然后通过intent-filter将其设为主活动。

                            《第一行代码》(一)_android
     
     
   总结一下整个过程:首先定义一个活动类,在XML文件中定义这个活动的布局,并在onCreate()方法中加载进来,然后在AndroidManifest中    

    中对这个活动进行注册。

     然后学会使用toast:是 Android 系统提供的一种非常好的提醒方式, 在程序中可以使用它将一些短小的信息通知给用户,这些信息会在一段时间后自动消失,                                       并且不会占用任何屏幕空间
                         Toast 的用法非常简单, 通过静态方法 makeText()创建出一个 Toast 对象, 然后调用 show()将 Toast 显示出来就可以了

在活动中使用 Menu:可以让菜单都能得到展示的同时,还能不占用任何屏幕的空间

                             首先在 res 目录下新建一个 menu 文件夹,右击 res 目录→New→Folder,输入文件夹名

                             menu,点击 Finish。接着在这个文件夹下再新建一个名叫 main 的菜单文件,右击 menu 文件

                             夹→New→Android XML File


                            在 main.xml 中创建菜单项,其中<item>标签就是用来创建具体的某一个菜单项,然后通

                            过 android:id给这个菜单项指定一个唯一标识符, 通过 android:title给这个菜单项指定一个名称

                            重写 onCreateOptionsMenu()方法:

                            通过 getMenuInflater()方法能够得到 MenuInflater 对象,再调用它的 inflate()方法就可以给

                            当前活动创建菜单了


                            仅仅让菜单显示出来是不够的,我们定义菜单不仅是为了看的,关键是要菜单真

                            正可用才行,因此还要再定义菜单响应事件:重写 onOptionsItemSelected()方法


使用 Intent 在活动之间穿梭:

                            Intent 是 Android 程序中各组件之间进行交互的一种重要方式,它不仅可以指明当前组

                           件想要执行的动作,还可以在不同组件之间传递数据。Intent 一般可被用于启动活动、启动

                           服务、以及发送广播等场景


                            Intent 的用法大致可以分为两种,显式 Intent 和隐式 Intent。先看显式的。

                            Intent 有多个构造函数的重载,其中一个是 Intent(Context packageContext, Class<?> cls)。

                           这个构造函数接收两个参数,第一个参数 Context 要求提供一个启动活动的上下文,第二个

                            参数 Class 则是指定想要启动的目标活动, 通过这个构造函数就可以构建出 Intent 的 “意图” 。

                           Activity 类中提供了一个 startActivity()方法, 这个方法

                           是专门用于启动活动的, 它接收一个 Intent参数


                            相比于显式 Intent,隐式 Intent 则含蓄了许多(不好理解),它并不明确指出我们想要启动哪一个活

                             动, 而是指定了一系列更为抽象的 action 和 category 等信息, 然后交由系统去分析这个 Intent,

                             并帮我们找出合适的活动去启动

                            通过在<activity>标签下配置<intent-filter>的内容,可以指定当前活动能够响应的 action

                            和 category


                            隐式调用可以不直接指定活动,而是指定可以响应这个活动的action来间接调用活动。

                            action和category要完全匹配才能够响应。


更多隐式 Intent 的用法: 通过一个活动来展示一个网页、调用系统拨号界面

                                 向下活动传递数据:通过 putExtra()方法传递

                                 返回数据给上一个活动:startActivityForResult()方法也是用于启动活动的,

                                 但这个方法期望在活动销毁的时候能够返回一个结果给上一个活动。