投稿

ラベル(Android)が付いた投稿を表示しています

Google Pixel 開封の儀と Google Assistant お試し

イメージ
ここまで必死で耐えてきたが、ついに今年もスマートフォンを買ってしまった。

ButterKnife から Data Binding Library に載せ替える話

はじめに Google IO 2015 で Data Binding ライブラリが発表されました。 当時は他のサポートライブラリと同様に dependencies に追加して使う感じだったのですが、Android Plugin for Gradle 1.5.0 から Build tools 内に取り込まれたようです。 面倒なfindViewById()を楽にする方法といえば ButterKnife が一般的でしたが、公式でサポートツールが提供されるのであれば乗り換えるのも検討する価値はあります。 このエントリを作成している Android Plugin for Gradle 1.5.0 時点ではまだ ベータ版とのことなので、仕様はまだ変わる可能性があります。 Data Binding Guide Please note that the Data Binding library is a   beta release .

Android 6.0 Marshmallow (API Level 23) ではローカルデバイスIDが取得できない(確定)

Android M preview 2 で自分のMACアドレスとBDアドレスが取得できない  の続きです。 先日 Android SDK 6.0 の最終盤がリリースされました。 Build.VERSION_CODES.M のままで Build.VERSION_CODES.MARSHMALLOW になってなかったりするのでしれっともう一回更新されるかもしれませんが、まあ少なくとも仕様はほぼ最終版だと信じてもいいでしょう。 Android アプリ開発者が怯える Behavior Changes のページに、今回から Access to Hardware Identifier の項目が追加されました。 To provide users with greater data protection, starting in this release, Android removes programmatic access to the device’s local hardware identifier for apps using the Wi-Fi and Bluetooth APIs. The WifiInfo.getMacAddress() and the BluetoothAdapter.getAddress() methods now return a constant value of 02:00:00:00:00:00 . ユーザデータ保護の目的のため、ローカルデバイス ID はコード上から取得できなくなり、ダミーアドレスが返されます。(意訳) 回避手段はなし。

Android M preview 2 で自分のMACアドレスとBDアドレスが取得できない

先週、Android M preview のリビジョン2がリリースされました。 Support and Release Notes https://developer.android.com/preview/support.html Key changes の Remote Bluetooth/Wi-Fi MAC's now require either the   android.permission.LOCATION_FINE   or android.permission.LOCATION_COARSE   permission. が気になったので調べていたのですが、どうやらこのリリースノートは少し誤っているようです。 調べた結果を羅列すると、 Remote Bluetooth MAC (BT接続中の相手のBDアドレス) は Bluetooth 系の従来のパーミッションがあれば取得できる Remote Wi-Fi MAC が何なのかはよくわからないですが、接続先のMACアドレス?のことなら BSSID として取得できる 自分のMACアドレスとBDアドレスは取得できない  (固定の 02:00:00:00:00:00 が返ってくる) リリースノートにある、 android.permission.LOCATION_FINE と android.permission.LOCATION_COARSE は存在しない android.permission.ACCESS_FILE_LOCATION と android.permission.ACCESS_COARSE_LOCATION なら以前から存在するが、どちらをランタイムで取得しても自分のMACアドレスとBDアドレスは取得できない android.permission.LOCAL_MAC_ADDRESS というパーミッションがあるが、インストール時にもランタイムにも許可されない Issue トラッカーにも既に上がっていてステータスは Acknowledged です。 https://code.google.com/p/android-developer-preview/issues/detail?id=2427 Loca...

HTC One M9 を買った

