約 5,025,193 件
https://w.atwiki.jp/internet-notes/pages/20.html
目次 Androidについて Download SET UP Hello World フィードバック 更新履歴 Androidについて http //developer.android.com/index.html http //www.atmarkit.co.jp/fjava/column/koyama/koyama09_1.html http //www29.atwiki.jp/android/ http //www.saturn.dti.ne.jp/~npaka/android/index.html Download http //developer.android.com/sdk/1.1_r1/index.html SET UP http //developer.android.com/sdk/1.1_r1/installing.html http //android.siprop.org/index.php?%CA%D9%B6%AF%B2%F1%2F%A5%A4%A5%F3%A5%B9%A5%C8%A1%BC%A5%EB%A5%AC%A5%A4%A5%C9 Hello World http //developer.android.com/guide/tutorials/hello-world.html フィードバック このページに関するコメントはこちらにお願いします。 名前 コメント 更新履歴 2009/03/21 ISE 新規作成 最終更新日時:2009年03月21日04時32分37秒
https://w.atwiki.jp/androidkensyu/pages/13.html
Android 近年普及が進んでいるスマートフォン向けプラットフォーム。OS、ミドルウェア、主要アプリケーションからなるソフトウェアスタック。
https://w.atwiki.jp/android-reference/pages/21.html
android Contains the resource classes used by standard Android applications. Classes Manifest Manifest.permission Manifest.permission_group R R.anim R.array R.attr R.bool R.color R.dimen R.drawable R.id R.integer R.layout R.plurals R.raw R.string R.style R.styleable R.xml コメント 名前 コメント すべてのコメントを見る
https://w.atwiki.jp/android/pages/21.html
Hello, Android! 第一印象は重要だ。それは、あなたが、このアンドロイドというフレームワークを手にして、"Hello, World!"を書いたときに受ける第一印象だ。そう、アンドロイドにおいて、それはとても簡単なのだ。下記を見て欲しい。 プロジェクトを作成する。 UIを構築する。 コードを走らせる Hello, Android 以下のセクションでそれをつまびらかに語っていこう。 UIをXMLのレイアウトにアップグレードする。 プロジェクトをデバッグする。 Eclipseなしでプロジェクトを作成する。 さあ行こう。 プロジェクトを作成する プロジェクトを作成することはできる限り簡単にしてある。Eclipseプラグインで、Androidの開発環境のスナップを作成することが可能だ。Eclipse 3.3以上(Europa)と、Eclipse用のAndroidプラグインは用意してあるかい?それらをインストールしてから次に進んで欲しい。 最初に、"Hello, World!"をビルドするための、簡単な要約を述べておこう。 File- New- Project menuから、"Android Project"を新しく作成する。 New Android Project ダイアログで、プロジェクトの詳細を埋める。 なにかを表示するための自動生成されたテンプレートコードを編集する。 さあ、行こう!以下でそれぞれのステップの詳細を説明しよう。 1.新しい"Android Project"を作成する。 Eclipseから、File- New- Projectと選択して欲しい。もし、EclipseのAndroidプラグインがきちんとインストールされているなら、表示されるダイアログの中に、"Android"と名前のついたフォルダがあり、その中には、"Android Project"があるはずだ。 "Android Project"を選択し、"Next"を押そう。 2.New Android Project ダイアログで、プロジェクトの詳細を埋める。 次の画面で、プロジェクトに関係する詳細を入力する。たとえば次の例のように: それぞれの入力欄が意味するところは次のようになる。 Project Name プロジェクトを保存したいディレクトリもしくはフォルダの名前 Package Name これはパッケージの名前空間だ。ちょうどJavaのように。あなたのソースコードは全てここより下位におかれるようにする。ここには、自動生成されたスタブのパッケージ名がすでにセットされているはずだ。パッケージ名は、システムにインストールされるすべてのパッケージ間で、ユニークである必要がる。というわけで、あなたのアプリケーションに標準的なドメイン命名スタイルを使うことはとても重要だ。上述の例では、パッケージ名として、ドメイン"com.google.android"を使用している。あなたの所属する組織にみあった、唯一の名前を使用するといいだろう。 Activity Name ここでは、プラグインによって生成されるスタブクラスの名前が書かれている。これは、AndroidのActivityクラスのサブクラスである。Activityは単純なクラスで、それ自体で実行させ、処理させることができる。希望するならUIも作れるが、そうしなくても構わない Application Name ここにはユーザーが目にするアプリケーションのタイトルを入力する。 "Use default location"チェックボックスをONにすることで、プロジェクトファイルの保存場所を変更することができる。 3.自動生成コードを編集する。 After the plugin runs, you ll have a class named HelloAndroid that looks like this プラグインを実行すると、下記のような、HelloAndroidクラスが出来上がっているがわかるだろう。 public class HelloAndroid extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle icicle) { super.onCreate(icicle); setContentView(R.layout.main); } } 次のステップで、これを修正していこう! UIを構築する。 プロジェクトをセットアップしたあとは、当然、それを修正していく。以下がその完成品だ。1行ずつ解剖していこう。 public class HelloAndroid extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle icicle) { super.onCreate(icicle); TextView tv = new TextView(this); tv.setText("Hello, Android"); setContentView(tv); } } このサンプルのコンパイルをするために、インポートセクションに、"import android.widget.TextView;"を追加するしなければらいことを注意しよう。 Androidでは、ユーザーインターフェースは、Viewsと呼ばれるクラス階層で成り立っている。Viewはシンプルな描画オブジェクトである。たとえば、ラジオボタンであるとか、アニメーションであるとか、(今回のケースは)テキストラベルなどだ。テキストを扱えるVieewのサブクラスの名前は、単に、TextViewとなる。 下記が、TextViewクラスを生成する方法だ。 TextView tv = new TextView(this); TextViewクラスのコンストラクタに渡している引数は、Android Contextのインスタンスである。Contextは単にシステムへ渡すハンドルである。そのハンドルは、リソースを解決したり、データベースや設定などにアクセスするために供給されている。ActivityクラスはContextから派生している。それゆえ、HelloAndroidクラスはActivityクラスのサブクラスであり、コンテキストであるのだ。だから、"this"参照をTextViewに渡すことができる。 一度TextViewを生成してしまえば、何を表示するのか伝えてあげる必要がある。 tv.setText("Hello, Android"); とくに特筆すべきことはないだろう。 ここまでで、TextViewを生成し、どんなテキストをディスプレイに表示すべきかを伝えた。最後のステップは、実際のディスプレイに、TextViewをつなぐことである。こんな感じに。 setContentView(tv); ActivityのsetContentViewメソッドは、ActivityのUIにどのViewが関連付けられるべきかをシステムに通知する。もし、Activityがこのメソッドをコールしないなら、UIは何も表示されないし、システムは真っ白けの画面を表示することだろう。今のところの目的は、何でもいいからテキストを表示することなので、作ったばかりのTextViewを渡してしまえばよい。 これで、アンドロイドでの"Hello, World"のコーディングは完了だ。もちろん、つぎは、実行させるてみよう。 コードの実行 Hello, Android Eclipseプラグインのおかげで、とても簡単にあなたのアプリケーションを実行することができる。メニューからRunを選択すると、下のようなダイアログが表示される。 次に、"Android Application"を選択しよう。そして、アイコンの左上をクリックしよう(+印とともに、画面に描画されているやつだ)。それとも、単に、"Android Application"をダブルクリックするだけでいい。"New_configuration"と名づけられた新しいランチャーダイアログが表示されるはずだ。 名前を何か適当なもの、たとえば、"Hello, Android"と変更して、"Browse"ボタンを押下して、あなたのプロジェクトを選択しよう。(もしあなたが2個以上のAndroidプロジェクトをEclipseで開いていたら、正しいものを選択しているかどうか確かめてほしい)プラグインは、自動的に、あなたのプロジェクトからActivityのサブクラスをスキャンして、"Activity "ラベルの下のドロップダウンリストに追加してくれる。デフォルトでは、あなたは、"Hello, Android"プロジェクトしか作っていないから、単に続けるだけでいい。 "Apply"ボタンを押下しよう。こういう風になる。 これで成功だ。"Run"ボタンを押してみよう。Androidエミュレータがスタートするはずだ。起動完了したら、あなたのアプリケーションが表示されるだろう。今までいったことが全部できていれば、次のような画面を目にすることができるはずだ。 これが、Androidにおける、"Hello, World"だ。とっても簡単だったろう?チュートリアルの次のセクションでは、Androidについて、より詳細な価値ある情報を知ることができるだろう。 UIをXMLレイアウトにアップグレードする。 さっき終わらせた。"Hello, World"サンプルは、いわゆる"programmatic"なUIレイアウトだ。このことは、UI記述をソースコードに直接書いてビルドしているってことだ。UIプログラミングがおわっても、変更にもろいやりかただってことはわかるだろう。たとえば、ちょっとしたUIのレイアウトの変更が、大きなソースコードの変更につながったりとか。Viewクラス同士のつながりは忘れやすいし、それがデバッグに時間を浪費することにつながる。 そんなわけで、Androidでは、もうひとつのUI構築のモデルを提供している。それが、XMLベースのレイアウトファイルだ。このコンセプトを説明するには一例をあげるのが一番だね。ここに、今終わらせたプログラミングベースのものと同じ振る舞いをするXMLレイアウトファイルを用意しよう。 ?xml version="1.0" encoding="utf-8"? TextView xmlns android="http //schemas.android.com/apk/res/android" android layout_width="fill_parent" android layout_height="fill_parent" android text="Hello, Android"/ たいていの、Andorid XMLレイアウトファイルの構成はシンプルだ。タグのツリーからなっており、それぞれのタグは、Viewクラスの名前になっている。この例で言えば、TextView一要素だけからなる シンプルなツリー構成だ。XMLレイアウトファイルには、タグ名として、Viewクラスを継承したものなら、自作のものでも何でも使える。これは、Webの構築モデルからインスパイアされたものなんだ。ちょうど、UIの表示とデータを処理するアプリケーションロジックを分離できるみたいに。 この例では、4つのXML属性がある。以下が、その意味の要約だ。 Attribute 意味 xmlns android XMLネームスペース定義だ。これは、Androidネームスペースで定義された、共通の属性を参照するということをAndroidツールに知らせている。 android layout_width この要素は、このViewが消費する画面幅がどれくらいなのかを定義する要素だ。この場合で言えば、"fill_parent"を使っているが、画面全体の幅を指定しているってことになる。 android layout_height android layout_widthto同じようなものだが、これは高さを意味する。 android text これは、TextViewの内容をセットするものだ。この例でいえば、いつもの"Hello, Android"だ。 そう。XMLレイアウトはざっとこんな感じだ。けど、どうやってそれを組み込むと思う? resディレクトリの下に入れればOKだ。"res"は"resources"をはしょったもので、そのディレクトリには、アプリケーションに必要なコード以外の一式を詰め込んでおけばいい。たとえば、イメージや、ローカライズされた文字列や、XMLレイアウトファイルだ。 Eclipseプラグインは、XMLファイルを作成してくれる。上の例では単にそれを使わなかっただけだ。Package Explorerで、resフォルダの内容を開いて、main.xmlファイルに編集して、上のテキストをコピーして、変更を保存しよう。 Package Explorerのソースコードフォルダから、R.javaファイルを開いてみよう。次のようなものが表示されるはずだ。 public final class R { public static final class attr { }; public static final class drawable { public static final int icon=0x7f020000; }; public static final class layout { public static final int main=0x7f030000; }; public static final class string { public static final int app_name=0x7f040000; }; }; プロジェクトのR.javaファイルに全てのリソースにインデックスが定義されている。このクラスをソースコードのなかで、プロジェクトで使用しているリソースへの参照の速記方法の一つとしてつかえばいい。これはEclipseのようなコードコンプリート機能を持つIDEでは特にパワフルだ。なぜなら、その機能のおかげで、すばやく、インタラクティブに探しているリソース参照を配置することができるからだ。 この例で注意すべきは、"layout"と命名されたインナークラスと、"main"と命名されたフィールドだ。新しいXMLレイアウトファイルを追加したら、エクリプスプラグインは通知し、R.javaファイルを再生成するだろう。つまり、他のリソースファイルをプロジェクトに追加するなら、R.javaファイルも更新されるのがわかるだろう。 最後に、あなたのHelloAndroidコードを、ハードコーディングされたバージョンからXMLのUIを使うように修正する必要がある。新しいクラスはこのようになるはずだ。見ればわかるように、ソースコードはよりシンプルになった。 public class HelloAndroid extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle icicle) { super.onCreate(icicle); setContentView(R.layout.main); } } この変更を加える際に、コピーアンドペーストをしないことだ。Rクラスに働くコードコンプリート機能を試してみよう。これがかなり使える機能だってことがわかるだろう。 変更を加えたら、アプリケーションを再起動してみよう。することと言えば、緑のRunと書かれた矢印アイコンをクリックし、Run - Run Last Launchedをメニューから選択するだけだ。すると、さっき見たのと同じものが表示されるはずだ!結局のところ、2つの違ったレイアウトのアプローチは同じ結果をもたらすわけだ。 XMLレイアウトの作成はもっと説明することがあるんだが、今ここで説明してもしょうがない。このアプローチのもっと詳細な情報のためには"Implementing a Uset Interface"ドキュメントを読んで欲しい。 プロジェクトのデバッグ EclipseのAndroidプラグインは、Eclipseデバッガにうまく統合されてもいる。それをデモするために、コードにバグを混入させてみよう。次のようにHelloAndroidのソースコードに変更を入れて欲しい。 public class HelloAndroid extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle icicle) { super.onCreate(icicle); Object o = null; o.toString(); setContentView(R.layout.main); } } これは単に、NullPointerExceptionを入れてみただけだ。もう一度アプリケーションを実行させると、すぐに次のような画面を見るだろう。 何がおかしかったのかを特定するために、ソースコードの"Object o = null;"と書かれた行にブレークを貼ってみよう。(ブレークポイントを貼るためには、Eclipseの行番号の左の領域をダブルクリックすればいい)それから、Run - Debug Last Launched を選択してデバッグモードに入ろう。エミュレータが再起動すると、セットしたブレークに到達した時点でアプリケーションは中断する。EclipseのDebug Perspectiveを通してどんなアプリケーションでもステップ実行ができる。 Eclipseなしでプロジェクトを作成する。 もし、あなたがEclipseを使用しないなら(たとえば別のIDEがいいだとか、そもそも単にテキストエディタとコマンドラインツールが使いたいなら)Eclipseプラグインはあなたの助けにはならないだろう。でも心配しなくていい。Eclipseを使用しないからといって、あなたは何も便利さを失わないのだ。 EclipseのAndroidプラグインは、Android SDKに同梱されているツール群のラッパーにすぎないからだ。(ツール群とは、エミュレータや、aapt,adb,ddmsなどだ。ほかにもどこかにドキュメントがあるだろう)それゆえ、他のツールを使って、それらをラッピングすることは可能だ。たとえば ant のビルドファイルを使うなどして。 Android SDKは、"activityCreator.py"とネーミングされたPythonスクリプトも含んでいる。それは、antと互換性のあるbuild.xmlファイルはもちろんプロジェクトに必要なソースコードとスタブディレクトリを全て作成してくれる。これは、コマンドラインでプロジェクトをビルドできることと、あなたの好きな他のIDEと統合できることを意味する。 たとえば、Eclipseを通してさっき作ったものと似たようなHelloAndroidプロジェクトを作成するためには、次のコマンドを使えばいい。 activityCreator.py --out HelloAndroid com.google.android.hello.HelloAndroid プロジェクトをビルドするためには、 ant コマンドを走らせればいい。コマンドが成功すれば、 bin フォルダの下にHelloAndroid.apkと名づけられたがファイルがあるはずだ。この.apkファイルは、Android Packageで、 adb ツールを使ってエミュレータにインストールして実行できる。 これらのツールについての使用方法をもっと知りたければ、上で紹介されたドキュメントを読んで欲しい。
https://w.atwiki.jp/android/pages/12.html
Androidって何? Androidは、オペレーティングシステム、ミドルウェアと鍵となるアプリケーションを含むモバイル端末のためのソフトウェアスタックです。 Android SDKのこの早めのリリースは、Javaプログラミング言語を使用しているAndroidプラットホームでアプリケーションを開発し始めるのに必要なツールとAPIを提供します。 特徴 コンポーネントの再利用と置き換えを可能にするアプリケーションフレームワーク モバイル端末に最適化したダルヴィーク(Dalvik)ヴァーチャルマシン オープンソース WebKit エンジンに基づく統合化されたブラウザー カスタム2Dグラフィックライブラリによる最適化されたグラフィックス 3DグラフィックはOpenGL ES 1.0の仕様準拠(ハードウェアアクセラレーションは任意) 構造化されたデータ領域のためのSQLite搭載 一般的なオーディオ、ビデオと静止画フォーマットをサポート(MPEG4、H.264、MP3、AAC、AMR、JPG、PNG、GIF) GSM通話(ハードウェア依存) Bluetooth、EDGE、3G、WiFiに対応(ハードウェア依存) カメラ、GPS、コンパス、加速度計(ハードウェア依存) リッチな開発環境、端末エミュレーター、デバッグ、メモリー、パフォーマンスのプロファイリングのツール、およびEclipse IDE用のプラグイン Androidのアーキテクチャ 以下は、Androidオペレーティングシステムの主要コンポーネント図です。各々のセクションの詳細は下記に続きます。 アプリケーション Androidは電子メールクライアント、SMSプログラム、カレンダー、地図、ブラウザー、コンタクト(アドレス帳)、その他を含む一組のコアアプリケーションを搭載します。すべてのアプリケーションは、Javaプログラミング言語を使用して記述されます。 アプリケーションフレームワーク 開発者はコアアプリケーションに用いられるものと同じフレームワークAPIへ完全にアクセスできます。 アプリケーションのアーキテクチャは、コンポーネントの再利用を単純化するように設計されています。 どのようなアプリケーションでもその能力を公開することができます。そして、他のどのアプリケーションからもそれらの能力(フレームワークによって実施されるセキュリティ制約に制限される)を利用するかもしれません。このようなメカニズムにより、ユーザーによるコンポーネントの入れ替えを可能にします。 すべてのアプリケーションは、以下のサービスとシステムによって成り立っています。 リスト、グリッド、テキストボックス、ボタンと組み込み可能ななウェブブラウザを含むアプリケーションを構築するのに用いることができる豊かで拡張可能なViews?のセット アプリケーションが他のアプリケーション(例えばアドレス帳)のデータにアクセスするか、彼ら自身のデータを共有することを可能にするContent Providers? Resource Manager?(ローカライズされた文字列、グラフィックスとレイアウトファイルのような非コード資源を提供する) すべてのアプリケーションがステータスバーでカスタムメイドのアラートを表示することを可能にするNotification Manager? アプリケーションのライフサイクルを管理して、共通のナビゲーション履歴を提供するActivity Manager? アプリケーションの詳細とウォークスルーについてはAndroidアプリケーションについて?を参照してください。 ライブラリ Androidは、Androidシステムの多様ななコンポーネントにより用いられるC/C++ライブラリのセットを含みます。 これらの能力は、Androidアプリケーションフレームワークを通して開発者に公開されます。 主なライブラリは以下の通りです。 システムCライブラリ 標準的なCシステムライブラリ(libc)。(組み込み向けLinuxベースのデバイスのために調整した)BSDから派生した実装です。 メディアライブラリ PacketVideo社のOpenCOREをベースにしています。ライブラリは、多くの一般的なオーディオとビデオ形式(MPEG4、H.264、MP3、AAC、AMR、JPGとPNGのような静止画を含む)の再生とレコーディングをサポートします。 Surface Manager 表示サブシステムへのアクセスを管理して、複数のアプリケーションからシームレスに2Dと3Dグラフィックレイヤーを合成します LibWebCore Androidブラウザーと組み込み可能なウェブ表示を可能にする最新のウェブブラウザエンジン SGL 下位層にある2Dグラフィックエンジン 3Dライブラリ OpenGL ES 1.0のAPIに準拠しています。ライブラリはハードウェア3Dアクセラレーション(ハードウェア依存)、あるいは標準装備の高度に最適化された3Dソフトウェアラスタライザーを使用します。 FreeType ビットマップとベクターフォントのレンダリング SQLite すべてのアプリケーションで利用可能な強力で軽量なリレーショナルデータベースエンジン Androidランタイム Androidは、Javaプログラミング言語のコアライブラリの機能の大部分を提供するコアライブラリを含んでいます。 あらゆるAndroidアプリケーションはDalvik VMのインスタンスをアプリケーション毎に生成することによって、独立したプロセスで動作します。 Dalvik VMはデバイスが効率的に複数のヴァーチャルマシンを走らせることができるように作られています。 Dalvik VMは、省メモリのために最適化されたDalvikで実行可能なフォーマット(.dex)を使用してファイルを実行します。 VMはレジスターに基づいた、Java言語コンパイラによってコンパイルされたクラスを付属の"dx"ツールを使用して.dexフォーマットに変換したものを実行します。 Dalvik VMは、Linuxカーネルの根底にある機能(例えばスレッディングと低レベルのメモリ管理)で成り立っています。 Linuxカーネル Androidは、Linux 2.6のコアシステムサービス(セキュリティ、メモリ管理、プロセス管理、ネットワークスタックとドライバーモデル)で成り立っています。また、カーネルはハードウェアと残りのソフトウェアスタックの間の抽象レイヤーの働きもしています。 次 → Androidことはじめ 戻る 原文
https://w.atwiki.jp/conn/pages/18.html
Androidプロジェクト Androidプロジェクトの中身を簡単にまとめます。 ネタ元はAndroid SDKのドキュメントと、EclipseのAndroid SDK Pluginで自動生成された雛形の動作検証です。 プロジェクトのディレクトリ構成 Androidアプリを作るなら、ごく当たり前の知識として知っておく必要があります。 プロジェクトルート src ソースコード用ディレクトリ gen ADTが自動生成したファイル用ディレクトリ。R.javaやAIDLファイルから生成されたファイルが該当。 assets 生のデータファイルを保存する。ビルド時にapkファイルへ組み入れられ、ファイルシステムと変わりない方法でアクセスできる。 bin ビルドされたファイル用ディレクトリres ビルドされたリソースファイル用ディレクトリ libs ライブラリファイル用ディレクトリ res リソースファイル用ディレクトリdrawable-**** 画像ファイルや、レイヤー定義などを記載した描画用定義XMLファイルを保存する。画面解像度ごとにディレクトリが分かれているモヨウ。 layout レイアウト定義XMLファイル用ディレクトリ menu メニュー定義XMLファイル用ディレクトリ values 文字列や設定情報等用のディレクトリ。resディレクトリ内の他のXMLファイルはファイル名ベースでアクセスするのに対し、XML要素を解析し、それぞれの要素名をR.javaファイルに展開しアクセスする点に違いがある。 raw 生のデータファイルを保存する。assetsディレクトリとの違いはアクセス方法で、こちらはR.javaファイルを通じてリソースファイルとしてアクセスする。 AndroidManufest.xml アプリの基本情報を定義する。アプリバージョン、製作者、対応・必要APIバージョン、必要な外部ライブラリなどなど、様々な情報を定義する。奥が深い。 リソースファイル用ディレクトリと、マニフェストファイルは、特に勉強が必要。 詳細が知りたければSDK Managerでドキュメントをインストールし読んでみると良い、全部英語だけども。 雛形プロジェクトの動作 ADTでプロジェクトを作成すると、HelloWorldが表示される簡単なアプリが出来上がった状態になっている。 その動作の細かな点をつついて、それぞれのディレクトリに格納されたファイルが どのように連携するかを調べてみた。 AndroidManifest.xmlを解析しアプリを起動、アクティビティの定義を読み込む。 XMLファイル中では「@」を用いることでリソースにアクセスすることができ、アプリケーション名やスタイル定義の指定に使用されている。 application android icon="@drawable/ic_launcher" <<<res/drawable-****/ic_launcher.pngファイルを参照 android label="@string/app_name" <<<res/valus/strings.xml内の文字列を参照 android theme="@style/AppTheme" <<<res/valus/style.xml内の定義を参照 activity android name=".MainActivity" <<<ここで起動するアクティビティを指定 android label="@string/title_activity_main" <<<res/valus/strings.xml内の文字列を参照 intent-filter action android name="android.intent.action.MAIN" / category android name="android.intent.category.LAUNCHER" / /intent-filter /activity /application binディレクトリ内のデフォルトアクティビティを起動する。 public class MainActivity extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); <<<レイアウト定義ファイルを指定 } @Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.activity_main, menu); <<<メニュー定義ファイルを指定 return true; } } レイアウト定義ファイル res/layout/activity_main.xml メニュー定義ファイル res/menu/activity_main.xml Activityの動作に従い読み込まれる。 それぞれの定義ファイルにはリソースへのアクセスが指定されている。 TextView android layout_width="wrap_content" android layout_height="wrap_content" android layout_centerHorizontal="true" android layout_centerVertical="true" android text="@string/hello_world" tools context=".MainActivity" / menu xmlns android="http //schemas.android.com/apk/res/android" item android id="@+id/menu_settings" android title="@string/menu_settings" android orderInCategory="100" android showAsAction="never" / /menu 以上が簡単な動作解説です。 マニフェストファイルが起点となり、アクティビティが実際の動作を担っており、 動作時に様々な箇所でリソース内の定義ファイルが読み込まれているのが分かる。 Webアプリケーションなどに比べると非常に単純な構成となっているが、アプリが大きくなるとファイルが増え、管理が難しくなりがち。だがディレクトリ構成の原則に従いアプリを作成することで、誰にでも分かりやすい、無論のこと自分自身にも分かりやすい管理しやすい構成にできる。
https://w.atwiki.jp/danceroid-wiki/pages/19.html
メンバー個人の動画 いとくとら 愛川こずえ 柚姫 まぁむ DANCEROIDの動画 ※このページの情報は、2012年9月現在のものです。 イアイア★ナイトオブデザイア http //www.nicovideo.jp/watch/sm17929363 日付:2012年5月26日 振付:DANCEROID 作詞・作曲:samfree ※samfreeのナイトシリーズ(ルカルカ、メグメグ、リリリリ、他2曲)の新曲「イアイア★ナイトオブデザイア」の楽曲に、DANCEROIDメンバー4人が初めてオリジナルで振り付けを行ったファン待望の作品。 Baby Maniacs http //www.nicovideo.jp/watch/sm17916825 日付:2012年5月25日 振付:めろちん 作詞・作曲:八王子P ※ライブではすでに披露され、踊ってみた動画もすでに上がっていた作品。ファンからは公式による動画化が切望されていた。めろちんによるDANCEROIDへの初の振り付け、撮影もtakachiiによる初のDANCEROID作品となっている。 Girls be Ambitious! http //www.nicovideo.jp/watch/sm17167162 日付:2012年3月5日 振付:MTP 作詞・作曲:samfree ※DANCEROID Fes in 台北の直後に、中国のマカオで撮影された動画。マカオ文化局の許可を得て、世界遺産3箇所の前で踊ってみた動画。 ルカルカ★ナイトフィーバー(Flash mob) http //www.nicovideo.jp/watch/sm16494196 日付:2011年12月23日 振付:愛川こずえ 作詞・作曲:samfree ※DANCEROID Fes in 台北のライブ前日に、台湾の台北で撮影された動画。一緒に踊っているのは、ライブでも共演した現地のアイドルユニット「CANDY☆STAR」と、DANCEROIDファンの方たち。Flash mobとは「インターネット、特にEメールを介して不特定多数の人間が公共の場に突如集合し、目的を達成すると即座に解散する行為。」( wikipedia-フラッシュモブ より) チャイナサイバー@ウォーアイニー http //www.nicovideo.jp/watch/sm16450848 日付:2011年12月17日 振付:MTP 作詞・作曲:girls candy magicals( 動画 ) ※DANCEROID Fes in 台北の時期に合わせて、投稿された動画。 ※楽曲製作者は、MTP振付の「メルティングスノウマンズラブソング」(踊り手は、愛川こずえの元同級生であるマリスさん)の製作者。 galaxias! http //www.nicovideo.jp/watch/1323811445 日付:2011年12月14日 振付:M.T.P (Yumiko MASATAKA) 作詞・作曲:galaxias! 歌:galaxias!( 原曲 ) ※ galaxias! (柴咲コウ / DECO*27 / TeddyLoid)のデビューアルバムの中の楽曲「galaxias!」に対する、踊ってみた動画。イベント「rockin on presents『COUNTDOWN JAPAN 11/12』」にgalaxias!が出演する際に、LIVEステージ映像として使用するための「踊ってみた」動画を募集するための、お手本動画として公開された。 http //www.universal-music.co.jp/galaxias/dance/ ポーカーフェイス http //www.nicovideo.jp/watch/sm15578755 日付:2011年9月11日 振付:MTP 作詞・作曲:ゆちゃP( 原曲 ) DANCEROID2期メンバー(柚姫・まぁむ)の、加入1周年にあたる動画。二人のダンスの成長ぶりを垣間見ることができ、全体としてのダンスのかっこよさにも目を引かれる作品。 トゥインクル×トゥインクル http //www.nicovideo.jp/watch/sm15417263 日付:2011年8月25日 振付:MTP 作詞・作曲:EasyPop( 原曲 ) マジLOVE1000% http //www.nicovideo.jp/watch/sm15297744 日付:2011年8月13日 作詞・作曲:上松範康 歌:ST☆RISH( 原曲 ) DANCEROIDメンバーが初めて、アニソン、かつメンバー以外との踊ってみたコラボに挑戦。コラボの相手は、謎の「ゆ」さん(桃色)と「ま」さん(黄色)。桃色は異常にダンスがうまいという特徴を持つ。なお、動画投稿者は「DANCEROID」ではなく「愛川こずえ」になっている。(※この動画はDANCEROIDの公式動画ではなく、メンバーが全員参加した踊ってみた動画です) HAKUMEI http //www.nicovideo.jp/watch/sm14912100 日付:2011年7月3日 振付:MTP 作詞・作曲:鬼ヶ島( 原曲 ) DANCEROIDが初めて、ダンス中に小道具を使って踊ってみた作品。L.A.でのイベントと時期を合わせた動画公開となっており、作品中ではなぎなたと衣装によって和のかっこよさを演出している。 DVD「DANCEROID2」、「DANCEROID3」 発売日:2011年4月16日 販売サイト: DANCEROID OFFICIAL SHOP 収録曲: 「DANCEROID2」:情熱をUpload、恋しちゃってもいいですか?、Distorted Princess、メグメグ☆ファイアーエンドレスナイト、LOL -lots of laugh-、リリリリ★バーニングナイト(ライブ)他 「DANCEROID3」:Girls be Ambitious!、First Kiss!、シャカリキオンリーワン、Miracle∞Hinacle、リリリリ★バーニングナイト、情熱をUpload(ライブ)他 DANCEROID通算、2、3枚目のDVD。5人になって初めての作品。 情熱をUpload http //www.nicovideo.jp/watch/sm14054657 日付:2011年4月3日 振付:MTP 歌:花たん、プリコ、ヲタみん、ちょうちょ、転少女 作詞・作曲:samfree DVD「DANCEROID2」に収録。ダンスシーンは、長野の廃工場で撮影。 リリリリ★バーニングナイト http //www.nicovideo.jp/watch/sm13146650 日付:2010年12月27日 歌:DANCEROID 振付:愛川こずえ 作詞・作曲:samfree( 原曲 ) 初めてのDANCEROIDによる歌ってみた動画作品。 メグメグ☆ファイアーエンドレスナイト http //www.nicovideo.jp/watch/sm12579642 日付:2010年10月29日 振付:MTP 作詞・作曲:samfree( 原曲 ) 5人になって初めての公式動画。 FirstKiss! http //www.nicovideo.jp/watch/sm11185036 日付:2010年6月25日 振付:愛川こずえ 作詞・作曲:samfree メンバーオーディションの課題用動画。オーディションを受ける人はこのダンスを踊ってみて、撮影した動画をYouTubeに上げることが課題となった。 LOL-lots-of-laugh- http //www.nicovideo.jp/watch/sm9614960 日付:2010年2月6日 振付:MTP 作詞:エンドケイプ 作曲:Ken( 原曲 ) DANCEROID 1st DVD「DANCEROID」 Amazon 発売日:2009年12月29日 収録曲:えもラブ、ルカルカ★ナイトフィーバー、POWER OF INFINITY、LOL - lots of laugh -、Gravity=Reality、Bye-Bye、Prism Heart 初期の3人メンバーで初めて出したDVD。ソロのダンスや、ピザを食べながらの振り返りムービーなど収録。
https://w.atwiki.jp/android/pages/136.html
ネット上に公開されているAndroidアプリケーションの索引 ※基本的にソース、あるいはapkファイルが公開されているもの。 ツール タスクマネージャ SDK version Task manager primitive prototype m3-rc37a以前 メディアプレイヤー Video/Music player sample (from local disk as well as remote URL’s) m3-rc37a以前 メール Send email via GMail (actually via SMTP) m3-rc37a以前 GoogleTalk Totally *Unofficial* Android GTalk Client (Send/Receive XMPP Messages) m3-rc37a以前 Android用Google Talkクライアントをm5-rc14に移植 m5-rc14 Mame Talk Ver.0.8 m5-rc14 Twitter Twitter Client for Android (How to make XML over HTTP calls) m3-rc37a以前 #ref error :ご指定のファイルが見つかりません。ファイル名を確認して、再度指定してください。 (TwitterClient3.png) AndroidでTwitterクライアント ver.3 m3-rc37a以前 地図関連 Androidで地図アプリケーションを作ってみた m3-rc37a以前 Androidの地図アプリをぐるなびに対応しました m3-rc37a以前 Androidの地図アプリをm5-rc14っぽくしてみた m5-rc14 ビューア ComicViewer3 -Androidで電子ブックリーダ m3-rc37a以前 Android用電子ブックリーダをm5-rc14に移植 m5-rc14 ゲーム テーブルゲーム AndroidとFlickrで神経衰弱 m3-rc37a以前 ブロック崩しをm5-rc14に移植 m5-rc14 その他 アンドロイド・アプリケーション こめんと なるべく集めて回るけど作ったひとが自発的に追加してくれるとありがたいなあ - kojira 2008-02-12 21 54 53 プラグイン追加とかが自分で出来ないから不便だなあ。そのうち移転するかも。 - kojira 2008-02-18 23 09 07 名前
https://w.atwiki.jp/programhack/pages/15.html
Android関連 AlertDialogをモーダルにする setCancelableメソッドをfalseにすることで、戻るボタンやダイアログ以外の場所をクリックされても ダイアログが閉じないようにできる 参考サイト ダイアログは永遠に(1) - AlertDialog http //ichitcltk.hustle.ne.jp/gudon/modules/pico_rd/index.php?content_id=51 画像を扱う際のOutOfMemory対策 androidではメモリが少ないため、すぐメモリリークが起こる。 そのため、普段よりもメモリを気にして開発することが必須になる。 参考サイト Androidにおける画像の取扱い http //lablog.lanche.jp/archives/192 一定時間で自動的に閉じるポップアップ String msg1 = Util.getString((Context)thisActivity,R.string.M120); final AlertDialog dialog = new AlertDialog.Builder((Context)thisActivity) .setTitle(Util.getString((Context)thisActivity,R.string.I000)) .setMessage(msg1) .create(); Handler handler = new Handler(); Runnable r = new Runnable() { public void run() { dialog.dismiss(); setResult(RESULT_OK); finish(); } }; dialog.show(); handler.postDelayed(r, 5000); ちょっとしたポップアップ 以下でポップアップを表示できる Toast.makeText(context, "なんかの文字", Toast.LENGTH_LONG).show(); ソフトウエアキーボード制御 キーボードでテキストボックスが隠れないように 実装したかったができなかった。 ↓これを参考にしたが、だめorz http //ssnohibi.blog122.fc2.com/blog-entry-121.html 参考にしたサイトをあげておく。 参考 http //blog.global-eng.co.jp/android/2011/06/03/%E3%82%BD%E3%83%95%E3%83%88%E3%82%AD%E3%83%BC%E3%83%9C%E3%83%BC%E3%83%89%E3%81%AE%E5%88%B6%E5%BE%A1/ http //ssnohibi.blog122.fc2.com/blog-entry-121.html ライフサイクル Activityイベントが呼ばれる順番。 参考 TechBooster 図解Androidのライフサイクルとプラットフォーム http //techbooster.jpn.org/andriod/environment/323/ ソフトキーボード表示時、画面タッチでキーボードをしまう InputMethodManagerのhideSoftInputFromWindow()を使用。 対象のEditTextに適用する InputMethodManager inputMethodManager = (InputMethodManager)act.getSystemService(Context.INPUT_METHOD_SERVICE); //ソフトキーボードを閉じるように設定 for(int txtId txtIdArray){ EditText txt = (EditText)lil.findViewById(txtId); inputMethodManager.hideSoftInputFromWindow(txt.getWindowToken(),0); } strokeタグを利用して枠線を描画することができます。 「android width」にて枠線の幅を設定 「android color」にて線の色を設定 corners にて枠線の角の設定を行います。 paddingにて描画領域を内側に寄せます。 枠線に内側のビューが重ならないように、枠線の幅の分はpaddingで寄せるようにします。 solid にて枠線の内側の塗りつぶしを行います。 shapeタグを使用することにより、グラデーションや枠線、角丸などの効果を持った背景形状を定義できます。 画像の色からカラーコードを調べる方法 ペイントで画像を開いて、スポイトのマークで吸い取ったら 色→色の編集→色の作成 に吸い取ったカラーのRGB値(10進数)が出てます。 それをRGBの順で16進数になおしてつなげる OnTouchListenerのonTouchイベント戻り値 押しっぱなしのとき、falseを返すと一度で処理が終わるが、 trueを返すとまた処理に入る widgetを非表示にして詰める方法 TextView txt = (TextView) findViewById(R.id.txt); txt.setVisibility(View.GONE); ↑消したいやつにGONEを指定すると、非表示にして詰めるようにできる。 OutputStream#write(int) バッファ使用 めっちゃ速さが変わる!!! 以下参考↓ http //d.hatena.ne.jp/guangda/20100129/1264746893 java高速化方法 http //adgjm.net/its/java/pa.htm android キャプチャ取り方 eclipseでDDMSタブのDevicesタブにある対象の端末を選択し、 カメラのアイコンをクリック。 別ウィンドウが表示され、キャプチャできる。 スクロールバー常に表示 android fadeScrollbars="false" 一気にトップに戻るときなどに生成したアクティビティを削除する方法 画像ファイルが解放されなくて、メモリリークになったが、 下記のサイト解決できそう。 http //inujirushi123.blog.fc2.com/blog-entry-44.html 遷移するときにインテントフラグをセットすればいいらしい。 前回状態を維持したまま、前の画面に戻る 前回状態で前の画面に戻る場合、 startActivityForResult()でリクエストコードを渡して、判定するやり方がある。 TOP画面に戻るなど、中間の画面を飛ばして遷移する場合は、 この方法で中間のActivityを残さないで遷移できる。 (中間のActivityが残るとメモリがどんどん消費される→メモリリークorz) 参考 AIRIA Android 画面遷移 http //gallop.ddo.jp/blog/airia/2009/06/android-1.html 関連書籍 プログラミングAndroid
https://w.atwiki.jp/android/pages/55.html
豆ナイトの抽選で当選したらイキマース - adamrocker 2008-03-19 19 39 58 関西でも開催したいけど誰かいないかなあ - kojira 2008-03-19 19 45 37 Google I/OでSan Franciscono - 安藤恐竜? 2008-03-20 17 53 55 なんか変なところで改行押しちゃった、すみません。豆ナイトは日程発表があって、都合がついて、当選したら行きます。 - 安藤恐竜? 2008-03-20 17 56 21 豆ナイト当選したら何とか時間作ってみます - kojira 2008-03-21 18 06 33 Googleデベロッパー交流会申し込みました。晩も交流しましょう! - kojira 2008-04-03 19 21 20 Googleデベロッパー交流会、もう定員になってるみたいですね。間に合ってよかった - kojira 2008-04-07 12 17 15 4/18(金)の日経セミナー逝きます。ついでに夜、オフ会できるなら、お泊りにしちゃおーかなー。 - 安藤恐竜? 2008-04-11 07 00 00 日経の方は行けないかも・・・。無念。。。 - kojira 2008-04-11 09 43 00 豆ナイト応募しましたー - kojira 2008-04-14 15 47 03 ほぼ素人同然ですが、Andoridには興味あるので豆ナイト参加したいです! - irimameo? 2008-04-16 16 57 47