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. 如何优雅的进入IT世界

    原始地址:http://www.cocoachina.com/gamedev/misc/2014/0613/8808.html 以下三段是废话,请跳过.   (废话段1)有文科生想了解IT世界.这并不 ...

  2. poj 2528 Mayor's posters 线段树+离散化 || hihocode #1079 离散化

    Mayor's posters Description The citizens of Bytetown, AB, could not stand that the candidates in the ...

  3. TCP_DB_中间件_数据打包格式

    ZC: 这里约定的是,C和S之间 传输的TCP数据包的格式 1.TCP数据包 打包格式 1.1.TCP包长度(int32) + TCP包序号(int32) + TCP包类型(int32) + TCP包 ...

  4. XAMPP apache443端口被占用

    点击netstat,可以看到443端口被vmvare占用,那只能改端口了, config,选择Apache(http-ssl.conf)文件,找到443端口,改成其他不被占用的端口,就可以了.

  5. 设计模式---工厂方法C++实现

    工厂方法C++实现 1描述 定义一个用于创建对象的接口,让子类决定实例化哪一个类.工厂方法使一个类的实例化延迟到其子类 2类图描述 3代码实现: class Product { protected: ...

  6. 键盘对应数字-keycode值大全(转)

    event.keycode值大全   keycode 8 = BackSpace BackSpace    keycode 9 = Tab Tab    keycode 12 = Clear    k ...

  7. JAVA经典总结

    Java经典实例(第二版) 1. 获取环境变量 Java代码 1. System.getenv("PATH"); 2. System.getenv("JAVA_HOME& ...

  8. ts结合vue使用的感悟

    TypeScript 前端现在越来越强大,多人开发更是常见,加上各大框架都开始支持TypeScript,而谷歌和微软又更加积极,导致不得不去学习,顺道通过js来了解ts,再通过ts来了解强类型语言.一 ...

  9. 利用CSS变量实现悬浮效果

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  10. LeetCode OJ:Copy List with Random Pointer(复制存在随机链接的链表)

    A linked list is given such that each node contains an additional random pointer which could point t ...