イメージ
やっとGold on Gold 色が入荷してたので、HTC One M9を買いました。 iPhone みたいな感じのきれいな薄い金色です。 Nexus 5/6/7/9 以外の Lollipop は初めて触りますが、もうホームアプリ以外は Android 標準 UI とそんなに変わらない感じですね。各社がんばってた通知エリアでの設定値変更も Lollipop 標準 UI にかなり取り込まれてしまいましたし。 恐らくHTC独自なのがナビゲーションボタンのカスタマイズです。 「バック」「ホーム」「ヒストリー」の基本3つ以外に、「ナビゲーションバーを隠す」「クイック設定」などを追加できます。「ナビゲーションバーを隠す」は M8 にもありましたが、画面を広く使いたい時に便利な機能です。 若干不満なのが、言語設定を英語にすると日本語のフォントがフォールバックして中華フォントになることです。Nexus 6 は英語設定にしても日本語はモトヤLマルベリフォントだったのに。。。

Android の SharedPreferences データはオンメモリで保持されている

SharedPreferences 関連の不具合を調べていてAOSP のコードを見ていたら、 SharedPreferences の挙動について気づいたので Tips としてメモしておきます。 SharedPrefereces に保存した設定値は読み捨てでOK Androidアプリで設定等の小さいデータを保存するのに使用する SharedPreferences ですが、Android Framework 内では SharedPreferencesImpl   というクラスで実装されています。 SharedPreferencesImpl (Android 5.0.1) http://tools.oesf.biz/android-5.0.1_r1.0/xref/frameworks/base/core/java/android/app/SharedPreferencesImpl.java このクラスではコンストラクタでXMLファイルからデータを読み込み、 Map<String, Object>   で SharedPreferences の中身のデータを保持し続けています。 try { stat = Os.stat(mFile.getPath()); if (mFile.canRead()) { BufferedInputStream str = null; try { str = new BufferedInputStream( new FileInputStream(mFile), 16*1024); map = XmlUtils.readMapXml(str); } catch (XmlPullParserException e) { Log.w(TAG, "getSharedPreferences", e); } catch (FileNotFoundException e) { Log.w(TAG, "getSharedPreferences", e); ...

Nexus 6 の調子が悪い

Nexus 6 の調子が悪い。 週に一回くらいポケット内で再起動。(たまになら許す) 再起動後に PIN 入力求められるが、ポケット内なのでタイムアウトしてシャットダウン。(これは仕様) 再起動後に30分くらいモバイルネットワーク(docomo)を掴まない。 掴んだと思ったら IP アドレスが取得できずデータ通信ができない。 IP アドレスが振られたと思ったら LTE ではなく HSDPA。 一日後くらいにふと気づくと LTE 掴んでる。 掴んでもしばらくすると見失うことがある。 アンテナピクトに H も LTE も表示されてないのにデータ通信できる時がある。(これは表示バグなのでどうでもよい) とりあえずファクトリーリセットしました。 Tap & Go 便利。 はやく Lollipop MR1 降ってきて。 追記 2015/03/04 コメント欄で指摘していただいたとおり、不要なAPN設定を削除することでモバイルネットワークの安定性が劇的に改善するようです。

Nexus 6 XT1100 買った

イメージ
いつまで待っても Google Play の在庫が復活しないので、Y! mobile で Nexus 6 を買いました。 キャンペーンも特にやってないので、定価の完全新規でベーシックプランS契約しました。 ポイントのつく量販店で買って、即解約すれば日割り支払いで済むので、契約手数料を含めても Google Play で買う場合より出費は少ないです。さっさと買ってればよかった。(・・・Yモバブラックになる可能性は高いですが) サイズのわりにそれほど持ちにくくないですが、片手で使うには少し修行が必要ですね。 背面が金属なので持った感触がサラサラしててとても良いです。 Nexus 5 に引き続き、Qi で充電できるのも地味に便利です。

そういえば、Nexus 4 と One M8(Windows) と Xperia A2 を買ってた

