Android

Androidの端末IDを作る

欲しいもの Android端末を識別したい ANDROID_IDという端末固有IDは使いたくない SIMのIDも使いたくない 機種変した時も移行させるとかめんどそう 他のアプリも使っているだろうし 変えれないと、ID漏れた時にセキュリティの人がトマホーク持って襲ってきそ…

jsonのparse

jsで JSON.stringify({host:"shokai.org", port:8080}) すると "{"host":"shokai.org","port":8080}" になる これをJavaで import org.json.JSONObject; JSONObject json = new JSONObject(data); json.getString("host"); json.getInt("port"); parseできる

別サイトもwebviewで開く

webviewで開いたページからredirectされたり、linkを押して移動した時にブラウザが開いてしまわないようにする webView.setWebViewClient(new WebViewClient() { @Override public boolean shouldOverrideUrlLoading(WebView view, String url) { view.loadU…

ADK使いながらlogcatを見る

ブラウザからlogcatを見る - 明日の鍵超便利じゃん・・・ wget http://tomorrowkey.googlecode.com/svn/trunk/LogcatOnBrowser/LogcatSocketServer/bin/LogcatSocketServer.apk adb install -r LogcatSocketServer.apk wget http://tomorrowkey.googlecode.c…

viewにある全てのボタンを操作する

画面上にあるボタンを全て取得して、全部onClickListenerに登録したい。refrectionを使って、R.id.の中身のstatic fieldsを全て取得して、一つずつfindViewByIdした。 import java.lang.reflect.*; なおthisがimplements OnClickListenerされている。 public…

加速度センサーを使う

参考:http://www.adakoda.com/android/000182.html AndroidManifest.xmlにpermissionを書く必要は無い SDK9向けに書いた package org.shokai; import java.util.List; import android.app.Activity; import android.hardware.Sensor; import android.hardwa…

Nexus SのNFCでFelicaのIDを読む

http://code.google.com/p/guava-libraries/ から guava-r09.jar を手に入れて、Androidプロジェクトにlibsディレクトリを作ってその中に入れる。 プロジェクトのbuild pathにguava-r09.jarを追加する。 AndroidManifest.xmlにpermissionを書いておく <uses-permission android:name="android.permission.NFC" /> </uses-permission>

debug certificate expired

というエラーが、EclipseでAndroidプロジェクトをビルドしたら出た。 参考 Signing Your Applications | Android Developersのsigning in debug modeのところ visible true : Debug certificate expired on 〜〜 Android Packaging Problemが出た 古いの削除…

antでandroid market用にrelease build

http://developer.android.com/guide/publishing/app-signing.html 鍵を作る keytool -genkey -v -keystore shokai-android-release-key.keystore -alias shokai-release -keyalg RSA -keysize 2048 -validity 10000 リリースビルドして鍵と合体させる ant r…

droidgapでandroidアプリ開発

https://github.com/phonegap/phonegap-android を使う。 ひとつ前の記事のPhoneGapでAndroidアプリ開発よりも、専用のテンプレート生成ツールがあるのでやりやすい。 git clone git://github.com/phonegap/phonegap-android.gitphonegap-android/binにpath…

phonegapでandroidアプリ開発

まずeclipseでjavaで普通に開発できる環境を整えて、チュートリアルとかやってみるのをおすすめする。 build targetのリストを見る android list android2.2用にプロジェクトを作る android create project --target "android-8" --name kzsk --path ./kzsk …

Android2.2にアップデート

香港から輸入したSIMフリー版Desire。メニュー→設定→この携帯電話について→システムソフトウェアの更新→今すぐチェック 1回目でダウンロードして、2回目でインストールされた。変わったところ APNの設定が消えたので設定し直した。 FlashLightというアプリが…

メーラを起動する

参考 http://snipt.net/Martin/android-intent-usage/ 宛先、件名、本文を指定してメーラ起動。 mailto:のリンクを開くとメーラが起動する public void openMail(String title, String body, String to){ Uri uri=Uri.parse("mailto:"+to); Intent i=new Int…

画面スリープや他アプリへの切り替えイベント

ActivityのonPause, onResumeで取れる @Override public void onPause(){ super.onPause(); Log.v("test", "onPause"); } @Override public void onResume(){ super.onResume(); Log.v("test", "onResume"); } 電源ボタンを押して画面を切った時 ホームボタ…

MapViewで画面外に描画しないようにする

GPSログをHTC Desire上でGoogleMapsに描画するアプリを作っている。 http://shokai.org/blog/archives/5180 線を10000本とか表示したらスクロールがガクガクになった。1000本ぐらいでようやくギリギリ耐えられる程度の重さになる。 画面内に線が全くなくても…

リストダイアログ

八角研究所 : Android で再開する Java プログラミング(14) - ダイアログを制するものがAndroidを制する!Javaはまだ慣れないな。 リストダイアログからはクリックしたボタンのindexが取れる。これでファイル選択画面を作りたい どうやらスコープの関係で…

SDカード内のファイルの読み書き

http://d.hatena.ne.jp/shokai/20100601/1275418503 ではandroidのContext.openFileInput, Context.openFileOutputを使ったがSDカードを読み書きするにはjava.io.FileとFileInputStream, FileOutputStreamを使わなければならないらしい。 とりあえずAndroid2…

AlertDialogでファイル一覧から選択させて開く

この辺のサンプルでは、ダイアログをクリックさせて「何番目をクリックしたか」を取得しているけど、スコープの関係でファイルを開いてViewに表示する関数を呼ぶとかはできない。 八角研究所 : Android で再開する Java プログラミング(14) - ダイアログを…

テキストファイルの読み書き

openFileInput, openFileOutput, fileListを使う ファイルはどこにできているんだろう。 package org.shokai.test; import android.app.Activity; import android.content.Context; import android.os.Bundle; import android.util.*; import android.view.*…

実機で実行する

HTC DesireをUSBケーブルでMacに接続、「HTC Syncモード」にする(他でもできるかも?) Eclipseで[Run]→[Run Configurations] でTargetタブでManualラジオボタンを選び、Runボタンを押す。つまり以前作ったデバイスエミュレータを選ばない。 Android Device…

android sdkインストール

身近なAndroid本の著者にSDKインストールを直伝していただいたので、メモを残します。■ダウンロード、配置 eclipse classic(まっさらなeclipse) http://www.eclipse.org/downloads/ をダウンロード。3.5.2を手に入れた android-sdk_r05-mac_86.zip もダウ…