[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2chのread.cgiへ]
Update time : 07/05 19:48 / Filesize : 320 KB / Number-of Response : 1002
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

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



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あたりにリンク集

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を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧](;´∀`)<320KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef