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

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

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

Redmine-2.xでの起動方法

バージョン2系から起動方法が変更になっているのでメモ ruby script/rails server webrick -e production

Mac上のエミュレータからインターネットに接続する

DNSの設定が必要 Eclipse > 環境設定 > Android > Launch > Default emulator options に以下を設定 -dns-server 8.8.8.8,8.8.4.4

android-maven-pluginでBuildConfig.javaを有効にする

BuildConfig.javaを使って開発設定と本番設定を出しわけたい場合、android-maven-pluginでのリリースパラメータを付ける. 以下はパラメータ化した例 <configuration> <release>${android.release}</release> </configuration>-D android.release=true

コマンドラインからSDKをアップデートする

ヘルプの出し方 #全体のヘルプ android --help update #updateコマンドのヘルプ android --help update #update sdkのヘルプ android --help update sdkサンプル #とりあえず全部 android update sdk -u -a #-n オプションでシミュレーション android update…

DBの型をどうマッピングしているか

DBFluteのGeneratorを参考にAndroidのSQLiteアクセス用のコードジェネレータを作ろうと思い調査。どうやらorg.seasar.dbflute.logic.jdbc.mapping.DfJdbcTypeMapperのgetColumnJdbcTypeで判断しているらしい。 /** * Get the JDBC type of the column. <br /> * Th…

テーブルの行をドラッグで移動させたい

Sortableを使って実現。 <table id="hoge"> <tbody> <tr> <td>aaa</td> <td>bbb</td> </tr> <tr> <td>ccc</td> <td>ddd</td> </tr> </tbody> </table> $('#itemDataTable tbody').sortable();tbodyタグにsortableをつけるのがポイント。

Android 4.2: A new flavor of Jelly Bean.

リリースされたのでメモ。 http://www.android.com/whatsnew/ Photo Sphere Sphereは球体の意味。カメラを動かしながら撮影することで、GoogleMapのストリートViewのように上下左右にグルグルまわすような映像が撮影できる。パノラマカメラに上下移動も付け…

Concurrency in Android

InfoQに http://www.infoq.com/presentations/Concurrency-Android という動画がアップされていたのでメモ。 AsyncTaskとLooperの使い分け AsyncTask 短時間の実行 1度だけ 実装済みのLoaderを使用 Looper 長い生存期間 タスクキューを管理 サービスの実装…

BLOB型カラムの使い道

BLOBとはbinary large Objectなので画像データなどのバイナリファイルを入れることを想定されると思うが、Androidに置いてはパフォーマンス面でも問題があり推奨されない。その場合画像データはファイルに保存し、そのパスをテーブルで持つ方法が良い。ではB…

SQLiteで外部キー制約

Androidで外部キー制約を使いたい場合、SQLiteで外部キー制約が可能になったのはVersion3.6からなので、Androidではどのバージョンがサポートされているかを必要がある。調べてみるとどうやらAPI Level8のFroyoかららしい。Android APIレベル別SQLiteのサポ…

UnixのTimeStampとJavaのDate.getTime()の値は別物

UnixはUTCでの1970年1月1日真夜中(0時0分0秒)からの経過秒数、Javaは1970 年 1 月 1 日 00:00:00 GMT からのミリ秒数を返す。ちなみにUTCとGMTは微妙に異なるものらしく、詳しくはここに書いてある。http://java.sun.com/javase/ja/6/docs/ja/api/従って、…

トラブルシューティング [alert] (EAI 8)nodename nor servname provided, or not known: mod_unique_id: unable to find IPv4 address of "ホスト名"

Apacheのエラーログに上記のエラーが出たらホスト名がIPアドレスに変換できないよ、という意味。 /etc/hosts/ を編集してエラーとなっているホスト名とIPアドレスを対応付けする。 例: $sudo vi /etc/hosts 127.0.0.1 localhost hostnameApacheを再起動すれ…

トラブルシューティング OS X にしたらgccが消えた

Mac

X Codeをインストール済みの人はX Codeのバージョンを4.3.xにUpdateして起動し、 preference→downloads→Command Line ToolsをインストールでOK

トラブルシューティング Invalid command 'Order'

Apacheを起動しようとしたら以下のエラーで怒られた。 $ ./bin/apachectl start Syntax error on line 124 of /usr/local/apache-httpd-2.2.19/conf/httpd.conf: Invalid command 'Order', perhaps misspelled or defined by a module not included in the s…

dex2jarを使う

http://code.google.com/p/dex2jar/ http://code.google.com/p/dex2jar/downloads/detail?name=dex2jar-0.0.9.8.zipをダウンロードして解凍 .apkファイルを解凍 dex2jar-0.0.9.8\dex2jar.bat ProjectName\classes.dex

-keepattributesについて

メモ -keepattributes *Annotation*,SourceFile,LineNumberTable 属性 説明 何が起こるか SourceFile ソース情報の維持 書かないとクラスファイルにソースファイル名が保持されない。StackTrace上ではunKnownSourceになる LineNumberTable 行番号情報の維持 …

android-maven-pluginでリリース用APKをビルド

android-maven-pluginを使ってAndroid開発を行っている場合、リリースも当然mavenでやりたいところである。となるとproguardで難読化して、jarsignerで署名して、zipalignで最適化してという3つのステップを経てapkファイルを作成する必要がある。記事を書…

Activityライフサイクルの管理(4) Activityの再構築

※本記事はhttp://developer.android.com/training/basics/activity-lifecycle/recreating.htmlの直訳です。サンプルコードもそちらからダウンロードしてご利用下さい。 ユーザーがバックボタンを押したとか、Activityが自身のfinish()を呼ぶなど、標準的なア…

Activityライフサイクルの管理(3) Activityの停止と再開始

※本記事はhttp://developer.android.com/training/basics/activity-lifecycle/stopping.htmlの直訳です。サンプルコードもそちらからダウンロードしてご利用下さい。 アプリケーションが常に生存しその進捗を失わないというユーザーの理解を保証するためにAc…

Activityライフサイクルの管理(2) Activityの一時停止と再開

※本記事はhttp://developer.android.com/training/basics/activity-lifecycle/pausing.htmlの直訳です。サンプルコードもそちらからダウンロードしてご利用下さい。 普通にアプリを使っていると、フォアグラウンドにあるActivityは時々Activityの一時停止(pa…

Activityライフサイクルの管理(1) Activityの開始

本記事はAndroidトレーニング http://developer.android.com/training/basics/activity-lifecycle/starting.html の直訳です。 Activityの開始 main()メソッドでアプリが始まる他のプログラミングパラダイムとは違い、Androidシステムはそのライフサイクルの…

Android 4.1, Jelly Bean!

http://developer.android.com/about/versions/jelly-bean.html http://developer.android.com/about/versions/android-4.1.html

Eclipse SDK 4.2 Release

出た。明日会社のPCにインストールしよう。 http://www.eclipse.org/eclipse4/新機能はこちら。 http://download.eclipse.org/eclipse/downloads/drops4/R-4.2-201206081400/news/良さげなもの ソースファイルなくてもデコンパイラが実行できるよと書いてあ…

S2ContainerServeltにアクセスしてみる。

デバッグモードでorg.seasar.framework.container.servlet.S2ContainerServletにリクエストを送信することでServletを再起動したり、S2Containerを再起動したりできる。web.xmlのs2containerの設定にデバッグパラメータを追加 <servlet> <servlet-name>s2container</servlet-name> <servlet-class>org.seasar.frame</servlet-class></servlet>…

Riakについて

とりあえずメモ。 Riakとは Erlangで記述されたスケーラブルな分散型データストア AmazonのDynamoをベースとしている。 Cassandra,MongoDBが競合 JavaScriptまたはErlangでMap/Reduceジョブを作成する 参考 http://www.ibm.com/developerworks/jp/opensource…

サーバーサイドJAVAでFacebookにログイン

自分のWebサイトからFacebookでログイン出来るようにしたい、サーバーからFacebookに対していろいろやりたい。そんな人の為に。参考 https://developers.facebook.com/docs/authentication/server-side/ ステップ ユーザーをOAuthダイアログにリダイレクト …

基礎知識

http://nodejs.org/ http://www.nodebeginner.org/index-jp.html https://github.com/joyent/node/wiki/Installation D:\test>node > process.versions { node: '0.6.18', v8: '3.6.6.25', ares: '1.7.5-DEV', uv: '0.6', openssl: '0.9.8r' } >

UDIDとUUIDの違いをざっくりと

UDID 携帯端末などに個別に割り当てられるID どのアプリケーションからUDIDを取得しても同じ値が得られる 異なるサービスを運営していても、同じUDIDが使われていれば同じユーザーによるものであることが推測できる 個人情報管理上問題がある。 UUID ランダ…

『マンキューのマクロ経済学1 入門編』 第2部 古典派理論:長期の経済を読む

JavaScriptで式を表現しようかと思い始めてはみたものの・・・。 第3章 国民所得 生産要素 生産要素とは財、サービスを生産するのに用いられる投入物のこと var K, //資本(K=kapital:ドイツ語) L, //労働時間 (L = labor) Y, //生産量 (Y = yield) z, //…

Davis.jsの基礎

Davis.jsとは何か http://davisjs.com/docs Davis.jsはHTML5 history.pushStateを使ったJavaScriptライブラリである。JSアプリケーションのためにSinatraスタイルでのルーティング制御を可能にする。 ルーティング Davis.jsの基本はルーティング制御である。…