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. 7.scala:继承

    版权申明:转载请注明出处. 文章来源:http://bigdataer.net/?p=315 排版乱?请移步原文获得更好的阅读体验 类似于java中的继承,在scala中同样有继承一说,而且在很多方面 ...

  2. Shell脚本 curl获取必应每日壁纸(Mac OS)

    Mac上Safari不能下载壁纸,遇到好看的很想用作壁纸.写了一小段脚本用来拉取网页图片. curl: -sS 参数用来取消下载状态显示 grep 首先把含有图片网址的行提取了出来,针对这一行再做se ...

  3. 一个带展示的jsp上传控件模型

    带展示上传控件的基本模型,无样式 jsp部分: <td> <form id="form1" enctype="multipart/form-data&q ...

  4. springboot数据库操作及事物管理操作例子

    一.配置文件 pom.xml <dependency> <groupId>org.springframework.boot</groupId> <artifa ...

  5. 将springboot项目发布到独立的tomcat中运行

    在开发阶段我们推荐使用内嵌的tomcat进行开发,因为这样会方便很多,但是到生成环境,我希望在独立的tomcat容器中运行,因为我们需要对tomcat做额外的优化,这时我们需要将工程打包成war包发进 ...

  6. ClipboardJS的坑,

    new 一下构造函数就出错了,为什么...Uncaught TypeError: Cannot read property 'addEventListener' of nullat r (clipbo ...

  7. CentOS开端口问题

    关闭SELINUX ##查看SELINUX状态 /usr/sbin/sestatus -v getenforce #修改config配置文件,重启后即可 vi /etc/selinux/config ...

  8. 2-3 sshd服务---暴力破解应对策略

      sshd服务暴力破解步骤 sshd暴力破解方法 防止暴力破解调优 1. 变更默认端口 2. 变更root用户 3. 日志监控-->防止暴力破解(fail2ban应用) fail2ban详解 ...

  9. CentOS6.5 linux 逻辑卷管理 调整分区大小

    [root@localhost ~]# df -h Filesystem Size Used Avail Use% Mounted on /dev/mapper/VolGroup-lv_root 50 ...

  10. Highcharts 气泡图

    Highcharts 气泡图 配置 chart 配置 配置 chart 的 type 为 'bubble' .chart.type 描述了图表类型.默认值为 "line". cha ...