一、活动流程

1、创建活动

public class firstActivity extends Activity{}

2、创建布局

新建first_layout.xml文件

3、注册活动

在androidManifest.xml中注册活动

二、活动的几个功能点

1、隐藏标题栏

requestWindowFeature(Window.FEATURE_NO_TITLE);

2、使用Toast。提醒方式,不获得焦点,一段时间消失

Toast.makeText(firstActivity.this,"hello world",Toast.LENGTH_SHORT).show();

3、从布局文件获得元素

Button button1=(Button)findViewById(R.id.button_1);

4、使用menu

a.新建 android xml file来描述菜单main.xml

b.创建菜单 。重写活动中onCreateOptionMenu()方法

      @Override
      public boolean onCreateOptionsMenu(Menu menu)
      {
        getMenuInflater().inflate(R.menu.main, menu);
        return true;
      }

c.给菜单中选项添加响应。重写onOptionsItemSelected()方法

        @Override

        public boolean onOptionsItemSelected(MenuItem item){
        switch(item.getItemId()){
          case R.id.add_item:
          Toast.makeText(this, "add", Toast.LENGTH_SHORT).show();
          break;
          case R.id.remove_item:
          Toast.makeText(this, "remove", Toast.LENGTH_SHORT).show();
          break;
          default:
        }
        return true;
        }

5、销毁活动

finish();

三、活动之间相互调用。通过Intent类。有很多构造函数哦

1、显式启动另外一个活动。通过显式intent

Intent intent=new Intent(firstActivity.this,secondActivity.class);  //显示调用构建方法

startActivity(intent);

2、隐式启动另外一个活动。隐式intent

a、在androidManifest.xml中给活动<activity>指定响应的action和category

b、构建intent,带有响应标识

Intent intent=new Intent("com.example.activitytest.ACTION_START");

startActivity(intent);

3、启动其它程序中的活动。通过隐式intent

a、启动系统内置浏览器

Intent intent=new Intent(Intent.ACTION_VIEW);    //Intent.ACTION_VIEW常量为 “android.intent.action.view”

intent.setData(Uri.parse("http://www.baidu.com"));

b、启动内置拨号界面

Intent intent=new Intent(Intent.ACTION_DIAL);

intent.setData(Uri.parse("tel:10086"));

4、向下一个活动传递数据

a、向intent中写入数据

intent.putExtra("extra_data","我是数据哦");

b、从intent中取出数据

Intent intent=getIntent();

String data=intent.getStringExtra("extra_data");

5、向上一个活动传递数据

a、在第一个活动中启动带返回值的第二个活动。

startActivityForResult(intent,1);

b、在第二个活动中,给intent中写入数据

Intent intent=new Intent();

intent.putExtra("data_return","我是待返回的数据哦");

setResult(RESULT_OK,intent);

c、在第一个活动中,接收数据。通过重写onActivityResult()方法

