temporaryなめも帳

だらだらと備忘録とか。誰かの為になることをねがって。

Android

RxJavaでエラーが発生したときに◯回リトライする

ただのメモ書き。 やりたいこと エラーが発生したときに◯回リトライして、エラー終了 or 正常終了する 全てはこのあたりにまとまっている。ただの蛇足 qiita.com qiita.com 試したこと 目的は、Httpリクエストにつけてるtokenの期限切れ時にリトライするよう…

The experts' guide to Android development toolsで紹介されてたASショートカット(気になったのメモ

Motivation Google I/O 2016のセッションを少しずつ消化しているのだけれど、「The experts' guide to Android development tools」のセッションで紹介されていたAndroidStudioのショートカットが有用っぽいので備忘録がてらまとめておく。 とりあえず「ctrl…

Androidでcommand lineからscreenshot撮る

次のコマンドでいける。 screenshot2 ./$(date '+%F-%T').png alias sc="screenshot2 ./$(date '+%F-%T').png" とかしておくと幸せ。

AndroidのToolbarのTitleをXMLから指定したい

別にJavaからでもいいんだけど、ソース読んだらこうだったのでできるはずだよね?と試行錯誤。 結果として、以下でいけるぽい。 Themeもちょっとちゃんと理解してたらそんなにハマらなかったんじゃないかなと。 layout.xml

android-DeviceOwner(GoogleのSample)を動かしてみる

これで正しいのか、まだよく分かってませんが動かすことは出来たのでおいておきます。 このやり方だと、デバッグが超大変なんだけど、、 もう少しコード読む必要がありそう。 アプリケーションを落としてきてビルドする 必要だったのは、以下の二つのアプリ…

PUSHっぽい何かを実現する

あくまでもローカルな環境向け。基本的にはGCMをつかうべきです。 WebSocket覚えたし、使ってみたかってん。ぐらいのなにか。 Android側にPushを受けるサービスを実装する アプリケーション内にServiceを実装し、ws://IPADDRESS:PORT/path/to/url に対しWebS…

python覚えたのでmonkeyrunner試してみる

monkeyrunnerは端末に対して無作為なイベントを送付するmonkeyツールとは異なり、デバイスのキーイベントの送付やスクリーンショットの取得などを実行することができるテスト用のツールです。 うまく使えばframeworkのテストツールとして利用できそうなので…

MacでAndroidのビルド環境を作る

MacbookPro買ったので、Ubuntu入れる前にOSXで環境作ったので。メモ書き程度に残しておく。 基本的にココの通りで問題ない。 https://source.android.com/source/initializing.html#setting-up-a-mac-os-x-build-environment 追加で必要だったのは、このエラ…

pythonの勉強がてら作ってみた②

python楽しい 続いて、logcatにカラーつけるやつを作ってみた https://github.com/ShinjiKobayashi/color_logcat/blob/master/color_logcat.py 2つの機能が入ってます。 1つ目は、単純にLOGレベルで色分けして出力するもの 2つ目は、引数に与えた文字列を含…

pythonの勉強がてら作ってみた①

