□技術メモ - Android ※管理人の個人的な技術メモです。このページの内容の実行結果について 管理人はいかなる責任も負いかねますのでご自身の責任でお試しください。 ----------------------------------------------------------- ○AndroidStudioをWinXPで使う ・AndroidをWinXPで開発する場合、Eclipseが重くて開発に適さない場合がある。 その場合はAndroidStudioでの開発が可能。 Googleの提供する開発環境なのでGoogleは今後AndroidStudioの使用を推奨すると思われる。 以下にAndroidStudioの環境設定手順を記す。 ・JDKをインストールする(既にインストール済みの場合は不要) 環境変数に以下を設定する。 JAVA_HOMEに、JDKインストール先(C:\Program Files\Java\jdkX.X.XXXX)を設定 pathに次を追加。%JAVA_HOME%\bin ・AndroidSDKをインストールする(既にインストール済みの場合は不要) AndroidSDKはAndroidStudioのインストーラに同梱しているものを選択すればよいので、 あえてここでインストールしなくてもよい。 既存のSDKを使用する場合は、AndroidSDKのWelcome(ようこそ)画面の Configure-ProjectDefault-ProjectStructureで...\sdkフォルダを指定する。 ようこそ画面はすべてのprojectをcloseすれば表示される。 ・AndroidStudioをインストールする。 AndroidSDKの同梱版を選択すればここでAndroidSDKもインストールされる。 何をインストールするかの選択の際、環境がx86の場合はx86エミュレータをチェックから外す。 (x86環境でx86エミュレータを動作させてもエラーになるため) ・上記のProjectStructure画面でJDKとSDKのパスが正しいか確認する。 また\sdkフォルダ内に\add-onsフォルダがない場合は作成する。 Toos-Android-SDKManagerを開き、必要なversionのSDKをインストールする。 メジャーなversionとして、2.xの最新、4.0.xの最新(4.xの低いvertionの最新)があった方がよい。 Google USB Driver, Intel x86 Atom System Image, その他必要なものを選択してインストールする。 インストールに失敗する場合はインストール先が\Program Filesでアクセス権限がないことが考えられる。 その場合は管理者権限で再起動すればよい。 ・エミュレータは参考書等はGenyMotionを紹介している。 使用にはOracle VM VirtualBoxのインストールが必要で、 HDDから数Gの割り当てが必要と思われるが爆速らしい。 ブラウザの設定の都合などでサイトにアクセスできない場合は BlueStacks等のエミュレータを使用することも可能。 BlueStacksの場合、...\build\outputs\apkフォルダの.apkファイルをダブルクリックすれば エミュレータに登録されて動作確認可能になる。 ----------------------------------------------------------- ◎用語 ○ウィジット VB,VCのコントロールに該当するもの ○アクテビティ VB,VCのウィンドウに該当する。ダイアログを除き全画面表示になる。 ユーザインターフェイス全般を制御する。 画面に対して一つのアクティビティが必要になる。 アプリケーションは複数のアクテビティを持つことができる アクテビティはスタック方式で管理される。つまり、最後に表示された画面の上に次の画面が存在する。 アプリケーションは他のアプリケーションのアクテビティを呼び出すことが可能 ○ライフサイクル 呼び出されるタイミングは以下の通り。 on Create アクティビティの生成時:ここでアクティビティの初期化を行う on Start アクティビティが表示状態になるとき on Restart バックグラウンドから、再びフォアグランドになる前 on Resume アクティビティがフォアグランドになるとき on Pause アクティビティがフォアグランドでなくなるとき:ここで状態の退避を行う on Stop アクティビティが非表示になるとき on Destroy アクティビティが破棄されたとき ○レイアウトとビュー ユーザからの窓口(画面)をユーザインターフェイスという。 インターフェイスは、レイアウトとビューから構成される。 ○レイアウト:各ビューを表示するための仕組み。 用意されているレイアウトから1つを選択して、ビューを配置することで画面を作成する。 ○ビュー:TEXTBOXやボタンなどを構成する機能。 各ビューは、Android 標準のクラス Viewクラスを継承したクラスで定義される。 ○インテント 複数画面の処理やバックグラウンドで行われる処理を連携させる。 アクティビティから他のアクティビティやサービスを呼び出す際のパラメータに使われる。 ○インテントの種類 明示的インテント アクティビティを直接起動する 暗黙的インテント パラメータに、起動するアクティビティを判断できる情報を入れることで 該当するアクティビティが起動する ○Actionタグ ・ACTION_VIEW http:// アドレス WEBブラウザで指定のURLを表示する。 AndroidManifest.xml にインターネットアクセスをするための権限が必要 ・ACTION_VIEW geo:latitude,longitude 指定した latitude(経緯)、longitude(経度)の地図を表示する。 AndroidManifest.xml のアクセス権限とロケーションサービスを使用するための権限が必要 ・ACTION_DIAL tel:電話番号 指定した番号のダイヤルウィンドウを開く ・ACTION_CALL tel:電話番号 指定した番号に電話をかける。AndroidManifest.xml に電話をかけるための権限が必要 ・ACTION_SENDTO mailto:アドレス メールを送信する ○サービス 画面上の操作には関係ない操作をバックグラウンドで実行する ○コンテントプロバイダ 異なるアプリケーション間で情報を共有する ○ビュー (View)の種類 TextView テキストを表示する EditText テキストを入力する TImageView 画像を表示する Button ボタン Checkbox チェックボックス RadioButton ラジオボタン ImageButton 画像表示できるボタン DatePicker 日付選択 TimerPicker 時間選択 AnalogClock アナログ時計 DigitalClock デジタル時計 Chronometer 経過時間メーター ProgressBar プログレスバー ZoomSlider ズームスライダー -----------------------------------------------------------