2014年5月24日土曜日

プロジェクトの削除 Android Studio

Android Studio に於けるプロジェクトの削除方法について、まとめてみました。

[前提]
・以下の3つプロジェクトが作成されています。
 My Application 1
 My Application 2
 My Application 3




1.プロジェクトリストの削除

現在、My Application 1を開いている状態です。
[File]メニューから [Reopen Project] - [Clear List]を選択します。



プロジェクトリストが全て削除されると、[Reopen Project]がグレーアウトされます。



Welcome to Android Studio 画面のRecent Projects の一覧からもプロジェクト名が削除されます。



この操作により削除されたのは、プロジェクトリストであって、プロジェクト自身ではありません。
従って、プロジェクトリストが削除されても、以下の手順でプロジェクトを開くことができます。

[File]メニューから [Open]を選択します。




もしくは、Welcome to Android Studio 画面のOpen Projectを選択します。





Open File or Project ダイアログから、目的のプロジェクトを選択して、[OK] をクリックすれば、プロジェクトを開くことができます。





2.プロジェクト自身の削除

Android Studioには、メニューからプロジェクト自身を削除する項目がありません。
プロジェクト自身を削除するには、エクスプローラを使用して、プロジェクトを直接削除する必要があります。
デフォルトでは、ユーザーフォルダ配下のAndroidStudioProjectsにプロジェクトが作成されています。
(例えば、Windows7の場合は、\Users\ユーザー\AndroidStudioProjects)
ここで、目的のプロジェクト名のフォルダを削除することによって、プロジェクト自身を削除することができます。


2014年5月19日月曜日

プロキシ設定 Android Studio

プロキシ経由の環境で、Android Studioを利用するための設定です。

■Android Studioのプロキシ設定

1.「Welcome to Android Studio」画面から[Configure] ⇒ [Settings]を選択します。




※または、プロジェクト作成画面から[File]-[Settings]を選択します。





2.「Settings」画面の左ペインの[HTTP Proxy]を選択します。

3.「Settings」画面の右ペインで、以下の設定を行います。

・Manual proxy configuration にチェックを入れます。
・HTTP にチェックを入れます。
・Host name にプロキシサーバーのドメインまたは、IPアドレスを設定します。
・Port number にプロキシサーバーのポート番号を設定します。




■Android SDK のプロキシ設定

1.「Welcome to Android Studio」画面から[Configure] ⇒ [SDK Manager]を選択します。




※または、プロジェクト作成画面から[Tools]-[Android]-[SDK Manager]を選択します。




2.「Android SDK Manager」画面から[Tools]-[Options]を選択します。




3.「Android SDK Manager - Settings」画面で、以下の設定を行います。

・HTTP Proxy Server にプロキシサーバーのドメインまたは、IPアドレスを設定します。
・HTTP Proxy Port にプロキシサーバーのポート番号を設定します。



2014年5月14日水曜日

Android Studioによるプロジェクト作成

1.Android Studioの起動

ショートカットからAndroid Studioを起動します。

インストール後、初めての起動する場合は、「Complete Installation」ダイアログが表示されます。
「I do not have a previous version of Android Studio or I do not want to import my settings」を選択して、[OK]をクリックします。



「Welcom to Android Studio」ダイアログが表示されます。
以下のアップデート情報が表示されることがあります。
「Update Info
A new version of Android Studio is available!」

ステータスバーに表示されている「Check」をクリックします。
「Android Studio x.x.x Build xxx.xxxxxxx. Check for updates now.」




アップデート内容を確認できます。
とりあえずアップデートはせずに、[Remind Me Late]をクリックして閉じます。




2.プロジェクトの作成

「Welcome to Android Studio」ダイアログの[New Project]をクリックします。




「New Project」ダイアログが表示されます。




以下は、各項目の詳細です。

【Application name】
Google Play、端末のアプリケーション管理で表示されるアプリケーションの名前です。

