AndroidとかiOSとかモバイル多め。その他技術的なことも書いていきます。

【Android】MaterialShowcaseViewライブラリでチュートリアルを実装する

MyCurationの1.2.1でチュートリアルを追加しました。というのもインストールされてもすぐアンインストールされているようで、説明が足りなかったかな・・・と思い始めたためです。 実装を自分でやってもよかったのですが、デザイン的なセンスがないのと、あ…

2週間毎日GitHubにコードを上げ続けて思ったこと

最近私にしては珍しく2週間毎日GitHubにコードを上げ続けています。 (2週間ごときで何を言ってるだと思う方もいらっしゃるとは思いますが・・・) なんとなくで始めたことですが、自分にとっては結構よかったです。 よかった点としては 定期的なアウトプット…

【Android】App Standbyがわからない

App StatndbyはAndroid 6.0になって追加された省電力の機能である。 Doze と App Standby 用に最適化する | Android Developers アプリが以下の場合でないとき、そのアプリは"Idle"状態になり、"Idle"状態が長時間続くとバックグラウンドでの通信を1日1回し…

【Android】 リモートリポジトリに繋がらない環境でJUnitを実行する

ネットワーク環境に問題がないときは、Googleのページのやり方で設定すればJUnitの環境設定は簡単だけど、Proxyなどでmaven centralに繋がらない場合の対処法 jarファイルのダウンロード リモートリポジトリに繋がらないので、jarファイルをlibsフォルダに置…

【Android】自分でキュレーションを作るフィードリーダー「MyCuration」を公開しました

MyCuration -キュレーションを作るフィードリーダー - Google Play の Android アプリ だらだらと自分用に作ってたアプリがある程度まとまったので公開しました。 Android4.0以上対応です。 背景 開発の背景としては以下のような背景がありました。 feedlyが…

【Android】PreferenceActivity/PreferenceFragmentを使った設定画面

Androidの設定画面について AndroidではAPI1から設定画面を生成してくれるPreferenceActivityが用意されている Android 3.0で各設定画面をFragmentに分けるためのPreferenceFragmentが追加された Android 4.0ではPreferenceActivityが拡張され、PreferenceFr…

【Rasberry Pi】カメラモジュールでmmal: No data received from sensorエラー

Rasberry Pi B+とカメラモジュールを買ってみたので使ってみたところエラーで買い直しになった・・・ Raspberry Pi Camera Board | Raspberry Pi Video Module Raspberry Pi Camera Board | Raspberry Pi 【通販RS】 $ raspistill -o test.jpg mmal: No data…

【Java】メインスレッドから別スレッドの停止

自分用メモ。 メインスレッドからの停止 Thread#interrupt()で行う。Thread#stop()メソッドは安全性を壊す可能性があり、非推奨 Thread#interrupt()自体はインタラプト状態を変更するだけ。 ただし、スレッドがThread#sleep(), Thread#wait(), Thread#join()…

Intel Stick PCを買いました

インテルから発売されたIntel Stick PCを買いました。 インテル® Compute Stick(CSTK-32W) | スティック型パソコン(インテル® Compute Stick) | IODATA アイ・オー・データ機器www.iodata.jp Intel Stick PCとは インテルから発売されたスティック型のPC…

DockerでAndroidの環境を構築する

Androidでテストを同時並行に実行したいなーと思っていたので作ってみた。 phicdy/Docker-android-envgithub.com Javaのインストール dockerfile/javagithub.com こちらからコードを拝借。ただ、add-aptがデフォルトではUbuntuに入っていないのでatp-getでイ…

adbで端末のモデル名を取得する

adb shell cat /system/build.prop | grep ro\.product\.model | awk -F"=" 'NR==1 {print $2}' | tr -d ' ' | awk -v RS='\r\n' '{print $1}' 詳細はこちらから adbコマンドあれこれ - shima111の日記d.hatena.ne.jp ほとんどの機種は上記記事のコマンドで…

Alfredからビルドする

最近、なるべくマウスから手を離したくないなーと思ってなんでもかんでもターミナルでコマンドなりシェルスクリプトでやろうとしている。 ビルドに関してもオプションを受け取れるようにして、シェルスクリプトで切り替えているのだけども、実行するには一回…

JenkinsのJUnitでNoClassDefFoundError

