2016年6月27日月曜日

Kindle Voyageを2ヶ月使ってみた感想

kindle-voyageAmazonプライムに加入すると同時に「kindleオーナーズライブラリで毎月1冊無料」に惹かれてKindle Voyageを買ってみた。

 


購入情報

Kindle Voyage, キャンペーン情報なし, Wi-Fi
¥25,980

Kindle Voyage 対応 スマートスリムーケース 液晶保護フィルム付き 【オートスリープ機能】 (Voyage, ブラック)
¥3,098

 

Paperwhiteと迷ったけど比較動画などを見てVoyageにした。「Kindle Voyage vs Paperwhite」で検索するといろいろ出てくる。

 


感想

  • スマホと比べて読みやすい。液晶保護フィルムを付けると反射して読みにくいのでおすすめしない。
  • スマホと比べてレスポンスが遅く耐えられないので、本を探すのはPCかスマホの方がいい。
  • そういう意味ではPaperwhiteで十分かも
  • PDFもUSB経由でコピーするだけで簡単に読めるのがいい
  • Kindleオーナーズライブラリには読みたい本がないので「サラリーマン金太郎」を読んでる
  • 読むのに集中できるので買って正解

 

基本的に1回読んだ本は二度と読まずに本棚に眠っているので、スキャン代行サービスなどを使って電子化してみようかと考え中。

「Kindleパーソナル・ドキュメントサービス」を使うとクラウドに保存できるらしい。

 

 

< Related Posts >

2016年6月22日水曜日

PhpStorm, Android Studioでコードを折りたたむ

folding-codeコードを折りたたみたいときに「なんだっけ?」とすぐ忘れるので覚書。

環境: PhpStorm 2016.1.2, Android Studio 2.1.2

NetBeans製のエディタは基本的に「editor-fold」タグで出来る。

コード例

// <editor-fold defaultstate="collapsed" desc="user-description">
  ...any code...
// </editor-fold>

 

Visual Studioみたいに「region」と「endregion」でも可能らしい。

Titanium開発時にstrings.xmlで使いたかったのだけれどxmlには未対応。

 

< Related Posts >

2016年6月10日金曜日

Gradleプラグイン「com.android.application」

gradle_pluginAndroid開発向けにGradleビルドシステムを理解しているときの覚書。

build.gradle内にある「apply plugin: 'com.android.application'」を詳しく調べてみた。

公式ドキュメントに詳しく書いてある。

以下はドキュメントに書いてあることを噛み砕いて説明しただけ。

 


1.「com.android.application」プラグインとは?

Androidアプリのビルドロジックをパッケージ化したGradleプラグイン。

 


2.使用例

com.android.applicationプラグインを使ったシンプルなビルドファイルはこれ

buildscript {
    repositories {
        jcenter()
    }

    dependencies {
        classpath 'com.android.tools.build:gradle:1.3.1'
    }
}

apply plugin: 'com.android.application'

android {
    compileSdkVersion 23
    buildToolsVersion "23.1.0"
}

上から順に実行される。

簡単に説明していくと。。。

buildscriptはGradleが標準で提供している関数(クロージャ)。外部ライブラリを利用する場合はここに記述すると読み込んでくれる。

repositories {
    jcenter()
}

リポジトリとしてjcenterを追加。

 

dependencies {
    classpath 'com.android.tools.build:gradle:1.3.1'
}

ライブラリの指定。

Group: com.android.tools.build
Name: gradle
Version: 1.3.1

この中に「com.android.application」プラグインがある。

apply plugin: 'com.android.application'

プラグインを適用。これでandroid関数(クロージャ)が使えるようになる。

 



3.Android SDKのパス指定

local.propertiesというファイルか、なければ環境変数ANDROID_HOMEを参照する。

sdk.dir=/path/to/Android/Sdk

 

全体的なビルドの流れは下記が分かりやすい。

 

< Related Posts >

2016年6月9日木曜日

Android開発向けにGradleをMacにインストール

android_gradleFirebaseのサンプルアプリを実行するときに設定ファイル(google-services.json)を置くだけでビルドできる。なんで?と思ってgradleを調べたときの覚書。

環境: Mac OS X 10.11.5

 

目次

  1. Gradleとは
  2. Gradleのバージョン管理ツール「SDKMAN」をインストール
  3. AntのビルドをGradleに置き換える

 


1.Gradleとは

Java言語向けのビルドツール。AntやMavenのいいとこ取りをして使いやすくしたらしい。

Groovy(グルービー)というスクリプト言語で記述する。

Antをそのまま実行することも出来るから移行もしやすい。

 


2.Gradleのバージョン管理ツール「SDKMAN」をインストール

nvm, rbenvと同じようにSDKMANを使うとGradleのバージョン管理が出来て便利らしいのでSDKMANをインストールする。

公式サイト通りにインストール
$ curl -s "https://get.sdkman.io" | bash

ターミナルを開き直して初期化コマンド実行
$ source "$HOME/.sdkman/bin/sdkman-init.sh"

バージョン確認
$ sdk version

SDKMAN 4.0.37

何ができるか確認
$ sdk help

インストールできるツール一覧
$ sdk list

Gradleのバージョン一覧を表示して最新をインストール
$ sdk list gradle
$ sdk install gradle 2.13

Gradleのバージョン確認
$ gradle --version

Gradle 2.13

Build time:   2016-04-25 04:10:10 UTC
Build number: none
Revision:     3b427b1481e46232107303c90be7b05079b05b1c

