当前位置: 首页 > news >正文

全国p2p网站建设织梦做的网站后台

全国p2p网站建设,织梦做的网站后台,查找企业信息的网站哪个好,上杭网站设计公司android.os.Bundle 是 Android 中一个非常常用的类,用于在不同组件之间传递数据。你可以把它想象成一个容器,它可以存储各种数据(如字符串、整数、布尔值等),并且可以通过键(key)来访问这些数据…

android.os.Bundle 是 Android 中一个非常常用的类,用于在不同组件之间传递数据。你可以把它想象成一个容器,它可以存储各种数据(如字符串、整数、布尔值等),并且可以通过键(key)来访问这些数据。

作用

Bundle 主要用于以下几种场景:

  1. 传递数据到另一个 Activity 或 Fragment
  2. 保存和恢复应用的状态

基本示例

1. Activity 之间传递数据

如果你要从一个 Activity 向另一个 Activity 传递数据,通常会用到 IntentBundle

Activity A 中创建并传递数据:

Intent intent = new Intent(ActivityA.this, ActivityB.class);// 创建一个 Bundle
Bundle bundle = new Bundle();
bundle.putString("key", "Hello from Activity A");
bundle.putInt("number", 100);// 把 Bundle 添加到 Intent 中
intent.putExtras(bundle);// 启动 ActivityB
startActivity(intent);

Activity B 中获取数据:

// 从 Intent 获取 Bundle
Bundle bundle = getIntent().getExtras();
if (bundle != null) {String message = bundle.getString("key");int number = bundle.getInt("number");// 使用获取到的数据
}

ActivityA.java 示例:

package com.example.myapp;import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;public class ActivityA extends Activity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_a);// 启动 ActivityBIntent intent = new Intent(ActivityA.this, ActivityB.class);startActivity(intent);}
}

1. 编写 Frida 脚本

假设你要 hook MainActivity 中的 onCreate() 方法,并打印出 Bundle 中的内容:

Java.perform(function () {// 获取 MainActivity 类var MainActivity = Java.use('com.example.app.MainActivity');// Hook onCreate 方法,捕捉传入的 BundleMainActivity.onCreate.overload('android.os.Bundle').implementation = function (bundle) {console.log('onCreate called');// 打印 Bundle 中的所有键值对if (bundle != null) {var keys = bundle.keySet();  // 获取所有的键var iterator = keys.iterator();while (iterator.hasNext()) {var key = iterator.next();var value = bundle.get(key);  // 获取每个键对应的值console.log('Key: ' + key + ', Value: ' + value);}}// 调用原始的 onCreate 方法this.onCreate(bundle);};
});

bundle.keySet() 方法

  • 作用:返回 Bundle 中所有键的集合(即数据的字段名),这个集合是一个 Set<String>
  • 返回类型Set<String>,表示 Bundle 中的所有键。
  • 用法:你可以通过 keySet() 获取 Bundle 中的所有键,然后逐一访问每个键对应的值。

假设有一个 Bundle,存储了多个键值对:

Bundle bundle = new Bundle();
bundle.putString("name", "John");
bundle.putInt("age", 25);
bundle.putBoolean("isStudent", true);

你可以使用 keySet() 来获取所有的键:

Set<String> keys = bundle.keySet();
for (String key : keys) {Log.d("Bundle", "Key: " + key + ", Value: " + bundle.get(key));
}

这段代码会输出:

Key: name, Value: John
Key: age, Value: 25
Key: isStudent, Value: true

追踪数据流向:Activity A 到 Activity B

Activity AActivity B 传递数据时,通常会使用 Intent 来启动 Activity B。你可以通过 hook Activity A 启动 Activity B 时传递的 Intent 来追踪数据。

假设在 Activity A 中,你使用如下代码传递数据:

Intent intent = new Intent(ActivityA.this, ActivityB.class);
intent.putExtra("username", "john_doe");
startActivity(intent);

使用 Frida hook Intent.putExtra()Intent.getExtras() 方法后,Frida 会显示 username 和它的值 john_doe

检查 Activity 启动过程

你可以在 Activity 的生命周期中捕获 Intent 数据,例如在 onCreate()onNewIntent() 中。通过 Frida 你可以 hook 这些生命周期方法,并打印出 Intent 的内容。

Java.perform(function() {var Activity = Java.use("android.app.Activity");// Hook onCreate 方法Activity.onCreate.overload('android.os.Bundle').implementation = function(savedInstanceState) {var intent = this.getIntent();  // 获取启动当前 Activity 的 Intentvar extras = intent.getExtras();if (extras != null) {var keys = extras.keySet();keys.forEach(function(key) {var value = extras.get(key);console.log("[+] onCreate - key: " + key + ", value: " + value);});}this.onCreate(savedInstanceState);  // 调用原始方法};
});

http://www.dtcms.com/a/563679.html

相关文章:

  • 网站开发建站wordpress博客管理工具
  • 微网站如何做现在搭建一个网站需要多少钱
  • 合肥做网站建设亚i洲人页码24林妹妹
  • 体检中心 网站建设方案杭州市建设职业中心网站
  • 佛山市网站建设哪家好做营销的网站
  • 515ppt网站建设wordpress主题模板视频网站模板
  • 网站开发的税率长春seo网络优化招聘网
  • 网站建设行业网站怎么接网站来做
  • 通辽市 做网站四川网站建设的公司
  • 深圳市住房和城乡建设厅网站中国建设银行积分兑换网站
  • 网站集群建设解决方案网站开发连接数据库的方法
  • 网站建设徐州电商网站建设需要多少钱
  • 京东商城网站建设目标建筑机械人才培训网查询官网
  • 工行网站跟建设网站区别宁波百度快照优化排名
  • 长沙做网站哪里好网站制作的评价指标
  • 中山 网站建设一条龙服务游戏开发大亨高分攻略
  • 17网站一起做网店普如何推广一个新的app
  • 个人网站可以做电商么免费一站式网站建设
  • 外贸网站建站用什么意思2021近期时事新闻热点事件
  • 自动化网站建设东莞seo关键词
  • 重庆市建设公共资源交易中心网站首页网站做302跳转的意义
  • logo和网站主色调中华艺术宫室内设计
  • 一个商城网站开发要多少时间2023年中国进入一级战备状态了吗
  • 站长交流平台简单的网页设计代码记事本
  • 学做网站论坛教程下载为网站设计手机版
  • 网站建设方案服务公司pc网站建设怎么做
  • 东莞高端网站建设收费标准做兼职的网站策划书
  • 网站开发课程有哪些图书馆网站建设策划书
  • 急求一张 网站正在建设中的图片茶叶网站flash模板
  • 营销型网站建设的指导原则不包括谷歌外贸网站seo怎么做