Android 8.0 Oreo「Picture in Picture」を実際に確認する

YouTube で使うには YouTube Red のサブスクリプションが必要.

YouTube's Picture-in-Picture mode in Oreo is only available to paying Red customers in five countries, and that's a problem

よって, 日本国内 YouTube では, 現在, アプリ・ブラウザ共に使えない模様.

Chrome上でのYouTube以外の動画 や GoogleMap のナビゲーションモード では国内でも使える.

設定からインストールしている*実装上は*対応しているアプリを把握できる.

[設定]

[アプリと通知]

[特別なアプリアクセス]

[PinP]

動画を表示するアプリを中心に対応が進んでいくのでしょうね.

WhatsApp update includes picture-in-picture calls for Android 8.0 Oreo | Tech | Life & Style | Express.co.uk


開発者が見ておくべき /r/androiddev にみるAndroid環境の王道

それなりに王道の本筋ではないかと思えますがどう思います?

/r/androiddev survey time! : androiddev

以下, 箇条書きに.

端末は Google Nexus シリーズ.

Root化やROMカスタマイズはしない.

Linux はラップトップで Ubuntu (Unity).

Windows はデスクトップで10.

Mac はラップトップで 10.12 Sierra.

主携帯は Android, タブレットは持っていない.

開発OS は OSX Intl Core i7, SSD, メモリ16G.

アプリにタブレット向けデザインは作成しない.

minSdkVersion は 16 (4.1.x).

アーキテクチャは MVP.

DIライブラリは Dagger 2.

Rx ライブラリは RxAndroid + RxJava2.

代替のフレームワークは Cordova.

データのシリアライズは Gson.

データ永続化は Realm.

ネットワーク処理は Retrofit.

画像読込みは Picasso.

Viewバインドは ButterKnife.

思ったより RxJava2 の躍進が早いなあと思いました.


LINEbot でオウム返し 2017 PHP版

やり方調べるのになぜか時間がかかる.

なんだかつらたん.

ただ, オウム返ししたいだけなのに!

しくみ

LINEサーバを介して自分のサーバ内のスクリプトで受け取ります.

スクリプト作成の前に LINE管理画面で,

- アクセストークンをもらう
- サーバー内スクリプトまでのURLを教えておく

スクリプト

LINE側 API はわかりやすい仕様で作られています.


<?php

$access_token = /* your access token */;

$url = 'https://api.line.me/v2/bot/message/reply';

// receive json data from line webhook
$raw = file_get_contents('php://input');
$receive = json_decode($raw, true);

// parse received events
$event = $receive['events'][0];
$reply_token  = $event['replyToken'];
$message_text = $event['message']['text'];


// build request headers
$headers = array('Content-Type: application/json',
                 'Authorization: Bearer ' . $access_token);

// build request body
$message = array('type' => 'text',
                 'text' => $message_text);

$body = json_encode(array('replyToken' => $reply_token,
                          'messages'   => array($message)));


// post json with curl
$options = array(CURLOPT_URL            => $url,
                 CURLOPT_CUSTOMREQUEST  => 'POST',
                 CURLOPT_RETURNTRANSFER => true,
                 CURLOPT_HTTPHEADER     => $headers,
                 CURLOPT_POSTFIELDS     => $body);

$curl = curl_init();
curl_setopt_array($curl, $options);
curl_exec($curl);
curl_close($curl);

結果

どんだけつらたんなのか!