5ちゃんねる ★スマホ版★ ■掲示板に戻る■ 全部 1- 最新50  

■ このスレッドは過去ログ倉庫に格納されています

CLDC+MIDP+携帯電話用Javaスレッド part 2

1 ::03/12/08 13:49
J2ME CLDC+MIDPベースの携帯電話用Java(主にEZアプリ、Vアプリ)に関するスレッドです。
質問でも議論でも何でもこい、と。

前スレ:
携帯JAVAのスレッド
http://pc2.2ch.net/test/read.cgi/tech/1011977260/

--
Java一般に関しては:
【初心者】Java質問・相談スレ37【大歓迎】
http://pc2.2ch.net/test/read.cgi/tech/1070159693/

NTT DoCoMoのiモード携帯電話用Java(iアプリ)については:
iモード携帯電話用Java(iアプリ) Part 4
http://pc2.2ch.net/test/read.cgi/tech/1067139509/

>>2あたりにリンク集


273 :デフォルトの名無しさん:04/02/13 02:20
当方ezです。
http通信に関する詳しいmidpサンプルはないでしょうか。

やろうと考えていることは画像のダウンロードです。

一応探しては見て以下のサンプルは見つけたのですが
はじめて見る物ばかりで何をしているのか分からず困っています。

ttp://cgi.sinsen.org/midp/#d5
ttp://www.geocities.jp/morioka/computer/java/ezplus/lecture02.html

複数の画像を得るのに最低限必要なことを教えていただけないでしょうか。
テキストか何かの形で一気にダウンロードしてレコードストアに記録しておけばいいことは分かるのですが。

274 :デフォルトの名無しさん:04/02/13 10:39
269-272

レスありがとうございます。
やはりパレットPNGでも機種依存ですか・・・。
とりあえず、それらの機種は無視するか、
スプライト使う方向で考えてみます。


275 :デフォルトの名無しさん:04/02/13 18:18
ezアプリなんですが、WEBブラウザからダウンロード済みのアプリを起動することはできるんでしょうか?
iアプリの <A ista="#aaa" href="">起動</a> と同じ事なんですが。

276 :デフォルトの名無しさん:04/02/13 23:54
MIDP1.0で動くコンボボックスのクラスライブラリどこかにありませんか?
当方業務アプリつくってるんだけどコンボボックスないとかなり不便。

277 :デフォルトの名無しさん:04/02/14 01:48
>>276が昼休みに作ってフリーで公開すれば
みんな幸せに!

278 :デフォルトの名無しさん:04/02/14 04:22
>>276
ListをIMPLICITで動かせばComboBoxの選択画面のようなインターフェースを作れる。
でも、そんなListをFormのItemから呼び出してやるような方法は、なさそう。
GroupChoiceをIMPLICITでFormに追加してComboBoxのようにできれば、望みのようなことが出来るんだろうけど。

オレは、Stringを追加したIMPLICITなListから、
選択されたらさらにIMPLICITなListを表示して選ばせ、元のListに戻る、
てな感じで片づけちゃったけど。

DateFieldやTextFieldと混在させたいなら、がんがってItemからComboBoxを自作しる。


279 :デフォルトの名無しさん:04/02/14 05:53
canvasクラスのキー入力で使うフィールドで
「クリア」ボタンって、何を使えばいいでしょう?
ちなみにCanvas.KEY_CLEARは無かった。
今は実測値を使っていますが、格好悪いんで。
こんな感じ final int KEY_CLEAR= -2147483646;
Vアプリです。

280 :デフォルトの名無しさん:04/02/14 15:02
>>279
仕様上、0〜9、*、#、ソフトキー1〜3以外のボタンは未定義。
実際に使えるかどうかは別として。

281 :デフォルトの名無しさん:04/02/14 16:27
>>265
PhraseTracker、たま pause からの復帰に失敗することない?
P4、P5では正常に動作するのに、C4だけ一時停止の後、音が戻らないことがある。

何が原因で起こるかわからないんだけど、エミュレータ上でも起こるので
機種依存の動作じゃないみたいだし…。

startApp() だの pauseApp() だの中では何も特別なことはしてないし、
Vodafone側の主張によれば、自動で戻るはずなんだけど…。

