(10 Android)实验项目_Android UI与Activity组件(上)

(10 Android)实验项目_Android UI与Activity组件(上)

一、实验目的

(1) 掌握常用的布局方法。

(2) 掌握Activity组件的生命周期。

二、实验内容及步骤

在Android Studio中,新建名为Example3的项目,然后在此项目中完成如下几个模块的设计:

1.掌握各种布局的特点、Android常用控件的使用

(1) 在项目里,新建名为example3_1的模块。

(2) 在默认的约束布局里,添加垂直线性布局并内嵌水平线性布局,然后依次添加文本框、下拉列表、单选按钮组和复选框等控件。

(3) 部署模块并做运行测试。

(4) 在文件夹res/layout 里新建一个布局文件,指定根标签为FrameLayout (帧布局)。在Design模式下,向该布局依次添加两个控件,查验后添加的控件对象会在前一控件对象上进行覆盖而形成遮挡。

2. 掌握Activity组件的生命周期

(1) 在项目里,新建名为example3_2的模块,在MainActivity程序的onCreate()方法里,使用Log.i()语句,打印一条Log信息。

(2) 在onCreate()方法体外的空白处,按【Ctrl+O】组合键,选择onRestart(),在该方法里也使用Log.i()语句打印一条Log信息,其Tag名与onCreate()方法里Log.i()语句指定的名称相同。依次重写组件的其他生命周期方法onStart()、onResume()、onPause()、onStop()和onDestory()。

(3) 部署本模块并运行,打开Logcat控制台,按照程序里使用的Tag名过滤,观察所执行的生命周期方法。

(4) 按返回键,观察所执行的生命周期方法。

(5) 再次运行,将手机切换成横屏,观察所执行的生命周期方法。查验在执行onDestory()后,再重新执行onCreate()等生命周期方法。

package com.example.example3_2;

import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.util.Log;

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        /*第一次安装运行或从任务栈激活,都将调用此方法*/
        setContentView(R.layout.activity_main);
        Log.i("mytest", "主Activity被创建了!—onCreate()");
    }
    @Override
    protected void onStart() {
        super.onStart();
        /*Activity从不可见变为可见时调用;Activity第一次被创建时也调用*/
        Log.i("wutest", "主Activity(从不可见变为)完全可见了!—onStart()");
    }
    @Override
    protected void onResume() {
        super.onResume();
        /*Resume系重新开始之意*/
        Log.i("wutest", "主Activity(重新)开始了!—onResume()");
    }
    @Override
    protected void onPause() {
        super.onPause();
        /*当来电时,除了会调用方法onPause()外,还会调用方法onStop()*/
        Log.i("wutest", "主Activity暂停了!—onPause()");
    }
    @Override
    protected void onStop() {
        super.onStop();
        /*进入其它Activity时调用(导致当前Activity进入Activity栈而不可见);主Activity按返回键也调用*/
        Log.i("wutest", "主Activity不可见了!—onStop()");
    }
    @Override
    protected void onRestart() {
        super.onRestart();
        /*Activity由停止状态变为运行状态时调用。例如,从任务栈重新运行程序时*/
        Log.i("wutest", "Activity restarted!—onRestart()");
    }
    @Override
    protected void onDestroy() {
        super.onDestroy();
        //主Activity按返回键会执行此回调方法
        Log.i("wutest", "主Activity被销毁了!—onDestroy()");
    }
    @Override
    public void finish() {  //不是生命周期方法,在按返回键会执行此回调方法,重写父类方法
        super.finish();  //销毁Activity(super.必须),屏蔽此行代码,将不会销毁Activity
        /*
            页面跳转时finish()方法应用的业务场景:
            场景1:在很多APP中,首次进入APP时需要登录才能进入到APP首页,但成功登录跳转到APP的首页后,再按返回键,
            应该直接返回到手机主界面而不是登录界面。
            场景2:在订单列表中,A activity 中点击新建订单进入新建订单 B activity 中,点击保存后,
            跳转到订单详情 C activity 中(在 B activity 的跳转到 C activity 时加入finish()方法),
            在 C activity 中点击返回键就可以直接返回到 A activity 中。
            结论:跳转后在按返回键时,不需要返回到原Activity 就可以使用finish()方法*/
        Log.i("wutest", "主Activity—finish()");
    }
}

原文地址:https://www.cnblogs.com/chenhanhao/p/12536508.html

时间: 2024-11-08 09:18:05

(10 Android)实验项目_Android UI与Activity组件(上)的相关文章

