intent.getbooleanextra的用法 -回复

intent.getbooleanextra的用法-回复intent.getBooleanExtra是Android中的一个方法,用于从Intent中获取布尔类型的额外数据。Intent用于在不同组件之间传递数据,而额外数据可以添加到Intent对象中,以便在多个组件之间共享。

intent.getBooleanExtra方法允许我们从传递的Intent中提取一个布尔类型的额外数据,并返回一个布尔型的值。

在这篇文章中,我们将详细介绍intent.getBooleanExtra方法的使用方法,并提供一些示例,以便更好地理解这个方法的作用和用法。

一、intent.getBooleanExtra 方法的语法和参数解释

intent.getBooleanExtra方法的语法如下:

public boolean getBooleanExtra(String name, boolean defaultValue)

该方法接受两个参数:

- name:要提取的额外数据的名称。

- defaultValue:如果在Intent中没有找到指定名称的额外数据,则返回的默认布尔值。

该方法将返回一个布尔型的值,即被提取的额外数据的值。如果在Intent中没有找到指定名称的额外数据,则返回指定的默认布尔值。

二、intent.getBooleanExtra 的使用示例

为了更好地理解intent.getBooleanExtra方法的使用方法,我们将提供以下几个示例。

1. 从一个Activity向另一个Activity传递布尔类型的数据

在发送数据的Activity中,首先创建一个Intent对象,并使用putExtra 方法添加一个布尔类型的额外数据:

java

Intent intent = new Intent(SenderActivity.this, ReceiverActivity.class);

intent.putExtra("isVerified", true);

startActivity(intent);

在接收数据的Activity中,使用getBooleanExtra方法从Intent中提取该布尔型的额外数据:

java

Intent intent = getIntent();

boolean isVerified = intent.getBooleanExtra("isVerified", false);

上述代码中,如果在Intent中找不到名为"isVerified"的额外数据,则返回的默认值为false。

2. 从一个Service向一个Activity传递布尔类型的数据

在发送数据的Service中,创建一个Intent对象,并使用putExtra方法添加一个布尔类型的额外数据:

java

Intent intent = new Intent(this, ReceiverActivity.class);

intent.putExtra("isSuccess", true);

startActivity(intent);

在接收数据的Activity中,使用getBooleanExtra方法从Intent中提取该布尔型的额外数据:

java

Intent intent = getIntent();

boolean isSuccess = intent.getBooleanExtra("isSuccess", false);

上述代码中,如果在Intent中找不到名为"isSuccess"的额外数据,则返回的默认值为false。

3. 从一个BroadcastReceiver向一个Service传递布尔类型的数据

在发送数据的BroadcastReceiver中,创建一个Intent对象,并使用putExtra方法添加一个布尔类型的额外数据:

java

Intent intent = new Intent(this, MyService.class);

intent.putExtra("isAllowed", true);

context.startService(intent);

在接收数据的Service中,使用getBooleanExtra方法从Intent中提取该布尔型的额外数据:

java

Override

public int onStartCommand(Intent intent, int flags, int startId) { boolean isAllowed = intent.getBooleanExtra("isAllowed", false);

进行相应的操作

return START_STICKY;

}

上述代码中,如果在Intent中找不到名为"isAllowed"的额外数据,则返回的默认值为false。

总结:

本文中,我们详细介绍了intent.getBooleanExtra方法的用法,以及提供了一些示例,以便更好地理解这个方法。通过使用

intent.getBooleanExtra方法,我们可以轻松从Intent中提取布尔类型的额外数据,并在应用程序的不同组件之间共享数据。这样,我们就能够更好地实现应用程序的功能,并实现数据的传递和共享的需求。

Android Fragment使用详解

Fragment(一) 1. 继承关系 https://www.360docs.net/doc/2a19346666.html,ng.Object |__android.app.Fragment 实现接口:ComponentCallbacks2 View.OnCreateContextMenuListener 引入版本:API Level 11 已知的子类: DialogFragment、ListFragment、PreferenceFragment、WebViewFragment 2. 类概要 一个Fragment是应用程序的用户界面或行为的一个片段,它能够被放置在一个Activity中。通过FragmentManager对象来实现与Fragment对象的交互,能够通过Activity.getFragmentManager()方法和Fragment.getFragmentManager()方法来获取FragmentManager对象。 Fragment类有着广泛的应用,它的核心是代表了一个正在较大的Activity中运行的特俗的操作或界面。Fragment对象跟它所依附的Activity对象是紧密相关的,并且不能被分开使用。尽管Fragment对象定义了它们自己的生命周期,但是这个生命周期要依赖与它所在的Activity:如果该Activity被终止,那么它内部的Fragment是不能被启动的;当Activity被销毁时,它内部的所有Fragment对象都会被销毁。 所有的Fragment子类都必须包含一个公共的空的构造器。在需要的时候,Framework 会经常重新实例化Fragment类,在特殊的状态恢复期间,需要能够找到这个构造器来实例化Fragment类。如果空的构造器无效,那么在状态恢复期间会导致运行时异常发生。 较旧的平台 尽管Fragment API是在HONEYCOMB版本中被引入的,但是通过FragmentActivity也能够在较旧的平台上使用该API。 声明周期 尽管Fragment对象的生命周期要依附于它所在的Activity对象,但是它也有自己标准的活动周期,它包含了基本的活动周期方法,如onResume(),但是同时也包含了与Activity 和UI交互相关的重要方法。

Android 源码系列之七从源码的角度深入理解IntentService及HandlerThread

