【Flash馬鹿のJava】連番画像ファイルの読込について
対象バージョン:J2SE1.6 / Android1.6
はじめましてFlash馬鹿です。Java初心者です。
連番画像ファイルを一気に読み込みたいのですが、方法が分かりません。
Flashでいうところの
for(i=1;i<100;i++){
this["loadmc" + i].loadMovie("image" + i + "png")
}
みたいなことがしたいです。
private Bitmap image1;
private Bitmap image2;
private Bitmap image3;
image1 = BitmapFactory.decodeResource(r, R.drawable.image1);
image2 = BitmapFactory.decodeResource(r, R.drawable.image2);
image3 = BitmapFactory.decodeResource(r, R.drawable.image3);
だといけますが
private ArrayList<Bitmap> image;
image.add(BitmapFactory.decodeResource(r, R.drawable.image1));
image.add(BitmapFactory.decodeResource(r, R.drawable.image2));
image.add(BitmapFactory.decodeResource(r, R.drawable.image3));
にするとAndroid1.6のシミュレータが落ちます。
また、連番の画像リソースを指定する方法("image" + i + "png")も分かりませんので
教えていただけると幸いです。
よろしくお願いします。
No.1ベストアンサー
- 回答日時:
まず、Javaでは、オブジェクトを入れる変数には、その実体ではなく、実体への参照になっている、ということに注意してください。
> private Bitmap image1;
ではimage1という「矢印」が作られるだけ、その先は何も示していません(正確には、nullを示していますが)
> image1 = BitmapFactory.decodeResource(r, R.drawable.image1);
ここで、BitmapFactory~て作られたオブジェクトとimage1の矢印が結びつきます。
同様に
> private ArrayList<Bitmap> image;
もimageという矢印が出来るだけです。 ArrayListは存在していません。
その状態で
>image.add(BitmapFactory.decodeResource(r, R.drawable.image1));
とやっても、存在しないArrayListにaddなどできないので、エラーになります。実際には例外が発生し、それが捕捉されないままでシミュレータの終了まで行ってしまうのでしょう。
ArrayListの使用例を参考書等で確認すれば、new でArrayListのインスタンスを作成しているのがわかると思います。
private ArrayList<Bitmap> image = new ArrayList<Bitmap> () ;
> 連番の画像リソースを指定する方法("image" + i + ".png")
Action Script等では、「数値」と「数字の入った文字列」の区別が曖昧で、上のように使うこともできますが、Javaなどでは、明確に区別しているので、上のようなことをする場合には、「数値」を「数字の入った文字列」に明示的に変換する必要があります。
例えば、こんな風に
"image" + Integer.toString(i) + ".png"
一気にやろうとしないで、面倒でも、基礎からやったほうがいいと思います。
他の言語の知識は、時に学習の邪魔になります。
非常に丁寧なご説明ありがとうございます。
なんとなく意味がわかってきたような気がします。
private List<Bitmap> image;
image = new ArrayList<Bitmap>();
image.add(BitmapFactory.decodeResource(r, R.drawable.image01));
image.add(BitmapFactory.decodeResource(r, R.drawable.image02));
image.add(BitmapFactory.decodeResource(r, R.drawable.image03));
とすることで意味もわからずなんとなく動いていたのですが、ひとまずListとArrayListで宣言したときの違いから調べてみます・・・というかもっと基礎からやるべきなんでしょうけど・・・
このたびは初歩的な質問にも関わらずお答えいただき、ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 経済学 資本移動や価格変動のない次のような固定為替レート・モデルを考える。 C = 10 + 0.8 Y I 3 2022/06/21 20:50
- 学校 理科の ①Ag++e-→Ag ②2Ag++Cu→2Ag+Cu²+ ③Zn²++2e-→Zn それぞれ 1 2022/07/12 23:33
- 数学 写真の数学の質問です。 「 BCD の重心をG とおくと, 正四面体の対称性 により、半径Rの外接球 1 2023/07/19 15:00
- 臨床検査技師・臨床工学技士 AgでIn、Cr、Brをつくりたいが・・・ 2 2022/07/29 22:04
- 英語 Im so happy really with all my hearth for yours wo 3 2022/06/12 21:49
- 英語 意味を教えてください 1 2022/08/18 21:29
- 数学 (4)のim(T)をu1,u2,u3の線型結合で表せ、という問題がわからないです。回答を見ると私の解 2 2023/05/31 22:14
- 数学 中1 数学 空間における平面と直線の問題です 2 2023/04/14 20:44
- JavaScript アップロードファイルの種類によって処理を分岐させたいのですが書き方が分からずアドバイスお願いします 4 2023/06/17 19:12
- 地球科学 長万部町の神社付近地中から30メートル高の水柱が噴出。 2 2022/08/14 22:26
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ワイルドカード<?>と型パラメー...
-
VBA 同じ名前のオブジェクトを...
-
BufferedWriterのcloseメソッド
-
パワーポイントのVBAでテキスト...
-
オブジェクトと関数の違い
-
COMコンポーネントって何?
-
C#でフォームのオブジェクト名...
-
Excelファイルをgrep検索したい
-
vb.net オブジェクト指向につい...
-
【Java】入力した西暦→和暦に変...
-
Excel VBA : イコールになら...
-
Error.prototype結果のd {name
-
オブジェクトを枠線に合わせる...
-
署名と検証
-
オブジェクト名をforループ内で...
-
多人数のじゃんけんプログラム
-
VBA 下記ソースについて質問で...
-
CFileDialogでフォルダだけを選...
-
EXCEL VBAにて動的にCheckBOXを...
-
これは名前空間ですか?それと...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
パワーポイントのVBAでテキスト...
-
Excelで =EMBED("Acrobat Docu...
-
EXCEL VBAにて動的にCheckBOXを...
-
ワイルドカード<?>と型パラメー...
-
C#でフォームのオブジェクト名...
-
VBAのWindowオブジェクトとWork...
-
vb.net オブジェクト指向につい...
-
COMコンポーネントって何?
-
オブジェクトレベルとメタレベル
-
ビジュアルC++でボタンの有...
-
時間帯判定をする。
-
LISTBOXの内容が更新されま...
-
VBA 同じ名前のオブジェクトを...
-
オブジェクト名をforループ内で...
-
Object型からDouble型へのキャスト
-
ADO オブジェクトの渡し方
-
bmp画像をjpegやpng画像に圧縮...
-
Vbで通常使用するプリンターを...
-
戻り値がクラスオブジェクト
-
VBAでvlookup関数から、別シー...
おすすめ情報