約 4,150,901 件
https://w.atwiki.jp/conn/pages/20.html
エミュレーターでも実機でもデバッガが使えるので、ログ出力の意義をあまり感じない。 実機でアプリを実際に使ったとしても、ダウンロードされたアプリが出したログを開発者が確認できるわけでもないのであまり意味がないかもしれない。 どうせやるならばアプリで例外をキャッチした時点で、ダイアログを表示し開発者にトレース情報をメールなどで送りつけるよう促すのが効果的なのではないだろうか。うーん……ログの意義はやはり感じ取れない。 とはいえ、ログはアプリケーションの基本なので一応は動作を確認し、情報をまとめておく。 情報源 全ての本家の情報。英語です。 http //developer.android.com/tools/debugging/debugging-log.html http //developer.android.com/reference/android/util/Log.html http //developer.android.com/tools/help/traceview.html ログレベル DEBUGログは開発時のみ出力されるログです。実際のアプリに必要のない開発用のログはDEBUGレベルで出力しましょう。 ログレベルの解釈は人によって微妙に変わってきます。 以下に、一般的なログレベルの分け方を優先度順に表にします。 ASSERT ERRORよりも更に高いレベルのエラー。使いどころが分からない ERROR 通常のエラー。アプリケーションの特定の機能が使えない状態や、特定の操作がエラーによりキャンセルされた場合など WARN 警告。アプリケーションは利用できるがERRORを起こす可能性があったり、操作が完了されたものの不備がある可能性など INFO 単なる情報。起動、停止などを記録したりする。アプリケーションの動作に悪影響を及ぼすことはない DEBUG デバッグ情報。開発時のみに使用するログ VERBOSE 詳細な情報を出力する。開発時のみに使用するログ VERBOSEはDEBUGログよりも更に低いレベルで、開発時以外のコンパイルからは除外される。DEBUGはコンパイルに含まれるが、機器のログ出力レベルがデフォルトではINFOのため設定を変更しない限りは出力されない(ただし、ちゃんとisLoggableを評価してる場合に限る)。 ログ出力処理はアプリに非常に負荷がかかる。そのため不用なログ出力は控えるのが良い。 またif文でisLoggableを使用しログ出力の要否を確認することがshouldされている。isLoggableを評価しない場合、ログ出力レベルの設定に関わらずDEBUGログまで出力されてしまうようだ。 ログの確認方法 LogCat Eclipseからログ出力を確認するにはLogCatを使用するのが便利。 Eclipseのメニューから「ウインドウ」>「ビューの表示」>「その他」>「Android」「LogCat」で開くことができる。 ワークスペース内のプロジェクトが出力するログをLogCatで確認する場合は、設定の変更が必要。 Eclipseのメニューから「ウインドウ」>「設定」を開き、「Android」>「LogCat」を選択し、そこで「ワークスペース内のアプリケーションからのメッセージのために logcat をモニターする」にチェックを入れる。 優先度の設定は、その優先度以上のログが出力されるとLogCatビューへの表示を開始し、フィルターを追加し該当プロジェクトのみの分を表示する仕組み。最低の優先度「VERBOSE」を指定すれば良い。仮に「ASSERT」を選択すると「ERROR」や「DEBUG」のログ出力ではキャッチされず、一切ログが表示されなくなる。 他のホームページなどの情報によると、これとは違う情報が書かれている。バージョンによって変わってくるのだろうか。悩ましい。 コマンドラインからlogcat コマンドラインから ADB を使用し logcat を実行する。 adb logcat と実行するとログが流れるが、ここにはEclipseから実行したプロジェクトのログは表示されない。 正しくは、 adb -e logcat もしくは adb -d logcat を使用する。「-e」が仮想Android端末、「-d」がUSB接続の実機。 また adb devices adb -s XXXXXXX logcat デバイスのシリアルを「devices」で確認し「-s」スイッチに続いてシリアルを指定することで、対象の端末分のみのログを表示することができる。 ログの出力方法 ログを出力するにはAndroid.util.Logクラスを使用する。 importするだけで使用可能になる。 ログレベルごとにメソッドが用意されており、ASSERTを除き、それぞれのレベルの頭文字がメソッド名になっている。 ASSERTレベルの wtf は、どうやら”What a Terrible Failure !!”(なんて不様な失敗だ!)の略らしい。 ASSERT wtf ERROR e WARN w INFO i DEBUG d VERBOSE v ログ出力メソッドを呼ぶときに必ず指定するタグだが、これはどれがログを出力したのか識別する文字列で、半角23文字以内で任意に設定する。 それぞれのメソッドには、 タグとメッセージを指定する タグとメッセージと例外オブジェクトを指定する 2種類が用意されている。 またwtfには、タグと例外オブジェクトを指定するものもある。 以前は日本語のログを出すと LogCat で文字化けしたらしいが、自分の環境では大丈夫だった。 例 String logtag = "HelloAndroid"; Log.i(logtag, "This is INFO メッセージ"); Log.d(logtag, "This is DEBUG メッセージ"); if( Log.isLoggable(logtag, Log.DEBUG) ) { Log.d(logtag, "This is DEBUG メッセージ if isLoggable(DEBUG) = TRUE"); } このコードを、特に設定を変更していない仮想Android端末で実行すると、上の2つだけが出力される。 デフォルトのログレベルはINFO。だが上のDEBUGメッセージは、ログレベルのチェックをしていないので出力される。 下のDEBUGメッセージは、ログレベルのチェックをしているので正しく出力が抑止される。 いちいちif分で囲むのも面倒なので、Logをラップしたクラスを作れば良さそうだ。 DEBUGログに関しては、isLoggableで評価するより、定数を評価する形にしたほうがコンパイル時にコードごと除去されるので、そっちの方が動作は軽くなりそうだが、未確認。
https://w.atwiki.jp/zensensyu/pages/2343.html
2ちゃんねる・生活カテゴリ 361 名前:水先案名無い人:2008/11/11(火) 00 36 48 ID OX9R2XIa0 全「2ch 生活カテゴリ」入場!! 派遣殺しは生きていた!! 更なる不況にあえぎ格差社会が甦った!!! ワーキングプア!! その日暮らし板だァ――――!!! 足元のオシャレはすでに我々が完成している!! ほぼメーカー対応靴板だァ――――!!! 汚れしだいピカピカに磨きまくってやる!! 綺麗好き代表 掃除全般板だァッ!!! 奴らとの戦いなら我々の歴史がものを言う!! 素手洗剤スプレー 鼠蝿蜘蛛野良猫G 害虫害獣対策板!!! 真の変身を知らしめたい!! 綺麗なお姉さんは好きですか? 化粧板だァ!!! エロ話はピンク板だが総合雑談相談なら全板オレの出番だ!! 見えない身だしなみ 下着板だ!!! 分煙対策は完璧だ!! 愛煙嫌煙 たばこ板!!!! 全家具のベスト・メンテナンスは私の中にある!! 日曜大工の神様が来たッ DIY板!!! 雑誌には絶対に敗けん!! ねらーのアクティブさ見せたる イベント隊長 walker+板だ!!! 結婚式から葬式まで(なんでもあり)ならこいつが怖い!! 日本のピュア・セレモニー 冠婚葬祭板だ!!! 海の向こうから炎の書き込みが上陸だ!! グローバル 一般海外生活板!! ルールの無いまったりがしたいから分離(生活板大量削除事件)したのだ!! プロの平和っぷりを見せてやる!!生活サロン板!!! めい土の土産に2chとはよく言ったもの!! 達人の人生が今 スレッドでバクハツする!! 年金生活 50代以上板だ―――!!! 30代こそが2ch人口最大の代名詞だ!! まさかこの板がきてくれるとはッッ 30代板!!! 美しくなりたいからここまでしたッ 元の顔一切不明!!!! 生活板のピット(ケンカ)板 美容整形板 カーチャンたちは家族最強ではない2chで最強なのだ!! 御存知第2の既女板 育児板!!! 2chの本場は今や北米にある!! オレ達を驚かせる奴はいないのか!! 北米海外生活板だ!!! ステイショナリィィィィツッ説明不要!! 学生さんから!!! 文具オタまで!! 文房具板だ!!! 体重は綺麗に落としてナンボのモン!!! 超実戦痩身術!! 美容系からダイエット板の登場だ!!! 運動不足解消はオレのもの 健康になりたいやつは思いきり走り思いきり泳ぐだけ!! アンチ・メタボ統一王者 スポーツクラブ板 自分のセンスを試しに書き込んだッ!! 2ch全お洒落チャンプ ファッション板!!! お湯に更なる癒しを求め ”リラックス”お風呂・銭湯板が帰ってきたァ!!! 今の自分に娯楽はないッッ!! シック・レスラー入院生活板!!! 人生四〇年の知識が今ベールを脱ぐ!! 雑談系から 40代板だ!!! 家の中でならオレはいつでも一人ぼっちだ!! 燃える家事雑事 一人暮らし板 774号室から登場だ!!! 今月の返済はどーしたッ 駄目人間の炎 未だ消えずッ!! サラ金も闇金も思いのまま!! 借金生活板だ!!! 特に理由はないッ 家族が集まりゃギスギスするのは当たりまえ!! 愚痴も怨嗟もないしょだ!!! 日の下開山! 家庭板がきてくれた―――!!! コンタクトを捨てて磨いた実戦萌えポイント!! 2chのデンジャラス近視遠視共 めがね板だ!!! リサイクルだったらこの板を外せない!! 超A級エコ 中古リサイクル板だ!!! 超一流極貧生活の超一流の節約術だ!! 生で拝んで参考にしやがれッ 生活の知恵!! ドケチ板!!! 便利生活はこの店が完成させた!! 独身者の切り札!! コンビニ板だ!!! 生活鯖王者が帰ってきたッ どこへ行っていたンだッ 総合チャンピオンッッ 俺達は君を待っていたッッッ生活全般板の登場だ――――――――ッ 加えて負傷者発生に備え超豪華なリザーバーを数板御用意致しました! 生活必需品 家具板!! お買い物~♪ 通販・買い物板!! きれいになりたい!美容板! ……ッッ どーやら後の数板はマイナー&過疎の様ですが、到着次第ッ皆様にご紹介致しますッッ 最初、食文化でやろうと思ったんだけど数が足りなかった。 関連レス 365 名前:水先案名無い人:2008/11/11(火) 06 50 12 ID aJ+UDIum0 ガ板・・・ 366 名前:水先案名無い人:2008/11/11(火) 06 56 32 ID aJ+UDIum0 スマン・・・・ コメント 名前
https://w.atwiki.jp/android-memo/pages/57.html
概要 共通ポイントサービス。 類似のサービスにTポイントがある。 特徴 店にもよるが還元率は1%程度 Edyに紐付け可能(還元率0.5%) ポイントをローソンのお試し引換券に交換可能。お試し引換券に交換すると実質還元率が1~3%程度と非常に高くなる。 利用方法 ID インターネットでのみ使用可能。 カード 全ての店で使用可能。 おサイフケータイ 「ローソンモバイルPonta」という名称の通り、ローソンでしか使えない。 Androidアプリ おサイフケータイWebプラグイン かざすフォルダのサービスの1つとして提供される。 Ponta Ponta周りのサービス(ポイント確認・履歴確認等)はこれを使う。 LAWSON これもポイントを確認できる。
https://w.atwiki.jp/droid/pages/27.html
インターネットメール Gmail(無料) K-9 Mail(無料) http //andronavi.com/2010/08/35467 インスタントメッセンジャー GoogleTalk(無料) Skype(無料) Meebo IM(無料) http //octoba.net/archives/20100225-meebo-im-android-409.html MSN Talk(無料) IMEasy メッセンジャー(無料) http //octoba.net/archives/20101209-imeasy-android-1244.html エンターテインメント 風船メッセージ(無料) https //play.google.com/store/apps/details?id=org.smona780.fuusenmail アバター Android メーカー(無料) https //market.android.com/details?id=com.google.android.apps.androidify
https://w.atwiki.jp/droid/pages/48.html
DLNAも参照のこと テレビ番組表 テレビ欄(無料)★ https //market.android.com/details?id=jp.dip.sys1.android.tv Latte(無料)★ https //market.android.com/details?id=com.blogspot.fareastsky.latte アニメの時間(無料・有料あり)★ https //market.android.com/details?id=com.atrtv.android.broadcastchecker.anime.free ビデオ予約 chan-toru(無料)★ https //market.android.com/details?id=com.sony.synapse feature=search_result https //tv.so-net.ne.jp/chan-toru/
https://w.atwiki.jp/droid/pages/29.html
バッテリチェッカーBattery Widget(無料)★ BattStatt Free(無料) Denchin(無料) vizBattery Widget(無料) BatteryLife(無料) コメント バッテリチェッカー Battery Widget(無料)★ https //market.android.com/details?id=com.geekyouup.android.widgets.battery BattStatt Free(無料) https //market.android.com/details?id=net.bajawa.battery Denchin(無料) https //market.android.com/details?id=com.denchin vizBattery Widget(無料) https //market.android.com/details?id=com.android.vizBattery BatteryLife(無料) http //andronavi.com/2010/10/46725 コメント https //market.android.com/details?id=com.matsumo.babar amp;feature=also_installed -- ババァ (2012-01-03 15 28 36) 名前 コメント
https://w.atwiki.jp/melodroid/pages/22.html
Androidアプリケーション用開発環境構築 概略 Androidアプリケーションを開発する為の開発環境の構築方法について記載する。 Linux(Ubuntu)上でのEclipseを使用しない場合の開発環境について記載する。 Android Developersのページ(その他の統合開発環境)のほうがわかりやすいかも・・(汗) 目次 大まかな流れ ビルドツール SDKのインストール プロジェクトの作成 ビルド方法 エミュレータ起動 アプリの導入 大まかな流れ 目次を見れば想像できるが、念のため、全体の流れを記載する。 環境構築Linuxへパッケージ追加 Android用パッケージ追加 アプリ作成 アプリ実行実行環境設定 実行環境へのインストール 注意事項Eclipseを使う場合も、基本変わらないと思う。 ビルドツール ここでは、ビルドに使用するパッケージの取得について記載する。 必要なパッケージJAVAのSDK ANT JAVAのSDKを取得端末で、"apt-get install sun-java6-bin"を実行 ANTの取得端末で、"apt-get install sun-java6-bin"を実行 注意事項"apt-get"は管理者権限が必要なので、"sudo"等で対応してください。 64bitだと一手間いるみたいです。公式のトラブルシューティングを参考にしてください。 SDKのインストール ここでは、android用のSDKのダウンロードから導入方法について記載する SDKには、プロジェクト作成、デバッグの為のツール、エミュレータ等が含まれている ソフトのバージョンによっては、少し異なる可能性がある ANDORIODのSDK/AVDマネージャの導入パッケージのダウンロードブラウザ等で、SDKダウンロードページへアクセスする 対応するOSのパッケージをダウンロード(Linux (i386)想定) パッケージの解凍端末で、"tar -zxf"等で解凍する"android-sdk-linux_86"等の名前でフォルダができる パッケージへパスを通すここでは、homeのbinフォルダへ通す手段を記載解凍したファイル一式を"~/bin/"へ移動するここで、"~/bin/android-sdk-linux_86/tools/"配下のandroid等がある ".bashrc"に記載を追加する最終行に、"PATH=$PATH ~/bin ~/bin/android-sdk-linux_86/tools"を追記する ANDROIDのSDKのダウンロードSDK/AVDマネージャを起動する(前手順でダウンロードした)端末で、"android"とタイプする.bashrc変更後は、端末を再起動させてください 直接、"~/bin/android-sdk-linux_86/tools/android"などでもOK SDK/AVDマネージャの設定を変更するGUIが起動するので、左枠の"Setting"を選択 Misc欄の”Force https //..sources to be fetched using http //..sources”にチェックを入れる Proxy設定の必要があれば、追記する 必要なSDKをダウンロード左枠の"Available Packages"を選択する 登録されているURLの左の三角矢印をクリックするサイトでダウンロードできるアイテムが読み込まれる 必要なSDKのチェック欄にチェックを入れる 右下の”Install Selected”をクリックする 確認画面が表示されるので、"Accept"をクリックする ダウンロード完了まで待つ 注意事項別のOSで実施の場合は対応するパッケージを取得してください。 パスの通し方は一例となるので、好みに合わせてください。tools配下のバイナリが実行できれば、良し。 設定しなくても、直接叩けば問題ないけど、毎回手間なので。。 "Force https //(略)"にチェックを入れないと、ダウンロードに失敗する場合あり SDKのバージョンで悩むぐらいなら、全部チェックを入れてもよい APIレベルは、デベロッパのページのAPIが使えるかどうかに関連する Google APIs(略)は、SDKにGoogle APIが使える差分が付加した感じ Sampleは、参考になるので、ダウンロードするべき SDKマネージャのバージョンによって、異なる可能性がある プロジェクト作成 作成中 ビルド方法 作成中 エミュレータ起動 作成中 アプリの導入 作成中 プロジェクトの作成 ビルド方法 エミュレータ起動 アプリの導入
https://w.atwiki.jp/melodroid/pages/15.html
覚え書き 概略 簡単なメモ程度の情報とか、調査中の情報とかをとりあえず、忘れないうちに書いたページ #あとで、消すかも(とりあえず、ここに退避中) 目次 バージョン 閲覧中資料 未確認資料 未整理資料 ビルド関連資料 バージョン 1.0「?」 1.5「Cupcake」 1.6「Donut」 2.1「Eclair」 2.2「Froyo」 3.0?「GingerBread」 閲覧中資料 途中で調べた資料をとりあえず、転記 Armadillo-500でGoogle Androidを動かす(3) Beagle Board Rev.C2でAndroidを動かすCommentsAdd Star Taosoftwar Android AVDとemulator (SDK 1.5) JavaDrive Android入門R.javaファイル 個々のビューにIDを設定 Androidの会 ハンズオンセッション solaさんのページ カテゴリArmadillo O.M.C.のモバイル工作室 BusyBoxの用意と、MicroSDからの起動 カメラ関連 Androidの会組込みGWのAndroidでUSBカメラを使う方法 ブリリアントサービス様のArmadillo-500上のAndroidでカメラプレビューする方法 V4L2インタフェイス 未確認資料 /data/dalvik-cache not writable, breaking dynamic loading of packages/libraries Unstable 未整理資料 未確認と違いあるのか・・(汗) おもしろそうなドキュメント京都GTUG Linux関連(後で移動・・)JF Index of Linux Kernel 2.6 Documentation LinuxKernel ドキュメント ビルド関連資料 ビルドする上で関係した資料 カーネルのビルドエラー解消の元ネタ 「Armadillo 04247」 「PATCH」 armadillo-500 make O= building init.rcの設定等 BeatCast様のSoftware/Android/bc9 Cupcake用の起動時Power問題(まだ未検証→必要でした) Android Zaurusはてな館「ZaurusでAndroid 1.5」 上の参照先のgit.diff.gzのような対処が必要 lib側で修正するには、EeePc porting - Instructions for last codebaseを参照 起動時に関わるエラー(init.rcの設定について) Re Howto build Android full source for X86 Architecture msg#00000 C++からC言語の関数の呼び出しについて C言語の関数呼び出し - extern "C" C言語で書かれた関数をC++から呼び出す(その逆も)
https://w.atwiki.jp/droid/pages/31.html
音楽 Winamp(無料) https //market.android.com/details?id=com.nullsoft.winamp FLiP(無料) https //market.android.com/details?id=jp.tom016.flipf MixZing Music Player(無料) https //market.android.com/details?id=com.mixzing.basic 支援ツール Audio Fx Widget(無料)★ https //market.android.com/details?id=com.namakerorin.audiofxwidget Cover Art Downloader(無料)★ http //octoba.net/archives/20110821-android-1960.html コメント 「音楽/動画プレーヤー」アプリ 徹底比較 徹底比較http //androider.jp/page/2010/05/761/ -- Android携帯をもっと楽しく! (2011-04-21 23 30 38) 名前 コメント
https://w.atwiki.jp/android/pages/32.html
概要 UIを持たないがライフサイクルが通常より長いアプリケーション。 mp3プレイヤーのバックエンドなどに適している。 作成手順 aidlを書く 他のJavaソースファイルと同じ位置に IHogeService.aidl を作成する。中身はこんな感じ package jp.hoge.HogePackage; interface IHogeService{ int getPid(); } インタフェースの実装クラスを書く API Demos のサンプルコードを参照 AndroidManifest.xml にサービスを定義する manifest xmlns android="http //schemas.android.com/apk/res/android" package="jp.hoge.HogePackage" application service class=".HogeService" android process=" remote" / android process=" remote" をつけると別プロセスで動くようになる。 利点とかはまだよくわからない。 呼び出し側を書く private Intent mServiceIntent = null; private IHogeService mService = null; private boolean mBound = false; private ServiceConnection mConnection = new ServiceConnection(){ // サービスと接続した public void onServiceConnected(ComponentName className, IBinder service){ mService = IHogeService.Stub.asInterface(service); mBound = true; try{ Log.d("Hoge","service connected. pid="+mService.getPid()); }catch(DeadObjectException e){} } // サービスと切断した public void onServiceDisconnected(ComponentName className){ Log.d("Hoge","service disconnected."); mService = null; mBound = false; } }; private void bindIRCService(){ if( mServiceIntent == null ) mServiceIntent = new Intent(this,HogeService.class); // サービスを開始して android.content.ComponentName cn = startService(mServiceIntent, null); // 普通にバインド可能か? boolean r = bindService (mServiceIntent,null,mConnection,0); Log.d("Hoge","bind service.."+(r?"OK" "NG")); } private void unbindIRCService(boolean bStop){ if( mBound ){ mBound = false; unbindService(mConnection); Log.d("Hoge","unbind service."); } if( bStop ) stopService(mServiceIntent); } private void killIRCService(){ if( mService == null ) return; try { Process.killProcess(mService.getPid()); }catch (DeadObjectException ex){ mService = null; Log.d("Hoge","killService DeadObjectException"); } } サービスとの連携 サービスがバルーンやダイアログを出したい場合はNotificationManagerを使う。 Activityがサービスからの通知を受け取りたい場合は IntentReceiver を使う?(未確認) システムが提供するサービス Context.getSystemService(String name)を使って、システムが提供するサービスを利用できる。 Context.WINDOW_SERVICE ("window") The top-level window manager in which you can place custom windows. The returned object is a ViewManager. Context.INFLATE_SERVICE ("inflate") A ViewInflate for inflating layout resources in this context. Context.POWER_SERVICE ("power") A PowerManager for controlling power management. Context.ALARM_SERVICE ("alarm") AlarmManagerは指定したタイミングでIntentを送る。 Context.NOTIFICATION_SERVICE ("notification") NotificationManagerはバックグラウンドのイベントをユーザに通知できるようにする。 Context.KEYGUARD_SERVICE ("keyguard") A KeyguardManager for controlling keyguard. Context.LOCATION_SERVICE ("location") A LocationManager for controlling location (e.g., GPS) updates.