1 名前:デフォルトの名無しさん mailto:sage [04/08/06 22:21] J2ME CLDC+MIDPベースの携帯電話用Java(主にEZアプリ、Vアプリ)に関するスレッドです。 質問でも議論でも何でもこい、と。 前スレ: CLDC+MIDP+携帯電話用Javaスレッド part 2 pc5.2ch.net/test/read.cgi/tech/1070858996/ 過去スレ 携帯JAVAのスレッド pc2.2ch.net/test/read.cgi/tech/1011977260/ (DAT落ち) -- Java一般に関しては: 【初心者】Java質問・相談スレ51【大歓迎】 pc5.2ch.net/test/read.cgi/tech/1091770298/ NTT DoCoMoのiモード携帯電話用Java(iアプリ)については: iモード携帯電話用Java(iアプリ) Part 6 pc5.2ch.net/test/read.cgi/tech/1091286071/ >>2-5 あたりにリンク集
2 名前:デフォルトの名無しさん mailto:sage [04/08/06 22:22] 調べものはまずGoogleへ www.google.co.jp/ Java 2 Platform, Micro Edition (J2ME) java.sun.com/j2me/ Reference Documentation(仕様書やAPIリファレンス) java.sun.com/j2me/docs/ J2ME Wireless Toolkit java.sun.com/products/j2mewtoolkit/ EZアプリ技術情報 www.au.kddi.com/ezfactory/tec/spec/ezplus.html Vアプリ技術情報(Vodafone Developers Support Site) www.dp.j-phone.com/dp/
3 名前:デフォルトの名無しさん mailto:sage [04/08/06 23:43] >>1 乙。 AUのPhase3.0対応のエミュレーターまだ〜? まぁ、出ても激遅で使えんのでしょうが。
4 名前:デフォルトの名無しさん mailto:sage [04/08/07 00:13] >3 噂によると出ていることは出ているらしい。 ただ、Phase3.0自体こけたも同然の仕様なので、一般には配布されてないそうな。 あうと契約を結んだベンダーにはこっそり配布されるらしいが、 遅い早い以前に描画がメチャクチャでどーしよーもないとか……
5 名前:デフォルトの名無しさん mailto:sage [04/08/07 01:32] へぇ。あうJAVAは破綻ぎみか・・
6 名前:デフォルトの名無しさん mailto:sage [04/08/07 01:57] >>2 www.dp.j-phone.com/dp/ ↓ developers.vodafone.jp/dp/ Jぽんが残るのはUAくらいか。
7 名前:デフォルトの名無しさん mailto:sage [04/08/07 03:50] Ezアプリについてなんですが public SpriteImage(byte[] data) で指定するdataってどんなフォーマットなんでしょうか? ezアプリプログラミングガイドみても www.mascotcapsule.com/toolkit/kddi/ 2Dスプライとについてはここみろって書いてあるのに リンク先には3Dの情報しか見つからない
8 名前:デフォルトの名無しさん mailto:sage [04/08/07 04:03] >>1 にリンクされたJava総合スレッドは、重複スレッドのようなので、 こちらのほうをつかってください。 【初心者】Java質問・相談スレ51【大歓迎】 pc5.2ch.net/test/read.cgi/tech/1091666193/l50 Javaスレッドについては、案内用のwikiもあるので 次スレッドをたてるときのリンク先としては、こちらのほうがいいかもしれません。 www.wikiroom.com/java/ また、よろしかったら携帯用Java関連スレッドのテンプレなどにも、 どうぞ、このwikiをご利用ください。
9 名前:デフォルトの名無しさん mailto:sage [04/08/07 06:30] >>7 そのサイトの「MascotCapsuleツールの配布」→「Micro3D Tools (Win専用)フリー」→ 「マニュアル」欄の「2Dスプライト プログラミングガイド」をダウンロードすれば多分解決。
10 名前:デフォルトの名無しさん mailto:sage [04/08/07 12:42] >>6 そろそろUAからも消えるらしい・・・
11 名前:デフォルトの名無しさん mailto:sage [04/08/07 21:43] >>9 ありがとうございます Windows BMP なんですね
12 名前:6 mailto:sage [04/08/08 02:28] >>10 そうなのか。 なら、JSCLもVSCLになったり・・・・ヽ(`Д´)ノ ウワァン
13 名前:デフォルトの名無しさん [04/08/08 06:32] Vで質問です。 StorageConnectionを使って作ったInputStreamでInputStreamReaderを作るとなんか変です。 ちゃんと文字が読めません。(System.out.printlnすると□ばかりに化ける) 開きたいファイルをそのままjarに入れておいて、getResourceAsStreamから作ったInputStreamだとちゃんと読めます。 原因何かないでしょうか。JSCL1.2対応のエミュで実行しています。 StorageConnection conn = (StorageConnection)Connector.open( "file://"+textfile); InputStream in = conn.openInputStream(); //in=getClass().getResourceAsStream(filename)だと読める InputStreamReader reader = new InputStreamReader( in, "SJIS"); char[] buf = new char[8192]; reader.read(buf); System.out.println( new String(buf));
14 名前:デフォルトの名無しさん mailto:sage [04/08/08 09:00] textfileがパスを含んでないとして "file:///ms/"+textfile とやるんじゃない?
15 名前:13 mailto:sage [04/08/08 16:17] >>14 いや、パスが違うとかそういうレベルじゃないです・・・ InputStreamReader使わずにInputStreamから直接byteで読み込んでStringに変換するとうまくいってるわけです。 素直に、InputStreamReaderを回避するしかないんだろうか。。
16 名前:14 mailto:sage [04/08/08 16:53] >いや、パスが違うとかそういうレベルじゃないです・・・ だってtextfileやfilenameの文字列が具体的に書いてないから分からないじゃない。
17 名前:デフォルトの名無しさん mailto:sage [04/08/08 22:35] >>13 文字エンコーディングがおかしくなってそうだけど。 なんでだろ。 忘れてなけりゃ、あした調べとく。
18 名前:13 mailto:sage [04/08/08 23:32] >>17 元のテキストはShift_JISです。 getResourceAsStreamから読む場合やInputStreamからbyte読んでnew String(byte[],String)する場合は SJISコンバータで読めてます。 new InputStreamReader(InputStream)の方のコンストラクタ使ったりUTF-8コンバータにしたりもしてみたんですが やっぱダメでした。デフォルトのエンコーディング指定だとSJIS指定時と同じ感じに、UTF-8の場合は完全に化け化けな文字になりました。 InputStreamからbyteで読み込んで変換する方法でうまくいってるんで、とりあえずこっちで対処することにします。
19 名前:デフォルトの名無しさん mailto:sage [04/08/09 23:40] ダライアス難しいよなぁ。 easyでもきつい。 故意に死んで球かせぐ必要あり?
20 名前:デフォルトの名無しさん mailto:sage [04/08/10 00:00] ごめん、誤爆です誤爆w;Vodafoneのダライアスの話
21 名前:デフォルトの名無しさん [04/08/10 15:33] アプリゲットに開発者として登録しようと思うんですけど、 HelloWorldプログラムみたいな、明らかにふざけてるだろ、っていうプログラムは審査に引っかかりますか? あ、公開ではなくテスト領域の方へのうpです。
22 名前:デフォルトの名無しさん mailto:sage [04/08/10 15:55] テストには審査無いはずです。
23 名前:デフォルトの名無しさん mailto:sage [04/08/10 16:51] 審査っつぅか JADとJAR(MANIFEST)がマッチしてかつ必要な情報書き込まれてるか 機械的にチェックするだけなんで エローワールドでもハローC#でも通りまする。
24 名前:デフォルトの名無しさん mailto:sage [04/08/10 18:05] >>21 FTPで必要なファイルをアップロード →機械的なチェックのみ。 →作者宛にダウンロードのためのURLがメールで送られてくる。 これにかかる時間はだいたい30秒。
25 名前:17 mailto:sage [04/08/11 02:56] >>18 =13 おそくなってごめん。 StorageConnectionから生成したInputStreamで、InputStreamReaderを 生成すると、やはり文字エンコーディングがおかしくなってるね。 解決策は、InputStreamReaderを使わない。ってことになる。
26 名前:デフォルトの名無しさん [04/08/11 03:03] >>22-24 おお、サンキュです! 機械チェックだけだったんですね。早速登録してみます。
27 名前:13 mailto:sage [04/08/11 03:11] >>25 どうもありがとうございます。 やはり再現しましたか・・・ここはInputStreamからbyte読み込んで処理することにします。 余裕があれば実機でも試してみることにします。
28 名前:17 mailto:sage [04/08/11 03:37] >>27 試すまでもなく、実機も同じ動作になるよ。 だって、.....。 #守秘義務のため、これ以上は言えない。
29 名前:デフォルトの名無しさん [04/08/11 20:37] 携帯アプリの開発でソースレベルデバッグは出来ないんですかね?
30 名前:デフォルトの名無しさん mailto:sage [04/08/11 21:51] ふつうにできる
31 名前:デフォルトの名無しさん [04/08/12 04:28] Vアプリのスプライト処理で質問です。 以前、C4でACanvasを使ってゲームを作っていたのですが、 同様の手順でP5対応のアプリを作成したら、ものすごく遅くなりました。 P用にSpriteCanvasを使用するよう変更しても、遅いままです。 Sprite機能を使わず、drawImageで過去座標キャラを背景で消し、 書き直すという処理にしたら速度が出るようになりました。 一般にP5でのSprite処理は重い物なのでしょうか? それとも効果的な使い方があるのでしょうか?
32 名前:デフォルトの名無しさん [04/08/12 09:51] >>30 どうやってやるんですか? 探してもそれらしいものが見当たらないのですが。
33 名前:デフォルトの名無しさん mailto:sage [04/08/12 18:53] Vアプリの2Dスプライトって、任意の角度での回転や 拡大縮小はできるんでしょうか。 資料読んだところ、90度単位でしか回転できなさそうですが……。 ひょっとしてMicro3Dで板ポリ作って表示しなきゃいけないのでしょうか?
34 名前:デフォルトの名無しさん mailto:sage [04/08/12 21:56] >>33 90度単位の回転と左右反転のみだね。 拡大縮小もなさそう。 というか、8*8固定だし。
35 名前:33 mailto:sage [04/08/13 01:31] >34さん そのようですね。 ezplusのPhase3.0でならSplite2Dでできるようなんですけどねぇ。 ありがとうございます。
36 名前:デフォルトの名無しさん [04/08/13 18:18] KJX作成ツールでKDDIのサンプルソースそのままコンパイルすると CreateProcess: c:\jdk1.3.1\bin\javac -encoding SJIS -g:none -d C:\ezplusTools\Tools\CmdTool\project\HelloWorld\tmpclasses -bootclasspath c:\J2MEWTK\lib\midpapi.zip;c:\ezplusTools\Tools\KDDI-P\kddip.jar -classpath C:\ezplusTools\Tools\CmdTool\project\HelloWorld\tmpclasses C:\ezplusTools\Tools\CmdTool\project\HelloWorld\src\HelloWorld.java error=3 とか出てきてKJXが出来ないんですけれども理由がわかんないです。。。
37 名前:デフォルトの名無しさん mailto:sage [04/08/13 18:22] HelloWorld.javaのソース貼ってちょ。
38 名前:デフォルトの名無しさん mailto:sage [04/08/13 18:26] ああ、ごめん貼らなくていいや。そのままなのね。
39 名前:デフォルトの名無しさん mailto:sage [04/08/13 18:46] と思ったけどやっぱり貼ってちょ。
40 名前:デフォルトの名無しさん [04/08/13 18:47] 一応はりますね import javax.microedition.midlet.*; import javax.microedition.lcdui.*; public class HelloWorld extends MIDlet implements CommandListener{ Command exitCommand; Display display; public HelloWorld(){ display = Display.getDisplay(this); exitCommand = new Command("Exit",Command.SCREEN,2); } public void startApp(){ TextBox textbox = new TextBox("HelloWorld","Hello World!",256,0); textbox.addCommand(exitCommand); textbox.setCommandListener(this); display.setCurrent(textbox); } public void pauseApp(){} public void destroyApp(boolean unconditional){} public void commandAction(Command command,Displayable screen){ if(command==exitCommand){ destroyApp(false); notifyDestroyed(); } } }
41 名前:デフォルトの名無しさん [04/08/13 18:49] それとエラーの全文です compile start... c:\jdk1.3.1\bin\javac -encoding SJIS -g:none -d C:\ezplusTools\Tools\CmdTool\project\HelloWorld\tmpclasses -bootclasspath c:\J2MEWTK\lib\midpapi.zip;c:\ezplusTools\Tools\KDDI-P\kddip.jar -classpath C:\ezplusTools\Tools\CmdTool\project\HelloWorld\tmpclasses C:\ezplusTools\Tools\CmdTool\project\HelloWorld\src\HelloWorld.java build failed. exception:java.io.IOException: CreateProcess: c:\jdk1.3.1\bin\javac -encoding SJIS -g:none -d C:\ezplusTools\Tools\CmdTool\project\HelloWorld\tmpclasses -bootclasspath c:\J2MEWTK\lib\midpapi.zip;c:\ezplusTools\Tools\KDDI-P\kddip.jar -classpath C:\ezplusTools\Tools\CmdTool\project\HelloWorld\tmpclasses C:\ezplusTools\Tools\CmdTool\project\HelloWorld\src\HelloWorld.java error=3
42 名前:デフォルトの名無しさん mailto:sage [04/08/13 18:57] MIDPかなんかのパスがまちがっとる。 c:\J2MEWTK\lib\midpapi.zip ほんとにこんなもんあるけ?
43 名前:デフォルトの名無しさん [04/08/13 19:03] >>42 あります・・・ それを解凍して中身をみたら com java javax ってフォルダが入っていてその下にいろいろ入ってました。
44 名前:デフォルトの名無しさん mailto:sage [04/08/13 19:15] ほんとにjavaのバージョンは1.3.1だか?
45 名前:デフォルトの名無しさん [04/08/13 19:22] javaのバージョンが間違っていたので全部直しました。 全てのフォルダを確認しながら設定しました。 それでも動きません。。 javac path c:\j2sdk1.4.2_04\bin\javac jar path c:\j2sdk1.4.2_04\bin\jar preverifypath c:\WTK104\bin\preverify other after process path java -jar c:\ezplusTools\Tools\CmdTool\KJXArchiver.jar -c %PROJDIR%\bin\%PROJ%.jad %PROJDIR%\bin\%PROJ%.jar %PROJDIR%\bin\%PROJ%.kjx class path C:\WTK104\lib\midpapi.zip;c:\ezplusTools\Tools\KDDI-P\kddip.jar
46 名前:デフォルトの名無しさん mailto:sage [04/08/13 19:26] 今のエラーメッセージだしてみるとよか。 パス貼られても確かめようないぞなw
47 名前:デフォルトの名無しさん mailto:sage [04/08/13 19:28] あと、設定なおしたらKJXは再起動。反映しなかったりしる。
48 名前:デフォルトの名無しさん mailto:sage [04/08/13 19:31] なんていうのは嘘で。。。 プロジェクトの設定も直さないとダメぽ。
49 名前:デフォルトの名無しさん mailto:sage [04/08/13 19:41] あう開発のちうい点 @パスは間違えるな! Aプロジェクト名はエントリのクラス名にしとけ! B環境を直すときはデフォルトの環境だけでなくプロジェクトの環境も直せ! Cパスは間違えるなってば! できたべ?>>45
50 名前:デフォルトの名無しさん [04/08/13 19:41] 現在のエラーです プロジェクトは最初から作り直しました・・・・ compile start... c:\jdk1.3.1\bin\javac -encoding SJIS -g:none -d C:\ezplusTools\Tools\CmdTool\project\HelloWorld\tmpclasses -bootclasspath c:\J2MEWTK\lib\midpapi.zip;c:\ezplusTools\Tools\KDDI-P\kddip.jar -classpath C:\ezplusTools\Tools\CmdTool\project\HelloWorld\tmpclasses C:\ezplusTools\Tools\CmdTool\project\HelloWorld\src\HelloWorld.java build failed. exception:java.io.IOException: CreateProcess: c:\jdk1.3.1\bin\javac -encoding SJIS -g:none -d C:\ezplusTools\Tools\CmdTool\project\HelloWorld\tmpclasses -bootclasspath c:\J2MEWTK\lib\midpapi.zip;c:\ezplusTools\Tools\KDDI-P\kddip.jar -classpath C:\ezplusTools\Tools\CmdTool\project\HelloWorld\tmpclasses C:\ezplusTools\Tools\CmdTool\project\HelloWorld\src\HelloWorld.java error=3
51 名前:デフォルトの名無しさん mailto:sage [04/08/13 19:42] エラー時に1.3.1のディレクトリが表示されるちうことは デフォルトの環境は直したけどこのプロジェクトの環境は元のまま ちうことだべ。
52 名前:デフォルトの名無しさん mailto:sage [04/08/13 19:43] ほらな〜。
53 名前:デフォルトの名無しさん [04/08/13 19:47] プロジェクトの設定直しました・・・ すいません。でも動きません(ノД`)ノ KJXのコンソールに出力されたメッセージです。。。 C:\ezplusTools\Tools\CmdTool>c:\j2sdk1.4.2_04\bin\java -jar CmdTool.jar java.io.IOException: CreateProcess: c:\jdk1.3.1\bin\javac -encoding SJIS -g:none -d C:\ezplusTools\Tools\CmdTool\project\HelloWorld\tmpclasses -bootclasspath c: \J2MEWTK\lib\midpapi.zip;c:\ezplusTools\Tools\KDDI-P\kddip.jar -classpath C:\ezp lusTools\Tools\CmdTool\project\HelloWorld\tmpclasses C:\ezplusTools\Tools\CmdToo l\project\HelloWorld\src\HelloWorld.java error=3 at java.lang.Win32Process.create(Native Method) at java.lang.Win32Process.<init>(Win32Process.java:66) at java.lang.Runtime.execInternal(Native Method) at java.lang.Runtime.exec(Runtime.java:566) at java.lang.Runtime.exec(Runtime.java:428) at java.lang.Runtime.exec(Runtime.java:364) at java.lang.Runtime.exec(Runtime.java:326) at jp.co.aplix.micro.toolbar.model.Project.exec(../src/model/Project.jav a:322) at jp.co.aplix.micro.toolbar.model.Project.access$100(../src/model/Proje ct.java:13) at jp.co.aplix.micro.toolbar.model.Project$Builder.run(../src/model/Proj ect.java:373)
54 名前:デフォルトの名無しさん mailto:sage [04/08/13 19:47] めにうの <tool>のdefault env...が全体の環境、 <Project>のedit envがこのプロジェクトの環境だべさ。 もうちっとだ。ガンガレ
55 名前:デフォルトの名無しさん mailto:sage [04/08/13 19:48] ('A`)えー・・
56 名前:デフォルトの名無しさん mailto:sage [04/08/13 19:50] javacんとこ1.3.1て書いてあるジャン
57 名前:デフォルトの名無しさん [04/08/13 19:51] プロジェクト一回全部消して作り直したら動きました 大変ありがとうございました、助かりました!
58 名前:デフォルトの名無しさん mailto:sage [04/08/13 19:53] よかたね(○´ー`○)なっちもよろこんでるべさ
59 名前:デフォルトの名無しさん mailto:sage [04/08/13 22:49] >>3 ,4 Phase3エミュは一般にも一瞬だけ公開されましたよ。一般でも一部の人は持ってます。 確か携帯アプリ板でちょっとだけアップしてくれた人もいました。 エミュの速度はVodaのP5エミュと大差ありません。安定性はVodaのほうが上な気がします。 でも、KJX作成ツールからダブルクリックでエミュに行けるのが便利です。 遅いPCでやると画面の更新が変になって崩れます。
60 名前:デフォルトの名無しさん mailto:sage [04/08/15 06:41] Phase3の開発キットならここにあるぞ。 ttp://eseuta.mine.nu/
61 名前:デフォルトの名無しさん mailto:sage [04/08/15 13:35] おお、ほんとだ。何故こんな所に・・。
62 名前:名無しさん@Vim%Chalice mailto:sage [04/08/15 21:39] 大きな画像を読み込むとき読み込み完了前に データにアクセスしてNullPointerExceptionとなります。 読み込み完了まで待機したいのですがどうすればいいのでしょうか? au Phase2.5です。
63 名前:デフォルトの名無しさん mailto:sage [04/08/15 21:50] img1=null; img1に画像読み込み; while(img1==null){ }//空ならずっと何もしないで繰り返す どっかでこういうの見かけて、ずっと真似してるんだけど、これで効果あるのかな?
64 名前:デフォルトの名無しさん mailto:sage [04/08/15 22:16] >62 より堅い手を使うとすれば適当なオブジェクトでsynchronize掛けるとか。 まぁ、Phase2.5機なら、「読み込み中」「描画中」のフラグで管理しても 問題ないと思うが。
65 名前:デフォルトの名無しさん mailto:sage [04/08/15 22:52] createImageってブロックされるんとちゃう? それとも違う話かえ? >>62 の画像は ほったらかしてからアクセスすると見れる画像なわけかい? 読み込み自体失敗してないかい?
66 名前:デフォルトの名無しさん [04/08/16 16:25] mainclass.java、 subclass_1.java、 subclass_2.java と言うファイルがあってmainclass.javaでは public class mainclass extends MIDlet { public void startApp(){ subclass_1 s1 = new subclass_1(this); Display.getDisplay(this).setCurrent(s1); } public void pauseApp(){} public void destroyApp(boolean b){} } とやってsubclass_1を動かしています そしてsubclass_1からsubclass_2へ画面の制御を完全に移したくて subclass_1のコマンドアクションでCurrentに表示されるクラスを変えたいのですが public void commandAction(Command c,Displayable s){ if(c==next){ subclass_2 s2 = new subclass_2(this); Display.getDisplay(this).setCurrent(s2); } } とすると シンボルを解決できません。 シンボル: コンストラクタ MainMenu (Intro) 場所 : MainMenu の クラス MainMenu m = new MainMenu(this); javax.microedition.lcdui.Display の getDisplay(javax.microedition.midlet.MIDlet) は (subclass_1) に適用できません。 Display.getDisplay(this).setCurrent(s2); となってしまいs2のクラスを表示できません、どうすればいいんでしょうか・・・
67 名前:デフォルトの名無しさん mailto:sage [04/08/16 17:37] getDisplay(this)に何が入っているでしょうか、てことです。 mainclassで呼んだgetDisplay(this)のthisはmainclass、 subclass_1のコマンドアクションで呼ばれたgetDisplay(this)のthisは subclass_1が入っておる、と。 そりゃーJavacも悲鳴あげます。 mainclassを入れてあげて。
68 名前:デフォルトの名無しさん mailto:sage [04/08/16 17:42] というか、Javacの報告を無視してはイクナイです。
69 名前:デフォルトの名無しさん mailto:sage [04/08/16 17:49] ありがとうございます! えっとMIDPのインスタンスのappをthisに入れたら動きました subclass_2 s2 = new subclass_2(app); Display.getDisplay(app).setCurrent(s2); ちゃんとコンソールにでるjavacのメッセージを確認します。。。。 ありがとうございます!
70 名前:デフォルトの名無しさん mailto:sage [04/08/16 18:06] よかたね。なっち(○´ー`○)もよろこんでるべさ。
71 名前:デフォルトの名無しさん mailto:sage [04/08/16 19:09] 新しくPC買いたいんだが、オススメある? TVチューナー+アプリ作成しやすい奴。
72 名前:デフォルトの名無しさん mailto:sage [04/08/17 05:32] >>71 広いディスプレイと打ちやすいキーボードがあれば、 あとはソフトウェア次第なんでどうでもいい。 あ、メモリは1GBね。
73 名前:デフォルトの名無しさん [04/08/18 16:47] HttpConnection でネットに繋ごうとすると IOException例外が発生して 詳細メッセージはout of service とだけ出ます。 これって何がいけないんでしょうか? サンプルのソースでやってみてもどれも同じエラーが出てしまいます。 どなかた分かる方ご教授下さい。
74 名前:デフォルトの名無しさん mailto:sage [04/08/18 18:21] 環境かいてちょ
75 名前:デフォルトの名無しさん [04/08/18 19:55] Win2K, LAN接続 J2SE 1.4.2_04 JSCL 1.07.00 WTK 1.04 preverifyのみ利用 .jad ファイルのMIDlet-Network は Y になってます。
76 名前:デフォルトの名無しさん mailto:sage [04/08/18 21:34] うーん・・・ 何のサンプル? 公式と手持ちの本のconnectionまわりのサンプルを いくつかP5とc4のエミュで 試したけど失敗した例ないわ〜 公式マニュアル概要編によればout of serviceは ネットワークサービスに問題がある場合とあるから LAN環境とか串がどうとか、接続先とかそのあたりのことが問題なのでは と妄想したけど。 ちなみにJSCL 1.07.00って何型の端末用?
77 名前:デフォルトの名無しさん mailto:sage [04/08/19 00:54] >>76 知り合いから貰ったもので元々なんのサンプルかは分からないのですが 極めてシンプルなサンプルでただテキストフィールドに 入力されたURL(JPEG,PNGのファイルを指してる)に繋いで その画像ファイルを表示するだけのものです。 URLはlocalhost/1.png となってます。 なのでhttpサーバー起動してます。 試しにブラウザからこのURLにアクセスするときちんと表示されます。 LAN環境はWWWへはNATで繋いでいて ファイアーウォールは使わず串も通してないです。 >ちなみにJSCL 1.07.00って何型の端末用? P4型です、JavaDoc開いた時のブラウザのタイトルバー見たら 1.07.00 とあったので、あ、これかと思って書きました。
78 名前:デフォルトの名無しさん mailto:sage [04/08/19 01:15] >>77 HTMLタグを表示するだけのよくあるやつだけど、 Apach入れてテストしてみたが問題なく動く。 ほんとに動いた実績のあるサンプルなんかね〜? 抵抗なければサンプルまとめてアップしてほすぃ。 このへんとかに。 ttp://namihei.zone.ne.jp/cgi-bin/up/upload.cgi
79 名前:デフォルトの名無しさん mailto:sage [04/08/19 09:11] >>78 すいません、質問しておいてなんなのですが ちょっと諸事情あってアップは出来ないんです。 本当に特別な処理はなく HttpConnection hcon = null; hcon = ( HttpConnection )Connector.open( "localhost/1.png ", Connector.READ ); と普通にオープンしてByteArrayOutputStreamでバッファに書き込み Image.createImageでイメージを作成、表示してるだけなんです。 ただApachと聞いてちょっと思い当たる節があるのですが マニュアルのどこかにApach以外のサーバーとの接続保証はしない、 とあったような・・・ ちょっとApach試してみます、どうもです。
80 名前:デフォルトの名無しさん mailto:sage [04/08/19 10:13] >>73 エミュレータはプロキシを使用しない場合は通信したいサーバのIPとポートを JTProp.datのProxyとProxyPortに設定しておかないと通信できなかったような 気がしたけど、試してみましたか?
81 名前:デフォルトの名無しさん mailto:sage [04/08/19 15:04] ttp://namihei.zone.ne.jp/upup/up/18508.zip まぁこれあげといたから これが動くかまず試してみるべし。 動くなら環境には問題ない、と。
82 名前:デフォルトの名無しさん mailto:sage [04/08/19 15:47] 質問させてください。 tempIはInteger型。 byte[] b = (tempI.toString).getBytes; というコードで、 シンボルを解釈処理できません。 シンボル: 変数 toString 位置 : java.lang.Integer の クラス byte[] b = (tempI.toString).getBytes; ^ compile failed エラー 1 個 と、エラーが出てしまいます。 import javax.microedition.midlet.*; import javax.microedition.lcdui.*; import javax.microedition.rms.*; import java.lang.*; import java.util.*; を読み込んでいるのですが、なにか足りないものでもあるのでしょうか? コンパイルはezアプリ用のcmdToolを使ってます。
83 名前:デフォルトの名無しさん mailto:sage [04/08/19 15:52] >>82 プロパティじゃなくてメソッドだから byte[] b = (tempI.toString()).getBytes(); じゃなくて?
84 名前:82 mailto:sage [04/08/19 16:00] >>83 ありがとうございます。お陰様でできました。 多言語からJava乗り移ってきたけどつらいorz
85 名前:デフォルトの名無しさん [04/08/20 10:01] 携帯画像ファイルを取得して上にお絵かきして表示するアプリを作成しています。 vodafoneのC4、P4型(JSCL 1.0)でResourceOperatorで取得した画像データを Imageクラスに読み込む方法を知りませんか? MediaPlayerでは表示した上に描画できないようなので何か別の方法を知りませんか?
86 名前:デフォルトの名無しさん mailto:sage [04/08/21 04:38] >>85 ちょっと前にオレがjavadocを熟読した感じでは、たぶん無理。 StorageConnection使え。。 ん〜、でも今読んでみた限りは、 データフォルダ上のJPEGをImageに変換できないような気がする。。PNGならできると思う。 つーことで、JPEGデコーダ頼んだ。 Image->JPEG(data[])はImageEncoderで データフォルダ->JPEG/PNG(data[])はStorageConnectionで PNG(data[])->ImageはImage#createImageで ↑素人のオレがJavadoc眺めて想像しているだけで、ホントにできるかどうかは知らん。
87 名前:85 mailto:sage [04/08/21 09:43] >>86 StorageConnectionはJSCL1.2からなのでC4、P4型では使えないです。 データフォルダからデータを取得するのはResourceOperatorしか無さそうで、 ResourceOperatorのデータはMediaPlayerでしか扱え無さそう。 何か方法は無いでしょうか? ちなみにJSCL1.2でStorageConnectionを使えばデータフォルダのJPG、PNG のどちらでもImageに読み込めます。
88 名前:デフォルトの名無しさん mailto:sage [04/08/21 11:26] g.drawString("ぬるぽ",0,20,g.LEFT|g.BOTTOM);
89 名前:デフォルトの名無しさん mailto:sage [04/08/21 11:37] >>87 方法は無い。 JSCL 1.0 の時代には、そのようなことは想定されていなかった。
90 名前:デフォルトの名無しさん mailto:sage [04/08/21 11:38] ちなみに、方法がないのは著作権保護の理由があって、 保護されているファイルを読み取って送信するとか、そういう用途に使えないようにするため。
91 名前:デフォルトの名無しさん mailto:sage [04/08/21 13:29] >>88 g.drawString("ガッ",0,40,g.LEFT|g.BOTTOM); >>89 画像データの上に描画して表示したいだけだったら、MediaPlayerのpaintをオーバーライド すれば実現できないのかな?
92 名前:デフォルトの名無しさん mailto:sage [04/08/21 16:00] 俺もちょびっと調べてみたけど どうもC4・P4ではできそうにない。 それに近いことをしてるアプリって存在するのだろうか。
93 名前:デフォルトの名無しさん mailto:sage [04/08/21 16:18] >>91 javadoc見たけどC4型のMediaPlayerはCanvasからの派生ではないので無理。 P4型はできるかもしれない…
94 名前:デフォルトの名無しさん mailto:sage [04/08/21 16:32] 以下のようなコードは ネットワーク上のファイルに書き込みだよね? うまく書き込めないんんだけど なぜかわかる人いる? 環境は MIDP1.x系全般のエミュ、 ローカルサーバで実行して レスポンスコードは200 hc = (HttpConnection)Connector.open("localhost/test.log "); os = c.openOutputStream(); os.write(data); os.close(); res = hc.getResponseCode(); hc.close();
95 名前:デフォルトの名無しさん mailto:sage [04/08/21 17:28] そんなんでネットワーク上のファイルに書きこめたら ((((;゚Д゚))))ガクガクブルブル
96 名前:デフォルトの名無しさん mailto:sage [04/08/21 17:36] え、違うのか!?www ごめんよかったら教えてちょ
97 名前:デフォルトの名無しさん mailto:sage [04/08/21 17:49] >>96 サーバーにHTTPリクエストを送ってるんでしょ? 「ネットワーク上のファイルに書き込み」は サーバー側の仕事。
98 名前:デフォルトの名無しさん mailto:sage [04/08/21 17:58] あああ、なんとなく納得。
99 名前:86 mailto:sage [04/08/22 06:14] WebDAVなら直接書いたりできるんだろうか。。 まぁオレには関係ないか・・ >>87 ちょいと裏技になるんだが、 ACanvas(SpriteCanvas)でのフレームバッファの転送は、 ACnavas(SpriteCanvas)が画面として設定されていないときにもできる。 つまり、com.j_phone.media.MediaPlayerを画面に設定しつつ、 裏でflush(drawFrameBuffer)とかすれば重ねて表示できる。 まぁ表示したところで、表示後ごにょごびょしたものをImageなりbyteなりで取得できないんで、 >85 の目的のお絵かき用には使えないと思う。
100 名前:デフォルトの名無しさん mailto:sage [04/08/23 01:42] SH53で 20x20のチップ敷き詰めてループまわすと FPS10で限界チック。 早くするために君ならどうする?
101 名前:デフォルトの名無しさん mailto:sage [04/08/23 03:21] 処理速度の速い端末が出るのを待つ
102 名前:デフォルトの名無しさん mailto:sage [04/08/23 03:59] SpriteCanvas使ったらはやくなるもんかい?
103 名前:デフォルトの名無しさん mailto:sage [04/08/23 12:43] >>100 チップをでかくする。
104 名前:デフォルトの名無しさん mailto:sage [04/08/23 19:32] /***001.java public class 001 extends MIDlet { static MIDlet current; /** コンストラクタ */ public 001() { current=this; main canvas=new main(); Form form=new TextFieldForm(); Display.getDisplay(this).setCurrent(canvas); Thread thread=new Thread(canvas); thread.start(); } /***main.java class main extends Canvas implements CommandListener, Runnable { public void commandAction(Command c,Displayable s) { if (c==soft2) { Display.getDisplay(this).setCurrent( from ); repaint(); } } }
105 名前:デフォルトの名無しさん mailto:sage [04/08/23 19:33] /***TextFieldForm.java /** テキストフィールド(フォーム) */ class TextFieldForm extends Form implements CommandListener { public void commandAction(Command c,Displayable s) { if (c==soft2) { Display.getDisplay(this).setCurrent(canvas); repaint(); } } } でmainからTextFieldFormへの切り替えはできたのだがその逆ができない・・ 教えてエロイ人!
106 名前:デフォルトの名無しさん mailto:sage [04/08/23 20:46] >>105 TextFieldFormクラスの Display.getDisplay(this).setCurrent(canvas); のcanvasってどっから来るのさ。
107 名前:デフォルトの名無しさん mailto:sage [04/08/23 23:16] >>106 書き換え忘れです・・・。 そこの部分をなんと書けばいいのだろうか・・・
108 名前:デフォルトの名無しさん mailto:sage [04/08/24 00:36] 何か所か出てくるDisplay.getDisplay(this).setCurrent(…); のthisがそれぞれ何を指しているか考えれば誤りに気付くと思う。
109 名前:デフォルトの名無しさん mailto:sage [04/08/24 01:40] >>108 Display.getDisplay(001.current).setCurrent(form); Display.getDisplay(001.current).setCurrent(canvas); にしたところ、thisのところのエラーは無くなったけど setCurrentのところが分からない・・・
110 名前:デフォルトの名無しさん mailto:sage [04/08/24 02:09] オブジェクト指向が理解できていない様子。 formとcanvasのインスタンスはどのクラスが保持しているのか考えてみて。
111 名前:デフォルトの名無しさん mailto:sage [04/08/24 02:39] >>109 基本的なJavaの決まりごとをおさらいするのも必要だと思うよ。 よくわからないまま動いても応用きかないから つまづいてばかりでかえって遠回りかも。 あわてずにガンガッテ。 となっち(○´ー`○)さんがおっしゃっています。。。
112 名前:デフォルトの名無しさん [04/08/24 10:42] vodafoneのVSCL2.0ではStorageConnectionは無いのでしょうか? せっかくJSCL1.2で携帯内部データが使えるようになったのに VSCL2.0からは使えなくなってしまうのでしょうか?
113 名前:デフォルトの名無しさん [04/08/24 18:58] MIDPのhttp接続について質問させてください。最初にソースです。finallの処理は省略してますy public String setHTTPConnection( String service, String dat, int len ) { String url = "localhost/test/test.php&dat= "; HttpConnection con = null; InputStream in = null; try{ con = (HttpConnection)Connector.open(url,Connector.READ,true); con.setRequestMethod(HttpConnection.GET); in = con.openInputStream(); int length = (int)con.getLength(); if(length<0) { ByteArrayOutputStream _o = new ByteArrayOutputStream(); byte[] buf = new byte[len]; int t = 0; while((t=in.read(buf))!=-1){ _o.write(buf,0,t); } _o.close(); str = new String(_o.toByteArray()); }else{ byte[] buf = new byte[length]; in.read(buf); str = new String(buf); } } catch(Exception e){} return str; }
114 名前:デフォルトの名無しさん [04/08/24 19:02] >>113 の関数にURLを渡して サーバーのphpで処理をして返り値を取る関数を作りたいのですが httpに接続が全く出来ません。。。 ADFのOtherKeyWordには MIDlet-X-AllowURL-1: localhost/test/ と設定してあります。 どなたか有効な対処法ご存知でしたらお願いします。
115 名前:デフォルトの名無しさん [04/08/24 20:04] DB系のプログラムって具体的にどういったものでしょうか。
116 名前:113 [04/08/24 20:06] 調べてみたところ con = (HttpConnection)Connector.open(url, Connector.READ, true); の時点で java.lang.NullPointerException が帰ってきてしまいます。 サンプルどおりに作ったんですけども・・・
117 名前:デフォルトの名無しさん mailto:sage [04/08/24 22:17] >115 まずその「DB」が何の略語かはっきりさせれ。 脊髄反射で「データベース」の略語と思いそうだが いくらなんでもJDBCドライバ同梱してDBとやりとりするようなアプリを 携帯向けに作るとは思えんし。つーかJ2MEで使えるのかJDBC。
118 名前:デフォルトの名無しさん mailto:sage [04/08/24 22:25] |つーかJ2MEで使えるのかJDBC。 CDCなら聞いたことあるが、CLDCはしらんな。
119 名前:104 mailto:sage [04/08/25 00:48] Form form; main canvas; を追加したらコンパイル出来たのだが切り替わらない・・・。 うーむよく分からない・・・・ 誰か教えてくれぇー・・・・
120 名前:デフォルトの名無しさん mailto:sage [04/08/25 02:40] >>104 なっち(○´〜`○)は あなたのためになるのか悩みながらも >>104 のソースに手をいれました。 ソースは長いので 切り替え処理と関わりのない部分をはぶき、 ラウンジに貼り付けました。 自分のソースとの違いを 他の人がしてくれたレスを見ながら 考えてみてください・・・ ソースに自分なりにコメントをつけたりすると 理解の役にたちます。 ガンガレ。超ガンガレ。 ttp://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1064150088&res=206
121 名前:M [04/08/25 15:26] public class test extends MIDlet { public static MIDlet mid; public test(){ Display.getDisplay(this).setCurrent(new TestCanvas("0")); } class TestCanvas extends Canvas implements Runnable, CommandListener{ public TestCanvas(String pt){ mt_Select = pt; } TestCanvas a1 = new TestCanvas("1"); Display.getDisplay(test.mid).setCurrent(a1); } 細かい処理は削らしてもらいましたけど、 今、a1 への表示切替で困っています。 Display.getDisplay(test.mid).setCurrent(a1); が悪いのは何となくわかってるのですが、 どのように書けば良いかわかりません。 どなたかヘルプお願いします。 同じようなネタあったけど...(汗) エラーは... Uncaught exception java/lang/NullPointerException at com.jblend.display.DisplayManager.getDisplay(+13) at javax.microedition.lcdui.Display.getDisplay(+4) destroy Old Emulator.... By M
122 名前:デフォルトの名無しさん mailto:sage [04/08/25 16:41] class TestCanvas …{ }
123 名前:デフォルトの名無しさん mailto:sage [04/08/25 16:46] 122は書き途中で送信しちゃったミス >>121 class TestCanvas extends …{ … TestCanvas a1 = new TestCanvas(…); } クラス定義の中で自分自身を生成しちゃってるのがダメ。 a1はTestCanvasクラスの定義の外でnewして引数で渡すなり何なりして。
124 名前:104 mailto:sage [04/08/25 17:54] 皆様のおかけで無事動くようになりました! 特になっち(○´ー`○)さんアリガト!(´▽`)
125 名前:デフォルトの名無しさん mailto:sage [04/08/25 18:14] >121 test.midにtestのインスタンスをセットする文が見あたらないが ここへカキコするときに省略しただけ?
126 名前:デフォルトの名無しさん mailto:sage [04/08/25 21:55] g.drawString("ぬるぽ",0,20,g.LEFT|g.BOTTOM); って書いてもガッされないのは仕様ですか??
127 名前:デフォルトの名無しさん mailto:sage [04/08/25 21:58] >126 >88-91
128 名前:デフォルトの名無しさん mailto:sage [04/08/25 23:18] (○´д`○)ウーム・・ Javaの入門書とか読まないで MIDPはじめちゃうものなのかしら。
129 名前:M [04/08/26 18:37] public class test extends MIDlet { public static MIDlet mid; public static TestCanvas sc1; public test(){ SetCanvas sc1 = new SetCanvas("1"); mid = this; Display.getDisplay(this).setCurrent(new TestCanvas("0")); } } class TestCanvas extends Canvas implements Runnable, CommandListener{ public TestCanvas(String pt){ mt_Select = pt; } Display.getDisplay(test.mid).setCurrent(test.sc1); } 変更かけてみたんですけど、やっぱりうまくいかないようで... ご教授をお願いします...m(._ .)m by M
130 名前:デフォルトの名無しさん mailto:sage [04/08/26 19:12] >>129 厳しいこと言うけど、現時点の知識でソースをいじくり回しても無駄でしょう。 先にJavaの基本的な文法や構文の書き方を修得してください。 変数の有効範囲とかが理解できてないようだから、仮に今の問題を解決 してもらってもこの先何度もつまずくと思う。
131 名前:デフォルトの名無しさん mailto:sage [04/08/26 19:31] >>129 急がば回れ。 まずはJavaの基礎からだ! がんばれ
132 名前:104 mailto:sage [04/08/26 20:08] たびたびすみません。 /*main.java*/ static int test=0; /*TextFieldForm.java*/ textField=new TextField("Test",main.test,150,TextField.URL); のとき、main.testの値を変えてもテキストフィールドに反映されません。。 テキストフィールドを更新?するにはどうやったらいいのでしょぅか?
133 名前:デフォルトの名無しさん mailto:sage [04/08/26 20:32] よくわからんがset〜ってメソッドがあるんじゃないの? APIリファレンスを熟読してくれ
134 名前:デフォルトの名無しさん mailto:sage [04/08/26 20:53] staticで宣言してるからじゃないの?
135 名前:デフォルトの名無しさん mailto:sage [04/08/26 21:32] パッケージ java.net は存在しません。 import java.net.*; と言われたが 携帯のjavaにはjava.net.URLEncoder ってないのか? 無いのならURLエンコードする方法はないのか??
136 名前:デフォルトの名無しさん mailto:sage [04/08/26 22:23] あうだとcom.jblendあたりにURLエンコーダがあった希ガス。 KDDIプロファイルのAPI docをご覧あれ。
137 名前:デフォルトの名無しさん mailto:sage [04/08/26 22:36] Javaの基礎を飛ばしてMIDPをはじめるのは別にいい。 ただ、そこから出てくる困難を俺らに押し付けるのはハッキリ言って迷惑。 困ってる人は助けてあげたいけど、何ていうか努力の跡が見えん。 実際に、1時間ぐらい分かりやすい説明考えて教えてやっても 五分くらいで「できました!でも次は〜が・・」みたいな奴がいる。 しかもその五分を「いろいろやってみたけど」とか言いやがる。 相手の時間より自分の時間を大事にするような奴は最低だと思うが・・。 >>104 まず、TextField( String , int , int , int ) はおかしくねーか? とりあえず textField.setString( "NEW_TEXT"); とかやってみ。 >>129 104で、ものすごい近い事やってるとか思わなかったか?
138 名前:デフォルトの名無しさん mailto:sage [04/08/27 01:20] ボダホンだと com.j_phone.io.URLEncoder これかのぅ
139 名前:デフォルトの名無しさん mailto:sage [04/08/28 00:19] VアプリがMIDP2.0準拠の1M容量になるという話。 ちょっとITmediaの妄想入ってるのかも。 hobby6.2ch.net/test/read.cgi/appli/1093130008/294 なっち(○´ー`○)デシタ
140 名前:デフォルトの名無しさん mailto:sage [04/08/28 00:43] >>139 > JSCLはオプション扱いとなるため >112 の話とつながったか。 つまり、JSCLはいったん全部葬り去られる可能性大か。んで、MIDP2.0へと。
141 名前:デフォルトの名無しさん mailto:sage [04/08/28 01:08] ドコモもMIDP2.0にして欲しいな
142 名前:デフォルトの名無しさん mailto:sage [04/08/28 03:57] 最近Vアプリの開発をやり始めましたが、 Vアプリエミュレータ(P5)を直接起動する方法が 分かりづらくて結構手こずってしまった・・・。 とりあえず 「emulator.exe -classpath ○○.jar -Xdescriptor:○○.jad」 で直接起動できる事は分かりましたが、 これで起動すると、アプリで描画する領域が Vアプリエミュレータの携帯ディスプレイ領域 からはみ出してしまいます。(エミュレータ側の Displayサイズ設定が変わってしまうから?) 何かいい解決策はないでしょうか?
143 名前:なっち(○´ー`○) mailto:sage [04/08/28 03:59] MIDP2.0のリファレンス見てたんだけど 3D関係はないのかな? 結局は国内外の各キャリアが それぞれ独自にAPI追加したんじゃ 国際標準の迫力にかけるねぇ
144 名前:なっち(○´ー`○) mailto:sage [04/08/28 06:34] >>142 emulatorは起動されたディレクトリに 参照できるmachine.profileが存在しない場合に デフォルトの設定で起動されるみたいなので こんなバッチファイルで起動するのはどうでしょか・・ [run.bat] copy C:\V-appli_SDK_121\bin\machine.profile C:\V-appli_SDK_121\bin\emulator.exe -Xdescriptor:test.jad 正当な手段は>>146 が教えてくれる見込みです。
145 名前:デフォルトの名無しさん [04/08/28 11:24] >>144 情報サンクス! 少し邪道な手段ですが、machine.profileを あらかじめemulatorを起動するディレクトリに コピペして解決しました。
146 名前:デフォルトの名無しさん mailto:sage [04/08/28 12:54] >>143 Mobile 3D Graphics API for J2ME がオプション規格としてあるそうな。 J2ME Wireless Toolkit 2.2を落としてみるといろいろデモが入っているよ。
147 名前:なっち(○´ー`○) mailto:sage [04/08/28 14:36] >>146 お〜・・・・そうなのね さっそく落として見ます
148 名前:デフォルトの名無しさん [04/08/28 15:23] Vアプリのエミュレータ起動すると、 起動時のフラッシュ(っていうのかな?タイトルロゴみたいな) が「最前面」で表示されるのどうにかならないですかね。 起動が遅いんで、その間ブラウザを見ようとしても「最前面」にしつこく出てきて、 しかもキーのフォーカスも奪っていくものだから、起動完了するまで待たされる罠。 OS:Windows2000 JDK:J2SDK 1.4.2_05 エミュレータ:P5型の最新 オレだけかな、この現象?
149 名前:なっち(○´ー`○) mailto:sage [04/08/28 16:06] >>148 WinXP、AthlonXP 2200+(1.80GHz)、256MB RAM環境だと スプラッシュウィンドウの表示は1秒未満だから気にならないみたい。 >>142 のまねっこするか、パソコン買い換え・・ >>146 Mobile 3D Graphicsのサンプル見てみました。 エミュで見る限りは重い感じだけど オプションも導入すれば 大抵のことはMIDP2.0で出来ちゃうってことだね〜
150 名前:デフォルトの名無しさん mailto:sage [04/08/28 17:13] >>148 スプラッシュウィンドウってそういうもの(それが当たり前)だから放っておくしかない。 起動が遅いアプリ(Vエミュに限らず一般的に)が、起動完了まで画面に何も出ないと ユーザーは「あれ?起動してるのかな?固まってるのかな?」と不安になるので、 ただいま起動中ですよ、の印代わりに1枚絵の画面を出しておく。 そしてアプリ本体が起動すれば消える。 これがスプラッシュ(ぱしゃっと水がはねる→現れてすぐ消えるの意味)ウィンドウの役目。 アプリの作りでスプラッシュウィンドウからフォーカス外せたり最前面から後ろへ回せたり できないようにしてあるなら、ユーザーはどうしようもない。
151 名前:デフォルトの名無しさん mailto:sage [04/08/28 21:40] >>149-150 スプラッシュウインドウでしたねw やはりどうしようも無いんですねぇ--; 我慢します。ありがとうございました。
152 名前:デフォルトの名無しさん mailto:sage [04/08/29 02:39] >>139 その記事は妄想ではないですよ。 アプリは国内外問わずに流通されるようになる。のかなぁ。
153 名前:デフォルトの名無しさん mailto:sage [04/08/29 16:55] >>139 ただ、ライブラリがMIDP準拠のとか、 Vオリジナルとか出来ちゃって動作検証で泣くカモ知れない。 1Mアプリやるからには定額制導入するだろうケドも、 テスト面倒と思われ。
154 名前:なっち(○´ー`○) mailto:sage [04/08/29 18:00] キャリア・端末でマチマチになっちゃうと 国際標準である意味が曖昧になるよね。 完全準拠であうとがんばってくれたら 市場活性化すると思うんだけど。 あうはどうなんだっけ、Javaとは決別の方向性なのかな。
155 名前:デフォルトの名無しさん mailto:sage [04/08/29 19:02] ttp://www.itmedia.co.jp/mobile/articles/0408/27/news015.html にあるような JSRが導入されれば、互換性もある程度は保証されるかも。 でも、今年でる端末に互換性を求めるのは難しいかも...。
156 名前:デフォルトの名無しさん mailto:sage [04/08/29 19:41] auはJAVA捨て。今売られてるもの以降は出ない。 アプリ目的でキャリア換えする人は少ないから、BREWがよっぽどこけない限り、 JAVAを積極的にやろうとは思わないはず。 BREWにして困るのはCPだけだし。
157 名前:なっち(○´ー`○) mailto:sage [04/08/29 23:58] なるほど。ということは、 docomoはDojaで制約がないので好きにできる。 auはBREWでパフォーマンスを追及できる。 VodafoneはMIDP2.0とJSRで自らに足かせ。 ・・・ん?
158 名前:155 mailto:sage [04/08/30 02:01] 足かせ じゃなくて、コンテンツの流通市場が広がる。 と好意的に解釈しなくちゃ。 同じアプリを世界中にバラまけるようになるはずだし...。
159 名前:デフォルトの名無しさん [04/08/30 20:40] HttpConnection con = null; con = (HttpConnection)Connector.open(url); この時点で例外が投げられるってのはどういう場合に考えられますか。 ADFの設定の MIDlet-Network: Y MIDlet-X-AllowURL-1: localhost/ は書いてあります。 ブラウザでURLにアクセスするとちゃんと見れます
160 名前:デフォルトの名無しさん mailto:sage [04/08/30 21:59] >>159 例外の内容を書かないのはなぜ?
161 名前:デフォルトの名無しさん [04/08/30 22:02] すいませんでした、エラーの内容を書きます。 catch(Exception e){ System.out.println("HTTP接続に失敗しました"); System.out.println(e); HTTP接続に失敗しました java.lang.SecurityException: access denied
162 名前:デフォルトの名無しさん [04/08/30 22:15] >>160 例外の内容を書いたのに答えが無いのはなぜ?
163 名前:デフォルトの名無しさん [04/08/30 22:27] それが分からないから質問してるんですけども
164 名前:デフォルトの名無しさん [04/08/30 22:33] access denied って言われたって ブラウザから全く同じアドレスで確認できる ADF設定は上に書いたとおりに行っている その上でエラーになるので質問をしているんです。
165 名前:デフォルトの名無しさん mailto:sage [04/08/30 22:51] MIDlet-X-AllowURL-1: localhost/ この意味判ってる? MLでも聞いてるみたいだが‥
166 名前:なっち(○´ー`○) mailto:sage [04/08/31 00:36] 質問者本人のレスかわからないけど 例外を教えてやったんだから 答えろって態度はおかしくないかい? 実行環境すら書いてないし。 例外が java.lang.SecurityException: access denied とわかっていれば、 この場合はezplusエミュで MIDlet-X-AllowURL-1属性とマッチしないホストへ 接続を試みているのではないか、 早い話、接続先のURLがおかしいのではないか、 なんて見当もつけられるけど。
167 名前:デフォルトの名無しさん mailto:sage [04/08/31 00:50] 質問者は端末(エミュレータ)がauなのかvなのか、それとも他のMIDP端末なのか、 auならPhaseいくつか、vならC4型かP4型かP5型かとか書かないと 回答者も困ると思うんだが。 >>159 を見てもそれがわからん。 >MIDlet-Network: …これはvでは書くがauでは書かないもの。 >MIDlet-X-AllowURL-1: …これはauでは書くがvでは書かないもの。 と俺は認識してるんだが、回答できる人はこれを見て何の端末か分かるもんなの?
168 名前:なっち(○´ー`○) mailto:sage [04/08/31 01:47] >>167 >>159 だけだとエミュとしか。 定義されてない属性をつけてはいけないわけではないから WTKすらありえるし。 >>161 の情報があればこの場合に限っては 接続先がlocalhostなので普通に考えたら ローカルサーバを接続先にしたエミュ。 Vの場合MIDlet-Network: Y が設定されてない場合に、 auの場合MIDlet-X-AllowURL-n: で指定されていないホストの場合に、 SecurityExceptionを吐き、前者は指定済みなので後者の可能性が高い。 auが通信に対応したのがPhase2以降とどこかに書いてあったので、、、 結論:多分phase2以降のezplus Emulatorじゃないかなぁ? とかかなんとか推理はできるけど、 無駄な過程だし回答が不正確で遅くなるだけと思いますわん
169 名前:デフォルトの名無しさん mailto:sage [04/08/31 02:02] JavaHzで同じような時間帯にそっくりの質問がソース付きで投稿されてる 同じ香具師かどうかはわからんが >>166 多分正解 >>168 ezplusらしい。ナイス勘
170 名前:167 mailto:sage [04/08/31 04:06] >>168 さんきゅ。そういう推理の仕方、俺も参考にしてみる。
171 名前:159 [04/08/31 10:22] お騒がせしました。 通信の方はなんとかなりました。 大変ご迷惑をかけたことをお詫びします 実行環境はphase2のezplus Emulatorです・・
172 名前:159 mailto:sage [04/08/31 10:44] 原因は tool→default envのotherkeywordだけしか設定してなかったためです project→edit envの設定したら動きました。。。
173 名前:なっち(○´ー`○) mailto:sage [04/08/31 16:44] ezplusの設定はまぎらわしいからねぇ。 とりあえずよかったね。
174 名前:デフォルトの名無しさん mailto:sage [04/08/31 21:18] なんか、質問のためのテンプレでも用意しなきゃいけないような話題が続くとイヤだな。
175 名前:デフォルトの名無しさん mailto:sage [04/08/31 22:19] うお、MIDPリファレンスの日本語版を 紹介しているサイトが存在したのか・・・。 ないものだとあきらめてからマジで嬉しい。
176 名前:なっち(○´ー`○) mailto:sage [04/08/31 22:44] >>175 さかきけいさんが書いてるやつ?
177 名前:デフォルトの名無しさん mailto:sage [04/08/31 23:29] >>176 うん、そう。 J2SEとVodafoneの日本語版リファレンスは 持ってたけど、MIDPのは持ってなかったから ゲットできてよかったあるよ(○´ー`○)
178 名前:デフォルトの名無しさん mailto:sage [04/08/31 23:38] そこの機種別スペック表も重宝するよね。 ありがたいことです。
179 名前:なっち(○´ー`○) mailto:sage [04/09/01 00:03] 急になくなったりしたらピンチなのです。。。 せっかく話題に出たので 有名かつ既出とは思うけどリンク張っとくね 日本語によるMID ProfileのAPIリファレンス ttp://godwood.allnet.ne.jp/vioret/midpapi/
180 名前:デフォルトの名無しさん mailto:sage [04/09/01 00:26] >>なっち wgetとかでローカルに保存しとけばイイ
181 名前:なっち(○´ー`○) mailto:sage [04/09/01 01:08] んーそうだねぇ。そうしようかな。
182 名前:デフォルトの名無しさん mailto:sage [04/09/01 14:53] 902SHがJATE通過したね。 MIDP2.0に乗り換えるかな。
183 名前:デフォルトの名無しさん mailto:sage [04/09/01 21:00] www.eclipse.org/org/press-release/aug302004ercpcb.html 携帯電話/PDA向けのJava環境に関して、MotorolaとNokiaがSunを 無視してIBMにすりよるらしい。しかし携帯でRCPするってことは SWTだけじゃなくてJFaceまで動かすつもりなんだろうか。
184 名前:デフォルトの名無しさん mailto:sage [04/09/01 22:56] まぁ、モトローラもノキアもVoda向け3G端末出してくる訳だが。
185 名前:デフォルトの名無しさん [04/09/02 16:06] 質問です ezplusの2.0でアプリを作っているのですが aクラス→bクラス→cクラス ↑ ↑ ここで再生している音楽を調整したい ここで音楽を再生 この場合aクラスからbに移るときはMIDlet本体ごと渡しているのでカレントも完全に移動しています cクラスからaクラスで再生した音を操作したい場合はどうすればいいのでしょうか たとえば再生を停止したり、ボリュームを調節したり
186 名前:デフォルトの名無しさん [04/09/02 16:18] やっぱり全てのクラスにMediaPlayerBoxのインスタンスをわたさなきゃダメでしょうか
187 名前:デフォルトの名無しさん mailto:sage [04/09/02 20:12] >>185 >この場合aクラスからbに移るときはMIDlet本体ごと渡しているのでカレントも完全に移動しています 説明がまるで意味不明なんだがMediaPlayerBoxのインスタンス(mとする)を オブジェクトa,b,cからいじりたいってことか? だったらa,b,cでmの参照を保持するのが妥当だろう。(多分>>186 で言ってること) a,b,c,mを包含するオブジェクトxを用意してそこで制御するって案もある。 ていうか別にこのスレ向きの質問でもないような気が。
188 名前:なっち(○´ー`○) mailto:sage [04/09/02 20:24] >>186 インスタンスを渡せない複雑な家庭の事情でもありまっするか? 操作するためには、なんらかの形でインスタンスを渡す必要は あるんではないですかね。 コンストラクタが長くなって嫌だというのであれば ○専用のデータ保持クラスを用意して渡したいものはまとめて渡す ○abcがDisplayableで 必ずMIDletのインスタンスを渡しているというような設計なら MIDletの中でMediaPlayerBoxを宣言・生成してやる。 ○専用の初期化メソッドで渡す。 ○staticでなんとかかんとかする。 というとこですかねぇ 結局は渡すわけですけど。 ひねってあまり珍妙なことをすると実機でトラブルかも。
189 名前:デフォルトの名無しさん [04/09/02 20:40] >175 英語版見てから日本語版見たほうがいいよ。日本語版は情報が欠落しているから。
190 名前:デフォルトの名無しさん [04/09/02 20:58] EZアプリ(java)で、赤外線通信はできますか? プログラミングガイドで見つけれなかったけど、バンドルアプリで赤外線リモコンやってるみたいなんで。 できるときは、どこに資料がありますか? 同様に、VodafoneのVアプリで赤外線通信できますか?
191 名前:190 mailto:sage [04/09/02 22:02] Vアプリの方は、すぐ資料がみつかりました。
192 名前:デフォルトの名無しさん [04/09/02 23:12] さっきまで動いていたアプリがバージョンアップした途端に起動すると ezplusを続行できません となって起動できません ソースを元に戻して再アップしてみたのですがそれでも動きませんでした
193 名前:デフォルトの名無しさん mailto:sage [04/09/02 23:32] という大変な話があったとさ。 とっぴんぱらりのぷぅ。
194 名前:デフォルトの名無しさん mailto:sage [04/09/03 00:22] >>190 そもそもEZアプリ(Java)が使える機種の中に 赤外線通信機能を持った機種がない。
195 名前:デフォルトの名無しさん mailto:sage [04/09/03 01:05] ワロタ
196 名前:デフォルトの名無しさん mailto:sage [04/09/03 10:56] >>194 スレ違いになりますが、BREWアプリだとできますか?
197 名前:デフォルトの名無しさん [04/09/03 13:37] 知的障害者がいるスレはここですか
198 名前:デフォルトの名無しさん mailto:sage [04/09/03 13:46] >>197 のこと?
199 名前:デフォルトの名無しさん mailto:sage [04/09/03 16:13] >>196 スレ違いって分かってるなら面倒でもそっちのスレへ行って。 ttp://pc5.2ch.net/test/read.cgi/tech/1076511398/
200 名前:デフォルトの名無しさん mailto:sage [04/09/03 16:16] >>199 すでにそっちでも質問してるんですが・・・
201 名前:デフォルトの名無しさん mailto:sage [04/09/03 18:15] >>200 あっちで質問していればここで聞いてもいいってもんじゃないだろ
202 名前:デフォルトの名無しさん mailto:sage [04/09/03 18:42] >>200 単なるマルチポストかよ。
203 名前:デフォルトの名無しさん mailto:sage [04/09/03 22:09] >>186-188 話それちゃうけど、 オレの場合は、すべてのインスタンスへの参照を記憶する専用のクラス(インスタンス)を作って、 そいつへの参照を全員が知ってる、っていう形で適当に仕上げちゃうことがあるなぁ。 勝手に操作されちゃ困るほどの規模のアプリ組んだことがないからこそなせる技ではあるけど。
204 名前:なっち(○´ー`○) mailto:sage [04/09/03 23:19] >>203 共通して参照するデータをまとめて扱うのって むしろ定跡なんじゃないかなぁ。 ゲームのプログラムとか読んでると ポコポコそういう構造体でてくるでそ。 メモリとかサイズ節約できるなんて副作用もありえるし MIDPでは積極的にやった方がいいのかなってチラっと思いましたワ。
205 名前:デフォルトの名無しさん mailto:sage [04/09/03 23:22] 3個以上のクラスを作る余裕のある藻前らがうらやますぃです。
206 名前:なっち(○´ー`○) mailto:sage [04/09/03 23:37] オシゴト ゴクロウサマデス・・・
207 名前:203 mailto:sage [04/09/03 23:40] オナヂク ゴクロウサマドス 某ビューア5クラスドス
208 名前:なっち(○´ー`○) mailto:sage [04/09/03 23:51] 本音を言うと仕事で携帯アプリ作れる人がうらやましいです。 MIDletとCanvasだけで我慢するので誰か雇ってください。
209 名前:デフォルトの名無しさん mailto:sage [04/09/04 00:07] なんでプロの人はオブジェクト指向したらいけないの?
210 名前:デフォルトの名無しさん mailto:sage [04/09/04 01:06] >>209 そんな容量の余裕はありません。 あと、クラスを定義しないからオブジェクト指向ではない、というわけでもありません。
211 名前:デフォルトの名無しさん mailto:sage [04/09/04 02:06] なるほど。
212 名前:デフォルトの名無しさん mailto:sage [04/09/04 03:47] ちょっと待って。 仕事でやってる人誰もが容量で苦しんでるわけじゃない。そこら辺勘違いしないで。 iアプリの30KB制限のやつでもクラス3つ4つ定義してたりする。 結局作るものによる。(それを言っちゃぁおしめーか)
213 名前:デフォルトの名無しさん mailto:sage [04/09/04 11:16] 容量との戦いは1Mアプリになっても続くのだろうか(;´Д`)ハァハァ
214 名前:203 mailto:sage [04/09/04 18:30] ちょっと想像したんだが、 状態変数やらフラグやらが山盛りあって、 状態をそこら中でチェックしまくりで、 しかも変数名が2文字とか、 そんな世界なんだろうか。。。 keyPressedの中身が5重ifとかで、 「横に長いディスプレイほすぃ」とか・・・ 変数名が10文字から2文字に変わったとしても、 ちっさなpngファイル1つで埋まっちゃう。 ゲームアプリは、しょせん グラフィックデザイナ>>>(越えられない壁)>>>プログラマ とか。
215 名前:205 mailto:sage [04/09/04 18:39] 変数名の長さ切りつめは流石に…… そこを削りたければProGuardとかオブファスケータ 噛ませればいいだけだから気にしてないでつ。 メソッドを手動インライン展開するのも可能な限り最後の手。 でも、 >状態変数やらフラグやらが山盛りあって、 >状態をそこら中でチェックしまくりで、 これはそのたうりです、はい。漏れがヘボなだけってこともありえるがOTL > keyPressedの中身が5重ifとかで、 これはキープレス・キーリリースのイベントハンドラでは それこそビットフラグ立て下ろしするだけにして、 必要なときにフラグ見て処理、で何とか片付けてますた。
216 名前:デフォルトの名無しさん mailto:sage [04/09/04 21:32] スレッドの数に制限ってあるの?
217 名前:デフォルトの名無しさん mailto:sage [04/09/04 22:09] >>215 メソッドのインライン展開などは、Eclipseにやらせなさい グラフィックデザイナっていうか、ドッターも、圧縮のこと考えて点打つ必要あり。 メモリ割り当てに関しては、プログラマの方が発言権が強いし。 ようするにゲームアプリ・ビジネスアプリ関係なく 金出す人・旗振り役 >>>(越えられない壁) >>>>しもじもの手動かす人
218 名前:なっち(○´ー`○) mailto:sage [04/09/04 23:31] >>215 キー入力の話なんだけど すぺて押下状態チェックで済ませてるの? つまり、いついかなる状況でもキーを離すと フラグが倒れて、押していると立っている感じ? 自前リピートチェックというか。 あんまり上手に説明できないけど。
219 名前:デフォルトの名無しさん mailto:sage [04/09/05 00:10] >>218 > いついかなる状況でも んなわけないだろ。
220 名前:デフォルトの名無しさん mailto:sage [04/09/05 00:11] >218 実は前任者のソース使い回しだからあんまし理解できてないんだけどw Pressのときは「押された」フラグを上げる。そのとき「押し離し」フラグは下げる。 Releaseのとき、「押された」フラグを下げて、「押し離し」フラグを上げる。 で、実際にキーの状態で処理を分けるときは、 ・押したor押しっぱなし -> 「押された」フラグを見る ・押したけど押しっぱなしではない -> 「押し離し」フラグを見る てな感じですた。あと、「離し押し」フラグとかもあったけど使わなかったので忘れた(爆) あ、RepeatはPCのキーと一緒で最初のPressのワンテンポ後に発生するので 「押しっぱなし」の判定には使えないっす。
221 名前:なっち(○´ー`○) mailto:sage [04/09/05 00:38] >>220 ああ〜「押し離し」は離したときに反映されるわけだね。 やっぱりリピートタイミング制御できない以上 みんなだいたい同じような処理してるのかな。 キーイベントとポーリングの折衷式というか。
222 名前:デフォルトの名無しさん [04/09/05 23:04] 最近Vodafone(P5型)のVアプリ作り始めて、 やっとJPEG画像(データフォルダ内)を 表示するところまで作れました。JAVA自体 触るの初めてなので、ここまで作るのにかなり 時間を使ってしまった・・・。しかしJPEG画像は 表示されたのですが、QVGAサイズの画像を 表示させると、もろに携帯ディスプレイから画像が はみ出してしまいます。 Imageファイルを携帯のディスプレイサイズで表示 する簡単な方法はないでしょうか?
223 名前:なっち(○´ー`○) mailto:sage [04/09/05 23:19] >>222 jadに MIDlet-Application-Range: 0,0 記述してますかいな?
224 名前:222 mailto:sage [04/09/05 23:34] >>223 はい、記述しています。 というかこれ、エミュレータ側のDisplaySize設定が 240×260の場合なら、画面いっぱいにQVGA画像が 表示されるということですか? しかしどちらにせよ、「MIDlet-Application-Range: 0,0」 を記述していても、記述していなくても見た目変わらない ように見えるのですが。
225 名前:デフォルトの名無しさん mailto:sage [04/09/05 23:39] >>224 > MIIDlet-Application-Range: 0,0 の記述は確かに、エミュには関係しないな。実端末で影響する。 いわゆるQVGAサイズとは240*320(W*H)のこと。 画面サイズは240*260なので、はみ出して当然。 Javaから扱える画面はQVGAマックスではないので注意。
226 名前:222 mailto:sage [04/09/05 23:45] >>225 エミュでは「MIIDlet-Application-Range: 0,0」の 記述は関係しないのですか。謎は全て解けました。 Javaから扱える画面はQVGAマックスではないのは もちろん知っていましたが。 情報ありがとうございました。
227 名前:デフォルトの名無しさん [04/09/06 17:58] ezplus からブラウザの起動ってどうやるんですか phase2.1 です
228 名前:デフォルトの名無しさん mailto:sage [04/09/06 19:23] アプリ自体を停止しないでスレッドの停止って出来たっけ? たとえば app1からthread1 thread2を開始させる そしてthread2を停止してthread3を開始。 みたいな。
229 名前:なっち(○´ー`○) mailto:sage [04/09/06 22:08] >>228 run()を抜けた状態が安全な停止にあたるので 実装したrun()の最後で 次のスレッドを開始すればいいんでないですかね。 CLDC/MIDPにstopに類するメソッドは定義されていないと思う。 ついでにスレッド違いでゴンス。 参考 ttp://www.gimlay.org/~javafaq/S019.html#S019-P6
230 名前:デフォルトの名無しさん mailto:sage [04/09/06 22:26] >>228 オレも、他のスレッドを直接停止させることはできない、ってどっかで見たような気がする。 thread2は常時自分が生きるための権利を表すフラグをチェックしつつで、 app1がthread2を生かすためのフラグを下げて、 てな感じで対処すればいいと思う。
231 名前:デフォルトの名無しさん mailto:sage [04/09/07 00:37] MIDP2.0使えるようで使えねーーーーーーーーーーーーーーーーー
232 名前:デフォルトの名無しさん [04/09/07 16:21] >>227 (ノД`)ノ
233 名前:なっち(○´ー`○) mailto:sage [04/09/07 23:12] >>232 EZアプリ(Java™)プログラミングガイドの 5−2(3)ではアカンの? ttp://www.au.kddi.com/ezfactory/tec/spec/ezplus.html
234 名前:なっち(○´ー`○) mailto:sage [04/09/07 23:14] まちがいた(2)だね
235 名前:デフォルトの名無しさん [04/09/08 11:09] (ノД`)ノ かいけつしましたなっちありがろー
236 名前:デフォルトの名無しさん mailto:sage [04/09/08 23:55] au 5407CAで、テキストフィールドに入っている改行がすべて 空白に変換されて表示しまうのですが、どうすれば良いでしょうか。 同じソースコードでvodafoneの601SHでは改行が反映されて 表示されました。 問題の部分のソースは、 textbox =new TextBox("コピー",stringdata,200,TextField.ANY) Display.getDisplay(aapaste).setCurrent(textbox) stringdataは、改行入りstring型データ(5文字×5行程度) 例) hogehoge aaaaaa bbbbb って入れたはずデータが、「hogehoge aaaaaa bbbbb」と 改行がすべて空白になって表示されます。
237 名前:なっち(○´ー`○) mailto:sage [04/09/09 01:54] >>236 例)のデータってどうやって入力してるの? Phase3のエミュだとエスケープシーケンスで 普通に改行されて表示されるけどん。 なお、実機依存の話だと なっち(○´ー`○)には 手のほどこしようがありません。
238 名前:236 mailto:sage [04/09/09 08:30] >>237 テキストファイルから読み込ませてます。 kjx作成ツールと一緒についてきたエミュレータ上では、 問題なく改行が表示されています。 もしかしたら実機依存の問題かもしれません。
239 名前:デフォルトの名無しさん mailto:sage [04/09/09 11:04] >>238 確かに改行できない実機はいくつかありますよ。 A5403CAでも改行できなかったから、その後継(?)の5407も同様かも。 ちなみに5403では文字入力画面に入る際に、 使用できない文字があるのでスペースに置き換えます とかいうダイアログがでて置換されます。 自分の場合、頻度の少ない記号(~とか)を改行文字の代わりに使ってます。 byteデータの段階で改行コードに当たる数値を代替記号のコードに入れ替えて その後でStringに変換して使ってます。 実際の改行を含んだデータにしたい場合は逆の操作で。 結局入力画面では改行されないので解決と言えるかはわかりませんが・・。
240 名前:なっち(○´ー`○) mailto:sage [04/09/09 12:14] \nエスケープも効かず? まぁ効いても同じことかな。
241 名前:デフォルトの名無しさん mailto:sage [04/09/09 12:59] auのテキストフィールドの改行は機種依存だってJavaDocに書いてあるよ。
242 名前:236 mailto:sage [04/09/09 21:41] >>239-241 返事遅くなりました。ありがとうございます。 やはりカシオ機の機種依存ですか。レスを読んだ後、気になったので、 実機を貸して貰って、テストしましたが、上に書かれているように 「使用できない文字があるので、、」となりました。 >>241 そうだったんですかorz 代替記号を使ってなんとかしてみるかなあ。
243 名前:デフォルトの名無しさん mailto:sage [04/09/10 14:41:41] TextBoxとかラベルとかをGUIベースで配置できる フリーの開発環境ってありますか? 前はJBuilderでしこしこ手書きしてたんですが。 ちなみにKDDIPです
244 名前:デフォルトの名無しさん mailto:sage [04/09/10 15:36:01] そんくらい手書きしろ。
245 名前:デフォルトの名無しさん mailto:sage [04/09/10 20:27:01] >>243 配置も何も、上から順に並んでくだけなのに必要ないだろ。
246 名前:デフォルトの名無しさん mailto:sage [04/09/10 21:21:00] URLエンコードってどうにかしてVodaとAU 同じアプリで動かす方法ってないですか?
247 名前:なっち(○´ー`○) mailto:sage [04/09/10 23:20:35] >>246 誰かしら作ってそうだけど、自前で実装ですかな。
248 名前:デフォルトの名無しさん mailto:sage [04/09/10 23:58:26] ちょっと、お聞きします。 m3DPrgV_201.pdfにある First3D.java siba.mbac siba.mtra siba.bmp siba_sphere.bmp ...はどこかでダウンロードできますか?
249 名前:248 mailto:sage [04/09/11 01:49:15] 自己レスです。 SDKに.javaファイル以外はありました! .javaファイルはpdf見ながら打ち込みます。
250 名前:デフォルトの名無しさん mailto:sage [04/09/11 11:19:38] >249 ……おーい。PDFって大概コピペできるの知らないのかー? まぁ久々にタイピングの練習をしようってんなら止めないけどさ……
251 名前:デフォルトの名無しさん mailto:sage [04/09/11 11:58:45] そういや、VodaのPDFはセキュリティでコピー不可に設定されてるな。 不便だろ。
252 名前:248 mailto:sage [04/09/11 12:45:05] m3DPrgV_201.pdfはテキスト出力できるpdfだったので、 どうにか助かりました。
253 名前:デフォルトの名無しさん mailto:sage [04/09/12 00:09:55] >>247 自前で実装・・・ 自分でそのソースを書くってことですか? それともどこかからひっこ抜いてくるってことですか?
254 名前:なっち(○´ー`○) mailto:sage [04/09/12 01:10:32] >>253 J2SEのソースのぞいてみて。java/net/URLEncoder.java
255 名前:デフォルトの名無しさん mailto:sage [04/09/12 13:17:57] >>254 レスサンクス これでさらにimportに書かれてるやつもコピーすればいいのですか? よく分からなくてスミマセン。。
256 名前:デフォルトの名無しさん mailto:sage [04/09/12 13:19:29] >>255 コピーはライセンス上いかん。 と一応いっておく。
257 名前:デフォルトの名無しさん mailto:sage [04/09/12 14:05:03] まあ、誰が書いても大差ないコードができるけどw
258 名前:243 mailto:sage [04/09/12 20:28:19] VS.netでMobileWebApplicationとか作ると てがっきーから解放されてあまりの楽さにうつつを抜かしてました。 最悪コピペするかな…?
259 名前:デフォルトの名無しさん [04/09/12 20:31:55] Vodafone(P5型)のアプリでリストを作成し、 そのリスト表示する処理を作ろうとしています。 MIDPでListというクラスがあったので、使ってみた のですが、リストの表示画面が白黒でショボイので 使い物になりません。 みなさんはリストの表示処理を、どんな方法で行って いますか?自分でリストの文字列やカーソルを作成し、 描画をしているのでしょうか?
260 名前:デフォルトの名無しさん mailto:sage [04/09/12 23:43:45] >>259 >使い物になりません。 と思ったら、自分で作れば良いだけのこと。
261 名前:なっち(○´ー`○) mailto:sage [04/09/13 01:39:23] >>255 >これでさらにimportに書かれてるやつもコピーすればいいのですか? てなことをやっていると とんでもないサイズのライブラリが出来かねないので あくまで参考にして自分で書き起こすのがよいのでは。
262 名前:デフォルトの名無しさん mailto:sage [04/09/13 01:40:48] >>259 > 自分でリストの文字列やカーソルを作成し、 > 描画をしているのでしょうか? やってますが何か?
263 名前:デフォルトの名無しさん mailto:sage [04/09/13 21:58:09] >>262 やはりみんな自分でリストを作成していましたか。 僕も自分でリストを作成してみます。
264 名前:デフォルトの名無しさん mailto:sage [04/09/14 13:36:00] 質問です。 ネット上のBMP画像を取り込んで、 それをテクスチャに使うことは可能でしょうか?
265 名前:デフォルトの名無しさん mailto:sage [04/09/14 14:43:23] すくなくとも、自分でレンダリングエンジンを作れば可能だな。
266 名前:デフォルトの名無しさん mailto:sage [04/09/14 23:10:30] 現在、待ち受けアプリを製作しているのですが、 C4型にて奇妙な現象が起こりました。 あるアプリダウンロードサイト(A)ではダウンロードできるのですが、 別のサイト(B)では落とすことができません。 最終的にはBのサイトにアップする必要があるので、困っています。 状況として、、、 ・ほぼ同等の機能を持つP4、P5版のアプリはA・B両方のサイトから問題なく落とせる。 ・C4版のJAR、JAD、レコードストアの合計サイズは50000バイト以下。(容量の問題ではなさそうです) ・ある端末ではダウンロード選択後、何も出てこない。 ・別のある端末では、ダウンロード選択後に"JARが見つかりません"みたいなメッセージが出る。 (もちろん、JARファイルもJADと一緒にアップしました) いったい何が原因なのでしょうか?
267 名前:デフォルトの名無しさん mailto:sage [04/09/15 01:22:35] >>266 MIDlet-OCLが書いてないとおかしくなるような仕様変更があったとかいう話が過去ログにあったような気がする。 とりあえずこれ書いて再度テストしてみて。 MIDlet-OCL: JOCL-1.0.0 ちなみに、あるアプリダウンロードサイト(A|B))とか書かれても、 どうせ一般向けのは2つしかないんだし・・・
268 名前:なっち(○´ー`○) mailto:sage [04/09/15 01:26:26] アプリゲットなら 審査通知メール見る方がはやいね。 多分はじかれてるよ。
269 名前:266 mailto:sage [04/09/15 09:01:47] レスありがとうございます。 >267 それは書いてあります。 確認しました。 >268 アプリゲットはダウンロードできるほう(A)です。 週刊ゲーム&アプリLiveにアップしたものがうまくいきません。 追記ですが、他のC4アプリは問題なくアップ&ダウンロードできます。
270 名前:デフォルトの名無しさん mailto:sage [04/09/16 15:47:07] 今EZアプリをつくろうと試みてはいるもの どうにもアクションなどのMAPの書き方がわからないのですが どなたか教えてもらえないでしょうか? int[][] map={ {0,0,0}, //省略 {1,2,3}} コンストラクタで画像の取得 画像の表示の仕方が不明… public void paint(Graphics g){ int no; for(int j=0;j<3;j++){ for(int i=0;i<3;i++){ no = map[j][i]; g.drawImage(img[no], 64*i,64*j,?); } } こんな感じでやっていたのですが
271 名前:デフォルトの名無しさん mailto:sage [04/09/16 16:22:22] >270 基本的な枠組みはそれで合ってると思うんだが 何が問題なんだ?
272 名前:270 mailto:sage [04/09/16 20:38:58] すみませんorz コンストラクタ内の画像取得のところでミスをしていました try{ for(int i=0;i<=8;i++){ img[i]=Image.createImage("/"i.PNG"); } }catch(Exception e){} としていてi.PNGしか読み込んでなかったです お騒がせしました
273 名前:デフォルトの名無しさん [04/09/16 21:52:53] ちょっと質問させてください。 レコードストアのsetRecordって、対象のレコード全体を書き換えるものなんですか? 1レコード内でデータを分割して、必要な部分だけ保存しようと思ってるんですが、 レコード用のバッファを別に用意しなきゃだめですか?
274 名前:デフォルトの名無しさん mailto:sage [04/09/16 22:30:53] JSR172ってもう実装出回ってたのか...
275 名前:デフォルトの名無しさん mailto:sage [04/09/16 22:43:44] >>273 そういうことになるね。 俺がやってるやり方だと byte[] rs_bufferで長さはレコードの長さだけ んでこのrs_bufferにSystem.arraycopy()を使えば部分的なデータの書き込みは簡単にできる。 あとはrs_bufferを第2引数に指定してsetRecord。 他にいいやり方知ってる人いたら教えてくださいな。
276 名前:273 [04/09/16 23:41:32] >275 勉強になりました。 ありがとうございます。 System.arraycopy()の使い方勉強しなくちゃ…
277 名前:デフォルトの名無しさん mailto:sage [04/09/16 23:44:58] 現在Vodafoneの待ち受けアプリを作成しているのですが テスト中にどうも対応の仕方が不明な不具合が出てしまいました 【現象】 自作待ち受けアプリを待ちうけ設定にして携帯を閉じた状態にしておいて アラーム、メール着信時に携帯を開くとアプリがうまく動作しない 着信を止めるとアプリがエラー終了する 着信が終わるのを待つとアプリが起動し正常動作する ちなみに開いた状態で着信を受けたとき、閉じ状態でも電話着信のときは 正常動作します 同じような現象を確認したかたいらっしゃいましたら 回避方法を教えてください
278 名前:デフォルトの名無しさん mailto:sage [04/09/16 23:58:59] Vアプリの256kはマスカプver3だというのを、んぱかで見たのですが、 Vアプリってプリミティブ(点・線・三角とか)使えます? 開発ツールのJavadoc、サブクラスとかには入ってなかったのですが、 com.jblend.graphics.j3dにEZのm3dのを入れてコンパイルできたら 実は実機では動くとかってありますか? 今プリミティブだけでちょっとした3D作れないかと考えてるんですが・・。 モデリングツールとか手が届かないですし・・。
279 名前:デフォルトの名無しさん mailto:sage [04/09/17 09:50:48] >>277 P4型、P5型、P6型、W型のどれ? 実機で確認していると思うんだけど、 どのメーカーのでも発生するの?
280 名前:277 mailto:sage [04/09/17 21:09:04] >>279 実機はSH53を使用しています 他の機種ではまだ確認していないです 身近に別の機種を持ったテストを頼める人間がいないもので...
281 名前:277 mailto:sage [04/09/17 23:15:23] 一応 MIDlet-Resident: Y ↓ MIDlet-Resident: S とすることで回避はできることがわかりました が、私はP4,P5機種をターゲットで考えていたので 上記設定で問題回避することはできません...
282 名前:277 mailto:sage [04/09/18 00:01:35] 何度もすいません 仕方なくユーザーが任意の一時停止動作(閉じるor電源ボタン押下) の場合はアプリを終了するようにしました 終了状態の場合開ける動作による復帰よりも早く ネイティブの着信処理が走るため一応形としてはエラー終了がなくなりました
283 名前:デフォルトの名無しさん mailto:sage [04/09/18 01:16:41] イベント発生タイミングで、ぬるぽができてるだけじゃないのかなぁ。 「エラー終了」って、要するに例外が発生して、それを捕まえてないってことでしょ? なんか「エラー終了」って言葉使うあたりで例外ハンドリングの甘さが漂うんだけど。
284 名前:デフォルトの名無しさん mailto:sage [04/09/18 10:54:35] 一時停止時の処理からの復帰に変なのを書いてるだけのような気がするんだけど、どうかな。 大まかには > アプリがエラー終了する から、例外スルーで間違いないでしょ。 たとえば、アドレス帳登録されてないとこからの着信時は名前がnullになるとか。
285 名前:デフォルトの名無しさん [04/09/18 21:31:08] EzPlusで、 www.crosslanguage.co.jp/webdic/webdic.html を利用するプログラムを作ろうと思ってるのですが、 www.crosslanguage.co.jp/webdic/webdicc.cgi?adrs=moe@2ch.net&word= 萌え&lang=x&dic=BASE&magazine=yes のようなURLで c =(HttpConnection)Connector.open(url); in=c.openInputStream(); byte[] data=new byte[(int)c.getLength()]; とすると、c.getLength()が-1になってしまいます。 urlを他のサイトに変えてみると問題なく動くのですが、 何がいけないのでしょうか?
286 名前:デフォルトの名無しさん mailto:sage [04/09/18 22:23:48] シューティングの背景のスクロールはどのようにしたらいいのでしょう? 画面を少しずつずらしていくものなのでしょか
287 名前:デフォルトの名無しさん mailto:sage [04/09/18 23:37:12] それをスクロールと呼ぶのではないのかね
288 名前:デフォルトの名無しさん mailto:sage [04/09/18 23:40:02] >>286 DoCoMoの例だけど、参考になるはず。 pc5.2ch.net/test/read.cgi/tech/1091286071/258-262
289 名前:デフォルトの名無しさん mailto:sage [04/09/19 05:40:34] >>285 サーバ側のContentLength設定次第なので普通に起こりえることだよ。 byte[] data; int len = (int)c.getLength(); if (len == -1) data = new byte[256]; else data = new byte[len]; とでもすればいいかと。それでin.read()をループ。 >>286 RPGのマップのようなマス目単位の背景をスクロールさせるなら>>288 のURL先へ。 1枚の長ーい背景をスクロールさせる場合は、その背景を適当な長さで分割しておき、 読み込み→ずらして表示→画像の端まで来たら続きを読み込み→…と繰り返していく。
290 名前:277 mailto:sage [04/09/19 10:52:14] >>283 例外処理をおろそかにしていたのでちゃんとやってみます >>284 具体的には一時停止状態にする場合Threadを停止していないせいだと思います とりあえず閉じ状態からの着信があった場合のイベント処理順番は 依然として不明のままです...
291 名前:285 mailto:sage [04/09/19 11:39:57] できました! 多謝 多謝!
292 名前:デフォルトの名無しさん mailto:sage [04/09/19 15:19:20] MIDPって正規表現使えないのか… orz
293 名前:286 mailto:sage [04/09/19 18:45:05] >>288 ,289様 なんとかできそうです。 ありがとうございました。
294 名前:デフォルトの名無しさん mailto:sage [04/09/20 11:45:33] 当方java初心者です。 質問があります。 LISTのカスタマイズ(継承)の話が上であったと思うのですが、 javadocをみながら継承している流れを追ったりしてみましたが、 イマイチどう、カーソルやリストを作成すればいいのかイメージが わきません。 LISTを継承して拡張するような方向で考えているのですが、 背景を変えたりすること自体がCanvasクラスでの方法しか思いつかず 四苦八苦しています・・・ ヒントをいただけたら幸いです
295 名前:デフォルトの名無しさん mailto:sage [04/09/20 15:38:49] >>294 Listなど、MIDPのUIクラスの描画は実装によって行われる。 つまり、実装依存であり、その描画内容などをプログラムから取得したり変更したりするすべはない。
296 名前:デフォルトの名無しさん mailto:sage [04/09/20 15:40:28] というか、リストなんて一から自分で書いても大して難しくもないと思いますが。
297 名前:294 mailto:sage [04/09/20 16:01:14] ああ、UIコンポーネントはみな実装依存か、、、 分かりました。一から作成するほうで考えて見ます。 どうもありがとうございました
298 名前:デフォルトの名無しさん [04/09/20 22:03:45] short型の数字をbyte[]に変換したいのですが、どうすればいいでしょうか? byte[]に変換したいのはRecordStoreに保存したいからです。
299 名前:デフォルトの名無しさん mailto:sage [04/09/20 23:58:44] >>298 前スレにそんな話題がでてた希ガス
300 名前:デフォルトの名無しさん mailto:sage [04/09/21 00:33:25] >>298 ビット幅気にしないのなら無理矢理キャストすればいい。 気にするなら、たとえばオレのやってるの (int valueをtmpに入れる場合) byte[] tmp = new byte[4]; tmp[0] = (byte)value; value>>=8; tmp[1] = (byte)value; value>>=8; tmp[2] = (byte)value; value>>=8; tmp[3] = (byte)value;
301 名前:298 mailto:sage [04/09/21 09:35:02] >>300 さん ありがとうございます。 これって符号もオッケイなんでしょうか? 一応±32000くらいまでを扱うつもりなので。 shortなので、 tmp[0] = (byte)value; value>>=8; tmp[1] = (byte)value; でやってみます。 ありがとうございました。 #とはいえちょっとしばらくは手がつけられなかったり…
302 名前:デフォルトの名無しさん mailto:sage [04/09/22 22:16:52] ttp://k-tai.impress.co.jp/cda/article/news_toppage/20667.html MIDP2.0、とうとうボダで出るのか
303 名前:デフォルトの名無しさん mailto:sage [04/09/22 22:27:31] こっちは一般公開されなさそうな気がする。
304 名前:デフォルトの名無しさん [04/09/22 22:52:44] shortで間に合う範囲を intでやるのとlongでやるのだとやっぱり実行速度も short > int > long になるんですか?
305 名前:デフォルトの名無しさん mailto:sage [04/09/22 23:05:18] それは実機で計ってみないとなんとも。 32ビットWindowsなら理屈ではintが有利なはずだ(エミュでも多分そうだろう)が
306 名前:デフォルトの名無しさん mailto:sage [04/09/22 23:27:19] vodaのMIDP2.0+VSCLは一般公開できないの?
307 名前:298 mailto:sage [04/09/22 23:59:16] 何度もすいません。 int value=123123; //数字は適当 temp[0] = (byte)value; value = value>>8 ; temp[1] = (byte)value; value = value>>8 ; temp[2] = (byte)value; value = value>>8 ; temp[3] = (byte)value; int a_value = ((int)temp[3]<<24) & ((int)temp[2]<<16) & ((int)temp[1]<<8) & ((int)temp[0]); としてもa_valueと元のvalueが一致しないのはどこが悪いんでしょうか…
308 名前:デフォルトの名無しさん mailto:sage [04/09/23 00:47:02] > int a_value = ((int)temp[3]<<24) & ((int)temp[2]<<16) & ((int)temp[1]<<8) & ((int)temp[0]); これが悪いんじゃないの? (temp[0] & 0xFF) とかやんないと駄目でしょ byteの0xFF(10進で-1) をintにしたら0xFFFFFFFFだよね?
309 名前:300 mailto:sage [04/09/23 00:57:47] >>307 オレはこんな風に元に戻してる。 value = 0xFF&tmp[3] ; value<<=8 ; value |= 0xFF&tmp[2] ; value<<=8 ; value |= 0xFF&tmp[1] ; value<<=8 ; value |= 0xFF&tmp[0] ; もうちょっとマシな書き方がある気もするけど、 ビット操作好きじゃないからまぁちゃんと動けばいいかなと思ってる。
310 名前:デフォルトの名無しさん mailto:sage [04/09/23 04:02:20] >>304 int が一番速い。
311 名前:298 mailto:sage [04/09/23 11:35:54] みなさんなんどもありがとうございます。 おかげさまで以下のようにし、無事動作しました。 public long bin2long(byte[] b){ long j=0; j |= (long)((b[0] & 0xFF)) << 56; j |= (long)((b[1] & 0xFF)) << 48; j |= (long)((b[2] & 0xFF)) << 40; j |= (long)((b[3] & 0xFF)) << 32; j |= (long)((b[4] & 0xFF)) << 24; j |= (long)((b[5] & 0xFF)) << 16; j |= (long)((b[6] & 0xFF)) << 8; j |= (long)((b[7] & 0xFF)); return j;} public byte[] long2bin(long l){ byte[] b = new byte[8]; b[0] = (byte)(l >> 56); b[1] = (byte)(l >> 48); b[2] = (byte)(l >> 40); b[3] = (byte)(l >> 32); b[4] = (byte)(l >> 24); b[5] = (byte)(l >> 16); b[6] = (byte)(l >> 8); b[7] = (byte)(l); return b;} public int bin2int(byte[] b){ int j=0; j |= (b[0] & 0xFF) << 24; j |= (b[1] & 0xFF) << 16; j |= (b[2] & 0xFF) << 8; j |= (b[3] & 0xFF); return j;} public byte[] int2bin(int i){ byte[] b = new byte[4]; b[0] = (byte)(i >> 24); b[1] = (byte)(i >> 16); b[2] = (byte)(i >> 8); b[3] = (byte)(i); return b;}
312 名前:デフォルトの名無しさん mailto:sage [04/09/23 17:42:44] >>306 未定
313 名前:デフォルトの名無しさん mailto:sage [04/09/25 02:05:16] えーと、どこ探しても見つからなかったんで質問します 今StorageConnectionで外部メモリのテキストファイルを読み込もうとしてるのですが何度やってもエラーが出てコンパイルできません。 自分じゃあ分かりそうに無いし書籍探してもHttpConnectionのソースしか書いてないしでどうしようもなくなったんで どなたかStorageConnection使ってテキストファイルを読み込む簡単なソース貼ってくれないでしょうか あと、ついでなんで画像もHttp使うのしか分からないんで外部から読み込む簡単なソースお願いします。 なんか頼みばっかなんですがスンマセン宜しくおねがいします
314 名前:デフォルトの名無しさん mailto:sage [04/09/25 02:54:56] >どこ探しても見つからなかった >>13
315 名前:313 mailto:sage [04/09/25 09:12:54] 13のソースを適当にぶっこんでみたけど動かんかった。 で、今のソースが下の import javax.microedition.lcdui.*; import javax.microedition.midlet.*; import java.io.*; import javax.microedition.io.*; public class CCanvas extends Canvas { private String info="null"; public interface StorageConnection{} CCanvas() { }
316 名前:313 mailto:sage [04/09/25 09:16:39] 13のソース適当にぶっこんでみたが動かんかった もしかしてJ2ME Wireless Toolkit 1.0.4_01じゃ無理とか? 始める時にこのバージョンでやれって言われたのだが・・・
317 名前:313 mailto:sage [04/09/25 09:30:01] 315ミスっぽ
318 名前:デフォルトの名無しさん [04/09/25 10:47:06] byte[] → Stringって String hoge = new String(byte[]) って方法でいいんですか? なんか方変換したいだけなのにnewするのに違和感があって。 Byte.toString(byte[0])+Byte.toString(byte[1])… とかのほうがいいんですか?
319 名前:デフォルトの名無しさん mailto:sage [04/09/25 11:28:44] >>316 >>13 以降に続くレスも読んだ?そこでは結論出てるようだけど。 >>318 示した2つの方法で得られるものは違う。結果としては何が欲しいの? byte[]に文字コードが入っててそれが示す文字列にしたいなら上の方法で。 byte[]1つ1つの要素が表す数値を数字としてつなげたいなら下の方法で。 それから>>318 は基本的な理解が不足してる模様。 byteやintはプリミティブ型、対してStringはクラス。クラスを生成するには Canvasなどと同様でnewするものだろう? 文字列を+でつないでいくのも内部的にStringBufferが生成されてaddが 行われているだけ。詳しくはCLDCのAPIリファレンスでStringのとこ読んで。
320 名前:デフォルトの名無しさん mailto:sage [04/09/25 11:30:51] 補足。 Byte.toString(byte[0]) …こんな書き方のものはない。
321 名前:313 mailto:sage [04/09/25 18:48:38] >>319 すまん漏れの頭悪すぎて分からん 一応、P5型のアプリ作成する時のソフトウェア環境どなたか書いてもらえます? ヴァージョンも。
322 名前:デフォルトの名無しさん mailto:sage [04/09/25 23:05:23] Vアプリ作って見ようかと思ってその辺で拾ってきたソースをコンパイルしようとしてみたら パッケージ com.j_phone.io は存在しません。 って出るんだけどこれどうすりゃいい?
323 名前:13 mailto:sage [04/09/25 23:18:13] いや、まさしく13なんですが(以前も以後も何度もスレに顔出してますが) >>313 > 何度やってもエラーが出てコンパイルできません。 だから、コンパイルができてないという状態だと思うんですが。。 だから13とは関係ないと思うんですが・・ classpathでstubclasses.zipを指定してないというオチでは? >322も。 www.saturn.dti.ne.jp/~npaka/kvm/javapress/coolskiers/support.html
324 名前:デフォルトの名無しさん mailto:sage [04/09/26 00:01:49] 322だす -bootclasspathでstubclasses.zipを指定してみたのだが エラー: *.java を読み込めません。 エラー 1 個 って出る・・・・何故だ・・・。
325 名前:デフォルトの名無しさん mailto:sage [04/09/26 00:03:56] >324 コマンドラインそのまま晒してみれ。
326 名前:デフォルトの名無しさん mailto:sage [04/09/26 00:11:43] bootclasspathのとこだけでいい? C:\j2sdk1.4.2_05\bin>javac -bootclasspath c:\v-appli_sdk_121\lib\stubclasses.zip -g:none *.java エラー: *.java を読み込めません。 エラー 1 個
327 名前:デフォルトの名無しさん mailto:sage [04/09/26 00:20:41] ……うゆ? コンパイルするソースもC:\j2sdk1.4.2_05\binに置いてるん? それともカキコ用に適当なパス書いただけ? まさかとは思うけどカレントディレクトリ間違ってない?
328 名前:デフォルトの名無しさん mailto:sage [04/09/26 00:25:34] むむ パスってjavac.exeが置いてあるとこじゃないの? set path=c:\j2sdk1.4.2_05\bin\;C:\wtk104\bin; てしたから始めはjavac.exeの場所じゃないと思ったんだが、c:\j2sdk1.4.2_05以外だとjavacが見つかりませんてエラーでたし・・・ えーと、パスはコンパイルするソースが置いてあるところなわけだな。 もう一回set pathからやり直して見る
329 名前:デフォルトの名無しさん mailto:sage [04/09/26 00:38:08] set pathし直したらjavac動いた。 が、試しにmyMIDletってのをコンパイルしてみたんだが myCanvas.classとmyMIDlet.classってのが出来て、outputてフォルダの中に同名でサイズが違うのが出来た んで、jar cmf MANIFEST.MF myMIDlet.jar -C output . て実行したらMANIFEST.MFが見つからんとか これって手書きで作成? あと、コマンドラインでコンパイルするのとJ2ME Wireless Toolkitのビルドとどう違うん?
330 名前:デフォルトの名無しさん mailto:sage [04/09/26 00:44:59] む。漏れは普段はant使ってる人なのでWireless Toolkitがどうなってるか忘れた(汗) ただ、環境変数PATHにjavac.exeの位置が入ってなくても 絶対パスで動かすんで無問題だったかな > Toolkit 後はコマンドラインだと手作業、Toolkitは一括でjarまで作る、くらいかな、違いは。 (手作業っつっても、バッチ作るなりそれこそant入れるなりすればさして手間はかからん) MANIFEST.MFは手書き……だと思う。一回書いたらそうそう書き換えることもないっしょ。
331 名前:13 mailto:sage [04/09/26 00:51:49] Wireless Toolkit使ったら、 jad/MANIFESTの作成から、javac/preverify/jarまで一括でやってくれるんじゃなかったっけ? オレも使ってないから知らん。 一回書いたらほとんど直さないから、手書きでいいと思う。 入門記事 www.itmedia.co.jp/mobile/0203/08/n_j1.html
332 名前:デフォルトの名無しさん mailto:sage [04/09/26 01:03:22] 質問ばっかりでごめん Wireless Toolkitだとcom.j-phone.ioは存在しませんってエラーになってビルド出来ない コマンドラインでやればエラー出ずコンパイルできたけどjad手書きしてエミュで実行してみたら MicroEdition-Configurationの項目が存在しません ってエラー出てロード出来ん jadの中身↓ MIDlet-1: FileSystem, FileSystem.png, MIDlet-Name: FileSystem MIDlet-Vendor: sun MIDlet-Version: 1.0 MIDlet-Application-Range: 0,0 MIDlet-Network: Y MicroEdition-Profile: MIDP-1.0 MicroEdition-Configuration: CLDC-1.0 MIDlet-Jar-URL: FileSystem.jar MIDlet-Jar-Size: 1843 antっての使ったほうがコンパイルとかなの?
333 名前:322 mailto:sage [04/09/26 02:00:59] homepage1.nifty.com/cotton100/jphonejava.htm ここに (補足) なお、J2ME WirelessToolkitを、コンパイル環境として使う場合は、 JSCLのライブラリ(stubclasses.zip)を解凍、CLDCライブラリも解凍して、2つを統合し 上記の「非圧縮zip」で圧縮すれば使えるそうです。 って書いてあるんで試してみます・・・。 これ出きればコマンドライン使わずにいけそうなので。 て、kjxでも同じかな…まあ試して見る
334 名前:デフォルトの名無しさん mailto:sage [04/09/26 02:04:05] うちではantもコマンドラインも使わずにWTK104でボーダのビルドやってるが。 WTKのlibディレクトリのmidpapi.zipには当然ボーダ固有のAPIは含まれてないので com.j-phone.*を使うようなアプリではコンパイルでエラー。 WTK使ってる限りは-bootclasspathの指定とかできないからstubclasses.zipを midpapi.zipにリネームして置換してる。 au/docomoでコンパイルする場合は元のmidpapi.zipを使ってる。
335 名前:322 mailto:sage [04/09/26 02:40:49] 両方のファイル開いてみると、midpapiに含まれてるファイルが全てstubclassesに含まれてない感じ。 だから、多分 stubclasses.zipにmidpapi.zipの内容が全部含まれてないからリネームだけじゃ駄目かと思う。 多分だから間違ってたら指摘よろ ・・・と、漏れはstubclasses.zipの内容をどうやってmidpapi.zipに統合しようか悩んでるわけだが。 >>13 & 他の人 stubclassesの統合でWirelessToolkit使ってjad/mfの生成できそうです 親切に教えてくれて多謝多謝! WTK使ってコンパイル出きるようにがんばる
336 名前:334 mailto:sage [04/09/26 05:02:36] >>335 確かにmidpapiが全てstubclassesに含まれているわけではないが midpapiのうちボーダの開発には不要なAPI(サポートしていない機能)が省かれている だけのようなので、自分では単純にリネームしたものを使っている。 何ら保障するわけではないが、これで不都合は起きていない。 ちなみに2つを統合するならこれでOK 1.midpapi.zipとstubclasses.zipを解凍する 2.midpapi側を全てstubclasses側に上書きコピーする 3.stubclasses側を無圧縮zipで固めて、midpapi.zipにリネームする はじめ自分はこれでやってたんだが、統合したもの(自分で作ったもの)を使うってのが 逆になんか気持ち悪くて今の方法(リネームして置換)に変えた次第。
337 名前:デフォルトの名無しさん [04/09/26 11:49:53] Canvasで何かを描く時、 getWidth()をよく使うんですが、 これって起動してすぐにint width = getWidth() とかしてその後は毎回getWidth()する代わりに、widthを使った方が 早かったりしますか?
338 名前:322 mailto:sage [04/09/26 12:59:25] >>334 統合したらWTKで今までcom.j-phone.io見つかりませんってエラー出てたの出なくなりビルドできました。 これでJSCL使ってもいけそうです んで、JSCL使ったテストアプリを色々と試してみてるのだけど313と同じくStorageConnectionがうまく動きません。 サンプルソースがどこ探しても無いしHttpConnection使ったサンプルソースのHttpの部分をStorageに書き換えて試して見たが、ビルドエラー無いけどエミュで実行してみても読み込み出来ず。 ちょいとソース上げたので、見てやってもいいぞって人いれば間違い部分指摘して下さい ttp://namihei.zone.ne.jp/cgi-bin/up/upload.cgi の、21945 ちなみに読み込むテキストはV-appliエミュレータがインストされてるフォルダのbin内IntStorageの中に置いてあります。
339 名前:デフォルトの名無しさん mailto:sage [04/09/26 13:12:49] あんまりしょっちゅう呼び出す(ソースに記述する箇所が多い)なら変数に代入して 保持してていいんじゃないかな。あくまで見やすさと記述の手間を省くという点で。 その程度で速さは稼げないから。
340 名前:デフォルトの名無しさん mailto:sage [04/09/26 13:14:36] >>339 は>>337 向け
341 名前:322 mailto:sage [04/09/26 13:28:22] >>337 速さは稼げないけど、ファイルサイズが小さくなるのと見やすくなるって利点はある ・・・と思う あ、でもアプリを使う機種が限定されてたりするなら値で入れといてもいいかもね ・・・多分
342 名前:337 mailto:sage [04/09/26 13:45:02] 170x130程度からQVGAまで対応したいので、 変数に代入する方で行きます。 ありがとうございました。
343 名前:322 mailto:sage [04/09/26 13:57:03] やっぱどうやってもStorageConnectionで読み込めん。 JSCL1.2.xの参考書でいいのとかあります? 手持ちの書籍じゃJSCL1.1までしか対応(書いて)してない(´д`;)
344 名前:デフォルトの名無しさん mailto:sage [04/09/26 16:43:43] >>343 サンプルくらいDLしる www.dp.j-phone.com/dp/tool_dl/java/emu.php あと、JSCL1.2に関する書籍は聞いたことがないな。 どうせ消えるらしいし今後も出ないと見た。
345 名前:322 mailto:sage [04/09/26 17:02:46] >>344 このサンプル前ダウンロードしたけどエラーで動かなかったから諦めてたんだけど 今動かしたら動いた(´д`;) ちょっくら分解してきます…。
346 名前:デフォルトの名無しさん [04/09/26 17:25:06] 質問ですみませんが 前スレ36氏の発言KJXカッター ezplusの実行形式KJXファイルを簡単にJADファイルとJARファイルに戻せる ↓ jarはzipと同じなので、適当なツールで伸張 ↓ Java逆コンパイラ(沢山あるからググれ)にかける と書いてあり逆コンパイラしたファイルのバグを修正してコンパイラすると エラーが必ず出ます。 インターフェイスファイルが無いなどで まぁ一回無視してclassファイル(12個)や画像ファイルをzip圧縮して kjx結合君で無理やりkjxにしたのですが起動できませんでした しかも通信機能がついているのに通信が無効になってしまいました 何か解決方法は無いでしょうか?
347 名前:デフォルトの名無しさん mailto:sage [04/09/26 21:34:06] Vアプリ作成中で、レコードストアにデータをaddしたりsetして、 それをgetRecordして表示させようとしているのですが、 どうもうまく表示できません。 どの過程をしくじっているのかなかなか把握できないのですが、 Vエミュ(P4型)ではレコードストアの状況とかみれないのでしょうか? あと、setRecordを使うことで、特定のIDに新規書き込みすることは不可能なのでしょうか?
348 名前:デフォルトの名無しさん mailto:sage [04/09/26 23:04:42] >346 逆コンパイルした*そのままの*ソースはコンパイル通る? 通らなかったらその逆コンパイラが腐ってる可能性があるから別のを探そう。 起動できないetc.はそれを確認・対処してから考えましょう。 通信が無効ってのは……kjx作るとき元のと同じMANIFEST.MF使ってる?
349 名前:347 mailto:sage [04/09/26 23:28:42] エラーを画面に表示させて、細かくステップごとに見ていくと、 どうやらOPEN時点ですで引っかかっていたみたいです。 で、いろいろ検討して、レコードストア処理をしているサンプル探してきて 実行すると、ちゃんとしているものなら *.rmsというデータができること を発見し、そこから調べていった結果。MANIFESTと.jadの問題だったようです。 MIDlet-data-sizeは登録しておいたと思ったんだけど、、動いてるものから コピペして書き換えたら処理できるようになりました。 setも既出のものしかできないこともわかりましたので・・・ お騒がせしました。
350 名前:デフォルトの名無しさん [04/09/26 23:51:49] >>348 逆コンパイラはDJ Java Decompilerで逆コンパイラしたファイルを そのままコンパイラしようとすると 「シンボルを解釈処理できない」 と出ます。 一度.classを読み取り.javaにしたファイルをそのまま.classに戻す時点で このエラーが出ます。 また他の.classを読み取り.javaにしてまた.classに戻そうとすると 「このファイル名はpulicです宣言ファイル名.javaで宣言しなければなりません」 と出てしまいます やはり逆コンパイラが腐っているのでしょうか MANIFEST.MFは同じものを使っていますMETA-INFというファイルに納めてあります
351 名前:デフォルトの名無しさん mailto:sage [04/09/26 23:54:01] 連レスすみませんsageをずっと忘れてました あとMANメッセンジャーでご指導して頂ける方は指導希望と書いてくれませんか?
352 名前:デフォルトの名無しさん mailto:sage [04/09/26 23:56:35] >350 とりあえず逆コンパイラをjadに変えてやってみましょ。 ttp://kpdus.tripod.com/jad.html
353 名前:デフォルトの名無しさん mailto:sage [04/09/27 11:32:43] >>351 甘 え る な
354 名前:デフォルトの名無しさん [04/09/27 14:09:58] Vアプリで質問します。 J2ME Wirless Toolkit でビルドを行ったのですが、 com.j_phone.* は存在しません。と出てしまいます。 com.j_phone一式がインストールされてないということと思いますが、 その入手先と、設定方法を調べていますが、どうもみつかりません。 教えていただけますと助かります。
355 名前:デフォルトの名無しさん [04/09/27 14:11:41] 354です。補足します。 J2ME Wirless Toolkitのバージョンは、1.0.4です。 VアプリのP5型の開発をしております。
356 名前:デフォルトの名無しさん [04/09/27 14:33:55] JSCLが足りないのかな?
357 名前:デフォルトの名無しさん [04/09/27 14:57:21] 354です。 ttp://java.cocolog-nifty.com/blog/2004/03/ を読んで、JSCLのインストールを 試してみたところ、次のようなエラーが出てしまいました。 ---------------------- ERROR: native methods should not appear Error preverifying class com.jblend.graphics.j3d.ActionTable com.sun.kvem.ktools.ExecutionException: Preverifier returned 1 Build failed ---------------------- 意味がよく分からないのですが、ネイティブメソッドを使ってはいけない。 と出ているようです。ネイティブメソッドは使用していないのですが、 何故こうなるのでしょうか?
358 名前:デフォルトの名無しさん mailto:sage [04/09/27 15:27:17] >>346 自分じゃアプリ作れないけど改造だけなら出来そうとか思ってるんだろうな・・。 そもそも逆コンパイル自体グレー的(おそらく他人のアプリだとして)な行為なのに、 コンパイル等の仕組みを良くわからないまま手を出して「腐ってる」は無いだろ。 「シンボルを〜」とか「〜で宣言しなければ」なんて超基本的なことで、 少し自分でソースチェックすれば解決できそうなもんだけどな・・。 たぶんそのアプリの作者がサイズ削減かコード閲覧回避のためオブファスケータ使ってて、 その時ファイル名と異なるクラス名が付いたから、とかじゃないかとか思うけど。 まぁ逆コンしたものであるかは別にして、ソースがコンパイルできるかどうかの問題だから ソースとBuild設定さえ見れたらアドバイスできるが、他人のなら無理だな。 とりあえずアップできるソースならアップして、他作なら許可もらうか直接聞いたら?
359 名前:デフォルトの名無しさん [04/09/27 15:40:19] Vアプリで、 JConnector.class を入手したのはいいのですが、 どこに置けば良いのでしょうか? 分かる方いらっしゃいますか?
360 名前:デフォルトの名無しさん mailto:sage [04/09/27 16:20:06] >>359 JConnector.classってなんだ?
361 名前:346 mailto:sage [04/09/27 18:20:41] >>358 確かにおっしゃる通りです。 一応eclipseで逆コンパイラしてソースを見てみると たくさんエラーが表示されますね おそらくコード観覧回避目的だと思います。 企業のアプリなんでアップや直接聞くことはできませんが 一からJAVAを勉強し直して自分でコンパイラできるようになり アプリを制作できるようになりましたらまた挑戦してみます。 >>353 甘えもありますが、板をあまり質問で汚したくなかったので そのような書込みをしました。
362 名前:デフォルトの名無しさん [04/09/27 21:02:05] みなさんに質問させてください。 今、純MIDP2.0 のみ( VやAUのクラスを使用しない )でアプリを作っています。 で、今行き詰まっているのは ランチャーのように『アプリA』 から 『アプリB』や『アプリC』 を呼ぶことは可能か? という事についてです。 別スレッドということではなく、あくまで別アプリを呼ぶという事で。 他のアプリを呼ぶ事自体が非常識なんでしょうか? セキュリティ上ダメかな・・・と、少し諦めてはいるのですが 可能ならば容量制限などを気にせず作れるかな〜と思っています。 『そんなの普通にやってるコトだよ!』とか『できるワケね〜だろ!』といった 内容でもよろしいので、ご意見下さい。
363 名前:デフォルトの名無しさん mailto:sage [04/09/27 21:11:44] >>362 アプリAに終了命令出して、アプリBとかCに開始命令出せればいけるかも でもレコードストアのデータとかは引き継げないから結構使いにくいかもね。
364 名前:デフォルトの名無しさん mailto:sage [04/09/27 21:32:42] >>362 MANIFST.MFにMIDlet-1, MIDlet-2とか書いて、 1つのjarの中に複数のMIDlet詰めることはできたと思う。 そういうアプリの場合、起動時に詰め込んである複数のMIDletから(ユーザが)アプリを選んで起動できる。 レコードストアを共有できるかどうかはシラネ。MIDPのドキュメント読んで。たぶんできると思うけど。 でも、今のケータイ向けのアプリでは一般的には使われてないっぽいけど。
365 名前:362 [04/09/27 22:06:42] 早速のレスありがとうございます! >>363 さん 別アプリって認識できるのかな? でも、やってみますね! >>364 さん 大変勉強になります。 1つのjarに複数のアプリが入れられるとは思いませんでした。 レコードストアに関しては、早速、印刷して読み込んでみます。 >でも、今のケータイ向けのアプリでは一般的には使われてないっぽいけど。 通信速度もメモリも拡大している最近では、複数に分けてみようってのは イマイチな考え方なんですかね・・・(泣 やはり別jarパッケージの起動は無理っぽいのかな〜。 やれる事は全部やってみて、引き続きがんがってみます。 みなさん、ありがとうございます。
366 名前:なっち(○´ー`○) mailto:sage [04/09/27 23:40:26] MIDP2.0ではMIDletスウィートは 廃止されたような気がしたけどどうかな。
367 名前:デフォルトの名無しさん mailto:sage [04/09/28 02:14:54] MIDP2.0でも MIDlet Suiteはありますよ。 MIDlet Suite内のMIDlet間の連携は無理です。 選択画面を経由した手動の切り替えのみ可能。 ってのが建前。 それからレコードストアは共有できる。はず。
368 名前:デフォルトの名無しさん mailto:sage [04/09/28 11:09:46] レコードストアは、JARに対応して設けられるので、 MIDlet Suite 中で同じレコードストア名を使用すると、同じデータを参照できます。 アプリケーション間連携がないのは、セキュリティリスクの低減と、 設計モデルの問題ですね。
369 名前:デフォルトの名無しさん mailto:sage [04/09/28 13:23:41] レコードストア関連であった話しなんだけど、 一つのレコードに複数のデータを設けて、split出区切る方式を 考えて、やってみたんですけども、 メソッド split(char) は型 String で未定義です。 でコンパイルが通らないです。j2sdk1.4.2_02です。 split使えないなんて事はないと思うんだけど、、 ご教授いただけますでしょうか・・ try{ rs = RecordStore.openRecordStore("frends",true); byte[] b=rs.getRecord(1); String rec =new String(b); rs.closeRecordStore(); String nlist[ ]= new String[1]; nlist = rec.split("|"); }catch (RecordStoreException e){ feno =9999; fname = "ERROR;"; }
370 名前:369 mailto:sage [04/09/28 14:50:28] 今は メソッド split(String) は型 String で未定義です になってますね。さっきはパラメータに'|'を送ろうとしてたので、 Charだったみたいです。
371 名前:デフォルトの名無しさん mailto:sage [04/09/28 14:57:14] >>369 そのエラーメッセージの通り。 Stringクラスにsplit()というメソッドはない。
372 名前:デフォルトの名無しさん mailto:sage [04/09/28 18:39:19] J2ME Wireless Toolkitを使ってビルド→パッケージやってるんですけど パッケージ化するたびにメモ帳でJAD開いてにMIDlet-Networkを追加するのが面倒です この作業をしないで済む方法ってないですか?
373 名前:デフォルトの名無しさん mailto:sage [04/09/28 19:52:09] >>372 俺はWireless Toolkit使わずにバッチファイルでパッケージしてる。
374 名前:デフォルトの名無しさん mailto:sage [04/09/28 20:13:37] オススメ ttp://www.wakhok.ac.jp/~oota/vappli/
375 名前:デフォルトの名無しさん mailto:sage [04/09/28 20:28:58] >>372 パッケージ化のたびに項目消える方がヘン。 マニフェストファイルの方に書いてないってオチでは。
376 名前:372 mailto:sage [04/09/28 20:32:33] 案外マニフェストファイルに書いておけばパッケージ化の時にjadに自動的に書き込まれたりするってことだったりします? 初心なこと聞いちまったぽい。
377 名前:デフォルトの名無しさん mailto:sage [04/09/29 01:52:33] 質問です 現在、JPG画像を表示させるP5向けのアプリを作っています しかしImage.createImateして、drawImageで表示させても何故か減色されてしまいます。 アプリでは256色までしか扱えないのでしょうか? それともJPGはの表示は特別な方法があるのでしょうか? 教えて下さい よろしくお願いします。
378 名前:デフォルトの名無しさん mailto:sage [04/09/29 11:15:01] >>377 アプリは何で実行してるの?実機?エミュレータ? 256色の制限なんてあったっけ?
379 名前:377 mailto:sage [04/09/29 13:25:50] すいません、すこし説明不足でした P5用のVアプリエミュで実行してます。 256色で制限されてるのかはよく分からないのですが、256色に落として保存した画像みたいに年輪みたいになって表示されてしまいます。
380 名前:デフォルトの名無しさん mailto:sage [04/09/29 17:14:22] DOJAでも、 そんな感じに表示されるけど、実機では問題なし。
381 名前:377 mailto:sage [04/09/29 17:19:18] 380 実機で試してみますね。 ありがとうございました。
382 名前:377 mailto:sage [04/09/29 21:47:45] 実機で試してみると、年輪のような表示にはなりませんでした。 それは解決したのですが、また問題が出たので質問です。 エミュでは展開出来たのですが、実機では40k以上の画像等のファイルはエラーが出て表示が出来ませんでした。 テストには602SHを使っていて、601SHならPNGの展開サイズが最高で512kまでと書いてあったのでいけると思うのですが…。 それと、MIDlet-OCLをJSCL-1.2.2に設定しておくと602SH/601TのP6型以外で起動不可になりますか? 質問ばかりで申し訳ないのですが、よろしくお願いします。
383 名前:デフォルトの名無しさん mailto:sage [04/09/29 22:19:33] エラーの内容が分からんのでとりあえずその例外を描画してみては? catch(Exception e){ while(DeviceControl.getDeviceState(DeviceControl.KEY_STATE) > 0) //キー入力があるまで無限ループ
384 名前:デフォルトの名無しさん mailto:sage [04/09/29 22:22:33] ごめん、途中で書き込んじゃった catch(Exception e){ Graphics.setColor(0,0,0); Graphics.fillRect(0,0,240,240); Graphics.setColor(255,255,255); Graphics.drawString(""+e.toString()); while(DeviceControl.getDeviceState(DeviceControl.KEY_STATE) > 0) //キー入力があるまで無限ループ }
385 名前:デフォルトの名無しさん mailto:sage [04/09/29 22:25:32] drawStringの引数Stringだけになってた(汗 x,y,アンカーを脳内で入れといてください。 それと追記 例外とかの文だと長すぎてはみ出す可能性が高いんで 20文字目ぐらいでString#substring()使って文字列を区切って描画したほうがいい。
386 名前:デフォルトの名無しさん mailto:sage [04/09/29 22:41:19] エラーの内容表示しないでも、それってサイズ制限に引っかかってるだけじゃないか? 確か40KBより大きいファイルは扱えなかったような気がする。
387 名前:デフォルトの名無しさん mailto:sage [04/09/29 22:43:35] 386追記 40KBより大きい画像とかのファイルをSD経由で読み込んでみ? エラーで表示されない 勘違いだったらスマソ
388 名前:デフォルトの名無しさん mailto:sage [04/09/29 23:02:08] ttp://appget.com/vf/pc/apview_021014.htm このアプリで40kb+の着メロ再生できるから開く方法はあるっぽいな。
389 名前:382 mailto:sage [04/09/29 23:12:21] 皆さんありがとうございます。 >>383-385 コード追加してみましたが、getDeviceState(int)をstaticコンテキストから参照することはできません。 と出てビルド出来ません…。 すんません、自力じゃ分かりませんでした…。 >>386-387 SDカードにアプリで読み込もうとしていたファイルを入れて開こうとしたところ、「40Kを超えるファイルのため再生できません」と出ました。 40K以上の着メロも同様のエラーで無理みたいです。
390 名前:デフォルトの名無しさん mailto:sage [04/09/30 03:34:03] >>389 どんなAPIで40KB超えのファイルを開こうとしてる? StorageConnection#openInputStream() でなら、40KB制限なんて引っかからないと思う。 FileUtility は使ったことないのでシラネ、 FileUtility#play は、「ネイティブアプリケーションで再生します」とか書いてるから、 ネイティブの制限(SHなら40KB/Tなら64KB)の制限を受けるんじゃないかな。
391 名前:デフォルトの名無しさん mailto:sage [04/09/30 15:38:50] >>389 ちゃんと調べた訳じゃないけどStorageConnection#openInputStream()の仕様で制限掛かってるならエミュでも開けないと思うし、 何か機種独自の仕様かなにかに引っかかってるんじゃないかな それ以外のAPIは使ったことないし知らん ちなみに漏れの602SHでもStorageConnection#openInputStream()で画像読み込んだら例外出て開けんかった。 もしかしたら ttp://potter.s5.xrea.com/vappli/doc/P5/com/jblend/media/jpeg/JpegData.html もしくはttp://potter.s5.xrea.com/vappli/doc/P5/com/jblend/media/png/PngData.html これ使えば開けるかもピープ限界まで開けるかも 漏れの考えも間違ってるかもしれないから分かる人よろ
392 名前:391 mailto:sage [04/09/30 15:42:34] 訂正 JpegPlayerとかはttp://potter.s5.xrea.com/vappli/doc/P5/com/jblend/media/MediaImageOperator.html このMediaImageOperatorってので使うぽい 間違ってたらすまそ
393 名前:382 mailto:sage [04/09/30 18:54:42] 遅くなりました、すいません。 >>390 ファイルの取得はボーダのサンプルを流用してやってます まず、byte[] data=read(ImgURL+".png")で呼び出して (長いので必要そうな所だけ。) conn = (StorageConnection)Connector.open(url); InputStream is = null; ByteArrayOutputStream baos = null; try { baos = new ByteArrayOutputStream(); is = conn.openInputStream(); byte[] buff = new byte[(int)conn.getLength()]; int readed = -1; while ( (readed = is.read( buff )) != -1 ) { baos.write( buff, 0, readed ); return buff; } } …catch/finallyなどが続く 最後のreturnでbuffの中身を呼び出し元に戻して、viewImg=Image.createImage(data,0,data.length)で画像にしてます。 多分これでいけてると思うのですが…ここに問題無ければ他の部分かな…。 >391 棒打のサンプル見てみますね。
394 名前:デフォルトの名無しさん mailto:sage [04/09/30 21:01:53] 画像サイズがデカイと無理です、多分。 ヒープの問題。
395 名前:デフォルトの名無しさん mailto:sage [04/09/30 21:20:02] >>382 参考までに聞きたいが、 このソースで実機で40KBより小さいサイズの画像は問題なく読めてるの?
396 名前:382 mailto:sage [04/09/30 22:02:46] 読めてます。
397 名前:デフォルトの名無しさん mailto:sage [04/09/30 23:05:13] >>394 ピープは1200kぐらいあるはずだからよほど大きくない限り読めるはずだろ
398 名前:デフォルトの名無しさん mailto:sage [04/09/30 23:12:19] 480x640程度でダメなはず。 エミュ確認のみ。
399 名前:デフォルトの名無しさん mailto:sage [04/09/30 23:20:10] 画面カラーが32bitだと、32bitに展開されるとかじゃない?
400 名前:デフォルトの名無しさん mailto:sage [04/09/30 23:22:10] 32bitビットマップね。
401 名前:382 mailto:sage [04/09/30 23:38:43] >>398 240x320のPNGファイルで、エミュでは問題無く表示されています。 >>399 画面カラーというのは、携帯実機の?PCの?
402 名前:デフォルトの名無しさん mailto:sage [04/10/01 00:25:00] Imageの画素の深度は機種依存のハズ。元画像のサイズ・深度はあんま関係ないぽ。 240×320がOKだったとかいわずに、Image作成前と作成後でヒープ残量はかってみ。 long memory = Runtime.getRuntime().freeMemory(); 他キャリアで悪いがPhase3エミュでcreateImage(100,100)で20KB程度、 つまり1画素あたり2B使ってる計算。これでいくとヒープ2MBの機種で100万画素まで、 大体QVGA(320×240≒8万)の10倍程度が限界。もちろん画像のみの話だけど。 そのJPGがそれ(QVGA×10)を超えてないか確認してみそ。深度深けりゃもっと小さいが。
403 名前:382 mailto:sage [04/10/01 01:02:06] >>402 計算ニガテだけどがんばって計算してみますね…。 ちなみに表示させようとしてるのはPNG形式の画像です
404 名前:デフォルトの名無しさん mailto:sage [04/10/01 01:53:02] ちょい質問。 byte型のデータをint型に変換するのってどうすりゃいいの? 直接代入しただけじゃあたりまえだが無理だった(´д`;)
405 名前:390 mailto:sage [04/10/01 02:11:41] 念押しときますが、V601TでStorageConnection#openInputStream()で制限引っかかることはなかったです。 少なくとも500KB超えたファイルもいけてる。 やっぱ、Image作るところかbyte確保するとこ(byte[] buff = new byte[(int)conn.getLength()];)で ヒープ不足で引っかかってる気がするんだが。 いずれにしても、どこでどんな例外が出てるかを確認するのが先決だと思う。 >>404 直接代入できますが。
406 名前:デフォルトの名無しさん mailto:sage [04/10/01 02:33:17] むむむー 直接代入しようとすると互換性のない型って出てビルド出来ん んで、検出値がbyte[]で期待値がintになってる 解釈違いかなあ
407 名前:デフォルトの名無しさん mailto:sage [04/10/01 02:53:44] >>406 配列じゃない変数に配列が代入できるわけないだろ どういうことがやりたいんだ?
408 名前:デフォルトの名無しさん mailto:sage [04/10/01 03:09:07] フェーズプレイヤーで再生するデータを外部メモリから読んで、再生させたい。 393のソース流用したんだけど、int spfdata = read("file:///mc/spf/sound.spf"); ってすると「互換性のない型」ってエラーが出る。 さてどうしたものか…。
409 名前:デフォルトの名無しさん mailto:sage [04/10/01 03:25:25] >>408 >>393 のソースを参考にread()ってメソッド作ったんなら戻り値はbyte[]型でしょ。 (byte[] buff = new byte[〜]; で return buff; なんだから) それをint型で受ければエラーは当たり前。byte[]型の変数で受けなきゃ。
410 名前:デフォルトの名無しさん mailto:sage [04/10/01 03:36:03] んーむ… こんなソースになったけど駄目っぽい…。 2箇所エラーがあるみたいです すいません、よろしければおかしい所の修正お願いします。。。 player=PhrasePlayer.getPlayer(); byte[] spfdata; spfdata = read("file:///mc/spf/sound.spf"); int spffile = spfdata; //ここで「互換性のない型」エラー data=new Phrase(spffile); //ここで「シンボルを解決できません」エラー track0=player.getTrack(); track0.setPhrase(data); track0.play();
411 名前:デフォルトの名無しさん mailto:sage [04/10/01 05:31:06] >>410 >int spffile = spfdata; だから、なんでbyte[]型をint型に代入しようとするのさ。 しかもPhraseのコンストラクタでint型を引数に取るものはない。 無意味な int spffile = spfdata; を書かずにspfdataを引数にすればいい。
412 名前:382 mailto:sage [04/10/01 16:03:13] 読み込みエラー、なんとか解決しました本当にありがとうございます
413 名前:デフォルトの名無しさん mailto:sage [04/10/01 16:45:05] >>411 遅くなった。 どっかでint型のデータを引数として渡せとか書いてあったのが頭の端っこにあったからかなり勘違いしてたっぽい。 spfdataを直接渡してやればちゃんと再生できました。 ところで、2種類の音を再生して、片方の音だけループするようにしたいのだけど ループの処理は常に再生されるか確認して停止してたらまた再生させる って処理でいいのかな?
414 名前:デフォルトの名無しさん mailto:sage [04/10/01 18:39:34] >>412 「なんとか」じゃなく、何が原因だったか知りたいぞ!
415 名前:382 mailto:sage [04/10/01 21:40:43] ピープオーバーが原因でした。 残量は表示させてたのですが取得する場所が悪かったみたいでちゃんと計れていないのが原因でした。
416 名前:デフォルトの名無しさん mailto:sage [04/10/01 22:37:27] すごく気になるんだが 「ピープ」って……なに?
417 名前:デフォルトの名無しさん mailto:sage [04/10/01 23:13:07] ピープ…とも読めるな。 ところで、配列にデータが入ってる場合だけ処理したいんだけどデータが入ってるか調べるのってどうするの? if(str[0] != null) で合ってるのかな?
418 名前:デフォルトの名無しさん mailto:sage [04/10/01 23:19:48] >417 「配列にデータが入っている」という意味がいまいちよく分からんな。 String[] strについて、そもそもstrがnullなのか、 strの要素が1個以上はあるけどその要素がnullなのか。どっちかいな。 String[] str = null; // この時点では前者 str = new String[3]; // この時点では後者
419 名前:417 mailto:sage [04/10/01 23:26:41] 分かりにくくてごめん 配列にjar内のテキストを読みこませてるんだけど、中身の無いテキストと中身があるテキストで処理を振り分けたい。 かなり分かりにくいな・・・・
420 名前:デフォルトの名無しさん mailto:sage [04/10/02 00:02:50] >>418 String[] str = new String[100]; とかしただけなら str[0]〜str[99] == null; そこに byte[] b = 〜 ; str[ 0 ] = new String ( b ); とすると str[ 0 ] != null だわな。 こういう感じならif( str[0] != null ) 〜 とすればいいんじゃない? str[0]=new String( new byte[0] ) の場合も !=null ( str[0].equals("")==true )になるよ。 自分の場合、配列初期化直後 for(i=0;i<str.length;i++)str[i]=""; でそれぞれの要素も初期化して if(str[i].equals("") ) 〜 とかやっちゃう。 結局、未初期化(=null)かそうでないか、空の文字列(="")かそうでないか、 どっちの判定をやりたいのかを明確にした方が吉。 別に if( str[0]!=null && str[0]!="")〜 でもできなくは無いと思うが。
421 名前:417 mailto:sage [04/10/02 00:07:13] ようするに初期化してない配列は(=null)で 空の文字列とか入れて初期化すると(="")ってことかな… だとすると空の場合実行するってのは if (str[i].equals("") ) { 処理 } でいいの?
422 名前:デフォルトの名無しさん mailto:sage [04/10/02 01:37:10] >>421 空文字("")とnullは別物だぞ。 String[] str; // この時点ではstrはnull str = new String[10]; // この時点でstrは実体あり、str[0]-str[9]はnull for(int i=9; i>=0; i--){ str[i]=""; // ここでstr[0]-str[9]はnullでなく""(0個の文字からなる文字列)を指す } ""に特別な意味を持たせるのかnullに特別な意味を持たせるのかは、 アンタのアプリの中身次第。
423 名前:417 mailto:sage [04/10/02 02:16:02] なる。 ちなみに421に書いたやり方で解決できました。 かなりさんきゅうべりーまっち
424 名前:デフォルトの名無しさん mailto:sage [04/10/03 16:01:15] ezアプリって>>2 のツールでしかビルドできんのですか?
425 名前:デフォルトの名無しさん mailto:sage [04/10/03 16:31:20] >2の公開ツールに入ってるコマンドラインツールは必須だけど それらをバッチファイルなりMakefileなりbuild.xmlから呼び出して使うことは普通に出来る。 実際、公式のビルドツールにも、ビルド手順をバッチファイルへ書き出すコマンドあるし。
426 名前:デフォルトの名無しさん mailto:sage [04/10/03 20:54:06] >>424 Sun以外にもコンパイラやライブラリ売っているメーカー あるから、別にSunのじゃなきゃ駄目というわけでもないよ。
427 名前:デフォルトの名無しさん mailto:age [04/10/03 23:27:36] 質問です 4M程度のテキストファイルを一行ずつ読み込ませるにはどのようにすればいいのでしょうか? 一旦ファイルを読み込んで配列データにしてからなら一行ずつ表示させることは出来るのですが、ファイルから直接一行ずつ読み込むのが出来ません。 そもそもそのようなことが可能なのでしょうか?
428 名前:デフォルトの名無しさん mailto:sage [04/10/04 00:04:35] >>427 1バイトずつ読んで改行文字のところで自分で区切る。
429 名前:427 [04/10/04 00:13:31] すいません、改行文字って \n しか知らないのですが…。 具体的にどのような処理にすればいいのでしょうか? 初歩的なこと聞いてすいません。
430 名前:デフォルトの名無しさん mailto:sage [04/10/04 02:10:31] >>429 \nならバイト値で10のハズ。 try{ InputStream is=getClass().getResourceAsStream("/data.txt"); ByteArrayOutputStream os=new ByteArrayOutputStream(); String[] str=new String[1000]; int line=0; int data=data = is.read(); while (data != -1){ os.write(data); if(data==10){ str[line++]=new String( os.toByteArray() ); os=new ByteArrayOutputStream(); } data = is.read(); } is.close();os.close(); }catch(Exception e){} でいいと思うけど。String配列を可変長にするにはVectorでもつかえば・・。 厳密にはWindowsの改行は\r\nで13,10だけど\rが残ってもたぶん大丈夫。 というか4Mのテキストってドコに存在できるわけ?そういう意味では不可能だと思う。
431 名前:デフォルトの名無しさん mailto:sage [04/10/04 23:11:49] 致命的エラー: クラスパスまたはブートクラスパスでパッケージ java.lang を検出できません。 と出るんですけど、何の設定が間違ってるんでしょうか?
432 名前:デフォルトの名無しさん mailto:sage [04/10/04 23:14:42] >431 書いて有る通り 「クラスパスまたはブートクラスパス」 の指定が間違っとるのと違う?
433 名前:デフォルトの名無しさん mailto:sage [04/10/04 23:36:47] テキストビューア作ってるオレがアドバイスすると、 4MBのテキスト全部はヒープに収まらない。内部データ構造にもよるが500KBあたりが限度(V601T/V602SH) どうしても読みたいなら、メモリに全展開しない方式を考えた方がいい。 もちろんSDカードか本体のデータフォルダから読み込む。 あと、Javaは内部処理がすべてUnicode(たぶんUTF-16)なので、 文字コードとバイト数の違いに注意。 ちなみに、ケータイのプラットフォームはMS932でなくSJISっぽい。 絵文字はどうなるのか知らん。 >>430 ByteArrayOutputStream使ってないので何ともいえんが、 一文字ずつ処理するとたぶん読み込みが激しく遅くなると思う。 自前バッファでの環境だと、8192byteごとに処理するとエミュ・実機とも一番読み込みが早かった。 実装により多少前後すると思うが、1K-10Kくらいをまとめて処理した方が早くなると思う。 あと、読み込み中(ストリーム開いてる途中)にOutOfMemoryErrorがでると、 StorageConnectionが使い物にならなくなってしまうという現象に悩んでる。 ExceptionでなくErrorなのでどうにかなるもんではないという結論でいいんだろうか。。 つーことで、>427 ガンガレ
434 名前:427 mailto:sage [04/10/05 01:04:58] >>430 ソースまで書いていただいてありがとうです。 ちなみに4MのテキストファイルはSDカードに入れてます。 >>433 500KB程度で限界ですか…ピープ制限って結構厳しいですね。 全展開せずに開くとゆうことは、 例えば開こうとしてるファイルが100バイトだとすると、 50バイトから100バイトの範囲を読み込む、みたいな処理にすればいいのでしょうか? えと、それで、悪いのですがもう一つ質問です。 外部(SDメモリとか)に保存したJARファイルからリソースが読み込めると聞いたのですが、可能でしょうか? それなら、JARファイルはZIPと同じ圧縮だと聞いたのでZIPで圧縮して拡張子をJARに変えて使えばPCからファイルを送るときに楽な感じなのですが・・・。
435 名前:433 mailto:sage [04/10/05 02:50:56] >>434 > 50バイトから100バイトの範囲を読み込む 改行で折り返すんだから、たとえば1画面に収まるバイト数は一定でない。 だから、メモリに展開せず必要になったときに常時読み込むような処理を書くのはめんどい。 > 外部(SDメモリとか)に保存したJARファイルからリソースが読み込める 拡張子とかファイルの中身に制限はないので、(厳密にはjpz/pnzとかSD書き出し時.hufの保護されたファイルは読めない) ZIPだろうがjarだろうがlzhで独自解凍処理組み込もうが何でもかまわん。 何がやりたくてどう楽なのかは知らんが。 理論的には、外部ファイルを解釈するインタープリタ作れるかもな。NESエミュもその一種に該当するか。 ところで、質問ばっかでアンタがどこまで理解してどこまでできてて何をやりたいのがよくわからんのだが。 最初の質問 >427 は >430 ですべて解決してるし。 StreamTokenizerみたいなのが欲しいだけ?もちろんそんなものはJ2ME/MIDPにはないけど。
436 名前:430 mailto:sage [04/10/05 09:38:51] あとでよく見ると\nも残っちゃってるな。まぁその辺は適当に・・。 >>433 なるほど。軽いファイルばかりでしかやってなかったので特に遅さは感じなかったけど 確かにある程度まとめたほうがよさそうですね。 僕は4Mでも全部開くつもりでソース書いてしもたけどやっぱ一部のみしか使えないよね。 じゃあ430のように1バイトずつ読んで\n探すより、例えば100KB分のバイト列読んで その分を一度文字列化してindexOf("\n")、substringとか使って区切ったほうがいいかも。 その場合は行の途中から始まったり今何行目なのか分からなかったりだけど。 小説みたいに読めればいいならそれでもいいと思うが、きっちり行を意識するとすれば 例えば100B読んで途中で切れた行の先頭が95Bなら、つぎは95から100B読むとか。
437 名前:デフォルトの名無しさん mailto:sage [04/10/05 15:03:09] vアプリってコンパイラはどこですか? えみゅれーたしか見つかりません。
438 名前:デフォルトの名無しさん mailto:sage [04/10/05 17:19:06] >437 コンパイラ自体はJ2SEのjavacでよろし。 ただし最新のを使っていけるかどうかわからんから ボダの公式サイトをもう一辺よく読んでらっしゃい。
439 名前:417 mailto:sage [04/10/05 21:26:03] あ、ごめんちょっと勘違いしてた。 436みたいな感じで100KB文のバイト列読んで〜 って感じでいってみます。 ZIPから読もうとしてたのはリソースファイルが結構な数あるのでカードに転送する時、一つのファイルだけ転送すればいいので楽になるかなと思ったからです ちょいと色々試してみますね。
440 名前:デフォルトの名無しさん [04/10/07 12:31:21] VappliをDLサーバーにアップロードしたのですが ダウンロードHTMLの記述の仕方がイマイチよくわかりません いいサンプルとかありましたら教えてください
441 名前:デフォルトの名無しさん mailto:sage [04/10/07 16:11:20] おめでとうございます。440様あなた天然記念物・珍獣保護種に指定されました。 by Vアプリ普及委員会
442 名前:デフォルトの名無しさん mailto:sage [04/10/07 18:02:41] pashe3.0の拡張データストレージって"storage:"でアクセスできるのはわかったんだけど iアプリのpos=みたいにopen位置を指定できないの?
443 名前:デフォルトの名無しさん [04/10/07 18:31:29] Phraseプレイヤーで複数の音源を同時再生できるのは分かったんだけど、和音数少なくて使い物にならないので他ので試そうと思ったんですけど 他の音源での同時再生は不可能でしょうか?
444 名前:デフォルトの名無しさん mailto:sage [04/10/07 18:42:24] 携帯java環境でString配列のソートをおこないたいのですが、 Arraysクラスが使えないようで、他の方法を探っています。 みなさんは手作業でソートを行なっているのでしょうか? つかっているクラス、メソッドがあれば教えてください。
445 名前:デフォルトの名無しさん mailto:sage [04/10/07 19:13:39] >>440 VアプリはコンテンツアグリゲータのサーバでしかDLできませんので、 とりあえずアプリゲットとかその辺に作者登録して指示通りにやるべし。 そのDLサーバがそうだというなら話は別だけど、どうせ自サバかレンタルでしょ? >>442 storageというかInputStream作るんだから InputStream.read(byte[] b, int off, int len) 使ったら? >>443 Phraseはmmfとpcmを合成して音源鳴らすんで、コレも単音源と言える気がする。 合成が必要な分、負担を減らすための和音数削減だと思うし。 解決にはならないでしょうけど、SmafPlayerとHVは同時に鳴らせたよ。 >>444 getBytes()とかでバイト列作って先頭から比較していく。そうすっと文字コード順に並ぶ。 入れ替えは String tmp=str[i]; str[i]=str[j]; str[j]=tmp; って感じの手作業。
446 名前:デフォルトの名無しさん [04/10/07 23:54:35] あどれす家だって登録してます? ttp://www.adyada.com/
447 名前:デフォルトの名無しさん [04/10/09 01:41:04] RecordStoreを使ってゲームの途中データを保存させようとしていて、 セーブする際にレコードIDを指定してい保存したいのですが もし1〜5までのレコードIDを使ったとして、1に保存されてないのに2に保存することは不可能でしょうか?
448 名前:デフォルトの名無しさん mailto:sage [04/10/09 02:07:58] >>447 setRecordとaddRecordの違いをふまえよ。
449 名前:デフォルトの名無しさん mailto:sage [04/10/09 13:57:11] >>447 レコードIDが指定出来るのはsetRecordだけだから既にあるIDしか指定出来ない だから1に保存されてないのに2に保存は無理 IDが指定したいのなら、 起動時にレコードIDの5が存在するか調べて存在しない場合は空のデータをaddして5まで作成する でもそうするとデータが存在することにはなってるから読み込んだときに何も保存されてない訳だからエラーになるだろうな こんな感じに処理すれば指定は出来るけどどうやって処理するのかは知らん。 誰か追記してくれ
450 名前:デフォルトの名無しさん mailto:sage [04/10/09 14:27:39] まず>>447 が落ち着いて文章を書け。 どんな仮定で何を聞きたいのか意味不明。
451 名前:447 mailto:sage [04/10/09 14:57:50] >>450 ユーザーがセーブした順番通りにデータを並べたいのです 言葉だと自分でも何言ってるのか分からないので自分なりに説明してみます [セーブ1空] [セーブ2空]←ここにユーザーがセーブする [セーブ3空] [セーブ4空] これで、読み込む際に [セーブ1空] [セーブ2入] [セーブ3空] [セーブ4空] このように表示させる為に、RecordIDで順番を整列しようと思ってるのです 分かりにくくてすいません。
452 名前:450 mailto:sage [04/10/09 15:13:18] >>451 こんな処理手順でどうかな。 ・アプリの初回起動時に保存データをnullとしたレコードを4つ生成する(IDの1〜4)。 ・ユーザーの要求に従ってID1〜4の任意のレコードに保存する。 (レコードはすでに4つ存在しているのでどれでも指定できる) ・画面に表示する際は、レコードID1〜4を順番に読み出していき、 nullなら空、nullでないならデータありと判断して表示処理する。
453 名前:447 mailto:sage [04/10/09 15:36:51] >>452 初回起動時かの判断ってどうすればいいでしょうか? 私が思いつく限りでは毎回、 起動時にRecordStoreを開いてtry文でID4を読み込みエラーをキャッチしたら1〜4にnullを書き込む方法ですが この方法で大丈夫でしょうか
454 名前:デフォルトの名無しさん mailto:sage [04/10/09 16:27:53] MIDPだけでキーの押されているとき、いないときの 判定をしたいのですがどうすればいいのですか?
455 名前:デフォルトの名無しさん mailto:sage [04/10/09 16:44:05] >454 KeyPress用フラグとKeyRelease用フラグを用意して、 それぞれのイベントで立てたり倒したりする。 で、判定時にはそのフラグを見て処理。 が定石だと思うのですが如何か。
456 名前:447 mailto:sage [04/10/09 19:05:24] if(getNumRecords()==0)で String moziretu = null; byte[] savdata = moziretu.getBytes(); と、してfor文かなにか使ってsavdataをaddRecordで4回書き込めばいいのかな・・・
457 名前:447 mailto:sage [04/10/09 19:13:08] ごめん、追記です String moziretu = null; ではなく、 String[] moziretu = null; と言う配列データです。
458 名前:450 mailto:sage [04/10/09 21:57:45] >>447 レコードストアの有無を気にせずとりあえず読み込みモードでオープンする。 RecordStore rs = RecordStore.openRecordStore(〜, false); rsがnullなら初回、nullでないなら2回目以降、と判断できる。 初回起動だと判断したらレコードストアを新規作成する。 以下は考え方なので、実際にはtry-catchとかやってくれ。 //レコードストアを新規作成モードでオープン RecordStore rs = RecordStore.openRecordStore(〜, true); //内容がnullのレコードを4つ作成する for (int i = 0; i < 4; i++) rs.addRecord(null, 0, 0); //クローズ rs.closeRecordStore(); この時点で空のレコード(保存内容がnullのレコード)が4つできてる。 >>452 や上記の考えではレコードの内容がnullかどうかで"空"か"入"かの区別と しているが、nullの代わりに「"空"を示すデータ」をrs.addRecord()のところで 保存しても構わない。やりやすいように変えてくれ。
459 名前:デフォルトの名無しさん mailto:sage [04/10/09 22:58:55] >>447 ちょっと解決策というわけじゃないんだが、アイデアがあるなら一度やってみてはどう? 456や457を見る感じ、ある程度分かってるみたいだし、書けなくは無いと思うけど・・。 レスが来る前に結果出せると思うし、駄目だったらその時細かく聞けばいいと思うが・・。 個人的な考えかも知れんが「null」を使うのはあまりよくないと思う。 417〜423でも書いてたけど文字列なら「""」の方がいい気がする。 キッチリ if( str[ i ] == null ){ 無い時 } else { 有る時 } と毎回やればいいけど ウッカリすると「ぬるぽ」が発生しかねない希ガス。 たとえば457を例にして mojiretu[ 0 ] = null; → byte[] data = mojiretu[ 0 ].getBytes(); で「ぬるぽ」。 byte[] data = null; → addRecord( data , 0 ,data.length ); でも「ぬるぽ」。 となると if( mojiretu[ i ] == null )rs.addRecord( null , 0 ,0 ); else { byte[] data=mojiretu[i].getBytes(); rs.addRecord(data.0,data.length); みたいにする必要がある。 「""」なら読み書きは変える必要が無く、空入の区別が必要なときだけ if( mojiretu[ i ].equals( "" ) ){ 無い時 }else{ 有る時 } でいい。
460 名前:447 [04/10/09 23:58:40] すいません、自分なりにソース書いてみました コンパイラとVアプリエミュで試してみるとちゃんと動きましたが、実際に保存出来ているのか謎なので 念の為意見お願いできますでしょうか? catch{}はtry{}が実行出来なかった場合に実行するとゆう意味だと私は思っているので問題はないと思うのですが…。 try { RecordStore rs = null; RecordStore.openRecordStore("test",false); if (rs == null) { rs.closeRecordStore(); RecordStore.openRecordStore("test",true); for (int r=0;r<6;r++) { rs.addRecord(null,0,0); } rs.closeRecordStore(); } else { rs.closeRecordStore(); } } catch (Exception e) {} testと言うレコードストアにIDを6まで作っています。
461 名前:450 mailto:sage [04/10/10 00:08:53] 447へのQ&Aとは直接関係ないカキコになるけど、一応フォローというか… >>458 の最後に書いたけど、>>459 が示したようにnullを用いずに 空文("")をもって「データなし」とするやり方も、もちろん普通にありだ。 ただ、 >「null」を使うのはあまりよくないと思う。 からではない。これはアプリによる。 保存するデータがユーザー入力の文字列だったりする場合、もし空文("") で初期化していると、そこが未使用のレコードなのか、ユーザーが何も 入力しなかった文章を保存したレコードなのか、区別が付かない。 そういうアプリではnullで初期化するとよい。 ここでもnullの代わりに適当な文字列をもって”空”の印にすることもできるが ユーザーがその文字列を絶対に入力してこないという保障はないので、 その可能性を心配するくらいなら、やはりnullで初期化するのが妥当だろう。 >>447 はどんなデータを保存するか質問内容からは分からなかったので >>458 の最後はあのような書き方をした。 また、「レコードのデータの初期値としてnullを使う」と自分で分かってて 決めていれば、自然とヌルポを意識したコードを書くから過度に警戒する 必要はない。というか慣れの問題。
462 名前:450 mailto:sage [04/10/10 00:21:49] >RecordStore rs = null; >RecordStore.openRecordStore("test",false); オープンした戻り値をrsで受けなきゃ。 >if (rs == null) { >rs.closeRecordStore(); rsがnullなのにrs.〜();とメソッド書いたら、これがヌルポだ! ここでchatch(〜){〜}へ直行するハメに。
463 名前:447 mailto:sage [04/10/10 01:37:36] 直してみました。 初めに int selectdata = 1;//これにユーザーが選んだ番号が入る String[] data;//これに書き込む(読み込んだ)配列データが入る を宣言してるものとします // *初回に空レコードを作成する try { RecordStore rs = null; rs = RecordStore.openRecordStore("test", false); if (rs == null) { rs.closeRecordStore(); rs = RecordStore.openRecordStore("test", true); for (int r=0;r<6;r++) { rs.addRecord(null, 0, 0); } rs.closeRecordStore(); } else { rs.closeRecordStore(); } } catch (RecordStoreException e) {} // *セーブ data[0] = "1個目のデータ"; data[1] = "2個目のデータ"; data[2] = "3個目のデータ"; try { RecordStore rs = RecordStore.openRecordStore("test", false);//初回で既に作成されているのでfalse byte[] b = data.getBytes();//dataをバイトに変換(合ってる?) rs.setRecord(selectdata, b, 0, b.length); rs.closeRecordStore(); } catch (RecordStoreException e) {}
464 名前:447 mailto:sage [04/10/10 01:43:42] 463続き // *ロード try { RecordStore rs = RecordStore.openRecordStore("test", false); byte[] b = rs.getRecord(selectdata); data = new String(b);//バイトを配列に変換(変換方法分からず) rs.closeRecordStore(); } catch (RecordStoreException e) {} こんな感じで書いてみたのですがコンパイラが byte[] b = data.getBytes();の部分でシンボルを解決出来ません data = new String(b);で互換性のない型。 と言ってきます。 解決出来ませんのエラーは何故か分かりませんgetByte();ってのがあったはずですし…。 互換性のない型はどうやって配列に直すのかが分からないからです。 多分このエラー以外は間違い無しだと思うのですが…
465 名前:450 mailto:sage [04/10/10 02:42:19] >>464 >byte[] b = data.getBytes();の部分でシンボルを解決出来ません 配列の要素を個別に扱わないと。 String[] data; としてるんだから byte[] b = data[0].getBytes(); などとなる。 ところで、ズラーッとソース貼るのもなんなので、テキスト形式のファイルで どっかのアップローダに上げた方がいいかもしれんよ。
466 名前:450 mailto:sage [04/10/10 02:44:30] String rsName = "test"; boolean existed = false; //レコードストアの存在確認 try { RecordStore rs = RecordStore.openRecordStore(rsName, false); if (rs != null){ existed = true; rs.closeRecordStore(); } } catch (Exception e){ existed = false; } //レコードストアが存在しない場合→新規作成 if (!existed){ try { RecordStore rs = RecordStore.openRecordStore(rsName, true); for (int r = 0; r < 6; r++) rs.addRecord(null, 0, 0); rs.closeRecordStore(); } catch (Exception e){}
467 名前:447 mailto:sage [04/10/10 16:55:43] >>450 次から長いの貼るときはアップロード使いますね。 ふむふむ、配列の要素個別に扱わないといけないんですね。 とゆうことは配列に3つの要素があるのでIDは今の3倍必要になりそうですね…。 レコードストアの初期化はこっちのほうが短くて綺麗ですね if(!existed)ってのは初めてみたのですが「trueでなければ」てことですかね? ソース書き直してみます
468 名前:デフォルトの名無しさん mailto:sage [04/10/10 20:54:02] 既出だったら申し訳ないが、Vアプリの開発情報色々増えてる。 P6エミュも出てる。 developers.vodafone.jp/dp/ 2004/10/08 更新情報 Vアプリ開発ツール ・V-appli Emulator(P6型)Ver1.0 ・V-appli Emulatorサンプルアプリ(P6型) ・ユーザーズガイド(P6型) ・Eclipse連携マニュアル を追加しました。 2004/10/01 更新情報 Vアプリ技術資料 ・概要編 Ver.1.0.5 ・開発編 Ver.1.0.3 ・メディア編 Ver.1.0.2 ・シリアル制御編 Ver.1.0.2 ・Tips編 Ver.1.0.12 ・Vアプリ端末情報 Ver.1.0.11 を更新しました。 ・新機能導入の手引き2004 〜P6型端末編〜 Ver.1.0.5 ・APIリファレンスJavadoc版(P6型) を追加しました。
469 名前:デフォルトの名無しさん mailto:sage [04/10/10 23:30:49] 一瞬MIDP2.0かと思ったら256k ver2でしたか。
470 名前:447 [04/10/11 01:14:01] ソース書き換えてみたのですがコンパイラではエラー出ず、エミュで実行するとエラーは出ませんが表示させたい部分が表示されません。 ソースはこんな感じです // *ロード try { RecordStore rs = RecordStore.openRecordStore(rsName, false); for (r = 0; r < 5; r++) { byte[] b = rs.getRecord(r+1); if (b == null) { rsDate1[r] = "ぬるぽ"; } else { rsDate1[r] = new String(b); } } rs.closeRecordStore(); } catch (Exception e) {} for文使って1〜5のIDに入っているデータを読み出して、ifでbがnullの場合は"ぬるぽ"を代入してるのですが drawString(rsDate[0],〜)で表示させても何も表示されません。
471 名前:450 mailto:sage [04/10/11 01:47:36] 配列b自身はnullにならない。ややこしい話は省略するが if (b == null) を if (b.length == 0) として。
472 名前:450 mailto:sage [04/10/11 02:18:47] すまん。混乱した。>>471 は取り消し。
473 名前:447 mailto:sage [04/10/11 02:44:05] >>450 いや、それで今の問題は直ったが。 でもまた次の問題が出てるわけだがな…。 自分で修正してみて手負えなかったら書き込みま
474 名前:450 mailto:sage [04/10/11 03:07:39] 自分が使ってるソースではやっぱ>>471 のようにしてた。 >>472 の書き込みはすみませんでした。
475 名前:デフォルトの名無しさん mailto:sage [04/10/11 04:13:57] >>468 サンクス。 ITMediaあたりでニュースになってなかったから気づかんかった。 まぁ先がないJSCLですが。
476 名前:デフォルトの名無しさん mailto:sage [04/10/11 08:32:08] >>470 その部分におかしな所はないと思う。表示できないなら表示部分を疑ってみて。 例えばrsData[0]がnullとか""の時がありうるのか、その時はdrawするのか、 単に背景色と同色で描画とか、画面外にdrawとか、後に上書きしてないか、とか。 コンストラクタの段階で適当な文字列 rsData[0] = "てきとー"; とかで表示を確認して レコード読み取り後どう変わったのかを確認するといいと思う。 あと、エミュで実行するなら、tryでエラーが出てないかの確認のため }catch(Exception e){ System.out.println( e.toString() ); } とかした方がいい。特にレコード関連はコード以外にもエラー原因があるし。
477 名前:447 mailto:sage [04/10/11 13:14:21] >>476 e.toString()でエラー書き出したらrsDate1[0]に何も入ってないのが原因だった。 byte[] bなんで、if(b==null)じゃelseになってしまい、bに何も入ってないのにrsDate1[0]に代入して表示させてるからぬるぽ ところで、open〜close内でgetRecord();を何度かに分けて使ってるんだけど、 2回目のgetRecord()でデータがちゃんと読み込めてないみたいなのですが open〜closeを3回に分けて書くと正しく動きました。 もしかしてopen〜close内でgetRecord()は一回までって制限ある?
478 名前:476(459) mailto:sage [04/10/11 19:21:32] >>447 だ〜か〜ら〜、e.toString()したらエラーの原因が分かるでしょや。 メッセージの意味が分からんならそれを調べるか聞くかしなっせ。 ソースが470+471のままなら(違うなら言ってね)、r=1の時何が起こってるか、 いっそ一行ごとにprintln使ってどの行まで行けてるか、ifでどちらに飛んでるか、 めんどうでも細かく調べてみることをオススメ。理解への近道。 やはりnullかどうかが面倒になってきそうだからもう一度459を奨めてみるテスト。 なんなら保存したいデータの変数が分かればsaveとroadメソッド書くよ。 あと細かいけど ・getRecord() なんてメソッドは無い。 ・rsDate1て、日(date)は関係無いだろ。 ・所々敬語を混ぜるくらいならいっそ全部普通語のほうがいいと思う。
479 名前:447 mailto:sage [04/10/11 23:13:06] >>478 e.toString()でエラー書き出したらnullPointerExceptionになってたってことを書いたのですが・・・。 原因は空(null)のrsDate1[0]をdrawStringさせようとしたからです これはif(b.length==0){}で空の場合は適当に文字列代入させることで解決出来ました getRecord()はレコードストアの指定IDからバイトデータで読み込むやつ 確か、byte[] getRecord(int recordID) rsDate1[0]はString rsDate1[]って配列データの要素で date=日じゃなくてデータ=dataを間違ってdateにしてた。
480 名前:476 mailto:sage [04/10/12 08:38:39] >>44 nullをdraw、int id、data、そんなことは分かってた。 今回の問題は >getRecord()でデータがちゃんと読み込めてないみたいなの でしょ?じゃあソコでe.toString()使おうとか思わなかったの? 使ってたけど何もメッセージが無いなら、一つだけ読んで終わるようにしてたんだろ。 ソース変わったなら言って、と書いたが何も無いってことはそのままか。 じゃあ470の最後のcatchでメッセージをださせてみて。
481 名前:447 mailto:sage [04/10/12 13:24:01] >>480 すまんちょっと勘違い getRecord()でデータがちゃんと読めてないと思ってたのは、 >>466 のをID10まで作成するようにして使ってたのを途中で20変えたが既にレコードは存在するのでIDが追加されずに読み込もうとしたのがエラーの原因だった。 コンパイラもエラー吐かないしエミュでe.toString()使ってもNullPointerExceptionって出るしでgetRecord()でちゃんと読めてない物だと思ってた けどそれは妄想でIDが追加されてないのが原因だったと・・・。
482 名前:デフォルトの名無しさん mailto:sage [04/10/13 22:20:36] C4型、P4型では問題なく開発出来ていたのだが、 P5型のエミュが「fail prepareApplication」と出て動作せずに困っています。 ただ、サンプルの実行は出来るので実行ファイルを作成する段階でなにかミスを していると思うのですが、C4、P4と手順が違うところってあるのでしょうか?
483 名前:482 [04/10/14 01:50:11] MIDlet-Jar-URL:でスペルミスしてただけだった。 orz
484 名前:デフォルトの名無しさん mailto:sage [04/10/14 15:12:05] byteデータを数値に変換して比較したいのですが、直接intにbyteを入れても互換性のない型と出てコンパイルに出来なくて困ってます 調べてみるとintValueで変換出来ると書いてあったので試してみたのですがシンボルを解決出来ませんと出てしまいます。 byteデータをintに変換するにはどうしたらいいのでしょうか?
485 名前:デフォルトの名無しさん mailto:sage [04/10/14 15:39:24] すいません byteデータではなく、byte[]でした byte[] bytes;ってな感じに書いてますがint number = (int)bytesとしてもコンパイル出来ませんでした。
486 名前:デフォルトの名無しさん mailto:sage [04/10/14 19:49:22] >byte[] bytes;ってな感じに書いてますがint number = (int)bytesとしても >コンパイル出来ませんでした。 あたりまえです。こちらへどうぞ。 【初心者】Java質問・相談スレッド54【大歓迎】 pc5.2ch.net/test/read.cgi/tech/1096548618/
487 名前:デフォルトの名無しさん mailto:sage [04/10/14 22:51:41] 配列だからな w 超初心者の俺でも分かるぜ (エッヘン w
488 名前:デフォルトの名無しさん [04/10/15 12:11:20] 質問なんですが、 Vアプリ開発ガイド[Tips編]によれば、SH系でネイティブ連係機能を使う際はkeyReleasedイベントでやれとのことですが、 ソフトキーによるcommandAction処理の場合はどうすればいいんでしょうか。。 TextBoxで気にせず素直にcommandActionでネイティブ呼び出すような処理を書いたら、 次同じソフトキーを押したときのイベントが起こりませんでした。 おそらくCanvasでkeyReleasedでやれと書いてあるのと同じ理由によるんだと思います。 (Pressedイベントでネイティブに遷移するとReleasedイベントが処理されないから、次ボタンを押した際はPressedが起こらずReleasedのみ起こる) 仕方ないので、commandActionでは処理したいことをやるためのthreadを別に立ち上げ、 ユーザがボタンを放してReleasedイベント処理されたかなと思われるくらいの時間threadにwaitかけてそれから処理するように仕組んだんですが、 なんか回りくどいですし、ユーザがボタン押しっぱなしでwait時間切れしたらそもそもこんな処理入れる意味がないですし。。
489 名前:デフォルトの名無しさん mailto:sage [04/10/16 14:34:55] >>484 >>311
490 名前:デフォルトの名無しさん mailto:sage [04/10/17 01:03:15] ゲームを作っているのですがフレーズ再生で困っています。 フレーズ再生を共通のプログラムでC4型、P4型、P5型問わず 動作させたいのですが、C4型のcom.j_phone.amuse.PhrasePlayerに対し com.jblend.media.smaf.phrase.PhrasePlayer とパッケージ名が異なるためコンパイルさえ通りません。 jar中にcom.j_phone.amuse.PhrasePlayerクラスを掘り込んで 機種判別してクラスを使い分ける方法を考えたのですが、 どなたか実際に動かしたかたおられますか?
491 名前:デフォルトの名無しさん [04/10/18 17:23:48] Vodafoneを使っているのですが、 携帯電話の側面についているボタンやオーディオリモコンのボタンのキーイベントを取得する方法ってあるんでしょうか? 携帯を閉じたまま、イベントを発生させたいんですが、何かいい方法あれば教えてください!!
492 名前:デフォルトの名無しさん [04/10/18 19:02:24] 質問です。 EZアプリ(Java)でカメラ制御を行おうとしているのですが、 エラーが出て困っています。誰かご存知の方がいましたら教えて下さい。 以下、サンプルコードです。 PhotoConnection conn = ( PhotoConnection ) Connector.open("photo:"); conn.setMode(PhotoMode.MOBILE_MODE); PhotoContent photo = ( PhotoContent ) conn.capture(false); byte[] data = photo.getData(); conn.close(); kjxへのコンパイルは正常にいくのですが、エミュレータで起動すると 「ALERT: Cannot load class com/kddi/id/CameraConnection」 と出てしまいます。コンパイルは出来るので、プログラムは間違っていない と思うのですが、何が駄目なのでしょうか? よろしくお願い致します。
493 名前:デフォルトの名無しさん [04/10/18 22:19:20] >>492 自己レスです。 エミュレータが3.0に対応していないためみたいです。 実機では動きました。
494 名前:デフォルトの名無しさん mailto:sage [04/10/20 05:56:13] P5のエミュレータ GraphicsUtil.drawRegion()が遅すぎて使い物にならなくて困っています。 どうにもならないのでしょうか?
495 名前:デフォルトの名無しさん mailto:sage [04/10/20 05:58:41] >>494 homepage1.nifty.com/marukun/java/vapp.html > →GraphicsUtil.drawRegion()の処理がエミュレータでのみ著しく重いという事みたいです。
496 名前:デフォルトの名無しさん mailto:sage [04/10/20 14:22:41] P6のエミュでデバッグ情報がでなくなってるんだけど… コレは以前のエミュのようにデバッグ情報を出すにはどうすればいいでしょうか。
497 名前:デフォルトの名無しさん [04/10/20 23:00:22] テキストボックスを使って数値を入力したいのですが、どこを探してもiアプリのtextBoxしか見つかりませんでした。 前にVアプリでテキストボックスを利用しているアプリを見たような気がするのですが、 Vアプリにはテキストボックスは無いのでしょうか? 参考になるサイトなどご存知の方居ましたら教えてください
498 名前:デフォルトの名無しさん mailto:sage [04/10/20 23:24:06] >>497 参考になるドキュメント→>>2 テキストボックスはプログラマ各々が自作するものなのか、用意されているものなのか。 といった携帯アプリを作るJavaの構成が理解できてないってこったな。
499 名前:デフォルトの名無しさん mailto:sage [04/10/20 23:42:36] >>497 godwood.allnet.ne.jp/vioret/midpapi/javax/microedition/lcdui/TextBox.html
500 名前:名無しさん mailto:sage [04/10/21 05:26:08] JSCLを使って作られていたプログラムをMID-P2.0の機能で 実装し直そうとおもいます。 resフォルダに入れたファイルを読みたいのですが openDataInputStream(ss);あたりでエラーになるのですが どうすればいいのでしょうか? とりあえず画像ファイルはcreateImageで代替えできるのでいいのですが バイナリだとやり方が思いつきません エラー java.lang.ClassNotFoundException: com/sun/midp/io/j2me/resource/Protocol at javax.microedition.io.Connector.openPrim(+99) at javax.microedition.io.Connector.open(+15) at javax.microedition.io.Connector.open(+6 javax.microedition.io.ConnectionNotFoundException: The requested protocol does not exis 環境 j2me_wireless_toolkit-2_1_01-windows.exe JSCLと関係ないとおもうのですがわかりません 解決策をおしえてください よろしくおねがいします。
501 名前:500 mailto:sage [04/10/21 05:27:58] import java.io.*; import java.util.*; import javax.microedition.io.*; import javax.microedition.midlet.*; import javax.microedition.lcdui.*; import javax.microedition.io.*; import javax.microedition.rms.*; try{ //byte buf1[] = new byte [0x3000]; //String s = "resource:///"; //String ss; //int buf_p=0; //for( int i = ReadCount; i < 13; i++ ){ //try { //ss = s+i+".png"; //DataInputStream _in = Connector.openDataInputStream(ss); //buf_p = _in.read(buf1); //_in.close(); // //} catch (IOException x) { //game_mode = -2; //break; //} //image_back[i] = Image.createImage(buf1, 0, buf_p); //ReadCount++; //} String str; for( int i = ReadCount; i < 13; i++ ){ str = i + ".png"; image_back[i] = Image.createImage("/" + str); } }catch(Exception e){ }
502 名前:494 mailto:sage [04/10/21 12:58:52] >>495 ありがとうございます。 実機では普通に動くのは知っていました。 エミュレータが遅すぎて困ってるんです。 正直デバックが苦痛です。 エミュレータで普通に動かすにはどのくらいのマシンスペックが必要なのでしょうか? ちなみに私の環境は P4の2.53GHz、メモリ512MB、OSは2000です。
503 名前:名無しさん mailto:sage [04/10/21 20:44:41] 週間ゲーム&アプリLiveでは0x, 30x, 40xと5x, 60x, 80xに分けられていますが どちらでも動作する50Kbyte未満のJAVAアプリ(jadはMIDlet-OCL: JSCL-1.0.1で定義)も 別々に登録される事になるんですか?
504 名前:デフォの名無しさん mailto:sage [04/10/21 21:40:41] イースってゲームでSDに保存したJARファイルからデータを読み出して使ってるみたいなんですけど、 これは url = "jar://mc/test/test.jar/test.png"; connector.open(url, Connector.READ); とすれば開けるのでしょうか? 開発ガイドには jar://ファイル名+リソース名 としか書いてなかったもので・・・ 知ってる方居ましたら宜しくお願いします
505 名前:504 [04/10/22 00:50:52] すいません訂正です url = "jar://mc/test.jar/test/test.png"; でした。 SD内の、test.jarの中のtestフォルダ内のtest.pngを指定しています
506 名前:488=495=499 mailto:sage [04/10/22 02:54:48] >>490 全部で動かそうと思うとC4型用のAPIのみで作る必要がある。C4のAPI使えばP4/P5でも動くと思う。 機種のライブラリを判別して個別処理させるんなら、判別法がTips編の1.12に載ってるね。 >>491 閉じるとVアプリは一時停止する仕様だから閉じたままは無理。 継続型待ち受けアプリならいけるかもしれんが、P6型ではこのタイプのアプリは廃止されたそうな。 開いたままでもかまわんなら、キーコード表示するデバッグ用のアプリを端末に入れて、 押したキーとキーコード対応を自分で解析すれば何とかなるかもしれん。 もし解析した場合はキーコード情報の報告ヨロ >>500-501 jarの中身のファイルをストリームで開くのはClass.getResourceAsStreamを使うのが一般的じゃね? Connector.openとかのURL部分に何が指定できるのかオレは詳しくシラネ。
507 名前:488=495=499 mailto:sage [04/10/22 02:55:12] >>502 普通にっていわれても、アプリでどんなけの処理をしたいかによるから一概にはいえんと思うが。 1回の描画で40*40のImageを使って(使い回して)Canvas#paintのGraphicsに400回ほどdrawRegionを呼んで転送するアプリをオレは書いたけど、 エミュで特に動作速度に不満はなかったなぁ。Time取得して描画前・描画後の差分取ったら0.1秒以下だった、おおむね30-40msecほど。 Pen4 2.4CGHz/1GB/Win2kSP4 あと直接関係ないが、>P4 という表記は紛らわしいのでやめた方がいいと思われ。。 それと、エミュでなく実機でのみの話だと思うが、少数のImageだけ使った方が高速処理できるそうな(新機種手引P6型端末編2.3.3より) >>503 オレはアプリLive使ってないので知らんが、ページ構成見る限りそう取れるよねぇ。 直接アプリLiveサポに聞いてみたらどう? アプリゲットの方は、全部で動くアプリの登録は1回でOK >>504-505 該当箇所(概要編4.6)読んだが、自分でWebからダウソ・RecordStoreに保存したjarファイルにアクセスする場合って前置きがあるが。 SDカードにアクセスするためにはStorageConnection使う方法しかないとオレは理解してるんだが。 で、誰か >488 もおながいします。。
508 名前:488=495=499 mailto:sage [04/10/22 02:58:35] >>507 > Pen4 2.4CGHz/1GB/Win2kSP4 +VアプリエミュP5型 あと、文章が横に長くなってしまってスマソ
509 名前:デフォルトの名無しさん mailto:sage [04/10/22 04:09:16] >>488 は >TextBoxで気にせず素直にcommandActionでネイティブ呼び出すような処理を書いたら、 > 次同じソフトキーを押したときのイベントが起こりませんでした。 ここが問題点の核心なんだが2行目がイミフメでコメントできない ソフトキーでのTextBox呼び出し処理自体は書いたことあって普通に動作してる
510 名前:488=495=499 mailto:sage [04/10/22 05:11:47] >>509 Command登録したTextBoxで、ソフトキー押されたときにネイティブ連係する機能 (具体的にはStorageConnection使ってファイルを保存する操作、 保存時に上書き確認メッセージがネイティブ側で表示される) を用意した場合で、 TextBoxに遷移→ユーザがソフトキー押す→commandActionイベント通知→保存処理を実行 →保存確認メッセージ(ネイティブ)→ユーザがOK→TextBoxに戻る→ユーザがもう一度ソフトキー押す →イベントが通知されない・commandAction呼ばれない となります。さらに続けてもう一回ソフトキーを押すと反応します。 ネイティブ連携しない機能をcommandActionで呼ぶ場合は問題ないです。 TextBoxをCanvasに、ソフトキー(Command)イベントをkeyPressedイベントに 置き換えた場合の説明がTips編(SH53/V601SH箇所)に説明されてますが、 この場合はkeyPressedではなくkeyReleasedでやれと書いてあります。 でもcommandActionイベントはボタンを押したタイミングで起こり、 またボタンを放したタイミングはイベント取得できないので、 同様の回避法は使えません。 で考えたのが >488 後半のThread使った回避法で、 要はユーザがボタンを放すタイミングの時にネイティブ機能が動いているといけないということなので、 ユーザがボタンを押してから離すまでの時間くらいwaitでずらしてから機能を呼ぼうということをしてます。 でも何か根本的解決ではないので、別の回避法やってたり同様の現象で悩んだりしている人がいないかどうかが確認したいんです。
511 名前:500 mailto:sage [04/10/22 05:40:48] >>506 サンクス。試してみマツ
512 名前:509 mailto:sage [04/10/22 08:42:25] >>510 回避策は2つ思い浮かぶ。 1つめ。 keyReleased()で処理すればうまく行くと思うのであればcommandAction()を keyPressed()とkeyReleased()に分解すればいい。 やりたい処理(ファイルアクセス)をcommandAction()ではなくkeyReleased()に書き、 commandAction()からはkeyPressed()とkeyReleased()を呼び出す。 これで見かけ上はソフトキー押下が数字キー同様のkeyPressed()/keyReleased() に反応しているかのようになるのでドキュメントの条件を満たしたことになる。 …なーんて、これじゃ回避策になってないね。スマソ
513 名前:509 mailto:sage [04/10/22 08:43:48] 2つめ。これが本命の回答。 commandAction()内で重い処理をしていることがズバリ原因なので、その点を変更する。 システムからのイベント通知を受け取るcommandAction()/keyPressed()/keyReleased() といったメソッド内では、画面描画、通信、ストレージアクセスといった重い処理を してはいけない。 これらのメソッド内ではフラグ操作や、パラメータをとあるメソッドに送り付けるだけの 処理にとどめる。そしてメインの処理ループでそのフラグなり何なりを監視しておき、 反応があればメイン処理の中で、指定の重い処理を行うようにする。 >ネイティブ連携しない機能をcommandActionで呼ぶ場合は問題ないです。 このことはcommandAction()内で重い処理を行わないからこそと言える。
514 名前:490 mailto:sage [04/10/22 15:21:02] >>506 確かにP4のstubclasses.zipにはcom.j_phone.amuseパッケージが 含まれておりました。 com.j_phone.amuseAPIを使用してみたいと思います。 回答いただきありがとうございました。
515 名前:504 mailto:sage [04/10/22 18:39:44] StorageConnection使って、 Connector.open("jar://mc/test/test.jar/test.png", Connector.READ); とURLの部分のみ変更を加えてみたのですが NullPointerExceptionが出て動かないみたい URL変更前はfile:スキームで正しくファイルが読めていました。 ちなみに読み出そうとしてるtest.pngは空ソースだけのプロジェクトを作って、RESフォルダにtest.pngを入れた状態でjar化したものです。 どなたかSDのjarからリソースを読み込むのに成功した人居ませんでしょうか
516 名前:488=495=499 mailto:sage [04/10/22 22:30:18] >>514 ちなみに、C4のAPIで使えなくなってるやつとして、 ResourceOperator ResourceOperatorManagerのクラスがV601SHから削られてるんでそこだけ注意。 他はたぶん大丈夫と思う。 >>514 StorageConnectionの説明部分ではfileスキームしか記述がないから、一般にはできないんじゃないかな。 公開ドキュメント見ていってるから、実は非公式にできるんですよとかいう話ならこれ以上は何もわからんけど。 なので、イースの場合は自前でjarを解凍してるんじゃないかと推測。 もしくは、jarという拡張子だけど、実は中身はpngなどのリソースを単純にバイナリレベルでつなげただけのものとか。 >>512-513 どもです。 やはりcommandActionの中ではフラグあげるなり別スレッド立てるだけにしてすぐに処理を返し、 やりたいことは、立ち上げたスレッドなりフラグを参照する別スレッドなりでやれという方針しかないですね。
517 名前:デフォルトの名無しさん [04/10/22 23:05:33] Vアプリに関して質問します。 www.itmedia.co.jp/mobile/0203/15/n_jjava2_2.html ITmediaのこのページにある待ち受けアプリのサンプルを、 J2ME Wireless Toolkit 2.1 でパッケージを作り、 V-appli Emulator(P5型) Ver.1.0 で実行させると、 "ALERT: unable to load class com/jblend/net/j2me/http/HttpException" というメッセージが出て実行されません。 何がいけないのでしょうか? stubclasses.zip は V-appli Emulator と同じものを使ってBuildしています。 よろしくお願いします。
518 名前:デフォルトの名無しさん mailto:sage [04/10/23 02:57:47] >もしくは、jarという拡張子だけど、実は中身はpngなどのリソースを単純にバイナリレベルでつなげただけのものとか。 これでしょ。拡張子に制限あるからね。
519 名前:デフォルトの名無しさん mailto:sage [04/10/23 03:16:25] midpで、左のボタン(通話ボタンの上にあるやつ)と右のボタン(電源ボタンの上にあるやつ)の定数コードってどれですか? Canvas.GAME_A〜Canvas.GAME_Dのどれかだと思うんですけど
520 名前:デフォルトの名無しさん mailto:sage [04/10/23 03:17:59] >>517 そのページのソース確認してないんだけど、インナークラスはちゃんとjarに入れたの?あとpreverifyも
521 名前:519 mailto:sage [04/10/23 04:23:59] すいません。自己解決しました。 Commandクラスを使って、個別に登録するんですねf^^;
522 名前:517 mailto:sage [04/10/23 13:56:44] >>520 KToolbar 使ってるので、問題ないです。
523 名前:504 mailto:sage [04/10/23 14:44:05] >>516 >>518 イースで使われているjarを解凍しようとしてみるとエラーが出て無理でした。 どうやらバイナリレベルで繋げて、自前で解凍してるみたいですね urlの部分をjar://file://mcとしてみましたがこれも駄目のようです。 開発ガイド9にdeflate圧縮データの復元とゆうものがあったのですが全体を展開するみたいなので使えない…。 そこで、バイナリレベルで繋げて自前で解凍する方法を使ってみようと思うのですが どのように一つのバイナリにすればいいのやら… 解凍の部分はプログラムにxからyバイトまでが〜.pngとゆうファイルで…と記載されてるのでしょうか
524 名前:デフォルトの名無しさん mailto:sage [04/10/23 18:02:11] >>523 順に読み込むだけなら、 ファイル数 ファイルサイズ1 ファイル1 ファイルサイズ2 ファイル2 ファイルサイズ3 ファイル3 ・・・ でいいんじゃね?
525 名前:デフォルトの名無しさん mailto:sage [04/10/23 19:09:32] >どのように一つのバイナリにすればいいのやら… 「結合」とかで検索!
526 名前:デフォルトの名無しさん mailto:sage [04/10/23 19:28:39] てゆーか…… 画像は適宜結合してなるたけファイル数を減らして、 jarのファイルエントリを縮めるのは定石だと思ってたんだが 世間一般ではそういうことしないのか?orz
527 名前:504 mailto:sage [04/10/23 19:32:04] >>525 VBやら関係無いの多いので時間掛かりそうですが探してみます
528 名前:デフォルトの名無しさん mailto:sage [04/10/23 19:32:15] >>523 各ファイルを読み込んで、それをObjectOutputではき出して、プログラム内で連結して、ファイルに出力して、jそれをar拡張子にしちゃえば? そんな単純な話じゃないか・・・
529 名前:デフォルトの名無しさん mailto:sage [04/10/23 19:36:55] ここにある波紋アプレット hp.vector.co.jp/authors/VA012735/applet/dropcol.htm とてもきれいなんだけど、これを携帯に移植できるかな? 画像のピクセルを編集できないといけないみたいだけど。
530 名前:デフォルトの名無しさん mailto:sage [04/10/23 20:01:37] 携帯で、ピクセル扱うと遅いよー
531 名前:デフォルトの名無しさん [04/10/23 22:33:34] 質問です 文字列比較でequalsIgnoreCaseを使いたいのですがコンパイルしたときにエラーが出て困っています。 ソースはこんな感じになってます String[] str= new String[5]; str[0]= "abc"; if(str[0].equalsIgnoreCase("abC")){}
532 名前:デフォルトの名無しさん mailto:sage [04/10/24 01:06:35] >>529 秒間1フレームとかになるかもしれん。
533 名前:デフォルトの名無しさん mailto:sage [04/10/24 01:31:53] >>531 CLDC+MIDPにString#equalsIgnoreCaseはないけど。 toLowerCase/toUpperCaseはあるからそんなに苦労はしないと思うけど。
534 名前:デフォルトの名無しさん mailto:sage [04/10/24 01:45:46] >>526 日曜プログラマなのでそんな面倒なことはしません。 ユーザのパケ代に響いてもシラネ。 >>523 tarなんかの非圧縮でファイルを固める仕様が参考になるんじゃないかな。 で、こんな話がありますが、関係するのはJBlendの中の人だけってことでいいんですよね? ITmediaモバイル:J2MEに脆弱性。携帯電話のJavaアプリに影響 www.itmedia.co.jp/mobile/articles/0410/23/news013.html
535 名前:デフォルトの名無しさん mailto:sage [04/10/24 01:47:39] >>533 自力でequalsIgnoreCaseクラス作ってしまいました…。
536 名前:デフォルトの名無しさん mailto:sage [04/10/24 02:22:02] 実機だとfillRect()がズレるって聞いたんだがずれてる?
537 名前:デフォルトの名無しさん mailto:sage [04/10/24 03:08:12] >>534 Nokia DCT4はjblendなのか?? secunia.com/advisories/12945/ アプリ起動直前にバイトコード検証が行われるんだけど、そこに脆弱性があって ネイティブのコードが実行される恐れがあるとか
538 名前:デフォルトの名無しさん mailto:sage [04/10/24 04:30:23] >>536 そんなこと言ってるのは大方drawRect()と比べて幅と高さが1ドットずれるー とか、リファレンス読み違えて勘違いしてる人なんじゃない?
539 名前:デフォルトの名無しさん mailto:sage [04/10/24 11:03:26] その脆弱性を突けば、もっと高度なJavaアプリが・・・
540 名前:デフォルトの名無しさん mailto:sage [04/10/24 12:46:06] >>539 可能かも? だが、棒打のアプリは公開する時に解析されるから公開は無理
541 名前:デフォルトの名無しさん mailto:sage [04/10/24 13:14:36] >Nokia DCT4はjblendなのか?? JBlendもSunのリファレンス元に作成されているから同じ脆弱性が発生している。 Nokiaで同じ問題が出ている理由は、元が同じだから。
542 名前:デフォルトの名無しさん mailto:sage [04/10/24 13:21:34] 複数のtxetをres内から配列にして読み込むには、どのように すれば良いのですか? 調べても1つしか読み込む方法が見つからないので、分かる方 ご教授お願いします。
543 名前:デフォルトの名無しさん mailto:sage [04/10/24 21:05:55] >>542 自前でなんとかするしかないんじゃないかな? \n区切りでString配列を返す関数とか作って。
544 名前:デフォルトの名無しさん mailto:sage [04/10/24 21:59:30] > JBlendもSunのリファレンス元に作成されているから同じ脆弱性が発生している。 なるほど。つーかずいぶん詳しいな > Nokiaで同じ問題が出ている理由は、元が同じだから。 って事は、JBlendでは既に知られている脆弱性だったって事か?
545 名前:デフォルトの名無しさん [04/10/24 22:49:17] iアプリにあるホワイトアウト処理みたいなのを使いたいんだけど、 JSCLには無いようなので他の方法で同じ処理をしようと思うのですがどのような処理をすればいいのでしょうか…
546 名前:デフォルトの名無しさん mailto:sage [04/10/25 00:02:31] iアプリの場合、2Dの半透明描画は機種依存 機種によってはホワイトアウトにならないヤカン
547 名前:デフォルトの名無しさん mailto:sage [04/10/25 00:08:42] >>545 com.j_phone.util.ImageUtil#createMaskedImage使えば、 マスクパターンの細かさを段階的に変えていって疑似半透過できるかも。 まぁP6以降だが。 GraphicsUtil#setPixelでピクセル単位でいじればもっと柔軟に対応できるが、 たぶん >530
548 名前:デフォルトの名無しさん mailto:sage [04/10/25 00:23:32] P6以降ですか…。 範囲を指定して色を足していくような処理も重いですか? 例えるとx1,y1からx50,y50までの範囲の色にピクセルごとにr,b,g+100足して表示するとか…。 そんな処理がしたいのですが…
549 名前:デフォルトの名無しさん mailto:sage [04/10/25 01:35:25] >>546 505以降なら、MascotCapsuleを使えば全機種いける。
550 名前:523 mailto:sage [04/10/25 02:19:06] deflate圧縮データの復元ってのがあるみたいなんですけどこれって圧縮データ全てを展開するってことですか? そもそもdeflate圧縮ってzipの圧縮方法であってますよね? これ使って指定したファイルだけ取り出す方法あれば嬉しいのだけど。
551 名前:デフォルトの名無しさん mailto:sage [04/10/25 03:45:23] >>542 Vectorクラスに順次放り込んで最後にString配列へcopyInto()して終わり
552 名前:デフォルトの名無しさん mailto:sage [04/10/25 05:22:46] >範囲を指定して色を足していくような処理も重いですか? 範囲が凄く小さいなら大丈夫 >>549 プリミティブ描画で簡単に出来ますな 加算、減算、平均?の3通りしかないけど、ホワイトアウト程度の単純な処理なら問題なし >>530 機種によっては、drawImageには対応してるけどfillRectには非対応だったり 使い物になりませんw
553 名前:デフォルトの名無しさん mailto:sage [04/10/25 10:00:10] Vアプリで質問です。 Randomクラスを使う羽目になって、ふと疑問に思ったんですが java.util.*; ってimportできるんですね。しかもj2seで使えるAPIとはかなり違うみたいですね。 例えば、Math.Random()メソッドは使えないだの、RamdomクラスのnextFloat()メソッドは使えないだの、他いろいろ。 ここら辺についてはどのAPIリファレンスを参照すればいいんですか? JSCLとCLDCには載ってなかったです。
554 名前:504 [04/10/25 17:45:15] 毎回プログラムにファイルサイズやらを書き換えていくのが面倒なので >>528 さんが言っているObjectOutput使って複数のファイルを一まとめにしてしまおうと思ったのですが これは 1.纏めるファイル名をlist()か何かで配列に収める 2.手動で適当にファイル(txtとか)を作成して拡張子をjarしておく(binarry.jar 3.一つ目のファイルをbyte配列に読み込む 4.ObjectOutputでbyte配列を3のファイルに書き出す てな感じで初めに作った配列分、3〜4を繰り返せばいいと思うのですが ソースはこんな感じでいいのかな。。。 ObjectOutputてのが意味不明なので指摘お願いします…。 String[] files=new String[ファイル数]//ファイル数 for(i=0; i<files.length; i++){ ... ...//目的のファイルを読み込む部分 ... byte[] b;//書き込むデータのbyte配列 conn = (StorageConnection) Connector.open("file://mc/binarry.jar"); os = sc.openOutputStream(); ObjectOutput out = new ObjectOutputStream(new FileOutStream(os));//この辺りから意味不明 out.writeObject(data, b); out.frush(); out.close(); os.close(); conn.close(); }
555 名前:504 mailto:sage [04/10/25 17:52:45] >>554 の続きです。連投すみません 読み込む時は conn = (StorageConnection) Connector.open("file://mc/binarry.jar"); os = sc.openInputStream(); ObjectInputStream in=new ObjectInputStream(new FileInputStream(si)); byte[] b=("filename")in.readObject();//目的のファイルをbinarry.jarから読み込む in.close(); os.close(); conn.close(); あとはgazou = Image.createImage(b, 0, b.length);で適当に使う。 読み込む時に554で作成したファイル中の目的のファイルを指定出来ると思ってるんだけど妄想?それとも出来ます? エミュレータでファイルを一まとめにしたの作って、実機でファイルを取り出して使うような使い方がしたいんだけども…不可能かな
556 名前:デフォルトの名無しさん mailto:sage [04/10/25 18:56:53] >>553 JavaのサブセットはJ2ME。主にCLDC、MIDP1.0のリファレンスを参照のこと。 携帯アプリ向けJavaは浮動小数をサポートしてないとか 例えばStringクラスなどでも使えるメソッドが限られているとか 基本的なところが理解できるはず。
557 名前:デフォルトの名無しさん mailto:sage [04/10/25 19:58:10] >>556 ありがとうございます!CLDCに載ってました! 私が読んでいたのはMIDPの方でした・・・。 なるほど、浮動小数をサポートしていないということですか
558 名前:デフォルトの名無しさん [04/10/25 22:13:09] canvasにしているクラス外からrepaint()を使いたいのだがコンパイラがstaticじゃないと吐く public static int paint(Graphics g)にしたら今度は このstaticメソッドはCanvasからのインスタンス・メソッドを〜 とか出る ようするにcanvasクラス外からrepaint()使うのは無理ってこと?
559 名前:デフォルトの名無しさん mailto:sage [04/10/25 22:26:11] >558 Canvasのサブクラスにrepaint()呼ぶだけのpublicメソッド定義すればいいじゃん。
560 名前:デフォルトの名無しさん mailto:sage [04/10/25 22:30:41] そんな手があったか…半日悩んだのが馬鹿みたいだ 俺の中では559、あんた天才
561 名前:デフォルトの名無しさん mailto:sage [04/10/25 22:53:44] で、Canvasのサブクラスにrepaint()呼ぶだけのpublicメソッド定義は出来たんだけど 別のクラスから呼び出すとエラーでる Canvasのソースは public String repaint2() { repaint(); return null; } 呼び出してるところのは myCanvas.repaint2(); エラーは 型canvasからのメソッドrepaint2()はstaticではありません。 repaint2をstaticにしてみるとCanvas側でエラー。 なんとかしてくれ…。
562 名前:デフォルトの名無しさん mailto:sage [04/10/25 23:13:44] >561 えーと。 その「別のクラス」に、Canvasのサブクラスを参照するフィールドを作って、 Canvasのサブクラスのインスタンス生成したときにそれをフィールドにセットして 後はそのフィールドのインスタンスのrepaint2()を呼べばいい(はずなんだ)が。 (このときrepaint2()はstaticにしちゃいかんですよ) しかし、Javaの基本をもう一度おさらいした方がいいかも……
563 名前:デフォルトの名無しさん mailto:sage [04/10/25 23:56:14] フィールド作って〜やればいけた >>562 サンクス
564 名前:デフォルトの名無しさん [04/10/26 21:00:03] 昨日canvas外のクラスからrepaint()出来なくて困ってた者です。 いざ使おうとcanvas外のクラスから使ってみるとエラーになってしまいました。 色々と書き換えてみたりしたのですがどうやっても直りません ソースは以下のようになってます /* midlet */ public class msc extends MIDlet { public msc() { cvs canvas = new cvs(this); Display.getDisplay(this).setCurrent(canvas); (new Thread(canvas)).start(); } ...startApp()とかが続く /* cvs */ public class cvs extends Canvas { private MIDlet midlet; cvs() {} cvs(MIDlet midlet) { this.midlet=midlet; } public void run() { shori.exet(); } public void paint(Graphics g) { ... } ...略 /* shori */ public class shori { private static cvs cv; public shori() {} public static String exet() { cv=new cvs(); ... } ...略
565 名前:デフォルトの名無しさん mailto:sage [04/10/26 21:25:51] >564 えーと……やっぱし、Javaの基本、クラスとは何でメソッドとはどういうもので、とかを もう一辺やり直した方がいいと思う。 例えばメソッドがstaticってのはどういう意味なのか、何故staticなメソッドから そうでないメソッドが呼べないのか、全然分かってないのでは。 とりあえず、 ・cvs#run()でshori.exet()を呼んでるが、それなら単に cvs#run()でrepaint()を呼べば済む話では? ・shori.exet()でcvsの新しいインスタンスを作っているが、 それがmscのコンストラクタで生成したcvsのインスタンスと * 全く関係のない、縁もゆかりもない別物 *だということは分かってる?
566 名前:デフォルトの名無しさん mailto:sage [04/10/26 21:32:24] /*shori*/んとこのcv=new cvs();無しにしればいけるのでは??
567 名前:デフォルトの名無しさん mailto:sage [04/10/26 21:34:26] 連投ごめ、多分だけどprivate static cvs cv;てしてるとこのprivateも要らないと思う それで一回やってみそ
568 名前:デフォルトの名無しさん mailto:sage [04/10/26 21:40:31] >>564 オレも、クラスとインスタンスとstaticについて理解し直すとこからやり直した方がいいと思う。 Javaの基本というか、オブジェクト指向の基本だし。 その調子だと、privateとpublicの違いについても怪しいな。
569 名前:デフォルトの名無しさん mailto:sage [04/10/26 21:48:36] >>565 ごめん 学校で習った程度だから漏れの知識ショボイ クラスとは何でとかも習ったけど小学生相手にリンゴが一個あって〜とかと同じレベル >>566-567 言ってる部分を消してみるとエラーでエミュが落ちることは無くなった けどが描画されない・・・
570 名前:564 mailto:sage [04/10/26 22:13:52] >>568 装飾子の違いは分かってる…と思う privateとpublicの違いは確か、同クラス内と制限無しだったような staticは共有メモリ領域を利用するんだっけ…
571 名前:デフォルトの名無しさん mailto:sage [04/10/26 23:40:28] auのPhase3.0エミュを使って通信でtxtファイルを取得しようとすると403が帰ってきます。 実機では問題ありません。サーバー側のログを見ると 実機では con = (HttpConnection)Connector.open("aaa.jp/ "+net); のうちのnetの部分だけをGETしているのに対し、エミュレータからだと http://から取得しようとしている、という違いがあります。 エミュレータがわの設定の問題なのか、サーバーの設定なのか通信関係の知識がないためにわかりません。 一応403の意味はググってしらべました。 それからサーバーは自宅サーバー(win)です。
572 名前:デフォルトの名無しさん mailto:sage [04/10/27 01:10:00] >>564 MIDletとCanvasとshoriの関係ってどうなってんの?って話。 端末はアプリ実行時にMIDlet生成しようとして、通常MIDlet内でCanvasを生成して 実際の処理はCanvas内で完結するように作ると思う。 第3のインスタンス(shori)をCanvasで生成して、そいつからCanvasに再描画させるなら cvs(MIDlet midlet) { this.midlet=midlet; } と同様に、shoriの中に shori(Canvas canvas) { this.canvas=canvas; } としたら、このコンストラクタ後 canvas.repaint(); で出来る。もちろんこれだけではないが、MIDlet(msc)とCanvas(cvs)の関係と同様に Canvas(cvs)と処理役(shori)の関係を作ればいいってこと。 >>571 報告乙。え?質問なの?
573 名前:デフォルトの名無しさん mailto:sage [04/10/27 16:15:08] >>571 403の意味より…
574 名前:564 mailto:sage [04/10/27 17:29:35] さっき買ってきた本見ながら572さんの言ってるのを色々試してみるといけました。 コンパイラでエラー出ないし実行も問題ないんだけど /*cvs*/の所でshori2(shoriとはベツ)のメソッド使用すると 型shori2からのstaticメソッドmethod(String)にはstaticにアクセスして下さい と警告が出る shori2.method(String)からstaticを取ると警告は出なくなるけど、shoriがエラー。 実行出来てるし問題はないと思うんだけどかなり気になるのでたいさくあれば教えて下さい
575 名前:デフォルトの名無しさん mailto:sage [04/10/27 18:02:24] >574 もう分かったから晒せる範囲でソース*全部*晒せ。 いつの間にか最初は影も形もなかったshori2が出てきてるじゃないか。 この分だと「実は……」でshori3、shori4が出てきそうで付き合い切れん。 (まぁ、携帯相手に6個もクラス作ってる余裕は普通ないはずだが それを言ったら、そもそもクラスは2つまで!!が定石なはずだし)
576 名前:564 mailto:sage [04/10/27 18:49:39] >>575 ソースは /*cvs*/に、 shori shori = new shori(this) shori2 shori2 = new shori2(this) が増えてて、cvs()[}が消えてる /*shori*/は static Canvas canvas; が増えててコンストラクタがpublic shori(Canvs canvas){shori.canvas=canvas} に変わってる /*shori2*/は単純に受け取った文字列を無限ループで表示するメソッドがあるだけ コンストラクタはshoriがshori2に変わってるだけで同じ んで、メソッドが一つあるだけ public static String testt(String str){ try{ ...draw関係... canvas.repaint() while() ; }catch(...){} そんで、cvsからshori2のtestt()を呼ぶと警告がでる 呼んでる場所は/*cvs*/のshori.exet()の次の行 shori2testt(moziretu);
577 名前:デフォルトの名無しさん mailto:sage [04/10/27 19:48:54] >576 ……対策はただ一つ。 藻前さんがもう一度Javaの入門書をきっちり読んで理解すること。 それが嫌なら、警告が出続ける事実を甘んじて受け入れろ。 ちなみに「なぜか知らないけど付けたor取ったら動くようになった」って理由で メソッドにstatic付けたり取ったりしてるようでは「入門レベルなら理解してる」 とは言えない。
578 名前:デフォルトの名無しさん mailto:sage [04/10/27 22:52:14] 対策:Java言語の入門書(携帯アプリの本じゃないぞ)でしっかり勉強する 近道は無いよ ---------------------------- 次の方ドーゾ
579 名前:デフォルトの名無しさん [04/10/28 00:23:25] なんかオートバックスにVodafone用GPSが売ってて、専用Vアプリを使えばカーナビになるって事なんだが。。。GPSとVアプリとの通信方法って公開されてるかどうか、誰かしらない?
580 名前:デフォルトの名無しさん mailto:sage [04/10/28 01:32:40] >>579 シリアル制御してんじゃないの? その手の話はほとんど知らんのであくまで憶測だが。
581 名前:デフォルトの名無しさん mailto:sage [04/10/28 01:41:24] >>579 ttp://developers.vodafone.jp/dp/tool_dl/java/tech.php それっぽいのあるけど、pdfの中までみるのはめんどい。
582 名前:デフォルトの名無しさん [04/10/29 21:31:30] Vアプリの質問はここでいいのか分からないのですが質問です while(true)でループ中にユーザーがソフトキーを押すと ユーザーからの操作を受け付ける画面を出し、初めの画面に戻ってしまわないように while(true)で操作があるまでループし続けるようにしているのですが、 両方で交互にrepaintが実行されて画面がチカチカと元の画面になったりユーザーから操作を待つ画面になったりします そして少し時間が経つと元の画面に戻ります 戻ってきたところまではいいのですがそのまま固まってしまいどの操作も受け付けなくなってしまいます。 使用エミュレータはP6です Threadを使用したプログラムでソフトキーを押した場合の処理はcommandAction内に書いてます。 どなたか解決策ご存知の方居ましたらご回答宜しくお願いします
583 名前:デフォルトの名無しさん mailto:sage [04/10/29 21:42:47] 書き忘れていました 呼び出し元のwhile文の中にソフトキーが押された時にだけThread.yield()を実行するようにして ソフトキーを押した時に実行されるwhile文をfor文に変えてg.drawString("i="+i,0,0,Graphics.LEFT|Graphics.TOP) としてみたのですがiの数値は増えて表示されるもののどの操作も受け付けませんでした
584 名前:デフォルトの名無しさん mailto:sage [04/10/29 22:10:23] >両方で交互にrepaintが実行されて 「されて」じゃなくて、そうなるようにプログラムを組んでるんだよ そうならないようにプログラムを書けば解決 あと、Thread.yield()の意味を勘違いしてるヤカン
585 名前:デフォルトの名無しさん mailto:sage [04/10/29 22:38:41] repaintが交互に実行されないように、 ソフトキーを押した時の画面が出ている状態では元の画面でrepaintされないようにしてソフトキーの画面のみrepaintするようにしてみました がチカチカと元の画面に戻ったりソフトキーを押した時の画面になったりします。 Thread.yield()の使い方間違えていたみたいなので消しました。 すみません
586 名前:デフォルトの名無しさん mailto:sage [04/10/30 02:32:00] なんか、とてつもないわけわからん構造になってる予感。 Canvasはデフォでダブルバッファリングされてるから、 repaintが非同期に呼ばれるだけではちらつくことはあり得んと思うんだが。 情報が小出しなんであくまで想像だが、 SpriteCanvasによる画面への転送は、 たとえSpriteCanvasがDisplayableに設定されてないときにも行えるから、 SpriteCanvasの描画と「ユーザーからの操作を受け付ける画面」の描画が 交互に行われてちらついているんじゃないかな。
587 名前:デフォルトの名無しさん mailto:sage [04/10/30 14:47:33] まだ初心者で漏れもよく分からんが、setCurrentで切り替えが一番いいんでないか?
588 名前:デフォルトの名無しさん mailto:sage [04/10/30 16:12:13] 582です 587さんの言っているsetCurrentで ソフトキーを押した時に画面を切り替えることは出来ましたが 呼び出し先で操作を受け付ける画面を描画しても、コンパイラでは問題無しなのですがエミュだとまったく描画されませんでした。 そこで呼び出し先のクラスのextends Formを消してみるとコンパイルエラーになってしまいます。。
589 名前:572 mailto:sage [04/10/30 16:42:49] >>588 せやから急に「extends Formを」とか出すな。消したら〜とかまるで分かってない証拠。 564にも言ったけどインスタンスの関係をハッキリさせて。 どうせソフトキー押した時とかの処理がキッチリできてないから 「元の画面でrepaintされないように」が裏目に出て再描画されてないんじゃない? とりあえずボタン押しで確実に処理がされているかどうか分からないなら 一行ずつSystem.out.println挟んでどの行まで実行されてるか確認してみたら? 確実に再描画の行が実行されているはずなのに画面変わらないとかはその後。 素早く確実で楽に解決したいならソース丸ごとあげてくれ。
590 名前:588 mailto:sage [04/10/30 20:28:09] >>572 過去に画面切り替えの質問があったので、 工夫すればもしかしたら動くかもしれないと思いやってみたのがFormです コンパイラのエラー出さなくなりましたが目的の動作はしませんでした。 int flag=0;としておいて、 ソフトキー押した時にflag=1;にして 初め表示している画面でif(flag=0) repaint();などしてみたのですが効果ありませんでした。 どのような動作にすればいいのかよく分からなくなってきたので 一旦コンパイラがエラー出さなくなった状態に戻してソースをzipであげておきました ttp://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1060403548&res=130 素早くなくてもいいんですけど 確実に解決したいのでよろしければ適当に修正してもらえれば幸いです
591 名前:デフォルトの名無しさん mailto:sage [04/10/30 21:40:26] >>582 564と同一人物かよ!って別にそれはいいんだけど、 これがどうなるといいんだっけ?普通に画面の切り替えは問題なさそうだけど。 むしろやろうとしてる事がわかるならエラー有るままのほうがやりやすかったかも。
592 名前:デフォルトの名無しさん mailto:sage [04/10/30 22:58:44] 対策:Java言語の入門書(携帯アプリの本じゃないぞ)でしっかり勉強する 近道は無いよ ---------------------------- 次の方ドーゾ
593 名前:デフォルトの名無しさん mailto:sage [04/10/30 23:51:28] 同一人物じゃないと思うが…。 >>590 あんま分からんケド一応見てみたが 試しに動かしたらcommand_actionのコンストラクタで呼び出してるmenu ()が実行されてない cmdMenu押した時のdisplay.setCurrent(command_action);の行をcommand_action.menu();に変えると画面がチカチカした感じになる 590の言ってるのはこれじゃないかと思った このチカチカするのをなくしたいと。 質問の意味勝手に妄想したケド合ってる? まあ合ってた所でどうすればいいか俺にはわかんね
594 名前:586 mailto:sage [04/10/31 00:18:23] >>590 ソース見させてもらったが・・・愕然とした。 こりゃ、アドバイスで何とかなる範囲じゃないと思う。 現在画面に設定されているのはどのDisplayableなのか、 今生きているThreadはどれなのか、 どのThreadがどの処理を行っているのか・行うべきなのか、 このへんを意識しないととんでもないものができあがるぞ。 つーことで、>592 に同意。 Javaの書き方というよりかは、JavaAppletなどのイベント指向を理解した方がいいと思う。 とりあえず動くだけでいいなら・・・とかアドバイスしようと思ったけど、 こんなもんをリリースされちゃかなわん。。 コンストラクタ処理をwhile(true)でブロックしたり(sleep()時に例外出てる模様)、 無駄にcvs(=Canvas)をThreadとして走らせたりしてるし、 Formを画面表示してるのに文字を(Currentな画面でない)cvsに書いてるし。
595 名前:572=591 mailto:sage [04/10/31 00:33:40] >>593 同一だと思ったのはCanvasにcvsなんて名前つけてた部分だけど、間違ってたらスマソ。 確かにそうすりゃチカチカするね。 つーか、 冷静にソース見たらmenuでwhileループがマズイ。 メインのスレッドがmenuをずっと続けるのでcommandActionとかをやるスレッドが無い。 new Thread した奴はせっせとrunメソッドでループを続けてるだけ。 つまり2本のスレッドがwhileループに入ったままになる訳だ。 最初に「時間が経つと元に」ってのは、あんまりループ続くからフリーズとかだと。 って書いてる途中に594に先越されてしまったけど、確かに勉強は要る。 勉強したくないならあんまりややこしいことに挑戦しないってのも手かも知れんけど。
596 名前:593 mailto:sage [04/10/31 01:34:02] ま、理解しろとか言っても普通分からん。 事実漏れは2年間も学校でjava習ったがオブジェクト指向のおの字すら分からんねーし。 未だにコピペコピペで普段使うところ以外ワカンネ どうせ理解したって質問するような事(ネットにサンプルが流れてない)するんだったら今後使う可能性低いから覚えるだけ無駄 理解しろ言う前に質問受ける側はなんでもいいから適当にソース修正してうpしてやるのが一番かと。 そんだけ言って何もしないのは格好悪いのでうpしておいた ttp://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1060403548&res=131 んであげてから気づいたから訂正 dispchange.javaのコンストラクタにあるthread_B.start()を消して 最後のほうにあるthread_A.yield()をThread.yield() んでその次の行にthread_B.start()を追加 これで一応動きはするが画面切り替え時に一瞬白くなる つーかこれであってるかも分からん。 警告orエラー出てないから問題はないと思うが誰か見てくれ あと画面が白くなるのなんとか出来る人修正きぼん
597 名前:593 mailto:sage [04/10/31 01:58:04] あ、だめだ これだとcvsから別クラスのメソッド呼んで実行してる時にmenu押しても両方でrepaint呼ばれちゃうよ 勝手に別クラスって妄想入れたけどあってたりするかな 回避方法ワカンネので誰か分かる人よろ 別クラスとか言ってるけど何も知らない人が勝手に妄想した単語並べてるだけなんで適当に解釈してやって下さい
598 名前:572 mailto:sage [04/10/31 03:13:56] じゃあ僕もアップしてみよ。 ttp://sterdust.net/upload/upload.cgi?page=Download&dir=&sort=date&filename=souce572.lzh 変更箇所には//572と記述 僕の経験上スレッドでループさせたりさせなかったりはフラグを使うのが普通。 canvasとcommandでisRunningフラグ作って、画面切り替えタイミングでフラグ変更。 あとstartAppでやる事消したのと、yieldさせてないのと。この辺は好みかも。 切り替わる時白くなるのは仕方ないと思う。EZエミュでは起こらなかったけど。 どちらの状態でもGraphicsに描画するなら描画は一つのCanvasに任せて 2つ以上のクラスでoffImgの内容を変えるだけにしてsetCurrentを避けると吉。 ttp://sterdust.net/upload/upload.cgi?page=Download&dir=&sort=date&filename=souce572_2.lzh で、やってみたのが上。もう修正するなんてものじゃなくなってるけど。
599 名前:デフォルトの名無しさん [04/10/31 05:15:07] どなたかphase 3 エミュレータをアップしていただけないでしょうか?
600 名前:デフォルトの名無しさん [04/10/31 15:00:50] プログラムからそれが走っている端末のバージョンを Phase3 or Notだけでいいので知るほうほうってないですか?
601 名前:588 mailto:sage [04/11/01 00:28:57] >>593 さん、>>572 さん あげて頂いたソースを参考にこちらのアプリに組み込んでみたところ、思い通りの動作をさせることが出来ました。 画面が切り替わるときに白くなるのはこちらのエミュレータでは起こりませんでした。 返事が遅くなってしまいましたがありがとうございました
602 名前:593 mailto:sage [04/11/01 21:53:22] ちょっと質問。 ソフトキーが押されると、 今やってる処理を強制終了(?)させて処理させるところを移動させたいのだけど、 どうすればいいかな? 多重ネストからの脱出ってのは見つけたけど、 これだとbreak文とラベルの記載してる場所が違うと動かないぽい気がするので・・・。 実験もせず書いてるので「出来るに決まってるヴォケ」とか「こんな方法がある」とか、 あと「あんたの説明意味不明」とかでもいいので適当に突っ込んでください
603 名前:593 mailto:sage [04/11/01 21:59:21] ごめん書き忘れ ソフトキー押した時にフラグ立てて、 強制終了(?)させたい所にifでフラグ立ってたらbreakするとかだと場所が多くて、 今どこの処理やってるのか分からないから記載個所が多すぎて対処しきれない。 main(){ while(true){ //ここ for(...){} ... この後もfor文やらwhile文がずらずら。 ... } } commandAction(...){ if(c==softkey){}//←ソフトキーが押された時に上の「ここ」ってとこに処理を移したい } かなり意味不明な書き方になってるけどこっちの文章力が無いから勘弁 とりあえず、「ここ」って所にソフトキーを押した時に移動したいわけ。
604 名前:デフォルトの名無しさん mailto:sage [04/11/02 05:02:49] >>602-603 キミも>>578 >>592 かな…
605 名前:デフォルトの名無しさん mailto:sage [04/11/02 06:55:19] 答:無理
606 名前:デフォルトの名無しさん mailto:sage [04/11/02 07:03:33] ん?オレは例外投げて対処させたが。 まぁいわゆるgotoがあるプログラムは構造がダメだという例に当てはまるからイクナイと思う。
607 名前:デフォルトの名無しさん mailto:sage [04/11/02 07:13:33] 処理をどうする以前に、設計がまずいんじゃ
608 名前:デフォルトの名無しさん [04/11/02 09:32:37] V601TでTextBoxのMaxSizeに指定できるのは128KBまでという制約ってあるんでしょうか。 厳密には、setMaxSizeで127*1024なら大丈夫、128*1024でアウトとなってます。 コンストラクタやsetMaxSizeでの指定→問題なし 128KB以下のStringをsetStringで入れる→問題なし 入れたTextBoxをDisplayに設定→問題なし 設定されたTextBoxで決定押して編集開始→開くとなぜかまっさら(文字数制限が0文字までになってる) キャンセルするとsetStringで入れた文字に戻ってる、決定すると当然まっさら文字が入力される。 エミュで問題起きてなく実機(V601T)で問題起こってるんで、おそらく機種依存の現象だと思うんですが。 もし何か情報あればお願いします。。 (時間あれば私の側でも実験してみます)
609 名前:デフォルトの名無しさん [04/11/02 17:23:24] KDDIのezplusエミュレータで、 画面サイズが最大で147*147までにしかならないのですが、 QVGAサイズを表示させることはできないのでしょうか?
610 名前:デフォルトの名無しさん mailto:sage [04/11/02 18:19:40] 32bitビットマップ形式の保存ファイルは存在しねーぞ。 PCの液晶でも24bitカラーなのに、携帯で32bitなんてあえりえねーだろ。 つーか普通16bitだし。 VRAMの制限でねーの?
611 名前:デフォルトの名無しさん mailto:sage [04/11/02 18:20:07] うあ、激しく誤爆
612 名前:602-603 mailto:sage [04/11/02 19:39:30] >>606 それでいけそうな気がしてきた >>607 設計なんて何も考えてない
613 名前:デフォルトの名無しさん mailto:sage [04/11/02 22:09:18] >609 Phase3.0対応エミュが必要。 Phase3.0対応アプリを開発する必要があるなら、 どっかからか入手できるはず。健闘を祈る。
614 名前:デフォルトの名無しさん [04/11/03 03:18:42] Vアプリを配信するのに、ベクターからやろうと思うんだけど、 ConnectorのAPIの代わりに、ベクターで配っているJConnectorを 使用しないといけないんだけど、何度やってもclassファイルが壊れている って、wiressToolでコンパイルする度言われる。。。。 だれか、経験者いない?
615 名前:デフォルトの名無しさん mailto:sage [04/11/05 02:24:55] EZアプリでget(Calendar.WEEK_OF_MONTH)を使おうとすると WEEK_OF_MONTHが解決できませんと出ます。 月の何週目かを取得することはできないのでしょうか?
616 名前:デフォルトの名無しさん mailto:sage [04/11/05 03:20:33] CLDC1.0のCalendarにWEEK_OF_MONTHはない。 複雑な式にもならんから自力で計算すれ。
617 名前:デフォルトの名無しさん mailto:sage [04/11/07 23:56:41] iアプリの場合、通信できるのはダウンロードしたときのサーバに限定されてるけど、 Vアプリ、ezアプリの場合ってどうなってるの??
618 名前:デフォルトの名無しさん mailto:sage [04/11/08 01:56:58] >>617 ez -- あらかじめjadに記載したサイトのみ V ---オフィシャル登録必要、端末内リソース利用と併用しちゃいけない。
619 名前:デフォルトの名無しさん mailto:sage [04/11/08 02:47:58] >>618 おお、サンクス オフィシャル登録って有料なんだねorz
620 名前:デフォルトの名無しさん mailto:sage [04/11/09 06:44:33] (´,_ゝ`)プッこのスレで質問するレベルじゃないわな
621 名前:デフォルトの名無しさん mailto:sage [04/11/13 17:48:16] 質問します。どなたか分かる方、ご教授よろしくお願いします。 Vodafoneの携帯用のアプリを作っているんですが、 「import javax.microedition.lcdui.Canvas;」または 「import javax.microedition.lcdui.*;」を記述しても、 その他いろいろimportしても、 「getGraphics()」メソッドが使えません。コンパイルエラーが出てしまいます。 「paint()」メソッドとかは現時点のプログラムで使えているんですが。。。 「javax.microedition.lcdui.Canvas」の中には、「getGraphics()」メソッドは 存在していないのでしょうか? そもそもgetGraphics()を使おうと思ったのは、paint()メソッド内や、 paint()メソッド内から呼び出すメソッド以外でdrawString()などを使いたかったんですが、 それをする場合、getGraphics()を使う以外に方法はあるのでしょうか?
622 名前:デフォルトの名無しさん mailto:sage [04/11/13 18:29:57] まず>>2 を見て最低限リファレンスを読むくらいはしろ。 質問はそれからだ。
623 名前:デフォルトの名無しさん mailto:sage [04/11/13 19:16:51] リファレンスを見てみたんだが、それでもできなかった。 で、getGraphics()を使わない汚い方法を思いつきました (インスタンス変数として作っていたGraphics型の変数(g2とする)に paint()内で「g2 = g;」とやっておいて、プログラムの頭でrepaint()を呼ぶ)。 他の方法をご存知の方、ご教授くださいませ。 やっぱり、携帯に電話がかかってきたりして画面が壊れた時のために 画面描画はすべてpaint()内とその中から呼ばれるメソッドでやってたほうが いいんでしょうなあ。スプライトも使ってるのでそれとの共存とか、 その時のゲーム内の状態(ウインドウを開いているとか)ごとの処理とか、 はあ〜〜めんどそう。
624 名前:デフォルトの名無しさん mailto:sage [04/11/13 19:33:45] >>623 >>553 >>556
625 名前:デフォルトの名無しさん mailto:sage [04/11/13 21:19:35] > リファレンスを見てみたんだが、それでもできなかった。 意味不明 > はあ〜〜めんどそう。 ストレスたまるだけだから止めたほうがいいよ
626 名前:デフォルトの名無しさん mailto:sage [04/11/13 23:03:44] >>623 netaro.ddo.jp/techinfo/Javadoc/MIDP1.0a/html/index-all.html
627 名前:デフォルトの名無しさん mailto:sage [04/11/14 03:34:38] doubleの値を使ってプログラム組んでみるとコンパイラで Floating point result not allowed com.sun.kvem.ktools.ExcecutionException: Preverifier returned 1 と言ってきてコンパイル出来ない。 浮動小数点の結果がどうとか言ってるっぽい感じなんだけどエラーの意味わかる人居ます?
628 名前:デフォルトの名無しさん mailto:sage [04/11/14 03:38:05] >>556
629 名前:デフォルトの名無しさん mailto:sage [04/11/14 12:52:55] >>621 Image img_back; Graphics gra_offs; /** Canvasクラスを継承したクラスのコンストラクタ等で取得 */ Image img_back = Image.createImage(width, height); Graphics gra_offs= img_back.getGraphics(); protected void paint(Graphics g) { gra_offsに対して描画 gra_offsからgにオフスクリーン転送 } >>627 MIDPでは浮動小数点は使用できない。各携帯メーカーの拡張APIを使うか それが嫌なら整数を100倍や1000倍にしてアプリで工夫するべし。
630 名前:629 mailto:sage [04/11/14 12:54:05] ああ、記述ミス。 img_back = Image.createImage(width, height); gra_offs= img_back.getGraphics(); こっちね。
631 名前:627 mailto:sage [04/11/14 15:20:27] あれ、使えないんですか。 vfはFixedPointで使えるようですけど、+はadd()に置き換えたりしないとだめ?
632 名前:621 mailto:sage [04/11/14 15:24:27] >626,629,630 サンクスです! 俺の言葉が足りなかったみたいです。 俺の欲しかった Graphics型は、paint(Graphics g)の方で、 g.drawString() とか g.drawLine() とかするやつのほうです。 これら drawString() やdrawLine() を、repaint() を呼んでpaint()内(やそれ以下のメソッド)でやる以外に paint()の外でできないかなあ、と思ったのでした。 「i アプリ」を以前に作ったとき、インスタンス変数(クラス内の各メソッドの外で宣言する、staticナシの変数)に コンストラクタで「g = getGraphics()」とやって、それ以降は、 オーバーライドするpaint()内ではいっさいなにもせず(空ブロック { } のままにしておく)、 いろんなメソッド(スコア表示・キャラ表示・背景表示などのそれぞれの各メソッド)で描画が必要になったら 前述のインスタンス変数にて g.drawString() とか g.drawLine() とかやっていたんです。 昔のBASICプログラムがいつでも画面描画ができていたので、そのノリで。 「電話がかかってきた時などの割り込みで壊れた画面を元に戻す」ということを考えていない設計でした。 その、「i アプリ」作成時に俺が使っていたgetGraphics()は 「i モード java」のCanvas クラスにあるんですが、 他の java には無いのかもしれません(626さんが見せてくれた方も違うみたいです)。 「i モード java」以外のjavaでは、「drawString() や drawLine() をしたいときは paint()内とその中から呼ぶ メソッドでしかやってはいけない」という設計なのかもしれません。それはそれでよい方針なので、 私もそのような設計がなされたものに今作っているやつを作り変えていこうかと思ってます。 私の621の書き込みに「i モード java で以前使っていた CanvasクラスのgetGraphics() 」という記述が 抜けていたため、622,624さんをはじめ、みなさんに手間を取らせてしまいました。 どうもありがとうございました。
633 名前:627 mailto:sage [04/11/14 15:35:03] 連投すいません、 FixedPoint型では<が未定義みたいなんですが、 ifで判断を行う場合はどのようにすればいいでしょうか 整数部のみを取得して比較するのが一般的でしょうか?
634 名前:デフォルトの名無しさん mailto:sage [04/11/14 17:22:38] >>633 (゚Д゚)ハァ? Javaには演算子のオーバーロードなんて機能はありませんが?
635 名前:デフォルトの名無しさん mailto:sage [04/11/14 19:29:00] >>627 >>vfはFixedPointで使えるようですけど 自分で言ってるこの点でFixedPointがボーダフォンの拡張APIだと分かってよ。 もっかいJSCLとMIDPの違いを確認してね。
636 名前:デフォルトの名無しさん [04/11/18 03:41:10] >>623 その方法でアプリ作りましたよ。 ドコモからau&vodaの移植で描画周りを作り直す時間がなかったのでそのまま移植するためにそうしました。 auとvoda版も同時移植なのでほぼ3キャリアのソースが同じですみました。 vadaは当然スプライトは使用していません。 描画がシビアでなけれなこの方法はソースの管理がしやすいのでいいと思います。
637 名前:623 mailto:sage [04/11/18 17:10:18] >636 そうですか。俺は今Vodaにスプライト使ってアプリ作ってるんだけど、 スプライト使わない方法に変えたほうがいいのだろうか。 「まるくん」という人も「スプライトの方が遅い」とか自分のHPで言ってたしなあ。 以下は蛇足です。 スプライト使うと、例えば着信があったとき、「アプリ再開」にすると画面が真っ白に なるんですよ。戻ってきたときに仮想画面(BGを貼り付けたり、g.drawStringで直接書かれる画面) を白クリアしてるんだろう。 このへんは「着信などの割り込みがあったら、仮想画面全体を書きなおす」とかに すればいいのだろうが。 で、スプライトを使わない方法で画面描画をやってたら、割り込み後に画面を戻すのも システムがやってくれるのかなあ、なんて想像してます。
638 名前:636 [04/11/18 17:46:39] >>637 着信とかのイベントが発生した場合は、pauseApp()に処理が通るのでこの中で全画面の再描画要求を出します。 システムのダイアログが出た後はcanvasの画面を復帰してくれないので自分で復帰させてやらないといけません。
639 名前:623 mailto:sage [04/11/19 04:51:30] >638 なるほど。システムは、「”自分が書く部分を退避させておいて、それを最後に戻す”とかせずに、 ”書きっぱなしで終了する”」わけですね。問題のあるシステムだなあ。 サンクスです!さっそく試してみます。
640 名前:デフォルトの名無しさん [04/11/20 00:32:55] 逆コンパイルされた時にソースが見難く(?)なるツールがあるって聞いて 試してみたいんだけど、このツールがいいよってのがあったら教えて欲しいです
641 名前:デフォルトの名無しさん [04/11/20 00:39:35] アプリを一定速度で動作させたいのですが、良い方法が分かりません。 今は以下の方法で速度を一定に見せかけていますが、 paint()にかかる時間が変動するとその分速度が狂うし、 sleepで必ず処理が待機する分、ゲームや描画の処理が損してるような 気がします。 while(true){ try { Thread.sleep( 100 ); } catch( InterruptedException ie ) { } repaint(); //ゲームの処理と描画 } 皆さんはどのように処理しているのでしょうか?
642 名前:デフォルトの名無しさん mailto:sage [04/11/20 01:15:58] InterruptedExceptionの意味がわかんねから あくまでも参考程度に 単純に、 while(true){ Thread.sleep(100); repaint(); } じゃ駄目なのか? それがだめならタイマー使えば正確に測れる
643 名前:642 mailto:sage [04/11/20 01:18:24] 書いてないのに送信してしまった失礼 >>640 難読化ツールのこと? 漏れも検索してみたけど見つかんなかった 誰かよろ
644 名前:デフォルトの名無しさん mailto:sage [04/11/20 02:06:17] Javaバイトコードなんて、 せいぜい識別子を1文字にするとかそんなレベルでしかできないと思うんだけど。
645 名前:デフォルトの名無しさん mailto:sage [04/11/20 13:56:31] >643 >難読化ツール ProGuardってのがフリーで使える。 ttp://proguard.sourceforge.net/ >644 携帯の場合、読みにくくすることより、まさにその >識別子を一文字にする ことで、classファイルが縮むことに意義があったり。
646 名前:デフォルトの名無しさん mailto:sage [04/11/20 15:21:08] >>641 それだと処理にかかる時間が考慮されない予感。 long drawtime = 0;//前に描画した時間 long nowtime = 0; //毎回取得する時間 で nowtime = System.currentTimeMillis(); if(100 <= nowtime - drawtime){ drawtime=nowtime; ここに処理 } とかで良いんじゃないかな。見にくくてスマソ。
647 名前:デフォルトの名無しさん mailto:sage [04/11/20 16:08:19] serviceRepaintsはなくてもいいのか?
648 名前:640 mailto:sage [04/11/20 17:05:35] >>645 さんくす
649 名前:デフォルトの名無しさん [04/11/22 11:23:56]
650 名前:デフォルトの名無しさん [04/11/22 16:26:32] Vアプリの開発はじめました。教えてください。 P5型(JSCL-1.2.1)から追加されたGraphicsUtilクラスの drawRegionメソッドをP4型(JSCL-1.1.1)で利用したいと思います。 P4型SDKのstubclasses.zipをP5型のものに上書きし、 コンパイルはできたのですが、P4型エミュレータでは unable to load classes エラーになってしまいます。 上位のSDKで追加されたクラスを利用するにはどうすればよいのでしょうか。
651 名前:デフォルトの名無しさん mailto:sage [04/11/22 16:47:47] >上位のSDKで追加されたクラスを利用するにはどうすればよいのでしょうか。 上位のSDKで追加されたクラスは使用できるのでしょうか?
652 名前:デフォルトの名無しさん mailto:sage [04/11/22 17:38:41] >>650 stubclassの名の通り、SDKのクラスには実際のコードが含まれていない。 実際のコードは実行環境側にあるので、不可能。
653 名前:デフォルトの名無しさん [04/11/22 21:50:59] >実際のコードは実行環境側にあるので、不可能。 ありがとうございます。とんちんかんな質問でした。申し訳ないです。。。 それでは、P4型で読み込んだ画像(png)を90度回転させたり、上下左右反転 させたりするにはどうすればよいのでしょうか?AppletだとPixelGrabberで ピクセル取得して入れ替えて表示させたりしているのをみつけたのですが。 クラスを自作するとしたら、どのようにすればよいですか?
654 名前:デフォルトの名無しさん mailto:sage [04/11/23 00:02:14] >>653 Vアプリは作ったことないが、その為にボーダではスプライトがあるんじゃね? スプライトが嫌なら前方向に回転させたpngを用意するとか。
655 名前:デフォルトの名無しさん mailto:sage [04/11/23 00:29:52] がんばって行列計算するとか。
656 名前:デフォルトの名無しさん mailto:sage [04/11/23 00:36:17] 90度単位なら行列計算いらんだろ。 だけど、Graphicsクラス上でピクセル単位でいじれるのはP5からなので、 P4でやろうと思うと、 >654 のスプライトか、PNG解析クラスを自作するかくらいしかないんじゃないかな。
657 名前:デフォルトの名無しさん mailto:sage [04/11/23 12:09:48] 潔くPNG解析汁
658 名前:デフォルトの名無しさん mailto:sage [04/11/23 12:20:29] てか自前でPNG解析クラスなんか作って容量大丈夫なのか?
659 名前:デフォルトの名無しさん mailto:sage [04/11/23 18:31:40] 回転画像用意する分より小さく作るなら意味あるな
660 名前:656 mailto:sage [04/11/23 22:27:05] オレは、容量よりも手間が気になるが。 んなことぐーたら考えてる間に、90/180/270回転した画像くらい用意できてしまうわな。 >653 どう対処するかは、どんなアプリをどういう形で配布するのが目的かによるんじゃないかな。 特に制約ないなら「P5以上です」と割り切れるし、 ゲーム配布ならスプライトにしてしまった方が楽だし、 とりあえず完成させるのが先ならPNGを4種類回転分だけ用意した方がいいし、 似たようなアプリを今後大量に作らなきゃいけないのならPNG解析クラスを作るのにも意義があるし。
661 名前:デフォルトの名無しさん mailto:sage [04/11/24 03:24:30] VアプリをEZ向けに移植しようとしているんだけど エミュだと遅すぎて途中で止まったようになってしまう これ実機だとちゃんと動いてくれたりする可能性ある?
662 名前:デフォルトの名無しさん mailto:sage [04/11/24 08:56:53] バグって止まってるんじゃないの?
663 名前:デフォルトの名無しさん [04/11/24 09:37:26] 653です。まずスプライトでやってみます。 PNG解析の方は、もう少し勉強してから挑戦してみます。 みなさま、ありがとうございました。
664 名前:デフォルトの名無しさん mailto:sage [04/11/24 13:00:29] >>661 エミュの速さは EZphase3対応エミュ>Vアプリエミュ>(壁)>配布中のEZエミュ ですのでPhase3対応を探すかMIDP1.0のみで作ってVエミュで試すとイイデスヨ。 止まるのは大概メモリ不足関連。デカイのつめば少しはマシかも。
665 名前:デフォルトの名無しさん mailto:sage [04/11/24 22:43:55] Vエミュ今月verUpしたやつはスピードも上がってるよ
666 名前:デフォルトの名無しさん [04/11/25 13:59:54] Unofficial "MID Profile-1.0" API Reference どこでみれるか教えてください。
667 名前:デフォルトの名無しさん mailto:sage [04/11/25 15:25:41] VjavaP6で質問です。 例えば、画面の切り替えなどで徐々にブラックアウト。 現画像捨てて取得。 徐々にブラックイン(?)という処理で ブラックアウトとブラックインしたいのですがどうすれば良いのでしょうか? 使えそうなメソッドとかUtilも無さそうです。 元々基幹系をやっていたもので畑違いのDisplayやらThreadに白黒させながらやってます。 どなたか教えていただけないでしょうか? 後>>179 の日本語APIリファレンスが開けないのですがこちらの在り処もご存知でしたら教えていただけないでしょうか?
668 名前:667 mailto:sage [04/11/25 17:34:51] 補足です。 元々はImageUtil.adjustBrightnessを使用して以下のようにやろうとしてみたのですが //タイトル画像を描画 Image logoImg = Image.createImage("/logo.png"); for(FADEIN_COUNT = -5; FADEIN_COUNT < 1; FADEIN_COUNT++){ GraphicsUtil.drawRegion(g, ImageUtil.adjustBrightness(logoImg,FADEIN_COUNT), 0, 0, logoImg.getWidth(), logoImg.getHeight(), GraphicsUtil.TRANS_NONE, 0, 0, screenWidth, screenHeight, 0, GraphicsUtil.STRETCH_QUALITY_NORMAL); sleep(70); } IllegalArgumentException、Imageオブジェクトが immutableで出来ないと言われました。 もし宜しければmutableなImageオブジェクトとはどんなものかも知りたいです。
669 名前:デフォルトの名無しさん mailto:sage [04/11/25 21:13:39] >>664 EZphase3対応エミュで動かしたらサクサク動いてます どうやら(壁)にぶつかってたようで・・・ ただphase2.5機種の性能が(壁)より上であって欲しい >>665 DrawImageだけだとEZphase3対応エミュはそのVエミュより倍以上はやい でもVエミュの方が実機に近いし設定いじれて便利
670 名前:デフォルトの名無しさん mailto:sage [04/11/26 02:15:13] >>668 immutable, mutableの違い j2medevices.com/documentation/midp1.0/javax/microedition/lcdui/Image.html adjustBrightnessが使えるの、今んとこV602SHだけっぽいよ。 詳細は新機能導入の手引き2004 P6型端末編あたり。
671 名前:デフォルトの名無しさん mailto:sage [04/11/26 09:24:29] 携帯のソフトを作っていたいのですが なにかお薦めの本ありますか?
672 名前:667 mailto:sage [04/11/26 12:05:20] >>670 有難うございます、ファイルやネットワークからの画像データからcreateImageした場合は 不変となってしまうんですね。 一旦オフスクリーンに書き出すなどしてみます。
673 名前:デフォルトの名無しさん mailto:sage [04/11/26 15:04:32] >671 >>578
674 名前:デフォルトの名無しさん mailto:sage [04/11/26 20:04:30] USBクレードル部分をJAVAで制御は出来ないの? つなげたい機械があるんですが
675 名前:デフォルトの名無しさん mailto:sage [04/11/27 01:24:40] >671 まぁ673の言う通り、Javaの基礎をきっちりやっておいて それからこれかな つ ttp://www.amazon.co.jp/exec/obidos/ASIN/4774114707/qid=1101486261/sr=1-1/ref=sr_1_2_1/249-8361732-8347509
676 名前:デフォルトの名無しさん mailto:sage [04/11/27 02:37:18] MIDP2.0の本とかある? 早くvodafone 3G メガアプリの予習したい。
677 名前:673 mailto:sage [04/11/27 02:42:28] >>675 これくらいしか本がないってのがつらいんだよなぁ。 1. Javaの文法とか学ぶ 2. JavaAppletなどでイベント指向を理解する 3. MIDPの動作モデルを理解する てな流れがいいと思うんだが、ここでいう3にあたる親切でいいサイトなり本なりがほとんどないし。 知ってるとこではこれくらい。www.saturn.dti.ne.jp/~npaka/midpbook/index.html >675 の本はオレも持ってるが、これは比較的親切に書かれてる本だと思う。 でもちょっと古い(特に「J‐PHONE KDDI完全対応」が) >676 オレは聞いたことがない。 洋書ならAmazonで「MIDP 2.0」で5つ引っかかったが。和書はヒットなし。 Javadoc片手に独学でやった方が早い気がする。
678 名前:デフォルトの名無しさん mailto:sage [04/11/27 02:57:38] >>677 ありがと
679 名前:デフォルトの名無しさん mailto:sage [04/11/27 06:50:57] 902SHとかってMIDP2.0なの?
680 名前:デフォルトの名無しさん mailto:sage [04/11/27 12:37:05] これから出てくるボダの3G機は、MIDP2.0だよ。たぶん。
681 名前:デフォルトの名無しさん mailto:sage [04/11/27 15:55:25] 質問します。 vodafoneでブラウザアプリが禁止されてるというか、認められてない理由を概略でいいのでご存じの方教えてください。 なんの理由なんでしょうか? グーグルで自分で調べてみたしたが「ブラウザ アプリ 禁止 vodafone」とかの条件でやってみても ブラウザアプリが禁止だという記事が出てくるだけでその理由にふれたものが出てきません
682 名前:デフォルトの名無しさん mailto:sage [04/11/27 16:37:25] ブラウザアプリって何を指しているの? 定義は?
683 名前:デフォルトの名無しさん mailto:sage [04/11/27 16:48:30] >>682 ttp://www.itmedia.co.jp/mobile/articles/0410/07/news006_2.html
684 名前:デフォルトの名無しさん mailto:sage [04/11/28 01:32:37] >>682 ac-admin.appget.com/open_kiyaku.htm アプリゲット・配布が禁止されている特定の種別のアプリケーション(Vアプリ作品) によると 「パソコンでいうインターネットエクスプローラのようなもの」 らしい。「ようなもの」ってなんやねん、というツッコミはアプリゲットの方へお願いね。 >>681 理由は表には出たことはないと思う。 auの「Opera搭載機でOpera経由のはパケット定額対象外」 てな形に持っていけるようにするための事前の釘さしだと思うけどね。
685 名前:デフォルトの名無しさん mailto:sage [04/11/28 09:31:40] バールのようなもの ja.wikipedia.org/wiki/%E3%83%90%E3%83%BC%E3%83%AB%E3%81%AE%E3%82%88%E3%81%86%E3%81%AA%E3%82%82%E3%81%AE
686 名前:681 mailto:sage [04/11/28 10:22:50] >>684 >理由は表には出たことはないと思う。 >事前の釘さしだと思うけどね。 返レスありがとうございまた。どうりでグーグルで出てこないはずです。 正々堂々と言えないvodafoneにとってのせこい理由が想像出来ました。 jigブラウザと定額を組み合わせるとキャリアのゲートウェイは大量のデータが通過するのに、利益はjigが持っていくというシステムを 容認することになり、キャリアにとっておもしろくないことは確かですね。 コンテンツビジネスへ収益構造の比重を移したい時に、よそに利益を盗られる、アプリが迂回路になることをふせいでいるのでしょうか auは認めているといっても、無くなっていく運命のJava機だけで、他の多数のBREW機種では利用不可能ですから・・
687 名前:681 mailto:sage [04/11/28 10:44:34] ×ありがとうございまた。 ○ありがとうございました。
688 名前:デフォルトの名無しさん mailto:sage [04/11/28 16:15:42] VappliP5です オフグラフィックスに画像や文字などを描画してからまとめて回転したいのですが drawRegionだと画像のみの回転しか行えず困っています 何か方法はありますでしょうか 無茶な方法でもいいので、分かる方返答下さい
689 名前:デフォルトの名無しさん mailto:sage [04/11/28 16:55:13] >>686 jigブラウザの作者がインタビューで 「vodafondはブラウザアプリが禁止されているから断念した」」 って答えてたからね。
690 名前:デフォルトの名無しさん mailto:sage [04/11/29 01:15:50] >>688 オフグラとセットでオフイメージ作ってるんじゃないの?とか言ってみるテスト。 Image offImg = new Image( width,height ); Graphics offGra = offImg.getGraphics();
691 名前:688 mailto:sage [04/11/30 00:56:43] >>690 解決出来ました〜 ありがとうございました
692 名前:デフォルトの名無しさん [04/12/01 11:45:20] 当方VアプリでCGI連携を目論んでいるのですが、 Access denied というエラーが起こりCGIにアクセスができません、、、 どうすればいいんでつかね?
693 名前:デフォルトの名無しさん mailto:sage [04/12/01 16:01:56] >>692 こう変えてみろ。 × どうすればいいんでつかね? ○ アドバイスを受けたいんですけど、まずどんな情報を示せばいいですか?
694 名前:デフォルトの名無しさん [04/12/01 16:44:18] アドバイスを受けたいんですけど、この情報以外に何が要りますか? 使用言語:V-appli Emulator for JSCL 1.2.1 Ver.1.0.0 エミュレータ:V-appli_Universal_JSCL1_2_1[V-appli Emulator(JSCL1.2.1)ver.1.0 開発ツール:Sun ONE Studio 4 update 1. Mobile Edition
695 名前:デフォルトの名無しさん mailto:sage [04/12/01 16:57:02] >>692 そのCGIはPCでアクセスできることを確認した? あと、Port80以外はアクセスできません(vodaの制限)
696 名前:デフォルトの名無しさん mailto:sage [04/12/01 17:13:35] >>692 >>80
697 名前:デフォルトの名無しさん mailto:sage [04/12/01 18:35:24] >>692 MANIFEST.MFないしjadファイルに MIDlet-Network: Y が記述されているか確認してみて。
698 名前:692 mailto:sage [04/12/01 18:50:49] >>695 OKでした。 >>696 >エミュレータはプロキシを使用しない場合は通信したいサーバのIPとポートを >JTProp.datのProxyとProxyPortに設定しておかないと通信できなかったような >気がしたけど、試してみましたか? 通信したいサーバのIPは設定に組み込みましたが、 JTProp.datのProxyとProxyPortというのがよくわからないのでお教えください、、。 >>697 足しましたが無理です、、、。 ワイヤレスキットのエミュレータなら動くんですが、 V-appli_Universal_JSCL1_2_1だとはじかれてしまいます、、。
699 名前:デフォルトの名無しさん mailto:sage [04/12/02 00:13:00] >>698 Apacheのerror_logもあぷしれ
700 名前:692 mailto:sage [04/12/02 10:15:49] java.lang.SecurityException: access denied だけですが、、
701 名前:デフォルトの名無しさん mailto:sage [04/12/02 10:49:55] >>700 Apacheからjava.lang〜なんて出るかYO!? おまいはもっかい MIDlet-Network: Y を付けるとこからみなおしてみ。付けてからビルドするんやで。 そんでCGIとか言う前にtxtをGETするとこからやってみ。
702 名前:デフォルトの名無しさん [04/12/02 10:59:43] >>700 念のため聞くけどボーダフォンのMACSサーバーにアプリアップした? コンテンツアグリゲーターのサーバーだと端末の設定によってSecurityExceptionが出るぞ。 コンテンツアグリゲーターによってはネット接続アプリすらアップできないけど。
703 名前:692 mailto:sage [04/12/02 12:37:00] >>700 Apacheは使ってませんです、、、。 普通のサーバです。 Sun oneで、Midlet属性を付加するやり方が不明です。 jadファイルに無理矢理書き込んで実行とはまた違うんでしょうか? >> MACSサーバとは何でしょうか? ググってもそれらしいものが、HITしないのですが、、
704 名前:デフォルトの名無しさん mailto:sage [04/12/02 12:45:44] 「普通のサーバ」? ワケワカラン
705 名前:692 mailto:sage [04/12/02 12:58:17] >>704 KCNのホームページスペースなんですけど、、、
706 名前:デフォルトの名無しさん mailto:sage [04/12/02 16:01:41] 新しいスターが誕生した予感(^∀^)わくわく 「Apacheじゃないです。KCNのホームページスペースなんです」Σ(゚Д゚) 「ホームページスペースなんです」「ホームページスペースなんです」「ホームページスペースなんです」 今後の展開から目が離せません
707 名前:デフォルトの名無しさん mailto:sage [04/12/02 16:26:06] >>692 ttp://developers.vodafone.jp/dp/tool_dl/java/tech.php Vアプリ開発ガイド[Tips編]のP61 Vアプリ開発ガイド[概要編]のP96〜P103、P127 をよく読んだ方がいいと思う
708 名前:デフォルトの名無しさん mailto:sage [04/12/02 16:46:55] www.kcn.jp/index.xml か? ユーザーホームページは、 Apache/1.3.31 Server at www1.kcn.ne.jp Port 80 って出るから、Apacheみたいだが なんつーか、要するに>>707 だな
709 名前:692 mailto:sage [04/12/02 19:31:00] >>708 そうですか、、、アパッチ、、、 ポートは80なので問題ナシですよね? >>707 読みました、、、が、 jadファイルやマニフェストファイルへのmidlet属性の付加の仕方がわかりません。 マニフェストファイルへ書き加えても、ビルドしたあとのXMLファイルのようなもの(Sunoneで拡張子.adContent)を見る限り、 どうやらmidlet属性がうまく乗っていない状況だと思います。 P5エミュでテストを行ってまして、技術資料を見る限りではCGIまわりの設定は間違っていないと思われます。 よろしくお願いします。
710 名前:デフォルトの名無しさん [04/12/02 21:48:28] InputStream in = Connector.openInputStream( "datafolder://"+ファイル名 ); ってやるとSecurityExceptionがでる。 で、jadの設定でなにか設定すれば動くと思うんだけど。 なんて設定すればいいか教えてくれ〜
711 名前:デフォルトの名無しさん mailto:sage [04/12/02 22:00:44] SunONEを使ってる香具師がいない悪寒 あきらめてjadファイルを手で直せ
712 名前:デフォルトの名無しさん [04/12/02 22:04:11] MIDlet-Application-Security: Y これじゃいかんのかい?
713 名前:701 mailto:sage [04/12/02 23:04:40] >>692 698-701の流れで703はオカシイだろ。知らんなら先言え。 あとApache、CGIの前にtxtで試せ言ったじゃん。どうせJADだと思ったけど。 J2MEのKToolBarならProject>Settings ...のUser Definedで AddでkeyにNetworkで追加した後ValueにY書けばいいハズ。 オイラはKJX作成ツール使いで、SunOneとかエエもん使った事ねぇや。 >>710 EZかVか?つか、Vなら file://〜 だよな。 EZは勝手アプリでは例外無くアウト、って感じだと思う。
714 名前:デフォルトの名無しさん mailto:sage [04/12/03 01:05:01] >>709 は、 サーバがMIMEタイプでapplication/Javaを吐かないのが原因とかそんなとこじゃないかな。 とりあえず、localhostにサーバ立てて実験しる。 サーバのたて方すらわからんのなら、HTTPConnectionするアプリはあきらめた方が無難だと思う。
715 名前:692 mailto:sage [04/12/03 12:34:48] やはりSunONEユーザはあまりいなさそうですね、、、 画面はちらつくわ、、すぐ応答なしになるわ、、、orz 昨夜本屋などをかけずりまわり〜自転車のカゴがへっこんだりもしましたが、、 やっとマニフェストの追加のやり方がわかりました!! JARレシピうんたらでJARファイルを細かく設定できるみたいです。 しかし、、、 アーカイブ時にmidletやらが入ってるjarとのつながりがなくなってしまい、 NoClassDefounderrorです、、、orz とりあえず動かすとこまでがんばってみます!!
716 名前:デフォルトの名無しさん mailto:sage [04/12/03 13:46:12] MIDPのソースコードってどこにあんのさ?
717 名前:デフォルトの名無しさん mailto:sage [04/12/03 15:36:12] Phase3エミュを使ってる人にお伺いします。 EZアプリ Phase3のセキュリティA機能(データファイルの読み書き)は、 Phase3エミュで動作確認できますか?
718 名前:デフォルトの名無しさん mailto:sage [04/12/03 21:40:41] >>716 ベンダーの名前くらい書いたら? IBMのにはついてきた。Sunのにもあったような気もするが忘れた。
719 名前:デフォルトの名無しさん mailto:sage [04/12/04 14:26:45] Voda P6型 Eclipseプラグイン公開されたね。 うれしいよ。
720 名前:デフォルトの名無しさん mailto:sage [04/12/05 21:10:45] MIDlet-Network: Y ってJAD側の属性なのにビルドで悩むもんなの? もれも >>701 の言う通りtxtで試すべきだと思う って遅いか・・・まあがんがれ
721 名前:692 mailto:sage [04/12/06 15:25:50] eclispeに浮気しますた。 で、こんなエラーが出ます、、、 お助けを、、、 "起動中" 中に内部エラーが発生しました。 java.lang.NoClassDefFoundError: org/eclipse/ui/externaltools/internal/variable/ExpandVariableContext com.zentek.eclipse.vappliemulatorplugin.LaunchConfigurationDelegate1.launch(LaunchConfigurationDelegate1.java:78) org.eclipse.debug.internal.core.LaunchConfiguration.launch(LaunchConfiguration.java:569) org.eclipse.debug.internal.ui.DebugUIPlugin.buildAndLaunch(DebugUIPlugin.java:720) org.eclipse.debug.internal.ui.DebugUIPlugin$6.run(DebugUIPlugin.java:892) org.eclipse.core.internal.jobs.Worker.run(Worker.java:66)
722 名前:デフォルトの名無しさん mailto:sage [04/12/06 21:49:58] アドバイスを全く聞いてないところが素敵すぎる 見事な亀感棒ですな
723 名前:デフォルトの名無しさん mailto:sage [04/12/06 23:30:47] java.lang.NoClassDefFoundError ってことだから調べれば出てくんだと思うわけです ヒロツです
724 名前:692 mailto:sage [04/12/07 12:42:46] おかげさまです。 ありがとうです。
725 名前:デフォルトの名無しさん [04/12/07 15:37:54] ボダ3Gの開発キットって公開さてないの?
726 名前:デフォルトの名無しさん mailto:sage [04/12/08 01:01:06] >>725 さてないよ
727 名前:デフォルトの名無しさん [04/12/08 09:35:11] Vアプリを、eclipse3と、P6エミュでデバッグしたいんだが、 リモートデバッグでエミュに接続後、エミュが不定期に落ちる・・・ なんとかならんの?それとも俺だけ?
728 名前:692 mailto:sage [04/12/08 16:38:36] P6端末では細い文字しか出力できないのですか!? スタイルボールドにしても見た目が変わりませぬ、、、
729 名前:デフォルトの名無しさん mailto:sage [04/12/08 21:30:48] >>727 P6エミュレータへのリモートデバッグはUEI仕様に準拠してるから Eclipse3よりもWSDD(WCTME)5.7.1のほうがいいんじゃないかな。Eclipse2.1.3 ベースになるけど、P6プラグイン自体Eclipse2.1.3向けだしこっちのほうが いい気がする。一見英語版ぽいけど中身は国際化されてる。 www-6.ibm.com/jp/domino02/NewAIS/aisextr.nsf/ByLetterNo/SWA04114?OpenDocument&ExpandSection=1&highlight=0,IBM,workplace 体験版 www14.software.ibm.com/webapp/download/product.jsp?s=p&id=DVDE-634P22 通販 https://www.airbitway.com/meng/cps.php?site=airppcpc&req=131_01_01&CID=3AP007002
730 名前:デフォルトの名無しさん mailto:sage [04/12/08 21:33:51] >>728 実機で見てないけどエミュだと変わらないみたいだ 機種依存しそうな部分だから気をつけたほうが良いかと
731 名前:デフォルトの名無しさん mailto:sage [04/12/08 23:30:20] 設計でおしえてください。 基本的にCanvasで画面展開するアプリを作ろうとしているのですが、 メールアドレスの入力をしてもらう必要があります。 この部分だけ、Formを使わないといけないのでしょうか? Canvasに入力欄を作ることはできないでしょうか? 今はMIDletを制御するだけのクラスと、Canvas拡張クラスで作っています。 画面展開などはCanvas拡張クラスのPaintにパラメータを渡すことで済ませています。
732 名前:デフォルトの名無しさん mailto:sage [04/12/09 02:18:01] MIDP2.0に対応しているプロファイルってどれ?VアプリだとP6以上?Phase3はMIDP1.0だよね?
733 名前:デフォルトの名無しさん mailto:sage [04/12/09 05:07:35] >>731 MIDP1だけだと、TextField/TextBox使うしかないね。 もしくは、Canvas上でFepまで作ってしまうか。 >732 3Gから。っっっと思う。 少なくとも一般にはまだ公表されてないハズ。
734 名前:727 mailto:sage [04/12/09 17:52:59] >>729 サンクス。 でも、とても買えないので、eclipse2にボーダのプラグインを使う事にしました。
735 名前:デフォルトの名無しさん [04/12/10 16:15:27] アプリゲットのテストサーバーにアップロードしてるんですが、 "ADFの内容に問題があります。" とはねられてしまいます。 jadはKToolbarで作ったものです。 どこがいけないのでしょうか? MIDlet-1: Resident, Resident.png, Resident MIDlet-Jar-Size: 253426 MIDlet-Jar-URL: Resident.jar MIDlet-Name: Resident MIDlet-Resident: Y MIDlet-Vendor: Me MIDlet-Version: 1.0 MicroEdition-Configuration: CLDC-1.0 MicroEdition-Profile: MIDP-1.0
736 名前:デフォルトの名無しさん mailto:sage [04/12/10 17:48:47] >>735 Venderが短すぎる・・かな?3か4バイト以上じゃなかったっけ?
737 名前:デフォルトの名無しさん mailto:sage [04/12/10 18:44:55] アップロード審査通知 というメールに内容が書いてありました。 「JARのファイルサイズが、制限の204800バイトを超えています。」 でした。 stubclasses.zip の中身を削除することってできるんでしょうか?
738 名前:デフォルトの名無しさん mailto:sage [04/12/10 22:06:05] >>737 stubclassesの中身削ってもアプリサイズは減らないよ。 ・・まさかjarに同梱しちゃってるの?
739 名前:デフォルトの名無しさん mailto:sage [04/12/10 23:41:26] jarにstubclasses.zipを同封しようとしているやつがいるのか。 世の中ひれーな、おらワクワクしてきただ。
740 名前:デフォルトの名無しさん mailto:sage [04/12/11 21:07:41] >>732 VFXとか言う聞き慣れないプロファイルらしい。 P6とかと根本的に違う物なヨカーン。
741 名前:デフォルトの名無しさん mailto:sage [04/12/12 00:27:00] >>738 , 739 KToolbar の作る C:\WTK21\apps\Project\lib\ にstubclasses.zipを置いてビルドすると、 できたjarの中に入ってます...。 stubclasses.zipで検索しましたが、扱いについての説明は見つかりませんでした。 ばかな質問かもしれませんが、どうしたらよいのでしょうか? よろしくお願いします。
742 名前:739 mailto:sage [04/12/12 12:57:48] オレはKToolbar使ってない。 outputというフォルダ内にpreverifyしたファイルがあるとして、 MANIFEST.MFを同封する場合のコマンド jar cfm appName.jar MANIFEST.MF -C output . stubclasses.zipは、中に宣言だけの各クラスファイル(JSCLライブラリ)が入ってる。 ケータイやエミュは、そこで宣言されたクラスをVM内部に持っている。 だけどJ2ME標準のライブラリではないため、 コンパイルを通すためにstubclasses.zipをclasspathに追加するという使い方をする。
743 名前:738 mailto:sage [04/12/12 16:50:41] >>739 確かにKToolBarには追加する機能なかった気がする。 基本は742の方法(参考書とかも確かこう)なんだけど オイラはkjx作成ツールを使ってる。詳細は綿100号さんのサイトで。 最近ではEclipse2.1.3とか使うのもオススメ。
744 名前:デフォルトの名無しさん mailto:sage [04/12/12 16:56:44] KToolbar でできると簡単なんですけどね...。 KToolbar で作ったjarの中から、com、java、javaxフォルダを削除して、 新しいサイズをjadに書き込む... というやり方ではまずいでしょうか? 一応エミュレーターでは動作しました。
745 名前:デフォルトの名無しさん mailto:sage [04/12/12 17:30:45] そこでantですよ。 build.xmlは一回書けば大抵のプロジェクトで使い回せるし (jarの名前なんかは*.propertiesに書いて外に出しておけばOK)マジお勧め。
746 名前:デフォルトの名無しさん mailto:sage [04/12/12 19:42:31] ボーダでstubclasses.zip関係であれこれ試してるやつは前スレを一読することを勧める。 参考になるやり方がいろいろ出てる。
747 名前:738 mailto:sage [04/12/12 23:16:19] >>744 とりあえず動けばマズイ事はないと思うけど、やっぱ面倒でしょ? エラー見つかってソース書き換えるごとにそれって・・。 いかに楽するか、がプログラミングなので、面倒なのはツール任せ。 ・・とか言ってantの用途をEclipseプラグインのガイド見て知ったオイラはヘボグラマ。
748 名前:739 mailto:sage [04/12/13 02:20:39] やっぱ、これ面倒だよねぇ。 オレはMakefile使ってやってるけど、 今時Makefileじゃねぇ。。。 一応このへん組み込んで、ソース改変→make→jadのサイズ更新までやってくれるようにしてる。 ProGuardも組み込もうと思ったけど、これは断念した。オレの限界だ。 javapp denchu.jp/java/ javaupd homepage1.nifty.com/marukun/java/vapp.html
749 名前:デフォルトの名無しさん [04/12/13 18:25:38] >>748 make使ってないけど、オレはbatでやっている。 で、商用だと同じアプリでも様々なバージョンを出力する必要があるので最近はスクリプトでmakeのようなことをやっている。 Javaなのにプリプロセッサは必須なんだけど、Eclipseとかで開発するとその辺ってどうなんだろう?
750 名前:デフォルトの名無しさん mailto:sage [04/12/13 20:15:01] >>749 Eclipse? インクリメンタルコンパイルの前にプリプロセッサに かけることも出来るし、いかようにも。
751 名前:デフォルトの名無しさん mailto:sage [04/12/13 23:06:29] >>750 へー、そうなのか 漏れはmakeで全部やってるが、規模が大きくなってきたんでそろそろエクリプスに移行したい‥
752 名前:デフォルトの名無しさん mailto:sage [04/12/13 23:50:40] 最後はeclipse + make, eclipse + antなんだと思っていたけどそうでもないのかな? googleで検索してみて。俺はeclipse + makeね。 make, antのスレもこの板にあるよ。
753 名前:デフォルトの名無しさん mailto:sage [04/12/13 23:58:07] 自分もbat。NTで拡張されたforとか使ってる。ppはbccとppinc。 >>750 プリプロセッサ使ってみたいからポインタ教えて。enumが使えるなら明日にでも乗り換える。
754 名前:デフォルトの名無しさん mailto:sage [04/12/14 00:20:12] コマンドラインでant使ってる漏れは異端だったのかorz ちなみにまずclにかけてプリプロセスした後一旦jarにまとめ、(ProGuardに掛けるには一度jarに まとめないとめんどいのだ)それをProGuardにかけて削り混んだ後 再度リソースと一緒にjarにまとめて謹製ツールでkjxに仕立てるところまでフルオート。 ふる、ふる、ふる、むーーーん……いや、何でもないんだうわなにわqwdfんhl
755 名前:デフォルトの名無しさん mailto:sage [04/12/14 05:40:56] わたしのしもべー
756 名前:デフォルトの名無しさん mailto:sage [04/12/14 12:17:01] >>733 >3Gから。っっっと思う。少なくとも一般にはまだ公表されてないハズ >>740 >VFXとか言う聞き慣れないプロファイルらしい。 >P6とかと根本的に違う物なヨカーン。 というとはiMonaのような一般投稿アプリでは、MIDP2.0対応にしばらく時間がかかりそうだということですか? じつは携帯板の一部では簡単に対応出来るような電波飛ばしてる人がいるので 確かめたいのでお聞きしました。公式ではなく一般投稿アプリに関してです。
757 名前:デフォルトの名無しさん mailto:sage [04/12/14 13:37:59] >>753 方針は次の二つのうちどちらか。 1. ビルド制御を全てantでやる。 2. ビルド制御を全てEclipseでやる。 1. はgoogleでeclipse antで検索すると出てきそうな気がするから 省略。Eclispeの自動ビルドと保存時のビルド実行をそれぞれ無効に しておくことを忘れずに。 2. は、 help.eclipse.org/help30/topic/org.eclipse.platform.doc.user/gettingStarted/qs-96_non_ant_pjs.htm help.eclipse.org/help30/topic/org.eclipse.platform.doc.user/gettingStarted/qs-93_project_builder.htm あたりを参考に、JavaProjectのビルダー設定でコンパイルの 前処理・後処理を行う新規ビルダーをそれぞれ作成、 Javaビルダー(要するにコンパイラ)の前後に追加する。 デフォルトでは新規に追加したビルダーは自動ビルド時に 無効になっているから直しておくことを忘れずに。 1と2の折衷案として全部build.xmlに書いて、ビルダー設定に追加、 build.xml以外のビルダのチェックを外すというのもあり。
758 名前:デフォルトの名無しさん mailto:sage [04/12/14 22:50:33] >>というとはiMonaのような一般投稿アプリでは、MIDP2.0対応にしばらく時間がかかりそうだということですか? k-tai.impress.co.jp/cda/article/news_toppage/20667.html によるとシャープとNECはJSCL、VFX両対応らしいので P6とかも普通に動きそう。
759 名前:デフォルトの名無しさん mailto:sage [04/12/15 01:03:32] Vodafoneから公式のEclipseプラグイン出たね。
760 名前:デフォルトの名無しさん mailto:sage [04/12/15 02:15:39] >>757 あ、なんとなくわかった。ありがとうございます。 今仕事が立て込んでるので手が空いたらチャレンジしてみたいと思います。
761 名前:デフォルトの名無しさん [04/12/15 18:18:50] Imageオブジェクトをスクラッチパッドに書き込むためにbyte配列にしたいのですが どうやってbyteにすればいいんですか
762 名前:デフォルトの名無しさん [04/12/15 18:24:53] あ、スレ的にはレコードストアって言ったほうがいいですね。。。
763 名前:デフォルトの名無しさん mailto:sage [04/12/15 19:04:42] >>761 んー。それは難しいな。MIDP1.0の範疇では無理だね。 VodafoneのP5,P6アプリならGraphicUtil#getPixelを使って1ドットずつ読み込むしかない。 ただし激重いよ。 auはちょっと分からない。
764 名前:デフォルトの名無しさん [04/12/15 19:10:25] そうなんですか。。。 適切なご解答ありがとうございます。
765 名前:デフォルトの名無しさん mailto:sage [04/12/15 21:35:37] >>761 auにもPhase3でExtensionGraphics#getPixelがあるけどV同様激重。 しかも約2Byte/pixだからQVGAで150KB。デカ過ぎるし保存にも時間かかるよ。 情報は落ちるが一度jpgにエンコードして保存した方がいいかも(QVGAで約10KB)。 au,Vともカメラ操作できる端末ならミュータブルなImageをjpgバイト列にエンコ可能なはず。
766 名前:デフォルトの名無しさん mailto:sage [04/12/16 13:41:07] pcweb.mycom.co.jp/news/2004/12/16/006.html オープンソースのJava開発環境「NetBeans IDE 4.0」正式版が公開 NetBeans 4.0では、モバイル機器用開発キットのJava 2 Platform Micro Edition(J2ME)と、 8月に公開の第1ベータ版では非対応だったJava 2 Enterprise Edition(J2EE)にも対応。 モバイル機器からWebアプリケーションまで、広範なプラットフォームが開発対象とされている。 前バージョンの3.6で全面的に書き換えられたIDEのウインドウシステムにも改良が加えられるなど、 更なる生産性の向上も図られている。
767 名前:デフォルトの名無しさん [04/12/17 01:50:55] さかきけいさん、どこに行ってしまったのか…。 検索すると氏のページばかり表示されるのだが。
768 名前:デフォルトの名無しさん [04/12/19 18:53:46] Graphics.drawArc() などで透明度のある線を書くことができますか?
769 名前:デフォルトの名無しさん mailto:sage [04/12/19 19:38:06] 自分でアルファブレンディングするメソッド作るしかないんじゃないの?
770 名前:デフォルトの名無しさん mailto:sage [04/12/19 22:56:40] >>768 難しいですね。 速度重視でないなら、バックスクリーンをバイト配列なんかで保持し、 自分で演算して、アルファブレンディングするしかないです。 ・・・考えるだけでも嫌ですね(^^;
771 名前:デフォルトの名無しさん mailto:sage [04/12/20 11:42:10] 初歩的な、画面遷移で質問します。 main クラス、canvas1 クラス、canvas2 クラスがあります。 main で Display.getDisplay(this).setCurrent(canvas1); として canvas1 を表示します。 つぎに、canvas1 で Display.getDisplay(main).setCurrent(main.canvas2); としてcanvas2が表示されることを目論んでいるのですが、 main シンボルを解決できないとなってしまいます。 どうすればよいのでしょうか? お教えください。
772 名前:デフォルトの名無しさん [04/12/20 12:31:34] >>771 mainの参照をcanvas1に渡してるか?
773 名前:デフォルトの名無しさん mailto:sage [04/12/20 13:21:09] ありがとうございます。 やはり、 コンストラクタか何かで明示的に渡す必要があるのでしょうか。 main クラスをこのようにしたら、大丈夫かと思ったのですが。 public static main midlet; public Main() { midlet = this; canvas2 = new Canvas2(); Display.getDisplay(this).setCurrent(canvas2); ... }
774 名前:デフォルトの名無しさん [04/12/20 15:48:28] midletをMIDletインスタンスの参照にしてるなら、 getDisplay()のパラメータはMain.midletじゃないのか?
775 名前:デフォルトの名無しさん [04/12/20 15:49:55] あ、main.midletな、スマソ
776 名前:デフォルトの名無しさん mailto:sage [04/12/20 15:52:16] >>773 まともに答える前に確認しておくけど、 public static main midlet; public Main() { midlet = this; canvas2 = new Canvas2(); Display.getDisplay(this).setCurrent(canvas2); ... } コンストラクタがMainってことはクラス名がMainかな と思いきや、midletの型がmainなのはなぜ?
777 名前:デフォルトの名無しさん mailto:sage [04/12/21 00:09:40] >>774-6 ありがとうございます。 クラス名はMainで、main はMidletクラスの変数のつもりです。 実は、 J2ME/MIDP でケータイ IM をつくろう sdc.sun.co.jp/news/200303/ktaijava.html の中にある、 sdc.sun.co.jp/news/200303/improve030303.zip ソースを真似してみたつもりなのですが...。
778 名前:デフォルトの名無しさん mailto:sage [04/12/21 02:00:51] >>770 速度気にしないならgetPixelでピクセルごとに色取り出して選択色と加算しながら 始点から終点まで点を打っていくっていうのもアリだと思う。 drawArcとかの代わりにはならんかもだが、3Dでプリミティブに透過でつけて 通常のCanvas上に平行投影したらいけそうな気もする。 >>777 クラス名がmainが変数名なら public static MIDlet main; だよ。 [修飾子] [修飾子] クラス(型)名 変数名 の順だ。 この時点でクラスと変数ごっちゃになってるから他(canvas1とか)も同じ事して 「シンボルを解決できない」のは当然だと思う。 何が言いたいかって言うと、「画面遷移以前の問題」。
779 名前:デフォルトの名無しさん mailto:sage [04/12/21 11:26:41] >>777 まず、Javaを勉強しろってこった。OJTだけだと余計なところで 躓いて、結局非効率だ
780 名前:デフォルトの名無しさん mailto:sage [04/12/21 15:21:04] >>778 777の返答は誤りでした。 そうではなく、 public static Main midlet; の書き間違いでした。 キャピタライズしてなくて誤解を与えたかもしれませんね。 意図はそのまま、midlet が変数です。 javacは通るので、そこまでの間違いは犯していないつもりです。
781 名前:デフォルトの名無しさん mailto:sage [04/12/21 15:31:24] 改めて、777で挙げた例で質問させてください。 省略している箇所が多くあります。 /* メインクラス */ public class ImproveMIDlet extends MIDlet implements CommandListener{ public static BuddyListCanvas listCanvas; public static ImproveMIDlet midlet; protected void startApp() { midlet = this; listCanvas = new BuddyListCanvas(); ...... それから、各所でこのように画面遷移が行われています。 ImproveMIDlet.setCurrent(ImproveMIDlet.listCanvas); ここで、ImproveMIDletの参照が得られるのはなぜでしょうか? どこで参照を渡しているかが見抜けません。 よろしくお願いします。
782 名前:デフォルトの名無しさん mailto:sage [04/12/21 16:03:00] お前が書きミスしたくせに「誤解」とは偉そうだな。 ImproveMIDletの参照が得られるのではなく、listCanvasの参照が 得られるんだよ。それはpublic static宣言しているからだ。 同様に、midletの参照を得たけりゃ、ImproveMIDlet.midletでOK。 お前は最初で、mainしか渡してなかったじゃねーか。 それじゃどのmainか解らないから、シンボルが解決できない。 staticとして宣言してるメンバなら、クラス名.メンバ名でシンボル解決する。 それこそ、Javaの基本だろ。
783 名前:778 mailto:sage [04/12/21 21:00:21] >>780 ,781 シンボル解決しなくてもjavacって通るっけ? 正直に言うとこのスレだけで「canvasの切り替えが出来ない」とかいう奴が2,3人いたので それ読んだ上でのその質問なのか、というか、 読んでないと思うし、同様に理解してない雰囲気が文面から感じる。 普段ちゃんとソース書いてりゃココでそんなミスしない。 「〜をマネした"つもり"」で「省略してます」とか言われても予想できない。 けど、そんな複雑なのを参考にする意味があるカイ?簡単なのでためそうよ。 一番は自習だが、どうしてもってんならソース全部さらせ。
784 名前:デフォルトの名無しさん mailto:sage [04/12/22 11:48:38] MIDletクラスにsetCurrentなんてあったか? MIDletクラスとDisplayクラスを混同しているようでは、 >それから、各所でこのように画面遷移が行われています。 > ImproveMIDlet.setCurrent(ImproveMIDlet.listCanvas); ↑こういうのも信用できんわけだが。
785 名前:デフォルトの名無しさん [04/12/22 16:05:26] 質問します。 A5402S(au)でアプリを起動中に KEYの処理を入れてないのにジョグダイヤルを回すと、 ジョグダイヤルの情報が残りその情報が終わるまで次の操作ができませんが、 いい解決策はないでしょうか?それともこれは内部的な仕様なのでしょうか?
786 名前:デフォルトの名無しさん mailto:sage [04/12/22 16:54:27] >>785 ttp://hobby7.2ch.net/test/read.cgi/appli/1090494378/657
787 名前:デフォルトの名無しさん [04/12/24 06:49:54] プロファイル:MIDP 1.0 or 2.0 質問1.現在実行中のJavaアプリケーション内から他のJavaアプリケーションを起動するにはどうしたらいいですか? DojaのIApplicationクラスにあるlaunch()メソッドみたいな奴があれば嬉しいんですが・・・ 質問2.実行中アプリからブラウザを起動する(あと、できればブラウザからアプリを起動するってのもほしい)
788 名前:デフォルトの名無しさん [04/12/24 07:36:06] game.2ch.net/game/kako/1007/10078/1007835254.html
789 名前:デフォルトの名無しさん mailto:sage [04/12/24 21:17:24] >>787 >質問1.現在実行中のJavaアプリケーション内から他のJavaアプリケーションを起動するにはどうしたらいいですか? > DojaのIApplicationクラスにあるlaunch()メソッドみたいな奴があれば嬉しいんですが・・・ MIDP2.0(JSR118)ではそのような機能はサポートされていません。 >質問2.実行中アプリからブラウザを起動する MIDlet#platformRequest()で可能です。 >(あと、できればブラウザからアプリを起動するってのもほしい) これはMIDP2.0(JSR118)では、未サポートです。
790 名前:デフォルトの名無しさん mailto:sage [04/12/24 22:20:25] >>789 うほっ ありがとうございます!
791 名前:デフォルトの名無しさん [05/01/08 15:07:47] 質問です。 EZアプリでキー操作音を消すにはどうしたら良いのでしょうか? もちろん「マナーモードにしろ!」ってのは無しで。。
792 名前:デフォルトの名無しさん mailto:sage [05/01/08 17:40:15] >>791 平常時からキー操作音OFFにしておく。 アプリでの設定は不可。(メーカーが特別に作ってたら知らんけど)
793 名前:791 mailto:sage [05/01/08 17:57:43] >>792 レスありがとうございます。 しかしながら、JAVAで設定できると思います。 幾つかのキー音無しのアプリがあったので。
794 名前:デフォルトの名無しさん mailto:sage [05/01/08 18:38:19] 現行機種だと出来るのかもな 大昔の機種は出来ないんだよね 単にBGMが鳴ってるだけだったりしてw
795 名前:デフォルトの名無しさん [05/01/09 21:04:27] 質問です。現在Vアプリの作成中です。 複数行のテキストファイルを1行毎読み込んで表示させたいんですが、 Vアプリの場合、BufferedReaderクラスのreadLine()メソッドってな いんでしょうか?
796 名前:デフォルトの名無しさん mailto:sage [05/01/09 21:46:59] なんかここ急に人居なくなったな なっちは元気にやってるんだろか、最近見ないね
797 名前:デフォルトの名無しさん mailto:sage [05/01/10 04:40:14] >>795 CLDC1.0+MIDP1.0+JSCL1.2.1にBufferedReaderは含まれません。
798 名前:792 mailto:sage [05/01/10 11:43:28] >>791 うん、まぁ確かにあるのかもしれない。 公式のテトリスでマナー中でも音が鳴ってどうやったら出来るか疑問だった。 多分 DeviceController あたりを使うのだろうと思うけど一般に公開されてない。 ファイルの読書みたいに公式アプリのみで可能な事だと僕は理解してる。 もし一般アプリで音無しが有ったならその作者に聞いてみて。 ・・って書いてしまったけど、もしこのスレで詳しい方いましたら補足・訂正お願いします。
799 名前:デフォルトの名無しさん mailto:sage [05/01/12 19:14:40] Vなんですが、 java.util.Calendar#setTimeInMillis(long millis) はCalendarインスタンスへの時刻設定で、 ひょっとして端末の時刻を変更することはできない? HTTPアクセスして自動的に端末の時刻を合わせるなんてアプリを思いついたんだが、 できなさそう。
800 名前:デフォルトの名無しさん mailto:sage [05/01/12 20:03:37] >>799 ひょっとしなくても、そのとおりです。 Systemには現在時刻を取得するメソッドはありますが、設定するメソッドはありません。
801 名前:デフォルトの名無しさん mailto:sage [05/01/12 20:29:13] ん・ぱか工房さんのところにあるSizeUpdate.classを使用すると jadファイルの日本語(UTF-8)が化けてしまうんですが、 文字化けしないようにできないでしょうか?
802 名前:デフォルトの名無しさん mailto:sage [05/01/12 20:31:07] >>801 それくらいのツール、javaでさくっと作ればいいのでは?
803 名前:799 mailto:sage [05/01/12 21:01:23] >>800 どもです。やはり無理ですか。 時刻合わせホントにめんどいんすよね、Javaから設定できれば楽なんですが。 いっそのことauに機種変・・・ >>801 jadupd homepage1.nifty.com/marukun/java/vapp.html
804 名前:デフォルトの名無しさん mailto:sage [05/01/12 21:32:43] >>801 Vodaのサンプル集にAnt Taskが入ってる。
805 名前:801 mailto:sage [05/01/12 22:30:58] ありがトン
806 名前:デフォルトの名無しさん mailto:sage [05/01/14 14:31:21] Vodafoneのビジネスデベロッパー用のアプリを作成しています。 0x系の待受けアプリを作成しているのですが、 週刊ゲーム&アプリLiveの ダウンロード通知で"JResidentMIDletが必要"エラーが出てしまいます。 5x系のときは、このAPIを使用して作成しましたが、 0x系では、com\j_phone\midlet\ResidentMIDlet.class が存在しないために、 JResidentMIDlet を使用することができないと思っています。 どうしたらよいでしょうか? よろしくお願いします。
807 名前:デフォルトの名無しさん mailto:sage [05/01/15 05:13:20 ID:??? BE:43697276- ] >>806 ビジネスが具体的に一般向けのやつとどう違うのかは知らんが、一般人でも見られるとこからの情報だと、 JSCL1.0ではそもそもResidentMIDletがないので、 DeviceControl#setTelephonyListenerとか使って TelephonyListenerをimplementsしたクラスを登録するしかないと思う。
808 名前:デフォルトの名無しさん mailto:sage [05/01/15 16:02:19] >>807 そうですよね。 もちろん、そのように作成したら、 "JResidentMIDletを使用して作成する必要がある" と言われるのですよ…。 おかしいですよね。
809 名前:デフォルトの名無しさん mailto:sage [05/01/16 01:12:58] JSCL1.2 emulaterで Emulator boot-up timeout. とでて落ちるのはなぜでしょうか?
810 名前:809 mailto:sage [05/01/16 01:15:47] 自己解決しました。 ttp://homepage1.nifty.com/marukun/java/vapp.html ここによるとファイアーフォールが問題だったようです。
811 名前:デフォルトの名無しさん mailto:sage [05/01/17 00:28:11 ] LZ77圧縮アルゴリズムに詳しい人いますか? アプリ内で使いたいのです
812 名前:デフォルトの名無しさん mailto:sage [05/01/17 08:15:57 ] アルゴリズム事典を買いなさい。必ず買いなさい ttp://www.amazon.co.jp/exec/obidos/ASIN/4774117293/
813 名前:デフォルトの名無しさん mailto:sage [05/01/18 07:28:31 ] どなたか知っている方がいれば教えて下さい。 Vアプリにて、3D表示するアプリを作っていまして、 現在はエミュレータ上で動作を確認したアプリを、実機にてテストを行っておりますが、 class ファイルと同じ場所にあるリソース「a.mbac」を読み込もうとすると、複数のエラーが発生してしまいます。 1. f = new Figure("/a.mbac") を実行すると、例外「IOException」。 2. f = new Figure("a.mbac") を実行すると、例外「java.lang.RuntimeException: Constructor: Could not create」。 なお、3Dデータは、以前にiアプリで作ったモノを流用しています。
814 名前:813 mailto:sage [05/01/18 07:30:22 ] あと、同じ場所にある画像データは img = Image.createImage("/0.png"); などで読み込めております。
815 名前:デフォルトの名無しさん mailto:sage [05/01/18 18:13:03 ] >>813 mbacってアクションじゃないのか?
816 名前:一念発起 mailto:sage [05/01/18 21:47:08 ] Vodafoneの携帯用のJavaアプリを作ってみたいと思うのですが、 右も左もわからず、どうやって開発環境を作ったものかもわかりません。 現在の私の環境は、 JDK1.5 Eclipse3.0.1 です。 V601T用のアプリを作りたいので、JSCL1.2.2をインストールしましたが、 この後、なにを導入すべきなのかを教えてください。 または、詳しい文献等がありましたらご紹介願います。
817 名前:デフォルトの名無しさん mailto:sage [05/01/19 00:18:01 ] >>816 developers.vodafone.jp/dp/ とりあえず、ここにあるPDF読む。 それだけで、ビルドの方法はわかる。 ちなみに、自分で解決する能力がないなら、 資料と同じバージョンの環境を使うこと。
818 名前:デフォルトの名無しさん mailto:sage [05/01/19 00:28:14 ] >>813 iアプリ用のmbacって,Vアプリで使えないんじゃなかったっけ? Vアプリ用のmbac変換ツールを使って作りなおす必要があるとか どっかに書いてあった希ガス
819 名前:816 mailto:sage [05/01/19 00:42:19 ] >>817 それも、とりあえず片っ端から読もうと思って、最初に「概要」をダウン ロードしてみたんです。 そしたら、冒頭に「CLDCとMIDPを熟知していることを前提とする」ような ことが書かれていたので、読むのを断念しました。 それでもPDFにある通りにインストールを続けてたんですが、バージョン の違いからか、どうも上手くいかなくなってしまい、困り果ててこちらに お世話になったという次第です。 できることなら、いままでの環境を残したいと思い、私と同じ環境で開発を 進めている方の声でも聞ければと思ったのですが・・。 一度消さないとダメなんでしょうか?
820 名前:デフォルトの名無しさん mailto:sage [05/01/19 04:01:38 ] >>819 =816 あなたの場合は消さないとダメ。理由は>>817 が言うとおり。 ここから先は余計なお世話になるが… 816はJava言語やオブジェクト指向についてもよく知らない様子だから、 アプリ製作以前にまずそれらを参考書とかで学んだ方がいいかもしれない。 今は多分Vアプリ開発資料のどれを読んでもチンプンカンプンだと思うから。 このスレでもことあるごとに出てくる言葉、それは「急がば回れ」。頑張ってくれ。
821 名前:816 mailto:sage [05/01/19 09:58:44 ] Javaについては、全く問題はないかと言われれば自信はありませんが、勉強しました。 一応(ほんとに一応ですが)、実務経験もありです。 そこで「さぁはじめよう」と思い、 Vアプリ開発ガイドに目を通したら 「CLDCとMIDPを熟知していることを前提とする」とあったもので、少々面食らって しまった訳です。 使い慣れたEclipseを使いたかったんですが、とりあえずは ・JDK1.3 ・J2ME Wireless Toolkit ・JSCL1.2.2 だけでやってみようと思います。 疑問なのですが、皆さんは一番最初はどうやって始められたのでしょうか? Java言語についての知識ははじめからあったのだろうとは思いますが・・。 あと、登竜門となるサイトや文献があったら教えてください。
822 名前:デフォルトの名無しさん mailto:sage [05/01/19 10:53:44 ] Java:出始めのころアプレットを作った。その時ある程度覚えた CLDC、MIDP:Sunが出してる資料を一通り読んだ 携帯アプリ:キャリアが出してる資料を一通り読んだ あとは経験と勘と努力と根性 まともな実務経験があるなら、MIDPとVアプリの仕様を勉強すれば作れるでしょ サイトはwww.saturn.dti.ne.jp/~npaka/ とか
823 名前:デフォルトの名無しさん mailto:sage [05/01/19 12:43:49 ] >>821 vodaのエミュレーターが出たときに速攻で落としていろいろ実験した
824 名前:デフォルトの名無しさん mailto:sage [05/01/19 13:41:39 ] >>816 とりあえず環境を整えて作ってみたいなら綿100号さんとこがお勧め。 ttp://homepage1.nifty.com/cotton100/ →Java(TM)アプリ はじめのいっぽ 議論とかはここかSINSEN www.sinsen.org/top.html のBBS。 JDKは1.5から大きく変化した(と思う)から、1.4か1.3の方がたぶん無難。 Eclipseは2.1.3でないとダメっぽい。(3.0.1で説明どおりやると実行時にエラー) 2.1.3と2.1.xの言語パックを使うといいよ。 オイラの経験は Java: Web用のゲームアプレットの本一冊買って、5個分ぐらいのソース自分で打ち直し MIDP: んぱか工房の人が出してる本買って(発行日くらいに)、5個分ぐらい(略。 で、その後ぐらいからサンプル改造しつつ理解していった。今も少し流用しながら。 まじめにオブジェクト指向についてとか勉強したのは後の話。 昔はそうでもなかったと思うけど、携帯アプリの制限がなくなって来たら オブジェクト指向をキッチリ意識しながら書いた方が保守とか楽でいいと思う。
825 名前:デフォルトの名無しさん [05/01/19 17:56:26 ] Vodafoneの新しい3G端末は、JSCLのAPI使っていると動かないね SHやNは対応しているのかと思いこんでたけどだめだね 属性の設定キーでもあるのかな 今まで作ったVアプリも、JSCLで拡張された機能をはずして 動くようになったけど、これじゃ機種変更しなきゃよかった 個人にも、メガアプリの仕様やライブラリを 公開して欲しいな。無理かな?
826 名前:816 mailto:sage [05/01/19 20:24:15 ] >>822 ,823,824 レスありがとうございます。 紹介していただいたサイトも非常に勉強になります。 なんとか「HelloWorld」と表示させることはできるようになりました。 要するに環境ができたというだけの話ですが・・。 で、今日はいろいろやっていて一つわかった事があります。 それは、JSCL1.2.2 は JDK1.5 では動作しないっぽいということです。 エミュレータを実行させてたら、1.4か1.3を使えというエラーがでました。 昨日インストールが上手くいかなかったのもそのせいでした。 やはり、初心者は初心者らしく素直に資料にあるとおりにやらなきゃダメですね。
827 名前:820 mailto:sage [05/01/19 21:55:42 ] >>821 =816 失礼しました。 >皆さんは一番最初はどうやって始められたのでしょうか? Vアプリの前にiアプリ開発、その前にVC++での開発経験があった。 iアプリの時は簡単な本を1冊読んで携帯アプリの構造をつかんだら VC++のアプリを移植していくようなイメージで試行錯誤。 キャリアが用意したドキュメント(いわゆる開発ガイド)はしっかり読んだ。 APIリファレンスは必要に応じて。
828 名前:デフォルトの名無しさん mailto:sage [05/01/20 04:35:49 ID:??? BE:49939968- ] オレは、最初は入門記事から入った。 今はないここ。jp.appget.com/pc/dev_tips/ (WebArchiveにもなかった) で、挙動のよくわからんとこを理解するためにMIDP/JSCLのドキュメントを読みあさることになった。 とりあえず、MIDPについて慣れるところから始めるのがいいと思う。 Hello, Worldアプリをケータイ上で動かす手順まで理解したとこで、 PDA向けのMIDP解説でもいいから利用するのがいいと思う。 ↓のドキュメントを手玉にとれるようになるまでは、JSCL拡張APIにはあまり手を出さない方がいいかも。 web.sfc.keio.ac.jp/~t03790kn/javadoc/MID%20Profile%20docs/index.html
829 名前:デフォルトの名無しさん [05/01/20 11:17:59 ] hideNotify()って、いつ・どういうときに発生するんでしょうか?
830 名前:813 mailto:sage [05/01/20 13:27:54 ] >818 遅レス申し訳ないです。 mdac 作成担当に変換データを作ってもらったら、素直に読み込んでくれました。 ご指摘ありがとうございました。 ただ、ひとつ疑問なのは、png データでは「/0.png」みたいに“/”をつけても問題ないのに Figure などの3D系はつけると例外になるんだろう? (そういう仕様だと言われれば、それまでなんですが…)。
831 名前:デフォルトの名無しさん mailto:sage [05/01/20 16:22:47 ] >>830 APIの仕様策定者か実装者に聞くしかないのでは。 3D系はSunとは関わりないしね。
832 名前:816・821 mailto:sage [05/01/20 17:24:15 ] 皆さん共通して言えることは、ドキュメントをよく読むということですね。 自分は面倒くさがり屋なんで、子どものころからプラモデルとかも説明書を読まな いで作ってしまうタイプなんですが、それじゃあイカンと。 精進します。 今日は Eclipse + Ant を導入しました。 快適ですね。 Eclipse上でコーディングからビルド、実行までできてしまうとは・・。 824さんの言う通り、Eclipse3.0.1 では実行時にエラーが出ました。 仕方なく、2.1.3 にダウングレード。 ここで、また疑問なのですが、 ビルドまで Eclipse でできるということはもう J2ME Wireless Toolkit は必要 ないということでしょうか? あと、昨日からずっと探しているのですが、MIDP の日本語版のドキュメントって ないのでしょうか?
833 名前:デフォルトの名無しさん mailto:sage [05/01/20 19:31:22 ] Sunは出してなかったと思う さかきけい氏のページにあったんだけど、繋がらなくなってるな godwood.allnet.ne.jp/vioret/ ちなみにこんな感じだった web.archive.org/web/20040113080358/godwood.allnet.ne.jp/vioret/midpapi/
834 名前:デフォルトの名無しさん mailto:sage [05/01/20 19:59:53 ] さかきけい氏、どうしたんだろ〜
835 名前:デフォルトの名無しさん mailto:sage [05/01/21 14:32:09 ] >>832 preverifyが必要なので、Wireless Toolkitに含まれるツールはいるよ。 MIDPのドキュメントについては、「英語を読め」と。 日本語訳もあったけど、抄訳なので。
836 名前:816・821・832 mailto:sage [05/01/21 14:40:48 ] >>833 それです。私の求めていたものは。 わざわざご自分のWebスペースにアップしてくれたのでしょうか? ありがとうございます。 それをローカルに欲しいのですが、どうにかならないものでしょうか。 Web巡回ソフトなどで取得を試みたのですが、どういうわけか取れませんでした。
837 名前:デフォルトの名無しさん mailto:sage [05/01/21 16:25:59 ] >>836 あんた、ここ知らないの? www.archive.org/
838 名前:836 mailto:sage [05/01/21 17:07:07 ] >>835 Ant では検証は行われないということですか? 抄訳(かどうかはしりませんが)とはいえ、私が訳せば誤訳になりますゆえ。 >>837 知りませんでした。 たった今、ググって知りました。
839 名前:デフォルトの名無しさん mailto:sage [05/01/21 20:37:15 ] Vアプリエミュにpreverify.exeもmidpapi.zip(stubclasses内)もあるから、 ホントに無くてもいいんじゃない? でも他キャリアとかでは使うと思うし、別に持っておいて損は無いでしょ。 archive.orgは自分も知らなかったのでこの機に保存しときます。dクス。 >>838 BASE HREFタグ先のさかきけい氏のサーバがダウンしているので、ローカルで開かない。 この部分とBODY下のarchive.orgのコメントとJavaScript削除すれば一応見れると思う。 何とかして必要なページ全部DLして、J2ME(WTK104)のdocs/api参考に階層作ればOK。 あ、あとHRFF先がさかきけい氏のアドレスになってる部分は相対アドレスに。 少々面倒くさいけど、自分で英訳しない分はるかに楽でしょ? いくつかarchiveに無いファイルがあるけど、そこは我慢。 まぁ、エンジニアなら英語ぐらい読めたほうがいいんだと思いますが・・。 EZLIBで、サーバが止まった件で、不意にとまったんだけど氏が忙しくて直せてない っていう状況だとかニュース欄で書いてたような気がします。
840 名前:デフォルトの名無しさん mailto:sage [05/01/21 23:27:00 ] iアプリとVアプリで3D関係に詳しい方教えて下さい。 iアプリで、PrimitiveArray と Figure を組み合わせた描画を行うアプリを作り、 とりあえずは思うとおりに動作しました。 今度はVアプリ用にソースを書き直したところ、Figure の座標がおかしいらしくてまともに描画されません(一応描画はされる)。 座標数値はすべてiアプリのものから変えていないのですが、問題ありでしょうか? それと確認なのですが、iアプリで使用していた関数は、以下の要領で書き換えてやればVアプリでも 同じように動作するのでしょうか? ・PrimitiveArray → renderPrimitives で描画時に直接指定 ・Graphics3D.setPerspective() → FigureLayout.setPerspective() // 視野角を指定して透視投影の設定 ・AffineTrans.lookAt() → AffineTrans.setViewTrans() // 視点座標への変換 ・Graphics3D.setViewTrans() →FigureLayout.setAffineTrans() // 視点座標へ変換した AffineTrans を設定する。
841 名前:デフォルトの名無しさん mailto:sage [05/01/22 00:36:57 ] JSCL1.2のcom.j_phone.util.GraphicsUtil#getPixelについて質問です。 Canvas#paint(Graphics g)内で g.setColor(0x0000FF); g.fillRect(0, 0, getWidth(), getHeight()); int c = GraphicsUtil.getPixel(g,1,1); g.setColor(0xFFFFFF); g.drawString(""+c, 10, 10, g.LEFT|g.TOP); とやると"255"が表示されると思うんですが、実行してみると"248"と表示されてしまいます。 getPixelでは正確な値が取得できないのでしょうか?
842 名前:841 mailto:sage [05/01/22 00:58:21 ] 自己解決しました。 ttp://homepage1.nifty.com/cotton100/jphonejava.htm にのってました。
843 名前:デフォルトの名無しさん [05/01/22 01:12:39 ] >>825 まじすか! 仕様が公開されるまで3Gに変えれんなぁ
844 名前:デフォルトの名無しさん mailto:sage [05/01/22 10:13:10 ] Vアプリでポリモーフィズム使ってる人いる? 容量とか処理速度とか問題にならない? Vアプリを外注したらif文だらけのコードがあがってきたんだが、 これって普通?
845 名前:デフォルトの名無しさん mailto:sage [05/01/22 12:34:22 ] >>844 何を外注したんだよw 328 名前:デフォルトの名無しさん[sage] 投稿日:05/01/22 12:14:46 >>326 classファイル1つにつき数百バイトのオーバーヘッドがでるから、サイズの点で不利。 if〜else if〜else ifってするよりもif〜if〜if〜って書いたほうがバイトコードは小さくなるから、 elseが付いていないなら良い仕事だと思っていいよ。付いていた場合は並。
846 名前:デフォルトの名無しさん mailto:sage [05/01/22 14:16:47 ] 可読性を考慮したり、奇麗にまとめようとすると、サイズと動作速度の問題が出てくる。 最近はpoorな環境での経験がある人が少ないのかな。
847 名前:デフォルトの名無しさん mailto:sage [05/01/22 15:17:35 ] >>845 50KBとかの頃ならともかく、今ぐらいの容量があるなら、もうelseまで削って 容量を稼ぐより、可読性を高めたほうがいいような気もする。
848 名前:デフォルトの名無しさん mailto:sage [05/01/22 19:37:37 ] マルチみたいなので無視してもよいかと。 pc5.2ch.net/test/read.cgi/tech/1102844217/326 326 :デフォルトの名無しさん :05/01/22 10:12:36 iアプリでポリモーフィズム使ってる人いる? 容量とか処理速度とか問題にならない? iアプリを外注したらif文だらけのコードがあがってきたんだが、 これって普通?
849 名前:デフォルトの名無しさん mailto:sage [05/01/22 19:45:55 ] auもMIDP2.0採用してくれたらいいのに
850 名前:デフォルトの名無しさん mailto:sage [05/01/22 20:39:25 ] 同意。 勝手アプリがダメな上に移植も面倒、アプリのラインナップも乏しいBREWはとっとと去ね
851 名前:デフォルトの名無しさん mailto:sage [05/01/23 01:01:24 ] protected synchronized void keyPressed(int keyCode) { int action = getGameAction(keyCode);
852 名前:デフォルトの名無しさん mailto:sage [05/01/23 01:05:13 ] すみません間違えて投稿してしまいました。 Canvasクラスにおいてクリアキーが押下されたときの処理をしたいとき、 どうすればよいのでしょうか? ひょっとしてクリアキー、スケジュール/メモキーなどの区別はできないんですか? protected synchronized void keyPressed(int keyCode) { int action = getGameAction(keyCode); }
853 名前:デフォルトの名無しさん mailto:sage [05/01/23 01:08:59 ] >852 auだと、クリアキー押したとき、keyPressedの引数には0が入ってくるので、それで判断。 いきなりgetGameAction()に渡すと例外キタ━━━━(゚∀゚)━━━━ッ!!になるのでちうい。
854 名前:デフォルトの名無しさん mailto:sage [05/01/23 01:35:01 ] >>845 >if〜else if〜else ifってするよりもif〜if〜if〜って書いたほうがバイトコードは小さくなるから、 そうなんだ。でもそれって実行速度は遅くなりそうだが・・・
855 名前:852 mailto:sage [05/01/23 01:41:22 ] >>853 vodaのP5ですがクリア押したときのkeyPressedの引数は-2147483646となっているようですが、 この値で判断してしまってよいのでしょうか? GameAction()に渡した後は0になりますがスケジュール・メモキーなどと区別がつかなくなってしまいます。
856 名前:デフォルトの名無しさん mailto:sage [05/01/23 01:52:40 ] >>855 仕様外なので、機種依存です。
857 名前:852 mailto:sage [05/01/23 01:56:40 ] >>856 機種依存ですか。 なるべくクリアキーは使わないほうがよさそうですね。 レスありがとうございました。
858 名前:デフォルトの名無しさん mailto:sage [05/01/23 11:31:01 ] 902shで 文字表示させるのにg.HCENTER|g.VCENTERを使うと表示されないのは仕様ですか? g.LEFT|g.BOTTOMだと表示されるのに・・・
859 名前:デフォルトの名無しさん mailto:sage [05/01/23 15:17:48 ] 一般人には3Gの開発環境なんて手に入らないのでわからん
860 名前:デフォルトの名無しさん mailto:sage [05/01/23 15:41:02 ] >>858 drawStringでVCENTERは機種依存だと思う。MIDPの本では使えないと書いてる。 EZの古いのでダメだった事有り。HCENTERは使えるはず。 ダメならフォント情報取得してズラシなされ。
861 名前:840 mailto:sage [05/01/24 06:23:12 ] 質問の仕方が悪かったのか、スルーされてしまったので、もう一度質問内容を変えて書き込みます。 現在、iアプリで動作していた3Dワイヤーフレーム横回転するアプリを、Vアプリに移植してます。 で、回転の部分でうまく動いてくれません。 このアプリではフレームの他にフィギアもくっついて回転するので、AffineTrans#rotationY() などの関数を使用せず Vector3D の X & Z 座標を三角関数で計算させた後に、AffineTrans#setViewTrans() を行ってます。 iアプリではフレームとフィギアは中心座標を基準として横回転しているのに、 Vアプリではカメラ座標を中心としてフレームとフィギアが横に移動(自分の周囲を回転)してしまいます。 どうも、iアプリとVアプリでは視点か参照点の扱いが違うような気がするのですが、そんな事ってありますかね? それとも、何か別の問題点があるのでしょうか? どなたか、ヒントでも教えて頂けないでしょうか?
862 名前:デフォルトの名無しさん mailto:sage [05/01/24 10:46:44 ] >>861 それ、フィギュアを回転させてるんじゃなくて、カメラを回転させてない?
863 名前:デフォルトの名無しさん mailto:sage [05/01/24 15:19:47 ] >>861 iとかVの経験無いんだけど、カメラ動かして物体の周りから見ようとしたら、 物体中心を原点に持ってきて、視点を原点中心に回転させ、視線を原点向きに する必要があると思う。別に回転中心は原点じゃなくてもいいけど。 物体そのものを回転させるとしたら、視点視線固定して 物体中心を基準に座標を回転させればいいんだけど、 Figureだけならともかく、Primitiveと合わせた物体中心を求める必要がある。 で、オイラは物体中心に回転させる方法シラネ(自作ならできるかも)。 全部Figureで作って、アクションで回転させるとかするしかないんじゃない?
864 名前:デフォルトの名無しさん mailto:sage [05/01/24 23:57:43 ] >>863 いや、ローカルなマトリックスをかければいいだけだから >>861 視点と方向が逆になってるだけじゃね?
865 名前:デフォルトの名無しさん mailto:sage [05/01/25 12:03:50 ] Figureって3D座標系の原点以外に置けたっけ?
866 名前:デフォルトの名無しさん mailto:sage [05/01/25 12:54:05 ] >>865 視点の方を動かす必要がある。
867 名前:デフォルトの名無しさん mailto:sage [05/01/25 13:46:59 ] >>865 >>866 メソッド無いけど m03にx座標 m13にy座標 m23にz座標 で動かせる
868 名前:デフォルトの名無しさん mailto:sage [05/01/25 15:01:52 ] >>861 iアプリの AffineTrans#lookAt() と、 Vアプリの AffineTrans#setViewTrans() では、第2パラメータの扱いが違うかも。 iアプリでは注目点を指定するが、Vアプリでは視線ベクトルを指定するように なってるんじゃないかな? Vアプリは作ったことがないんで、BREW版のAPIからの推測だが・・・
869 名前:861 mailto:sage [05/01/25 20:29:45 ] >868 まじで!? つうか、思い当たる部分が一杯ある…(汗)。 で、両方のJavaDoc 調べてみたけど… Doja 3.0 position - 視点への位置ベクトルを指定します。 look - 参照点への位置ベクトルを指定します。 up - Upベクトルを指定します。 JSCL 1.2.2 position - 視点位置 look - 視線方向 up - 上方向 本当だ…、 視線“方向”じゃん(泣)。 という訳で、原因が分かりました。 862-868 の皆さん、ありがとうございました。 原因は分かっても、解決策はどうするかなぁ…。 とりあえずググッてみるか…。
870 名前:デフォルトの名無しさん mailto:sage [05/01/26 01:14:11 ] ezのphase2とかでソフトキーが押されて離す瞬間を 取得することはできますでしょうか? phase3ではキーの押下状態はgetKeyState()で取得できますがこれをphase3未満で 実現するには、ソフトキーの離された瞬間が欲しいんです。 CommandListenerでは押された瞬間しかわからないんで悩んでいます。
871 名前:868 mailto:sage [05/01/26 03:01:29 ] >>869 視点(p0)と参照点(p1)の位置ベクトルがわかってるなら、視線方向ベクトルは (p1-p0)するだけっしょ。
872 名前:デフォルトの名無しさん mailto:sage [05/01/26 04:53:35 ] 同じマスコットカプセルなのに仕様が違うのか メソッド名が違う時点で変だけどw
873 名前:デフォルトの名無しさん [05/01/26 11:01:44 ] MIDP APIの 日本語リファレンスを探しています。 以前、日本語化したサイトが存在したのですが、みれなくなってしまいました。
874 名前:デフォルトの名無しさん mailto:sage [05/01/26 11:27:23 ] >>873 閉鎖しました。 がんばって英語を読んでください。
875 名前:デフォルトの名無しさん mailto:sage [05/01/26 12:27:58 ] >>873 >>833
876 名前:861 mailto:sage [05/01/26 13:30:39 ] >871 いや、全くその通りで。 レス書き込んで、いざ修正というところで気がつきました。 もう少し検証してから書き込むんだった… (1週間ほど悩まされてきた現象だったので、解決の糸口を見つけた事で舞い上がってしまいました)。 // p - 視点位置 // l - 視線方向 // u - 上方向 setTrans(Vector3D p, Vector3D l, Vector3D u){ LWork.x = l.x - p.x; LWork.y = l.y - p.y; LWork.z = l.z - p.z; trans.setViewTrans(p, LWork, u); } こんな感じで、関数作って対応させました。 本当に皆さんありがとうございました。
877 名前:質問です! [05/01/26 20:28:52 ] こんにちは! 携帯用のJAVAアプリでボイスチャットを作成することって 原理上可能なことでしょうか?もし、そうなったら電話使わず アプリを通してパケホとかで声のデータでやりとりできますよね? せめて電話みたいなリアルタイムに近い快適さまでいかなくても、 5秒に1回ほど更新してサーバーに相手から来ている声のデータ拾いにいって 再生してってかんじで、トランシーバーみたいなかんじで 声のデーターのやりとりをサーバー経由で出来ないものでしょうか? そういうアプリって作れます?
878 名前:デフォルトの名無しさん mailto:sage [05/01/26 20:54:03 ] >>877 少なくとも現時点では、、、 1.音声データを(アプリに)取り込む方法がない
879 名前:質問です! mailto:sage [05/01/26 21:09:58 ] >>878 さん さっそく、ご質問に答えていただき、ありがとうございます。 それではTV電話状態の音声抜きで画像のみとかは 可能ではないでしょうか?
880 名前:デフォルトの名無しさん mailto:sage [05/01/27 01:29:42 ] 何するにしても対応するAPIがあるかどうかだね。 ケータイでできることが何でもAPIとして用意されてる ワケじゃないからね。 具体的に,このAPIとこのAPIを組み合わせて こういうことできませんか?って聞いた方がいいのでは。 ボーダだと,APIの組み合わせ次第では審査通らない こともあるし。位置情報+通信とか。アドレス帳取得+通信とか。
881 名前:デフォルトの名無しさん mailto:sage [05/01/27 05:02:43 ] >>877 Vの場合だが、 ・端末からサーバへの問い合わせ一方方向なので、定期的にチェックしにいくとしてもレスポンス的に不利。 ・音声を出す仕組みは、現段階のAPIでは動的にSMAFデータを作る以外考えられない。 ・音声を入力する仕組みは、音声認識させるしかない。音声認識パターン辞書をアプリないに持つ必要がある。 じゃ、がんがってね。
882 名前:デフォルトの名無しさん mailto:sage [05/01/27 10:56:36 ] >>877 TV電話にしろ、今のカメラの機能ってさ カメラ呼び出し(アプリ中断)>端末のカメラ機能で撮影>(再開)写真取得 だからこれだけで10秒はかかるし、操作が面倒だと思うのでムリポ。 個人的な意見かもしれないけど、パケホだからって通信をしまくるのはどうかと思う。 もちろん自分で用意するサーバーの負担が大きくなるのもそうだが 現状では携帯端末とサーバーが直につながってるわけじゃなく、 キャリアのサーバにパケット送ってサーバ間でHTTP通信してるとかだと思うので キャリアのサーバにも同じくらい負担が増える。ので、いずれ制限がかかる。 現状でもauのWINには1回/分の制限がある。さらに一日の総通信量にも。 もうちっと端末・通信環境が整うまで待つ必要があると思うよ。 で、その頃にはそれっぽいAPIも追加されてくるはず。 今はせいぜい文字チャットで1分強毎にチェックぐらいが精一杯っぽい。
883 名前:デフォルトの名無しさん mailto:sage [05/01/29 00:29:14 ] ちょいと、Vアプリで質問です。 アプリの一時停止してから復帰すると、リソースから読み込んだ画像が「NullPointerException」になります。 まあ、ここら辺は仕様らしいんで仕方がないのですが、どのように復帰処理を実装するべきかと悩んでいます。 皆さんは復帰時に「NullPointerException」の対応ってどうされてますか?
884 名前:デフォルトの名無しさん mailto:sage [05/01/29 00:49:15 ] >>883 そんなのなったことない。 ちなみに公式で出してるけど苦情もない。
885 名前:デフォルトの名無しさん [05/01/29 23:11:59 ] iアプリとサーバーとをJavaで通信させたいのだが、 サーバー側のプログラムはservletを使うしかないのでしょうか?
886 名前:デフォルトの名無しさん mailto:sage [05/01/29 23:37:24 ] iアプリはスレ違い
887 名前:885 [05/01/29 23:41:41 ] ごめんなさい。
888 名前:デフォルトの名無しさん mailto:sage [05/01/30 10:18:25 ] >>883 待ち受けで同じ現象でたことある 俺の場合は一時停止するときに全部のリソースを開放して 復帰時に作り直すようにしていた ちなみに待ち受けの場合でも 折り畳み一時停止→着信で自動復帰 などの特殊ケースのときしかこの現象は起きなかったので 通常のアプリで起きているならstartAppやコンストラクタの処理を見直した方が早いかも
889 名前:デフォルトの名無しさん mailto:sage [05/01/30 16:40:54 ] >>883 まじれす ガッすばいい
890 名前:デフォルトの名無しさん mailto:sage [05/01/30 22:29:41 ] VodaフォンP5ですがヒープメモリのサイズを取得することはできますか?
891 名前:デフォルトの名無しさん mailto:sage [05/01/31 00:07:44 ] 最終的にVアプリを作りたく、JAVAの勉強しています。 そこでつまづいているのはスレッドです。 表面上のことは分かっているのですが、本質的なことが何度本を読んでも分かりません。 たとえば、canvasを継承し、 Runnableをインプリメントしたクラスの run()にrepaint()を書き込んだ場合、 二つのスレッドが同じ画像の描画を交互に描画しているのでしょうか? 自分は例えば、スレッドAで画像処理をさせ、スレッドBで通信の処理をさせたいのですが、 そういうことは可能なのでしょうか。 上記のようなことが理解しやすいお勧めの参考書があれば教えてください。
892 名前:デフォルトの名無しさん mailto:sage [05/01/31 01:04:52 ] >>890 とりあえずCLDCのAPIを読んでみて欲しいのだが RuntimeのfreeMemoryとかtotalMemoryとかを使えばエエ。 >>891 他にrepaintを連続的に呼んでるなら知らんけど、無ければrunのだけ。1つ。 あと、repaintは再描画を要求するもので、実際描画するのはメインスレッド。 携帯アプリでは通信中停止するっぽいからそれは無理(多分)。 通信こまめに分割して描画・通信を繰り返すしかないと思う。 とりあえず参考書の前にGoogleとかで記事探ってみるといい予感。
893 名前:デフォルトの名無しさん mailto:sage [05/01/31 03:35:08 ] >>891 通信スレッドからrepaint()が呼ばれるのか? 通信中はそこでそのスレッドの処理が止まるんだから呼びようが無いと思うんだが >スレッドAで画像処理をさせ、スレッドBで通信の処理をさせたい 可能だし、実際やってるアプリもある
894 名前:890 mailto:sage [05/01/31 07:33:53 ] >>892 どもです。Javadoc見てみます。
895 名前:891 mailto:sage [05/01/31 07:39:37 ] >>892 >>893 ありがとうございます。 やっぱり何もわかってませんね。 スレッドが理解できる迄 先に進みたくないので、 色々探してみます。
896 名前:883 mailto:sage [05/01/31 18:58:02 ] >884,888-889 レスありがとう〜。 startApp でやっていた処理をコンストラクタに移して、 pauseApp が呼ばれたらフラグを立てて、 startApp で pauseApp がつけたフラグを調べてから、canvas 系クラスの復帰処理を実行するようにしました。 そしたら何故か直った…。 canvas 系クラスの復帰処理って、ただ return するだけの空メソッドなんだけどなぁ…。 もしかして、MIDlet 系クラスから参照をしてなかったから、最適化対象になっていたのか? だれか、ここら辺に詳しい方います?
897 名前:デフォルトの名無しさん mailto:sage [05/01/31 21:32:16 ] headlines.yahoo.co.jp/hl?a=20050131-00000026-zdn_m-sci JSCLまたVerUpしそうだね。
898 名前:デフォルトの名無しさん mailto:sage [05/01/31 21:34:32 ] startAppは初期起動時及び再開時に呼ばれるので その辺が絡んでるだけだと思いますよ 初期のみにしなければいけないことがコンストラクタに移動したことで 解決したのではないかと思います
899 名前:883=896 mailto:sage [05/02/01 10:56:45 ] >898 その通りでした。 一回の修正で何でもかんでもやろうとして、どこが解決に至った修正なのかが分からなくなってました (static 宣言してあるクラス変数を、復帰時に null チェックしていたから回避出来るかと思っていました)。 コンストラクタはきちんと使わないとダメですね。 ご指摘ありがとうございました。
900 名前:デフォルトの名無しさん mailto:sage [05/02/01 23:29:16 ] 900様のおな〜〜〜〜り〜〜〜〜〜ぃ
901 名前:デフォルトの名無しさん mailto:sage [05/02/01 23:45:58 ] EZアプリを作成しているのですが、拡張ストレージが使えなくて困っています。 エミュレータは無いし、実機はDoCoMoと違ってトレースできないしで原因がわからないのですが、 エラーは(下ソースの)1行目から出ている事だけはわかっています。 また、MIDlet-X-Storage-Sizeもkjx内に直接記述しました。 他に拡張ストレージに書き込む前にする事とかあるのでしょうか・・・? public void writeStorage(byte[] buf) throws Exception { StreamConnection con = (StreamConnection)Connector.open("storage:",Connector.WRITE); OutputStream out = con.openOutputStream(); out.write(buf); out.close(); con.close(); }
902 名前:デフォルトの名無しさん mailto:sage [05/02/02 11:20:04 ] OutputStream out = null; out = Connector.openOutputStream( "storage:" ); でいけないか?
903 名前:デフォルトの名無しさん mailto:sage [05/02/02 17:09:39 ] >>901 原因が分からんことないでしょ。例外投げっぱなしにしてるからじゃない? try〜catch時のExceptionをtoStringしてCanvasにdrawStringとかすればいいですよ。 ソース特におかしな所無いけど、「直接記述」の部分が気になる(どういう意味?)のと 単純に端末が対応してないとかってない?Phase3機でやってる? あと エミュは探せばあるんじゃない?非公式に という発言はダメ?
904 名前:デフォルトの名無しさん mailto:sage [05/02/02 19:43:19 ] Phase3エミュ一回一般公開してたとき偶然取れた。あれはいいね。普通のエミュじゃ遅すぎて話にならなかったからな。でもエラーは try{〜}catch(Exception e){System.out.println(e)} しとかないと終了しちゃうんだよね
905 名前:901 mailto:sage [05/02/02 23:04:35 ] >>902 試してみましたがだめでした・・・ >>903 W11Hを使用しているので機種は問題ないと思います。 「直接記述」は公式サイトからKJX作成ツールのPhase3対応版を使用して作成。 できたkjxファイルをエディタで開いて「MIDlet-X-Storage-Size: 204800」と追記しました。 また、try〜catchを使って例外を拾ったところ「java.io.IOException: cannot use」 と返ってきたのでやっぱり記述の仕方が悪かったんでしょうか? ビルドするたびに毎回記述しなきゃいけないし・・・。
906 名前:デフォルトの名無しさん mailto:sage [05/02/02 23:46:06 ] >>905 MIDlet-X-Storage-Size: 204800 は*.jadに書くんだよ あと200kもつかっていいんだっけ?
907 名前:デフォルトの名無しさん mailto:sage [05/02/03 08:40:38 ] >>905 なんでわざわざそゆことすんの? kjxツールでKDDI独自の記述するときはOther keywordでしょ? kjxファイルの頭の記述はjadなんだけど、jarの方にもMFに同じ記述があるから MFファイルの方をチェックしてるのかもしれないよ。 ちなみに拡張ストレージは200k(204800)まではOK。 もしこの書き方がおかしい(多すぎ)時は起動すら出来ないと思う。
908 名前:デフォルトの名無しさん [05/02/03 23:34:57 ] Vアプリ作成サイトを探しても、詳しく書いてあるサイトが見つからないので困っています。どこか良いサイトを知っていますか? 僕はアプリを作るためにJAVA SEを少し勉強しました。コンストラクタ、メソッドなどのことは少しわかります。 もしよければ教えていただけますか?
909 名前:デフォルトの名無しさん mailto:sage [05/02/03 23:42:30 ] >>908 developers.vodafone.jp/dp/
910 名前:901 mailto:sage [05/02/04 09:06:12 ] >>907 Other keywordで設定したら例外でなくなりました。 ありがとうございました。
911 名前:デフォルトの名無しさん [05/02/04 13:35:54 ] >>908 私もここのスレッドが800くらいのときに始めて、いろいろ叩かれながらも少しずつ 分かってきました。 909さんの指示する通り、ボーダフォンが出している技術資料などは見ておくといい でしょう。 ただ、多分いきなり読んでも分からないと思うので、すこし慣れておく必要があると 思います。 現在、私がバイブルにしているサイトです。 J2ME工房 www.saturn.dti.ne.jp/~npaka/sorami/index.html ( TOPページは www.saturn.dti.ne.jp/~npaka/kvm/kvm.html ) SINSEN www.sinsen.org/top.html JavaDrive www.javadrive.jp/j2me/index.html ( TOPページは www.javadrive.jp )
912 名前:911 [05/02/04 13:38:21 ] J2ME工房はさらに上のページがありました。 今知りました。 ん・ぱか工房 www.saturn.dti.ne.jp/~npaka/index.html でした。
913 名前:デフォルトの名無しさん [05/02/05 13:02:28 ] あの、同期ってありますよね?あれって何なのですか?
914 名前:デフォルトの名無しさん mailto:sage [05/02/05 15:42:51 ] 国語辞典調べてから考えて
915 名前:デフォルトの名無しさん mailto:sage [05/02/06 00:59:23 ] >913 お前と俺とは同期の桜
916 名前:デフォルトの名無しさん mailto:sage [05/02/06 17:33:15 ] EZからVに移植しようと思っているのですがVアプリを公開するにはアプリゲットかバンダイに作者登録しなくてはならないようなのですが、どちらのサイトにも登録したい場合には二重登録すればよいのでしょうか?
917 名前:デフォルトの名無しさん mailto:sage [05/02/07 01:31:17 ] >>916 うん。
918 名前:デフォルトの名無しさん mailto:sage [05/02/07 04:00:57 ] 分かりました。ありがとうございました。
919 名前:デフォルトの名無しさん [05/02/10 14:35:42 ] CLDC には Comparable インターフェース や Arrays クラスがないようですが、 皆さんは、クラスの配列のソートはどのようにしているのですか? やはり手でやるしかないのでしょうか?
920 名前:デフォルトの名無しさん mailto:sage [05/02/10 15:38:45 ] 時々同じ質問が出る。答えは「ソートは自力でやる」
921 名前:デフォルトの名無しさん mailto:sage [05/02/10 19:21:39 ] スレッドを走らせてRuntime.getRuntime().freeMemory()の値を表示していくと どんどん減っていって0までいくとまた増える、が繰り返されるんですが、 どうすればよいですか?
922 名前:921 mailto:sage [05/02/10 19:24:14 ] あ、ひょっとして定期的にRuntime.getRuntime().gc(); でガベジコレクションしてやらないといけないんですか?
923 名前:デフォルトの名無しさん mailto:sage [05/02/10 20:58:12 ] >>921 今の動作に問題なければ何もする必要ないよ。 gcで解決って問題ではない(実行されるとは限らん)が、多少は改善されるかもね。 スレッドが走ることでメモリが減らない、つまり動的にインスタンスを作らないのが一番。
924 名前:921 mailto:sage [05/02/10 21:29:00 ] >>923 わかりました。ソース見直してみます。
925 名前:デフォルトの名無しさん [05/02/10 21:46:33 ] 省電力なVアプリってどうやって作るんですか? 電池を消費しないようにするテクニックなどがあったら教えてください。
926 名前:デフォルトの名無しさん [05/02/11 02:12:46 ] >>920 やっぱりそうですか。 ソートくらいあってもいい気はするんですけどね。 クイックソートとか手で作るのだるいなぁ。
927 名前:デフォルトの名無しさん mailto:sage [05/02/11 02:26:15 ] メモリのことを考えると、ヒープソートとかの方がいいんだろうか。 まぁ、たかだか数百個程度の配列なら、どんな方法でも大差ないか。 >925 アプリ上は走りっぱなしのスレッドをなくせばすむけど、 そうしたとしても省電力になるかどうかは結局VM次第になるような気がする。 バックライト制御して常に消した方が効果は大きいような。 >924 ガベコレで回収しきれなくなったとかガベコレ時にスレッドが一時停止して困るとかでない限り無視でいいと思う。 回収しきれない→ヒープメモリを動的に使わないようにする 一時停止で困る→ガベコレタイミングを考えてgc()を実行
928 名前:デフォルトの名無しさん mailto:sage [05/02/11 17:41:08 ] >>925 描画を省くとけっこう違うよ。 あと、sleepだね
929 名前:デフォルトの名無しさん mailto:sage [05/02/11 22:06:16 ] VodafoneのP5型には、動画の再生クラスとかないんですか? リファレンス見たけど見つからなかったもので・。
930 名前:デフォルトの名無しさん mailto:sage [05/02/11 23:17:56 ] >>929 FileUtilityのplayでネイティブ側で再生するしかないかな。
931 名前:デフォルトの名無しさん mailto:sage [05/02/11 23:49:43 ] >>929 情報サンクス! さっそく試してみます。
932 名前:929 mailto:sage [05/02/12 00:05:45 ] む、エミュレーター上では、FileUtilityのplayで 動画が再生されるとこは見れないのですか?
933 名前:デフォルトの名無しさん mailto:sage [05/02/12 00:40:19 ] 「アプリが一時停止から復帰した」 っていう判定はどうやるんでしょうか・・。 タイトル画面とかで毎フレーム描く必要ないですよね。 でも、一時停止させてからアプリに戻ると画面真っ白でかっこわるいし・・。
934 名前:デフォルトの名無しさん mailto:sage [05/02/12 00:59:40 ] ご、ごめんなさい。 >>638 にモロ書いてありました。失礼しました。
935 名前:925 mailto:sage [05/02/12 02:10:18 ] >>927 , >>928 バックライト制御とsleepは思いつきませんでした。 ありがとうございました。
936 名前:デフォルトの名無しさん mailto:sage [05/02/13 20:47:52 ] なんだよ。こっちにあったのか。携帯アプリ板で必死に探したよ
937 名前:デフォルトの名無しさん mailto:age [05/02/13 22:03:53 ] auのシューティングで、背景を宇宙(黒で青の星がたまに写る)から地上(よくあるなが〜い絵?をスクロールさせてるような) に換えたいのですが、あれは本当になが〜い1枚絵をスクロールさせてるんですか? どうやってやるんですか?
938 名前:デフォルトの名無しさん mailto:sage [05/02/13 22:57:40 ] 今気づいたのですが、Vodafone(P5型)でStorageConnectionを使い、 取得したメモリカードのパス「"/mc/"」は、メモリカードの直下ではなく、 ピクチャフォルダ等がある「データフォルダ」を指しているのですか? そうなると、メモリカード直下にある、「SD_VIDEO」フォルダ等に アクセスする手段はないということでしょうか?
939 名前:デフォルトの名無しさん mailto:sage [05/02/14 00:07:21 ] >>938 うん。
940 名前:デフォルトの名無しさん mailto:sage [05/02/14 00:24:22 ] >>937 画面サイズの画像を複数用意し、常に連続する2枚をスクロールすれば 繋がってるように見えるはず。別にもっと大きな画像でもつなぎ目で2枚書けばいい。 とりあえずMIDPというよりゲーム作成系の記事探してみれ。 携帯アプリでの注意点としてはメモリ容量とImageのサイズ制限。 機種によるけど1枚絵は無理だと思う。
941 名前:デフォルトの名無しさん mailto:sage [05/02/14 00:38:44 ] >>939 ということは、SD_VIDEOフォルダ内の動画は再生できないと いうことですか・・・。ああ鬱だ、氏のう。
942 名前:デフォルトの名無しさん mailto:sage [05/02/14 11:26:33 ] >>937 RPGのマップみたいに、タイルを敷き詰めて1枚の大きい画面にしる。
943 名前:デフォルトの名無しさん mailto:sage [05/02/14 17:27:07 ] String(byte[] bytes, String enc) Stringクラスのコンストラクタで VodafoneP5の場合、どのようなエンコード方式に対応しているのでしょうか?
944 名前:デフォルトの名無しさん [05/02/14 19:27:33 ] EZアプリからのHTTPアクセスと 通常のブラウザからのアクセスとを 見分けることってできるんでしょうか?
945 名前:sage [05/02/14 23:22:20 ] >>933 システムイベントから復帰する時にはpauseApp()を通るからこの中で再描画の要求を出します。 >>944 UserAgentを見れば確認できます。 UserAgentの機種名は携帯の型番とは違うので要注意です。
946 名前:デフォルトの名無しさん mailto:sage [05/02/14 23:53:21 ] 誰かさかきけい氏のMIDP APIの日本語リファレンスをうぷしてくれ〜! web.archive.org 使ってもindex.htmlのとこしか 見れません。
947 名前:デフォルトの名無しさん mailto:sage [05/02/15 00:09:41 ] >>946 他人が作った物を勝手にアップしていいとでも?
948 名前:デフォルトの名無しさん mailto:sage [05/02/15 00:18:29 ] >>947 やはりそれはいけませんよね・・・orz
949 名前:デフォルトの名無しさん mailto:sage [05/02/15 00:52:48 ] 公開してたものだし、いいんじゃなかろうか。
950 名前:デフォルトの名無しさん mailto:sage [05/02/15 01:07:23 ] 良い訳無いと思う。
951 名前:デフォルトの名無しさん mailto:sage [05/02/15 06:22:47 ] >>943 たぶんShift-JISとUTF-8だけ
952 名前:デフォルトの名無しさん mailto:sage [05/02/15 11:25:46 ] 権利の話をすると、そもそも翻訳してそれを無許可で公開する時点で(ry
953 名前:>>943 mailto:sage [05/02/15 13:54:29 ] >>951 Thx!!
954 名前:943 mailto:sage [05/02/15 16:28:10 ] String(byte[] bytes, String enc)ですが、 "SJIS", "UTF-8", "UTF-16"が使用可能でした。 但し"UTF-16"の場合はbytes[0], bytes[1]はBOMになってないと駄目なようです。
955 名前:デフォルトの名無しさん [05/02/15 18:38:16 ] EzアプリでURLEncoderを使いたいんだけど無理?
956 名前:デフォルトの名無しさん mailto:sage [05/02/15 19:33:42 ] ここは親切な板ですね。携帯板なんかヒドイ・・・ んで、ez2のアプリってパソコンからは絶対無理?
957 名前:デフォルトの名無しさん mailto:sage [05/02/15 20:50:25 ] >>955 com.jblend.net.HttpUrlEncoder >>956 あまりにも、な質問が少ないだけだと思う。 アナタもム版なんだから落とす側より作る側の発言してくれYO。 ez2.cgiの事ならわざわざcgi通さなければイイだけの話。 〜/ez2.cgi?xxx.kjx > 〜/data/xxx.kjx >>946 右下に無断転載禁止って書いてたしね。連絡が取れればあるいは・・。
958 名前:デフォルトの名無しさん [05/02/15 21:35:15 ] >>957 URLに関してはそれでエンコードできるんだけど、データをポストするときに フォームエンコードをしたいのにできなくて困ってる〜^^;どうやって エンコしたらいい?
959 名前:デフォルトの名無しさん mailto:sage [05/02/15 21:54:50 ] 生のバイナリで送ったら? わざわざエンコする必要ないでしょ
960 名前:デフォルトの名無しさん mailto:sage [05/02/15 22:41:18 ] 塚、忍者でタグつかってEZアプリ公開すんのって絶対無理ですか? いろいろ探したんですが・・・
961 名前:デフォルトの名無しさん [05/02/15 23:02:15 ] >>959 返答ありがとう^^ それでやってみたんだけど、受側のPHPがPOSTでデータがくるので エンコされてると思うみたいでデータが壊れちゃうのよ。 どうしたらいい?
962 名前:デフォルトの名無しさん mailto:sage [05/02/15 23:15:48 ] 携帯Javaってnative宣言のメソッドは実装できるの?KVM/CLDCレベルの話で
963 名前:デフォルトの名無しさん mailto:sage [05/02/15 23:53:27 ] >>961 新しめのPHPならphp://input 古いならHTTP_RAW_POST_DATAとalways_populate_raw_post_data あとはググってチョ
964 名前:957 mailto:sage [05/02/16 00:02:58 ] >>958 ,961 最初からそこまで言っておいてくれればもっと早く書けたんだが、 EZアプリからPHPに送る話ならSINSENの掲示板(1051)とかで出てたけど リクエストデータのヘッダに明示的に示すといいらしい。 con.setRequestProperty("Content-type","application/x-www-form-urlencoded"); ちなみに963はPHP側で明示的に変更させない方法。 >>962 CLDCでは削除されてます。多分セキュリティ的な理由。
965 名前:デフォルトの名無しさん [05/02/16 00:39:32 ] >>963 ,964 わかりやすい回答、ありがとうございました! おかげで何とかなりました^^
966 名前:デフォルトの名無しさん mailto:sage [05/02/16 01:24:43 ] >>946 普通に行けない? 何時の間にか行けるようになってたんだが…きのせいか? ttp://web.archive.org/web/20040113080358/godwood.allnet.ne.jp/vioret/midpapi/
967 名前:デフォルトの名無しさん mailto:sage [05/02/16 06:24:28 ] そこは行けたり行けなかったりするね。
968 名前:デフォルトの名無しさん mailto:sage [05/02/16 11:41:20 ] 自分で翻訳しろ、とかいってみる。俺はやったぞ。
969 名前:デフォルトの名無しさん mailto:sage [05/02/16 16:50:55 ] DoCoMoのサイトでiアプリ用のAPIリファレンスをDLするといいかも。 もちろんそのまま使えるわけでなく、翻訳する手助けになるってことだよ。
970 名前:デフォルトの名無しさん mailto:sage [05/02/16 21:43:14 ] ボーダです ダウンロードしたファイルが同じ名前だと保存不可 という不都合が報告されたのですが この場合直す名前とは jad&jarの方でしょうか? それともMIDlet-Name:の方でしょうか? また調べてみたところV801SAの不都合ぽいのですが他の機種でも起こりうるのでしょうか? 他のキャリアでは聞いたことのない不都合でしたので
971 名前:デフォルトの名無しさん mailto:sage [05/02/16 21:56:22 ] とりあえず両方直すことにした うぉぉボーダの公開ってめんでぇーーー
972 名前:デフォルトの名無しさん mailto:sage [05/02/17 05:20:08 ] >>970-971 MIDlet-versionをちゃんとかけっつーに。
973 名前:デフォルトの名無しさん mailto:sage [05/02/17 12:28:05 ] AuのHPを見ると端末がBREW対応・Java非対応になってきています。 javaのEZアプリって今後利用できるんでしょうか? (たとえばW21CAとか)
974 名前:デフォルトの名無しさん mailto:sage [05/02/17 14:20:41 ] できまひんよ。 BREW上のJAVAVMの可能性も低いです。 勝手系はFLASHに流れると思います。
975 名前:デフォルトの名無しさん mailto:sage [05/02/17 15:45:38 ] auはBREWへ移行、vodaはキャリアがゆっくり死につつある 新興勢力はまだまだ力不足 がんばれ。超がんばれ。
976 名前:デフォルトの名無しさん mailto:sage [05/02/17 16:28:26 ] >>974 >>975 BREW上のVMの記事を見て「ひょっとして」と思いましたが、期待薄なんですね。 BREWはきついですね。本当にきつい。 二つ折り携帯の開閉をキャッチして、サーバーと更新する待ち受けアプリ を作りたいんだけど、FLASHでは無理ですよね!?
977 名前:デフォルトの名無しさん [05/02/17 17:54:00 ] com.j_phone.io.* 等のJPHONE独自のAPIを使ったアプリ作りたいんですが batファイルかけやらEclipsでAntで実行しろやら わけがわかんねーんだよ!!!!! ということで手っ取り早くエミュレーターで実行できる実行ファイルを作りたい場合は どうしたら良いんですか、教えてエロい人
978 名前:デフォルトの名無しさん mailto:sage [05/02/17 18:08:20 ] >>977 コマンドラインからjavac、preverify、jarと実行して手動でやれば?
979 名前:デフォルトの名無しさん [05/02/17 18:17:52 ] レスさんくすです えっとですね javac -bootclasspath C:\V-appli_SDK_121\lib\stubclasses.zip src\*.java まずこんな感じでクラスファイルをつくればいいんですよね。。。。? でpreverifyしなきゃいけないんですよね。。? preverify -classpath c:\J-PHONE-SDK\stubclasses.zip src\test みたいな感じでsrc直下にあるファイルに全部preverifyすればいいんですか? で、これどっかから拾ってきたんですけど jar cfm shisen.jar MANIFEST.MF -C output . とかやればjarとMANIFESTが出来るんですかね。。。。 どうやってjarが生成されているのかがわからんのです
980 名前:デフォルトの名無しさん mailto:sage [05/02/17 18:21:27 ] 教えてクンいらね。 てか、そんなのすら調べられない奴が、言語を使えるとは思えない。 ビルド方法を解説してるサイトくらいいくらでもある。 読め!
981 名前:デフォルトの名無しさん [05/02/17 18:30:12 ] よんでもよくわからねーんだよ!!! やさしくおしえてくださいこのやろう!!!
982 名前:デフォルトの名無しさん [05/02/17 18:34:40 ] やだ!!
983 名前:デフォルトの名無しさん mailto:sage [05/02/17 18:35:42 ] 読んでも良くわからない(読めない)なら、止めとけ。 この先もっと大量に調べなきゃならないことが出てくる。
984 名前:デフォルトの名無しさん [05/02/17 18:40:48 ] おーしーえーてー!!!! ほんと実行ファイルが出来る環境が出来るだけでいいんです!!
985 名前:デフォルトの名無しさん mailto:sage [05/02/17 19:36:30 ] 解説してるサイト、ガイドを読めないのに、僕らの説明なら読めるのか? 僕らが親切に教えた所で必要な手順変らないから説明内容は一緒だぞ? とりあえず、どのサイト・ガイドを参考にして、どこまで出来たか、ぐらい書け。 僕のお勧めは綿100号さんのサイトで紹介してる、kjx作成ツール使う方法。 もしくはEclipseプラグインでもPDF通りにやれば出来そうなもんだが・・。 どっちにしろレスで説明できるほど薄い内容じゃない。 本当に分からない部分、極一部まで絞って質問してみれ。 今度1から分からないとかぬかすようなら完全無視。
986 名前:デフォルトの名無しさん [05/02/17 19:39:42 ] 誰か海外の端末のNokiaに詳しい方教えてください。Nokia7210で サウンドを流そうとすると曲の最後まで再生されずに曲が途切れ てしまいます。サウンドのデータ容量が関係してるみたいですが、 詳しい原因を知りたいので、詳しい方教えてください
987 名前:デフォルトの名無しさん mailto:sage [05/02/17 19:45:57 ] ttp://developers.vodafone.jp/dp/tool_dl/java/tech.php にある開発ガイド読みなさい はい終了
988 名前:デフォルトの名無しさん mailto:sage [05/02/17 19:46:42 ] >>987 は>>984 ね
989 名前:デフォルトの名無しさん [05/02/17 21:05:36 ] んー、ボーダフォンの開発ガイドを見てどうすればいいのだろ う・・・。Nokiaのエミュレーターだと音は鳴るんですよねー。 実機で再生するとうまくいかないわけで。。。別のNokiaの端末 では同じ音でも再生されるわけで。。。誰か原因教えて
990 名前:デフォルトの名無しさん mailto:sage [05/02/17 21:10:21 ] 誰か教えてあげて。 こんな話題で次スレが始まると悲しいので。
991 名前:デフォルトの名無しさん mailto:sage [05/02/17 23:54:51 ] >>989 ちがうよぅ>>998 そしてワカラン。スマヌ
992 名前:デフォルトの名無しさん mailto:sage [05/02/18 01:29:38 ] 次スレは(汗)? それと質問。 auのQcelpを使って人の声を出すときに、どこかで自分の欲しい声を作ってくれるフリーソフトが有ったと思うんだが知ってる方はいらっしゃいませんか? もしかしたらSMAFだったかも。 探しているのだが見つからない。
993 名前:デフォルトの名無しさん [05/02/18 13:06:51 ] yasuさんとこのレースゲーム、逆コンパイルしてー
994 名前:デフォルトの名無しさん mailto:age [05/02/18 23:16:30 ] 勉強にとauのシューティングゲームを逆コンして見ているのですが、 当たり判定はどのように書かれてますか?他のはわかるのですが、当たり判定が全然わかりません!
995 名前:デフォルトの名無しさん mailto:sage [05/02/18 23:27:44 ] 勉強の仕方が根本的にずれてんだろ どの道スレ違いだ
996 名前:デフォルトの名無しさん mailto:sage [05/02/19 00:07:47 ] こ の ス レ は 何 を す る ス レ で す か ?
997 名前:デフォルトの名無しさん mailto:sage [05/02/19 00:21:29 ] タイトル通りさ。 CLDC+MIDP の話をするところだろ。 >994 www.amazon.co.jp/exec/obidos/ASIN/4797327316/ これでも読んでろ。
998 名前:デフォルトの名無しさん mailto:sage [05/02/19 00:43:15 ] eclipseでプリプロセッサ使ってるひといる?
999 名前:デフォルトの名無しさん mailto:sage [05/02/19 00:50:23 ] にゃんにゃん!!!!!!
1000 名前:デフォルトの名無しさん mailto:sage [05/02/19 00:51:26 ] 1000
1001 名前:1001 [Over 1000 Thread] このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。