首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

速读原著-Android应用开发入门教程(屏幕间的跳转和事件的传递)

6.4.1.跳转的方法 本示例是一个简单的屏幕之间的跳转,从一个屏幕跳转到另一个屏幕,在启动第二个屏幕后,前一个屏幕消失。...是android.content 包中的类,用于启动活动、服务或者消息接收器。...> cls) 第一个参数是当前的上下文类型 Context,因此把当前的活动设置过去即可(Activity 本身继承了 Context),第二个是 Intent 所包含的 JAVA 类,直接设置 ForwardTarget.class...本例中使用了 finish()函数表示当前的活动结束,这样在第二个活动(ForwardTarget)启动时,第一个活动(Forward)已经不存在了。...如果没有调用 finish()函数,第二个活动启动时,第一个活动就处于 OnPause 状态,当第二个活动退出后,第一个活动重新出现,也就是会调用活动的 onResume()函数。

90720

速读原著-Android应用开发入门教程(屏幕间的跳转和事件的传递)

6.4.1.跳转的方法 本示例是一个简单的屏幕之间的跳转,从一个屏幕跳转到另一个屏幕,在启动第二个屏幕后,前一个屏幕消失。...是 android.content 包中的类,用于启动活动、服务或者消息接收器。...> cls) 第一个参数是当前的上下文类型 Context,因此把当前的活动设置过去即可(Activity 本身继承了 Context),第二个是 Intent 所包含的 JAVA 类,直接设置 ForwardTarget.class...本例中使用了 finish()函数表示当前的活动结束,这样在第二个活动(ForwardTarget)启动时,第一个活动(Forward)已经不存在了。...如果没有调用 finish()函数,第二个活动启动时,第一个活动就处于 OnPause 状态,当第二个活动退出后,第一个活动重新出现,也就是会调用活动的 onResume()函数。

85710
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    安卓应用安全指南 4.1.3 创建使用活动 高级话题

    由于这个漏洞,可能会将敏感信息发送到其他应用,或者应用可能会收到意外的返回值。 如上所示,使用意图过滤器,将隐式意图发送到私有应用,可能会导致意外行为,因此最好避免此设置。...发送到任务的根Activity的意图,被添加到任务历史中。 根活动是在任务中启动的第一个活动。 任何应用都可以通过使用ActivityManager类,读取添加到任务历史的意图。...例如,当默认活动由启动器启动时,此活动将是根活动。 根据 Android 规范,发送到根Activity的意图的内容可以从任意应用中读取。 因此,有必要采取对策,不要将敏感信息发送到根活动。...目标包名称 目标类名称 由Intent#setData()设置的 URI 例如,当应用发送邮件时,如果应用将邮件地址指定为 URI,则邮件地址不幸会输出到LogCat。...下面我们显示一个覆盖IsValidFragment()的示例。 请注意,如果源代码已被混淆,则类名称和参数值比较的结果可能会更改。 在这种情况下,有必要寻求替代对策。

    1.4K20

    【Android开发基础系列】Android开发学习专题

    Activity被“覆盖”的情景:Android的Activity一般都占据一个完整的屏幕,从当前Activity启动另外一个Activity时,另一个Activity将被启动到前台(Foreground...在获取句柄时需要转换成相应的控件类型,findViewById()函数的参数是一个整数,返回值是一个android.view.View类型。...然后通过setOnClickListener()将其设置到按钮中的参数就是this,表示了当前的活动。通过这种方式的设置,如果程序中有多个控件需要设置,那么所设置的也都是一个函数。...Android屏幕跳转的关系和方式如下图所示: 屏幕跳转的方式 5.4.1 Intent跳转方法         本示例是一个简单的屏幕之间的跳转,从一个屏幕跳转到另一个屏幕,在启动第二个屏幕后...第二个是Intent所包含的JAVA类,直接设置ForwardTarget.class类即可。

    33320

    面向初学者的 Android 应用开发基础知识

    四个主要的应用程序组件是: 活动 服务 广播接收器: 内容提供商: 活动:它处理 UI 和用户与屏幕的交互。换句话说,它是一个包含活动的用户界面。这些可以是一个或多个,具体取决于应用程序。...它在应用程序启动时启动。至少有一个活动始终存在,称为 MainActivity。该活动通过以下方式实施。...class MyReceiver extends BroadcastReceiver{ public void onReceive(context,intent){ } 内容提供者:内容提供者用于在另一个应用程序的请求下将数据从一个应用程序传输到另一个应用程序...Java 文件夹: JAVA文件夹包含执行应用程序后台任务所需的 java 文件。它由按钮、计算、存储、变量、toast(小弹出消息)、编程功能等功能组成。这些文件的数量取决于创建的活动类型。...Gradle 的 Android 插件与构建工具包一起工作,以提供特定于构建和测试 Android 应用程序的流程和可配置设置。

    1.3K20

    Activity 活动跳转(Java&Kotlin)

    Activity 活动跳转(Java&Kotlin) 任何正式APP都不可能只有一个Activity,当有多个Activity时,怎么从一个Activity进入到另一个Activity呢?...Java //传递方 //活动跳转时传值 通过键值的方式传递 另一页面接收根据键来取值 Intent intent = new Intent(this,TestActivity.class...所以Android允许在代码中手动设置启动表示,这样在不同时候调用startActivity方法就能运行特定的启动模式。...()) 短小精悍 来看一下所有的Java方法对应的Anko库的写法 Intent类的启动标志 Anko库的标志设置函数 FLAG_ACTIVITY_NEW_TASK newTask() FLAG_ACTIVITY_SINGLE_TOP...④ 处理返回数据 页面跳转的多数情况是上一个页面传递请求参数给下一个页面,当然也有少数情况是上一个页面需要接受下一个页面的返回数据,此时Kotlin和Java一样都采取startActivityForResult

    1.7K30

    Android 教程

    因此,让我们来看看如何来设置所需的环境。 安装 Java 开发工具包(JDK) 你可以从 Oracle 的 Java 网站:JDKJava SE下载下载最新版本的 Java 。...应用框架 应用框架层以 Java 类的形式为应用程序提供许多高级的服务。应用程序开发者被允许在应用中使用这些服务。 活动管理者 - 控制应用程序生命周期和活动栈的所有方面。...Activities 一个活动标识一个具有用户界面的单一屏幕。举个例子,一个邮件应用程序可以包含一个活动用于显示新邮件列表,另一个活动用来编写邮件,再一个活动来阅读邮件。...一个活动是Activity类的一个子类,如下所示: public class MainActivity extends Activity { } Services 服务是运行在后台,执行长时间操作的组件...public class MyReceiver extends BroadcastReceiver { } Content Providers 内容提供者组件通过请求从一个应用程序到另一个应用程序提供数据

    90620

    大话企业级android读书笔记(二)

    随着活动从一个状态转为另一个状态,通过调用下面的受保护的方法通知该改变: void onCreate(Bundle saveInstanceState) void onStart() void onRestart...所有的活动必须要实现onCreate()去做一些初始化的设置,当对象第一次实例化的时候。很多活动也会实现onPause()去提交数据修改或准备停止与用户交互。...一个活动在onCreate()中做所有的“全局”状态的初始设置,在onDestroy()中释放所有保留的资源。...因此,这两个方法的代码应当是相当轻量级的。 下面这个图解释了这三个循环和状态之间状态的可能路径。着色的椭圆表示活动的主要状态,矩形表示当活动在状态之间转换时你可以执行的回调方法。 ?...注意上面表格的Killable列,它表示当方法返回时没有执行活动的其它代码,系统是否能杀死活动寄宿的进程。三个方法(onPause()、onStop()、onDestroy())标记为Yes。

    1K50

    android开发_Intent初级学习

    前面说到用Intent来拨打电话和发送短信,主要是介绍了Intent的一些简单方法,这里Intent启动了另一个Activity,在之前的内容都是在一个Activity中进行操作的。...但是在实际应用中,我们会有很多个Activity,如何从一个Activity跳到其他的Activity,这时就需要用到Intent了,既然有多个Activity,那么我们就要创建另一个Activity文件...-- 跳转到另一个MainActivity --> 8 <Button 9 android:id="@+id/hongtenBtn" 10 android...返回到MainActivity类, 42 //并且把名字为"back"参数的字符串传递到MainActivity类中 43 //同时会调用MainActivity类中的onActivityResult(...REQUEST_CODE比较 30 //如果我们在MainActivity类中有不止一个Button时, 31 //都调用了startActivityForResult()方法,那么我们的程序就 32

    46920

    Android Intent漏洞

    Intent漏洞 1.Intent 类型 显示Intent 显式Intent通过提供目标应用的包名称或完全限定的组件类名来指定哪个应用程序将满足意向。 即需要明确组件类名。...用于获取用户选择的文件(文档、图象、视频)的URI,并在应用中进行处理(例如,将文件发送到服务器中),大多Android/Java无法将Android ContentResolver返回的InputSteam...ps:上面是我的理解,不知道对不对 访问任意组件 由于 Intent 是 Parcelable,因此属于此类的对象可以作为额外数据传递给另一个 Intent。...(而不是 Intent 的主要内容)时,将使用选择器。...但是,开发人员可以将选择器显式设置为 null: intent.setComponent(null); intent.setSelector(null); 即便如此,您也可以创建一个隐式意图来匹配 某些未导出活动的

    63430

    【Android 启动过程】Activity 启动源码分析 ( Activity -> AMS、主线程阶段 )

    * 当此活动退出时,您的 * 将使用给定的请求代码调用onActivityResult()方法。...(), mToken, this, intent, requestCode, options) 方法 , 注意传入的参数是 7 个参数 , 函数原型为 : public class Instrumentation...* * @param who 从中启动活动的上下文的参数。 * @param contextThread 活动所在上下文的主线程正在启动。...* @param target 哪个活动正在执行启动(并因此接收任何结果);如果未进行此调用,则可能为null从一项活动中。 * @param intent 启动的实际意图。...* @param requestCode 标识符;如果调用方不希望得到结果设置小于 0。 * @param options 参数选项添加选项。

    2.6K30

    Android 8.0 功能和 API(翻译自Google官网)

    如果 Activity 支持多窗口模式,并且在具有多显示器的设备上运行,则用户可以将 Activity 从一个显示器移动到另一个显示器。...当用户将 Activity 从一个显示器移动到另一个显示器时,系统将调整 Activity 大小,并根据需要发起运行时变更。...系统也可以在视图丢失焦点时(例如,当用户打开另一个应用时)释放指针捕获。 应用类别 在适当的情况下,Android 8.0 允许每个应用声明其所属的类别。...设备音频播放的变更 如果您希望自己的服务仅在特定的设备音频配置处于活动状态时开始产生声音,您可以使用 AudioManager 类注册一个 AudioManager.AudioPlaybackCallback...当另一个音频服务获得设备焦点时,您的服务应以更安静的方式继续,还是完全暂停。 您的服务能否等待获得焦点,直至设备就绪。

    2.9K30

    Android Room 持久化库

    使用@Database注解,并满足以下条件 是抽象类,并且继承自RoomDatabase 在注解中包含与数据库关联的实体列表。 包含一个具有0个参数的抽象方法,并返回用@Dao注解的类。...DAO 是 Room 的重要组件,他包含了操作数据的抽象方法; DAO可以是一个接口或者抽象类,如果是抽象类的话,它可以有一个构造函数,它将RoomDatabase作为其唯一参数。...在编译时,Room会知道是查询用户表的所有列。如果查询包含语法错误或者数据库中不存在这个表。Room会在编译时报错并给出错误信息。 将参数传递给查询 大部分时候查询都是需要过滤参数的。...Room使用参数名字匹配,如果匹配不上给出错误提示。...如果作者类引用另一个表(如Books),则应用程序的效率会进一步降低。 要使用Room同时引用多个实体,需要创建一个包含每个实体的POJO,然后编写一个查询来加入相应的表。

    4K70

    【Android RTMP】RTMPDump 推流过程 ( 独立线程推流 | 创建推流器 | 初始化操作 | 设置推流地址 | 启用写出 | 连接 RTMP 服务器 | 发送 RTMP 数据包 )

    文章目录 一、 Java 层传入的 RTMP 推流地址处理 二、 RTMPDump 推流线程 三、 创建 RTMP 对象 四、 初始化 RTMP 对象 五、 设置 RTMP 推流地址 六、 启用 RTMP...Java 传递字符串数据到 JNI : 启动推流时 , Java 层会将 RTMP 推流地址传递给 JNI ; 2 . jstring 类型转为 char* 类型 : 将 Java 字符串转为 C 字符串...独立线程推流 : RTMP 推流操作需要在一个独立的线程中完成 , 涉及到网络的操作都是耗时操作 , 在 Android 中都要在线程中执行 ; 2 ....线程方法 : 定义线程方法 , 参数和返回值都是 void* 类型 , 在开始位置获取传入的参数 ; void* startRtmpPush (void* args){ // 0...., 直接退出推流操作 ; 该地址就是 Java 层传给 JNI 的字符串 , 刚获取时是局部引用变量 , 将其拷贝到了堆内存中 , 才可以在推流线程中使用 ; // 3.

    2.5K20

    Android 渗透测试学习手册 第七章 不太知名的 Android 漏洞

    ("http://vulnerable-website.com"); 另一个重要的事情是,大多数开发人员最终为了增强应用程序的功能,在WebView实现中使用以下命令启用 JavaScript(默认设置为...上述内容简单地调用SMSManager(),以便将包含文本pwned的 SMS 发送到的预定义号码。 这是一个利用存在漏洞的WebView应用程序的简单示例。...执行此操作的最简单的方法之一是编写一个简单的恶意应用程序,并将其所有恶意活动放在服务中。...因此,以下是创建受感染版本的合法应用程序的简单步骤: 使用apktool解压缩应用程序,如下所示: apktool d [appname].apk 反编译恶意应用程序来生成 Java 类的 smali...海豚浏览器 HD 有一个名为BrowserActivity的漏洞活动,它可以被其他应用程序以及其他参数调用。

    1.2K10

    【Binder 机制】AIDL 分析 ( 分析 AIDL 文件生成的 Java 源文件 | Binder | IBinder | Stub | Proxy )

    AIDL 文件生成的源码 ; 1、IMyAidlInterface.java 中的类结构 生成的类是 IMyAidlInterface.java , 继承了 android.os.IInterface..., 实现了序列化与反序列化的方法 , 这里传递参数时 , _arg0 = kim.hsl.aidl_demo.Student.CREATOR.createFromParcel(data) , 调用了...Stub 类有一个内部 Proxy 代理类 , 只有当前服务非本地服务 , 即跨进程远程服务时 , 才会使用这个类 ; private static class Proxy implements kim.hsl.aidl_demo.IMyAidlInterface...* * 这个类只是一个基本的IPC原语; * 它对应用程序的生命周期没有影响,并且只有创建它的进程继续运行时才有效。...* 例如,如果您在{@link android.app.Activity}中使用此函数, * 则您的活动的进程可能会在活动未启动时被终止; * 如果以后重新创建活动,则需要创建新的活页夹, * 并再次将其交回正确的位置

    1.8K30

    为什么说Flutter让移动开发变得更好?

    下面看看如何在Flutter中实现上面的例子: 为电影项目创建一个无状态的Widget(无状态,因为包含静态属性),接收一个movie(例如Dart类)作为构造函数参数,并以声明方式描述布局,同时绑定电影的值..._mediaItem), ], ) ); } 在构建布局时,我将布局的各个部分模块化为变量,方法或其他小部件。 例如,图像顶部的文字气泡只是另一个小部件,它将文本和背景颜色作为参数。...这可以将以前至少有一个XML和Java文件的内容压缩到一个可重用的Dart类中。 我也可以争辩说Android上的布局文件本身并不做任何事情。 他们必须先布局,然后才可以设置值。...这也引出了状态管理问题,并提出了一个问题:当绑定的数据发生了变化应该怎么处理? 手动获取相应视图的引用并设置新值? 这种方法真的很容易出错,这样管理View的状态很差劲。...我们为什么要用XML来描述菜单项,这无法将任何业务逻辑绑定到XML(这是菜单的全部目的),然后在Activity / Fragment的回调中进行过设置,然后再绑定真实回调到另一个回调上?

    2K10

    运维必备--如何彻底解决数据库的锁超时及死锁问题

    数据库相应的配置参数如下: 参数 捕捉类型 MON_LOCKWAIT 锁等待 MON_LOCKTIMEOUT 锁超时 MON_DEADLOCK 死锁 还有一个参数 MON_LW_THRESH 是控制...WITHOUT_HIST,发生锁定事件时,会将关于锁定事件的数据发送到任何活动的锁定事件监视器。不会将过去的活动历史记录以及输入值发送到事件监视器。...如果过去活动的数目高于此限制,那么将只报告最新的活动。 HIST_AND_VALUES,对于那些包含输入数据值的活动,会将那些输入数据值发送到任何活动的锁定事件监视器。...sec) (LOCKTIMEOUT) = 120 2、如果事务的时效性要求并不高,可采取出错重试的方式来解决,现在的调度工具都提供出错重试功能,当一个任务偶尔报...911 错误时可以设置重出错自动重试,比如重试次数为 3 ,每次间隔 5 分钟。

    2.6K20
    领券