トップページ⇒tech
1001コメント301KB

iモード携帯電話用Java(iアプリ) Part20

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん2009/09/21(月) 20:36:33
NTT DoCoMoのiモード携帯電話用Javaに関する話題を扱うスレッドです。
Doja、Starいずれも扱います。質問時には明記してください。
次スレは>>980が宣言して立ててください。

※DoCoMo以外は下記スレへ。
CLDC+MIDP+携帯電話用Javaスレッド part 8
ttp://pc11.2ch.net/test/read.cgi/tech/1206017034/

■ iアプリ特有ではなくJava一般に関する質問はこちらへ
【初心者】Java質問・相談スレッド116【歓迎】
ttp://pc11.2ch.net/test/read.cgi/tech/1213347130/

■関連スレ
【日本携帯】Mascot Capsule/Micro3D【標準】
ttp://pc11.2ch.net/test/read.cgi/tech/1117773530/
0175デフォルトの名無しさん2009/11/06(金) 02:52:31
勝手サイトは無理だろ
0176デフォルトの名無しさん2009/11/06(金) 10:06:18
え。勝手サイトってポストデータ送れないの…?
0177デフォルトの名無しさん2009/11/06(金) 13:12:22
>>174
"application/x-www.form-urlendoded" ってコピペのミス?
これが原因なのかどうかは知らないけど。
0178デフォルトの名無しさん2009/11/06(金) 13:22:36
URLは遠藤だった
0179デフォルトの名無しさん2009/11/08(日) 12:26:04
iモードHTMLシミュレータIIは、utn属性の末尾1桁をどう変えても
アプリゲットでutn送信するページが見られません。
どうにかして見る方法ないでしょうか。
0180デフォルトの名無しさん2009/11/09(月) 15:57:25
iアプリを初めて作ろうと思ってるんだが、なんせプログラミング自体初めてで
Javaの初心者向けの本を買う
    ↓
一通り読み終わってiアプリ開発の本を二冊買う
    ↓
基本事項はある程度読み終えたが応用になると訳がわからんなる←今ここ

無理にでもサンプルコードを調べながら読もうと思ってるんだが 次にすることが分からん
なにしたらいいかおすすめがあれば伝授頼む
0181デフォルトの名無しさん2009/11/09(月) 15:58:20
何作りたいんだよ
0182デフォルトの名無しさん2009/11/09(月) 17:34:18
>>181
スクロールアクション的なものなんだが
0183デフォルトの名無しさん2009/11/09(月) 18:40:41
人によって違うだろうが、Webや本から自分の作りたい物に近いサンプルを
探し、その原理を読み解く方向が良い。

目指すゲームが今までに類を見ない新しいゲームなら、何でも良いのでスクロールする
サンプル、もしくはアクションゲームのサンプルを探す。

上記はクリアしていてプログラムの構造は解るには解るが、いざ自分で
新規に作るやり方が解らないというなら、上記で見つけたサンプルを
改造して自分の作りたい物に作り変える。

とりあえず改造し尽くしたがどうも動作が遅いようなら、その時初めて
1から自分で作る。
0184デフォルトの名無しさん2009/11/09(月) 22:34:05
一気に全部理解しようとしても無理
自分で手動かして、まずキャラが動くようにして、順序立てて拡張しないと
0185デフォルトの名無しさん2009/11/09(月) 23:00:38
>>184に同意
これって言語に関係なく初心者が体験する問題だな。
言語の仕様はある程度理解した、けど自分の実現したいものをどうやって作るか、
アルゴリズムの組み立て方が分からない。

こういう状態でサンプルコードとかを見ても、アルゴリズムの意図が理解できないから、
訳分からん → プログラミングを挫折 ってなっちゃう。

結局は自分でひとつずつ理解していくしかない。
近道をするなら、ゲーム用のアルゴリズムの考え方、実装の仕方を丁寧に解説している本を探すしかないね。
まぁ、一番手っ取り早いのは人から教えてもらうことだけど。

とりあえずの餞別に
http://www.okisoft.co.jp/esc/i-appli.html
0186デフォルトの名無しさん2009/11/10(火) 00:25:57
>>180の者です
>>183-185 サンクス とりあえず本を参考にdojaに始めから入ってるサンプルコードを読んでみたが???状態だ・・・
185のURLを参考にがんばってみる

