2.2 Activity的基本用法
  • 隐藏标题栏

    • 在AndroidManifest.xml中配置,作为全局配置,在所有Activity范围内生效

      • android:theme="@android:style/Theme.NoTitleBar"
    • 在代码中配置,必须在setContentView()前调用该方法,只在当前Activity生效
      • requestWindowFeature(Window.FEATURE_NO_TITLE);
    • 在style.xml中设置
 
 
2.3 Intent的应用场景
  • Activity
  • Service
  • BroadcastReceiver
 
2.3.1 显式Intent
  • Intent intent = new Intent(CurrentActivity.this, NextActivity.class);
  • startActivity(intent);
  • 明确指定了下一个Activity
 
2.3.2 隐式Intent
     代码中创建Intent对象时并不明确指向具体的Activity。设定该Intent对象的action/category/data,在startActivity(intent)时,系统会调用在AndroidManifest.xml中注册的Activity,<intent-filter>里指定的action/category/data,必须与代码的设定完全一致。
  • action

    • Intent intent = new Intent(Intent.ACTION_VIEW);
    • 此处的ACTION_VIEW即为action。每个Intent对象只有一个action,可自定义
    • Intent.ACTION_VIEW响应打开浏览器的动作
    • Intent.ACTION_DIAL响应调用“拨号”动作
  • category
    • intent.addCategory(“MY_CATEGORY”);
    • 通过addCategory()来添加category,每个Intent对象可设置多个category,可自定义
  • data
    • 更精确地指定该Activity能响应的Intent类型,可设置多个data
    • android:scheme
    • android:host
    • android:mimeType
    • etc.
 
2.3.4 Activity之间传递数据(设Activity A向B传递数据)
  • 通过Intent传递,形式为key-value,如HashMap对象

    • intent.putExtra(“my_key", value);
  • A中将startActivity()更换为startActivityForResult(),并传入requestCode作为A接收到其他Activity返回的数据时的标识(flag)
    • startActivityForResult(intent, requestCode);
  • B中通过取得A传递过来的Intent对象取得数据
    • Intent intent = getIntent();
    • String data = intent.getStringExtra(“my_key");
  • 如果B要返回数据给A,需要添加returnCode
    • Intent intent = new Intent();
    • intent.putExtra(key, value);
    • setResult(RESULT_OK, intent);
    • finish();
  • A在onActivityResult()对B回传的数据进行处理
    • 根据requestCode使用switch语句进行处理
    • 可以根据resultCode进行判断(RESULT_OK/RESULT_CANCEL)
  • B在点击返回键时传递数据
    • 覆写onBackPressed();
    • super.onBackPressed();一定要注释掉或置于最后,否则会在这一步直接返回
 
 

Android:Activity & Intent的更多相关文章

  1. 【转】Android总结篇系列:Activity Intent Flags及Task相关属性

    [转]Android总结篇系列:Activity Intent Flags及Task相关属性 同上文一样,本文主要引用自网上现有博文,并加上一些自己的理解,在此感谢原作者. 原文地址: http:// ...

  2. Android总结篇系列:Activity Intent Flags及Task相关属性

    同上文一样,本文主要引用自网上现有博文,并加上一些自己的理解,在此感谢原作者. 原文地址: http://blog.csdn.net/liuhe688/article/details/6761337 ...

  3. Android:Activity之间跳转和参数传递

    一个activity就好比一个网页,此文章讲解怎样创建一个activity并且实现跳转! 一.学习创建Activity 1.新建一个java类,右击src目录,选择new-->class,新的a ...

  4. android:activity活动的生命周期

    掌握活动的生命周期对任何 Android 开发者来说都非常重要,当你深入理解活动的生命 周期之后,就可以写出更加连贯流畅的程序,并在如何合理管理应用资源方面,你会发挥的 游刃有余.你的应用程序将会拥有 ...

  5. Android:通过Intent访问一个网页

    Intent(意图)主要是解决Android应用的各项组件之间的通讯. 小实例 package com.example.testopen; import android.app.Activity; i ...

  6. Android :Activity、Adapter、List的初步学习

    Activity Activity 是一个应用组件,用户可与其提供的屏幕进行交互,以执行对手机应用操作. 每个 Activity 都会获得一个用于绘制其用户界面的窗口.窗口一般是会充满屏幕,但也不一定 ...

  7. Android:Activity统一堆栈管理(实现随时finish特定或是所有Activty)

    直接上代码: Activity管理类:AppManager /** * 应用程序Activity管理类:用于Activity管理和应用程序退出 * * @author BiHaidong * @ver ...

  8. Android Studio Activity Intent 闪退崩溃 Toolbar

    今天写登录注册页面,点击登录页面的“注册”按钮后软件突然崩溃,直接闪退,因为是新手,只能去网上搜.虽然网上解决方法众多,但也没找到可行的.想起来可以看Logcat,马上重新运行应用,查看崩溃时的日志, ...

  9. android:activity知识点

    一.活动流程 1.创建活动 public class firstActivity extends Activity{} 2.创建布局 新建first_layout.xml文件 3.注册活动 在andr ...

随机推荐

  1. 解题报告:hdu1248寒冰王座 - 完全背包模板

    2017-09-03 16:16:38 writer:pprp 完全背包问题:从左向右进行扫描,用一维阵列进行分析 代码如下: /* @theme:hdu1248 寒冰王座 @writer:pprp ...

  2. 生产消费模式:多线程读写队列ConcurrentQueue

    需求:现需要将多个数据源的数据导入到目标数据库,这是一个经典的生产消费应用的例子. 直接上代码,看下实现: // 初始化列队缓冲区 队列大小为100 IDataCollection<List&l ...

  3. 直播P2P技术2-低延迟模型

    低延迟模型 由上一篇文章我们知道:网状拓扑虽最大化利用了所有节点的资源却无法降低数据延迟,而树状拓扑尽管数据传输效率高,延迟低,但只利用了少部分节点的带宽资源,不适应高码率的直播P2P网络. 那么如何 ...

  4. Memcached CAS 命令

    Memcached CAS(Check-And-Set 或 Compare-And-Swap) 命令用于执行一个"检查并设置"的操作 它仅在当前客户端最后一次取值后,该key 对应 ...

  5. springboot解决开发环境和生产环境不一样的配置问题

    代码: application-dev.yml server: port: gril: cupSize: B age: application-prod.yml server: port: gril: ...

  6. Poi中getPhysicalNumberOfCells 与 getLastCellNum的差异

    getPhysicalNumberOfCells 与 getLastCellNum的区别 用org.apache.poi的包做excel导入,无意间发明若是excel文件中有空列,空列后面的数据全部读 ...

  7. Java循环结构 - for, while 及 do...while

    Java循环结构 - for, while 及 do...while 顺序结构的程序语句只能被执行一次.如果您想要同样的操作执行多次,,就需要使用循环结构. Java中有三种主要的循环结构: whil ...

  8. Codeforces Round #400

    最近好像总是有点不想打,专题也刷不动,还是坚持这做了一场,虽然打到一半就没打了...(反正通常都只能做出两题) 感觉自己切水题越来越熟练了,然而难题还是不会做.. A题,水,用vector存下来就行了 ...

  9. leetcode 427. Construct Quad Tree

    We want to use quad trees to store an N x N boolean grid. Each cell in the grid can only be true or ...

  10. MML命令_华为TD-LTE后台常用MML命令操作

    MML命令 2013年12月09日 from:https://blog.csdn.net/koudaidai/article/details/17219821 设备 类别 操作 详细 RNC 小区状态 ...