Android窗口管理服务WindowManagerService显示Activity组件的启动窗口(Starting Window)的过程分析

文章转载至CSDN社区罗升阳的安卓之旅,原文地址:http://blog.csdn.net/luoshengyang/article/details/8577789 在Android系统中,Activity组件在启动之后,并且在它的窗口显示出来之前,可以显示一个启动窗口.这个启动窗口可以看作是 Activity组件的预览窗口,是由WindowManagerService服务统一管理的,即由WindowManagerService服务负责 启动和结束.在本文中,我们就详细分析WindowManag

论一款炫酷 Android 开源项目的修炼之路(上)

写在前面 在平时的开发过程中,我们经常会查阅很多的资料,最常参考的是 Github 的开源项目.通常在项目的主页面能看到项目的简介和基本使用,并且时不时能看到页面汇中有好多的彩色标签,看起来很酷,很专业,很有逼格,能提升很多的好感度. 前言 本文是一篇很长的文章,其中有很多是素材图片,务必做到每个细节笔者都实践一遍.考虑到大家时间有限,各取所需,所以按照笔者的惯例,首先发布一篇完整版,其次,有一篇缩略版.但本文这次缩略版不好做,所以综合考虑,把每个单独的知识点拆分出来,抓住重点,尽量让大家看的开

优秀的 Android 开源项目

摘要  转载http://www.trinea.cn/android/android-open-source-projects-view/,方便大家找到自己合适的资料 目录[-] 一.ListView 二.ActionBar 三.Menu 四.ViewPager .Gallery 五.GridView 六.ImageView 七.ProgressBar 八.其他 GitHub上优秀Android开源项目 3. Android开发神器 1.Xabber客户端 2.oschina客户端 3.手机安全

GitHub 优秀的 Android 开源项目

转自:http://blog.csdn.net/shulianghan/article/details/18046021 主要介绍那些不错个性化的View,包含ListView.ActionBar.Menu.ViewPager.Gallery.GridView.ImageView.ProgressBar及其它如Dialog.Toast.EditText.TableView.Activity Animation等等. 一.ListView android-pulltorefresh 一个强大的拉动

【转】GitHub 优秀的 Android 开源项目

转自:http://blog.csdn.net/shulianghan/article/details/18046021 主要介绍那些不错个性化的View,包括ListView.ActionBar.Menu.ViewPager.Gallery.GridView.ImageView.ProgressBar及其他如Dialog.Toast.EditText.TableView.Activity Animation等等. 一.ListView android-pulltorefresh 一个强大的拉动

GitHub 优秀Android 开源项目

阅读目录 1.Xabber客户端 2.oschina客户端 3.手机安全管家 4.星座连萌 5.玲闹铃 6.魔乐盒 7.PWP日历 8.Apollo音乐播放器 9.夏普名片识别 10.高仿人人网 11.简洁天气 12.高仿开心网 13.百度推聊 14.餐厅订餐 15.eoe客户端 16.饭否网客户端 17.imiPhoneWall 18.k9mail 19.MSD音乐 20.高仿爱奇艺 21.企信通 22.高仿生日管家 23.PM25 24.高仿陌陌 25.股民邦 26.CB资讯阅读 27.幽秘

GitHub上最火的74个Android开源项目

GitHub上最火的74个Android开源项目 1.ActionBarSherlock ActionBarSherlock应该算得上是GitHub上最火的Android开源项目了,它是一个独立的库,通过一个API和主题,开发者就可以很方便地使用所有版本的Android动作栏的设计模式. 对于Android 4.0及更高版本,ActionBarSherlock可以自动使用本地ActionBar实现,而对于之前没有ActionBar功能的版本,基于Ice Cream Sandwich的自定义动作栏

转载__直接拿来用!最火的Android开源项目(一)

http://www.csdn.net/article/2013-05-03/2815127-Android-open-source-projects 已分类汇总到 https://github.com/Trinea/android-open-project 每日更新Android开源项目第一篇——个性化控件(View)篇包括ListView.ActionBar.Menu.ViewPager.Gallery.GridView.ImageView.ProgressBar.其他等等Android开源

GitHub优秀的Android 开源项目

GitHub上优秀Android开源项目 转载自 : http://my.eoe.cn/sisuer/archive/3348.html http://my.eoe.cn/sisuer/archive/3474.html http://my.eoe.cn/sisuer/archive/3348.html GitHub在中国的火爆程度无需多言,越来越多的开源项目迁移到GitHub平台上.更何况,基于不要重复造轮子的原则,了解当下比较流行的Android与iOS开源项目很是必要.利用这些项目,有时能