最近pythonにはまった(なぜか。 勉強がてら、adbで複数端末がつながってる時に選択できるやつを作ってみた https://github.com/ShinjiKobayashi/select_adb githubにおいてみた。 使い方はこんなかんじ。 $ select_adb.py shell 1 - xxxxxx 2 - xxxxxx 2 &l…

init.rcのon bootとかの呼び出し順

気になったので調べました。(このブログの成分は8割これな気がする。 on early-init on init on early-fs on fs on post-fs on post-fs-data on early-boot on boot ※確認は4.4.3で行なってます。 以下コードから判断しました。 action_for_each_trigger関…

今更だけど、DevicePolicyManagerについて

今まで触ること無かったのが、L Previewで遊んでると前提知識ぽいので先にサンプルを動かしてみた。 Android 2.2から導入されたDevice Policy Management APIってやつですね。Settingsアプリのセキュリティの欄に端末管理者って項目があるのですが、ここに出…

Androidのsuコマンドの実装

suコマンド(user-debugでビルドするとついてくる子)がどう実装されているのか、気になったので調べました。 suが実際にやっていることは、setuid/setgidを0/0で呼び出すことです。 呼び出す前にセキュリティチェックを行なっており、AID_ROOTかAID_SYSTEM…

Android L PreviewでAndroid for workを動かしてみた

Android Studio betaを落としてくるとサンプルが付いていたので動かしてみました第一弾。(二弾があるのか知らんけど。) この機能は端末内で仕事用のアプリケーションとprivate用のアプリケーションを分けて管理する為の機能の用です。Android for workって…

カスタムダイアログでAlertDialogのボタンが使いたい

こんな感じで、borderlessButtonStyleとdividerを使えばうまくいく。 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="match_parent" a…

Androidでキオスクモードしたい

基本的にできない。 のだけれど、Androidの動作を見てるとHOMEとかが消えたりすることがある。 どうやってるのかと調べてみた。 どうやら、StatusBarManager経由でStatusBar上のアイテムのON/OFFを簡単に切り替えることができる様子。 (ただし、"android.pe…

Using AndroidStudio for platform development

Using Eclipseは公式サイトにまとめてあります。AOSP公式 ソースツリーのtree/development/ide/を見るとintellijなるディレクトリがある。 これ、AndroidStudioでもいけるんじゃないの? 質問している人達が居た。 stackoverflow idegen(tree/development/to…

AsyncTaskのonPreExecuteについて

onPreExecuteはUIスレッドで実行される。というのをきちんと意識できてなく変なバグを生んだので自戒を込めて。 onPreExecuteはUIスレッドで実行されます。実行のタイミングとしては、AsyncTask.execute()を呼び出した後 public final AsyncTask<Params, …

Androidのsystem.imgの権限設定とか

-- 追記 2014/07/15 -- 最近のAndroidのsystem.imgはext4 filesystemになっていて、UbuntuとかのLinux環境であればloopオプションをつけてマウントできる。 $ sudo mount -t ext4 -o loop system.img mount_path system.imgをマウントすると、各ファイル/デ…

ContentQueryMapを使ってみる

AndroidのPowerManager周りのソースコードを読んでると出てきたので、調べてみた。 このCotentQueryMapクラスは、Queryで対象としたデータをキャッシュに持っておくことができる。ソースを読む限り、元データはContentProviderが管理しているとして、「欲し…

ContentProviderの変更を受け取る

※忘れがちなので、備忘録。 ContentProviderに登録している値のアップデートを通知するための手段が用意されている。 実装の必要があるのは以下の2つ。 ・ update通知処理(ContentProvider側) ・ update通知を受ける処理(利用側) update通知処理(Conte…

ToastをUIThread以外で表示する

ToastはUIスレッド以外でも表示することができます。 まずはToastのソースコードを見てみましょう。 public Toast(Context context) { mContext = context; mTN = new TN(); mTN.mY = context.getResources().getDimensionPixelSize( com.android.internal.R…

Androidのソースツリー下でライブラリプロジェクトを作る

ソースコードツリー下で、他プロジェクトをライブラリとして利用する方法を紹介します。(res含む) Eclipseを利用していれば、Android LibraryProjectとしてisLibraryにチェックを入れるのみで利用できますが、ソースコードツリー下では以下Android.mkを利…

音声認識をつかってみる。そのに

その2が出てくるとは思わずに調査をしていたんだけれども。 RecognizerIntentを使って、Activityを呼び出す以外に RecognitionServiceに対して要求をかける方法がありました。そうだよねー。 しゃべってコンシェルとか、マイクの絵でてないもんねー。調べた…

音声認識をつかってみる。

Androidの音声認識、最近のSiriとかしゃべってコンシェルとか、 はやりを見てると使った事無いのはまずいなーと。高齢化社会にはもってこいなAPIだと思う。 あと、ちっこい頃にみてた近未来的な映画の1シーンとかでも、 音声操作がポロポロあったなーと思う…