一、活动流程

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. Net下的 ORM框架介紹(转)

    http://www.cnblogs.com/zhaoyx/articles/1896638.html 在.NET平台下,关于数据持久层框架非常多,本文主要对如下几种做简要的介绍并推荐一些学习的资源: ...

  2. Android ListView的一个坑,你可掉进去过?

    需要的功能很简单,就是一个带checkbox的列表,提交时需要知道用户选择了那些项目,如下图: 使用SimpleAdapter作为数据适配器,重写SimpleAdapter.ViewBinder的方法 ...

  3. 超级详细的解决方法 (CentOS7) :永久修改 mysql read-only 问题 could not retrieve transation read-only status server

    一.查看mysql的事物隔离级别 SHOW VARIABLES LIKE '%iso%'; 二.临时修改事物隔离级别 SET GLOBAL tx_isolation='READ-COMMITTED'; ...

  4. ORA-00054、ORA-08002

    https://docs.oracle.com/cd/B10501_01/server.920/a96525/e7500.htm ORA-00054 resource busy and acquire ...

  5. view添加虚线边框

      CAShapeLayer *border = [CAShapeLayer layer];                 border.strokeColor = SLColorLine.CGCo ...

  6. hdu2364之BFS

    Escape Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Sub ...

  7. 简述负载均衡和CDN技术

    曾经见到知乎上有人问“为什么像facebook这类的网站需要上千个工程师维护?”,下面的回答多种多样,但总结起来就是:一个高性能的web系统需要从无数个角度去考虑他,大到服务器的布局,小到软件中某个文 ...

  8. Lucene之模糊、精确、匹配、范围、多条件查询

    Lucene的查询方式很 丰富,对于数值类型的数据,采取TermRangeQuery的方式,对于String类型的,就可以采取TermQuery等,查询方式了,可以通过采取合适的查询方式,检索到数据. ...

  9. 教你如何学python

    首先,你要有自信心,要明确学习目的.学Python,可以解决在软件使用中所遇到的问题,可以为找到理想工作添加重要砝码.还能锻炼思维,使我们的逻辑思维更加严密:能不断享受到创新的乐趣,将走在高科技的前沿 ...

  10. PPI协议(西门子PLCS7-200)

    西门子PLC S7-200 PPI协议报文,9600,偶校验,8数据位,1停止位 读取vb100寄存器:PC发送报文68 1B 1B 68 2 0 6C 32 1 0 0 0 0 0 E 0 0 4 ...