1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Androidアプリケーション技術者認定試験ベーシックの試験範囲の知識をまとめた(11)

Last updated at Posted at 2018-02-07

開発環境

※ 明らかに情報古いけどテスト範囲なのでそのまま学習。

Eclipse

Eclipseとは

オープンソースの統合開発環境。もとはIBNがJava用に開発。2001年にオープンソース化。
現在ではEclipse Foundationが取り仕切っている

プラグイン

Eclipseにはプラグインという仕組みがあり、いろいろな機能拡張が出来る
AndroidではADT(Android Developer Tools)というプラグインを使用する。

Eclipseの使い方

使うためにはJRE(Java Runtime Environment)が必要。
通常はJDK(Java SE Development Kit)を事前にインストールする。

Eclipseのダウンロードとインストール

サイトからダウンロードして解凍。展開し配置する。

Eclipseの起動

eclipse.exeを実行し、ワークスペースフォルダを指定すると起動する。

日本語化プラグインの利用

Pleiadesという日本語化プラグインを利用すると日本語で表示されるようになる。
ダウンロードしたファイルをpluginsとfeaturesの各フォルダに配置して、
eclipse.iniファイルを編集する

Pleiades All in Oneという最初から組み込まれたものもダウンロードできる

ADTプラグイン

ADTとは

Eclipseで、Androidアプリケーション開発を行うためのプラグイン。
ADTプラグインを組み込むことで次の操作が可能となる

  • Androidプロジェクトの生成、ビルド、パッケージ化、インストール、デバッグ
  • Android SDKとAVDの管理、DDMS、adbなどのAndroid SDKのツールの利用
  • JavaソースコードやXMLリソースの作成や編集

ADTの使い方

ADTのインストール

ADTはEclipse上でインストールする。

Android SDK Manager

Android SDK Managerにより、Android SDKのインストールやアップデートができる。

AVD Manager

AVD ManagerによりAVD(Android Virtual Device)の作成編集削除ができる。
AVDはエミュレータを使うときに必要。

Androidプロジェクトの作成、ビルド、デバッグなど

ファイルメニューのプロジェクトからAndroidのプロジェクトやテストプロジェクトが作成できる

ソースコードやリソースの編集

いろいろ編集できる。CTRL+[SPACE]で入力補完とか
XMLファイルの編集も可能

Android SDK ツールの利用

Eclipseで利用可能なツール

ツール 概要
adb Androidアプリケーションの実行環境へのアクセスを可能とする
DDMS Androidアプリケーションをデバッグするための各種機能を提供する
Hierarchy Viewer Androidアプリケーションに含まれるViewの階層を表示する
Pixcel Perfect Androidアプリケーションの画面を拡大表示し、画面の設計や構築支援を行う
ProGurard ソースコードの最適化(リバースエンジニアリング対策)を行う
TraceView Androidアプリケーションの実行ログを取得する

layoutopt

layoutoptとは

レイアウトのXMLにおいて、実際に使われない無駄な定義がないかをチェックするためのツール

layoutoptの使い方

コマンドラインツール。Android SDKのtoolsフォルダに格納されている。
レイアウトファイル名かレイアウトファイルを含むフォルダ名を引数として渡す。
問題があれば、ファイル名とその行と内容を表示する。
検出するだけで自分で直す必要がある。

##### lintツール

ADT16以降で提供されているツール。アプリケーションの潜在的な問題を検出できる。
レイアウトの問題も検出できるため、layoutoptの代わりに使うこともできる

Draw 9-patch

Draw 9-patchとは

AndroidではPNG形式の画像を使う。画像をビューの背景とすると、ビューのコンテンツのサイズが変わった場合に
画像のサイズも変わってしまい、見た目が崩れる可能性がある。
NinePatchは画像のどこを拡大してよいかどこにコンテンツが入るかを指定可能なPNG形式の画像。
Draw 9-patchはNinePatch形式の画像を作成するツール

Draw 9-patchの使い方

コマンドラインから起動する。toolsフォルダに入っており、draw9patchコマンドの実行で起動する。

画像のオープン

ドラッグするかFileメニューから指定することで画像を開ける。
左側に元の画像、右側に画像を拡大した時のイメージが表示される。

拡大領域の指定

拡大してよい領域を指定することが出来る。ボタンの端は拡大しないなど。

コンテンツ領域の指定

ボタンにテキストなどが入る場合コンテンツ領域を指定できる。Show contentボックスをONにすることで、コンテンツ領域のイメージが紫色で表示される。

NinePatch画像の保存

ファイルメニューのSaveより保存できる。NinePatch形式のファイルの拡張子は9.pngとなる。
ex. button.png -> button.9.pngとなる

aapt

aaptとは

コンパイルしたコードをapkファイルにまとめるツール
Android Asset Packaging Toolの略

aaptの使い方

コマンドラインツールとしても利用できる。(通常はEclipse上で使う)

apkファイルの内容の一覧表示

aapt l[ist] コマンドで指定したファイル(zip, jar apk)の内容を表示できる

apkファイルの内容表示

aapt d[ump] コマンドで指定したapkファイルの内容を表示できる