仕方ないので、あらためて
startApp() 内でPhraseTracker#play()、
pauseApp()内でPhraseTracker#stop()を呼ぶようにして
無理やり回避できるのは確認したんだけど、これっておかしいよね?
これやっちゃうと、P4、P5でも最初から再生しなおしになっちゃうし。

不思議すぎる…。

282 :デフォルトの名無しさん:04/02/14 16:40
>>279
さんきゅ
やっぱりそうかぁ

Vアプリのエミュでは、メモとマナーボタンが無いので
カーソルキーの斜め下でそれぞれ代用してみた
皆はどうしてる?
それとも、Vアプリ固有実装は避けてる?

283 :276:04/02/17 00:25
>>278
ありがとう。

>オレは、Stringを追加したIMPLICITなListから、
>選択されたらさらにIMPLICITなListを表示して選ばせ、元のListに戻る、
>てな感じで片づけちゃったけど。

やっぱそれしかないよねー 
がんばって自作します。



284 :デフォルトの名無しさん:04/02/17 00:51
Vアプリって勝手サイトでは配布できないんですか?

285 :デフォルトの名無しさん:04/02/17 01:07
-2147483646 って 0x80000002 なのかね

286 :デフォルトの名無しさん:04/02/17 01:27
>>279
EZアプリでは 0 だったから割とスッキリだったけど
じゃあ if ( keyCode < 1 ) みたいなのどう?


287 :デフォルトの名無しさん:04/02/17 08:34
>>284
うわっ気がつかなかったよー
ある意味 -2 じゃん

288 :デフォルトの名無しさん:04/02/17 22:32
>>285
あってる
てか、負の2の補数は、絶対値のビットをすべて反転させてたものに1加えるって覚えとけ。

289 :デフォルトの名無しさん:04/02/18 01:13
AUって、png表示できる?

これが本題なのだが
J-phoneで動いてるアプリって、jblend.*とかj_phone.system.*を
全て排除すればAUでも動きますか?
でもって、ぶっちゃけ後は何すれば良い?

290 :デフォルトの名無しさん:04/02/18 01:29
>>289
>>289
CLDC+MIDPの範囲内では、基本的に同じ。
仕様を見比べてみると解るが、双方とも似たような拡張APIがあったりするので、
ものによっては、1日もかからずに移植&テストが終わったりすることもある。

