2015年7月2日木曜日

[Android] GCMの導入方法

GCMのsampleを試してみました。
下記参考に実施。
http://yuki312.blogspot.jp/2015/05/google-cloud-message-30-quick-start.html
https://developers.google.com/cloud-messaging/android/start

基本的にはYukiさんの説明通りの手順でAndroidでGCMが動くところまで
確認できました。
下記個人的に少し引っかかったところをメモ。
▼一点目
$ git clone https://github.com/googlesamples/google-services.git
上記実施した後にAndroid StudioではFile>Import Projectにて下記を指定。
google-services/android/gcm

▼二点目
Configurationファイルは
https://developers.google.com/cloud-messaging/android/start
から入手。

以上です。

2015年6月12日金曜日

[Android] Crittercismの導入方法

クラッシュログ解析ツールCrittercismを利用してみました。
下記参考に実施。
http://docs.crittercism.com/ln/jp/quickstart.html#quickstart-jp
http://codenote.net/android/2128.html
http://masterka.seesaa.net/article/420356373.html
導入は本当に簡単でした。

唯一つまったのが下記くらい。
Crittercism.initialize(getApplicationContext(), "CRITTERCISM_APP_ID");
上記の
CRITTERCISM_APP_IDは
https://app.crittercism.com/developers/crash-summary/XXXXXXXXXXXXX
の場合XXXXXXXXXXXXXに置き換えるようにすること。

以上です。

2015年6月5日金曜日

gradlewコマンドで> SDK location not found. Define location with sdk.dir in the local.properties file or with an ANDROID_HOME environment variable. が出たときの対処法

android studioのgradlewコマンドで
> SDK location not found. Define location with sdk.dir in the local.properties file or with an ANDROID_HOME environment variable.
が表示されエラーとなった。

対処として下記サイトが参考になった。
http://android.benigumo.com/20130816/android-studio-0-2-4-%E3%82%A2%E3%83%83%E3%83%97%E3%83%87%E3%83%BC%E3%83%88%E3%81%A7%E3%80%8Csdk-location-not-found-define-location-with-sdk-dir-in-the-local-properties-file-or-with-an-android_home-e/

基本的に記載してある通りだが、
sdk.dir=/Applications/Android Studio.app/sdk
上記赤字部分はandroidSDKの配備場所を設定しないと私の場合はエラーが解消しなかった。

以上です。

2015年6月4日木曜日

2015/7/1 うるう秒への対応

2015/7/1のうるう秒挿入に向けていろいろ調べました。

下記サイトが大変参考になった。
http://www-06.ibm.com/jp/linux/tech/doc/0019db89.html
筆者が重要に感じたポイントは赤で記しておきます。

▼『うるう秒』が発生するという情報はNTPプロトコルによりLinux Kernelに伝えられる。
▼NTP パケットに含まれる LI(Leap Indicator)が『うるう秒』に関する情報を示す。
▼LIの値は下記のいずれか。
00 『うるう秒』調整は発生しない
01 正の『うるう秒』調整が発生
10 負の『うるう秒』調整が発生
11 『うるう秒』についての情報を持っていない
▼Leap Indicator の値は NTP プロトコルに従って、
上位の NTP サーバーから下位の NTP サーバーへと自動的に伝達されていきますので、
通常は最上位(Stratum 1)の NTP サーバーに対してのみ、手動で Leap Indicator を設定される
▼Linux で使用されている NTP デーモンは、上位の NTP サーバーから受け取った Leap Indicator を Linux Kernel に伝達する。
『うるう秒』の調整が実際に行われるのは、1月1日もしくは7月1日と定められているため
Leap Indicator が 01 もしくは 10 であったとしても、
受け取った日付が1月1日もしくは7月1日の前日でなければ、Linux Kernelには伝達しない。
一方下位の NTP サーバーには、受け取った日付に関係無く、Leap Indicator の値は配信される。 
NTPデーモンがstepモードの場合、Linux Kernel は Leap Indicator に応じて、当日の 23:59:58 ~ 00:00:00 の間のシステムクロックを以下のように変化させる。
Leap Indicator が 01 の時 23:59:59 → 23:59:59 → 00:00:00(23:59:59 が2秒間続く)
Leap Indicator が 10 の時 23:59:58 → 00:00:00(23:59:59 がスキップされる)
NTPデーモンがslewモードの場合、うるう秒の到達はシステムクロックに通知されず、ゆっくりと時刻の修正が実施される。
ただし一部の古いバージョンのntpでは、slewモードでも、stepモードと同様にうるう秒の挿入を実施するため1秒以下の単位では時刻の逆進が発生する場合があります。
修正の詳細に関しては下記のBugzillaをご参照ください。該当の修正は、ntp-4.2.2p1-9(RHEL5.2相当)に対して適用されています。
https://bugzilla.redhat.com/show_bug.cgi?id=431729

OSレベルのコンフィグとしてKernelのバージョンを確認の上、
slewモードにしておくのが安全なようです。


以上です。