aapt dumpコマンドに指定する表示内容

指定 表示内容
badging apkファイル内のラベルとアイコン
permissions apkファイル内のパーミッション
resources apkファイル内のリソース
configurations apkファイル内の設定
xmltree apkファイル内のコンパイル済みXMLファイル
xmlstrings apkファイル内のコンパイル済みXMLファイルの文字列

apkファイルのパッケージ化

aapt p[ackage]でapkファイルを作成する。

apkファイルからのファイルの削除

aapt r[emove]でapkファイル(zip,jarも可)から指定したファイルを削除する。

apkファイルへのファイルの追加

aapt a[dd]ででapkファイル(zip,jarも可)に指定したファイルを追加する。

その他のコマンド

aaptのみで実施するとヘルプが表示される。aapt vでバージョン情報が表示される

AIDL

AIDLとは

AIDL(Android Interface Definition Language)という。
Androidアプリケーションは独立したプロセス上で実行されている。
そのプロセス間通信を利用する場合のインタフェースを定義するツール

AIDLの使い方

  1. 他のアプリケーションからアクセス可能なフィールドとメソッドを含むインターフェースを定義し、aidlファイルとして保存する
  2. aidlコマンドで作成したaidlファイルからJavaのインタフェースを作成する(Eclipseの場合、aidlファイルを自動的にJavaのソースコードに変換してくれる)
  3. サービスで、作成されたインターフェースの内部クラスであるStubクラスを継承してaidlファイルで定義したメソッドを実装する
  4. サービスで、Stubクラスのインスタンスを返すようにonBindメソッドをオーバーライドする

aidlファイルの作成

次のデータ型を利用してフィールドやメソッドを定義する。

  • Javaの基本型
  • Stringクラス、Listインターフェース、Mapインターフェース、CharSequenceインタフェース
  • AIDLによって定義したインターフェース(import文でインポートする必要がある)
  • Parcelableインターフェース(import文でインポートする必要がある)

aidlコマンドによるJavaインターフェースの作成

作成したaidlファイルからaidlコマンドでJavaのインターフェースを作成する(Eclipseの場合は自動的にできる)
aidlコマンドはtoolsフォルダに格納されている。

定義したメソッドの実装とonBindメソッドのオーバーライド

サービスを継承するクラスを作成し、AIDLで定義したインタフェースのメソッドを実装する。
その際、作成されたインターフェースの内部クラスであるStubクラスを継承する必要がある。
さらにonBindメソッドをオーバーライドして、前述のStubクラスのインスタンスを返すようにする

AIDLで定義したメソッドの呼び出し

  1. AIDLで定義したインターフェースのインスタンスを宣言する
  2. ServiceConnectionインターフェースを実装する
  3. bindServiceメソッドを呼び出す際に、サービスのクラスを指定したインテントと実装したServiceConnectionのインスタンスを渡す
  4. ServiceConnectionインターフェースのonServiceConnectedメソッド内で、AIDLで定義したインタフェースのStubクラスのasInterfaceメソッドを呼び出す。asInterfaceメソッドには、onServiceConnectedメソッドの引数として渡されるIBinderオブジェクトを指定する
  5. asInterfaceメソッドはAIDLで定義したインターフェースのオブジェクトを返すため、このオブジェクトを使ってメソッドを呼び出す。

sqlite3

sqlite3とは

SQLiteを利用する為のコマンドラインツール。SQL文の発行もできるほか、各種情報を表示できる

sqlite3の使い方

toolsフォルダに格納されている。
通常は、adb shellコマンドでエミュレータもしくは実機にアクセスしている状態で、データベースを操作する。

sqlite3を単独で実行

単独で実行することもできるので、試しにいろいろする場合に便利につかえる。

各種コマンドの実行

主なコマンド

コマンド 概要
.database データベースの一覧を表示する
.tables テーブルの一覧を表示する
.schema テーブルを作成したCREATE TABLE文を表示する
.dump データベースの内容をSQLの形式で表示する
.header on/off ヘッダを表示する/しない
.show sqlite3の現在の設定を表示する
.help sqlite3のヘルプを表示する
.exitまたは.quit sqlite3を終了する

SQL文の実行

直接SQLも実行可能。末尾に;をつける

dx

dxとは

AndroidアプリケーションのソースはJavaだが、Dalvik仮想マシンで実行するにはJava->Classファイル->dexファイル(Dalvikバイトコード)に変換する必要がある。これを行うのがdxツールである。
Eclipseの場合は自動で行われるため、単独で使う場合はほとんどない。

dxの使い方

dxツールはコマンドラインで実行する。platform-toolsフォルダに格納されている。
dx --helpでヘルプが表示される

zipalign

zipalignとは

apkファイルを最適化するツールである。具体的には、apkファイル内の圧縮されていないファイル(画像ファイルなど)を4バイト境界に合わせる。これをapkファイルのアラインメントという。
Eclipseを利用している場合、自動的に実行されるためあまり単独で実行する必要はない。

zipalignの使い方

コマンドラインから実行する。toolsフォルダに格納されている。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?