291 :デフォルトの名無しさん:04/02/18 01:30
負の2の補数
( ´,_ゝ`)プッ

292 :デフォルトの名無しさん:04/02/18 03:44
>>289
むしろpngが主戦力でつ

293 :289:04/02/18 08:51
>>291
えっと、透過も平気ですか?

いま開発キット回りを見てきたけど、意外とまんどくせ
拡張子が謎だし
まぁ、ちこっと頑張って移植すれば、ユーザが2倍になるから
やってみるかな

294 :デフォルトの名無しさん:04/02/18 17:53
>>289
http://www.saturn.dti.ne.jp/~npaka/midp2/faq.html

クレームも2倍だから、ほどほどに頑張るべし

295 :デフォルトの名無しさん:04/02/19 10:56
Sun ONE Studio 4 update 1, Mobile Edition
でアプリ作っているんだけど、絵が読み込めないんだよね。
原因のわかる人いたら、教えてね。

296 ::04/02/19 11:55


297 :デフォルトの名無しさん:04/02/20 16:30
256KB P5型のエミュレータが公開されました。
http://www.dp.j-phone.com/dp/

298 :289:04/02/20 18:05
>>296
やっと、されたね!!
誰か使った人いる?
でもって、P4型エミュと一緒のPCにインストールしても
競合しないで使えるもん!?

299 :デフォルトの名無しさん :04/02/20 21:26
先日SUNのSCP-Jを取ったばかりの初心者なんですが
一度携帯のアプリを作ってみたいなと思って検索したりしたのですが、
ヒットしませんでした。
Vアプリを作るにあたって参考になるサイトがないのですが
どなたかご存知ないですか。
iアプリはある様なんですが。

なにぶん貧乏なのでネットで参考になるHPがあれば良いのですが・・・
よろしくお願いします。

300 :デフォルトの名無しさん:04/02/20 22:13
>>299
http://www.itmedia.co.jp/mobile/0203/08/n_j1.html
正直、いちからちゃんと説明したいいサイトがない。

301 :デフォルトの名無しさん:04/02/21 00:43
やっとP5エミュ公開か、おそすぎんだよまったく

302 :デフォルトの名無しさん:04/02/21 00:50
フォントサイズが指定できるようになってたり。

それより、サンプルコードが嬉しい。

303 :デフォルトの名無しさん:04/02/21 00:51
サンプルコード内にJad更新Ant Taskがあった。

304 :デフォルトの名無しさん:04/02/21 05:56
今から作ろうとは思うけど
SH53でPDA並に使えるPIMが欲しい

305 :デフォルトの名無しさん:04/02/21 09:56
299です。
>>300さん
レス、サンクスです。
サイトは無いですか。
実はこの本どうかなって思ってるんですがどうでしょうか。
「JBuilder MobileSet―携帯Javaアプリケーション開発ガイド」
ご存知の方おられますか?
iアプリならサイトもちらほら見かけるのになぁ…

306 :デフォルトの名無しさん:04/02/22 17:09
P5 キタ━━━━━━(゚∀゚)━━━━━━!!!!
出てる予感がしたからみたら本当にあった。。
>>301
まぁ遅いよな

307 :デフォルトの名無しさん:04/02/22 22:14
P5型のエミュが出たので早速StorageConnection 使ってみたんですが、上手くいかんです。
StorageConnectionからInputStreamを取得しようとすると

at com.jblend.security.jscl.SecurityManagerImpl.checkPermission(+67)
at com.jblend.io.j2me.storage.Protocol.openInputStream(+11)
と怒られます。なぜ?

308 :307:04/02/22 23:28
jad内に
MIDlet-Application-Security: Y
が必要だったようです。どうもすみません。

309 :デフォルトの名無しさん:04/02/23 10:19
SpriteCanvasに文字描くときって文字もスプライトデータで用意しなきゃだめ?


310 :デフォルトの名無しさん:04/02/23 13:49
ドキュメントを読めば解るが、仮想画面にはGraphicsクラスのメソッドで描画できる。
フレームバッファにはスプライト以外は描画できない。

311 :デフォルトの名無しさん:04/02/23 14:17
Vアプリって、スプライトと3Dって同時に使えないの?
これは、C4だけじゃなくて、P4でもダメ?


312 :デフォルトの名無しさん:04/02/23 17:07
>>311
だめです。

313 :デフォルトの名無しさん:04/02/24 00:56
けち〜

314 :デフォルトの名無しさん:04/02/24 13:28
質問させてください
V従量版のウィザードリィの表示文字ってなんであんなに小さいんでしょう?
サイズSMALLでもあんなに小さくならないですよね?

315 :デフォルトの名無しさん:04/02/24 13:54
>>314
スプライトデータに文字を用意してそれを表示してるから

316 :314:04/02/24 14:04
やっぱり・・面倒なことしてるなぁ
>>315
ありがとうございます

317 :デフォルトの名無しさん:04/02/25 01:56
>>305

>実はこの本どうかなって思ってるんですがどうでしょうか。
>「JBuilder MobileSet―携帯Javaアプリケーション開発ガイド」
>ご存知の方おられますか?

その本はわかりませんが
「Java2ME MIDP ゲームクリエーターズガイド」
http://www.amazon.co.jp/exec/obidos/ASIN/4774114707/ref=sr_aps_b_/250-6819675-5916216
という本はなかなかよいですゾ。

318 :デフォルトの名無しさん:04/02/25 22:38
「Javaの勢いは止められない」――Sun、モバイルJavaで一連の発表
http://www.itmedia.co.jp/news/articles/0402/24/news026.html

319 :デフォルトの名無しさん:04/02/25 22:40
305です。
>>317さん
レスありがとう。
一回本屋で探してみますね。
とにかく凝ったものが作りたいとかではなくて、
プログラミングを少し覚えたので何か作ってみたいと
思って携帯のアプリでもどうかなと思いまして。
Vアプリを自分で作ろうと思ったのですが中々良いサイトや
本が見つからなくて困ってたんです。

320 :デフォルトの名無しさん:04/02/25 23:17
>>319
Java自体も初心者?

321 :デフォルトの名無しさん:04/02/26 14:28
SH08で120x120で256のPNGが表示できないんだけど、
色数減らせば出るんだけど、サイズ制限とかなんかあるのですか?


322 :デフォルトの名無しさん:04/02/26 18:35
229です。
>>320さん
SCP-Jを取ったばかりの初心者です。

323 :デフォルトの名無しさん:04/02/26 19:52
javaの勉強自体は携帯に限らず探せば結構参考になるサイトが見つかるかも。

324 :299:04/02/26 20:23
そうですね。
でも何となく携帯アプリに興味が沸いてきて
作ってみたくなったので…

325 :デフォルトの名無しさん:04/02/26 21:24
>>322
SCP-J取れるくらいの予備知識があれば十分

326 :289:04/02/26 22:43
>>321
12kだか14kくらいが上限だと思う
あと、16色以下が出なかったような気がする

327 :デフォルトの名無しさん:04/02/27 13:07
>>326
なるほど、たしかに表示できるサイズはそれより小さかったです。
しかし、J-SH07のヒープの少なさはなんなんだろうか、
これじゃ、なんにも出来ないよ。


328 :デフォルトの名無しさん:04/02/27 18:38
>>324
そういう意味でなくて携帯用のmidpも基本は一緒だから勉強は普通のjavaでやってアプリ作れるよと。


329 :デフォルトの名無しさん:04/02/28 13:39
前スレの824さんが言ってた
Canvas上での長文の改行の仕方なんですが、ビルドがうまくいくのに、実行できません。
長い文を表示するときに、フォントの幅から表示できる一列の文字数を割り出して、
それをsubstring()を使って表示していくんですよね。
なんでうまくいかないの??


330 :329:04/02/28 22:09
解決しました

331 :デフォルトの名無しさん:04/02/29 01:53
>>330
こーゆー時は、解決法も書くべし

332 :デフォルトの名無しさん:04/02/29 15:32
ezアプリのソフトキーのラベルの変更ってどうすればいいんでしょうか?
if(mode == 1){
talkingCommand = new Command("決定", Command.SCREEN, 1);
menuCommand = new Command("MENU", Command.SCREEN, 2);
}else if(mode == 2){
talkingCommand = new Command("確認", Command.SCREEN, 1);
menuCommand = new Command("中止", Command.SCREEN, 2);
}
this.addCommand(menuCommand);
this.addCommand(execCommand);
とするとラベルがどんどん増えてしまうし、最初に
this.removeCommand(menuCommand);
this.removeCommand(execCommand);
とするとそこでとまってしまうのですが…

333 :デフォルトの名無しさん:04/02/29 15:32
ezアプリのソフトキーのラベルの変更ってどうすればいいんでしょうか?
if(mode == 1){
talkingCommand = new Command("決定", Command.SCREEN, 1);
menuCommand = new Command("MENU", Command.SCREEN, 2);
}else if(mode == 2){
talkingCommand = new Command("確認", Command.SCREEN, 1);
menuCommand = new Command("中止", Command.SCREEN, 2);
}
this.addCommand(menuCommand);
this.addCommand(execCommand);
とするとラベルがどんどん増えてしまうし、最初に
this.removeCommand(menuCommand);
this.removeCommand(execCommand);
とするとそこでとまってしまうのですが…

334 :332:04/02/29 15:43
連投な上にコマンド名違うし。。。
talkingCommandはexecCommandに脳内変換お願いします。

335 :デフォルトの名無しさん:04/02/29 17:29
>>332
毎回インスタンス生成するのは間違い。

CommandをMIDletやDisplayableのコンストラクタで生成して、インスタンスフィールドに保持しておく。
あとは、ソフトキーのラベルを変更したいときに、add/removeすれば良い。

336 :332:04/02/29 18:14
>>335
毎回インスタンスを作るなっていうのはわかるんですが、
Command.getLabelはあるけどsetLabelはないですよね?

↓考え方としてはこんな感じかな、と思うんですが…
if(mode == 1){
execCommand.setLabel("決定");
menuCommand.setLabel("MENU");
}else if(mode == 2){
execCommand.setLabel("確認");
menuCommand.setLabel("中止");
}
this.removeCommand(menuCommand);
this.removeCommand(execCommand);
this.addCommand(menuCommand);
this.addCommand(execCommand);

337 :デフォルトの名無しさん:04/02/29 19:17
>>333
execCommand1 = new Command("決定", Command.SCREEN, 1);
menuCommand1 = new Command("MENU", Command.SCREEN, 2);
execCommand2 = new Command("確認", Command.SCREEN, 1);
menuCommand2 = new Command("中止", Command.SCREEN, 2);

 :

this.removeCommand(execCommand1);
this.removeCommand(menuCommand1);
this.removeCommand(execCommand2);
this.removeCommand(menuCommand2);
if(mode == 1){
 this.addCommand(execCommand1);
 this.addCommand(menuCommand1);
}else if(mode == 2){
 this.addCommand(execCommand2);
 this.addCommand(menuCommand2);
}

こんな感じか
配列にしたり、上手いこと管理しないと破綻しそうだが
参照とか使えないのかな?(←良くわかってない)

338 :332:04/02/29 20:17
なるほど、って思ってやってみたけど
this.removeCommand(execCommand);
がそもそも通らない罠_| ̄|○
エミだけど例外がでません…

今のソースはこんな感じ。
長くなるんでmenuCommandは消しますた。
execCommand1 = new Command("決定", Command.SCREEN, 1);
execCommand2 = new Command("確認", Command.SCREEN, 1);
execCommand = execCommand1;

 :
try{
 System.out.println("--changeLabel");
 this.removeCommand(execCommand);
 System.out.println("remove command");
 if(mode == 1){
  execCommand = execCommand1;
 }else if(mode == 2){
  execCommand = execCommand2;
 }
 this.addCommand(execCommand);
 System.out.println("add command");
}catche(Exception e){
 System.out.println("ERR" + e);
}

339 :332:04/02/29 20:19
訂正:エミ→エミュ

で、実行すると--changeLabelが出力されたところでとまります。
例外はキャッチできません。

340 :332:04/02/29 21:51
どうやら毎回起こってるわけではなくて、
ソフトキーを押した瞬間に問題が起こってるみたいです。

で、だめもとで実機でテストしてみたらうまくいきました。

が、イマイチすっきりしないので、もう少し追ってみます。

341 :デフォルトの名無しさん:04/02/29 22:02
その処理は、commandAction()メソッドの中でやってるの?
それから、synchronized を使ってたりする?

たぶんだけど、デットロックが起きてるようにみえる。

342 :332:04/02/29 22:09
commandActionの外です。
自前のpaint関数で、modeに変化があったときに
上記の処理をしてました。

で、その自前のpaint関数はsynchronized使ってます。

343 :デフォルトの名無しさん:04/02/29 22:36
それって、関数にsynchronizedを付けてるか、Canvas(?)に対してsynchronizedを使ってません?
たぶん、synchronizedを外してみれば、ちゃんと動くと思う。

344 :332:04/02/29 22:47
自作描画関数についてたsynchronizedをはずして
public synchronized void myPaint(Graphics g)
から
public void myPaint(Graphics g)
にしてみましたが、症状変わらずです。

synchronizedの記述がここ1箇所だけなので、
canvasに対しては使ってないと思います。

というかsynchronizedがどういうものか把握していませんで…
不勉強ですみません。

345 :343:04/02/29 23:02
synchronizedは、複数のスレッド間で、同時に動いてはマズいコードを排他するものです。

ほかに synchronizedを使ってないとなると、止まってしまう原因が分からない。
ちなみに、その自前の描画関数は、Canvas#paint()から呼んでるんだよね?


346 :332:04/02/29 23:23
>ちなみに、その自前の描画関数は、Canvas#paint()から呼んでるんだよね?
そうです。

こちらでも追っているのですが、手詰まり気味で…
今手元にあるのがW11Hだけなので、
明日にでも他の端末でも試してみることにします。

347 :デフォルトの名無しさん:04/03/02 03:14
そもそも本当にデッドロックが問題なのか?ていう問題もあるし。
漏れとかはペイント側は完全に変数の解釈->描画だけに集中していて
ペイント側が実アプリ側には影響しないはずのドキュメントビュー構造を
徹底したにもかかわらず、どうも描画のリクエストが変なタイミングで
飛んできて絵が(たまに)壊れる等の理由で、結局
本体、描画コールバック双方を完全にSynchronizedした
同期型のプログラムで決着つけた。

機種依存の性か、音の出方に若干影響がでちゃったんだけど、
それはまあさておき。

基本的にペイント側は、元から出来上がってる情報を噛み砕いて
絵にする作業に徹してる限り(例えばペイント側が本体ルーチンに
参照される変数やオブジェの加工をするとかでない限り)、
デッドロックって起きようがないはずなんですよ。

こと、双方からsynchronized外して(挙動こそ変われど)デッドロック
状態を脱しないなら、スレッドが悪さしてる可能性を一度捨てて
コード全体を再検証したほうがいい。

時間が許すなら、各コンポネントの依存関係図とかも、ちゃんと書いた方がいいすよ。
ロックが起きる状況=アトミック(不可分な処理)の中でさらに他のコンポネントにチョッカイかけてるとか
アトミックと定義されてるオブジェクトの生成結果ではなく、途中の生成物に期待してる
オブジェがいるとか、その類なんだから。

348 :デフォルトの名無しさん:04/03/03 03:23
Canvas#paint() はそもそもsynchronizedだったと思う。

349 :343:04/03/03 10:32
>>347
多分デットドックかなと。>>338 で removeCommand() の前にある printlnが表示されて、
後にあるprintlnが表示されてないらしいので、removeCommandで動かなくなってる。

>>348
synchronizedしてる対象が問題で、synchronized自体が問題なのではない。


MIDPの仕様的には許されるはずだけど、
(いまは忙しいので後日)VMの動作を確認しておきます。


350 :デフォルトの名無しさん:04/03/04 16:28
VodafoneのV601SHの利用可能なオーディオデコーダ(オーディオトラック)
の数っていくつでしょうか?
まだエミュだけで開発してるもので。すみませんが。

351 :デフォルトの名無しさん:04/03/04 22:35
初期値の入った配列を作りたいのですが char[] table = {・・・}; とすると1文字ずつ
初期化するコードが出るため、Stringで代用することを考えました。
しかし、String table = "\u0001\u0002・・・・";といった感じで初期値を与えたいのですが、
一部の値(\u000aや\u0022等制御コード?)があると、コンパイルできません。
こういった値を含んだ場合、文字列として初期化するにはどうしたらいいでしょうか?

352 :デフォルトの名無しさん:04/03/05 01:45
>>350
MA3入ってる携帯は全部同じじゃないのかな?
40和音を信じるなら、10トラック持てる勘定だけど…。

漏れはC4でしか開発したことないので、よくわからんぽ。
実機持ってる神はいねーっすか。

353 :デフォルトの名無しさん:04/03/05 05:56
>>350
オーディオフレーズのこと?
だったらトラックは1つ。メロディフレーズは4つ使える。

で、質問。BGMを12和音(3トラック分)で再生したいのだが、
メロディフレーズを重ねて再生するとズレませんか?

354 :デフォルトの名無しさん:04/03/05 08:03
>>351
ググりなさい

\\, \n, \r, \", \t
(\u005c, \u000a, \u000d, \u0022, \u0009)


355 :デフォルトの名無しさん:04/03/05 12:44
>>353
AudioPhraseTrackはだめぽみたいだけど、
PhraseTrack使えば、4音ごとの同期再生はできるよ。
例えばこんな。


PhrasePlayer p = PhrasePlayer.getPlayer();
PhraseTrack pt = new PhraseTrack[p.getTrackCount()];

for(int i=0; pt.length>i; i++)
{
pt[i] = p.getTrack();

pt[i].setPhrase(4音区切りのPhrase);
pt[i].setVolume(PhraseTrack.DEFAULT_VOLUME);//お好みで。
}

//先頭のトラックに他のトラックを同期させる
for(int i=1; pt.length>i; i++)
pt[i].setSubjectTo(pt[0]);

//先頭を再生させると、先にsetSubjectTo()しといたトラックも同時に鳴り出す
pt[0].play();


pt[i]に設定するPhraseは、YAMAHAのSMAFツールでもって、4音刻みでspfを用意すれ。

356 :350:04/03/05 16:37
>>352 353
サンクス。オーディオは1個ですか。ちょっと残念。

357 :デフォルトの名無しさん:04/03/07 14:27
質問です。Vodafoneでアプリを作っていたところ、とある実機でエラーが起きました。
サーバーからbyte列を持ってきて、String型に収めて表示するものなのですが、
テスター曰く文字列が長過ぎるのでは?とのこと。

Vodafone実機の中で、String型の長さの限界がある機種ってありますでしょうか?

358 :デフォルトの名無しさん:04/03/07 16:47
>>357
あったんじゃないかなあ。
ちなみに、持ってきてるbyte数は?

HTTPConnection con = (HTTPConnection)Conncter.open("URL");
DataInputStream in = (DataInputStream)con.openInputStream();

byte b[] = new byte[(int)con.length()];
in.read(b);
String str = new String(b);

みたいなノリだとしたら、どこの何が例外だしてるかで
随分状況が変わってくるよ。
例外捕まえて表示するダイアログみたいなもの用意すれば
実機でも充分検証できるっすよ。

それと、T06、N04の端末固有バグについては調べた?
どっちも送信側の問題だけど、その結果受信がおかしくなるってのも
ありそうな話だしさ。

359 :デフォルトの名無しさん:04/03/07 21:40
V601SHなんですが、SDカードに保存した40KB以上の画像を
StorageConnectionで扱えますか?
どうもルートが「データフォルダ」という位置になっており、
それ以下は40KB以下のファイルしか使えないように制限がかかっているようですが。
何か回避方法ありませんか?

360 :デフォルトの名無しさん:04/03/08 21:44
Vodafoneで、PNG画像はIndex形式なら8bitも4bitも使用可能でしょうか?


361 :デフォルトの名無しさん:04/03/08 22:07
大丈夫だと思うよ。
ただ、PNGの展開には機種固有のバグが多いから、より詳しくはTips.pdfを
Vodafoneの開発ドキュメントサイトから落としてきて、よく読んどいた方がいい。

362 :357:04/03/09 09:53
>>358
アドバイスどうも。
原因はただのヒープオーバーでした。
文字列でオーバーするほど逼迫してたようです。

363 :デフォルトの名無しさん:04/03/09 15:53
>>362
ありがち(w
治ってよかったね。

364 :デフォルトの名無しさん:04/03/10 22:30
>>362
ヒープオーバーって、どーやって検出したの?
mallocみたいなのあるん?

365 :デフォルトの名無しさん:04/03/11 03:04
>>364
実際に問題になれば例外飛ぶし、
Runtime#freeMemory()から残りのヒープ量も取得できるよ。

366 :デフォルトの名無しさん:04/03/11 13:09
Vアプリで、実機にダウンロードしたアプリの名前を
日本語にする方法を教えてください。

jadファイルのMIDlet-NameをUTF-8にしたり、
ファイルをUTF-8にしたりしてみたのですが、うまくいきません。

367 :デフォルトの名無しさん:04/03/11 13:36
>>366
UTF-8にするので正解。
具体的にはMIDlet-NameがUTF-8になっていれば、
ちゃんとアプリ名でも2バイト文字は表示される。
ただ、16バイト=8文字が限界。
エミュレータが指摘してくれた気もするが、超えてしまってても
中途半端に通ってしまったような記憶もある。
いずれにせよ、規約は守らないと動作が保証されない。

何かの拍子で、化けた状態のファイルをさらに別のエンコードで
保存したとかでもって、文字列自体がぶっ壊れ状態になってるとかも、よくある話。
「最初からファイルをUTF-8で開いて」文字化けしてないか確認してみよう。

詳しくはVアプリ開発ガイドの概要編に載ってるJADファイルの項を読むべし。


それでも駄目なら、MIDlet-1 とかの左端の名前も日本語にすれ。
MIDletの構成が1個だけのアプリでも、こっちを見に行く端末が
ある様な気がして仕方ない。

368 :デフォルトの名無しさん:04/03/11 15:04
>>367
ありがとうございます。
漢字とカタカナはうまくいったのですが、ひらがなだけが駄目なようです。

369 :デフォルトの名無しさん:04/03/11 16:50
ひらがなも解決しました。

370 :デフォルトの名無しさん:04/03/13 01:41
沖**司って何者?タダのアフォ?

371 :デフォルトの名無しさん:04/03/13 02:10
沖田総司とMIDPって、何か相関があるのでしょうか。

372 :デフォルトの名無しさん:04/03/13 02:34
掃除してたら誰かが起きたんだろ

271 KB
■ このスレッドは過去ログ倉庫に格納されています

★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50

read.cgi ver 05.04.02 2018/11/22 Walang Kapalit ★
FOX ★ DSO(Dynamic Shared Object)