Android附近:如何集成Android和Android的东西

本文将探讨如何使用Android Nearby,展示如何集成Android和Android Things。我们可以使用几种策略来集成Android和Android Things。Android Nearby技术就是其中之一。Android提供了一组API,可以简化两个不同设备之间的数据交换。一个有趣的方面是Android Nearby也支持iOS操作系统。

• Android Nearby是一项支持三种不同策略来集成Android设备的技术:

• Android Nearby Messages:这使用发布者/订阅者范例在两个不同的Android设备之间交换简单的有效负载。
• Android Nearby Connections:它是一个点对点网络,使应用程序能够在设备之间发现,连接和交换数据。这种策略支持高带宽,它可以在多种场景中使用(游戏,文件共享等)
Android附近通知:此技术使用户可以使用应用或网站接收周围的通知
本文介绍了如何使用Android Nearby Connections集成Android和Android Things设备。主要目标是展示如何将数据从Android智能手机发送到Android Things设备,并使用连接到Android Things的LCD显示屏显示此信息。

Android Nearby简介
Android Nearby连接是一个点对点网络。该网络有两个主要角色:

• 通告自己等待传入连接的广告商
• 寻找要连接的广告商的Discoverer
一旦Discoverer找到了广告商,他们就可以建立连接并交换数据。在Android引擎盖下,Android Nearby API使用一组技术来建立不同设备之间的连接。它可以是蓝牙或Wi-Fi。API利用每种技术的优势来保证可靠的连接。开发人员和用户不必担心它,它是完全透明的。

在本教程中,Android Things设备扮演等待传入Discoverer的广告商角色。Android设备是Discoverer,用于查找要连接的广告商。为了完成本教程,有必要实现两个不同的应用程序:

Android Things应用程序,用于接收数据并处理LCD显示
将数据发送到Android Things的Android应用
此外,Android Nearby连接支持不同的发现和广告策略。一般来说,这两种策略是:

• P2P_Cluster:支持M-to-N网络拓扑,其中每个设备都可以接受传入连接并启动与其他设备的新连接
• P2P_STAR:这是一个经典的起始拓扑网络,其中一个设备作为广告商播放,其他设备是发现的
在这个Android Things教程中,我们将使用P2P_STAR拓扑。让我们开始实施广告客户。


使用Android Things的Android附近广告商


第一步是使用Android Thing设备实施广告商。在这种情况下,我们将使用Raspberry Pi 3,但您可以使用与Android Things兼容的其他原型板。

要实施Android Nearby Advertiser,我们必须遵循以下三个不同的步骤:

开始做广告
接受传入的连接
收听传入的有效负载
第四步是可选的,它正在管理连接到Android Things的LCD显示器,以便Android Things应用程序将在LCD显示器上显示有效载荷内容。


使用Android Things开始广告


第一件事是创建一个新类来处理所有Nearby连接细节。让我们称这个班 NearbyAdvManager。在构造函数中,Android Thing应用程序开始广告:

私有 ConnectionsClient  客户端 ;
..
客户 =  附近。getConnectionsClient(ctx);
客户。startAdvertising(“ AndroidThings ”,
        SERVICE_ID,
        connectionLifeCycleCB,
        新 AdvertisingOptions(战略。P2P_STAR))
         。addOnSuccessListener(
           new  OnSuccessListener < Void >(){
              @覆盖
              public  void  onSuccess(Void  aVoid){
                记录。我(TAG,“OnSuccess ......”);
              }
           }
        )
        。addOnFailureListener(new  OnFailureListener(){
            @覆盖
            public  void  onFailure(@NonNull  Exception  e){
               记录。e(TAG,“OnFailure 1”);
               e。printStackTrace();
            }
      });
}

"Android Things"是昵称,而SERVICE_ID我们的服务ID。通常,SERVICE_ID是我们的应用程序的包名称。另一个参数connectionLifeCycleCB, 是回调类。

请注意,Android Nearby有一组新的API。当我们创建广告商时,我们不再需要使用它 GoogleApiClient了。

是时候实现连接回调,以便Android Things应用程序获得有关连接的通知。为此,我们将此代码添加到管理器:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值