イメージ
Nexus 4 10月末くらいに Expansys で投げ売りしていたリファビッシュ品の Nexus 4 を買っていました。 なかなか質感が良く、裏面のキラキラもかっこいいです。 Lollipopのファクトリイメージを焼いたらそれで満足しました。 HTC One M8 for Windows (Verizon Wireless) 9月ごろ出張に行った時に買おうと思ったのですが契約なしでは買うことができず、10月末くらいに Amazon.com で注文して長期出張でUSに行っている友達に転送してもらいましたが、Fedex で送ってもらったら送料が1万円くらいして驚きました。 Lumia 920 が壊れたのでメイン開発機として活躍中です。 Xperia A2 SO-04F メインで使っていた HTC J One HTL22 のバッテリーがヘタってきたので、白ロムで買いました。 満足感は何もないですが、不満もそんなにない無難な感じです。

Xperia Z1 SOL23 買った

イメージ
KDDIの Xperia Z1 を買い(?)ました。 Zに引き続き紫色です。 同じ色かと思ってたらかなり色味が違いますね。 Z(右側) に比べるとだいぶ青いです。この写真ほどじゃないですが。 まあ本体は特に不満ないのですが、Googleアカウントのサインインができません。 keno’s diary - [gadget]Googleで認証システムにトラブル? 2段階認証を有効にしていると 初回の同期がうまくいかないらしいです。 早く直してGoogleさん。 あ、そうだ。 Z2 も紫色にしよう。

Xamarinを使ってみた

イメージ
今更ですが、Xamarinを使ってみました。 Xamarin: Build apps with C# and .NET for iOS, Android, Mac and Windows 簡単にいえば、C#で複数プラットフォームのネイティブアプリをコーディングできる開発環境です。 C#はJavaと比べてコードが簡潔に書ける傾向があるのでわりと魅力的です。 個人利用でサポートなし、アプリサイズ制限ありのSTARTERバージョンは無料です。 インストーラを起動するとJDKやAndroid SDK等の必要なコンポーネントが自動で全てインストールされます。 (もともとインストール済みであればスキップされます) で、とりあえずAndroidでHTTP GETするだけのアプリを書いてみました。 .NetのSystem.Net.HttpWebRequestと、JavaのJava.Net.HttpURLConnectionで指定したURLからHTTP GETするだけのアプリです。 C#だからコードが簡潔 var button = FindViewById<button>(Resource.Id.myButton); button.Click += (sender, e) => { GetDataByHttpWebRequest(input.Text); }; handler = new Handler(ApplicationContext.MainLooper); 何と言ってもイベントハンドラの実装がきれいです。 JavaでsetOnClickListener(new OnClickListener(){... と毎回書くのは実に面倒です。 また、プロパティが使えるのも大きいです。 getApplicationContext().getMainLooper() などと書く必要はありません。 HttpWebRequestとHttpURLConnectionで同じ動作を実装する private void GetDataByHttpURLConnection (string url) { var reqThread = new Thread (() => { var conn ...

Android 4.4のイースターエッグ

イメージ
Kit Katのイースターエッグにキーライムパイが出るという 記事 を見て、他にも何か出ないかと思ってしばらく眺めてみました。 まずは Jelly Bean のころからたまに出ていたステッキのようなもの。 偶然Key Lime Pieも写ってますね。 Donutに見えるけど、いつものDonutと違うこれは何なんでしょう? この平らな3枚の正方形はいったい? あとプリンもありました。 お菓子じゃないけどお化け的な何か。 終わり。

Nexus 5 買った

イメージ
Nexus 5 LG-D821 を買いました。 裏面の写真とるの忘れましたが、色は白です。 1日の朝通勤中に注文して、2日のお昼ごろには発送通知を受け、3日には羽田に着いていたのですが、4日は何も動きがなく悲しみに暮れていました。 ですがとりあえず今日の午前中に家に届いたようだったので、再配達をかけて会社を早退して受け取りました。 Developerになったり dococmoのLTE掴んでみたり   ゴニョゴニョしてauのLTE掴んでみたり やりたいことはひと通りやったんですが、どういうわけだがadb devicesで出てくれず。 ドライバは最新のものを入れていて、Device ManagerにもAndroid Composite ADB Interfaceは出ていたのですが。。。 というところでLumiaの認識でコケた時を思い出し、一旦ドライバ削除したら認識してくれました。 終わり。