Groovy:       2.4.4
Ant:          Apache Ant(TM) version 1.9.6 compiled on June 29 2015
JVM:          1.6.0_65 (Apple Inc. 20.65-b04-468)
OS:           Mac OS X 10.11.5 x86_64

 


3.AntのビルドをGradleに置き換える

TitaniumモジュールのビルドをGradleで出来るようにする。build.xmlをインポートするだけ。
$ cd ~/Documents/Appcelerator_Studio_Workspace/ti.hoge/
$ vi build.gradle

ant.importBuild "build.xml"

ビルド実行
$ gradle dist

無事ビルド完了。

クリーンするとき
$ gradle clean

タスクの一覧
$ gradle tasks

 

だんだん分かってきた。

 

< Related Posts >

2016年6月7日火曜日

Titaniumモジュールのサンプルアプリをビルド(Android編)

titanium_android2Titaniumモジュールを一から開発したことはなかったので、ドキュメントに従ってサンプルをビルドしたときの覚書。

環境: Mac OS X 10.11.5, Titanium SDK 5.3.0.GA

参考

 


1.サンプルモジュールを作成してビルド

公式ドキュメントのクイックスタート通りに作ってみる。
$ cd Documents/Appcelerator_Studio_Workspace/
$ appc new -n ti.test --id com.example.test -p Android

プロジェクト名は「ti.test」で作成。プロンプトが出るので「Titanium Module (timodule)」を選択。

さっそくビルド
$ cd ti.test/android/
$ ant

無事終了。

dist/com.example.test-android-1.0.0.zipが出来た。

 


2.サンプルモジュールを実行するTitaniumアプリを作成

クイックスタートの続き。
$ cd ~/Documents/Appcelerator_Studio_Workspace/
$ appc new -t titanium -p android -n Hello -u http:// --id com.example.hello

Helloディレクトリにさっきビルドしたモジュールをコピー
$ cp ti.test/android/dist/com.example.test-android-1.0.0.zip Hello/

tiapp.xmlを編集
$ cd Hello/
$ less tiapp.xml

<modules>
  <module platform="commonjs">ti.cloud</module>
  <module platform="android">com.example.test</module>
</modules>

alloyは使ったことがないので削除する。
$ rm -rf Resources/android/
$ less tiapp.xml

pluginsを削除。

モジュールの動作確認のため、app.jsを編集する。最後に追記。
$ less Resources/app.js

// Module Test
var test = require('com.example.test');
console.log("module is => " + test);
console.log("module example() method returns => " + test.example());
console.log("module exampleProp is => " + test.exampleProp);
test.exampleProp = "This is a test value";

これでビルドする。
$ appc ti build -p android -T device

コンソールに「hello world」が表示されれば成功。

ddmsでTagを「TiTestModule」で絞り込むとモジュールに書いてあるLog.dを確認できる。

動作確認するまで時間が掛かるのがつらい。

 

 

< Related Posts >

2016年6月1日水曜日

Firebase Cloud Messaging(FCM)のサンプルアプリをビルドしてプッシュ通知を試す

fcmGCMからFCMに移行するために仕組みを理解しながらサンプルアプリを試したときの覚書。

環境: Windows 10 64bit, Android Studio 2.1.1

 

参考

 

目次

  1. SDKを最新に
  2. Android向けのサンプルを実行(失敗)
  3. Firebase Consoleにアクセスしてプロジェクト作成
  4. もう一度実行(成功)

 


1.SDKを最新に

公式サイトを参考に開発環境を整える。

基本はAndroid SDK Managerで「Google Play services」を最新にするだけ。

 


2.Android向けのサンプルを実行(失敗)

サンプルはGitHubに公開されている。これをgit cloneする。

messagingフォルダをAndroid Studioで開く。

とりあえず実行してみると「google-services.json is missing」のエラー。まだ準備が必要みたいなので、公式サイト通りに進めていく。

 


3.Firebase Consoleにアクセスしてプロジェクト作成

Firebase Consoleにアクセス。「CREATE NEW PROJECT」をクリックしてプロジェクト作成。

Name: Firebase Cloud Messaging
Country: Japan

「Add Firebase to your Android app」を選択して、Package Nameを入力。AndroidManifest.xmlと同じ「com.google.firebase.quickstart.fcm」とした。

「Add App」するとgoogle-services.jsonがダウンロードされる。

画面の説明通りにapp直下に配置。

次に画面でbuild.gradleに追記しろと表示されるけど、既に記載済み。

これで「Finish」

 


4.もう一度実行(成功)

Android Studioで実行してみるとエラー

Error:Execution failed for task ':app:processDebugGoogleServices'.
> Missing api_key/current_key object

調べてみるともう一度google-services.jsonをダウンロードし直せとある。

ダウンロードし直してみると確かにapi_keyに値が入っている。こちらに置き換えて再度実行。

今度はビルド成功。

Screenshot_20160529-164139

とりあえずこの状態でFirebase Consoleから通知を送ってみる。

image

Firebase Console上ではCompletedになるけどエミュレータは反応なし。

Android Studioのlogcatには表示されているので、今度はエミュレータ上でホームボタンを押してバックグラウンド状態で同じように送ってみた。

すると通知エリアに表示された。

Screenshot_20160529-165022

第一段階クリア。

次はTitanium Moduleで実装する予定。

 

< Related Posts >

Related Posts Plugin for WordPress, Blogger...

Blog Archives