サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
今年の「かわいい」
hidecheck.hatenadiary.org
登場人物 ( ゚⊇゚):ボブ。PL。趣味はボスのフェラーリでこっそりドライブすること (・∠・`)乙:アリス。PG。最近流行りのgit系女子。今回のプロジェクトでgit-flowを初めて使う ボス:ボス。愛車フェラーリ git-flowの導入 ( ゚⊇゚)「Hi、アリス。今度のプロジェクトでgit-flowを使ってみようと思うんだけど、どうだい?」 (・∠・`)乙「git-flow? なにそれ?」 ( ゚⊇゚)「git-flowは最もクールなgitブランチワークの補助ツールさ!」 (・∠・`)乙「。。。」 ( ゚⊇゚)「これを使えば勝手なブランチやリリースタグがどれとかいった混乱を防ぐことができるんだよ」 (・∠・`)乙「面白そうね。ぜひ使ってみましょう!」 ( ゚⊇゚)「じゃ、git-flowのインストールからだ。インストールは簡単だよ。portコマンドで一発さ」 $ sudo port
Libraryテストでハマったので覚書 通常のLibraryプロジェクトからテストプロジェクトを作成して実行するとエラーが発生する Could not find XXX.apk! テストプロジェクトではapkファイルが作成されないので見つかんないってエラーが起きる 調べるとdeveloperサイトにはライブラリのテスト方法が書かれていた http://developer.android.com/tools/projects/index.html#testing Testing a Library Project There are two recommended ways of setting up testing on code and resources in a library project: You can set up a test project that instrumen
Androidの会MLより抜き出し 型番/パス F-05D /mnt/sdcard/external_sd/ IS12S /mnt/ext_card/ ISW11M /mnt/sdcard-ext/ N-04D /mnt/sdcard/external_sd/ T-01D /mnt/sdcard/external_sd/ SC-02C /mnt/sdcard/external_sd/ SO-03D /mnt/sdcard/external_sd/ ISW11F /mnt/sdcard/external_sd/ F-08D /mnt/sdcard/external_sd/ SC-02B /mnt/sdcard/external_sd/ ISW11SC /mnt/sdcard/external_sd/ SC-03D /mnt/sdcard/external_sd/ 端末名 F-05D ARRO
checkboxで選択可能なAlertDialogの作り方 public class AlertDialogMultipulChoiceActivity extends Activity { String[] ar = { "red", "green", "bule", "white" , "apple" }; boolean[] bs = new boolean[ar.length]; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); } public void onCLickButton
タブレットの特徴 =========================== Android は Android 3.0 ( API レベル "Honeycomb" ) でフラグメントを導入し、タブレットのような大きい画面で、よりダイナミックで柔軟な UI デザインを主にサポートしています。タブレットの画面は携帯電話に比べかなり大きいので、重ね合わせや交換をする領域がたくさんあります。フラグメントにより、ビュー階層にさらに複雑な変更管理を行う必要なくそういったデザインが可能になります。 Fragmentとは ================= Fragment は、Activity におけるユーザインターフェイスの振る舞いや部位を表現するものです。 複数のフラグメントをひとつのアクティビティに合成し、複数ペインの UI を構築し、複数のアクティビティでフラグメントを再利用することができます。
SDKSampleのHoneycombGalleryを最初から作る 完成図 ActionBarの追加とカスタマイズ アクションバーとは Android3.0(Honeycomb)から画面上部のタイトルバーの機能が拡張され、ActionBarとして利用できるようになった。ActionBarにはメニューを表示したり、Tabを表示したりとタブレットに適したUIを構築できます。 アクションバーは画面上にある従来のタイトルバー的なあれ オプションメニュー で提供するアイテムを "アクションアイテム" としてアクションバーに直接表示します。 ナビゲーションモードの設定で以下の事ができる フラグメント の間をナビゲートするためのタブを提供することができる ナビゲーション用のドロップダウンリストを提供します。 アクションアイテム ( 検索ボックスなど ) の代わりに双方向にやり取りする "アクションビュー
前回のコメントでImageView#setImageDrawable(null)すればbitmap#recycleは不要という指摘を頂いたので実験 実験6 recycleしない 実験6-2 実験6の状態で画面の向きを変更 実験7 実験5の状態で画面の向きを変更 実験8 実験5の状態でモンキーチックなことを人力で 手順 MainActivity>BitmapActivity>MainActivity>BitmapActivity>GC>jhat ソースを以下のように変更 public class BitmapActivity extends Activity { private ImageView image; private Bitmap bitmap; @Override public void onCreate(Bundle savedInstanceState) { super.on
開発してるとActivityにBitmapを持たせたいことってよくある でもメンバで持ってると自前で解放しなくてはならない。 Bitmapのメモリ管理はネイティブ側で管理されてるので明示的に開放する必要がある。 マジで?って思ったので実験してみた 実験内容 以下のパターンでBitmapActivityがどのように変化するかを確認 実験1 ImageViewを持たないActivity 実験2 レイアウトでImageViewを持ったActivity 実験3 レイアウトでImageViewを持ち、メンバ変数でもImageViewをもつActivity 実験4 ImageViewを持ち、メンバ変数でBitmapをもつActivity 実験5 Bitmap#recycleの正しい使い方 使うアプリ こんな感じのアプリ 実験2〜4 MainActivity>BitmapActivity>(戻るキーで)
MediaPlayerとか使うたびにロジック組むのがめんどくさいので、Viewにまとめた PlayerView MediaPlayerのカスタムビュー 1曲しか再生できない PlayerListener:MediaPlayer.xxListenerのデリゲート 早送り、巻き戻しは5秒 SeekRunner:SeekBarのスケジューラ。誰かがAndroidでTimerは使うなとかいってたのでExecuterにしてみた open(File file):引数のFileを再生する使う player.xml MediaPlayerのUI ImageButtonはAndroid標準をそのまま使ってる 早送りボタンがスキップになってるってツッコミはなしで MediaPlayerAvtivity PlayerViewを使う人 使い方 layout.xmlにPlayerViewを定義 ロジッククラスでPl
DownloadAsyncTask Downloadするやつ。AsyncTaskを継承してる interface DownloadListener Downloadしてるときに以下のタイミングでコールバックしてくれる人 void onUpdateReadSize(int readSize); 読み込みサイズが変わったタイミングでコールバックされる 16384byte毎に呼ばれる 引数:読み込んだサイズ void onPrepared(int fileSize); 読み込み開始直前でコールバックする 引数:DLファイルのサイズ void onCompleted(); ダウンロード完了時 void onError(); エラッたとき void onCanceled(); キャンセル時 コンストラクタ 引数 String fileUrl : ダウンロードパス File outputFileDir
ここのJNIちゅーとりあるまとめ(講師bols_blue) http://tweetvite.com/event/drocafe0xf 目次 はじめに JNIの得意なところ JNIのしくみ JNIの得意なところ フレームレートが一定数必要 フレームレートを固定できる Posixなライブラリが使いたい 実績のあるライブラリである マルチプラットフォームなライブラリが多い 他のプラットフォーム対応をもくろんでいる JNIのしくみ ダイナミックorスタティックリンク スタティックリンク 一つのファイル コンパイル時に組み込む gcc -l ダイナミックリンク 複数のファイル ファイルサイズが小さくなる OS側でリンクを変更することができる dlopenで開く jbyte、jint javaでcの変数の型を使うときにごにょごにょしてくれるあれ インストール http://developer.and
Carbon Emacsを入れる .emacsの一般的な設定 参考 http://blog.s2factory.co.jp/yoshizu/2008/05/carbon-emacs.html ;; ロードパス (setq load-path (cons "~/emacs/site-lisp" load-path)) (setq load-path (cons "~/emacs/site-lisp/w3m" load-path)) ;; 行数表示 (line-number-mode t) ;; スタートアップページを表示しない (setq inhibit-startup-message t) ;; バックアップファイルを作らない (setq backup-inhibited t) ;; Macのキーバインドを使う。optionをメタキーにする。 (mac-key-mode 1) (setq
前回の記事でHudsonからEmulatorを起動できない件の続きです。 vvakameさんとandroidzaurusさん、bols-blueさんからいろいろ助言をいただきました。ありがとうございます。 結果報告 Emulatorが起動するまで待つっていうコマンドを教えてもらったので早速実行 コマンド adb wait-for-device で実行コマンドを以下のように変更 adb wait-for-device shell am instrument -w com.example.hellohudson.tests/android.test.InstrumentationTestRunner 結果はNGでした。 log + adb wait-for-device shell am instrument -w com.example.hellohudson.tests/android.t
手順 Android側 コマンドラインでAndroidプロジェクトの作成 antコマンドでプロジェクトをビルド gitにcommit & push hudson側 hudsonのインストール hudsonを起動 hudsonプロジェクトを作成 jobの追加 ターゲットプロジェクト テストプロジェクト hudsonからビルド hudsonでテスト AndroidTest側 コマンドラインでAndroidのテストプロジェクトの作成 antコマンドでプロジェクトをビルド エミュレータを起動する コマンドラインでテスト実行 gitにcommit & push hudsonのインストール http://hudson-ci.org/ からhudson.warをダウンロードして適当なところに配置 Androidプロジェクトをコマンドラインから作成 hudson上でBuildするのにantコマンドを使いま
手順 Ubuntuのisoイメージをダウンロード http://www.ubuntulinux.jp/products/GetUbuntu LiveUSB作成ツールUNetbootinをダウンロード UNetbootinを起動する Destribution:Ubuntu 9.04_Live DiskImage:ダウンロードしたisoを指定 Type:USB Drive Drive:USBの場所 OKをクリック LiveUSBが作成される 完了したらExitをクリック 5分くらいで完了した 起動 BIOSでUSBから起動するように設定する USBをさして再起動 UUNetbootinダウンロードページ UNetbootinを起動する LiveUSBが作成 LiveUSBが作成完了
アプリ説明 メイン画面でメニューを押す PreferenceActivityが起動 メニュー1を選択 カスタムDialogPreferenceが起動する ごにょごにょと 構成 Activity 起動画面:SampleDialogPreference 設定画面:SettingActivity DialogPreference カスタムDialogPreference:SimpleDialogPreference リソース menu:menu.xml xml:setting.xml 作成手順 プロジェクト作成 SampleDialogPreferenceという名前でプロジェクトを作成 設定画面の追加 PreferenceActivityの追加 Name : SettingActivity Superclass : PreferenceActivity ManifestファイルにSettingA
前回の記事で作成したプロジェクトのテストケースを作成 そして、テストでハマったことを中心に記事ってみました するテスト Buttonを押してイメージを表示 イメージをDragAndDrop 画面遷移して、遷移したActivityをfinish(これが一番大変だった) JUnitProjectの作成 Project→New Project → Android Test Projectを選択 Test Target Browseボタン→An existing Android projectを選択 ※ここではDragAndDropSample projectを設定すると自動的にTestProjectNameが設定される Finish 空のTestProjectが生成される ■テストプロジェクトの確認 TestProject右クリック→BuildPath→ダイアログ表示→Projectsタブにテス
Canvasを使わないでドラッグアンドドロップする方法 Canvasを使わない利点 layoutをxmlでかける onDrawとか使わなくて済む どんなViewでも動かせる Viewのイベントを発生することができる。(アニメーションの連携とか) Viewを重ねることができる 重なったViewでイベントを発行できる(OnCLickとか) Tip FrameLayoutでVIewを重ねる ※実際他のLayoutでもできるけど、こっちの方が実装しやすい Viewの絶対座標はView#getGrobalRectで取得 TouchEventリスナーは動かしたいViewだけ実装 タッチポイントの絶対座標はgetRowX,Y Drag中の描画座標は前回の座標の差分を計算 Viewの表示位置はView#layoutで設定 ついでにこんなこともしてみる dropしたときにアニメーション res/anim/s
AndroidでTabを使う方法は2つある ・Activityを継承した方法 ・TabAcitvityをを継承する方法 今回はTabActivityを継承した方法で実装する ■手順 TabActivityを継承 プログラムからTabHostを追加 TabSpecでTabを追加 手順1 プロジェクトの新規作成 アプリ概要 Project Name : SampleTabActivity Application Name : SampleTabActivity Package Name : com.example.tab Activity Name : SampleTabActivity 手順2 Activityの変更 継承元をActivityからTabActivityに変更する エラーだらけになるのでimportを変更する Ctrl + Shift + o で自動importされ、エラーがな
主にここのコピペhttp://source.android.com/download Setting up your machine Androidをソースからビルドするのに必ようなものセットをダウンロード Ubuntu9.10ではsun-java5-jdkを含めない事に注意 $ sudo aptitude install git-core gnupg flex bison gperf libsdl-dev libesd0-dev libwxgtk2.6-dev build-essential zip curl libncurses5-dev zlib1g-dev メモリリークなどの検出ツールのインストール $ sudo aptitude install valgrind Installing Repo ホームディレクトリにbinディレクトリを作成してパスを通す $ mkdir $HOME
XmlPullParserも基本SAXみたいに上から順番に解析するだけ。でもSAXと違ってコールバックしてくれないので解析処理とEventTypeを確認しながら実装しなくてはならないためコードが冗長的になる。 なのでSAXのコールバック的なインタフェースとアダプターを作った クラスとか XmlPullpaHandler:イベントハンドラ XmlPullpaAdapter:イベントハンドラの処理を空実装したアダプタクラス XmlPullpaException:例外クラス XmlPullpaReader:XmlPullParserを使ってコールバックしてくれるリーダクラス ■イベントハンドラ package com.example.xml.helper; public interface XmlPullpaHandler { /** * 文書の解析開始 * @throws XmlPullpaE
【手順】 1.Eclipseをダウンロードする Eclipse IDE for Java EE Developers (163 MB)を選択 2.GAEプラグインのインストール 「Help」→「Softwere Updates」→「Avaiable Software」→「Add Site」 →「location:http://dl.google.com/eclipse/plugin/3.4」→「OK」 3.HalloWorldアプリの作成 プロジェクトの作成 WebApplicationProjectを選択 Project name:GuestBook Package:guestbook を入力 Use Google Web Toolkitのチェックははずす src/GuestBookServlet.javaができている 実行 「Run As」 → 「Web Application」 コン
1.6からonClickイベントはlayoutのxmlに書くことができるようになった。 http://www.taosoftware.co.jp/blog/2009/10/_androidonclick_layoutsdk16.html サンプルアプリの作成 概要 ボタンを押すとHelloと表示する 作成手順 main.xmlにボタンとTextViewを追加する xmlタブをクリックして、テキストで表示 layoutタブのpropertisからon Clickに入力してもおk - android:onclicl属性を追加し、イベントが発生したときに呼び出したいメソッド名を書く android:onClick="onClickButton01" ボタンをクリックしたらonClickButton01メソッドを呼び出す Activityにメソッドを追加して、処理を実装する main.xml <B
Androidで音楽再生 アプリケーション機能 上ボタンを押すとウィンドウズの警告音がなる 下ボタンを押すと音楽再生 センターボタンを押すと音楽停止 準備 適当な音楽ファイルを用意する Andoroidのオーディオサポートフォーマット wav aac mp3 wma amr ogg midi プロジェクト概要 プロジェクト名:SoundSample BuildTarget:sdk1.5 追加リソース 「res」フォルダ以下に「raw」フォルダ 「raw」フォルダ以下に「sample.mp3」ファイル プログラム作成 MediaPlayerの作成 MediaPlayerオブジェクトをprivateで定義する private MediaPlayer sample; MediaPlayerのインスタンス作成し、sample.mp3で初期化 this.sample = MediaPlayer.cr
Androidでmidiを演奏するにはMediaPlayerを使った方法とJetPlayerを使った方法がある。 前者は音楽ファイルとして演奏するのに向いている。 後者は動的な演奏や、効果音などのインタラクティブな音楽の演奏をしたいときに使うのに向いている。 今回はJetPlayerを使った鍵盤アプリを作成する。 JetCreator日本語ドキュメント※誤訳だらけです JetPlayerAPIリファレンス midiファイルを再生するまでの流れまとめ 演奏したいmidiデータを用意する JetCreatorを使ってjetファイルを作成する JetPlayerでmidiを演奏するにはJetCreatorを使ってjetファイルを作成する必要がある。つまり、通常のmidiファイルをJetPlayerを使って演奏することは無理 jetファイルの作成手順 JetCreatorを起動する Segment
以前書いた記事に画像回転のアドバイスしてもらったので試してみた。 期待する実行結果 描画処理 @Override public void draw(Canvas canvas) { super.draw(canvas); canvas.rotate(90, rotateX, rotateY); this.drawble1.draw(canvas); // 90度傾いてるので表示されない this.drawble2.draw(canvas); // canvas.save(); // canvas.rotate(90, rotateX, rotateY); // this.drawble1.draw(canvas); // canvas.restore(); // this.drawble2.draw(canvas); } Canvas使って画像を描画するときにcanvasを回転させると2枚
TagとOnClickListenerのimplementsで処理の共通化覚書。 ButtonにOnClickLitnerを設定する時に毎回匿名クラスを作成するのは冗長的だし、だからと言ってActivityにimplemetnsしても汎用性が欠ける。 ViewクラスにはTagがあるので、TagにBeanを格納すれば処理の共通化と共通じゃない処理を振り分ける。 例えば、複数のButtonの処理はそれぞれ別だが、共通の処理が多い時とかコピペがいやな時とかは有効。 要するに、独自処理的なものをBeanにして、それをそのまま処理実行するなんかに渡してしまえば解決。 例) HTML、XML、画像をネットから拾ってくるアプリの場合 詳細な処理は前の記事で書いたので説明はしない ■アプリ概要 HTML、XML、画像のボタンが有る ボタンを押すと、画面遷移する 各処理を実行する この場合、以下の処理が共通
2画面サンプル アプリ概要 プロジェクト名:IntentSample アプリケーション名:IntentSample パッケージ:com.example Activity 遷移元画面:MainActivity 遷移先画面:NextActivity xml 遷移元画面:main.xml 遷移先画面:next.xml 作成手順 ■画面遷移の方法 呼ばれる側のActivityを新規作成 例)NextActivity 作成したActivityで使うlayoutファイルを作成 例)next.xml layoutファイルはresフォルダ以下のlayoutフォルダ内に作成する AndroidManifestファイルを修正する <修正内容> applicationタグ内にactivityタグを追加する。 android:name属性に?で作成したActivityを指定する 例) <activity andr
動的にリソースにアクセスしたいとか、リソース配列を作るのにlist = {R.xx.xxxx1, R.xx.xxxx2, ....}とかするのが面倒なときとかはRクラスをコレクションにするといい。AndroidはリフレクションNGとか誰かが言ってた気がするけどまぁいいや。 例:ImageButtonの画像をランダムに変更するアプリの場合 画像準備 用意した画像をdrawable以下に配置 Rクラスを覗く Rクラスはresディレクトリのディレクトリ名で内部クラスを持っている。 フィールド名はディレクトリ以下のファイル名になっている つまり、内部クラスの名前とフィールド名が分かればOK /* AUTO-GENERATED FILE. DO NOT MODIFY. * * This class was automatically generated by the * aapt tool from
次のページ
このページを最初にブックマークしてみませんか?
『hidecheckの日記』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く