Androidアプリ開発の基礎的な情報や注意点など |
ここでは Androidアプリ開発に関するの基礎的な情報や注意点などを載せます。 1.Androidアプリで使用するファイルの追加方法( Visual Studio編 ) 1-2.Androidアプリで使用するファイルの追加方法( Android Studio編 ) 2.Androidアプリで使用する文字コードは『UTF-8』であることについて 3.Androidアプリのセーブファイルを保存するフォルダーパスについて 4.Androidアプリではグローバル変数が 0 で初期化されることを前提としてはいけないことについて 5.Androidアプリでは char は符号なし( unsigned )型です 6.定義済みマクロ __ANDROID__ を使った Windowsアプリとのプログラムファイルの共有について 1.Androidアプリで使用するファイルの追加方法( Visual Studio編 ) Windowsソフトではソフトで使用する画像ファイルやサウンドファイルは実行ファイルと同じフォルダや、 実行ファイルと同じフォルダに置いたフォルダの中に配置したりしますが、Androidアプリはビルドすると 拡張子 apk のファイルにアプリの実行に必要なファイルが全部入る仕組みになっているため、 Windowsソフトと異なり Androidアプリはアプリ内で使用するファイルを Androidアプリのプロジェクトに VisualStudio Community 2015 の『ソリューションエクスプローラー』を使用して追加する必要があります。 以下にその手順を載せます。 ① VisualStudio Community 2015 で Androidアプリのプロジェクトを開いた状態では、 『ソリューションエクスプローラー』と書かれているリストには『(プロジェクト名).Packaging』と 書かれている項目がありますので、そこで右クリックをして表示されるプルダウンメニューから 『追加(D)』→『新しいフォルダー(D)』を選択して『(プロジェクト名).Packaging』の下に 一つフォルダーを追加します。 ② 追加したフォルダーは『新しいフォルダー』となっていますので、右クリックして表示される プルダウンメニューから『名前の変更(M)』を選び名前を『assets』に変更します。 ③ 『assets』フォルダーを右クリックして表示されるプルダウンメニューから『追加(D)』→『既存の項目(G)』を 選択するとファイルを選択するウインドウが表示されますので、ここでアプリで使用したい画像ファイルや サウンドファイルを選択してから『追加(A)』ボタンをクリックして『assets』フォルダに追加します。 以上です、これで『(プロジェクト名).Packaging』の下に作った『assets』フォルダーに追加したファイルは Androidアプリの apkファイルに含まれることになり、Androidアプリのプログラム内で LoadGraph や LoadSoundMem などの関数を使用して読み込めるファイルとなります。 あと、『assets』フォルダに含まれるファイルに関する注意点や補足は以下の通りです。 LoadGraph や LoadSoundMem で参照されるフォルダは『assets』フォルダです つまり『assets』フォルダに『Test.bmp』というファイルを入れた場合、LoadGraph で読み込む際のパスは LoadGraph( "Test.bmp" ) ; となります。( LoadGraph( "assets\\Test.bmp" ) ; ではありません ) apk ファイルに含めることができるファイルのファイル名で使用できる文字は半角文字の英数字・一部記号文字のみです 全角文字の英数字・記号・日本語などはビルドの際に『認識できない文字』としてエラーになってしまいますので 注意してください。 Windowsソフトと異なり英語の大文字・小文字が区別されます Windowsソフトでは『Test.bmp』というファイルを読み込む際は LoadGraph( "test.bmp" ) ; と記述しても LoadGraph( "TEST.BMP" ) ; と記述しても正常に読み込むことができますが、Androidアプリでは大文字と小文字は 区別されるので正確に LoadGraph( "Test.bmp" ) ; と記述する必要があります。 ファイルの削除や追加はすべて VisualStudio Community 2015 の『ソリューションエクスプローラー』上で行う必要があります 『assets』フォルダに追加したファイルやフォルダは、プロジェクトの実際のフォルダ内に追加されるため、 Windows標準ソフトの『エクスプローラー』などで確認することができてしまいますが、 VisualStudio Community 2015 がビルド時に apk ファイルに含めてくれるのはあくまで VisualStudio Community 2015 内の『ソリューションエクスプローラー』を使用して 追加・削除されたファイル・フォルダのみですので、必ず apk ファイルに含めたいファイルの追加や削除は VisualStudio Community 2015 の『ソリューションエクスプローラー』を使用して行うようにしてください。 ( 『エクスプローラー』上の『assets』フォルダに直接ファイルやフォルダを追加したり削除したりしても、 無視されてしまいます ) 『assets』フォルダに追加したファイルは、コピーが作成されます つまり、『assets』フォルダに追加したファイルに対して、追加後に内容を変更しても『assets』フォルダに追加した ファイルにはその変更は反映されませんので、その変更を『assets』フォルダ内のファイルにも反映したい場合は 一度『ソリューションエクスプローラー』上で『assets』フォルダ内の該当のファイルを削除して、改めてファイルを 『assets』フォルダに追加する操作を行う必要があります。 『assets』フォルダに追加したファイル名の大文字・小文字を『ソリューションエクスプローラー』上で変更しても反映されないことがあります そのため、『ソリューションエクスプローラー』上に表示されている大文字・小文字の通りにファイル名を指定しても 読み込みに失敗することがあります。 このような場合は、一度『ソリューションエクスプローラー』から該当するファイル・フォルダを削除して、 改めてファイル・フォルダを追加する必要があります。 1-2.Androidアプリで使用するファイルの追加方法( Android Studio編 ) Windowsソフトではソフトで使用する画像ファイルやサウンドファイルは実行ファイルと同じフォルダや、 実行ファイルと同じフォルダに置いたフォルダの中に配置したりしますが、Androidアプリはビルドすると 拡張子 apk のファイルにアプリの実行に必要なファイルが全部入る仕組みになっているため、 Windowsソフトと異なり Androidアプリはアプリ内で使用するファイルを assetsフォルダに追加する必要があります。 まずは、ファイルを追加するための『assets』フォルダを以下にその手順で追加します。 ① Android Studio でプロジェクトを開いた状態で、画面左側のリストから『app』を右クリックして、プルダウンメニューを表示します。 ② 次にプルダウンメニューから『New』→『Directory』を選択します。 ③ 『New Directory』ダイアログが開いたら、リストの中から『src\main\assets』をダブルクリックします。( src\main\assets はリストの結構下の方にあります ) 上記手順で『assets』を追加するとプロジェクトのフォルダ以下の『app\src\main』フォルダに『assets』というフォルダが 作成されますので、このフォルダの中にアプリで使用する画像ファイルや音ファイルをコピーしてください。 この『assets』フォルダーにコピーしたファイルは Androidアプリの apkファイルに含まれることになり、Androidアプリの プログラム内で LoadGraph や LoadSoundMem などの関数を使用して読み込めるファイルとなります。 あと、『assets』フォルダに含まれるファイルに関する注意点や補足は以下の通りです。 LoadGraph や LoadSoundMem で参照されるフォルダは『assets』フォルダです つまり『assets』フォルダに『Test.bmp』というファイルを入れた場合、LoadGraph で読み込む際のパスは LoadGraph( "Test.bmp" ) ; となります。( LoadGraph( "assets\\Test.bmp" ) ; ではありません ) Windowsソフトと異なり英語の大文字・小文字が区別されます Windowsソフトでは『Test.bmp』というファイルを読み込む際は LoadGraph( "test.bmp" ) ; と記述しても LoadGraph( "TEST.BMP" ) ; と記述しても正常に読み込むことができますが、Androidアプリでは大文字と小文字は 区別されるので正確に LoadGraph( "Test.bmp" ) ; と記述する必要があります。 2.Androidアプリで使用する文字コードは『UTF-8』であることについて 普段何気なく使用している txt, cpp, h などのテキストファイルは特に指定をせずに保存すると 文字コード『シフトJIS』形式で保存されますが、Androidアプリが対応しているのは文字コード『UTF-8』形式なので、 cpp, h などのプログラムソースファイルやアプリ内で使用するテキストファイルを 文字コード『UTF-8』形式で保存する必要があります。 あと、『シフトJIS』形式の文章データを 1文字単位で扱う処理に慣れている方は『UTF-8』と『シフトJIS』で 文字の数値やサイズが異なることにも注意が必要です。 というのも、『シフトJIS』では半角文字は 1バイト、全角文字は 2バイトなのに対し、『UTF-8』では半角文字は同じく 1バイトですが、全角文字は概ね 3バイトと、全角文字のバイト数が異なる他、「全角文字なのか、半角文字なのか」の 判別方法も異なるからです。 ( 因みに 1文字のバイト数については、DXライブラリの 1文字のバイト数を取得するための関数『GetCharBytes』を 使用すると便利です ) この他、主に Windowsアプリを Androidアプリに移植する際に文字コード関連で必要な作業や、文字コードの詳しい解説を こちらに纏めましたので、よろしければご覧ください。 『WindowsアプリとAndroidアプリでは使用する文字コードが異なることについて』 3.Androidアプリのセーブファイルを保存するフォルダーパスについて Androidアプリで RPG のセーブデータや STG のスコアデータを保存したりするフォルダのパスを取得するには Android専用の関数『GetInternalDataPath』を使用します。
|