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. word2vector 使用方法 计算语义相似度

    参考:http://techblog.youdao.com/?p=915#LinkTarget_699word2vector是一个把词转换成词向量的一个程序,能够把词映射到K维向量空间,甚至词与词之间 ...

  2. Mac 升级node与npm

    第一步,先查看本机node.js版本: node -v 第二步,清除node.js的cache: sudo npm cache clean -f 第三步,安装 n 工具,这个工具是专门用来管理node ...

  3. 【Python】简单实现爬取小说《天龙八部》,并在页面本地访问

    背景 很多人说学习爬虫是提升自己的一个非常好的方法,所以有了第一次使用爬虫,水平有限,依葫芦画瓢,主要作为学习的记录. 思路 使用python的requests模块获取页面信息 通过re模块(正则表达 ...

  4. [postgreSql]postgreSql数据库、模式、表、函数的删除与创建

    1.删除/新增数据库    DROP DATABASE "testDB";    CREATE DATABASE "testDB" WITH OWNER = t ...

  5. linux 使用dd命令清空文件

  6. day22 CMDB 基础部分 (一)

    参考博客: http://www.cnblogs.com/alex3714/articles/5420433.html

  7. h5开发中,利用微信或者QQ登陆以后获取用户头像在canvas画布显示问题

    在实际开发上先的h5页面产品中,总会遇到各种坑,好多坑都是安卓和iPhone端兼容的问题(用电脑谷歌浏览器输入  chrome://inspect/#devices可以用手机USB调试,打开) eg: ...

  8. webstrom 配置eslint 自动修复错误

    1.展示效果 如何给vue项目添加eslint呢,如何自动修复呢? 先展示一下效果: 2.配置步骤 1.安装插件ESLint plugin webstrom 其实有个非常好用的插件,ESLint pl ...

  9. Upgrade Bash on Ubuntu from 14.04 to 16.04

    过程 1 sudo -S apt-mark hold sudo sudo -S apt-mark hold procps sudo -S apt-mark hold strace 2 sudo do- ...

  10. hdu4115

    题解: 2-sat 对于bob出的每一张牌,alice显然只有两种选择 然后对于每一个限制,连边 判断是否可行 代码: #include<cstdio> #include<cmath ...