Android 源码系列之<七>从源码的角度深入理解IntentService及 HandlerThread 提起Service大家都很熟悉,它乃Android四(si)大(da)组(jing)件(gang)之一。但是说起IntentService有童靴或许有点陌生,看名字感觉和Service有关连。不错,不仅有关联而且关系还不一般,IntentService是Service的子类,所以它也是正宗的Service,由于IntentService 借助了HandlerThread,我们今天就从源码的角度巴拉一下IntentService及HandlerThread,看看它们是何方神圣,如果你对它们非常熟悉,请跳过本文(*^__^*) …… 开始巴拉IntentService源码之前我们先看看它的基本用法,既然IntentService是正宗的Service,那它的用法就和Service一样。IntentService也是一个抽象类,需要实现其抽象方法onHandleIntent()。我们先定义BackgroundService,使之继承IntentService并实现其抽象方法onHandleIntent(),然后重写IntentService的生命周期方法并打印日志,代码如下:[java] view plain copy 在CODE上查看代码片派生到我的代码片 public class BackgroundService extends IntentService { private static final String TAG = BackgroundService.class.getSimpleName(); public BackgroundService() { super("TT"); Log.e(TAG, "BackgroundService() " + Thread.currentThread()); } @Override public void onCreate() { Log.e(TAG, "onCreate() " + Thread.currentThread()); super.onCreate(); } @Override public void onStart(Intent intent, int startId) { Log.e(TAG, "onStart() " + Thread.currentThread()); super.onStart(intent, startId); } @Override public int onStartCommand(Intent intent, int flags, int startId) { Log.e(TAG, "onStartCommand() " + Thread.currentThread()); return super.onStartCommand(intent, flags, startId); } @Override

Android期中试题

Android期中试题 1.Activity的布局文件放在哪个目录下()。 res/xml res/values res/layout res/layouts 2.在下列选项中,关于onActivityResult方法中的参数描述错误的是()。 requestCode,表示在启动Activity时传递的请求码 resultCode,表示在返回数据时传入结果码 data,表示携带返回数据的Intent data,表示启动Activity时传递的Intent 3.在BaseAdapter的方法中,根据位置返回一个条目的View的方法是()。 getView() getItem() getItemView() getItemId() 4.Android中使用xmlPullParser解析器解析xml,获取解析事件类型的方法是( ) 。 getDocument() getDocumentTag() getEventType() getAttribute() 5.使用SQLiteOpenHelper类可以生成一个数据库并可以对数据库版本进行管理的方法是( )。 getDatabase() getWriteableDatabase() getReadableeableDatabase() getAbleDatabase() 6.下面哪些功能需要用ContentProvider来实现()。 读取系统中的短信内容 建立一个数据库 开机后自动启动一个程序 播放一段音乐 7.()启动模式与standard类似,不同的是,当启动的Activity已经位于栈顶时,则直接使用它不创建新的实例。 singleTask singleTop singleTask和 singleTop singleInstance 8.Android UI开发中,在GridLayout中如何设置某控件占3行()。 android:layout_columnSpan="3" android:layout_rowSpan="3" android:rowSpan="3" android:layout_column="3"

移动互联网应用开发课程典型案例展示与分析

《移动互联网应用开发》课程典型案例展示与分析 专业:软件技术 制作人:王光亚 系部: 信息工程系 日期:2016-10-9

目录 案例1:图片浏览器 (2) 案例2:简易计算器 (4) 案例3:登录跳转 (8) 案例4:生词本 (10)

案例1:图片浏览器 一、案例来源:疯狂安卓讲义 二、案例简介:实例GridViewTest结合使用GridView和ImageSwitcher实现了一个图片浏览器。其中GridView用于显示16个图片,ImageSwitcher用于显示方法的预览图片,并且有2张图片的切换效果。 三、案例展示:其显示效果如图1-1所示。 图1-1 四、案例分析 1、GridView用于在界面上按行、列分布的方式来显示多个组件。ImageSwitcher是Android中控制图片展示效果的一个控件,他所显示的图片切换时可以设置动画效果。 2、案例源码: https://www.360docs.net/doc/2a19346666.html,.siso.gridview; importjava.util.ArrayList; importjava.util.HashMap; importjava.util.List; importjava.util.Map; importandroid.os.Bundle; importandroid.app.Activity; importandroid.view.Menu;

importandroid.widget.GridView; importandroid.widget.SimpleAdapter; public class MainActivity extends Activity { privateGridViewimageGrid; private String[] icon_name; privateint[] image = { R.drawable.calendar_year, R.drawable.call, R.drawable.camera, R.drawable.games_control, R.drawable.google_plus2, R.drawable.home, R.drawable.location, R.drawable.skype }; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(https://www.360docs.net/doc/2a19346666.html,yout.activity_main); imageGrid = (GridView) findViewById(R.id.imageGrid); // 载入ICON文字信息 icon_name = getResources().getStringArray(R.array.icon_name); List>gridItems = newArrayList>(); // 创建数据资源合集 for (int i = 0; i gridItem = new HashMap(); gridItem.put("image", image[i]); gridItem.put("icon_name", icon_name[i]); gridItems.add(gridItem); } // 创建GridView的SimpleAdapter SimpleAdaptersimpleAdapter = new SimpleAdapter( MainActivity.this, gridItems, https://www.360docs.net/doc/2a19346666.html,yout.item_icon, new String[]{"image", "icon_name"}, newint[]{R.id.image, R.id.icon_name}); // 为GridView设置Adapter imageGrid.setAdapter(simpleAdapter); }

为Android应用添加搜索功能

在本系列共两篇的教程中,将指导开发者如何利用Android的搜索框架进行搜索功能的开发。在第一篇就是本文中,将让开发者了解Android的搜索框架,在第二篇教程中,将展示关于搜索建议和全局搜索整合到app应用中去。 本地搜索VS 全局搜索 我们先来看下在Android的搜索框架中,本地搜索和全局搜索两个概念和它们之间的区别。 本地搜索: 指的是由app应用本身提供的搜索功能,这对任何的app应用都应该最好提供这样的功能,比如一个食谱的app应用应该能让用户在这个应用中根据关键字去进行搜索。本地搜索是在某一app内进行的,不同的app应用之间不能进行互相的搜索。 全局搜索 另一方面,全局搜索能让用户在主屏幕中通过快速搜索框根据关键字,在各app中展开相关的搜索,Android使用了多种数据源来为全局搜索提供帮助。比如下图中,展示了在Android平板系统中,可以看到左边部分是用户输入的搜索内容,使用的是google的搜索,检索出来的结果中,甚至能包含用户机器上安装的app应用的标题,它们展示在右边。 用户对于全局搜索的体验是跟本地搜索的是完全不同的。全局搜索的功能中,可以使用google进行搜索,搜索的范围包括安装到本地机器的app应用,通讯录等,甚至包括某些允许使用全局搜索的app的检索结果。下图中,展示的是可以进行全局搜索的数据来源,可以看到包括了web,各app应用,音乐,消息和通讯录。

可以看到,一个好的app应用,应该尽可能在上图中出现,这样用户在搜索时,才会优先考虑对其进行检索,更方便用户的操作。在本教程的第2篇中,将更详细指导用户如何去进行全局检索。 在APP应用中启用搜索 在app应用中,至少要执行如下的三个步骤,才能让app应用能够进行检索。如果要提供搜索建议,还需要执行第4步: 1编写搜索配置的XML文件 2编写搜索的activity类 3在Android的manifest.xml文件中,对两面两个步骤的工作进行配置。 4如果要使用搜索建议,则需要增加一个contentprovider。 配置搜索的XML配置文件 首先看下如何配置搜索的XML配置文件。先命名配置文件名称为searchable.xml,保存在res/xml文件夹中。然后需要设置搜索框的文本,并且应该增加一个hint的提示文本信息,如下代码所示: 5 8android:hint="@string/search_hint" 9 关于搜索配置文件有很多的配置选项,建议参考Android的手册可以获得更多: https://www.360docs.net/doc/2a19346666.html,/guide/topics/search/searchable-config.html。

Android通过两种模式来支持各种USB外设和Android USB配件

Android 通过两种模式来支持各种 USB 外设和 Android USB 配件(指那些符合 Android 附件协议的 硬件) :USB 配件和 USB 主机。在 USB 配件的模式之下,外部的 USB 配件就像 USB 主机那样。这 种配件可以包括机器人控制器,基站连接器,医疗和音乐设备,电话亭以及读卡器这样很多的设备。 这样就使得那些搭载 Android 系统的设备不需要具备主机的特性就可以和 USB 硬件进行交互。 Android USB 配件是指那些专门用来为搭载 Android 系统的设备工作以及符合 Android 附件通信协议 的设备。 在 USB 主机的模式之下, 搭载 Android 的设备就像主机那样工作。 这些设备包括数码相机, 键盘,鼠标以及游戏控制器。Android USB 设备被设计成具有广泛的应用领域,可以很好的完成人机 互动应用的通信设备。 图 1 就显示了这两种模式的区别。当搭载 Android 系统的设备处于主机的模式下,它就充当 USB 主机 并且为总线提供能源。而当搭载 Android 系统的设备处于 USB 配件的模式下时,连接的 USB 硬件(这 种情况下,指的是一个 Android USB 配件)作为主机一样并且为总线提供能源。 在 Android3.1(API12 级)或较新的平台直接支持 USB 配件和主机模式。USB 配件模式以一个附加 的类库的方式支持范围更广的设备 被移植到 Android 2.3.4(API10 级)。设备生产商可以决定是否在 系统镜像上附加这个类库。 注意:支持 USB 主机和配件模式主要取决于设备的硬件,而不是平台的等级。你可以通过一个 [[]]元素来为设备进行过滤以支持 USB 主机和配件。 看这个 USB 配件和主机文档来 了解更多的详情。
调试注意事项
当用 USB 主机或者配件调试应用程序时,你最好有连接到搭载 Android 程序的设备的 USB 硬件。这 样可以避免你要通过 USB 来为搭载 Android 的设备建立一个 adb 的连接。你可以在一个网络连接中 一直连着 adb。确保 adb 在一个网络连接的方式: 1.通过 USB 连接搭载 Android 系统的设备和你的电脑 2.在命令提示符中找到你的 SDK platform_tools/ 目录,输入 adb tcpip 5555 3.输入 adb connect : 5555 你应该已经连接到了搭载 Android 程序的设备并且 能够发出像 adb logcat 这样一般 的 adb 命令 4.在 USB 上为你的设备设置一个监听,输入 adb usb
USB 配件
USB 配件模式允许用户连接那些专门搭载 Android 设备的 USB 主机硬件。 这些配件必须遵守 Android 配件开发工具包文档中所列出的 Android 附件协议。这使得搭载 Android 系统的设备在不充当 USB 主机的情况之下,仍然可以和 USB 硬件进行交互。当一台搭载 Android 系统的设备处于 USB 配件模 式时,所依附的 Android USB 配件作为主机为 USB 总线提供能源以及列举出相连的设备。 Android3.1(API12 级)提供了 USB 配件模式并且这一特点也继承了 Android2.3.4(API10 级)以此来支 持更多设备。
选择正确的 USB 附件 APIs
尽管 USB 附件 API 在 Android3.1 平台才开始介绍,但是也可以在 Android2.3.4API 中通过附加类库 使用。因为这些 APIs 都是通过额外的类库来使用的,你可以导入两个包来支持 USB 配件模式。取决 于你想支持什么样的搭载 Android 系统的设备,你也许不得不在一个的基础上使用另外一个:

Android进阶——Preference详解之Preference系的基本应用和管理(二)

Android进阶——Preference详解之Preference系的基本应用和管理(二) 一、PreferenceActivity 1、PreferenceActivity概述 PreferenceActivity是一个抽象类,继承于ListActivity,以列表形式视图来展现界面,加载的整个View也是基于ListActivity中那个ListView的,其最主要的优势在于添加Preference后可让其状态持久化储存(通过SharedPreferences,一般存储在/data/data//shared_prefs文件夹下的默认名为“app package name”+”_preferences.xml”的文件里),比如说用户勾选CheckBox 后退出应用,下一次进入到这一界面时候,对应的是CheckBox依然是被勾选状态,如果要实现这样的机制,我们自己也可以实现,但是没有必要,因为Android已经替我们实现了,就是我们的这一系列的主角——Preference,Preference会自动地替我们去保存这些状态对应的值到对应的SharedPreferences文件里,而当我们每次启动的时候Acitivity (PreferenceActivity)会自动根据key去获取相关数据,完成用户界面的更新。我们手机当中的系统设置就是及其典型的Preference的应用,也正是由于工作中需要去客制化Settings,才有了这一系列的文章。 上图是我们定制的Settings模块中的对应的部分SharedPreferences。关于Preference对应的SharedPreferences往往很容易被我们忽视两点 并非我们第一次打开相应界面之后就会自动创建对应的SharedPreferences文件,而是在我们改变了原有状态时候 并非所有的Preference及其子类都会创建,仅仅针对需要记录状态的Preference。 2、PreferenceActivity的初始化 PreferenceActivity其实和普通的Activity本质上来说区别不大,只不过多了些自动去读取SharedPrefrences的值来更新界面和其他一些逻辑,所以初始化本质上来说并无很大的区别,但是与普通Activity的layout不同,PreferenceActivity的layout我们可以理解成为两个部分:其他View和一个id为android.R.id.list的ListView,那么我们可以理解成为当我们在onCreate 方法里先调用setContentView完成整个Activity的View的构建(layout文件里必须包含id 为android.R.id.list的listView,否则会报E/AndroidRuntime: Caused by:

Android中bindService的使用及Service生命周期

Android中bindService的使用及Service 生命周期 Android中有两种主要方式使用Service,通过调用Context的startService方法或调用Context 的bindService方法,本文只探讨纯bindService的使用,不涉及任何startService方法调用的情况。 bindService启动服务的特点 相比于用startService启动的Service,bindService启动的服务具有如下特点: 1. bindService启动的服务在调用者和服务之间是典型的client-server的接口,即调用者是客户端,service是服务端,service就一个,但是连接绑定到service上面的客户端client可以是一个或多个。这里特别要说明的是,这里所提到的client指的是组件,比如某个Activity。 2. 客户端client(即调用bindService的一方,比如某个Activity)可以通过IBinder接口获取Service的实例,从而可以实现在client端直接调用Service中的方法以实现灵活的交互,并且可借助IBinder实现跨进程的client-server的交互,这在纯startService启动的Service中是无法实现的。 3. 不同于startService启动的服务默认无限期执行(可以通过Context的stopService或Service 的stopSelf方法停止运行),bindService启动的服务的生命周期与其绑定的client息息相关。当client销毁的时候,client会自动与Service解除绑定,当然client也可以通过明确调用Context的unbindService方法与Service解除绑定。当没有任何client与Service绑定的时候,Service会自行销毁(通过startService启动的除外)。 4. startService和bindService二者执行的回调方法不同:startService启动的服务会涉及Service 的的onStartCommand回调方法,而通过bindService启动的服务会涉及Service的onBind、onUnbind等回调方法。 bindService代码示例 使用bindService主要分两种情形: 1. Service的调用者client与Service在同一个App中; 2. Service的调用者client是App1中的一个Activity,而Service是App2中的Service,client 与service分属两个App,这种情形下主要用于实现跨进程的通信。 为了简单起见,本文只讨论第一种情形,即Service的调用者client与Service在同一个App 中,该情形也是我们在实际开发中用到最多的情形。如果想了解通过bindService在两个不同的进程中让客户端与Service通信,可参见另一篇博文《Android中通过Messenger与Service 实现进程间双向通信》。 下面我们通过一个例子演示一下第一种情形下bindService的基本使用流程。 首先我们有一个TestService,该类继承自Service,其是client-server接口中的server端。我们在其主要的生命周期回调方法中都加入了输出语句。TestService代码如下: package com.ispring.startservicedemo;

关于android4.0中访问网络不能在主线程中进行以及Handler的使用

关于android4.0中访问网络不能在主线程中进行以及Handler的使用 谷歌在4.0系统以后就禁止在主线程中进行网络访问了,原因是: 主线程是负责UI的响应,如果在主线程进行网络访问,超过5秒的话就会引发强制关闭,所以这种耗时的操作不能放在主线程里。放在子线程里,而子线程里是不能对主线程的UI进行改变的,因此就引出了Handler,主线程里定义Handler,子线程里使用。 主线程的Handler定义: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 Handler loginHandler = new Handler() { public void handleMessage(Message msg) { isNetError = msg.getData().getBoolean("isNetError"); System.out.println(isNetError); if (proDialog != null) { proDialog.dismiss(); } if (isNetError) { Toast.makeText(LoginActivity.this, "登陆失败:\n1.请检查您网络连接.\n 们!", Toast.LENGTH_LONG).show(); } // 用户名和密码错误 else { Toast.makeText(LoginActivity.this, noticeMsg, Toast.LENGTH_LONG).show(); // 清除以前的SharePreferences密码 clearSharePassword(); } } }; 主线程里进行登录时候的子线程:? 1 2 3 // 开一个线程进行登录验证,主要是用于失败,成功直接通过startAcitivity(Intent)转向 Thread loginThread = new Thread(new LoginFailureHandler()); loginThread.start();

Android 页面直接传值(个人笔记)

一:Android基础之页面之间传值 一:【Android基础】页面跳转与传值(Activity跳转与传值) 一个Android应用程序很少会只有一个Activity对象,如何在多个Activity之间进行跳转,而且能够互相传值是一个很基本的要求。 本次我们就讲一下,Android中页面跳转以及传值的几种方式! Activity跳转与传值,主要是通过Intent类来连接多个Activity,通过Bundle类来传递数据。 最常见最一般的页面跳转代码,很简单,如下: 1.Intent intent = new Intent(A.this, B.class); 2.startActivity(intent); 也可以这样写: 1.Intent intent = new Intent(); 2.intent.setClass(A.this, B.class); 3.startActivity(intent); 只要这两句,就可以实现从A页面跳转到B页面了。 (A、B均继承自Activity) 有的时候,在跳转页面时还需要传递数据,这个时候如何做呢? 如果数据比较少,比如只要传一个名字,那么只要j加一句"intent.putExtra("Name", "feng88724");"即可,代码如下: 1.Intent intent = new Intent(); 2.intent.setClass(A.this, B.class); 3.intent.putExtra("Name", "feng88724"); 4.startActivity(intent); 如果数据比较多,就需要使用 Bundle类了,代码如下: (说明直接看注释) 1.Intent intent = new Intent(A.this, B.class); 2. 3./* 通过Bundle对象存储需要传递的数据 */ 4.Bundle bundle = new Bundle(); 5./*字符、字符串、布尔、字节数组、浮点数等等,都可以传*/ 6.bundle.putString("Name", "feng88724");

黑马程序员安卓教程:Activity 的跳转

Activity 的跳转 一个Android应用通常有多个界面,也就说有多个Activity,那么如何从一个Activity跳转到另外一个Activity 呢?以及跳转的时候如何携带数据呢? Activity 之间的跳转分为2 种: 显式跳转:在可以引用到另外一个Activity的字节码,或者包名和类名的时候,通过字节码,或者包名+类名的方法实现的跳转叫做显示跳转。显示跳转多用于自己工程内部多个Activity之间的跳转,因为在自己工程内部可以很方便地获取到另外一个Activity的字节码。 隐式跳转:隐式跳转不需要引用到另外一个Activity的字节码,或者包名+类名,只需要知道另外一个Activity 在AndroidManifest.xml 中配置的intent-filter 中的action 和category 即可。言外之意,如果你想让你的Activity可以被隐式意图的形式启动起来,那么就必须为该Activity配置intent-filter。 Activity 之间的跳转都是通过Intent 进行的。Intent 即意图,不仅用于描述一个的Activity 信息,同时也是一个数据的载体。 4

1.2.1 显示跳转 为了方便演示,我们创建一个新的Android工程《Activity的跳转》。然后创建两个Activity类,分别为FirstActivity,和SecondActivity,并在Android工程的清单文件中声明这两个Activity类。工程清单中添加Activity配置如【文件1-3】所示。 【文件1-3】AndroidManifest.xml中注册Activity 1. 4. 5. 6. 7. 8. 9. 10. 在上面的清单文件中,我们将FirstActivity配置成了主Activity,SecondActivity则为普通Activity。这样FirstActivity就是我们应用的入口Activity了。 FirstActivity 和SecondActivity 代码清单如下所示。 【文件1-4】FirstActivity.java 1.package com.itheima.activitySkip; 2. 3.import android.app.Activity; 4.import android.content.Intent; 5.import android.os.Bundle; 6.import android.view.View; 7. 8. public class FirstActivity extends Activity{ 9. 10.@Override 11.protected void onCreate(Bundle savedInstanceState){ 12.super.onCreate(savedInstanceState); 13.setContentView(https://www.360docs.net/doc/2a19346666.html,yout.activity_first); 14.} 15.//绑定界面的 Button 控件的点击事件,点击后实现跳转到 SecondActivity 16.public void skip2Second(View view){ 17.//创建一个Intent对象,并传递当前对象(Context对象)和要跳转的Activity类字节码 18.Intent intent= new Intent(this, SecondActivity.class); 19.//Intent 同时也是数据的载体,在跳转的时候可以携带数据 20.//通过intent的putExtra(key,value)方法可以设置数据 21.//Intent 支持所有基本数据类型及其数组形式 22.intent.putExtra("name","张三"); 23.//启动第二个Activity 24.startActivity(intent); 5

物联网移动应用开发习题答案任务5、6

~~~~~~~~~~~~~~~任务5~~~~~~~~~~~~~~~~~~~~~~~~~ 1.动作条有哪些用法abc A.显示应用或活动名称,使用户知道当前在应用中的哪个位置 B.可以在活动条上突出显示共享内容或完成搜索 C.导航到其他活动来完成一个动作 D.退出程序 2.在哪里可以设置应用主题a A. AndroidManifest.xml B. app/src/main/res/values C. app/src/main/menu D.MainActivity.java 3. 资源文件包含一个或者多个样式。每个样式使用____元素定义b A. B.