2013-01-01から1年間の記事一覧
普段Scalaで開発する時にはsbtのインクリメンタルコンパイルを使用するのですが、シングルディスプレイいっぱいにIntelliJを広げているといちいちターミナルを開いて確認しなければならないので、コンパイルが完了したら通知センターに通知を行う方法を考え…
インストール 以下のオプションを付けて色々試したがビルドエラーになってうまくインストールできなかった。 $ brew install mysql51 $ brew install --use-llvm mysql51 $ brew install --use-clang mysql51 以下のようにAppleのgccを使ってコンパイルする…
以下のScala実践プログラミングの限定継続のサンプルをIntelliJで動かす時にハマったのでメモ。 import scala.util.continuations._object Main extends App { val answer = reset { val x = shift {k: (Int => Int) => println("A") println("k(10) = " + k…
MacのiTunesのプレイリストをAndroidに同期したかったので、方法を調査してみました。 現時点で以下の4つの方法を見つけたので、それぞれ比較してみます。 Google Play Music + Play Musicアプリ Google Play MusicはPC上のライブラリを丸ごとGoogleのサーバ…
Scala実践プログラミングに出てきた継続モナド(Continuationモナド)を理解するに手こずったので、備忘録として簡単に説明を残します。該当ページはp.304,305です。 以下は継続モナドの定義です。 class Cont[A, B](m: (A => B) => B) { // for内包表記用のメ…
ここ最近ずっとAndroidの単位変換アプリを開発していましたが、ようやくそこそこの完成度になってきたのでGoogle Playストアに公開しました。 ConvertBox - 単位変換 よくある単位変換ツールですが、検索機能に力を入れており、「華氏86」と検索ボックスに入…
辞書アプリなどのSQLiteに保存されたデータを使うアプリでは、アプリの初回起動時に何らかの方法でデータをDBにインサートする必要があると思います。 件数が少なければ外部ファイルからインサートしてもいいのですが、件数が多くなってくるとこのインサート…
少しはまったのでメモ。 以下のようにsetOnItemSelectedListenerでnullを設定すればいけるかと思いきや、これではnullに設定してもonItemSelectedイベントが呼ばれてしまいます。 spinner.setOnItemSelectedListener(null) spinner.setSelection(0) 以下のよ…
RobotiumでSoloではサポートされていない操作を行う必要がある時、textView.setText(“hoge”)のようなUIに対する変更のコードをRobotiumのテストで実行すると、以下のエラーとなります。 android.view.ViewRootImpl$CalledFromWrongThreadException: Only the…
ListViewでadapterにSimpleCursorAdapterとCursorLoaderを使用している状況では、onLoadFinishedメソッドの中でadapter.swapCursor(cursor)を呼び出してListViewの中身を更新すると思います。 この時swapCursorの後にListViewの選択行を変更するには、以下の…
Spinnerの選択肢を手動で変更する場合、以下のようにsetSelectionで引数にSpinner中のアイテムのpositionを指定します。 // spinnerの先頭を選択spinner.setSelection(0) 問題はこのpositionをどうやって調べるかです。Spinnerから特定の文字列に合致するア…
MatrixCursor、MergeCursorを以下のように使うと、Cursorにマニュアルで行を追加することができます。 def onLoadFinished(loader: Loader[Cursor], cursor: Cursor) { val matrixCursor = new MatrixCursor(Array("_id", "category_id", "name")) matrixCur…
[Android] ListViewの選択されたアイテムの背景色を変更では、ListViewの行のレイアウトのbackgroundに以下のselectorを設定して選択された行の背景色を変更しました。 res/drawable/list_item_selector.xml android:drawable="@color/selected_list_item_co…
ListViewはデフォルトではタップすると色が反転するようになっています。 ListViewのlistSelectorに透明色(#00xxxxxx)を設定すると、タップした時に色が変わらないようになります。 android:id="@+id/unit_list" android:layout_width="match_parent" androi…
RenamingDelegatingContextをSQLiteOpenHelperのコンストラクタに渡すと、テスト用のDBを使用することができます。 RenamingDelegatingContextはこちらの記事が詳しいです。 u1aryzの備忘録とか: RenamingDelegatingContextを使ってみた 前回の記事[Android]…
現在開発中のアプリではCursorLoaderとSimpleCursorAdapterを使ってDBのデータをListViewに表示しています。 CursorLoader、SimpleCursorAdapterの使い方は以下の記事が詳しいです。 コジオニルク - Android - パワフルなCursorLoader このCursorLoaderをテ…
sbt-androidプラグインを使ってScalaでAndroid開発を行う場合のIntelliJのデバッガの設定方法を紹介します。 実機側の設定 実機側の設定はJavaで開発する時と同じです。 以下はAndroid 4.2.2の設定方法です。 設定 > セキュリティ > 提供元不明のアプリ にチ…
sbtでJUnitのテストを実行するにはbuild.sbtのlibraryDependenciesに以下を追加するだけです。 "com.novocode" % "junit-interface" % "0.8" % "test->default" しかし、これだけだとコンソールに結果が表示されるだけで、xmlに結果は出力されません。 xml形…
RobolectricはActivityなどのAndroidのライブラリに依存するテストを実機やエミュレータを用いずに、通常のJVM上で実行可能にするフレームワークです。 エミュレータを使わないので高速に動作し、JenkinsなどのCIサーバ上でも通常のテストと同様そのまま実行…
SBT-Android 0.7でRobotiumなどのActivityやViewなどのAndroidのライブラリに依存したテストの実行方法が少し変わっているようなので、sbt-androidからRobotiumのテストの実行方法について説明します。 giter8でテンプレートからプロジェクトを作成している…
この記事を書いている時点ではDev@cloudのJenkinsにインストールされているsbtのバージョンは0.11.3と少し古いです。 ここではDev@cloudのWebDav Repositoryに任意のsbt-launch.jarを置いて、Jenkinsから使う方法を紹介します。 プライベートリポジトリに使…
ListViewの行をタップして選択した後も選択された行の背景色を変えたままにする方法を紹介します。 res/drawable/list_item_selector.xml タッチした時とタッチ後の色を変えるためのselectorを定義します。 android:drawable="@color/selected_list_item_col…
最近ScalaでAndroid開発を始めました。 やり方は解説サイトが色々あるのでそちらを参考にして下さい。 ScalaでAndroidアプリを作るには(IntelliJ IDEA + Sbt)ScalaでAndroidアプリな修行をはじめていますAndroid アプリを Scala + Intellij で開発したい件 …
HTML5のFile APIを試したらNOT_READABLE_ERRになってうまくアクセスできなかった。 調べてみるとどうやらfile://..のようなURLでアクセスしたページでこのAPIを使ってファイルを読み込もうとするとこのエラーとなるらしい。 そこでhttp経由でアクセスできる…
HTML+CSS+JavaScriptでデスクトップアプリを作れるフレームワークの調査でも紹介しましたが、Chromium Embedded Framework (CEF)はChromeブラウザの機能を自分のアプリケーションで使えるようにするためのブラウザコントロールです。 ダウンロードしたバイナ…
Win、Linux、Mac上で動くクロスプラットフォームなデスクトップアプリケーションを開発したいと思い、最近流行り?なHTML+CSS+JavaScriptのWeb3種の神器でデスクトップアプリケーションを開発できるフレームワークを調べました。 TideSDK 元々Appceleratorと…
昨年6月にアメリカにJ1インターンで来てから遊んでばっかで全然ブログ更新してなかったので、年も変わったことだし今年はもっとプログラミング方面でも遊んでどんどんアウトプットしていこうと思います。 ついでに独自ドメインでブログを運用したくなったの…