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 あたりにリンク集
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 それ、フィギュアを回転させてるんじゃなくて、カメラを回転させてない?