前人未踏の領域へ Androidアプリ開発編

Androidアプリ開発に関する調査メモ置き場。古い記事にはアプリ以外も含まれます。

2011-01-01から1年間の記事一覧

CallbackとListenerとObserverの違い

※2013/12/25に加筆修正Android APIを見ていると「--Callback」、「--Listener」、「--Observer」などの名前のInterfaceがある。 どれも似たような役割のインターフェースで結局のところ全部コールバックに属すると思うんだけど、どうにも違いが分かりにくい…

はまりポイント

作ったはずのテーブルが見えない Create Table実行時、MySQLサーバーを起動したユーザー権限でテーブルが作成されるらしく、異なるユーザーに参照権限がついていなかった。chownまたはchmodすることで解決。

回転型ProgressBarの話

Androidアプリにはネットワークとの通信中やその他の時間のかかる処理を実行する際に処理中を表す画像を表示するのがセオリーである。これをProgressBarと読んでいるが、単に円が回転するものとバータイプの者がある。で、今回は回転型ProgressBarについて。…

ProGuardで躓かないためのメモ

正確な表現ではないのだけど、keep は keepclassmembers と keepclasseswithmembersよりも有効範囲が広い。エラーが出てどう書けばいいか分からなくなったら とりあえずKeep使っとけばOK

ListViewに関するべからず集

Google I/O 2010より http://www.youtube.com/watch?v=wDBM6wVEO70 - Don't android:layout_height="wrap_content" (ListViewでwrap_contentを使うな) Listview is virtualized, remember? wrap_content = "as big as my children" -- ListViewsupports unev…

ビデオの起動

MediaStore.ACTION_VIDEO_CAPTUREを指定 Intent intent = new Intent(); intent.setAction(MediaStore.ACTION_VIDEO_CAPTURE); startActivityForResult(intent, 1);

カメラの起動

MediaStore.ACTION_IMAGE_CAPTUREを指定 Intent intent = new Intent(); intent.setAction(MediaStore.ACTION_IMAGE_CAPTURE); startActivityForResult(intent, 1);

4つのstartActivity

startActivity(Intent intent) 新たにActivityを起動 startActivityForResult(Intent intent, int requestCode) Activityを起動し、終了後(finish)に戻り値を得る startActivityFromChild(Activity child, Intent intent, int requestCode) 子Activityからst…

画像の縦横比の維持

AndroidのLayout用のXMLにImageViewで画像をセットすると正方形に領域が確保されてしまう。これを回避するために以下の属性を追加する。 android:adjustViewBounds="true"

スキーマ作成

schema.xmlを編集してSolrのスキーマを作成する タグ 例 属性 属性 説明 例 name スキーマ名。表示にのみ使用するので任意の名前をつける example version Solrのバージョン番号。通常変更しない 1.4 子タグ 子タグ 説明 types フィールドのタイプを定義する…

世界のナベアツアルゴリズム

