実機デバイスとsdカードの関係(GalaxySの場合)

最初、実機を動かした時、maicroSDカードのデータがどこにはいってるのかわからず、
迷った覚えがあります。


①実機から見る場合
マイファイルからアクセスすると、
/mnt/sdcard/external-sdに入っています。
(上の階層が「sdcard/」なので、紛らわしい…)
他のフォルダとは違い、フォルダにSDカードマークがあります。



②PCにマウントして見る場合
USBに接続すると、リムーバルディスクが2つ表示されます。
どちらか一方には実機自体に保存しているデータが入っていて、
もう片方にはmicroSDカードのデータが入っています。

Eclipseでandroidアプリパッケージ方法

Androidアプリが完成し、納品することになったので覚書。


1.デジタル署名のファイルを作る

これについてはこちら のページを参考にさせていただきました。
デジタル署名がないと、apkファイルを作っても、実機にインストールできないようです。



2.apkファイルを作って、1のデジタル署名を設定する

プロジェクトを右クリック→Androidツール→Export signed application packageもしくはExport Unsigned application packageのどちらかを選択して、apkファイルを作成します。
Export signed application packageはEclipse上からデジタル署名の設定ができ、Export Unsigned application packageはコマンドプロンプトで行うみたいです。



3.仕様する画像などあれば、実機の指定しているフォルダにコピーします。



4.2でデジタル署名を設定したapkファイルを実機にコピーし、インストールします


☆完了☆

インポートしたプロジェクトがエラーになっている

外部からプロジェクトをインポートしてパッケージエクスプローラーに表示された時から×が付いていて、
実行できない場合は、

プロジェクトを右クリック→プロパティーAndroid
ProjectBuildTargetのどれかにチェックが付いているか
確かめましょう。

チェックがついていない場合はどれかにチェックを付けて、クリ―ン→ビルドをすると
エラーが消えます。

length()メソッドについて

Androidの実機に入っている画像をアニメーションするコードを書いていて、
気付いたので、覚書。
javaの書き方です)



*型がstringのlength()メソッドの場合*

String str = "あいうえお";
int len = str.length()

文字列の長さなのでlenは5になります。



*型がstringのlength()メソッドの場合*

String str = {"あいうえお", "かきくけこ", "さしすせそ"};
int len = str.length()

配列の個数なのでlenは3になります。


私は「length()メソッドは文字列の長さを取得するもの」と覚えてしまっているので、
配列のlength()メソッドの結果がしっくりこない。。。

そこで、先輩に次のように説明してもらったところ、なんとなくわかりました。


string型の場合は、str[0]="あ"
str[0]="い"
str[0]="う"
str[0]="え"
str[0]="お"

という様に、一文字づつ配列で文字列が渡されているから、
配列と原理は一緒。



今まで文字列の長さと覚えてましたが、上記のような考え方で
覚えた方がいいなと思いました。

Attempted to lock an already-locked

ファイルを編集して、Subversionでコミットしようとしたときに次のようなエラーが出た。
Attempted to lock an already-lockedフォルダにロックがかかってて、変更ができないらしい。

解除の仕方はわかりませんでしたが(よくわからないままやると危険…)
Cleanupをすると直りました。
Flexの場合は
プロジェクトを右クリックして、チーム→クリーンアップ

画面の向きによってレイアウトを変更する

画面の向き(縦長)、(横長)によってレイアウトを変更するには、、、

res/layoutフォルダとres/layout-landフォルダにxmlファイルを用意(layoutフォルダには縦長の時に使うレイアウト、layout-landフォルダには横長の時に使うレイアウトを書く)

②AndroidManifest.xml
を記述
(screenOrientation="unspecified"はシステムが向きを自動選択する)

以上、二つを行ったが、うまくいかず…
ググってみると

実機で「設定」→「サウンド&画面設定」→「画面の向き」のチェックを外すと、
モーションセンサーがOFFになり、端末を傾けても画面は縦向きのままってしまう
とのこと。

案の定、モーションセンサーをOFF
にしていました。

気を付けましょう。

@SuppressWarnings("xxxx")

importに警告が出る時、カーソルを合わすと「@SuppressWarnings("xxxx")を追加します」という補完が出た。


SuppressWarningsアノテーションというものは、javacコンパイラがサポートするアノテーションの1つで指定した警告メッセージの表示を抑制する場合に使用する。

コンパイラの表示する警告はプログラムのミスの発見に役立つが、古いバージョンの記述方法などの時に大量のメッセージが表示されるのを抑えたい場合などに使われる。

つまり、意図的に警告を出なくするようにするみたい。