HTC J One HTL22買った

イメージ
8月24日が何の日かご存知でしょうか? HTL22 の「レッドメタル」カラーの発売日です。 もともとHTC Oneが発売された時に赤なら買おうと思っていたのに KDDIのせいだかHTCのせいだか知りませんが黒と白しか発売されなかったので我慢していました。 が、ようやく発売とのことで発売日買いしてきました。 カッコいいですね。 HTL21 のやぼったいデザインとは大違いです。 4.7インチディスプレイなのでコンパクトさにも期待して買ったのですが、 画面外キーを用意していることもあって、全体としての大きさはSO-02Eとほぼ同程度でした。 まあ今となってはこの程度の大きさどうということはありませんが。 それにしてもカッコいいですね。 実にカッコいい。 以上です。

SO-02EのNFCが動かない → 直った

SO-02Eの動作をひと通り確認していたのですが、NFCがさっぱり動きませんでした。 Edy反応しない Pasmo反応しない Android Beam反応しない(自分も相手[Galaxy Nexus/Butterfly]も) Lumia 920相手にも反応しない もう見るからにNFCが有効化されてないような症状です。 え、AX/VLに続けてまた製品不具合なの・・・と不安に思いながらも色々試したのですが、なんとか正常に動くようになってくれました。 以下、私が行ったNFC有効化の手順です。 設定 → その他 → NFC/おサイフ設定 → Reader/Writer, P2Pをチェック NFC/おサイフ ロックをタップ 適当なパスワードで一旦ロックをかける NFC/おサイフロックをタップ 先ほどのパスワードでロックを解除 終わり。 これをやる前まではいくら試しても何に対しても反応しなかったのですが、少なくとも最初に挙げたものに対しては全て正常動作するようになりました。 2台で試しましたが、どちらもこれで正常になりました。 初回NFC使用時にロック状態のチェックをして、設定が存在しなかった場合の処理が空回りしてるんでしょうか。 想像でしかないのでよく分かりませんが、これくらいは出荷前の試験で見つけておいて欲しいものです。。。

XPERIA Z SO-02E買った

イメージ
SO-02Eを買いました。 色は白と悩みましたが、物珍しさで予約していた紫です。 契約の際に、応援学割2013のWebでの条件表示に誤りがあることがわかったので 前回のエントリ は修正しておきました。 少し探しましたがあまり良案件もなかったので、料金は下記のような感じです。 MNPでの30000円引き 学生家族同時購入の5000円引き docomoオプションで2500円引き 10%ポイント だったので、機種代金はおよそ38000円くらい。 Xiにねん 780 Xiパケホライト 4935 spモード 315 学割家族 -780 - 1050 月々サポート -3675 なので、回線料金は毎月およそ500円くらい。 性能的にはHTL21とそう変わらないので大した感想もないですが、比較すると… 良い点 HTL21で感じた若干のもっさり感はSO-02Eでは特に無い 充電用クレードルがついている 通知バイブレーションが強い 縦がやや短い (個人的にはココ重要) 悪い点 ディスプレイの発色はHTL21の方が良い (気にするほどではないですが) 背面がまっ平らなので、カドが手にあたって持ちづらい (気にする人は) 指紋 Xiが相変わらず激遅 こんなとこでしょうか。 ま、どっちもどっちという感じです。 5インチ級を3つも持ち歩くのはつらいというのが現在の最大の悩みです。。。

Android で Unicode絵文字入力