「The application name is shown in the Play store, as well as in the Manage Applications list in Settings.」


【Module name】
IDEで使用されるモジュールの名前です。「Application name」と同じにしても良いです。

「This module name is used only by the IDE. It can typically be the same as the spplication name.」


【Package name】
アプリケーションのユニークな識別子です。

「The package name must be a unique identifier for your application.It is typically not shown to users, but it must stay the same for the lifetime of your application; it is how multiple versions of the same application are considered the "same app".This is typically the reverse domain name of your organization plus one or more application identifiers, and it must be a valid Java package name.」

尚、Package nameをデフォルトのままにしておくと、以下のメッセージが表示されます。

「The prefix 'com.example' is meant as a placeholder and should not be used.」

これは、ドメインの接頭辞(com.example)がプレースホルダだから使用してはいけないという意味です。


【Project location】
保存先


【Minimum required SDK】
アプリケーションがサポートする最低限のAPIレベルを選択します。バージョンの低いAPIは、多くのデバイスを対象としますが、利用できる機能は少なくなります。API8以降を対象とすることによって、市場の約95%をカバーできます。

「Choose the lowest version of Android that your application will support.Lower API levels target more devices, but means fewer features are available.By targeting API 8 and later, you reach approximately 95% of the market.」


【Target SDK】
アプリケーションが動作すること確認している最も高いAPIレベルを選択します。作成するアプリケーションが推奨とするAPIレベルを選択する。アプリケーションは、「Minimum required SDK」で指定したバージョンまで実行することができます。

「Choose the hightest API level that the application is known to work with.This attribute informs the system that you have tested against the target version and the system should not enable any compatibility behaviors to maintain your app's forward-compatibility with the target version.The application is still able to run on older versions(down to minSdkVersion).Your application may look dated if you are not targeting the current version.」


【Compile with】
アプリケーションをコンパイルするプラットフォームのAPIレベルを選択します。ここで選択できるAPIレベルはAndroid SDK Managerでインストール済みのパッケージとなります。

「Choose a target API to compile your code against, from your installed SDKs.This is typically the most recent version, or the first version that supports all the APIs you want to directly access without reflection.」


【Theme】
UIスタイルを選択する。「Holo Dark」「Holo Light」は、Compile WithでAPIレベル11以上を選択したときに有効です。「Holo Light with Dark Action Bar」は、Compile withでAPIレベル14以上を選択したときに有効です。

「The base user interface theme for the module.」


【Create custom launcher icon】
カスタムのランチャーアイコンを作成する場合は、チェックを入れます。


【Create activity】
Activityのテンプレートを作成する場合は、チェックを入れます。


【Mark this project as a library】
プロジェクトをライブラリとして作成する場合は、チェックを入れます。


【Support Mode】
APIレベルによっては提供されていないコンポーネントを、そのAPIレベルで利用するためのサポートモジュールです。
「GridLayout」をAPIレベル13以下で利用するには、チェックボックスにチェックを入れます。
「Fragments」「Navigation」「Action Bar」をAPIレベル10以下で利用するには、それぞれのチェックボックスにチェックを入れます。


項目を以下の通り選択して、「Next」をクリックします。




Activityの種類を選択するダイアログが表示されます。
「Blank Activity」を選択して、「Next」をクリックします。




Activityの名前などを設定するダイアログが表示されます。
デフォルトのまま[Finish]をクリックします。




プロジェクト画面が表示されます。



2014年5月9日金曜日

Android Studioのインストール

■Android Studioとは

Android Studioとは、「IntelliJ IDEA」という統合開発環境(IDE)をベースに、新たに作成されたAndroid専用のIDEです。
以前から利用されているAndroid Development Tools(ADT)は、「Eclipse」というIDEのプラグインとして提供されています。
いずれは、Android Studioが、ADTに取って代わる存在となるでしょう。

■Android Studioの導入