@Override
    protected void onActivityResult(int requestCode,int resultCode,Intent data){
      switch(requestCode){
      case 1:
        if(resultCode==RESULT_OK){
      String retrundata=data.getStringExtra("data_return");
      Log.d("first",retrundata);
      }
      }

四、活动的生命周期

onCreate,onStart,onResume,onPause,onStop,onDestroy,onRestart

1、完整生存期  活动在onCreate和onDestroy方法之间所经历的,就是完整生存期。onCreate方法中完成初始化,onDestroy中释放内存

2、可见生存期  活动在onStart和onStop方法之间。可见生存期内,活动对于用户总是可见的,即便有可能无法和用户进行交互。

3、前台生存期  活动在onResume和onPause方法之间。前台生存期内,活动总是处于运行状态,此时的活动是可以和用户进行交互的。

五、活动的启动模式

在androidManifest.xml中,可以设置活动的启动模式四种

1、standard模式:每当启动一个新活动,系统都会创建该活动的一个实例。而不管这个活动是否已经在返回栈中存在。导致创建多个活动实例

2、singleTop模式:启动活动时,如果发现返回栈的栈顶已经是该活动,则认为可以直接使用它,而不会再创建新的实例。但是如果该活动不在栈顶,则创建一个新的实例。导致创建多个活动实例

3、singleTask模式:启动活动时,系统首先会在返回栈中检查是否存在该活动的实例,如果发现已经存在则直接使用该实例,并把在这个活动之上的所有活动统统出栈,如果没有发现就会创建一个新的活动实例。

4、singleInstance模式:指定为singleInstance模式的活动会启用一个新的返回栈来管理这个活动。解决共享活动实例的问题。

android:activity知识点的更多相关文章

  1. 【转】Android一些知识点汇总

    Android常用知识点总汇 一.系统上安装了多种浏览器,能否指定某浏览器访问指定页面?请说明原由. 如果在你的android系统上安装了多种浏览器,能否指定某浏览器访问指定页面?答案当然是:肯定的. ...

  2. 详解Android Activity启动模式

    相关的基本概念: 1.任务栈(Task)   若干个Activity的集合的栈表示一个Task.   栈不仅仅只包含自身程序的Activity,它也可以跨应用包含其他应用的Activity,这样有利于 ...

  3. Activity知识点详解

    Activity知识点详解 一.什么是Activity 官方解释: The Activity class is a crucial component of an Android app, and t ...

  4. Android:Activity+Fragment及它们之间的数据交换.

    Android:Activity+Fragment及它们之间的数据交换 关于Fragment与Fragment.Activity通信的四种方式 比较好一点的Activity+Fragment及它们之间 ...

  5. Android Activity launchMode研究

    Android Activity launchMode研究 Activity的Launch mode一共有四种: standard, singleTop, singleTask, singleInst ...

  6. android Activity类中的finish()、onDestory()和System.exit(0) 三者的区别

    android Activity类中的finish().onDestory()和System.exit(0) 三者的区别 Activity.finish() Call this when your a ...

  7. Android Activity的生命周期简单总结

    Android Activity的生命周期简单总结 这里的内容参考官方的文档,这篇文章的目的不是去总结Activity是如何启动,如何创造,以及暂停和销毁的,而是从实际开发中分析在Activity各个 ...

  8. Android Activity返回键控制的两种方式

    Android Activity返回键监听的两种方式 1.覆写Activity的OnBackPressed方法 官方解释: Called when the activity has detected ...

  9. Android Activity和Fragment的转场动画

    Android Activity和Fragment的转场动画 Activity转场动画 Activity的转场动画是通过overridePendingTransition(int enterAnim, ...

  10. android Activity生命周期(设备旋转、数据恢复等)与启动模式

    1.Activity生命周期     接下来将介绍 Android Activity(四大组件之一) 的生命周期, 包含运行.暂停和停止三种状态,onCreate.onStart.onResume.o ...

随机推荐

  1. Electron 安装与使用

    Electron是使用 JavaScript, HTML 和 CSS 构建跨平台的桌面应用 本文基于Windows进行开发的过程,记录下来,以便日后使用,Electron官网:https://elec ...

  2. SpringMVC源码解析 - HandlerAdapter - HandlerMethodArgumentResolver

    HandlerMethodArgumentResolver主要负责执行handler前参数准备工作. 看个例子,红色部分的id初始化,填充值就是它干的活: @RequestMapping(value ...

  3. [label][Apache] VirtualHost

    <VirtualHost *:80>    ServerName   localhost    DocumentRoot "D:\www"</VirtualHos ...

  4. 为方便二层升三层新增的远程方法QuerySql6()

    为了方便原来D6,D7开发的二层老程序升级为三层,新增了远程方法QuerySql6().充分地兼容原来二层SQL的写法. 1)公共方法ParamsToStr() function ParamsToSt ...

  5. C#动态编译引擎-CS-Script 简单使用

    Technorati 标记: cs-script 介绍可以参看  http://www.cnblogs.com/shanyou/p/3413585.html 还可以参看 这个  项目介绍 性能测试 c ...

  6. 使用dockerfile文件创建镜像时docker build没有反应

    问题: 先 docker pull centos:7 拉取了一个官方的基础镜像,为后续创建jdk8镜像做准备,在创建如下的dockerfile文件 执行docker build -t jdk_8u19 ...

  7. 遍历datatable的几种方法(C# )

    转载 遍历datatable的方法2009-09-08 10:02方法一:      DataTable dt = dataSet.Tables[0];      for(int i = 0 ; i  ...

  8. 1-初步了解C#-语言基础

    本篇博客对应视频讲解 前言 终于开始讲语言了,我选择讲C#.为什么呢?因为C#是很好的入门语言,简洁.全面,面向对象类型安全,开发体验好,上手容易.而其他的语言也已经有人讲了很多了,C#相对来说要少一 ...

  9. 手把手教你搭建hadoop+hive测试环境(新手向)

    本文由  网易云发布. 作者:唐雕龙 本篇文章仅限内部分享,如需转载,请联系网易获取授权. 面向新手的hadoop+hive学习环境搭建,加对我走过的坑总结,避免大家踩坑. 对于hive相关docke ...

  10. Python 开发安卓Android及IOS应用库Kivy安装尝试

    Python 开发安卓Android及IOS应用库Kivy安装尝试: 先来看看这货可以用来制作什么应用: Create a package for Windows Create a package f ...