イメージ
AndroidでUnicode絵文字を簡単に入力するためのATOK辞書を作りました。 Emoji_ATOK_Dic_for_JellyBean.txt http://sdrv.ms/Z2LXM7 ATOK設定 > 辞書・定型文 > 辞書ユーティリティ と移動し、 メニューの一括登録でダウンロードした上記ファイルを指定してください。 すべての絵文字の読みを「 わわ 」にしてあります。 本当は「ん」等にしたかったのですが、不正な文字として弾かれてしまいました。 気に入らなかったらPCで一括置換して別の読みに変えればいいと思います。 収録されている絵文字は、2012/12/25現在、 Wikipedia に記載されている絵文字です。 HTL21で表示できなかったものは削除しました。 ※ JellyBean (OS4.1)以上でないとほとんどの絵文字は表示されません のでご注意ください。 追記 すべて「わわ」だとATOKの候補表示数上限の400に引っかかってしまうので、 半分くらい「やや」に変更したものに差し替えました。

HTC J Butterfly HTL21買った

ISW11SCからの機種変で買った。 薄くて幅もGalaxy S3と変わらないので持ちやすい。 縦は長いのでポケットに入れるのはちょっとギリギリだけど。 FHDの画面は圧倒的に綺麗。 ここ1年くらいペンタイル配列ディスプレイの端末ばかり使っていたから差は歴然。 LTEエリアは自分の平日の生活圏内だと一度もLTEをロストしないくらい。 iPhone5のバンド1エリアとはえらい違い。 バッテリーがやや不安だったけど、1日くらいはなんとか保ちそうなので特に問題なし。 料金がちょっと高すぎるのでLTEフラットとISPは切りますかね。 そしたら毎月490円になるから維持費としては機種変前よりも下がるかな。

Galaxy S3 (GT-I9300)買った

イメージ
docomoのSC-06DがLTE対応のためデュアルコアのMSM8960になっていたので、 どうせならとクアッドコアの Exynos4212 Exynos4412を積んでいるグローバル版のGT-I9300を買った。 多すぎる予約からのメーカー出荷遅れに加えて 女王即位60周年のイベントでUKからの発送が止まってしまったため、 結局届いたのは6月8日の金曜日。 しかも当初はブルーを注文していたのだけど、 製造上の問題でだいぶ発売が遅れると連絡が来たので結局ホワイトに変更した。 今までGalaxy Nexusをメインで使っていたから、 大きさもほぼ変わらず使い勝手はとても良い。 片手で操作するのにベストなサイズ。やはりNoteは大きすぎた。。。 操作ボタンがハードキーになったので、4.65''→4.8''になった以上にディスプレイが広い。 ディスプレイもGNのくすんだ感じではなく、鮮やかなHD Super AMOLED。  だがしかし相変わらずのペンタイル。。。  GNと比べるとすごく薄い。上がGN最厚部、下が最薄部。 Galaxyシリーズにしては珍しくLEDインジケータが付いている。 実はGNにもあったけど。 2100mAhの化け物のような大容量バッテリを搭載している。 が、そんなに長時間動作が可能というわけではなく、 電力バカ食いのExynos4212と合わせると普通の端末と同じ程度しか保たない気がする。 動作は機敏だし、軽いし、ディスプレイは大きいし、 簡単にroot取れるから中華フォントに悩まされることもないし、 本体が(というか石が・・・)異常なほど発熱すること以外は素晴らしい端末だと思う。 でも、これから夏なんだよね。 熱い熱い夏を過ごせそうです(しろめ)

SC-05D買った

イメージ
端末代金はコン3で一括24800円。 月々の料金はXiフラット2年に家族学割で 780 + 315 + 5985 - 105 - (780+1050) - 4095 = 1050円/月 SC-04Dの回線にSC-05Dを親としたファミリー割引を適用する。 プランはタイプSとダブル2で塩漬けにすると無料通信分が2100円発生し、 1575 + 315 + 2100 - 4410 = 0円/月 これでようやく 毎月1050円 Xiデータ定額 無料通話が2100円 の環境が完成。 夏のXPERIAを買ったらその回線はデータ契約に切り替えて冬眠させ、 この回線で使おう、という計画。 片手で頑張って操作しようと思う。 もちろん電話機能もこれで。