/var/log/messages

debugging with sixth sense

ぴよ将棋から将棋山脈に .kif を転送するナニ (3)

自分向けに実装なメモを。

  • 将棋山脈に POST するライブラリは OkHttp3 使いました
  • 権限認証なナニを盛り込んでいます

ええと、権限認証なナニ、については以下を参考にさせて頂いております。

権限認証関連はこんなカンジで固定で書けるはずなので今後はぎっはぶ見れば良いかなと思っている次第。

基本的な動作として

  • 将棋アプリから暗黙 Intent で .kif 共有
  • ファイルで渡されるので中身を文字列に展開して
  • 将棋山脈に POST で .kif な文字列渡す

という形になってます。将棋山脈はファイルで渡すこともできるみたいなのですが、面倒なのでこちらをチョイスしてしまいました。

OkHttp3

導入も微妙にハマッたのですがそれは別エントリに書きます。実装ですが、こちらも定型な書き方の部分については略します。ただ、今回についてはレスポンス取得できたらブラウザでコンテンツ表示、という形で考えていたのでレスポンスから URL 取得して (将棋山脈、リダイレクトな形のレスポンスでなくて助かりました)、ブラウザな Intent 発行する書き方になってます。

1
2
3
4
5
6
7
8
9
10
11
12
        @Override
        public void onResponse(Call call, Response response) throws IOException {
            // show result
            HttpUrl url = response.request().url();
            String urlStr = url.toString();
            Uri uri = Uri.parse(urlStr);
            Intent i = new Intent(Intent.ACTION_VIEW, uri);
            i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
            i.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
            startActivity(i);
            finish();
        }

HttpUrl から Uri の変換、もっと良い方法があるかもですが。

Comments