Android」カテゴリーアーカイブ

Zenfone4(ZE554KL)を買いました


周りがiPhone Xで騒いでいる中、Zenfone4を購入しました。

今まで使用していたNexus5Xが再起動ループを発症してしまい、復旧の見込みはないので新しいのを探していました。
つなぎに更に前に使用していたXperiaAでなんとかしのぎつつ、Pixel2を待ってみたものの日本の発売はなし。。。
もうどうにもならないので新調した次第です。
ファーウェイのP10 liteも候補にしましたがバックドア問題がまだ気になるのでASUSのZenfone4にしました。
Android8にも上がる予定になっているので楽しみですね。

箱の中身を全部出しました。

左上から

  • 充電器
  • USB Type-Cケーブル
  • イヤホン
  • イヤーピース
  • SIMピン
  • 外箱
  • 本体
  • スマホケース

スマホケースがついてくるなんて珍しいですね。

Zenfone4は、Snapdragon660・メモリが6GBのモデルとSnapdragon630・メモリ4GBの2つモデルがあります。
購入したのは前者のSnapdragon660・メモリが6GBです。
性能が良いのでしばらくは使えそうです。
手に持った感じはでかいですね。親指がバックキーに届かないですw
最近のスマホは大きいサイズばかりなので慣れるしかないですね。

すこし使った感じではキビキビ動いています。タップしたらすぐ動く感じです。
ゆったりとアニメーションして動くというよりかはすぐ、キビキビと動くイメージです。

スマホ交換と一緒にMVNOも変更しました。
iijmioを使っていましたが、スマホセットで購入すると安くなるのとキャッシュバックにひかれてBIGLOBEモバイルです。
ググった感じではまぁ悪くはなさそうなのかなと。すごい回線速度が早いわけではないけど、極端に遅くもならないのかなぁと。
それよりはキャッシュバック額の影響が大きいです。

以上です。


GCM(Google Cloud Messaging)を始めて見る


はじめに

GCM(Google Cloud Messaging)のGet Startedをやってみました。
基本的には公式ページをそのままやれば動きますが、とこどころそのままではダメでした。

公式サイト:https://developers.google.com/cloud-messaging/

必要なもの

  • Google Developers Console

大まかな流れ

  1. サンプルアプリの取得
  2. 設定ファイルの取得と設置
  3. サンプルアプリのビルド、実行

サンプルアプリの取得

まずは、公式サイトの”TRY IT ON ANDROID”のリンクをクリックし上から順にやっていきます。

サンプルアプリを取得します。

$ git clone https://github.com/googlesamples/google-services.git

GCM以外にもAdMob、Analytics、App Index、App Invites、Sign Inのサンプルを含んでいます。
今回はGCMのサンプルを使用します。
とりあえずcloneしてくれば大丈夫です。

Android Studioでプロジェクトを取り込むには、
google-services/android/gcm
をインポートするのですが、
AndroidStudio用のインポート(Open an existing Android Studio project)ではなく、
Gradle用のインポート(Import project(Eclipse ADT, Gradle, etc.))を使用します。
しかし、インポートしてもAndroidStudioがビルド構成を理解してくれず、
そのままではビルド、実行ができません。
後述するサンプルアプリのビルド、実行を先にしておく必要がありました。
(これは別のやり方があるのかもしれません)

設定ファイルの取得と設置

さっそくプロジェクトのビルドをしたいのですが、その前にGCM用の設定ファイルの作成が必要です。
公式ページに”GET A CONFIGURATION FILE”とあるボタンをクリックします。
Google Developer ConsoleのAPIマネージャーを使用するので、
Googleアカウントでログインが必要なります。
ログインすると設定ファイル作成画面になります。
今回はサンプルプロジェクトで試すので設定の変更の必要がなく、
App Name・・・Default Demo App
Android package name・・・gcm.play.android.samples.com.gcmquickstart
のままで、次に進みます。
CloudMessageの項目にAPI Key、Sender IDが発行されます。
そのまま次に進みます。
ファイルが生成されるとダウンロードページになるので、”google-service.json”をダウンロードします。

次にダウンロードしたファイルをサンプルプロジェクトに設置します。
google-service.jsonをサンプルプロジェクトのapp/下に置きます。

サンプルアプリのビルド、実行

サンプルプロジェクトをcloneした直後ではAndroidStudioがプロジェクト構成を
認識してくれないので手動でビルドします。

$ ./gradlew clean assembleDebug

しばらくすればビルドが終わりますので、

$ adb install app-debug-unaligned.apk

でアプリをインストールします。

ビルドするとAndroidStudioがビルド構成を認識してくれるので、AndroidStudioからビルド実行が可能になります。