1.JDKのダウンロードとインストール

以下のURLからJDKをダウンロードします。
http://www.oracle.com/technetwork/java/javase/downloads/index.html

ダウンロード及びインストールの方法については割愛します。

2.環境変数「JAVA_HOME」にJDKを設定

(例)
JAVA_HOME=C:\Program Files\Java\jdk1.6.0_39


3.JDKのパスを通す

PATHに以下を追加します。

%JAVA_HOME%\bin;


4.「IntelliJ IDEA」のダウンロード

以下のURLから任意のフォルダへダウンロードします。
http://developer.android.com/sdk/installing/studio.html

「Download Android Studio v0.5.2 for Windows」をクリックします。
※2014/05/08現在、バージョンはv0.5.2です。


5.「IntelliJ IDEA」のインストール

ADTなど、開発環境がすでにインストールされている端末では、androidのホームディレクトリが存在していて共有されます。
「IntelliJ IDEA」をインストールして起動すると、「~/.android」は上書きで更新されてしまいます。
必要に応じて、退避してください。

ダウンロードしたEXEファイルを実行します。

「Welcom to the Android Studio Setup Wizard」ダイアログが表示されます。
[Next]をクリックします。



「Choose Users」ダイアログが表示されます。
必要に応じて、どちらかを選択して、[Next]をクリックします。
※例では、「Install for anyone using this computer」を選択しています。


「Choose Install Location」ダイアログが表示されます。
任意のフォルダーを指定して、[Next]をクリックします。
※例では、デフォルトのまま

デフォルトのまま[Install]をクリックすると、インストールが始まります。


Installation Complete」ダイアログが表示されます。
[Next]をクリックします。


「Completing the Android Studio Setup Wizard」ダイアログが表示されます。
「Start Android Studio」のチェックを外して、[Fnish]をクリックすれば、インストールは完了です。


6.環境変数「ANDROID_SDK_HOME」にAndroid SDKを設定

ADTなど、開発環境がすでにインストールされている端末では、Android SDKに関連する環境変数が残っています。
必要に応じて、再設定してください。

ANDROID_SDK_HOME=C:\Program Files\Android\android-studio\sdk


7.Android SDKのパスを通す

PATHに以下を追加します。

%ANDROID_SDK_HOME%\tools;
%ANDROID_SDK_HOME%\platform-tools;

2014年5月2日金曜日

ファイルストレージAPIの利用 Cordova(PhoneGap)

W3CのFileSystem API、FileWriter API、File APIの仕様に基づいて実装されているCordovaのファイルストレージAPIの利用方法についてです。

1.プラグインの追加

①ファイルシステム プラグインの追加
> cordova plugin add org.apache.cordova.file

②ファイル転送 プラグインの追加
> cordova plugin add org.apache.cordova.file-transfer

③config.xmlの確認
以下のパラメータが追加されていることを確認します。

[platforms/android/res/xml/config.xml]
<feature name="File">
<param name="android-package" value="org.apache.cordova.file.FileUtils" />

<param name="onload" value="true" />
</feature>
<feature name="FileTransfer">
<param name="android-package" value="org.apache.cordova.filetransfer.FileTransfer" />
</feature>

④AndroidManifest.xmlの確認
以下のパーミッションが追加されていることを確認します。

[platforms/android/AndroidManifest.xml]
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />


2.FileSystemオブジェクト

window.requestFileSystemメソッドにより、FileSystemオブジェクトを取得します。

cordovaのファイルストレージAPIが利用できるのは、devicereadyイベントが発火されて、察知した後となります。
したがって、FileSystemオブジェクトの取得は、以下のようになります。

document.addEventListener("deviceready", onDeviceReady, false);

function onDeviceReady() {
    window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, gotFS, fail);
}

function gotFS(fileSystem) {
   
    //FileSystemオブジェクトの利用
}

function fail(error) {
   
    //エラー処理
    console.log(error.code);
}