3でアホになるナベアツアルゴリズムを考えてみた。ルールは数式縛り。従ってindexOf()とかは反則。巷にはもっとよい回答があるのだろうけど、とりあえず思いつくところではこんなもんか。 package way.algorithm; public class Nabeatsu { static final int…

エミュレータの縮小表示

ノートPCからリモートデスクトップなどで別なPCに接続した際など、Androidのエミュレータが大きすぎて画面に収まらないケースがたまにある。その場合はAVDマネージャを起動し、startボタンでエミュレータを起動するとスケールの設定ができるようになる。

エミュレータでアカウントのテスト

AccountManagerの機能を使いたいときにエミュレータでテストするにはどうすればいいのか。実記と同じようにsettings(設定)→account & sync (アカウントと同期)で追加すればよい。Android 2.0からはマルチアカウントにも対応しているので複数追加ができる。た…

TomcatでSolrを使う

この記事はApache Solr入門を参考にしました。http://gihyo.jp/book/2010/978-4-7741-4175-6 環境 OS Mac OS X Java 1.6.0_26 Solr-src 3.3.0 Tomcat 7.0.14 追加設定 一言でいうとwarをコピーしてsolrのホームディレクトリをTomcatに伝えるだけなんだけど文…

Objective-C基本メモ

Objective-Cとは ANSI C言語の拡張セット。追加部分は主にSmalltalkに基づく。要するにC言語にオブジェクト指向の機能を追加する目的で設計された。 特徴 オブジェクトはidというデータ型で定義される Javaでいうnullはnil。NULLオブジェクトでありidの値は0…

Twitter BootStrapを使ってみた

TwitterがスタイルシートテンプレートのBootStrapをリリースしたので早速使ってみた。 http://twitter.github.com/bootstrap/とりあえず感想を箇条書き良かった点 導入はスタイルシートを取り込むだけで簡単 スタイルをほとんど当てていなかったサイトが少し…

バックグラウンドデータに関する注意点

Androidアプリケーション内のデータを定期的にWebと同期させたい場合、サービスを起動してバックグラウンドでサーバーと同期するのが一般的であるが、その処理を許可するかどうかはAndroid端末の設定にある「バックグラウンドデータ」という項目でON/OFFの指…

区分値の設定

あるテーブルのカラムが仕様書上にしか存在しない区分値を持つ場合、DFluteでは定義ファイルに記述することでEnumを生成してくれる(区分値テーブルを使う方法もあるがそれは割愛)。さらにテーブルと結びつくよう定義することでEntityクラスのメソッドとして…

カテゴリーの編集

管理 → 設定 → 編集設定 → カテゴリ

aaptコマンドのヘルプ

apkファイルを自分で作るんやー!という人のためのヘルプ Usage: aapt l[ist] [-v] [-a] file.{zip,jar,apk} List contents of Zip-compatible archive. aapt d[ump] [--values] WHAT file.{apk} [asset [asset ...]] badging Print the label and icon for …

Mac環境にRedmineをインストール

事前準備 インストールするRedmineのバージョンに応じて各バージョンを揃える。これが条件を満たしていないとインストール時にエラーになることがあるので注意。よって以下のURLは必読。RubyGemsのバージョンも忘れずに確認すること。 http://www.redmine.or…

エミュレータの縦横を切り替える

Ctrl+F11

Mac OS XにGitosisをインストール

Git

参考 http://lukhnos.org/blog/en/archives/162 Gitosisを取得 Gitユーザーの作成 ユーザー作成 PATH設定 公開鍵の作成 リモートログインを可能にする 公開鍵をサーバーにコピー hoge リモートログインを可能に 1.Gitosisを取得(Server) prompt> cd /User/us…

AppengineJSとは

AppengineJSはGoogleAppEngine上で動作するRhino実装(注:語訳っぽい)。 ただしAPIはGoogleAppEnginePythonSDKをベースにしている。 http://www.appenginejs.org/

Rhinoとは

RhinoはJavaで記述されたオープンソースのJavaScript実装。通常はユーザーにスクリプト機能を提供するためJavaアプリケーションに組み込まれる。 http://www.mozilla.org/rhino/

RingoJSとは

RingoJSはMozilla Rhino JavaScritptエンジンをベースにJavaで書かれたJavaScriptランタイム。Webアプリケーション向けに作られているが、CLIやGUIでも利用可能。 http://ringojs.org/

日本語対応

N-gram Solrには2-gramのCJKTokenizerがあるのでそれを使える。Tokenizerはインデックスフィールドごとに設定するが、サンプルには記載がないのでschema.xmlにtext_cjkというFiledを追加してこれをCJKTokenizerで解析してみる。追記したらサーバーを再起動。…

インストールからサンプル起動まで

参考「Apache Solr入門――オープンソース全文検索エンジン」 http://gihyo.jp/book/2010/978-4-7741-4175-6 ダウンロード 下記URLから最新バージョンをダウンロードして解凍。2011年8月28日現在の最新バージョンは3.3.0 http://www.apache.org/dyn/closer.cgi…