Bundle数据通过Message传送

本文详细介绍了如何在Android应用的不同线程间使用Message和Bundle进行数据传递,包括创建Bundle对象、存储数据、通过Message发送数据以及在接收端读取数据的过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Bundle作用:
Activity之间存取数据用。是一个键值对。提供了一系列方法用于保存数据。
Bundle用法,通过Message发送:
   建立对象
    

  
  1. Bundle bundle = new Bundle();
    存数据,put各种数据类型,putString/putInt,我这里是李刚老师的CalPrime例程的。UPPER_NUM是一个String,
    是通过etNum这个EditText获取数据,转换为Int。

   
  1. bundle.putInt(UPPER_NUM, Integer.parseInt(etNum.getText().toString()));
    建立Message对象并放入Bundle数据

   
  1. Message msg = new Message();
  2. msg.setData(bundle);
   这里需要提个醒,new Message这里,也可以写成以下代码,这样写是直接拿已有的来用,不用新建,以节约内存。

    
  1. Message msg = calThread.mHandler.obtainMessage();
  接着往新进程中发送数据 

    
  1. calThread.mHandler.sendMessage(msg);

    在另外一个线程中从Message读取数据放到upper里,这个是在新进程的handleMessage函数里读取。

   
  1. int upper = msg.getData().getInt(UPPER_NUM);
   






转载于:https://www.cnblogs.com/fruitbolgs/p/4164473.html

### NFC 数据传输概述 NFC(Near Field Communication,近距离通信)是一种短距离高频无线通信技术,允许两个电子设备在靠近的情况下进行数据交换。对于 Android 开发者来说,可以通过 Android 的 NFC API 来实现基于 NFC 的数据传输。 #### 使用 Android Beam 进行数据传输 Android Beam 是一种利用 NFC 技术的功能,它能够通过简单的物理接触来分享信息。当两部启用 NFC 的设备接近时,它们可以在不需额外配置的情况下建立连接并传递数据[^3]。此功能主要依赖于 NDEF(NFC Data Exchange Format),这是一种标准化的消息格式,用于封装要传送的信息。 以下是使用 Android Beam 发送消息的一个简单例子: ```java // 注册回调以便处理Beam动作 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // 启用前台分派系统以优化性能 enableForegroundDispatch(this, getNfcAdapter(), pendingIntent, intentFiltersArray, techListsArray); } @Nullable @Override public NdefMessage createNdefMessage(NfcEvent event) { String text = ("Hello from " + new Date().toLocaleString()); try { // 创建一个包含MIME类型的NDEF记录 NdefRecord mimeRecord = new NdefRecord( NdefRecord.MIMETYPE_MEDIA, "application/com.example.myapp".getBytes(), new byte[0], text.getBytes() ); // 将单条记录组合成完整的NDEF消息对象 return new NdefMessage(new NdefRecord[]{mimeRecord}); } catch (Exception e){ Log.e("NFC", "Error creating NDEF message.", e); return null; } } ``` 上述代码展示了如何创建一条 NDEF 消息并通过 `createNdefMessage` 方法返回给系统,从而完成数据的推送过程[^2]。 #### 配置应用支持 NFC 为了使应用程序能够在没有 NFC 支持的设备上也能运行,在清单文件中设置 `<uses-feature>` 属性非常重要。如果希望即使缺少硬件也保持兼容性,则应该把 `android:required="false"` 添加进去,并且还需要检测当前是否有可用的 NFC 芯片存在。 ```xml <manifest ... > <uses-sdk android:minSdkVersion="14" /> <!-- 如果不需要强制要求有NFC --> <uses-feature android:name="android.hardware.nfc" android:required="false"/> </manifest> ``` #### 推荐实践与注意事项 - **安全性考虑**:由于 NFC 只能在非常有限的距离内工作,所以相对来说比较安全;但是仍建议加密敏感数据以防窃听。 - **用户体验设计**:考虑到并非所有用户都熟悉这项技术的操作流程,因此应当提供清晰易懂的帮助指南或者提示说明。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值