1

私は実際に近接マーケティング用のAndroidモバイルアプリケーションに取り組んでいます。私のアプリは、マーケティング担当者からカードとクーポンを受け取り、受け取ったアイテムを表示することになっています。

次のコードは Google 開発者によるもので、メッセージ リスナーを使用して BLE ビーコンから受信したメッセージを解析する方法を示しています。

mMessageListener = new MessageListener() {
    @Override
    public void onFound(Message message) {
        // Do something with the message here.
        Log.i(TAG, "Message found: " + message);
        Log.i(TAG, "Message string: " + new String(message.getContent()));
        Log.i(TAG, "Message namespaced type: " + message.getNamespace() +
                "/" + message.getType());
    }

    ...
};

私の質問は:

上記のコードでは、解析されたメッセージは文字列であるため、処理が簡単だと思います。私の場合、カードとクーポンを受け取る必要があるため、画像..受信した画像をどのように処理および解析できますか?

4

1 に答える 1

1

Nearby API を使用したビーコン アタッチメントは、1024 バイトの任意のデータに制限されており、通常、文字列として保存するために Base64 でエンコードされています。理論的には、バイナリ イメージを取得して Base64 でエンコードし、添付ファイルとして保存できますが、イメージは 1024 バイト以下である必要があります (Base64 エンコードのオーバーヘッドはカウントされません)。結論: 添付ファイルは大きなイメージを転送できません。

一般的な代替方法は、パブリック URL の Web サーバーに画像を配置し、その URL を添付ファイルに保存することです。onFound()次に、上記のメソッド内にコードを記述して、バックグラウンド スレッドを開始し、HTTP クライアントで画像をフェッチします。これが戻ったら、画像を表示できます。ここで画像を取得する例を見ることができます。

もちろん、これにはすべてが機能するためのネットワーク アクセスが必要ですが、とにかく、Nearby API はネットワーク アクセスを本当に必要とします。そうしないと、Google のクラウド サーバーから添付ファイルを取得することができなくなります。

于 2016-05-22T17:39:57.653 に答える