サンプルアプリを実行すると最初GCMへの登録処理が行われます。
登録処理後にサンプルプロジェクトからメッセージを送信します。
サンプルプロジェクトで、メッセージ送信用のプログラムを動かします。
$ ./gradlew run -Pmsg=”test”
サンプルプログラムのビルド後に実行されます。
ちょっと待つと端末にメッセージが着信します。

以上です。


ABC2016Springに行ってきました


ABC2016Springに行ってきました。

今回はAndroidメインではなくて、IoTに関わる事、機械学習が多いようでした。

Google TensorFlowとAndroidが繋がる未来

有山圭二さん
有限会社シーリス 代表

好みの画像を自動で収集したいという内容で、TensorFlowを触ってみようと思わせる素晴らしいものでした。
動機が明確なのが一番ですね。

Cloud Vision API and TensorFlow

佐藤 一憲さん
Google Cloud Platform Developer Advocate

Google Cloud Platform == The Datacenter as a Computer
データセンターまるごとを一つのコンピュータとしていて、
何千台のコンピュータをコマンド1つで使えるというすごい話だなと。

Cloud Vision APIが面白そうで、学習させる必要が無いというのがお手軽だし、
画像によっては緯度経度まで出るそうです。ストリートビューのデータを使っているそう。
カスタマイズが出来ないので、その場合は、TensorFlowを使いましょうとの事。

ビッグデータと機械学習が変えるソフトウェア開発

Microsoft 田丸さん

Skype Translatorが、英語、ラテン系の言葉ならほぼリアルタイムで変換できて、品質も良いとの事。
昔は、アルゴリズムを作って結果を出したが、
今は、ハードとかコストが下がっていてデータと機械学習で結果を出すのもあり。
HoloLensもアルゴリズムより機械学習を使っている。
Cortana APIというのがあるようです。

Androidを中心に紐解くIoT

Amazon 西谷さん

講演者のブログです。

デバイスとクラウドの接続パターン

  1. AndroidをBLEで繋いでゲートウェイとして使用
  2. Android自身をセンサーデバイスとなる(GPSとか)
  3. 収集、分析したデータを可視化などビューアとして使用。通知受ける。

AWS Mobile Hubを使うのが一番手っ取り早いのかなと思いました。
mBaaSではないので、それぞれのサービスを理解しどう組み合わせるか、
色々試してみたいです。

モバイル通信をプログラマブルに活用IoT通信プラットフォーム”SORACOM”

SORACOM 江木さん

IoTの課題

  • モノの接続方法
  • セキュリティ、通信プロトコル

上記課題をSORACOM SIM使うと解決しましょうという内容でした。
モノの接続方法には、Air。
セキュリティ、通信プロトコルには、Beam。
SORACOMの詳しい説明を初めて聞きましたが、
ネットワークに繋げる必要があるなら使ってみたいと思いました。
1年間の無料枠あり、詳しくはWebへとの事。

以上です。


AWS S3のSDKを使ってみる3 実践編


前回までは環境構築でした。
今回は実際にプログラムを書いて動かしてみます。

ソースはGitHubにアップしました。
https://github.com/macchan-dev/AmazonS3Sample

以下の動作をします。

  • Bucketにあるオブジェクト一覧をListViewに表示
  • 右下のボタン押下でカメラ起動(動画)
  • 動画撮影完了後、動画ファイルをS3にアップロード

TransferUtilityを使った組み込み方が公式ドキュメントにまとまっているので分かりやすいと思います。
Amazon Simple Storage Service (S3)

大まか流れとしては、以下のとおりです。

  1. CognitoのSample codeにあるCognitoCachingCredentialsProviderを作成します。
  2. CognitoCachingCredentialsProviderインスタンスを引数にAmazonS3Clientを作成します。
  3. AmazonS3Clientインスタンスを引数にTransferUtilityを作成します。
  4. TransferUtility#uploadを使用しファイルをアップロードします。

注意点としては、AndroidManifest.xmlにTransferServiceの記述がないとうんともすんとも言いません。
エラーにもならないので何故動かないのか悩ますw

使用したTransferUtilityは、upload、downloadを簡単にすることができ、
進捗状況も取得できるので使いやすいと思いました。
細かいこと(オブジェクトの権限変更等)は出来ないので、別途SDKのAPIを叩く必要があります。

今回は、オブジェクトのリスト取得にRxJavaを使いました。
RxJavaについては以下が詳しかったです。

RxJava学習のベストプラクティスっぽいもの
分かった気になるはじめてのRxJava
7つのサンプルプログラムで学ぶRxJavaの挙動

以上です。