FileSystemオブジェクトには、二つのストレージタイプがあります。
window.requestFileSystemメソッドの第1引数にて、ストレージタイプを指定します。

①PERSISTENTストレージ
・[引数]LocalFileSystem.PERSISTENT
・[永続性]○
・[保存先]/mnt/sdcard/

②TEMPORARYストレージ
・[引数]LocalFileSystem.TEMPORARY
・[永続性]×
・[保存先]/mnt/sdcard/Android/data/(アプリケーション名)/cache/


3.FileEntryオブジェクト

FileSystemオブジェクトのfileSystem.root.getFileメソッドにより、FileEntryオブジェクトを取得します。
getFileメソッドで、第2引数の{create : true}は、ファイルが無ければ新規でファイルを作成することを意味します。

function gotFS(fileSystem) {
   
    //FileSystemオブジェクトの利用
    fileSystem.root.getFile("hoge.txt",{create : true}, gotFileEntry, fail);
}

function gotFileEntry(fileEntry){
   
    //FileEntryオブジェクトの利用
}

function fail(error) {
   
    //エラー処理
    console.log(error.code);
}


FileEntryオブジェクトのプロパティとメソッドによって、ファイルストレージを利用します。

①FileEntryオブジェクトのプロパティ

[name]
ファイル名

[fullPath]
フルパス

[isDirectory]
ディレクトリ判定のBoolean値

[isFile]
ファイル判定のBoolean値

function gotFileEntry(fileEntry) {
   
    //FileEntryオブジェクトの利用
    console.log('file name:' + fileEntry.name);
    console.log('file path:' + fileEntry.fullPath);
    console.log('directory?:' + fileEntry.isDirectory ? 'yes' : 'no');
    console.log('file?:' + fileEntry.isFile ? 'yes' : 'no');
}


②FileEntryオブジェクトのメソッド

[createWriter]
FileWriterオブジェクトを取り出します。
FileWriterオブジェクトのwriteメソッドでファイルへの書き込みを行います。

function gotFileEntry(fileEntry) {

    //FileEntryオブジェクトの利用
    fileEntry.createWriter(gotFileWriter, fail);
}

function gotFileWriter(fileWriter){
   
    var str = 'Hello\n' + 'World\n';
   
    //ファイルの書き込み位置を最終行とする
    fileWriter.seek(fileWriter.length);
   
    //ファイルに書き込む
    fileWriter.write(str);
   
}

function fail(error) {
   
    //エラー処理
    console.log(error.code);
}


[file]
Fileオブジェクトを取り出します。
別に、FileReaderオブジェクトを作成して、FileReaderオブジェクトのreadAsTextメソッドによって、Fileオブジェクトからファイルの内容を読み出します。

function gotFileEntry(fileEntry) {

    //FileEntryオブジェクトの利用
    fileEntry.file(gotFile, fail);
}

function gotFile(file){

    //FileReaderオブジェクトを作成
    var reader = new FileReader();
   
    //Fileオブジェクトからファイルの内容を読み出す
    reader.readAsText(file);
   
    //非同期のレスポンスを受信
    reader.onloadend = function(evt) {
        console.log(evt.target.result);
    };
   
}

function fail(error) {
   
    //エラー処理
    console.log(error.code);
}


[removeTo]
ファイルストレージのファイルを削除します。
getFileメソッドで、第2引数の{create : false}は、ファイルが無い場合に、新規にファイルを作成しないことを意味します。

function gotFS(fileSystem) {
   
    //FileSystemオブジェクトの利用
    fileSystem.root.getFile('hoge.txt', {create : false}, gotFileEntry, fail);
}

function gotFileEntry(fileEntry){
   
    //FileEntryオブジェクトの利用
    fileEntry.removeTo(function() {
        console.log('ファイルを削除しました。');
    });
}

function fail(error) {
   
    //エラー処理
    console.log(error.code);
}