簡介

除在單一設備上進行交互外,ProtoPie還支持在多個設備間進行相互通訊以便捷地實現原型上的交互,如進行聊天或轉賬。

準備工作

發送反應和接收觸發使得設備間的交互成為可能。當一個具有接收觸發的設備接收到另一設備通過發送反應發來的信息時,這一設備的反應動作就會被觸發。 接收設備上所收到的信息應與發送設備上發送的信息一致。

發送反應

頻道
將ProtoPie Studio設為允許設備間交互的渠道。安卓Broadcasting允許安卓設備上的原型與其它外部硬件通訊
信息
信息指的是被傳送的字符串。當接收設備上的接收觸發內所設的信息與發送反應中攜帶的信息一致時,設備間的交互就會發生
賦值給變量
允許在傳送信息的同時傳送一個值,在接收信息時該值就可以被用于給某一變量賦值

接收觸發

頻道
將ProtoPie Studio設為允許設備間交互的渠道。安卓Broadcasting允許安卓設備上的原型與其它外部硬件通訊
信息
信息指的是被傳送的字符串。當接收設備上的接收觸發器內所設的信息與發送事件反應中攜帶的信息一致時,設備間的交互就會發生
賦值給變量
允許在傳送信息的同時傳送一個值,在接收信息時該值就可以被用于給某一變量賦值

示例

連接設備

在Windows或macOS上運行的ProtoPie Studio如同集線器(hub) 一樣將多種設備相互連接起來。您可以使用ProtoPie Player或ProtoPie Studio來與智能設備進行連接,這些設備要和裝有ProtoPie Player的移動設備或運行ProtoPie Studio的計算機全都處于同一網絡中。此外您也可以使用USB來將智能設備連接到計算機上。點擊此處 了解將智能設備連接到ProtoPie Studio的更多知識。

與其它安卓App進行通信

當選擇“發送”與“接收”的渠道屬性為 Android Broadcasts時,可以通過安卓上安裝的ProtoPie Player,讓正在執行的原型與安卓設備上的其他APP通訊。

如需從其他App向ProtoPie Player發送消息,可通過創建以io.protopie.action.ONE_TIME_TRIGGER為action的Intent后以Broadcast形式發出。

val intent = Intent("io.protopie.action.ONE_TIME_TRIGGER")
intent.putExtra("messageId", "YOUR_MESSAGE_ID")
intent.putExtra("value", "123") // Optional
context.sendBroadcast(intent)

如需從ProtoPie Player向App發送信息,可以創建BroadcastReceiver來接收帶有action值io.protopie.action.ONE_TIME_RESPONSE的Broadcast。

val receiver = object : BroadcastReceiver() {
  override fun onReceive(context: Context, intent: Intent) {
    val messageId = intent.getStringExtra("messageId")
    val value = intent.getStringExtra("value")
    println("Message from ProtoPie. messageId=$messageId value=$value")
  }
}

val filter = IntentFilter("io.protopie.action.ONE_TIME_RESPONSE")
context.registerReceiver(receiver, filter)

FAQ

TOP
哪个软件上能炒白银