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 あたりにリンク集
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では正確な値が取得できないのでしょうか?