dojaの詳しい解説はネットにほとんどないから困る
0187デフォルトの名無しさん2009/11/10(火) 01:20:59
素人の経験談が参考になるかわからないが、
Javaゲームプログラミングって本のサンプルコードを
意味もわからない状態から気合でDojaに移植して、ついでに改造してたら
オブジェクト指向とかゲームのアルゴリズムとか理解度がかなり上がった気がする
0188デフォルトの名無しさん2009/11/10(火) 02:04:50
> dojaの詳しい解説
「iアプリでのアクションゲームの作り方」を探しているのなら諦めれ
アクションゲームの動作原理は、iアプリでもPCでも据え置きゲーム機でもほぼ一緒
Javaと、アクションゲームのアルゴリズムが理解していれば、あとはiアプリの作法を調べれば書ける
だからiアプリに限定した詳しい解説はほとんどない

応用ができないのは、アルゴリズムに関する知識が不足しているから
これを得るには実際に作るという経験が一番
次にすることは、自分の頭で考えてあれこれ試行錯誤すること
本とかソースを*読む*のはもういいから、とにかく*書く*
アクションゲームを実現するのに必要な処理は何だろう?
キャラクタが左右に動かないといけない
背景がスクロールしないといけない
敵が動かないといけない
敵が攻撃してこないといけない
壁や敵との当たり判定をつけないといけない…
いきなりアクションゲームを、ましてや初心者が作ろうとしても無理
段階的に作っていくのはソフトウェア開発の基本
そのうち行き詰って疑問がわいてくるから、ネットや本で調べる
Javaに関する疑問はググれば間違いなく出てくる
iアプリに関する疑問はAPIリファレンスや開発ガイドを調べれば大体解決する
アルゴリズムの関する疑問はググっても分からない時がある
そうなったら聞きにおいで
ただしiアプリに関係ない質問はJavaスレで
とにかく何でもいいからキーボード打ちなさい

http://www.nttdocomo.co.jp/service/imode/make/content/iappli/technical_data/doja/index.html#p05
http://javagame.skr.jp/
http://wiki.game-develop.com/index.php?%A5%D7%A5%ED%A5%B0%A5%E9%A5%DF%A5%F3%A5%B0%2F%BD%E9%BF%B4
%BC%D4%B8%FE%A4%B1%2F%A5%C1%A5%E5%A1%BC%A5%C8%A5%EA%A5%A2%A5%EB%2F%C3%CA%B3%AC%C5%AA%B3%D8%BD%AC
0189デフォルトの名無しさん2009/11/10(火) 04:24:03
うるさーい!
0190デフォルトの名無しさん2009/11/10(火) 11:57:05
>>187
JAVAのサンプルコードをdojaに移植って自力でやるしかないのか?両者の違いを解説してるサイトあるのかな?プログラミング自体初体験だから違いが分からん
>>188
なるほど!アルゴリズムはどの言語でもあまり変わらない気がするから、JAVAのアルゴリズムを勉強してみます

とりあえずすることが見つかったんで皆ありがとう
01911872009/11/10(火) 19:03:50
>>190
1.eclipseのdojaプロジェクトに普通のJavaソースを突っ込む
2.エラーが出たところをCLDCとかDojaのAPIリファレンス見ながら
ひたすら修正、APIになければ自前で実装