JUnitの結果のXMLファイルがなぜかNoClassDefFoundErrorで読めなかったが、解決したのでメモ。 環境 Ubuntu 12.04 Jenkins 1.581 JUnit plugin 1.5 エラーと原因 エラーは以下の通り。 Process leaked file descriptors. See http://wiki.jenkins-ci.org/dis…

mitmproxyで端末の通信内容を見る

mitmproxyとは mitmproxyはコンソール型の通信監視ツールである。 mitmproxyは、プロキシを通じて通信サーバと端末の間に入り、その通信内容を表示する。 mitmproxy - home 例えばモバイルのアプリケーションを開発している際に、端末から実際に行っている通…

【Android】API16のuiautomatorでNoSuchMethodError

uiautomatorでNoSuchMethodErrorが発生して困っていた問題が解決したのでメモ。 発生までの流れ http://www.atmarkit.co.jp/ait/articles/1410/07/news029.html に従ってテストプロジェクトを作り、ターゲットは、API16(4.1, 4.1.1)としていた。 そして(Andr…

【Android】ActionBarから検索して別Activityで結果を表示する

検索してもなぜか、同じActivityで受け取る例ばかり出てくるので、自分のメモ用に。検索を行うActivityをDoSearchActivity、検索結果を受け取るActivityをSearchResultActivityとする。 AndroidManifest 検索を行う側(DoSearchActivity)にandroid.app.defaul…

SmartWatch 3を1ヶ月使ってみて

前月ソニーモバイルコミュニケーションズから発売されたAndroid Wear端末のSmartWatch3を買いました。 SmartWatch 3を買いました - pluea engineering blog SmartWatch 3を買いました - pluea engineering blog SmartWatch3 SWR50 | ソニーモバイルコミュニ…

SmartWatch 3を買いました

11/28にソニーからSmartWatch 3が発売されたので早速買ってきました。 SmartWatch3 SWR50 | ソニーモバイルコミュニケーションズ SmartWatch3 SWR50 | ソニーモバイルコミュニケーションズ 値段はビックカメラで26870円でした。 予約なしで買えるのかなと少…

MarkdownをPandocとブラウザを使ってPDFに変換する

GithubのREADMEなどで使われるMarkdownの形式で文章を書いたり、メモを取ることが最近多くなってきた。 ただ、Markdownの形式で書いていると、人に渡すときに結構困る。 というのもファイルを渡す人がMarkdownに慣れているとは限らないし、そもそもMarkdown…

【iOS, Objective-C】 NSUserDefaultsを使って簡単なデータを保存する

iOSではデータを保存する方法が何種類かある。 ・ファイル ・データベース(SQLite) ・Core Data ・NSUserDefaults その中で一番簡単にデータを保存できるのがNSUserDefaultsである。 NSUserDefaultsではキーと値のセットで値が保存できる。 そのため、複雑な…

【Android】HanlderとMessageを使ってマルチスレッドの処理結果を受け取る

Androidアプリ内で重たい処理を行う場合、処理をメインスレッドで行うと処理が終わるまで画面が止まってしまう。 そのため、スレッドを分けて処理を行わせる。 その際に、処理結果を別スレッドから受け取るときの一つの方法としてHandlerとMessageを使う方法…

【Android】 CSVファイルを読み込んでパースする

Androidで初期データなどCSVファイルを処理したい場合がある。 その時は、CSVファイルをassetsと呼ばれるフォルダに置き、それを読み込んでパースを行う。 assetsフォルダはプロジェクトの一番上に作成する。 assetsフォルダへのアクセスはAssetManagerを通…

【Android】Linuxコマンドの実行

AndroidアプリからLinuxコマンドを実行するにはRuntimeクラスを利用する。 package xxxxxxxxxxxx; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import android.util.Log; p…

【Android】 端末にインストールされているパッケージ一覧をadbコマンドで表示

Android端末に入っているパッケージの一覧をadbコマンドで表示できる。 adb shell pm list package 結果は以下のようになる。 package:com.android.defcontainer package:com.htc.customappinstaller package:com.htc.android.qxdm2sd package:com.htc.sense…

【Android】 クリップボードへのコピー

Androidでクリップボードにテキストを追加してコピーできるようにするにはClipboardManagerを使う。ClipboardManagerはAPI 11(~3.0)までで使われていたものとAPI11から推奨となったもので2つある。 // API 10(2.3.*)まで import android.text.ClipboardManag…

ブログ開始

自分のメモ用とかのためにブログ始めます。