って感じだったと思う。結構昔のことだから自信が無いけど
0192デフォルトの名無しさん2009/11/10(火) 19:04:32
教えたい年頃か(´ω`)
0193デフォルトの名無しさん2009/11/10(火) 19:34:31
イヤン恥ずかしい///
0194デフォルトの名無しさん2009/11/10(火) 21:46:40
netbeans使ってる私は少数派
0195デフォルトの名無しさん2009/11/11(水) 16:33:05
Star-1.2来たね
で、MIDPマダー?
0196デフォルトの名無しさん2009/11/12(木) 23:36:10
EclipseでDoja5.1のAPIとCLDC1.1のAPIのJavadocをアタッチしようとしたらいろいろと問題が・・
Dojaのはそのまま使ったら文字化けするし
CLDC1.1 + MIDP2.0の非公式日本語ドキュメントはZIPで配布されてないし・・
どうすりゃいいの?
0197デフォルトの名無しさん2009/11/14(土) 22:02:09
俺はEclipseからDoja5.0起動できてない
だからデバッグもできない、printfだけが頼り
Eclipseをソースエディター&エラー確認としてだけ使ってる
0198デフォルトの名無しさん2009/11/14(土) 22:26:06
>>197
???
iアプリ開発キットをインストールするとき、Eclipseプラグインをインストールするように指定しておけば
何の問題も無く使えるはずだが。3.0/3.1とか書いてあるけど最新版でもちゃんと使える。
0199デフォルトの名無しさん2009/11/15(日) 00:35:29
ちゃんとやってもeclipseから起動できないのはよくあるよ。どうしようもない。
0200デフォルトの名無しさん2009/11/15(日) 00:49:47
よくある事じゃないだろう。どういう風に起動しないというんだ。
エミュレーターのウィンドウが開いたらすぐ閉じると思ったら
コンパイラー準拠レベルが1.6になっていた、ということはある。
0201デフォルトの名無しさん2009/11/15(日) 09:20:31
>>200
1.5にしたけどだめだった、すぐ閉じてしまう。Eclipseは3.4.2
MIDPのプラグインはデバッグもできるから、
Dojaのプラグインがおかしいと思うんだけど。
0202BookerTee ◆mLDG2detrc 2009/11/15(日) 12:35:45
過去スレ読んでいないんだが、iアプリを作ってみようと思う。

ちなみにJavaは先週初めてコーディングした。もちろん Hello,world だ。
あとは、ためしにランダムってどうやって出てくるのかがわかったぐらい。

iアプリもさっき、大格闘の末、「import com.nttdocomo.ui.*;」っていうのが必要なのが
わかってやっと Hello, world. が出せた。
参考書がないとつらいな。

そんなオイラが難しくなさそうで、作れそうなゲームっていったら昔風のパズルゲームだろう。
と、思い立ちフルーツフィールドっていうパズルゲームを移植してみたいと思う。
暇つぶし系で自分でクリアできていないゲームで携帯にするとよさそうなのって
こういうゲームじゃないか?

作っている過程を逐次アップしてみるので、勉強して見ようや。
0203BookerTee ◆mLDG2detrc 2009/11/15(日) 12:39:54
ちなみにフルーツフィールドっていうのは船橋高校の人が20年以上前につくったらしい。

ググっても著作者のページは見つからないけど、ハンドヘルドPCへの移植は見つかった。
なんか、Java版もあった。
http://www2.plala.or.jp/sone/fruitsfields/fruitsfields.html

これを作ってみようと思う。

オイラの使っているのはN904iとN705i。これで動くのでDoja-5.0で作る。
そんな機能は必要ないと思うけど。
0204デフォルトの名無しさん2009/11/15(日) 12:55:11
http://appget.com/im/pc/clist.htm
パズルはこんなにある。練習ならいいが、
パズルを作る技術を磨いてもあまり報われることはない。
それよりツール系でまだ少ないジャンルが狙い目。業務系PGならそのノウハウも生かせる。
0205デフォルトの名無しさん2009/11/15(日) 13:19:53
iアプリだと画面スクロールもいるから初めてにしてはめんどくさいような
240x240で完結するなら簡単にできるだろうけど
0206BookerTee ◆mLDG2detrc 2009/11/15(日) 13:25:15
参考書は「Java言語によるモバイル開発」って本買ってきた。
うちの近所のブックオフには参考になりそうな本がなく、普通の本屋で唯一使えそうな本かと思って買ってきた。
Javaのコーディングの本かってもよかったが、まぁ、なくても何とかなるだろ。
どっちかというと資料の少なそうな携帯アプリの本で。

と、思ったんだけど、amazonでの評価はひどいね。
バグだらけで、Dojaほとんど載ってないって。

たしかに後半はDojaのことは置いといてっていう雰囲気。



>>204
ま、練習っす。iアプリって作ったことないし、Javaも初めてだし。
仕事には今のところする気もないただの興味だから。
0207BookerTee ◆mLDG2detrc 2009/11/15(日) 13:31:32
ああ、でも FX をやっているので、メタトレーダやVTAPIと連携したモバイルトレーディングシステムは作ってみたいかも。
業者提供のツールは使いにくくって。
0208デフォルトの名無しさん2009/11/15(日) 17:21:27
>>201
iアプリは1.4だぞ

>>200
まじでどーしても起動しないことがよくあるんだよ。
俺がなったときはOSから入れ直してやっと起動した。
0209BookerTee ◆mLDG2detrc 2009/11/15(日) 23:45:26
さて。作る内容は決めたものの、元データがないとそもそも困るね。
ということで、ステージのデータを確認してみようと思ったが・・・。

なかなか見つからなかった。これは何とか見つけて、中身を解析。
ステージのサイズが横18x12で外側はすべて壁。
実ステージデータとしては壁の内側の16x10の範囲だけで、データは1バイトで2コマ分、
0:スペース、1:壁、2:下矢印、3:左矢印、4:右矢印、5:上矢印、6:フルーツ、7:自分?だと思う。

ここまでの解析(というか、データ探し)だけで4時間もかかっちゃったよ。
0210BookerTee ◆mLDG2detrc 2009/11/15(日) 23:47:08
データの構造はわかったので、今度はキャラクタの絵を描いてた。
ドット絵を描くのはつらい。


参考書によるとImageMapという機能を使えばRPGのフィールドっぽいのは簡単にできそう。
キャラクタを1枚絵で用意して、それに配列でデータ渡してあげると絵が表示されるって話なので
これを使えばいいのかなということでとりあえず描く。

これまた3時間ぐらいかけた。
0211BookerTee ◆mLDG2detrc 2009/11/15(日) 23:54:51
で、やっとコーディング。

イメージの表示と、ImageMapを使ってみた。
ImageMapのためのイメージが配列なのに最初気づかずエラーよくわかってなかった。

http://www.geocities.jp/can_you_digit_sukka/iApp/091115/FruitsFields091115.zip

肝心のコーディングはこれだけ。
0212デフォルトの名無しさん2009/11/16(月) 11:59:23
いや、ここ君の日記帳じゃないんで
情報が埋もれるだけだからマジ勘弁して
0213デフォルトの名無しさん2009/11/16(月) 12:07:14
もうろくな情報も無いけどな'`,、('∀`) '`,、
0214デフォルトの名無しさん2009/11/16(月) 12:47:54
eclipseでDoJaが動かないときのチェックポイント
・コンパイラ準拠レベルが1.4になっているか
・j2sdkのbinディレクトリにPATHを通してあるか

ほとんどの場合これで動くようになってる。
0215デフォルトの名無しさん2009/11/16(月) 13:38:43
新規情報は無い。ってのも重要な情報さ
0216BookerTee ◆mLDG2detrc 2009/11/16(月) 18:35:49
それもそやね。んじゃ。
0217デフォルトの名無しさん2009/11/16(月) 22:50:21
ここはお前の日記帳だ
どんどん書き込め
0218デフォルトの名無しさん2009/11/17(火) 09:20:51
つーか日記みたいな一言を提示したいなら、これがお勧めだな

twitter
ttp://www.greenspace.info/twitter/
0219デフォルトの名無しさん2009/11/17(火) 09:41:22
いや、ここ君の日記帳じゃないんで
情報が埋もれるだけだからマジ勘弁して
0220デフォルトの名無しさん2009/11/17(火) 10:28:30
twitter何の利益もない情報が検索上位に来て激しく鵜材
0221デフォルトの名無しさん2009/11/19(木) 18:36:52
逆コンパイルしてクラスファイルの中身見たいんだけど
com.nttdocomo.ui.Graphicsのやつ

jad使っても出てこない。
何か方法無いか?
0222デフォルトの名無しさん2009/11/19(木) 19:47:15
>>220
I think so.
0223デフォルトの名無しさん2009/11/19(木) 22:38:12
Graphics3Dのテクスチャは256x256までしか使えないの?
0224デフォルトの名無しさん2009/11/20(金) 23:43:05
iアプリでswingを使いたい
0225デフォルトの名無しさん2009/11/21(土) 11:38:32
903i以前の非メガアプリのユーザーの比率ってわかるサイトないかな?
あと、903iでもPだけ縦240だけど、もう切り捨てるべきじゃない?
携帯アプリがしょぼいと言われるのは240x240だからだろ
みんなで240x320で作っちまおうぜ
0226デフォルトの名無しさん2009/11/21(土) 12:21:06
>>225
アプゲに「ユーザ利用ブラウザ傾向」がありました。
アプリを求めてくるユーザ層だからそこそこ参考になるかと。
Starも含めると8割はメガアプリ対応機種みたいです。

さて,質問。
WinXPでデバッグ・開発してるとcurrentTimeMillisやsleepの精度が悪くて(15,6ms?)
ほどよくストレスが溜まってきますが,貴兄らはどうやって対処していますか?
0227デフォルトの名無しさん2009/11/21(土) 13:21:50
>>225
うざいw
0228デフォルトの名無しさん2009/11/21(土) 17:16:17
>>226
裏でJaneやWindows Media Playerを起動しておく
0229デフォルトの名無しさん2009/11/21(土) 19:04:27
WindowsLiveMessengerとかでもいいぞ<タイマー分解能補正
02302262009/11/21(土) 19:48:05
>>228-229
失礼しました。既にそれらは起動してますが,それでも15,6msになります。

環境はJDK1.6,Doja5.1です。
1.6がまずいのかな〜
0231デフォルトの名無しさん2009/11/23(月) 00:12:02
Buttonを3つ配置しましたが、方向キーでの移動がむちゃくちゃです。
A B C

と配置しているのですが、
Bがフォーカスを持っているときに右を押したらフォーカスがCへ
Bがフォーカスを持っているときに左を押したらフォーカスがAへ

と直感的になってほしいのですが、どうすればいいでしょうか?
Webをしらべてると、FocusManagerで行うらしいのですが、使い方がわかりません。
0232デフォルトの名無しさん2009/11/23(月) 02:58:20
Panel#setLayoutManager()にnullを指定するのを止めるか、
フォーカス順にボタンをadd()するか。
自作のFocusManagerは無意味(setできない)。
0233デフォルトの名無しさん2009/11/25(水) 20:58:29
画面の傾きや加速度を取得しようと
N06AでAccelerationSensorクラスのgetAccelerationSensor() を実行すると
UnsupportedOperationExceptionを返してきて対応していないようです
しかし、体感アプリのようなビールを注ぐアプリケーション等を実行して見ると動作します
一体原因はなんなのでしょうか?

対応状況を見ると体感アプリは○となっており、対応APIのバージョンはStar1.1となっています。
0234デフォルトの名無しさん2009/11/26(木) 00:50:53
「Star-1.x 各機種オプションAPI・拡張API実装状況」
を見ると、N06AのAccelerationSensorは×になってる。
その体感アプリ実行中にカメラを指で塞いで動かなくなったら、
RollReaderあたりで実装されてるのかも。
0235デフォルトの名無しさん2009/11/26(木) 01:56:14
キー操作だけをマルチスレッドに回したいのですが、
RunnableをimplementsしたクラスからprocessEventを
取得することは可能なのでしょうか?
APIはStar1.1です
0236デフォルトの名無しさん2009/11/26(木) 14:37:56
アプリで音声流したいんだけどmp3って再生できる?

0237デフォルトの名無しさん2009/11/26(木) 15:14:22
無理
0238デフォルトの名無しさん2009/11/26(木) 16:42:25
バグ?
string.splitがないだって!
02392362009/11/26(木) 17:15:23
通常だとどんな形式になるの?
0240デフォルトの名無しさん2009/11/26(木) 17:16:49
mld

mp3も再生できるかもしんないけど、
アプリ上から呼び出すプレイヤーで再生。
その間はアプリはサスペンド。
0241デフォルトの名無しさん2009/11/26(木) 18:00:17
>>238
バグってるのはおまいさんだ
CLDCのAPIリファレンスを読んで出直して来い
0242デフォルトの名無しさん2009/11/26(木) 18:02:36
>>234
なるほど、ありがとうございました
0243デフォルトの名無しさん2009/11/26(木) 23:47:15
色違いの敵はどうやって表示するの?
0244デフォルトの名無しさん2009/11/27(金) 02:56:34
PalettedImage
0245デフォルトの名無しさん2009/11/27(金) 05:57:05
>>244
サンクスです
0246デフォルトの名無しさん2009/11/27(金) 10:53:13
スクラッチパッドをファイルシステムみたいに使えるライブラリってないですか?
例えば最初の32byteをinodeとしてinode内にアドレス等の情報を保持するような感じのやつです
0247デフォルトの名無しさん2009/11/27(金) 17:18:28
ないよ
管理クラスを自作するしかない

はず
0248デフォルトの名無しさん2009/11/27(金) 19:16:15
管理クラスてやつを作ってくれませんか?
0249デフォルトの名無しさん2009/11/27(金) 19:27:35
ぐぐれば結構出てくるよ
0250デフォルトの名無しさん2009/11/27(金) 22:10:49
スクラッチパッド内にzip配置してJarInflaterすりゃいいじゃん
0251デフォルトの名無しさん2009/11/27(金) 23:04:30
JarInflaterは書き込みできるのか?
0252デフォルトの名無しさん2009/11/29(日) 00:24:27
SDカードとか内蔵メモリーにアクセスって出来る?
0253デフォルトの名無しさん2009/11/29(日) 01:46:24
SDはアプリが生成したファイルならば
内部は著作権保護がなければ
0254デフォルトの名無しさん2009/11/29(日) 21:29:40
>>253
うざい
0255デフォルトの名無しさん2009/11/30(月) 10:35:27
DojaでFeliCaのアドホック通信でアプリ作成しているんだけど
端末A,Bがあるとして、

クライアントA <−> サーバB で通信をしたあと、 続けて
サーバA <−> クライアントB として通信を開始しようとすると
クライアントBのFelica.open()でエラーがでる。

どうやら 一度サーバとして起動されたアプリは クライアントになれないっぽい

リファレンスみたら、「〜Exceptionが発生します」としかかれてなくて、これを解決する方法を探してるんだけど
現状は アプリの再起動しかない・・・(それだと使い勝手がわるすぎる

なにかいい方法ありませんか?
アプリ上で即時再起動・リセットかける方法とか

あとドコモに問い合わせとかできないんですかねー 軽く公式みたけど FAQしかない
0256デフォルトの名無しさん2009/11/30(月) 14:24:35
nai
0257デフォルトの名無しさん2009/11/30(月) 19:14:32
>>254
?
0258デフォルトの名無しさん2009/12/01(火) 09:13:57
>>255
ドコモにはなんどか問い合わせしてみたけど
DXアプリとかの契約がないと
何も答えられません、の一点張り
0259デフォルトの名無しさん2009/12/01(火) 21:08:34
最近アプリを作ろうと思い始めたのですが、TextBoxで文字の入力を求めているのに文字が入力されません。
センターの決定キーと左右のソフトキー以外利かず、十字キーも文字入力のキーも反応せず。
ソースはttp://homepage3.nifty.com/epg/iapp/21Component.htmのTxtPanel.javaとTxtsample1.javaを組み合わせたものです。
実行結果画面3でキーの入力画面に行くも関わらず、キーを入力しても反応しない(文字も表示されず、十字も反応しないのでカーソルも動かない)状態です。
Doja5.0+Eclipse3.1.2で作成しています。
0260デフォルトの名無しさん2009/12/01(火) 21:48:53
>>259
?
0261デフォルトの名無しさん2009/12/01(火) 21:59:11
>>259
TextBoxについてはわからないけど
なぜEclipse3.1?
最新版(Eclipse3.5.1)でも動くぞ。
0262デフォルトの名無しさん2009/12/01(火) 22:12:43
EclipseについてではなくTextBoxについて答えてほしいのですが・・・汗
0263デフォルトの名無しさん2009/12/01(火) 23:38:06
どういうアプリでどう動いて欲しいのかが分からん。
とりあえず、テキストボックスが1個しかないから、
カーソルはテキストボックスから動かない。

テキストボックスを選択→決定キーで編集モードになる
→文字編集→決定キーで抜ける
はできるの?
0264デフォルトの名無しさん2009/12/01(火) 23:42:23
エミュレーター上での話なら
端末ウィンドウのボタンを押しても入力されないみたいだけど
キーボードで文字を打つと入る。

Eclipseは古いの使ってもいいことなんか無いから新しいの入れたほうがいい。
3.1だとクイックフィックスとかの便利機能もまだない。
0265デフォルトの名無しさん2009/12/02(水) 00:43:22
>>261-264
ありがとうございます。
エミュ上で端末押しても動かないんですね。
Eclipseは昔ちょっとJavaを勉強していた時にいれたままだったので、このままでした。
0266デフォルトの名無しさん2009/12/02(水) 02:17:36
サウンド関係についての質問です。
MediaSound ms1 = MediaManager.getSound( data );
m_AudioPresenter.setSound( mc1 );
で設定したメディアサウンドの情報をnullにする方法ってありますか?

メモリー節約のためにメディアサウンドを使いまわしていて、
いらなくなったメディアサウンドを破棄するのに、
ms1.unuse(); ms1.dispose(); ms1=null; としてますが、
m_AudioPresenter.getMediaResource();
でms1のアドレスがゲットできてしまいます。
つまりずっと参照されたままの状態になっているようです。

しかもメディアサウンドは既にdisposeされてるので、
呼び出したところで "UIException: Media sound is not usable"
が発生してしまうだけです・・・。

m_AudioPresenter.setSound( null )
としたいところですが、この方法では例外が発生してできないんですよね・・・。
m_AudioPresenter自体も一旦nullにしてガベコレで回収しない限り無理なのでしょうか?
0267デフォルトの名無しさん2009/12/02(水) 02:40:29
やろうとしていることがおかしい
シングルトンでググれ
0268デフォルトの名無しさん2009/12/02(水) 16:32:53
画像のメモリについて教えてください。Star1.0です。
iアプリコンテンツ開発ガイドによると、たとえばgifを読み込む場合、
オリジナルデータ(gifそのもの?)と内部データ(RGB?)というのが作られる
ようなのですが、このあとオリジナルデータは要らないと思うのですが、
この分のメモリ開放とかできるのでしょうか?

MediaImage m = MediaManager.getImage("resource:///test.gif");
m.use();
Image img = m.getImage();

m.unuse(), m.dispose() とかするとやっぱりimgは使えなくなります。
imgをcloneして元を消すのもなんか無駄な処理ですよね・・・
0269デフォルトの名無しさん2009/12/02(水) 22:12:59
>>268
DojaやStarでは、MediaImageとImageはセットで持っておかないといけない。
何故そういう仕様にしたのかはわからないが、そういうことになってる。
0270デフォルトの名無しさん2009/12/02(水) 23:10:22
ImageはMediaImageのデータを参照してるだけじゃないの?
0271デフォルトの名無しさん2009/12/03(木) 00:21:14
>>269会話が苦手そう・・
0272デフォルトの名無しさん2009/12/03(木) 00:59:10
>>268
MediaResource#use(MediaResource overwritten, boolean useOnce)
じゃダメ?
02732682009/12/03(木) 10:54:41
>>269,270,272
ありがとうございます。

272さんのヒントからマニュアル調べたら

> 第 2 引数は、 このメディアイメージの利用 (use) が 「一度きり」であるかどうかを指定します。 「一度きり」であると指定した場合 (true を指定した場合 ) 、 use 完了と同時に、内部形式に変換される前のリソースを破棄します。

って思いっきり書いてありました・・読んでたはずなのに・・ごめんなさい。

とりあえずgif5つほど読んで試したところ、それっぽい値が出ました。
元のgifサイズ合計 11004
m.use(null, false)時 メモリ使用量 14644
m.use(null, true)時 メモリ使用量 3612
差分 11032

メモリ使用量は
long a;
System.gc();
a=Runtime.getRuntime().freeMemory();
画像読み
System.gc();
System.out.println(a-Runtime.getRuntime().freeMemory());
とやって調べました。絵はちゃんと表示されました。

差分がgifとほぼ同サイズなので、メモリは開放してくれたんだと思いますが、
内部データが3612ってのはおかしいような・・・はかり方が間違ってる可能性大

0274デフォルトの名無しさん2009/12/03(木) 12:15:18
>>258
亀だけどthx
■ このスレッドは過去ログ倉庫に格納されています