iモード携帯電話用Java(iアプリ) Part 3
1 :
デフォルトの名無しさん :
02/12/26 19:29
とりあえず 乙 >1
6 :
デフォルトの名無しさん :02/12/29 19:02
年末age
7 :
デフォルトの名無しさん :03/01/03 15:22
年始上げ
ここまで大仰な無駄スレは初めて見た。 使わないなら沈めろ。
結局、容量制限とか機種依存とかで無意味に苦労しなきゃならないじゃん? 同じハードが3年間でも続くなら 1年目はいろいろ実験して 2年目は慣れてきて … とかできるけどさ、 現状、1年間でノウハウ蓄積しても次の年に次シリーズが出てしまうし、 必要なノウハウって次機種に活かせないものも多いし… ってところで頑張っても報われないなって感じになっちゃってるんだよね。 少なくとも私は。 P/N504iがあと2年間継続して売られつづけるならもっと頑張るよ。
10 :
デフォルトの名無しさん :03/01/06 15:37
ドQモにおさらばしてMIDP2.0採用機にターゲットを移すのも一つの手かも…
11 :
デフォルトの名無しさん :03/01/06 15:45
>>9 ノウハウ
・javaであってjavaでない
・絵みゅで動いても実機で動かないのが普通
・苦労した割には儲からない
・結局儲かるのはdocomo
・着メロの方が儲かる
確かに、最新機種は次から次へと出てくるけど イコール買い替えが進むというわけじゃないと思う。 最近の携帯は高いからね。 知り合いに501を未だに使い続けているのがいるし。 503iシリーズでもあと数年使い続ける人はかなり居るんじゃないかな?
PCで言うなら80年代の8ビット機乱立期なんだろうねえ。 おまけに元々どう頑張っても暇つぶしの隙間産業止まりだろうし、 パケット料金の設定は異常としか思えんし。 マイナス要素ばかり目について冷め気味ッス。
>>13 80年代前半ね。
MZ-80Bとかベーシックマスター用のソフト作ってるような雰囲気がするね。
88SRが出たらそれなりにシアワセになったじゃん?
88SR用を作ればよかった時期が5年間以上続いたし。
15 :
デフォルトの名無しさん :03/01/07 18:25
ドコモの技術資料PDFだと見にくいから本みたいになってるの欲しいんだけどドコモに言ったらくれるかなー
16 :
デフォルトの名無しさん :03/01/07 19:52
pdfを印刷した方が早くないか?
17 :
名無し@沢村 :03/01/07 19:59
C++ではiアプリはつくれないのですか?
18 :
デフォルトの名無しさん :03/01/07 23:09
よく縦とか横とかのスクロールゲームってあるじゃないですか。 あれって、毎回描き直しているのですかね? g.lock(); g.fillrect(0,0,getWidth(),getHeight()); //各種キャラの描画 g.unlock(true);: みたいに。 それともスクロール専用のメソッドとかあるの?
>>18 503だと毎回書き直ししかないよ。
504でも毎回書き直したほうがいいことが多いと思うよ。
>>17 今年見た中で最も笑える質問だね。
>>18 毎回書き直すしかない。
504の追加APIを使うという手もあるけど機種が限定されるからオススメできないです。
レスさんくすです。 ふーむ、そうなんだ大抵のゲームは全部書き直しているのですね。 描画速度は機種によって(特に503は)だいぶん違うと思われるから 非スクロール型ゲーム以上に機種ごとの速度調整(Thread.sleep()の値とか) をしないとバランス取るのが難しそうですね。 エミュレータが各機種の速度に合わせて遅くしたりできると開発も楽そうだ。
22 :
デフォルトの名無しさん :03/01/08 18:28
iアプリ〜サーブレット(TOMCAT)で通信したいのですが、POST型でやるやり方について誰か教えて下さい!!! CGI〜iアプリで通信するのと何か違うんでしょうか?? ちなみに HttpConnection con = (HttpConnection)Connector.open(w_url,Connector.READ_WRITE,true); con.setRequestMethod(HttpConnection.POST); con.setRequestProperty("Content-Type","application/octet-stream"); OutputStream sd=con.openOutputStream(); reName.setText("Name="+URLEncoder.encode(siName)); sd.write(("Name="+URLEncoder.encode(siName)).getBytes()); sd.close(); //エラーチェック1 d_bug2.setText("3"); con.connect();
∠゙⌒"フ / ‘(・・) / (,,゚Д゚) < テスd i (ノ !つ 〜゙:、..,__,.,ノ ∪∪
おつむの無い奴は文章がかけないのでコピペを多用します 頭が悪いだけなので勘弁してやってくださいm(_ _)m
なるほど
KVMMarkの結果見る限り、N504iSはN504iのスクラッチパッドの読み書きが 異様に遅いの改善されてると思っていいのかな。 それともストレージ管理腐ってて使い始めは速いだけとかなんだろうか。
にげっと
ぉぃぉぃ
Lynx
30 :
デフォルトの名無しさん :03/01/10 19:13
パズルだけど氷塔は 更新された箇所だけ表示し直していたな。
縦読みが真価を発揮する時がきたか
頑張れ!!
33 :
デフォルトの名無しさん :03/01/11 22:52
iアプリを本体に入れるときのhtmlタグを教えてください。
ていうか、ここでどーこー言ってる連中は、他を見たり書き込んだりせんのかw
厨房板の荒らしは削除されたようだ いつか全板で強制表示になるのだろうか? スクリプトくめばどこの板だって荒らせるだろうし
なんにしても、書き込む時にはちょっと考えるってのが基本でしょ(^_^;) それは今までも同じ。 さあ?(^_^;)訴える側の勝手かと 勝つか負けるかは知らんけど 某板と平行してますが?(^_^;)
800!!
今、対策してもらっていますので、しばしお待ちを。
教育委員会が動いたのか、漏れが通報した北陸中日新聞は記事載ってねー
訴えられたら捕まる?(^_^;)なんか勘違いしてるでしょ
>あめぞうより2ちゃんのほうが質が良かった時代 そんな時代はありませんでしたが、何か?
プロバイダ責任制限法の下で、書き込み内容について管理者に責任を問えるのは、 侵害の事実を知らせたにも関わらず一定期間内に対応されなかった場合です。 ここで問題なのは、どうすれば管理者が「知った」と認定されるのか、ということです。 電話やメールでは「見なかった」と言われてしまえば終わりです。 「相手が確実にそれを知った」と認定されるのは内容証明郵便だけです。 今回の判決も、ひろゆきが「侵害の事実を知った」のは内容証明であると認定しています。
の桶屋さん 漏れ、優しすぎ?
(^^)
■「名誉毀損を知りえた時点で削除しろなんて無茶苦茶だ!」 今回、T動物病院側は内容証明郵便でひろゆきに10日以内の削除要求しました。 2ちゃんの削除ルールに則らずとも、社会通念上においても、法的にも、これは十分な通知です。 ■「ある発言が名誉毀損かどうかを管理人では判断できない。 法廷で判断されてからでもいいではないか」 今回、次のような発言は動物病院にとっては「社会通念上、名誉毀損と容易に推測できるはず」 とされています。 ブラックリスト、過剰診療,誤診,詐欺,知ったかぶり、えげつない病院、ヤブ医者、 精神異常、精神病院に通っている、動物実験はやめて下さい、テンパー、責任感のかけらも無い、 不潔、氏ね、被害者友の会、腐敗臭、ホント酷い所だ、ずる賢い、臭い
46 :
デフォルトの名無しさん :03/01/14 18:43
while((keys & 0x00200000) != 0) Thread.yield(); 上記ソースで無限ループしてしまうのですが、 SOFT1キーを押している間ループするようにしたいのですが、 while( getKeypadState() != 0 ); ではなく直接SOFT1キーを押しているかどうか判定したいのです。 親切な方おりましたら教えてください。
またよく分からん質問やな。
>>1 にちゃんと目を通したのかと。
keysが他のスレッドから変更されないなら無限ループして当たり前じゃん。
>ではなく直接SOFT1キーを押しているかどうか判定したいのです。
getKeypadState()は直接キー状態を取得する方法じゃないの?
>>66 すいません。
どうやら私の脳みそはうんこだったようです。
while((getKeypadState() & 0x00200000) != 0) Thread.yield();
とするより、
while(getKeypadState() != 0) Thread.yield();
とした方が処理は早そうですね。
レスありがとうございました。
流してきます。
49 :
デフォルトの名無しさん :03/01/15 14:52
iアプリを作っているんですが、サーバへアプリをアップしてN504iにダウンロードして 起動したところ、必ず10秒くらいでアプリが落ちます。 プログラム的に無理なことはしてないし、メニューを表示するくらいです。 起動後、何もせずに待っていても10秒くらいで落ちます。 どなたか原因を推測できますでしょうか?
50 :
デフォルトの名無しさん :03/01/15 16:39
プログラムが悪い
>>50 おまえの言う通りだ。とりあえずありがとな。
(^^)
わかりました。 iアプリのプログラムで、static イニシャライズ を行なうと落ちます。 とりあえず現在のところはN504i限定でってことで。 報告ですた。
>>53 あるプログラムでたまたまそうなってたからって、
それをそんな風に一般的に述べるのって、関心しないです。
私はstatic initializerを沢山使ってるプログラムを
N504iで動かしたこともありますが、
それが原因で落ちたりはしなかったですよ…
Nで途中で落ちるのはたいていメモリが足りなくなるからっぽい 空きメモリを表示してループさせると見る見るうちに減っていくのが分かるし gc掛かるとどっと増えるのも分かる
56 :
デフォルトの名無しさん :03/01/16 13:37
iアプリでネットワークでデータをやりとりするとき、受信、送信のデータ量の上限を教えてください。 ドコモのページ見たけどわからなかったんです。
57 :
デフォルトの名無しさん :03/01/16 15:43
10240バイト
ありがとうございます。 503のときも10Kバイトだったと思いますが、変わってないってことでいいですね
59 :
デフォルトの名無しさん :03/01/16 17:55
今、504でネットからデータをダウンロードして、 スクラッチパッドに格納するのプログラムを作ってるんですが。 最初の何回かはうまくいくいくのですが、10数k読み込んだ辺りから、 out = Connector.openOutputStream("scratchpad:///0;pos=" + pos + 1); の部分がIllegal positionを返してくるのですが、 どう解決していいのかわかりません。 どなたかご教授お願いできないでしょうか? お願いします。 ちなみに、10k以上のものは分割はしています。 SPサイズは足りているはずなのですが・・・
>>59 まず、その表記は行儀が悪いということから勉強してください
61 :
デフォルトの名無しさん :03/01/16 18:30
>>60 申し訳ございません、
一から勉強してきます。
>>59 解けた?
原因のメソッドを特定できたら次に疑うべきは引数。
一旦変数に格納しておいて問題のメソッドに渡す前に出力してみ。
考える前にprintせよ。デバッグの基本だぞー
ああ、なるほど、この場合Javaではああなるのか。
P504用に作ってるゲームがN504でどこまで動くのか調べたいです。 たぶん今は例外吐いてて画面も出ない状態だと思いますが、 時間とパケ代を惜しまないN504ユーザの方のご協力をお待ちしています。 akizakura.dyndns.orgからダウンロードして実行後、 トレース情報の一番最後にある"checkpoint-?????"を教えてくださいまし。
P503isとP504iの実機では動いているものが、504エミュでは動きませんでした。
問題はネットからデータを読み込み、スクラチパッドへ入れるところ
なのですが、この部分はフリーのソースを使っていまして。
自分でも勉強しているのですが、まだ実力が足りずリファレンス等を見ても
何が悪いのか見当がつきません。
エミュではjava.lang.IndexOutOfExceptionが出ます。
利用ソース元は
http://throw-and-catch.hp.infoseek.co.jp/lib/lib.htm にあるPadManagerクラスで、画像の読み込みと保存を主に利用しています。
今あるソースを拡張して30kbの中で作りたくて504環境に移行しましたが、
504になって変わった点等、アドバイスがございましたらお願い致します。
67 :
デフォルトの名無しさん :03/01/18 14:51
iアプリって、Macintoshでは開発できないんですか?なぜだかおしえてください
普通のJavaが動けばコンパイルはできそうじゃない? 問題はpreverifyか・・・
preverifierもソースが入手できるので、 誰かがチョット頑張れば開発できるようになるよ。
反応ない(;´Д`) 現状P504iで50フレーム/秒出てるワンキーアクションゲームです。 これから60フレーム/秒目指してチューニングする前に 他機種での可能性を探っておこうと思ってます。 P以外の機種で試してみてくださる方はいませんか
>>70 ていうかどこにあるの? アクセスできへんよ。
N504iでござる。こんなんで止まりました。 手コピペなのであまり頻繁にはできないかも。 message = Uncaught exception happened throwable = com/nttdocomo/lang/UnsupportedOperationException throwableMessage = curClass = com/nttdocomo/opt/ui/Graphics2 curMethod = setRenderMode ワイヤーキッド checkpoint-logo checkpoint-title() checkpoint-random checkpoint-spset3 checkpoint-spset2 checkpoint-spset checkpoint-work checkpoint-bg checkpoint-MyFrame()-font checkpoint-parts checkpoint-MyFrame() checkpoint-start() checkpoint-Wirekids
N504iでサポートされていないsetRenderModeを実行したためのようですな。
>>73 ありがとう!!
めっちゃ参考になりました
setRenderMode()のほかにsetFlipMode()とdrawScaledImage()も 使っているのでPとSO以外では呼ばないように細工しました。 試された方は報告をお願いします。
10 frame/sec.で動いているようですよ。そうか、P504iでは50も出るのか……。 とりあえず遊び方教えて(笑)。ワイヤー見えないけどいいのかな?
>>77 N504iだと、
どれだけがんばってもなぜか10fpsしか出ないんだよね
やったー^^ 何かキーを押すとフックが伸びるのでうまくリングにひっかけて 勢いがついたらキーを放して次のリングに飛び移ってください。 長くぶら下がって勢いがなくなったらあきらめて落ちましょう。 あとワイヤーは見えないのは仕様です。
レスが送れてすみません。
>>63 引数も確認はしているのですが、
スクラッチパッド分のバイト以上(書き込み分も含め)
は越えていませんでした。
>>59 >>81 例えば、pos が 123456 のとき、
("scratchpad:///0;pos=" + pos ) の結果は "scratchpad:///0;pos=123456"
("scratchpad:///0;pos=" + pos + 1 ) の結果は "scratchpad:///0;pos=1234561"
これは、貴方が思っている結果と一致してる?
あぅ、なんて初歩的なミスを・・・ haruka様ありがとうございました。 おかげさまでできました。
String arg = "scratchpad:///0;pos=" + pos + 1; System.out.println(arg); out = Connector.openOutputStream(arg); こう書けって言ったつもりなんだけど伝わらなかったか・・・
>>84 いえ、私の読解力不足です。
お手数かけました。
そして、ありがとうございました。
システムプログラミングの経験がある識者に是非お尋ねしたいです。iアプリでどうしても 小数点計算がしたくて(固定ではなく、浮動)、いっちょ自分で小数点演算パッケージを 書いて、jarファイルに入れてしまおうかと考えているんですが(パッケージが大きくなる ため、当然504がターゲット。503は諦める)、無謀な考えでしょうか。
>>86 全然無謀じゃないと思うよ。
自分では作ったことがないし、
どのあたりの関数まで実装するのかによって難度変わってくると思うけど。
88 :
デフォルトの名無しさん :03/01/21 12:03
リソースファイルを分割すれば済む話。
90 :
デフォルトの名無しさん :03/01/22 14:59
91 :
デフォルトの名無しさん :03/01/23 07:43
すみません。 パネルのテキストボックスで、 必ず8文字の数字を入力するようにしたいのですが、 こういうことはできるのでしょうか? やはり自分で入力されたものを調べて、 よくなかったらきちんと入力してくださいと 表示したりするべきなのでしょうか?
92 :
デフォルトの名無しさん :03/01/23 10:45
iアプリ開発に最適な機種と料金プランおしえれメールや通話はナシの方向で
93 :
デフォルトの名無しさん :03/01/23 10:50
N504iの本体でデバッグしようと思って、 ツールBOXのiアプリを開いてみたのですが、 7トレース情報・・・が見当たりません。 何か設定を変更しないと見れないのでしょうか? それともファームのヴァージョンアップで削除されたのでしょうか? どなたか助言をお願いします。 端末は12月に新規購入したばかりです。
何で上がってるんだろうと思ったらMAIL欄じゃなくてNAME欄にsageを書いてた(^^ゞ
すみません、エミュレータi-jadeでは動くのですが
実機p503iだと以下の部分でエラーがでます。
どこかまずいところはあるのでしょうか?
cgi側ではいつもどおりの動きをして、きちんとメッセージを返答
しているようです エミュではうまく動き、実機ではcatch側へいきます
try {
connection = (HttpConnection)(Connector.open
("
http://サーバー名/~ユーザ/ディレクトリ/ファイル.cgi ",Connector.READ_WRITE,true));
connection.setRequestMethod(HttpConnection.POST);
connection.setRequestProperty("Content-Type","text/plain");
OutputStream out = connection.openOutputStream();
out.write(mes.getBytes());
out.close();
connection.connect();
InputStreamReader inps = new InputStreamReader(connection.openInputStream(),"SJIS");
StringBuffer sb = new StringBuffer();
while(true){
int length = inps.read();
if(length < 0 ) break;
sb.append((char)length);
}
connection.close();
message = sb.toString();
}catch(IOException e) {
message = "内でエラーが発生している";
}
P504iシリーズ向けに、 P-FaceっていうPIMアプリが提供されているんですが、 メニューを表示しようとすると、 現在の画面が半透明処理されて、 その上にメニューがポップアップします。 あれって、どうやってるんでしょう。 getPixel()でintで色をとってから、 なんかしとるのでしょうか? んー、ご存知のかたいらっしゃいますか?
エラーは、java.io.IOExceptionでした。
>>98 504にはバッファリングするときに
あとから表示する例やを透過処理するメソッドがあるよ
すみません!わかりました inps.close(); がぬけていました
>>100 あとから表示する例?、、に関しては発見できずでした。
透過処理をするメソッドとは、もしやsetRenderMode()でしょうか?
「加算」「置き換え」「減算」というところからの想像なのですが、、、
例や というか レイヤでは・・・
すみません、503用のアプリは504で動くのでしょうか? 絶対動かないのか、動く場合もあるのか、知らないもので・・・ お願いします。
>>103 (ハウッ)
つまり上から書くときに透過処理するメソッドがあるということですね。
(^^)
>>104 ドコモの公式サイトのFAQ読みなさい。
>>102 このメソッドかな?と目星をつけたらすぐ自分でコードを書いて試そう。
いちいち掲示板で聞いて答えが戻ってくるよりずっと速い。
>>94 AppTrace=on
開発ガイド詳細編(DoCoMoで落とせるPDF)には目を通したほうがいいよ
>>109 笑ってやってください。
AppTrace=onにはしていたのですが、
printメソッドを書いていなかったというオチでした。
首吊って出直してきます。
>>108 試行錯誤で、できました!
setRenderMode()が正解。
i-nPOPを504向けに改良したら需要あります?
パネルをつくって、また、その後に同じく ぱねるをつくっても、問題ないですよね? 最初につくったpanelは破棄されて、 後のほうのものが有効になってるんですよね? 例) panel = new MainPanel(); panel = new MainPanel();
すみません、114のやつはログが増えるとバグでアプリが落ちる 見たいです。なので、ちょとバグフィックスしますので 114のやつはまだダウンロードしないでください。 すみません。
原因は携帯電話特有の絵文字をつかたっときの文字コードの ズレだとおもわれます。 なので絵文字を使わなければどうさするとおもうので 114のアプリをどなたか試して見られては どうでしょうか?
117 :
デフォルトの名無しさん :03/01/25 02:21
着アプのゼロヨンチャンプで場面が切り替わる際、 フェードアウトするんですが、これってどうやって やるのでしょうか。
>>117 そんなに難しくないと思うのなら自分で作ってみたらどうですか(^_^)
ここに書き込むくらいだから何かプログラムは作った経験はあるんでしょうね。
>>118 ソフトバンクから出ている日高徹さんの
Delphiゲームプログラミングのエッセンスの
応用例12,13辺りが参考になると思います。
Delphi用ですが元になる考えかたはあまり変わらないので
それをiアプリのAPIに当てはめていけばいいんじゃあないかな。
>>119 レスどうもです。
プログラム本を売っている大きい本屋が遠いので
できれば先に聞かせて頂きたいのですが、その本に
紹介されている方法はピクセルデータから画像を
作成する、JavaSEで言えばMemoryImageSourceのような
方法でしょうか。
だとすると、504のiアプリにはそれに該当するAPIは
ないようなので他に方法はないでしょうか。
Graphics2が使える端末ではGraphics2#getPixel()や
Graphics2#setRenderMode()で実現できそうですが、
Graphics2が使えないはずのN504iでもフェードアウト
しています。
それとも本当は全ての機種でGraphics2か、それの代用
APIが用意されているのでしょうか。
N504iSで高速に描画を繰り返すと、どうも間に合わない描画をすっとばしてるように思えます iとiSを並べて同じアプリを動かしているのに、iはなめらかにキャラが動き iSはフレーム落ちがひどいです。 iとiSでJava部分に違い無しと聞いていたのですが、このように違いがあるものなのでしょうか
>>118 興味深いですな
もともとフェードアウトするGIFアニメをdrawNthImage()で、というのはどう?
>>122 >もともとフェードアウトするGIFアニメをdrawNthImage()で、というのはどう?
色んな場面でフェードアウトが実行されているため、
凄い量のGIFアニメが必要になると思われます。
どうやらスクラッチパッド100K全てを使っているようなので、
それだけあれば可能かもしれませんが・・・・中にはメッセージまで
フェードアウトしている部分があるので・・・。
>>124 レスどうもです。
RGBを修正できるのであればそれがいいのですが、
DoJa-2.0のAPI中にはそれらしき標準APIがないのです。
拡張APIならありますが、対応していないはずの機種でも
実現されているんですよね。
しかし、このゼロヨンチャンプ。
アドベンチャーとRPG(スクロール3D)とゼロヨンレースで
ダウンロードは初回のみ。
よく30Kに入ったな・・・。
あ、あとレース部分で画像の拡大縮小もN504iで実現されています。
これもAPIにはないはず。
GIFフォーマットの広域配色表を直接書き換えて読み直してるんじゃないでしょうか。 あとはGraphics.setColor()をコントラスト指定対応にでもして。 拡大縮小は単純にあらかじめ全パターン用意できる分量だと思います。
あるいは内部で拡大縮小されたGIF画像を作ってるか。
>>126 >GIFフォーマットの広域配色表を直接書き換えて読み直してるんじゃないでしょうか。
>あとはGraphics.setColor()をコントラスト指定対応にでもして。
レスどうもです。
が、すんません、勉強不足のためかちょっと意味が分かりません。
GIFのパレットとGraphics#getColorOfRGB(int,int,int)などの値を設定してる
ということでしょうか。
だとすると確かにこの方法でもできますね。
ただ、実機での動作を見ているとそんなように見えないんですよね。
色んな場面でフェードイン・フェードアウトが使われているため
毎回そのような手間の掛かる処理をしているように見えないのです。
使用される画像についても即席で処理するには数が多すぎますし。
また、拡大縮小についても、全パターンだとすると256パターンくらい
ありそうです。
それを車2台(車種は8車種x左右=16種類?)と木や、なんか分からないもの
にまで用意しているようには見えないです。
GIFで持つのもかなりのサイズになりますし。
と、そう見えないという理由で答えて申し訳ありませんが、
可能であれば一度見てみてください。
きっとそう見えないと思います。
いや、見て考えた結果。先に書いたのでできない理由はないと思いますが。
見てみた。 拡大縮小は最大時の画像だけ用意しておいて 縮小パターンをオフスクリーンImageに生成してそう。 フェード処理は126さんの推測した方法でも可能だと思うけど 処理のたびにスクラッチパッドを書き換えるのってアリ?
>>129 それは失礼しました。
ただ、ちょっと気になる部分があるんですよ。
フェードイン・フェードアウト時に時々左側だけ階調が遅れている部分が
見えませんか?
例えば、Graphics#fillRect(x,y,width,height)でやっているのなら
一部にムラがでることはないと思います。
また、このムラは場面に関係なく表示されるように見えました。
ま、ムラが出るほかの方法も考え付きませんが・・・。
(プログラムでムラってなんだい・・・)
拡大縮小については、新たな疑問が。
P504iで試したところ、車の上やゲートがちらつくことがあるんですよ。
特に停止していると思われるスタート前の敵車がちらつくという辺りが気になります。
GIFで用意しているなら一枚絵が表示されているだけですので、
ちらつきが出ることはないと思います。
また、設定で描画効果が変更できますが、その描画効果を下げると
敵車のちらつきがなくなるように見えます。
描画効果を下げるとなくなるのが、木やスタート時のライン!だったり
するのも気になります。
とりあえず、他に特徴がないか調べてみたいと思います(ひたすら見るだけですが)。
どうもありがとうございます。
>>130 >拡大縮小は最大時の画像だけ用意しておいて
>縮小パターンをオフスクリーンImageに生成してそう。
レスどうもです。
私も最初それを考えましたが、オフスクリーンでは透過できないようなので
違うように思います。
また、拡大縮小の階調分オフスクリーンを用意するのも大変でしょうし。
ゼロヨンチャンプって、ゲーム自体はマイナーな感じなんですが、
プログラムって力入ってますよね。
またそれがわけわからんねん。
133 :
iアプリ&java経験3日 :03/01/29 22:23
504iにある小さな窓に文字を表示させるのはどうすれば よいのでしょうか? 待受け時しかだめ?
>>133 待ち受け時に表示させる方法なら知ってるの?
>>133 P504i/iSなら待ち受け時以外も
待ち受け時と同様のやりかたでできます。
P以外では待ち受けかどうかに関係なく無理です。
136 :
iアプリ&java経験3日 :03/01/31 22:35
>>134 いいえ。ただそう思っただけです。
>>135 自分のはP504です。できそうですね。で、どうやれば
いいですか?
>>136 ん・ぱか工房→KVMゲームプログラミング→最終回
>>119 117です。
自分で作る能力がないので、このスレでかいてみました。
やっぱり誰もつくってくれないか・・・とほほ。
リソース足りない(;´д`)
N503iSで 「ソフトに継続動作できない障害が発生しました」って出るんだけど、 なぜかわかる人いる? P504iではちゃんと動作するんだけどなぁ・・・
ソース組みなおしたら、エラーは出なくなったけど、 画面に何も表示されなくなっちゃったよ・・・鬱・・・
>>140 Windowsで
「このプログラムは不正な処理を行ったので強制終了されます。」って出るんだけど、
なぜかわかる人いる?
ってのと同レベルの質問だぞそれは。わからんっちゅーに。
とりあえずトレースをオンにするなりして調べてみなはれ。
>>142 N503iでもトレースってできるの?
504しかできないって聞いたんだけど・・・
例外キャッチして表示してやるといいかも。
Graphicsクラスを使用していて Graphics#setColor( int ) で 引数に直値で指定してない? エミュレータとかだとエラーにならないけど 503だろうが504だろうが実機では機種によってエラーが出たり出なかったりなので チェックしてみては。 とか適当に言ってみるテスト
誰かD504i/N504iでのトレースの表示方法を教えてくださいませんか…? Pしか持ってないんだけど他の機種ではPみたいにわかりやすい場所になくて よくわからないのです。
148 :
デフォルトの名無しさん :03/02/08 00:27
携帯では<INPUT TYPE="file">タグが使えないので携帯用のアップローダー作れないしょうか?
アップロードするファイルをいったいどこから持ってくる気かね。
>>147 おお。ありがとう。
D504iのこれって、知らなかったら絶対わかんないよ。。笑
151 :
デフォルトの名無しさん :03/02/13 21:23
パソコンではファイルのパスはC:¥WINDOWS〜などと表記するけど携帯でのファイルのパスってどう表記するの?
152 :
デフォルトの名無しさん :03/02/14 00:04
ドコモのDoJa2.1ってWINDOWS-XP + SDK1.4.0の組み合わせ で動作しますでしょうか?推奨はWINDOWS98SE + SDK1.3.1みたいですが。 XP + 1.4で使ってる方いらっしゃいますか?
>>151 そもそもドコモケータイにファイルシステムないじゃ〜ん。
少なくともユーザには開放されていない。
>>152 大丈夫です。iappliToolは特に何も考えなくてオーケー、
コマンドラインからjavacでコンパイルするときは-target 1.1が必要なことに注意。
>>153 情報ありがとうございます。
さっそくDLします。
jarに入っているクラスファイル以外のファイルを読み出したいなら MediaManagerの場合は"resource:///image.gif"、 getResourceAsStream()の場合は"/image.gif"かな
156 :
デフォルトの名無しさん :03/02/15 23:59
携帯からサーバーにファイルをアップロードするアプリを作ってくれと言われたんだけど 携帯JAVAからPOST送信をしてそれをupload.cgiが受け取ってサーバーにファイルを送ると言うやり方を 考えているんだけどこう言うのって無理ですか?
だから一体何の「ファイル」をアップロードするつもりだキミわ。
>>156 とりあえず無理かどうか聞くまえに作ってみたらいいじゃん?
DoJa2.1 Ver.1.00(FOMA)ってフォーマ用のiアプリのみ作成ですか? 504,503シリーズ用のアプリは作れますか?
160 :
デフォルトの名無しさん :03/02/18 23:21
servletってtomcatとかいれてないてないとできないのでしょうか? servlet対応のところでないと使えないのでしょうか?
161 :
デフォルトの名無しさん :03/02/18 23:31
servletってtomcatとかいれてないてないとできないのでしょうか? servlet対応のところでないと使えないのでしょうか?
>>161 それはサーバ側だけの問題なのでiアプリにはあんまり関係ないと思います。
当然サーバがservlet対応していないと使えないと私は思うけど、
そっち方面は苦手なのでよくわかりませんです。
163 :
デフォルトの名無しさん :03/02/22 23:45
FOMA(2051とか)のshorttimerって 504なんかと挙動が異なってたりしませんか? つか違っているっぽいのはわかってるんですが 具体的にどう違うのかがわかりません…泣ける。
164 :
デフォルトの名無しさん :03/02/25 04:40
「携帯JAVAのスレッド」へ誤爆してしまい、ここへ来ました。 先輩方、教えてください。 iアプリで1〜20の数字を画像で表示したいのですが、 試しに01.gif〜20.gifまで用意してresフォルダに入れて ビルドしたらそれだけでjarファイルが8KB。 (gifひとつにつき5x5のモノクロで、470バイト程度なのに) これだけですでに逝きそうなので 1〜20の画像を連結して1つのgifにして、 プログラム内部で一部だけを表示するようにしたいのです。 というわけで、 Graphics.drawCutImage(Image img, int x, int y, int img_x, int img_y, int img_w, int img_h) img_x, img_yにimgの左上からの位置、img_w, img_hに描画する縦横のサイズ を指定するGraphics.drawImageを継承したようなメソッドを作りたいのですが どうすればいいか見当すらつきません。 良いご意見、アドバイスををお願いいたします。
>>165 Doja2.0ならそういうメソッドがあるんだけど
それじゃ駄目なんだよねやっぱり…。
>165 >試しに01.gif〜20.gifまで用意してresフォルダに入れて >ビルドしたらそれだけでjarファイルが8KB。 >(gifひとつにつき5x5のモノクロで、470バイト程度なのに) これがなんか変。 5x5ならたった25ピクセル、それがなんで、470バイトも?
168 :
デフォルトの名無しさん :03/02/28 10:18
さあ、みんなで考えよう。
とりあえず
>>165 はその画像を何処かにあっぷして
>>165 5*5のGIF20個で470バイトってこと?
でも1ファイル平均23.5バイトは
いくらなんでも小さすぎるな…。
2色GIFでもヘッダだけで19バイトあるわけだし。
やっぱり1ファイル470バイト?
170 :
デフォルトの名無しさん :03/02/28 13:28
5×5のモノクロなら、gifで持つ必要ないんじゃないの? 配列でデータもっておいて、drawLine()で描くってのは駄目? っていうか、5×5で20ってどう描かれているですか?
171 :
デフォルトの名無しさん :03/02/28 13:43
5x5の2色GIFなら、1枚あたり数十バイトになるはずだ。 あと、ZIPはファイル単位を越えた圧縮が効かない上、ファイルごとに情報がついてくるから 多量の画像ファイルを扱うなら、あらかじめ連結して一旦スクラッチパッドあたりに格納して、 そこから構築したほうがいいな。
早速のレス大変有り難うございます。
当方のミスに気付きました…
gifひとつは45バイト程度でした(勘違いしていました)
resフォルダからgifを除くと7KB、入れると10.1KBでした(汗)
まだ実装したい機能の6割程度しか作ってないのに…
質問を振っておいて本当にごめんなさい。
ただ、上で描いたdrawCutImage(Image img, int x, int y, int img_x, int img_y, int img_w, int img_h)
のようなメソッドはあれば便利だとは思います。
>>166 さんによれば、Doja2.0には搭載されているんですか…
俺の携帯はN503iなので、残念です。
>>167-169 >>172 当方の勘違いでした。すいません
>>170 20.gifだけは7x5のサイズにしてあります
>>171 俺の質問に関連して、大変役立つリンクを教えて頂きありがとうございます
携帯アプリをJAVA以外のVBやC++で開発するにはどんなツールを買えばいいの?
>>175 ありがとう。携帯アプリをVBで作れたら大ニュースだしうれしい。
JAVAプログラムをテキストエディタで入力していく以外にいろいろな開発ツールがあるんだなあ。
昨日やっと気がついたよ。 あのな、if文に&は使っちゃいけない。見た目悪くなってもifを重ねるべき。 if(A条件&B条件)処理; とするよりも if(A条件){ if(B条件){ 処理; } } としたほうが、容量がグッと減る。 これってドコモの標準コンパイラがアフォなだけなのかいな?
待て待て、そんなはずはないぞ。&ではなく&&だよな? 言語仕様上同じバイトコードが生成されるはずだ。 (A条件 && B条件)の場合、A条件がfalseならB条件は評価されない。 確かめたが間違いなくそうだ。 何か他の部分に副作用が出ているのではないか。
おっと、分かったぞ。&を使うからそういう結果になるのだ。
2つの条件式を評価するときは、ビット演算子&ではなく条件演算子&&を使おう。
言語仕様から引用。
http://www.y-adagio.com/public/standards/tr_javalang/15.doc.htm#5247 > 15.22 条件AND演算子&&
> (snip)実行時には,左辺オペランド式を最初に評価する。その値がfalseならば,
> 条件AND式の値は, falseとし,右辺オペランド式は評価しない。左辺オペランド
> の値が trueならば,右辺オペランド式を評価し,その値を条件AND式の値とす
> る。この方法で,&&は,booleanオペランドに対して&と同じ結果を計算する。右
> 辺オペランド式を常にではなく条件的に評価するという点だけが異なる。
>179 そうだったんか!!とてもありがたい解答サンクス。 覚えたてで他の言語とごっちゃになってました。 これからは&&を使うように心がけます。
181 :
デフォルトの名無しさん :03/03/07 21:52
機種ごとの文字のアセント・ディセントが知りたいのですが、 どこかに公開されている神はあらせられますか?
184 :
デフォルトの名無しさん :03/03/08 22:42
アセント・ディセントって何?
>>185 レスさんくす。
フォントサイズは流石に調べれば分かる。
具体的に言うと、いくつかの機種で、普通のdrawStringで
文字が1ピクセル分下にずれる現象があるということ。
でもdrawRect等はずれないから、図形と文字がずれてしまう。
それを回避するには、アセント・ディセントが必要。
文字ぐらい統一しろとメーカーを小(略
187 :
デフォルトの名無しさん :03/03/10 00:06
初心的な質問ですいません。 SDK1.3.1をインスト→SDK1.4.0をインスト→Dojaをインスト この順番でインストールしてあるんですが、Dojaでビルド時は 1.3.1と1.4.0のどっちが使われてるんでしょか?
188 :
デフォルトの名無しさん :03/03/10 01:20
待ち受け用アプリってそれ専用に作らなきゃ駄目なんですか? どのアプリでも待ちうけにはできないですよね?
>>187 入ってるランタイムのバージョンが問題でない。
Windowsなら、プログラムの追加と削除あたりで確認してね。
>>188 イエス。
190 :
質問です! :03/03/22 14:34
n2051のスクラッチパッドは最大200KBとかいてありますが、実際180KBぐらいのものを スクラッチパッドを使って作ってみたのですが、エミュレータでできても実機では スクラッチパッドにダウンロードしているときに『メモリ不足です』とでてしまいます。 しかしデータを100KB未満にしてみるとうまくいきます。この原因はなんでしょうか? お願いします。
メモリ不足とスクラッチパッドの容量は無関係じゃないかな オブジェクトとか配列をたくさん作ったりしてない?
192 :
デフォルトの名無しさん :03/03/27 04:01
おまいら!これからはBREW(C/C++)の時代ですよ!
正直どっちでもいい。
>>192 毎回数万円する認証費用をご負担下さい。
〜終了〜
>>195 F504iで動作確認したよ。
面白い。
197 :
bloom :03/03/31 10:03
現在SOで動かない原因を調査中。
>>196 報告ありがとうございます。
Pが飛びぬけて高速なのかと思ってましたがFも負けてないんですね。
Java初心者です。 2つ教えて下さい。 m(__)m 1)1つのアプリに複数の画面(状態)を用意する場合 遷移毎に画面の設定と再描画を指定しなければならないのでしょうか? 実体を持っているのだから、設定だけは横着できるかなっと。 2)遷移先で異常終了として終わらせる場合 I(M)ApplicationのTerminate()を呼んでやるだけでよいでしょうか? GCを意識する必要は無いのでしょうか? ターゲットはP504i。 このまえ、「在庫投売り」で買った。 (^^; 当初P/eceで済ませるアプリをこちらにしようかと・・・ (^o^;; 宜しくお願いします。 m(__)m
200 :
デフォルトの名無しさん :03/04/01 18:07
>>199 漏れの経験上、パネルは変数で。キャンバスはクラスで持った方がいいね。
実際の実装はキャンバスクラスを一つだけ用意して、クラスの内部変数として
パネルを用意する。
画面の状態遷移は変数で制御した方がいいよ。
遷移毎にクラスファイルを作ってるとすぐに容量を使い果たしてしまう。
I(M)Application#Terminate()はいつ、どのタイミングで呼んでもよし。
>>200 早速のレス、サンクスです。
C++では「画面=キャンバス」で作ってきたから
パネルの載せ替えの発想が浮かばなかった。
(パネルはフレーム一部のお絵かき専用の頭があり
余り使っていなかった)
後はスクラッチパッドとのサイズ格闘だな・・・
その前にパケ代を値下(ry
505iだからPDCなのは当然だった。。。
>>65 ランキングで分かってると思うけどN504iSで動作確認出来たよ
おもしろいけど難しい。
あとオプションから戻るときにソフトキーが「終了」になってるのが気になった。
207 :
デフォルトの名無しさん :03/04/06 16:11
待ち受け用iアプリを作りたいんですが、 資料ってありますか?
>>206 ありがとうございます
階層上がるだけなのに「終了」になってるのは確かにカッコ悪いので
次のバージョンアップまでに直しておきます
SOはsetRenderMode()とdrawScaledImage()を呼ばないように
ゲーム内の初期設定を変えておいたらランキングに現れ始めました。
詳細はわからないけどP504と同じ感覚では使えないってことなのね>Graphics2
209 :
デフォルトの名無しさん :03/04/07 10:33
210 :
デフォルトの名無しさん :03/04/07 17:15
ListBoxにセルを使いたいのですが、Swing使わないと駄目でしょうか? オプションで簡単に出来たらいいなと思っているのですが・・・(--;
ProGuard を iアプリに適用する方法が書いてあるサイトなどはありますでしょうか…
個人的にはProGuardよりもJava Blenderを薦めたいけどな。 アホみたいに小さくなる。効果ありすぎ。
214 :
デフォルトの名無しさん :03/04/08 19:59
容量は30kのまま、SPが2倍になっただけ。 でも、ネットに自由に接続できるようになったのは魅力的だよな。 これで、iアプリに直接TELNETやらSMTPやらIRCやらPOPやらHTTPを 喋らせることができるし。 最近、N504iSに変えたばかりなんだが、ちと羨ましいよ。
絵だけ綺麗になってもなぁ… 解像度上ってグラフィックの描画速度が大丈夫なのかとかが すごく気になるよ。 もし10fpsとかで動いてたら悲しいよね。
前回トップシェアのNとPが共にカメラ弱くてパッとしない。 シャープ端末も乱入してきて、シェア大荒れの予感。 ますます run anywhere なコードを書く知識と技術が問われそう。
N505iはSH-Mobile積んできてるらしいから別物になってるかも。 つーかなっててくれなきゃ本気で困る。
130万画素カメラ、230KBまで使えるiアプリDX、Flash搭載、
i-mode1ページの容量制限が20KBに緩和…パケ死の予感となる要素が満載。
いや、微妙に欲しいんだけどね。でもP504iに機種交換して満足してるからまだいいや。
>>219 シェア占領してるくせにまたNが足を引っ張ってたらもう…もう…・゚・(ノД`)・゚・うわぁぁん
タイマー100ms制限だけでも緩和していてくれ! Nのせいで秒間10フレームのゲームしか作れないんだよ!!
てか、iアプリでそんなにグリグリ動くゲームって、 激しくキー操作必要じゃない? USBジョイスティックでもつかない限りやってられないんじゃ…。
アプリでシューティング遊ぶヤツとかは正直何を考えてるのか分からんが それとは別に、何も考えなくても最低限のフレームレートが出る描画性能は欲しいでし。
224 :
デフォルトの名無しさん :03/04/09 19:28
Java覚え立てでオブジェクト指向の概念すら分かっていないんですが質問します。 変数をdrawstringのように画面の指定した位置に 出力するにはどうしたらいいんでしょうか? valueをstringに変えるのか、それとも他の命令を 使用した方がいいのかどっちなんでしょうか?
結構シューティング多い。 ダライアスを505用に作り直して欲しい。 コナミはグラディウスとか出しそうだな。 MLDの同時発音にも期待!
226 :
デフォルトの名無しさん :03/04/09 20:11
>>223 操作性悪すぎるよねぇ。
かといってRPGとかも遅いし
>>224 こういうこと? OK?
int sc;
g.drawString("SCORE " + sc, 12, 12);
>>224 えらいところで悩んでるな〜。
氷塔あたりのソースを参考にすれば良いんじゃない?
229 :
デフォルトの名無しさん :03/04/09 22:37
>>227 >>228 ありがとうございます。そういうことです。
実はtoStringっていうのを発見して報告しようと思ったんですけど
そっちの方が楽みたいですね。使ってみます。
ところでjavaはどうやら一つ問題が解決するとまた一つ問題が発生するみたいで
位置指定の表示は出来るようになったんですがdrawstringを二回続けると
最初に表示した文字が消えてしまって困ってます。
初質スレかjavaスレに行った方がいいですか?
230 :
デフォルトの名無しさん :03/04/09 22:47
i-modeのコンテンツ作りをしているのですが、(java含む) 画面出来を実際の携帯で行っているので、料金がしゃれになりません。 PC上で動くi-mode用のブラウザでなにか良いものないですか?
231 :
デフォルトの名無しさん :03/04/09 22:55
SOHOです。
>>230 IEの横幅を縮めるのはダメなんか? 俺はそうやってるぞ。
絵文字の外字ファイルも確かVectorで入手できるし、
iDK (純正の 504i 用 i アプリ開発ツール) にも付属してる。
>>229 どう 2 回続けてるんだ? 同じ座標に重ねてるんかな?
233 :
デフォルトの名無しさん :03/04/09 23:20
タイマー機能の簡単なアプリを作ってくださる方はいらっしゃいませんか?
ここはそういう板ではない。
235 :
デフォルトの名無しさん :03/04/09 23:35
そういう板かスレありませんかね?
236 :
デフォルトの名無しさん :03/04/09 23:50
>>232 PCからのアクセスのときは a.html
imodeからのアクセスのときは b.html
みたいに分岐を行いたいので、そういう方法だと駄目なんです。でもって
PC上で動くi-mode用のブラウザはないかなと。
237 :
デフォルトの名無しさん :03/04/10 00:05
>>232 座標は変えてます。
canvasを使ったプロシージャの中で
g.drawString(Integer.toString(hoge1),40,0);
g.drawString(Integer.toString(hoge2),40,60);
とやるとhoge2しか表示できないんです。
エミュレータのバグってことはないですよね。
>>237 > g.drawString(Integer.toString(hoge1),40,0);
Y座標を指定するのは、文字列の左上座標じゃなくて左下座標。OK?
239 :
デフォルトの名無しさん :03/04/10 00:26
240 :
デフォルトの名無しさん :03/04/10 08:48
ドコモのiアプリとauのBREWアプリは どちらが将来性あるんですか?
BREWアプリって知らないけど、 携帯のJAVAは毎年進化するから将来性はどちらもあるのでは?
BREWはC/C++言語でつ。
>>243 こういうのを見るたびに、
「携帯電話メーカとキャリアはiアプリのことを何にも考えてないんだなぁ」
と思っちゃうんだけど、正直どうなんだろうね。
iアプリなんかどうでもいい!! って思ってるのか、
iアプリは大事だけど解像度変えても平気だろう って思ってるのか…
アプリよりもカメラ優先でしょう。 消費者のニーズはメガピクセルやQVGAだから。
ハード屋にはソフト屋の苦労なんてわかんないんでしょうねえ。
ソフト屋にはハード屋の苦労なんてわかんないんでしょうねえ。
iDKのエミュレータがcom.nttdocomo.opt.ui.Mathクラスのcos()を呼び出すと RuntimeExceptionを投げるんですがこれはバグ? 仕様?
>>247 それも一面の真理だが、
ソフト屋はハード屋が勝手に用意した環境を使うしかないからな。
>>248 確か sin, cos は i アプリでは使えなかったはず。
浮動小数点が扱えないせいだったと思う。
>>248 そのエミュが拡張仕様をサポートしてないんだろ
ハードが悪いんじゃなくて、 APIのセンスが強烈に悪いと私は思うけどね。 できることの割に量が多すぎる。 ちゃんとした技術者がAPI設計したら これの1/4以下の量で同じことができる環境が構築できると思うんだよね。 そうなってれば意味不明なAPIの代わりに 他のもっと有用なAPIを追加できたわけで… もう決まっちゃってるものはしょうがないんだけど…
しかもinflate/deflate関係のAPI無いんだよな。
古典的LZ77クラスでもサクッと作っとくか。
みなのしぅは IApplication継承 と Canvas継承以外のクラスも バリバリ作ったりしてるんだか・・・?
ああ、あとメソッドとかも遠慮なく作ってるとか?
たった30KBだもんねえ。 ケータイで富豪的プログラミングできるのはいつの日やら。
>>260 漏れの会社なんて、503対応で初回起動時も通信しちゃいけない、
っていう決まりになってるから、使えるの10KBだよ・・・
こんなもんでまともなゲーム作れるか!
(^^)
ときに しゅーてんぐげーむなんかで //メインループ //ウェイトがどうとかこうとか g.lock(); for(int x=0; x<MAP_WIDTH; x++){ for(int y=0; y<MAP_HEIGHT; y++){ g.drawImage(img[ map[x][y] ],x*10, y*10); } } g.unlock(true); //上に戻る てな感じで書くと あからさまに処理落ちしたりするわけなんでつが みなさまはどのように回避してるのでつか。 ヤパーリ描画枚数減らすの?
264 :
デフォルトの名無しさん :03/04/18 03:55
265 :
デフォルトの名無しさん :03/04/18 05:25
266 :
デフォルトの名無しさん :03/04/18 14:00
質問させていただきます Image.createImageについてなのですが D504iにおいて Width=132 Height=144 この範囲を超えたサイズを指定した場合、 自動的にこの範囲内のサイズへ丸め込みを行います。 この結果はgetWidth()メソッドおよびgetHeight()メソッドに反映されます。 とあるのですが、ここでいう丸め込みとはどういう意味なのでしょうか? オーバー分切り捨てるということでしょうか?
>>263 504i以降ならオフスクリーンをキャッシュとして使ってみるとか。
昔のPCゲーみたいな差分描き換え方式もありかな。
>>266 例えば、200x100のオフスクリーンイメージを作ろうとしたら
勝手に132x100になるんでないかい。迷惑な話だ。
DoJa 3.0入れてみた。 画面でかっ!
開発ツールにeclipseのプラグインついてきたので試してみたけど、 eclipseのバージョンが2.1だからか、はたまた他の原因か。 > init: > [doja] Error in class com.nttdocomo.dojaEclipse.ant.DojaTask > [doja] BUILD FAILED: file:C:/Java/eclipse/workspace/HelloWorld/build.xml:11: java.lang.NullPointerException > Total time: 210 milliseconds とか怒られてしまいます。まあ、もう自分でAntファイル書いて obfuscationとサーバへのアップロードまで自動化してるから、使わなくてもいいんだけど。
270 :
デフォルトの名無しさん :03/04/19 18:35
iアプリとBREWはどっちが将来性あるかのう?
ドキュメント斜め読みしながら適当にDoJa-2.0→3.0の変更点をメモってみました。 ・Jarファイル30KB、スクラッチパッド200KBに拡大 ・スクラッチパッドの分割管理(最大16個)SPsize=1024,1024,512みたいにして使う。 ・HTTPの一度の送信サイズが10KB、受信サイズが20KBに拡大 ・ダウンロード済みのアプリをダウンロードしようとすると、アプリを更新するようになった。 ・アプリからの更新機能の起動可 ・アプリから別のアプリを起動可 ・何に使うのかよくわからないダウンロード即起動iアプリ(制限多し) ・カメラと赤外線リモコンが基本APIで制御可 ・バックライトやバイブレータも基本APIに。 ・折りたたみ状態、電池残量、電波強度などの取得可 ・個体識別情報の参照 ・電話帳、ブックマークの登録(一応確認はするようだけど……迷惑なアプリ登場の予感) ・スケジュールの登録 ・画像の登録、取得(ただしブラウザから保存された画像にはアクセス不可)
・デフォルトのフォントはFont.SIZE_TINYで12ドット、Font.SIZE_MIDIUMフォントは24ドット その他は規定なし ・ピクセルの直接読み書き、イメージのスケーリング、反転、回転(90度単位)描画が基本APIに 拡大縮小のアルゴリズムは機種依存(領域外のピクセル拾ったり黒縁できるのを想定しろってか) ・バイト配列からのイメージ作成 ・ImageやCanvas上の画像をJPEGエンコード可 ・Canvasから文字列入力モードが直接起動できるようになった。 ・AudioPresenterの同時再生可能数2が保証される。(普通はBGM+効果音だろうなあ) ・Jarファイルの伸張 ・BufferedReader、PrintWriterの追加 ・OBEXの送受信可能なオブジェクトサイズが100KBに緩和、最大通信速度が115200bpsに向上 なんちゅーか、ますますAPIの無節操っぷりに磨きがかかった感じ。 ライブラリを実装する人も端末に統合する人もテストする人も血吐いてるんじゃなかろうか。 しかも505iだけで6機種分でしょ。新しい機種が出るたびに同じことが各地で繰り返されると。 正直、想像したくもない世界でんな。
∧_∧ ( ^^ )< ぬるぽ(^^)
∧_∧ ( ^^ )< ぬるぽ(^^)
・ImageやCanvas上の画像をJPEGエンコード可 これなんぞカメラでとった画像を加工する意外に何の使い方があるんだろ
>>276 まさにカメラ用の機能だろう
それよりXStringみてこの文字列をどうにかして外部に持ち出せないか
考えたのは俺だけじゃないよな?
ゲームのスクリーンショットを取れるようにするとか……。 しかし、保存がJPEGしか保証されていないのが気に食わないな。 これじゃレタッチツールやペイントツール作っても 画像の読み書きするたびに画質劣化していくんじゃあ。
>>278 どれくらいの圧縮率なんだろうね。
ImageEncoderみても標準、データサイズ優先、品質優先としか書いてない
周りに505iユーザがいないと、Doja3やる気しねーなぁ。 デバッグも出来やしない。
281 :
デフォルトの名無しさん :03/04/21 13:47
つか、連携アプリ作ったら、幾らパケ代かかるんだ? モノによっちゃー、2、3千円越えるじゃん。 こんなん、誰もダウンロードしねーよ。 つーか、作って実機テストしてたら、1万2万すぐに飛んじゃうじゃんか。 子ね!ドキュモ!
個人で作るには荷が重過ぎる。。
常識的なパケ代の範囲で作る限りは平気っしょ。 何もメーカー製のムリヤリ的な大規模アプリに追従するこたない。
ドキュモが常識から逸脱してると思うのに100万パケット。
アプリはminiSDとかから移せないのか?
FOMAって503のアプリくらい動くの?
290 :
デフォルトの名無しさん :03/04/22 22:34
iアプリなんて所詮ゲームだけだろ?
auに換えたくなってきた。
>>272 > ドキュメント斜め読みしながら適当にDoJa-2.0→3.0の変更点をメモってみました。
(略
> ・画像の登録、取得(ただしブラウザから保存された画像にはアクセス不可)
これってMS経由で取得した画像にもいけるような気が・・・
俺の持ってるD251iではカメラで撮った画像とMS経由のカメラ画像は同一の扱いだから。
ということは、画像ファイルだけMS経由で入れてスクラッチパッドに落として
アプリで利用可能ってことでよろしいでしょうか?
293 :
デフォルトの名無しさん :03/04/24 14:04
Doja3.0で504i向けのアプリを作ろうと思うのですが可能でしょうか? 新機能を使わなければ大丈夫ですよね?
Javaのクラスファイルの構造上動かない理由がない。
そして動かない可能性が無いといえないのがiアプリ
296 :
デフォルトの名無しさん :03/04/25 16:27
どんなアプリですか? 有償ですか?
>>297 普通の個人で作られてる無料のゲームです。
作者様からは許可を頂く予定です。
>有償ですか?
これは金払えってことですか?(←悪意は無いです。純粋に質問です)
296ではったリンク先HPの方のような事をやってらっしゃるかたが、iアプリ作成ユーザ
の中でどなたか、もしくはそのようなHPがないかと思い書きました。
ここはそういう板ではない。
DoJa3.0導入済みの方に質問です。
>>292 に書いたことを実際に試したんですが、
ネイティブ画像が取得できません。
ImageStore.selectEntry() 呼んで
サンプル画像読み込んでもnullしか返ってきません。
ADFのAccessUserInfoキーはyesにしました。
誰か試してみてもらえませんか?
301 :
デフォルトの名無しさん :03/04/25 19:57
すみません、基本的な所で悩んでいます。 J2ME Wireless SDK for the DoJaに入っていた KToolBarはちゃんと動作するのですが、 新しい版のiappliToolとか最新のiappliTool for DoJa-3.0 を起動すると、日本語が全て「□」になってしまいます。 どうしたらいいのですか?
>>302 そんな事情知らんよ。
誘導されて何の躊躇もなくクレクレ君やるわ、
面倒で何の見返りもない虫のいいお願いだわ、正直、心証悪すぎ。
>>301 Win2kで、デスクトップのテーマを変えるとそういう現象が起きてた記憶が。
Windowsクラシック以外になってたら戻してみるといいかも。
それ以外ならちょっと分かりません。
>>300 Image image = null;
MediaImage mi = ImageStore.selectEntry().getImage();
mi.use();
image = mi.getImage();
これで画像取得できんかね?
iアプリなんて結局ゲームだろ。
>>301-303 > Windowsクラシック以外になってたら戻してみるといいかも。
それが原因だとしたら、画面のプロパティのフォントの設定
(タイトルバーやアイコンなどのフォントを設定するところ)で、
フォントが「Tahoma」になっているところを、「MS UI Gothic」の9ポイントに
すればおそらくOKでしょう。
>>305 俺のP504iは出納帳(こづかい帳)のアプリが大活躍ですよ…
俺っちはストップウォッチと関数電卓作って使ってるにょ。 ケータイに最初から入ってるやつしょぼいんだもん。
>>296 なんか反感買ってるようだがあまり気にすんな(´〜`)
移植について技術的な興味はある
ただ個人的に頼まれるのはちと気が重い
オリジナル作者がソース公開してればダメモトで挑戦するんだが・・・
つーかアプリ名は?
サンプル数が1のうちに保存しとく 時間解像度は変わらずってことか・・・ F505i(1) 2000 10 10 10 120 30 2380 430 SO505i(1) 1800 125 150 100 125 425 550 425
みたいやね。DoJaの仕様で1msに統一してくれ。 こいつのせいでゲームでよく使われるメインループの方式ほとんど使用不能。
313 :
デフォルトの名無しさん :03/04/26 20:53
DoJa3.0開発環境でDoJa2.0向けアプリ作ろうと思うんだけど 2.0でオプションAPIだったピクセル操作が3.0で基本APIになっているようです。 こういう場合って3.0の基本APIの方を使うと2.0機種では動かないんでしょうか?
505のcanvasの画面サイズがわかる方教えてください。
F、また描画速度最低に転落してしまったね…それ以外の項目は超速なのに。 今回はNがまた足を引っ張ってしまうか、Pの最強速度は相変わらずキープしているのか、 2つでシェア7割は行きそうなのでかなり心配。
317 :
デフォルトの名無しさん :03/04/27 18:06
「メソッドの中で配列(メモリー)を確保する関数」を作ろうと思っています 実際にできたのは下記のとおり メイン{ int Data[][] = new int [1][]; Test(Data); System.out.print(Data[0][0]); } void Test(int List[][]){ List[0] = new int [10]; List[0][0] = 5; } こうすると、ちゃんと5が表示されます けれどもこれだと、一次元のデータしか扱うつもりがないのに、表記上2次元変数になってしまいます これを
318 :
デフォルトの名無しさん :03/04/27 18:07
メイン{ int Data[] = new int []; Test(Data); System.out.print(Data[0]); } void Test(int List[]){ List = new int [10]; List[0] = 5; } こうしたいのですが、これだと '{'がありません。 int Data[] = new int []; とエラーが出てしまいます 何か妙案ありませんでしょうか
>>318 コンパイラとしては new int[]{1,2,3,4,5} みたい書き方を期待してるんだろね。
ツッコミどころは色々あるけどreturn new int[10];じゃダメなのかな?
>>320 ありがとうございます
やはりそれしかありませんかね。作った配列の個数と、配列アドレス2つ返したかったのですが・・・
配列の[0]に個数を入れるようにするかな…。
しかしJAVAはnewで確保したメモリーがいつ開放されるのか分かりづらい…
個数って配列のサイズ? lengthぢゃ駄目なん?
>>322 なんと…
JAVAの配列はこんなことができるとは・・・
lengthでOKそうです。ありがとうございました
>>323 Dojaはファイナライズ使えないよな
ヒープの開放が気になるならこまめにガーベッジ呼べば?
325 :
デフォルトの名無しさん :03/04/28 18:25
画像の開放について質問です media = MediaManager.getImage("scratchpad:///0;pos=" + ScrAddress); media.use(); img = media.getImage(); grp.drawImage(img, 0, 0); System.gc(); img.dispose(); img = null; media.unuse(); media.dispose(); media = null; System.gc(); と確保した画像を開放しようと試みているのですが、 System.out.println("メモリ残量 :" + Runtime.getRuntime().freeMemory() + "\n"); で最初と最後を計ったところ、メモリーが開放されていないのです 画像をロードした直後の空き容量と、最後(開放したつもり後&System.gc後)の空き容量が 2バイトしか違いません 画像の開放の仕方、間違っているのでしょうか ご教授お願いいたします
grpがimg参照してるからgcされないよ。 そもそもimg消したら画面には何も表示されなくなるじゃん。
grp.drawImage(img2, 0, 0); 等のようにimgへの参照を断ち切って imgが誰からも参照されていないようにしないと 駄目だと思うよ。 img自体がstatic指定されててもgc出来ないけど
>>325 C言語移行者がよくする過ちだなw
grpへimgそのものを渡したと勘違いしてるだろ
引数はint、chra、float等のプリミティブ型は値渡しだけど
配列やクラスはポインタ渡しだということに気づけよ
age
煽るわけじゃないんだが
>>327 も
>>328 も見当違いと思う。
俺が勘違いしてんのかな?
325のソース試してみたけど、
メモリ残量 :509332→メモリ残量 :512900 (Doja2.0)
でしっかり解放されてるように見えるが・・
ちなみにfreeMemoryで得られるのは
バイト単位の空きメモリだそうでゴザイマス
2バイトじゃなくて2キロってだけの話かと。
お返事ありがとうございます
>>326-328 さんの言っていることがよくわからないのですが、
grp.drawImageで画面に一回描画したら、もう元のイメージいらないっていうシチュエーションのつもりで書きました
そして今Doja2.1エミュで試して見ました
ちゃんと開放されやがりました…。2.0エミュじゃ開放されなかったのに・・・
すこしいじってたんだけど
>>325 タソの言うとおりDoja2.0のgcとりこぼす感じでつね
まぁガベッジコレクソン自体が人間の思い通りにならないってことでヒトツ。
>>331 モノによってはモッサリだとは思いまつが、
現実的には
Imageがそこそこ速度でてるみたいだから
意外と気にならないカモ。
ベンチのgraphicsの内容のようなアプリは多くないし、
一概に言えない感じ。
326-328を書いた勘違い馬鹿者です。すみません。
P505i買えよ
>>334 返答ありがとう。
とりあえず発売してからしばらく待って、
雑誌とかの情報見てから買うことにしますわ。
F504isは早かったのになぁ
スレ違いなんでこのまま無視してくれていいです
338 :
デフォルトの名無しさん :03/04/29 21:43
iアプリでウィルスを作ることは可能でつか?
可能です
>>339 SARSのような強力なのを作りたいのでつが。
P504iのImage/Graphicsがちょっと遅いなあと思いつつ VMの遅さにもちょっと苦労しています… F505iのGraphicsが遅いのが、斜め線のせいで、 fillRect/drawRect/垂直水平のdrawLine が高速なんだったら、あ Fで決まりかなぁ?? って思うんだけど、 実際使ってみないとわかんないですよね…
もうちょい仔細に渡るベンチマークが欲しいッスね。 KVMMarkはかなり単純な計測しかしてないし。
>>303 ,306
表示されるようになりました!
ありがとうございました!
>>342 P504iはImage/Graphics関連は最速ではないでしょうか?
PCM音源やアルファブレンド等のラスターエフェクト使えるのもP504i
だけだし・・・
>>345 その最速P504iでもまだちょっと遅いと思ってるんで…
505だとこれより遅くなるのかなぁ
KVM Markのlmageの場合、
P504iだと25個、505iだったら多分81個のイメージを描画するんで、
そう考えるとF/SOはそんなに遅くないような気もするんだよね…
P505iがどれくらいがんばってくるかが気になる…
>>346 それはあんた、描画アルゴリズムを改善させる方が建設的だぞ
毎回その81個を絶対再描画しなけりゃいけないんなら仕方ないが
505はどれが買い? FOMAのほうがいいかな。
>>349 アプリ的にはどれもマシになりつつあるように見えるので、
欲しいと思ったのを買えばいいんじゃないかな。
私には、505もFOMAもちょっと大きすぎて、どれも欲しくならなくて辛いです…
とりあえず、どうもDは超絶にダメらしいです メモリーが馬鹿小さい上、絵のロードに独自の仕様があるとか 今回開発者を苦しめるのは、間違いなくDだと言われますた(´・ω・`)
352 :
デフォルトの名無しさん :03/05/03 10:19
SunOneStudio4でi アプリ作れるようになったのですが今度は 通常のjavaのコンパイルが出来なくなった… iアプリモジュールを無効にすればいいのは分かっているけど その遣り方が分からない…どなたか助けてください
>>351 DはFと並んで人気なさそうだから、「非対応」と書いてごまかす荒業が使える。(w
だから、ダメダメなクセにシェア占領してたNよりはずっとマシかもしれない。
ちゅーか名前消し忘れてた…鬱 とりあえず、その他の性能がマシになったとはいえ、 Nのタイマー精度100msだけはやめてくれと声を大にして言いたい。
Fはまだ許せる…計算・ラベル周りが速いから
356 :
デフォルトの名無しさん :03/05/03 12:30
504用アプリを作って公開したんだけど、 D504とF2051でDLできて、P504とN2051では「ソフトに誤りがあります」とか出て DL出来ない、と言われますた。 もちろんjamでターゲットなんか指定してないし…… 原因が分からず困ってます。 誰か助けてくださいまし……
>>356 そのアプリを見せてくれないことにはナンとも言えん。
>>356 とりあえずアドレス晒してくれれば P504i持ってるから手伝えるけどね。
504用で画像をたくさん使ってたんだけど、505用に作り直すときにメモリ足らなくなっちまったよ。 どうするよ・・・
全機種対応させるのって難しいね。 儲からない業界なのに6機種ともバラバラでは やってられないでしょう…
auにしなさい!
パケ代安くならないかな…
>>360 ああ、Dでしょ?
逐次画像を読み込み、開放するしか手は無い
幸いにもスクラッチパッドからの読み込みはそこそこ早くなってるみたいだしね・・・
>>352 プロパティー → 実行 → コンパイラ で
コンパイラ切り替える
>>364 うちのP504iで試してみた。
そのままでは確かにエラーが出たけど、jamファイルの最後の行(LastModified)の末尾に
改行を追加したら、DLできるようになったよ。
ttp://www.digital-dime.com/roadtest/hashimoto/rt_002_04.html >>その前に今回は、iモードの高速化についてにも触れておきましょう。
>>第1回目でも触れたとおり『P504i』を含む『504i』シリーズは、
>>下りの通信速度が約28.8Kbps(上りは従来とおり9.6Kbps)になりました。
>>電波状態が悪いときには通信速度が遅くなるベストエフォート型(直訳すると、
>>最善を尽くすの意)の通信サービスです。これにより、ウェブアクセスは快適
>>になったのですが、困ったことも起こるようになりました。通信速度が約3倍
>>になったことに伴い、パケット通信料も約3倍になってしまったのです。
>>これは、データ受信量が3倍になったのですから当然のことですが、請求書が
>>来てから改めて思い知らされました。
( ´,_ゝ`)プッ
>>367 改行?! Σ(゚Д゚;)
直してみます。ありがとうございました〜!
DoCoMoの時代は終わりました。 auにしなさい!
F504iSなどでは正常に書き込めるのですが、 D504やSO504だとスクラッチパッドに書き込めない場合があります。 スクラッチパッドに接続しすぎなのでしょうか? どなたかご教示お願いします。
>>369 うむ。jamの最後には改行が必要だぞ
公式エミュなんかだと自動的にいれてくれるが、自分で編集した場合は注意
>>368 速くなったから、ついつい沢山みてしまうということだろ
>>371 書き込み読み込みでエラーが発生しcatch側に流れたために、closeが行われていない場所があると見た
機種によってcloseせずにまたopenしようとすると即怒られる(オープンできずエラーになる)機種と、そうでない機種がある
catchの部分でSystem.outでもしてエラーに流れてないか確かめるよろし
373 :
デフォルトの名無しさん :03/05/05 02:07
auにしなさい!!
あ う 必 死 だ な ( 藁
馬鹿な質問かもしれないが DoJa3.0で504、FOMA系のiアプリ作れるのか? ごめん初心者質問でよ
>>375 DoJa3.0ってのが、
「iαppli Development Kit for DoJa-3.0」(iDK3.0)
のことだったら、
DoJa2.0の機能しか使わなければ、
それで作ったアプリもそのまま504で動きます。
ただ、iDK3.0はデフォルトで入っているdeviceが
全部QVGAなのでちょっと不便かもしれません。
iDK3.0のエミュで気づいたこと ・キー押しっぱでマウス動かしてもreleaseイベント発生しなくなった(´▽`) ・fillPolygon()が色漏れする(´Д`)
↑せんきゅー
a u に し な さ い !
Win98に DoJa-3.0をインストールできた人いる?
>>371 ですが、
>>372 ありがとうございました。
やはりDとSOだけエラーに流れてました。
普通に保存してるのですが、原因がわかりません。
それに保存できる場合と出来ない場合があります。
保存を分けて行ってもあまり意味がありませんでした。
対処法のわかる方、どなたかご教示お願いします。
>>381 うむす。とりあえずそのあたりのコードを見せてちょうだいな
文字列の保存は↓を呼び出して行ってます。 (今まではこれで成功) public void saveStr(String name,int scr){ try{ out = Connector.openDataOutputStream("scratchpad:///0;pos="+scr); out.writeUTF(name); out.close(); }catch(Exception e){} } 数↓ public void saveData(int point,int scr){ try{ out = Connector.openDataOutputStream("scratchpad:///0;pos="+scr); out.writeInt(point); out.close(); }catch(Exception e){} } あとは保存時に30ぐらいの項目を↑の2つを呼びでして保存しています。 int a;. .... saveData(a,1000); saveStr("あ",1100); .... やはりスクラッチパッドに接続しすぎが問題なのでしょうか。 4つに分割して保存しても効果はありませんでした…。
>>383 catch部分を、
catch(ConnectionException e){
System.out.println(e.toString() + ":" + e.getStatus());
} catch(Exception e){
System.out.println(e.toString());
}
みたいにして、なんのExceptionが出ているのか調べた??
NO_RESOURCE なら、フラグメンテーションが発生して
メモリが少なくなっているせいなので、
out.close();のうしろにSystem.gc();を入れるとなおるかもしれない。
RESOURCE_BUSY なら、複数のスレッドからsaveDataが同時に呼ばれてるからかもしれないので、
saveするメソッドを全部synchronizedにすればなおるかもしれない。
です。
>>384 なるほど。わかりました。
丁寧なレスありがとうございます。
参考にし修正してみます。
>>380 Win98(初期)でも正常に動いてます。
387 :
デフォルトの名無しさん :03/05/09 15:33
複数のアプリで情報の共有は可能でしょうか? 通常のアプリと待ちうけアプリの情報共有をやりたいのです。 サーバーで共有する形を取ると、通信費が掛かるので なるべく避けたいのです。 (^^; (メモが有るから、其処をアクセス出来れば嬉しいのですが) 利用機種は、P504i ご存知のかた居られましたら、教えてください。 m(__)m
>>387 無理です。両方を同じアプリにするしかないんじゃないでしょうか。
eclipseでiAppliを開発しようと、Doja3.0をインストールして、その後、 「Eclipse Module for iαppli」モジュール ソースコードを解凍して見ました。 とりあえず、eclipseのpluginフォルダーにつっこんだのですが、eclipseを起動して、pluginを設定しようとすると clssをload出来ないと怒られます。 もしや、このソースコードからコンパイルしてつかえという事なのでしょうか? しかし、どのソースコードをコンパイルしてjar化して良いのかさっぱり分かりません。 どなたか.おしえてくらはい
390 :
デフォルトの名無しさん :03/05/10 14:13
503iで動くブロック崩しを作ろうと思ったのですが、 どうしてもボールを移動させると、 移動前のボールがうまく消えず、 残像しながらボールが移動してしまいます。 synchronizedを使用したり、 updateを使用したり、 repaintを使用したりしたのですが、 なかなかうまくいきません。 何かよい方法がございませんでしょうか? ご教授お願いいたします。
>>389 ソースコードとは別に
iDKDoJa3.0にeclipseプラグインのバイナリが入っていたと思うんだけど。。
>>390 移動前のボールを消す処理はどうやってるの?
392 :
デフォルトの名無しさん :03/05/10 20:13
>>391 簡略して記述します。
ボールの大きさは幅4、高さ4です。
移動処理で座標を、4ずつずらして移動させています。
sleepは70ミリ秒です。
try{
while(true){
g.lock();
g.clearRectする。
g.setColorで色を設定。
g.fillRectで画面全体をWHITEで塗りつぶし。
g.setColorでボールの色を設定。
g.fillRectでボールを塗りつぶし。
g.unlock(true);
while (System.currentTimeMillis()<sleepTime+70L) Thread.yield();
sleepTime=System.currentTimeMillis();
ボール移動処理
}
}catch(Exception e){}
よろしくお願いします。
>>392 ボールの消去に関しては問題ないと思います。
ただ,現状として表示がうまくいってないとのことですので
次に怪しいのは
>g.fillRectで画面全体をWHITEで塗りつぶし。
この処理での指定範囲がうまく全画面になっていないの
ではないかという点です。これはどうやっていますか?
#でもたぶん合っているんだろうな。。。合ってたらお手上げ。
別の方法として,毎回全画面描画では無駄なので,前回
の玉の位置に白(今回の背景色)で描画する方法もあります。
Docomoがだしてるi絵文字ってソフトに同封されてる docomo.tteを配布しても大丈夫だと思いますか?
395 :
デフォルトの名無しさん :03/05/10 21:13
>>393 g.clearRect(0,0,getWidth(),getHeight());
実際にはコンストラクタで
getWidth(),getHeight()を呼んで、取得した値を変数に格納し、
g.fillRectで使用しています。
処理の途中で設定した変数の値は変えていません。
>別の方法として,毎回全画面描画では無駄なので,前回
>の玉の位置に白(今回の背景色)で描画する方法もあります。
なるほど、そういう方法もありますね。
気がつきませんでした。
ありがとうございます。早速試してみます。
IP 61.126.217.36 IP 61.126.217.36 IP 61.126.217.36 IP 61.126.217.36 IP 61.126.217.36
>>392 それで問題なさそうに見えるね…
あと疑うのは本当にsynchronizedできてなくて
複数のスレッドが起動しちゃってるとかかなぁ??
・ボールの残像ってのはどんな風に残るんですか?
・ボールは70msに4dotの速度でちゃんと動いてますか?
>>300 漏れもやってみたんだが、ぬるぽですた。
実は画像の取得はできないのではなかろうか?
でも画像の保存はできそうな気もする。
>>399 Doja3.0ですよね。
ちなみに使っているOSはWinMeです。
Winのファイル選択のダイアログが立ち上がって、
サンプル画像選択した後NULLが返ってきます。
・・・サンプル画像あるってことは読み取れるってことか。
なにか設定必要なんですか?AccessUserInfo以外に。
>>400 当方Win2kとWinXPで確認しています。
もしかするとNT系じゃないとIDが返らないとか?
DoJa3.0必須環境も2k/XPだし…
AccessUserInfo以外は特に設定なしのはず。
追記 MyPictureフォルダの中のファイル名は7文字以内(拡張子を除いて)じゃないとダメな予感。
403 :
デフォルトの名無しさん :03/05/11 21:08
>>397 >あと疑うのは本当にsynchronizedできてなくて
>複数のスレッドが起動しちゃってるとかかなぁ??
問題ないと思います。
>・ボールの残像ってのはどんな風に残るんですか?
以下のような感じです。
■←前回のボール
■←今回のボール
しかし以下の対応をすることにより少し目立たなくなりました。
・クラスの作成を控える。
・関数の呼び出しを控える。
・グローバル変数をローカル変数にできるだけ変更する。
>・ボールは70msに4dotの速度でちゃんと動いてますか?
動いてます。
さらにsleep時間を伸ばすとかなりマシになります。
多少の残像は目をつぶるしかないのかもしれませんね。
もしかして残像って、液晶の残像か!? そりゃ無茶だ。消せないよ
405 :
デフォルトの名無しさん :03/05/11 21:26
>>404 ガーン!
液晶の残像ですか!
それは頑張っても消えないですよね!
そんなオチだったとは。。。
いろいろありがとうございました。
>>399 遅レススマソ。
OSの問題とは思いませんでした。
もしそれが本当なら手立て無しですな。
ありがとうございました。
>>406 スペースや2バイト文字を含まないディレクトリにインストールすれば改善するかも…
408 :
デフォルトの名無しさん :03/05/12 13:33
ボールが残るのって、lock〜unlockやっているから
「ボールの大きさ」と「移動幅」の関係が合っていないのでは?
ボールがボールの上に上書きされるから、尻尾が付く感じになる。
移動幅をボールの大きさより大きくすると良い。
液晶って意外と反応遅いから、他の要素も描画したりキーイベントの
処理を行うとスレッド内部での処理が難しくなる。
ロジック上で排他処理を追加してみてはいかが?
例えば「イベント処理中は、描画スレッドの要求が来ても無視する」
とか、「カーネルを作って、きちんとしたイベント処理を作る」など。
>>393 にも挙げておられますが、前の場所を消して次の場所に描画
した後"repaint"を呼ぶと良いですよ。
使えるか試した事無いけど、Windowsアプリの描画手段として
仮想画面(パネル)を作って描画を掛ける手法もあります。
描画前に仮想画面に描画を行い、描画イベントで仮想画面の描画
を行うといった内容です。
スプライトが使えれば、頼れば良い。
使えないならば、排他的論理和(Xor)を用いて同じ場所に同じ物を
出すと消える。 同じ方法を移動先で使うと現れる。
(どこかのサンプル・アプリ「インベーダー・ゲーム」で使っていた)
409 :
デフォルトの名無しさん :03/05/12 23:31
>>408 405です。
非常に参考になります。
まだやれることがありますね。
もう少し頑張ります。
>>408 なんか私の感覚と全然違うなあ。
液晶とかCRTとかに関係なく、30〜100msくらいのインターバルで
小さいものを速く動かすと、残像が残ったように見えるよ。
反応の速い液晶とかCRTでは、
どっちかというと移動幅がボールの大きさより小さくなるようにしたほうが、
なめらかに見えると思う。
そうじゃないと二つの物体が動いてるように見える。
STNな機種だとどうかってのはまたよくわからないけど。
>>409 & 410
>>390 & 403のアップで、前のボールらしい物が残ると有ったのと
スレッドに対する負担軽減で多少解消したとのアップから
>>408 の様なアップをしました。
流体を表示したり、ボールが跳ねるみたいな描画ならば
移動幅が小さい方が滑らかに見えるかと思います。
けれど、作成目的が”ブロック崩し”との事なのでボールに
前のボールのかけらが残っていてはいけないと考えました。
導入当初、入門書を見ながら100ms周期でキーステータスの
監視を行い描画を更新する物を動かした位だし
今は、パッケージつくりしかやってないからなぁ・・・
前のボールが重なって残ったように見えるのと、 前のボールが分離して二つに見えちゃうのとどっちがいいかですよね。 そのへんがどっちがいいかの議論になるともう個人の好みなんでしょう。 私が前者のほうが好きなだけですね…多分。
413 :
デフォルトの名無しさん :03/05/14 06:46
おまいら個人で開発してるのか?
>>412 確かに、この辺の表現に対する議論は
”経験してきた過程”で答えが違ってくるでしょうね。
別のデバイスで”ブロック崩し”みたいな物作った事あるけど
衝突判定で以外と喰われるので、この時だけ描画スキップした事も有る。
表示で使われる液晶の精度(dpiみたいなもの)が細かければ
こんな議論は解消されるのでしょうけど。
>>413 面白いよ。
今、平方根の23が算出出来なくて”フサギッ子” (w
液晶の精度じゃなくて応答速度でしょう。 こんなのはどのみち上がっていくだろうから気にしないでいいと思いますが。 将来有機ELになったらμ秒オーダーになるし。
だいたい、ゲームボーイとかノートPCとかでも 平気で毎秒60フレームのゲーム遊んだりしてるんだから。 少々残像が見えようがユーザは液晶はそういうものだと分かってるから問題なし。
417 :
デフォルトの名無しさん :03/05/14 22:15
>>415 応答速度がいくら速くなっても
モーションブラーかけずに物体をそこそこ速く動かしたら
人間の目には分身がかって見えます。
これはたぶん避けられないです。
今回の件はこれじゃないのか?
そうじゃなかったら70msで二つ見えるなんてありえないぞ。
それともSTNでやってたのかな?
>>417 それは確かに。今んとこゲームの映像はたいていシャッタースピード1/∞の
ビデオカメラで撮ったときはありえない映像だからね。
その意味ではゲーセンのゲームとかでも分身が見えてる。
(シューティングの弾とか、3D格ゲーの激しいモーションとかで確認できる)
まあ、たぶん単なる「気にしすぎ」なんじゃないかと思いますよ。今回の話は。
赤外線で文字列は送れるのですが、 変数intを直接送ることは出来ないのでしょうか?
421 :
デフォルトの名無しさん :03/05/15 02:55
>419 今見てみたら今公開されてるDevKit(v1.02)にはバイナリ入ってないんだね。 恐らくドコモはもう同梱する気が無いんだろう。 ソース公開は、前バージョン(1.01)でライセンス騒ぎがあった事に対する対処ってことなんでしょう。 でもソースをコンパイルするだけで動くんじゃない? フォルダ構成は全く同じだったよ。 その前に誰かEclipse2.1でも動くように改造キボンヌ
422 :
デフォルトの名無しさん :03/05/17 03:01
DoCoMo505ではアドレス帳への読み書きが出来るAPIが用意されてるけど、これってベンダ専用?? 普通に使えるんですかい???
>配信することは出来ません。 ってあったけどどうやってベンダかどうか判断するんだろ ライブラリは提供されているみたいなので。 当方505を買う予定は無いので確認できませんが。
425 :
デフォルトの名無しさん :03/05/18 03:16
>>422 書き込みは一般アプリで可能。
読み込みはベンダ専用。
>>424 アプリに何桁かのIDを設定するらしい。
J-PHONEのJAVAアプリは確か*認証*を通さないと実行できないと聞いたのですが、 iアプリは作ったら即SDカードなりに移して実行可能なのでしょうか? なにか規制などあったら教えてほしいです。
427 :
デフォルトの名無しさん :03/05/20 16:47
iアプリって結局ゲームだけだし。 房臭い。
>>427 うちでは出納帳のアプリが大活躍してますが…
なんか定期的に来るよな、こういうの。
すまん、急いでたんでついつい聞くのが早いとかおもちゃた。 調べてみると、詳しくは・・・ J-PHONE・・・ コンテンツアグリゲータ(J-PHONE許可ポータルサイト)にアップロードすれば パケット対応機であればダウンロード可 DOCOMO・・・ どこにアップしても可 これでいいかな?
マイナーな存在のD505i
1万4000台も売れてるのにマイナーか?
それは初日の販売台数だな。 14000台という数字は、ケータイの世界ではどうでもいいような数字だ。 なにせ年に4000万台(2002年度実績)も売れてるんだから。
iアプリでMP3の再生って無理かな APIリファレンス見てもMIDI再生しかできないっぽいけど
436 :
デフォルトの名無しさん :03/05/26 15:04
D505i向けにアプリ作ろうと思っていろいろと研究してるんだけど、 フォントサイズはどうしたもんかね・・・。 デフォルトの12×12は小さすぎるし、SIZE_LARGEにしたら大きすぎる。 その間はないのか!
437 :
bloom :03/05/26 15:11
438 :
デフォルトの名無しさん :03/05/26 22:22
505iで盛り上がってるとこ、すいません。 .jarファイルを解凍すると、"Folder setting"というフォルダ ができてますた。何故自動的に作成されるのでしょう? OS:Windows2000 開発ソフト:iαppliTool(Doja2.0)
>>352 > SunOneStudio4でi アプリ作れるようになったのですが今度は
> 通常のjavaのコンパイルが出来なくなった…
> iアプリモジュールを無効にすればいいのは分かっているけど
> その遣り方が分からない…どなたか助けてください
「ツール|オプション」でオプションを開いて
「編集 > Javaソース」を選択すると「デフォルトのコンパイラ」が選べる
これを「内部」とかにすればよいはず。
>>435 メロディデータにADPCMを埋めこむ方法がわかれば、
リアルタイム再生じゃなくて最初に計算してから再生することは、
ちょっとくらいはできるかもしれません。
でも速度的な問題で実用的なものを作るのは無理だと思います。
>>436 SIZE_SMALLとかSIZE_MEDIUMとかはないの?
>>436 >>440 デフォのTINYと、MEDIUM以外はサイズが機種異存だからねぇ
TINYの12*12か、MEDIUMの24*24しか実質使えないと思って問題ないんじゃないだろうか
∧_∧ ピュ.ー ( ^^ ) <これからも僕を応援して下さいね(^^)。 =〔~∪ ̄ ̄〕 = ◎――◎ 山崎渉
443 :
オhル艦長 :03/05/28 20:09
緊急浮上
444 :
デフォルトの名無しさん :03/05/30 13:12
D505iで、 com.nttdocomo.system.ImageStore を使ってマイピクチャ内の画像を引っ張り出してこようとしてるんだけど、 try { is.selectEntry(); } catch(InterruptedOperationException ie){ } MediaImage mi; mi = is.getImage(); try { mi.use(); } catch (ConnectionException ce) { } img[0] = mi.getImage(); ・・・で、NullPointerExceptionになってしまう・・・。 なぜでしょう?
445 :
動画直リン :03/05/30 13:13
446 :
デフォルトの名無しさん :03/05/31 00:48
iアプリでAAを使ったゲームをつくりたいんですけど、iアプリでは等幅のフォントしかないのでしょうか?
>>447-448 レスありがとうございます
AAでつくれれば容量節約できていいかなと思ったんですけどね・・・
画像でもつことにします
450 :
デフォルトの名無しさん :03/05/31 14:54
アプリにつかうGIF画像なんですけど、パレットの編集がしっかりできるソフトないでしょうか フリーのD-Pixed、EdgeはGIF対応やめてしまってますし、 フォトショップだとパレット操作がいまいちうまくいきません 色違いImageを作成するときなどにパレットは重要なんですが… なにか良いソフトありませんでしょうか。 多少高いソフトでもアカデミックパックがあれば買えます
フォントは機種依存なのか
長文すいません。質問なのですが、 マップ上を移動するRPGを制作したのですが D・SOでマップの移動中エラーが起き、 アプリが終了するという現象が起こりました。 for文で描いているマップ移動中に、 ある一定の確率で敵の情報を読み込み 敵を出現するようにしています。 敵が弱い(敵の能力値が低い)場合はエラーがほぼ無いのですが 強い敵が出始めるとエラーが起きるようです。 他の機種では正常に動作しています。 ここ3週間色々な方法で試してみたのですが、どうしても解消できません。 何か心当たりがあればご教示お願いいたします。
>>450 そのままフォトショップを使うスキルをあげた方がマシ
454 :
デフォルトの名無しさん :03/05/31 17:30
>>453 フォトショでGIFを作成すると、どうしてもパレットの順番が自動的に
(なんらかの法則にしたがって)整列されてしまうのです
パレット番号と色の整合性を保ったままGIFで書き出せるのでしょうか?
>>450 Edgeで保存したあと、IrfanViewでGIFに変換するのは?
>>452 メモリ不足で落ちてるんじゃないかと思う。
まずどういうエラーで落ちているのかを表示するようにして、
それから、Graphicsを使ったあとはちゃんとdisposeしているか、
敵のGIFを出現時に生成しているなら、そのMediaImageやImageをちゃんと
disposeしているかどうか等をちゃんとチェックしましょう。。
ちゃんと解放されているのにメモリ不足になるなら、
それはメモリフラグメンテーションなので、
敵が出現してImageが不要になった瞬間にSystem.gc()をやったりして
メモリを綺麗に保つようにしたりいろいろやってみてください。
>>456 わかりました。やってみます。
ありがとうございました。
たびたび質問してすいません。 初歩的な質問で恥ずかしいのですが、例外を拾う場合は try{ エラーが起こってると思われる処理 }catch(UIException e){ エラーがでた時の処理 }catch(Exception e){ エラーが出た時の処理 } で、大丈夫でしょうか? 上記でやった場合でもエラーし、拾えず、強制終了してしまいました。 ご教示お願いいたします。
新機種出るたびに画面領域とかどうやって調べてますか? 細かい仕様の差より、画面領域の方が気になるんだよね。。。
>>459 getWidth()とgetHeight()でいいと思うけど・・
462 :
デフォルトの名無しさん :03/06/05 20:02
どなたかiボードのプロトコル仕様あるところ知りませんか?
不具合が出てもソフト書き換えだけで対応できるとは、やるなソニー。
>>464 ハード不具合(発熱とか)以外の,ソフトのバグだったらどこのでも
書き換えできるでしょ。自分の関わっているのも当然できる。
毎回ハード交換だったらテストの時とかにバージョンアップできないでしょ。
筐体ごと取り替えるのは印象がいいからじゃない?
(回収した端末できれいなものは他の人にいってたりしない?)
>>465 ファーム書き換えはドコモの場合505iで初めて対応らしい。
> 筐体ごと取り替えるのは印象がいいからじゃない? 移行できないデータ(DLしたアプリ、画面メモ、着信メロディ)もあるだろあから 全然良くなかったり。
468 :
デフォルトの名無しさん :03/06/07 18:27
iアプリ携帯自体バグだらけ ドコモ市ね いつまで黙って通すつもりだ いいかげんに何だかどこが違うのかわからん新商品出すのやめろ バグだらけのIアプリつけるのもやめろや
>>458 ErrorはExceptionではないので、最後のcatchは
} catch (Throwable t) {
...
}
で。
ただ、OutOfMemoryErrorが出たときは
その「エラーが出た時の処理」をやっているときに再び
OutOfMemoryになることも多いので、これでもだめかもしれないです。
ドコモも糞だが、 他キャリアはもっと糞だという罠。
ま、そういう話は板違いということで。
472 :
デフォルトの名無しさん :03/06/12 19:30
N503i/N504iでダウンロード済みのAppNameを変更すると バージョンアップしたときに反映されますけど、 他の機種でもちゃんと変わりますか? いや、単なる疑心暗鬼的な疑問なんですが。 俺がもしこういうの実装するとしたら、思わず変わらないようにしてしまいそうで。 (そんなマヌケな話はないか……)
トラステッドiアプリの作り方解析した神いないの?
そもそも解析できない場所(ドコモのサーバ)ではじいてるだろうし。
476 :
デフォルトの名無しさん :03/06/13 16:08
容量削減のためJava用のプリプロセッサ(
http://www.and.or.jp/~pamulow/ppp/ppp.html )
を使って、変数名、メソッド名を短くしたり、定数を埋め込む(?)ようにしてるのですが、
Doja2.0以上でうまく開発環境と連携するにはどうしたらいいでしょうか?
今は、xyzzyの「コンソールプログラムの実行」からプリプロセッサを起動して、Alt+Tabで
dojaにして「ビルド]としています。
Doja1.0時代のころであればi-Jadeなどでコンソールからビルドできるらしいので、シェル
スクリプトなんかで一発でビルドできるっぽいのですが…。
希望としてはForteやエディタなどから一発でビルドできて、エミュレータ上での起動も
簡単にできたらいいな、と思ってます。どなたか教えてください。
それとも、プリプロセッサを使用せずにJavaBlender(
http://www.vector.co.jp/soft/win95/prog/se207296.html )
を使って、定数などはfinalでやるのが普通だったりするんでしょうか?
>>474 トラステッドIDをもらった会社だけが資料を手に入れられる
だから情報はでてこないだろう
>>477 >>474 は
>>425 が言うところのIDの生成式(普通は手に入れられない仕様)
を解析して把握した人「=神」はいないかとのことと思われ。
(ライブラリは提供されるので作成(&ローカルでの実行)は誰でも可能)
>・iアプリダウンロード元以外のサーバとの通信
505iを買う気はないがこれができるのは少し魅力が有るが。
>>478 と書いた後,仕様書を確認したところ
>・本書では,トラステッドiアプリに関する詳細は記載しません。
と書かれていた。
テストまでは出来て配布だけができないという情報はガセだったか。。。
>>478-479 ついでに言うと、他鯖へのコネクトもドコモの承認が必要
一般人はできません
>>480 書き方まずかったです。失礼。
ついでにいわれなくても
>>478 で引用記号(>)をつけてるところは
トラステッドiアプリで出来る項目の記述からの引用なので承知してます。
(後付っぽいけど引用がDoCoMoのHPのQ&Aと一字一句同じだから分かるよね。)
その機能だけ魅力有るので使いたい(一般にも使わせてほしい)
ので「神」が現れてほしいという意味で書きました。
このレスも意味不明だったらスルーしてください。
蛇足ながら477以外の方へ >トラステッドiアプリでは、通常のiアプリで禁じられている以下のような機能を実現することができます。 >・ 携帯電話本体に登録されたデータ(電話帳、発着信履歴等)との連携 >・ iアプリダウンロード元以外のサーバとの通信 >・ iモードメールとの連携 >なお、iモードメニューに掲載されていないコンテンツ提供者は、トラステッドiアプリ(iアプリDX)機能を >利用したiアプリコンテンツを配信することは出来ません。
(;´д`)いやね、だからね、あれらの機能はガイド見ればわかるだろうけど ドコモの鯖に一旦アクセスしてるのよ そんでIPとIDを突き合わせて、OKだったら機能するようになってるの どんな神がIDを晒したとしても、(あなたの鯖の)IPがドコモのDBに登録されてないので無理。100%無理
仕組みを考えれば、何をどう解析したところでなんとかなるわけないよなあ。
>>441 私もフォントサイズで悩んでいます。
>デフォのTINYと、MEDIUM以外はサイズが機種異存だからねぇ
>TINYの12*12か、MEDIUMの24*24しか実質使えないと思って問題ないんじゃないだろうか
上記の2種類は機種が変わっても固定なのでしょうか?
ドキュメントによればそうらしい。
質問です。 g.fillPolygon(new int[] { 0, 0, 5 }, new int[] { 0, 10, 5 }, 3); とすると、(0,10),(0,10),(5,5)を頂点とする二等辺三角形が描かれるはずなんですが、 DoJa3.0だと右側の頂点から右に向かって長い直線も描かれてしまいます。 何故なんでしょうか。
スマソ 誤: >>(0,10),(0,10),(5,5)を頂点とする 正: >>(0,0),(0,10),(5,5)を頂点とする
>>487 んーfillPolygonは私自体は使ったことないけど、同僚が
「エミュのfillPolygonバグってるよ!」
と叫んでいた
参考程度にどうぞ
>>489 ありがとう。3.0のバグっぽいですね。
3点の座標をいろいろ変えてみても同じでした。
同じコードをDoJa1.0とDoJa2.0で実行してみるときちんと描かれました。
So505を買った。 プリインストールアプリのポストペットが快適だったので、 自作のメーラを作ろうと思った。 クラスリファレンス読みながらサンプルコードを書いてみたが動作しない。 ドコモサイト見ると >トラステッドiアプリでは、通常のiアプリで禁じられている以下のような機能を実現することができます。 >・ 携帯電話本体に登録されたデータ(電話帳、発着信履歴等)との連携 >・ iアプリダウンロード元以外のサーバとの通信 >・ iモードメールとの連携 >なお、iモードメニューに掲載されていないコンテンツ提供者は、トラステッドiアプリ(iアプリDX)機能を利用したiアプリコンテンツを配信することは出来ません。 ・・・の表記が・・・。 ウワァァァン。
ちなみにエミュで実行したときのエラーは、"Permission Denied" 端末側ではセキュリティ設定がなんたらと言われた。 端末からアプリの属性見ても電話帳等へのアクセス属性が「不可」にされていた。 コンテンツプロバイダの配信するDXアプリのバイナリが手に入れば どうにかしようもありそうだが。
それってバイナリファイルでなんとかなるのかな? 従来機の様にダウンロード元を区別しているような気がしなくも無い。
>>476 返事遅くてゴメン
javac -bootclasspath /iDKDoJa3.0/lib/doja_classes.zip;/iDKDoJa3.0/lib/classes.zip *.java
みたいな答えでいいの?
コマンドラインからエミュでアプリを実行するってのはできないけどビルドならできる。
495 :
デフォルトの名無しさん :03/06/22 20:59
質問なんですけど、PanelとCanvasって一つのアプリで一つずつしか使えないんですか?
>>494 いや、エミュレータでアプリを実行するのもコマンドラインから
できるよ。ドコモが配布しているドキュメントにやり方かいてある。
498 :
デフォルトの名無しさん :03/06/24 01:15
>>494 >>496 ありがとうございました。
エミュの実行のほうも、確かにドキュメントのほうに書いてありました。
「>doja -i ADFファイル」でいけるらしいです。
iアプリでSDカード等の外部メモリにアクセスって可能ですか? どうしてもtxtファイル読みたくて。(/Д`)
thx ・゚・(ノД`)・゚・。
>>498 横須賀市光の丘の郵便番号が間違ってるので
住所を手入力させるようなアプリなんじゃないかなー
入力しちゃう内部の人も相当お茶目だが
画像を使わないアプリを作っているのですが、 リソース不足でエラーしてしまいます。 リソースの確保の為にはどのようなことを心がければよいのでしょうか? System.gc()をpaint中に入れたりしたのですが いまいち効果がありません。 catchで拾ってみると2:NO_RESOURCEが出ます。 ご教示お願いいたします。
>>504 勘違いだったら御免なさい。 m(__)m
動的領域にデカく取っている事はないですか?
後は実機に載せて出るならば、沢山アプリを実装しているとか。
506 :
デフォルトの名無しさん :03/06/29 00:01
ネットから画像を読み込んでスクラッチパッドに書き込みたいのですが、 エミュレーターだとできるのに実機で試すと接続されないんですけど、どうしてですか?
>>506 データはちゃんと同じサーバー上に存在するかな?
iアプリでは、セキュリティのためにJamJarと違うサーバー上のデータは落とせないんだよ
Doja-3.0ではGIFなどのイメージはresディレクトリに入れるとありますが、 Sun ONE StudioでGIFなどのイメージはjavaファイルと同じディレクトリに入れても、 MediaImage Test = MediaManager.getImage("resource:///test.gif"); Test.use(); として読み込めないのですが・・・、 ディレクトリを作って置くとか? GIFファイルを登録するなどの操作が必要なのでしょうか? 解決策ご存知の方お教えください。 よろしくお願いいたします。
>>508 JarファイルをZip書庫として解凍して、GIFファイルがどこに入ってるか確認。
510 :
デフォルトの名無しさん :03/06/29 14:28
このソースで、エミュレーターだとうまくいくんですが、実機だと画像がダウンロードされません。 画像はjarと同じサーバーにあるんですけど。 import java.io.*; import java.util.*; import javax.microedition.io.*; import com.nttdocomo.io.*; import com.nttdocomo.ui.*; import com.nttdocomo.util.*; //----------------------- MainClass -------------------------------- public class java04 extends MApplication { public static BCanvas bc; public static int JPG_SIZE = 9792; int [] buff = new int[java04.JPG_SIZE]; public void start() { bc = new BCanvas(this); try { HttpConnection htcon = (HttpConnection)Connector.open( "画像のアドレス", Connector.READ, true ); htcon.setRequestMethod(HttpConnection.GET); htcon.setRequestProperty("Content-Type","image/jpg"); htcon.connect(); InputStream in = htcon.openInputStream(); if(in != null) { for( int i = 0 ; i < java04.JPG_SIZE; i++ ) { buff[i] = in.read();}} in.close(); htcon.close(); OutputStream out = Connector.openOutputStream("scratchpad:///0;pos=0"); for( int i = 0 ; i < java04.JPG_SIZE; i++ ) { out.write( buff[i] );} out.close();} catch(Exception e) {} Display.setCurrent(bc);}}
511 :
デフォルトの名無しさん :03/06/29 18:26
>510 自己レスですが、友達のSO504iだと動きました。 でも俺のD505iだと動きません。何が原因だと思いますか?教えてください。
>>511 Dの画像サイズ制限は相当きついぞ
公式に機種ごとの注意事項がPDFでUPされてる。見るよろし
たしか132*144とかまでじゃなかったっけ
514 :
デフォルトの名無しさん :03/06/29 21:00
>513 ありがとうございます。ちょっと調べてみます。
ちょっと待て、D「505」!? 505の制限はそんなきつくないです(;´д`) しかも画像ロードしてるわけじゃないのね。検討違いレスうってしまいました・・・
516 :
デフォルトの名無しさん :03/06/29 22:10
>515 調べたけど、わかりませんでした・・・
とりあえず、どこで落ちるのかtraceしてごらんin実機 System.out.print();で出力しておいて、あとから「トレース情報」で見られる そのためにはjamファイルのtraceApp(だっけ?)にonと書いておくこと
>>510 > htcon.setRequestProperty("Content-Type","image/jpg");
GETのときにクライアント側からContent-Typeを指定するなんて変なので、
多分これが原因のような気がするんだけど、
これを外してやってみたらどうなりますか?
ソース引っ張り出してきたよ もうメソッド化してるから、いちいち覚えてないんだよねw connection = (HttpConnection)(Connector.open(DLDATA_URL + "data.dat", Connector.READ)); connection.setRequestMethod(HttpConnection.GET); connection.connect(); in = connection.openDataInputStream(); haruka氏の言う通り、リクエストプロパティの設定とかは蛇足だね
>>519 これ、俺も悩んだことがある。P50xi でも例外が出て困った〜。
間違えた。
>>518 でした。
ちなみにこれのせいでパケ代 200 円ほど無駄にしてしまった。(w
522 :
デフォルトの名無しさん :03/06/30 09:06
504用iアプリを作っているのですが、504なら全ての機種がJPEG読み込み対応してますでしょうか? jpegが一般単語すぎてうまく検索できなかったので、ここで質問させていただきました 知っていらっしゃるかた、よろしくお願いします
>>522 です
すいません公式を最初から全部洗っていったら発見できました
対応しているようです
>>510 オプショナルキーは、「AppTrace」。 "on"にする事で機能する。
Catchされない異常終了が発生した時点で停止。
正常終了した場合も、直前に標準に出された情報を512Byteまで
表示するらしい。 java.lang.Throwable.printStackTrace()の
結果は保持されないらしい。
(2.0より抜き出し)
本気で問題解析したいなら、大きな処理内容毎にtry〜Catchを使う事。
一番簡単なのが、インタープリタ系言語でよく使われる
処理の途中で終了宣言(”terminate()”等)を挿入して
「何処まで行ったか。 何が原因か。」を確認する事。
ダウンロードに経費が掛かるけど、直したいなら覚悟が必要。
(待ちうけアプリは又別の話・・・)
525 :
デフォルトの名無しさん :03/06/30 21:36
>518 > htcon.setRequestProperty("Content-Type","image/jpg"); これ外したらできました!みなさんありがとうございました。
526 :
デフォルトの名無しさん :03/07/01 14:29
ユーザインタフェース機能仕様書ってどこにあるんですか?
527 :
デフォルトの名無しさん :03/07/02 16:00
質問させていただきます setColorメソッドで文字色などが設定できるわけですが、 現在何色が設定されているかを取得する方法はないでしょうか
528 :
デフォルトの名無しさん :03/07/02 18:12
529 :
デフォルトの名無しさん :03/07/02 18:30
ぼくもエラーになりますた。 1.4.2めっけ。
v1.3.1が欲しいんだけど・・・ Doja2.0 SDKが対応しているのはv1.3.1とのことですが、 v1.4.xでも問題ありませんか?
531 :
デフォルトの名無しさん :03/07/02 18:56
1.4.2もエラーなる。
結局、全部のSDKがエラーってこと?
ダウンできるようになったようです.
待ち受けiアプリを作っているのですが、電話がかかってきた時画面に 「電話電話!」とキャラを躍らせたいと思っています メール状況を取得することはできたのですが、電話がかかってきたのを取得する方法はありますでしょうか?
535 :
デフォルトの名無しさん :03/07/03 11:59
534です ageそびれました どなたか分かりましたらよろしくお願いいたします
536 :
デフォルトの名無しさん :03/07/03 15:00
これから携帯アプリに手を出そうと考えているのですが、わざわざサイトを作らなくても、自作のアプリを公開する方法はあるのでしょうか?
539 :
デフォルトの名無しさん :03/07/03 22:44
Docomoのサイトでは「Jave2 SDK, Standard EditionVersion 1.3.1以外の動作確認はしておりません。」 とありますが、Doja2.0でのiアプリ開発でJDK1.4とかで作っても大丈夫なんですかね? もしくはJDK1.4で作ってる方っていらっしゃいますか?
540 :
デフォルトの名無しさん :03/07/03 22:47
>>534 127ページによれば、無条件でiアプリが中断するんじゃないか?
>>534 待ち受けアプリがサスペンド(中断)する条件に
”音声着信を受けた時”と明記されている。
(2.0 P111)
又、中断再開を通常のアプリと合わせる為に
resumeを使っている。
通話する為の道具だから、アプリを強制停止するのは
当たり前の話。 メールは”オマケ”だし、頭(チップ)
を余り使わないので、中断させないみたい。
音声パケットが扱えるならば、センターの対応で実現は
するのかも。 ただ、メモリが・・・
ありがとうございました 電話は相手の電話番号を表示する画面に飛んでしまいますね・・・
544 :
デフォルトの名無しさん :03/07/05 04:53
ギガアプリとかのサイトって実際に登録されるまでにどれぐらいかかん の?板違いだったらスマソ!!
あのNの性能本当かね? 他ですいすい動いてるアプリ達が、Nで不具合だしまくってるんだが 対応めんどくせー(;´д`) 勘弁してよクライアント…
N505の時間解像度どうなの??
おう、ちょうと私もそれを尋ねようと来たところ。
SH505iで長文を読む妄想を繰り広げてるんですが。 GIF画像にtxtファイル埋め込み ↓ SDカードにブチ込む ↓ 本体にコピー ↓ iアプリから偽装GIF画像参照 ↓ iアプリ内で偽装解除&スクラッチパッドに保存(゚д゚)ウマー 問題は「iアプリの範囲で画像ファイルに埋め込まれたtxtファイル抽出を行えるか」って所です。 可能か不可能か教えてくれませんでしょうか? お願いします。
550 :
デフォルトの名無しさん :03/07/06 18:59
JPEGならできたよ。
マジですかΣ(´-`) どうもです。 でもJPEGだとSD→本体のコピー時に妙な圧縮(?)がかかるので心配。(SH505i) コツコツ研究します。
>>544 漏れのときは月曜に申請して火曜に公開されたよ
ギガアプリね
>>546 ベンチマークの性能がいい==アプリが作りやすい
というわけじゃないってだけじゃないかなぁ。
APIの実装がどれだけアプリ製作者のことを考えてつくられてるか
ってところで決まるような気がする。
☆ チン マチクタビレタ〜 マチクタビレタ〜 ☆ チン 〃 Λ_Λ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ヽ ___\(\・∀・) < N505iの時間解像度まだ〜? \_/⊂ ⊂_ ) \_____________ / ̄ ̄ ̄ ̄ ̄ ̄ /| | ̄ ̄ ̄ ̄ ̄ ̄ ̄| | | 愛媛みかん |/
一時期、QC実装が誇大広告で載っていたみたいだったけど あれはどうなったの?? リソースの入れ替え位は十分に使えるのに・・・ 運用出来る”表示の精度”だよって意味だったのかな?
QCとはなんだ?
品質管理しか思いつかんが。 わけのわからん略語をいきなり使うヤツは嫌いだ。
10ミリ秒ですな、時間解像度 販売中の実機がなくて、少し古いテスト用だが、性能DOWNさせることはあるまいて
ああ、N505の話ね だがテスト機。死ぬほど動作おせええええ!!
超絶おせーーー! と思ったら、俺ベンチマークプログラムだと超絶はええええ!! なんだこの機種!? ベンチのほうは同じ座標、同じ場所に、同じ絵を描きつづけるから 処理さぼってるのか・・・?? N505もってる人適当なゲームやってレポきぼんぬ
10msか。やれやれ、とりあえずiアプリ界最大のガンが改善されたか。 正直まだ不満だが。1msをDoJaの仕様レベルで義務付けて欲しい。
562 :
デフォルトの名無しさん :03/07/07 18:43
現時点で1msの機種ってあるの?
10msカー。 100msよりはるかにイイジャン!
iアプリ最大の癌改善バンザイ!
今バイトでiアプリ作ってるんだけど、先方からD505iで動かないという報告を受けた。
なんでなんだよ三菱ぃ…
>>562 P504i(S) は1msだったよ。
四角いバーコード(”QT”だったのかな・・・)。 四隅に小さい四角が有る奴。 カメラの画像で取り込み、デコードして格納する。 アドレス等が長かったり、公開したくない場合に使う 宣伝文句が有ったと覚えている。
あー、Nついてるよ まともに動作せられなかったけど、テスト機じゃ
567 :
デフォルトの名無しさん :03/07/08 15:31
i-appliもjavaも初心者ですが 音声関係のちょっと質問させてくらはい キー操作と同期していろんな音を鳴らすアプリを制作中なのですが N504ではきれいな再生が出来ているのにP504では 音がとぎれとぎれになってしまいます。 ちなみにmidi系のMLDじゃなくてWave系のMLDデータを使用しています。 まず初期化段階でMediaSoundを複数取得してuse()し 実際の再生前にAudioPresenterにsetSound()させ play()させているとします。 AudioPresenterが再生中の場合setSoundすると例外が発生するので stop()やMediaSoundをunuse()してからsetSound()させていました。 その場合、N504ならうまく再生できますが P504の場合再生中の音の後ろ20msがとぎれてしまいました。 あれこれ考えてstop()やMediaSoundをunuse()せずに AudioPresenterを2つ交互にsetSound()させplay()をかけると とぎれのない再生が出来出来る事を発見 再生中と同じMediaSoundをsetSound()すると例外が発生するので 同じ場合はそのままplay()させることにしました。 ところが、再生中と同じMediaSoundをそのままplay()させると stop()をかけたときと同じように約20ms後ろがとぎれてしまいました。 この現象を回避された方いらっしゃいませんか? もう漏れには限界です。
何を言いたいのかよくわからんが、 とりあえず ・Wav系のMLDは、対象機種専用でつくらないとマズー ・Pは連続で音を鳴らすと落ちる。最低10m秒だっけ?の間隔はあけるべし あと、setSoundてそんなに頻繁に呼ばないで、ロードしたときに1度だけ呼ぶものだと思うぞ AudioPresenterとかはロードしたMLDの数分配列で持つべし ちなみにPは最大2音まで鳴るぞ 参考になったかな?
>>565 QRコードやね。くら寿司っていう100円回転寿司チェーンで品質管理に
採用されているから個人的に「くらコード」と読んで覚えてる。
>>568 すまそん・・・ちょっと人語障害気味なもんで
>>・Wav系のMLDは、対象機種専用でつくらないとマズー
>>・Pは連続で音を鳴らすと落ちる。最低10m秒だっけ?の間隔はあけるべし
は対策済みっす。
それで、わかりやすく図であらわすと一つのAudioPresenterを
play() (本来なら1.350secの再生時間として)
|-----------------|
play() (0.800ms後に再生)
|-----------------|
のように再生途中で同じ音をstop()無しでさらに再生させるとなぜか、
play() (0.720secの時点で音声がとぎれる)
|-------|
play() (0.800ms後に再生開始)
|-----------------|
| |
約20msの無音が出来る
別のMediaSoundをセットしたAudioPresenterを後からplay()しても
上のような現象はないのです
wave系のMLDでも2音が鳴るなら全然問題なさそうでふね。
AudioPresenterはヒープメモリーいっぱい食うと思ってたので
いちいち切り替えてました。全く無駄でしたね。
ありがとうござりまする。
分かり易い書き込みだ その間隔はしょうがない テープを撒き戻してる時間と思いねぇ AudioPresenterとかは、loadした段階でメモリーを確保する setしようがしまいがメモリー量には関係ないね setってのは、ロードしたものがどこにあるのかアドレスを登録するだけだから メモリーケチるなら、鳴らす直前にロードするしかないけど、現実的じゃないよね? あとJAVAの基本だが、AudioPresenterとか配列とっても、 これはアドレスポインタ(クラス作った時に、メモリーのどこに作ったかをメモしておく領域)だ。 だから32bit。4バイトしかメモリー食わない p = new AudioPresenter(); として初めてメモリーを食う
>>571 568さん(TдT) アリガトウ
なるほど、巻き戻し時間でふか、すごく納得しますた。
実際チップがどんな動作をしているのかわからないけど
それなら、2音同時再生設定してもうまくいくかどうか疑問ですね。
むしろ、同じMldのMediaSoundをGetSoundで2つ作って
AudioPresenterにセットした方がいいのか・・?
それで、ついでに質問
AudioPresenteの容量はポインターと同じと言うことがわかりましたが、
MediaSoundオブジェクトはNewして、GetSoundすると
Mld分のメモリを消費するのでしょうか。
現在のメモリ消費量がわからなくて困ってますん。
N504で開発してるから動けば他機種でも動きそうですが・・・
m_MediaSound[ID] = MediaManager.getSound("scratchpad:///0;pos=" + ScrAddress); m_MediaSound[ID].use(); m_AudioPresenter[ID] = AudioPresenter.getAudioPresenter(); m_AudioPresenter[ID].setSound(m_MediaSound[ID]); 私のソースね MediaManager.getSoundで、メモリーにMLDをロード。そのアドレスをMediaSoundに教える MediaSoundはそのMLDを使用すると宣言 略 AudioPresenterに管理したいMediaSoundのアドレスを教える 最初の一行目でメモリー消費するだろうね
ちなみにメモリー残量を表示するのは Runtime.getRuntime().freeMemory() かな ここで注意するのは System.out.println(Runtime.getRuntime().freeMemory()); とすると、Systemオブジェクトの展開で食うメモリーを考慮できない(3Kくらい) System.out.println(""); System.out.println(Runtime.getRuntime().freeMemory()); これがいいね。最終的にSystem〜ははずすからどーでもいいといえば、どうでもいいけど 解放した時に「3K解放しきれてないぞ!?」とはまる人がいるので注意でした
>>573 568様、何とか解決できそうです。
やっぱり、予想通りMediaSound.getSoundでメモリを食うと・・・
でも二重でMediaSoundをgetしても何とかヒープメモリ内に収まりそうです。
あとメモリ容量の取得も大体がわかればいいので
それで十分でし
まじでありがとうごじますた!(´Д⊂グスン
576 :
デフォルトの名無しさん :03/07/10 15:56
iアプリでHTTPを吐く際に、User-AgentとかRefererを変更することは できる?
それをしてどうしようっての?
578 :
デフォルトの名無しさん :03/07/10 21:10
もしかしてiアプリDXって一般の人は使えないのかね?
yes
大胆にもメソッドを作ってしまい、 複数の値を返したいばやい 引数は参照渡しにすると思うんだけど、 どうやって渡す?やっぱ配列かな?
581 :
デフォルトの名無しさん :03/07/11 08:42
質問がございます。 ImageStoreで画像を読み込み、画像処理し、保存するという処理を行いたいのですが、 画像を読み込んだ後が分かりません。 実際にピクセルを操作するにはどうすればよいのでしょうか? そしてその画像を保存する方法もご教授お願いいたします。
>>580 配列だろう。Stringに直して返す手もあるが
あとメソッドを作るのを恐れてはいけない
容量が足りなくなったら、メソッドをダダ書きに展開すればいいだけの話よ
RetoroGuardとかもあるし
>>581 gePixelなんてものもあるが、画像全部をint型配列として持つ手もある
どんな加工かわからないのでなんとも言えないが
質問もいいのだが、ImageStoreには6つしかメソッドが無い
自力で少しやってみようぜ
私も含めて扱ってない人が大半だろうし
>>582 ありがとうございます。
ImageStoreの使い方は分かるのですが、
MediaImage型で画像取得した後にどんな流れで処理するのかが分からないのです。
getPixelということはimage→Graphics型に変換するのでしょうか?
#ちなみに画像処理といってもシャープネスやメディアンカット・トリミングなど、ペイントソフト的なものです。
>>583 (;´Д`)まて、まて君
>image→Graphics型に変換するのでしょうか?
君は基礎がわかってないっぽいぞ
一旦画面に画像を表示するところあたりから始めたほうがいい
申し訳。 ImageEncoder, EncodedImageで変換してやるのですね。
586 :
デフォルトの名無しさん :03/07/11 10:34
ちょっと、話題が違うかもしれませんが、 imode関係と言うことで、質問させてください。 iアプリを携帯から起動するページを作っていますが、 HTMLファイルで作成すると起動できます。 しかし、JSP(こっちが本物)で同じコードを作成すると 起動できません。 iアプリの起動には、物理的なHTMLファイルが 必要なのでしょうか?
↑の件は 1.Image.createImage().getGraphics()で新規画像作成 2.ImageStoreで画像を読み込み、1の画像に上書き 3.その画像にやりたい処理を施す 4.ImageEncoderとEncodedImageを用いてMediaImage型に戻す 5.ImageStore.addEntry()で保存 でできました。
588 :
デフォルトの名無しさん :03/07/11 16:58
iアプリDXが一般人は使えないってのはどのような仕組みに なってるのだろうか? 配布されるSDK自体が違うのか、それともSDK自体は同じで、 APIの使い方が秘密になってるのか。 そこんところ詳しい人います?
どのみち抜け穴なんかないだろうから考えても無駄。
>>588 少しは公式の書類読みなさい
JAMファイルにデラックスIDを書き込む
アプリは必ずどこも鯖に通信して、ID認証で了承を得てから立ち上がる
ドコモは携帯向けウィルスが出回るのを恐れている。
592 :
デフォルトの名無しさん :03/07/13 10:13
まったく、DoCoMoのアナルはキッツキツだな。
たしかに携帯向けウィルスはPC向けよりなにか と厄介そうだな。 これだけ普及していることだし、すごい騒ぎになりそう。 駆除の対応も大変そうだし。 なにより、シェアが危うくなりそう。
iアプリやiアプリDXの環境でどうやってウィルスを作るんだよ……。 ちょっとそこに座って説明してみ。 #そろそろDX厨とか名前付けるぞゴルァ
595 :
デフォルトの名無しさん :03/07/14 02:58
電話帳に登録されてる電話番号を全部110にして メアドは自分をDLできるURLを送ったあと消す
597 :
デフォルトの名無しさん :03/07/14 10:59
だれでもiアプリDX使えるように誰かハックしてくれ。
自動的にイタ電かけまくるiアプリとか作れんの?
ネイティブアプリ(メール、ブラウザ)からiアプリは起動できるけど、 その逆って無理なんだよね? 逆もありにしてもらわないと、面白いアプリがつくれな〜い
つか1から作ってみたいと思ったんだが、 なんかオススメの本とかある?
>>600 すでにJavaを習得済みなら、ドコモが公開してるツールとマニュアルで充分かと。
そうでなければJavaを覚えるのが先決かと。
まだ未修得なんだが、PCのjava覚えれば製作も楽になるんか? 馬鹿みたいな質問でスマソ
J2SEでプロトタイピングしてiアプリに移植、なんてことはたまにやる。
__∧_∧_ |( ^^ )| <寝るぽ(^^) |\⌒⌒⌒\ \ |⌒⌒⌒~| 山崎渉 ~ ̄ ̄ ̄ ̄
>>602 PCでのJava覚えずにiアプリが作れるとは思えんのだが・・・
使うライブラリが違うけど、言語は同じだよ?
了解、なんかjava学ぶためのオススメの本ある?
どうにも煮詰まってしまったので、報告かねて質問です。
環境:Win2000 Professional SP3 + J2SDK1.3.1_08 + DoJa3_102 (+ J2me_wirelesstoolkit 1.0.4)
C:D:の2ドライブ構成で、WinインストールドライブD:
他のツールは何も入っておりませぬ。
で、
>>389 さんに微妙に似た状況に。
サンプルでついてくるテトリスのプロジェクトすらビルドできません。ビルドを実行すると、
-----
ビルド開始
Error loading class tetris.ThreeDColor
Error loading class tetris.*****
(この間、全てのソース中のクラスのロードに失敗というメッセージ)
**** loading class tetris.Tetris
preverifyの実行に失敗しました
-----
となってしまいます。
SDK、DoJaのそれぞれのクリーンインストール、インストールドライブの変更、
環境変数の設定、SDKのバージョン変更等を試して、その他過去ログとぐぐって
HITする怪しい6件あたりは調べてみたのですが、同様の現象の報告はなく。
もうとんでもない初心者的大ポカやらかしてるか、謎のバグにぶちあたっているか、
OSが壊れているかくらいしか思いつきません。
過去に同様の現象に悩まされた方いらっしゃいましたら、
どのように解決されたかご教授いただきたく・・・。 タスケテー
っと、忘れてました、ドライブはそれぞれFAT32なので、書き込み権限がなくて 停止、とかいうことはなさそうです。
プ
>>607 一旦アンインストして、順番どおりにインストするべし
多分順番間違えて、PATHが通ってないんだと思われる
J2SDKが先かな
手動でPATH通してもいいけど
611 :
デフォルトの名無しさん :03/07/16 02:54
>>610 マニュアルにもあるが、doja3.0ツールがJ2SDKを見つけられない
ときはその旨表示されるから、PATHということはないと思う。
ただインストール順序は守らないといけないみたいだけど。そういや、
Doja2.0のときはJ2SDKがあるかどうかのチェックがきつくて入ってないと
インストールできなかったけど、3.0になって甘くなったね。
どうしようもなければ、俺はOSからクリーンインストールしなおすな。 もう慣れたものでテレビ見ながら4時間程度の作業だ。
>>613 理科張りはあまりにも代償が大きすぎる。
試行錯誤して解決するのがスキルもつくだろうし、
いいとおもう。
手に負えないことはサックリあきらめるのもスキルのうちだぞ。
突っ込んだソースは*.javaのみ、というかつい先日まで 普通にコンパイルできてたんですよねー。 再インストールは、全部消して、レジストリの消し残しの掃除まで 試してみたりしたのですが、全通りアウト。 残るはOSの再インストールという状況です。 どうやら同じケースになった人はいないようなので、これで前例1つということで。 どうもありがとうございました。
>>616 最初に書くべきだったが、389の話は、ドコモがeclipse用の
開発キットをつくるときにやっちゃいけないことをやってしまい
クレームがついて、その後ドコモがバイナリ配布を中止した
ために起こっている話。開発キットのソースしか展開できて
ないんだからうまくいかないのはあたりまえ。あなたの場合
とはまったく違うことは認識しておこう。
ええ、似た状況、というのはそのつもりでした。 こちらのはDoJaのみでの話なので。 iアプリ単体の開発用でPCを用意するなら、 OSからクリーンインストールでよかったのですが、 前のプロジェクトの後片付け&ローカライズが残ってて いま潰すわけにいかないんですよね。 とりあえず、多重起動の別Winで仕事します。キツいけど。
619 :
デフォルトの名無しさん :03/07/18 00:23
ソフトキー1をおすと画像を表示して、ソフトキー2を押すともう一つの 画像を表示したいのですけど、どうやればいいのでしょうか? 一日中考えているけど全くわかりません。
620 :
デフォルトの名無しさん :03/07/18 01:13
ソフトキー1をおすと画像を表示して、ソフトキー2を押すともう一つの 画像を表示すればよいと思います。
ソフトキー1をおすと画像を表示させるのがわかりません。
>>2 を読んでもさっぱり分かりません。
だれかご教授ください。
とりあえず以下のことは知っているかな? ・絵の表示の仕方 ・キーが押されたのを検知する方法
>>619 くだらない事聞くけど、アプリ起動した時の話だよね?
通常(待ちうけ)の状態での「アプリケーションキー」での
状態の話では無いよね??
質問させてください。 今、赤外線を使うアプリを作っています。 iαppli Development Kit for DoJa2.0を使えばうまくいくのですが、 iαppli Development Kit for DoJa3.0を使えば赤外線実行した所で 落ちてしまいます。try〜catchには何のメッセージもありませんでした。 原因がわかる方がいれば教えて頂けないでしょうか。 お願いします。
>>623 絵の表示の仕方はわかります。
キーが押されたのを検地する方法はわかりません。
>>624 はい、アプリを起動したときのはなしです。
import com.nttdocomo.ui.*; class testCanvas extends Canvas{ private Image image=null; //コンストラクタ testCanvas(){ setSoftLabel(SOFT_KEY_1,"1"); setSoftLabel(SOFT_KEY_2,"2"); try{ //画像ファイルを読み込む MediaImage m; m=MediaManager.getImage("resource:///test.gif"); m.use(); image=m.getImage(); } catch (Exception e){ e.printStackTrace(); } } public void paint(Graphics g){ //イメージの描画 if(image!=null)g.drawImage(image,15,40); } } 僕はここまで作りました。画像を二つ読み込む方法がわかりません。 あと、ソフトキーを押したら画像が表示される方法もわかりません。 どこをどのように改造したらいいでしょうか?教えてください。
>>619 i-mode Javaの入門本買ったほうがいいと思う。
オライリー社の「プログラミングiモードJava」っつーのがお勧め。
つか画像をひとつ読み込む方法は知ってるのにふたつ読み込めないのはなぜ?
>>622 一体
>>2 のどこを読んだのかと小一時間・・・
ちゃんと見てないでしょ?
iアプリとの通信用cgiにDoCoMo/2.0 F2051(c100;TB)からのアクセスがあるんだけど イタズラにしては妙に正確にアプリのプロトコルを投げてきます。 特定の状況でF2051がTJを付けてこないってあり得る?
631 :
デフォルトの名無しさん :03/07/20 10:41
>>599 できるっちゅうの、あんたバカぁ?
IApplication#launch()
あたりを調べろボケッ
632 :
デフォルトの名無しさん :03/07/20 10:47
633 :
デフォルトの名無しさん :03/07/20 10:48
>>630 IPをチェックすれば解決
ーーーーーーーーーーーーーーーー終了ーーーーーーーーーーーーーーーーー
>>619 Canvasを使って表示かけようとしているのだね。
サンプルで省略している部分(paintメソッド)の中身が
重要になる。
次は、中身を公開(流れの確認なので、主要部分だけで良い)
をする事だね。 初期画面は作っているだろうから
それが表示されるかもアップしてね。(^_-)b
>>628 が云う様に、教科書を買った方が良いかもしれない。
クラスの特徴や注意点が結構載っている。
あと一つ。 仕様は共通だけど、結構機種毎に違いは有るから
実装したい機種をついでに明記して置いた方が良いと思う。(^^)
>>633 解決しませんよ…だってIPアドレスは210.153.xx.xxでしょうから。
>>630 F2051に偽装された新機種のテストをやってるんだけど偽装をミスっているってのは、
結構あり得そうだけど、そんな新機種の予定は今ないよね…
>>635 うん、新機種のテストならいいんだけどねぇ
数少ない普通のF2051ユーザをブロックしちゃったら気の毒で…
>>633 IPアドレスのチェックでPCからのイタズラは防げるけど
iモードからフォーム(POST)で送信されると無力。
なのでUSER_AGENTもチェックしようと思ったわけです
某所とマルチポストで大変恐縮なのですが・・・
DoJa3.0を使用して、サーバ側CGIと通信するアプリを作成しているのですが、
iAppli→サーバにGETコマンド送信する際、マルチバイト文字の使用は不可能なのでしょうか?
http://localhost/test.cgi?あああ 上のように送信すると、サーバ側では"あああ"の部分を"BBB"と認識してしまっています。
URLEncoder.encode()を使用することで、エンコードした文字列を送信出来ることは確認したの
ですが、サーバ側が対応していないとのことでして・・・;;
ご存知の方いらっしゃいましたら、よろしくお願い致します。
>>637 私の知る限りでは無理
enodeに対応してないってのは、鯖側の手抜き
想像するに馬鹿客につき合わされてるな?
cgiならPOSTでいいんじゃないかな。対応楽だし
POSTで送ってしまおう
>>638 レスありがとうございます。
やはり無理ですか・・・;;
鯖担当者に報告し、対応お願いしたいと思います。
ありがとうございました!
マルチポストになってしまいますが。 もう一度だけ質問させてください。 iαppli Development Kit for DoJa3.0を 使って赤外線を使ったアプリを作っているのですが。 ALERT: Native method 'com/nttdocomo/io/j2me/obex/Obex::sendResponse0' has used temporary roots incorrectly 上記のエラーがでるんですが、 どのようにしたらいいのかアドバイスを頂けないでしょうか? お願いいたします。
HelloPanel(IApplication app) { _app = app; setTitle("Hello !!"); try { is = ImageStore.selectEntry(); mi = is.getImage(); try{ mi.use(); }catch(ConnectionException ce){ add(new Label("test1")); }; _img = mi.getImage(); try{ SubDisplay.setImage(mi.getImage()); add(new Label("test6")); } catch(UIException ex){ add(new Label("test3")); } setSoftLabel(Frame.SOFT_KEY_1, "end"); setSoftKeyListener(this); } catch(InterruptedOperationException ex){ add(new Label("test2")); } } これで背面ディスプレイに表示しないんだけどなんでぇ?
熱かった事ないけど、たしか・・・ SUBディスプレィって、Image扱いだったよね? 画像そのものが大きすぎるのでは? SubDisplay.setImageを監視するcatchをコメントにして エラーが発行されるか確認してみては。 後は、lock〜unlockが無いからsetImageの前後に追加くらいかな。 違ってたら、スンマソ。
643 :
デフォルトの名無しさん :03/07/28 19:46
既出かもしれないんですけど、致命的エラー: クラスパスまたはブート クラスパスでパッケージ java.lang を検出できません。というエラーが 「Iアプリ開発ツール」でビルドをした時に出てしまいます。 環境設定はひととおりやったのですが、dojaの中の何を指定しておけば いいのかがよくわかりません(サイトで説明されているファイルが存在しない) 一応dojaconv.jarとdojaemu.jarは通してあります) 環境は、 doja-3.0/java2sdk1.31_08/Iアプリ開発ツール/i-jade-lite-n/といった ところです。どなたか教えてください(泣く) (過去ログは見ましたが結局回答は見つかりませんでした)
携帯に保存してある画像を読み出せるのって505iだけ? 書き込みもできます?
ほんとうにDQNな質問で申し訳ないのだが、503用(503で使えてた) アプリはそのまま普通に504とか505でダウンロードして使えるのか?
画面小さいけど大抵使える
>>647 確か基本的には、上位互換のハズ。
ダウンロードが目的ならば、サイト側で指示が有るので確認するよろし。
自作ならば、開発ガイドを見て再確認するのが一番。
自作はリソース(ADF)の"ConfigurationVer"(とあるが・・・)を
再度見直す必要があるみたい。
650 :
デフォルトの名無しさん :03/07/29 19:37
未読メールや不在着信があった場合に、ランプを点滅(点灯)させる アプリって作れますか? あればNユーザーにはとっても便利だと思います。 ちなみにもっさりN505。 どなたかよろしくお願いします。
>>643 import java.lang.*
を入れてないとか?
>>647 504iはほぼオッケー。
505iは、drawString使ってると悲惨なことにならなかったっけ?
>>652 デフォが12ドット文字なので平気。
でもLARGEとか使ってると悲惨
>>651 マテ。
java.lang.*をimportする必要なんてJavaには無いだろ。
>>643 JAVA_HOMEとか設定してみたか?あるいはCLASSPATHにJDKの
ランタイムを指定してみるとか。
お忙しいところ何度もすみません。 着信点滅アプリ、作って頂けないでしょうか? もし出来上がればNユーザー達にとってはまさしく神なんですが・・。 職人様方、何卒よろしくお願い致します。
んなもんできない、
ん? メールの有り無しは簡単にとれるぞ 点滅は知らない
>>655 クレクレ厨は帰れ。
> プログラム技術@2ch掲示板
> この板はプログラムを作る人のための板です。
>>650 携帯・PHS板で「市ね^^」とか言わなきゃ考えても良かったのに
>>659 煽られてついw
SHでは出来なかったらしいっす。
Nで出来ない事が分かれば諦めもつくんですけどね。
>>657 >メールの有り無しは簡単にとれるぞ
どれでやるの?apiに載ってる?
良かったら教えてください。SH505用にソフトを作りたいので
>>662 (;´д`)いつもここで色々質問に答えてるけどさ、
ググれば2秒なものは自分で調べてよ
基本APIだ
仕様書の名称とページNo.で良い? >> クレクレ様(w
ググッても、api見てもみつからないよ 漏れの目はフシアナ? 普段ゲームばっかりだから、アプリはよくわかないです。 650とは別人でつ
(;´д`)つづり間違えた IApplication メール 2秒もかからなかった。0.34秒 これに懲りたら次からはググるくらいしなさいな
>>663 どうもありがとうございます。.uiは普通にスルーしてました。
しかもクラス名にmailが付いてるんじゃないかと必死に別の所さがしてました。
はずかちぃー
>549 え?ええ? 賢い人だなあ。 その方法確立してください。お願いします。
>670 SHではネイティブのテキストビューアがある? ああ。 うらやましい。 あとはテキストファイルを赤外線でやりとりするiアプリかなあ。 赤外線デバイスを持っている人しか使えないけど。
(^^)
>>671 SHスレにはネ申がたくさんいて、
GIF偽装のTextViewer,CSVViewerを作ってくれた。
理論的には、ほとんどの機種で出来るから、
各機種のスレで神光臨を待つしかないね
自分で作るよろし。
ベンチ見る限り505はNが標準くらいかな。
SH用として発表されているテキストビュワーはSHでなくても動くよ。(SOで確認) でも、あの偽装の仕方(GIFの後ろに添付)だとNでは駄目らしい。 コメントブロックに仕込めばNでも問題ないから、今後作る人はコメント ブロック使わない? むしろ20KBに制限されるSHよりも、SOやNの方が良い感じ。 で、できれば単純にGIFの中にテキストを埋め込むんじゃなくて、ファイル の形式やファイル名をヘッダに入れたいんだけど、統一フォーマットを 作りません?
680 :
デフォルトの名無しさん :03/08/07 09:46
processEventに、自分で指定した任意のイベントって送れないのでしょうか? WindowsプログラムのsendMessageみたいに 間隔0秒の1回だけ起こるshortTimerを使っているのですが、美しくなくて…
自分でprocessEventを読んだら駄目なの? processEvent(Display.KEY_PRESSED_EVENT, Display.KEY_UP); みたいな感じで。
>>681 一時スレッド化したいのです
スレッド普通につくると容量食(ったような気がする)うし
>>680 一時(サブ)スレッドの処理が目的?
タイマとの併用をしないならば、Runnableインターフェース使っては?
両方のスレッドの共通領域を設ければ、実現出切ると思う。
ただし、虫潰しが面倒なのを覚悟する事。
684 :
デフォルトの名無しさん :03/08/10 17:19
特定の機種のみ、普段と別のデータをダウンロードさせたいのですが、 アプリ内で機種を判別する方法って何かありますか?
685 :
デフォルトの名無しさん :03/08/10 17:22
すみませんが、ダウンロードしたら勝手に起動して、止められなくして めちゃめちゃでかいファイルを永遠と落とさせ、パケット代を大量に増やすアプリ作りたいんですが、できますか? ってかウィルスですが
686 :
デフォルトの名無しさん :03/08/10 19:20
>>684 めっけたどー。
Doja3の開発ガイド55ページに
それらしきことがかいてあるカーモ。
>>686 ありがとーたすかったっす
ちゃんと取得できたよ
>>685 iアプリでウイルス系はまず無理
強制終了ボタンに勝つことができない
普通のゲームを装って、裏では通信しまくってるってのならできなくはないが、
ずっと通信アイコンが点滅しているのですぐばれる
>>685 万が一訴えられたときのことも考えよう、な。
iアプリのベンチマークが一番速いのはどれ?
>>685 iアプリはDLしたサーバー以外と通信できない。(DX以外)
だからウィルスの様に配布者の特定が困難なアプリは作れない。
茜トークでパケ死とかなら可能かもな。
694 :
デフォルトの名無しさん :03/08/11 22:56
>>685 「永遠と」っていうのはたぶん
「延々と」のことなんだろうな。
まずは日本語を勉強して出直して来い!(・∀・)
ウィルスという言葉の意味もわかってないようだしな。まあ、夏だしな。
すみませんでした。こんなネタにみなさんマジレスしてくれるなんて、思ってもいませんでした。
>>689 待ち受けアプリで情報ときどき取得しにいくから通信onにしといてねってことにしておいて、
しばらく端末が閉じられたままになってるときに通信をいっぱいするようなアプリだと、あんまりバレないと思う。
>>696 誤字を指摘された後に「ネタでした」ってのは恥ずかしいよ。
699 :
デフォルトの名無しさん :03/08/12 19:31
iアプリでパネルとキャンバスを両方使っているプログラムはみかけるのですが、 パネルから別のパネルを呼び出すことは可能なのでしょうか?? また、その方法はどんな感じになるのでしょうか? ソースを貼り付けようとしましたが、長くて駄目でした。
>>699 Display.setCurrentで、色々なパネルやキャンバスをその場に応じてカレントにすればいいのさ
700Get
701 :
デフォルトの名無しさん :03/08/12 20:00
Display.setCurrentですね。 やってみましたが、うまくいかないのでソースを書きます。 import com.nttdocomo.ui.*; public class test001 extends IApplication{ static Panel1 f_panel; static Panel2 s_panel; public void start(){ f_panel = new Panel1(); s_panel = new Panel2(); Display.setCurrent(f_panel); } } class Panel1 extends Panel implements SoftKeyListener,ComponentListener{ public Panel1(){ setTitle("一枚目"); ここで一つ目のパネルを作ります } public void softKeyReleased(int softKey){ switch(softKey){ ここでソフトキィの処理を書きます} public void softKeyPressed(int softKey){} } abstract class Panel2 extends Panel{ public Panel2(){ setTitle("二枚目"); } }
あぼーん
703 :
デフォルトの名無しさん :03/08/12 21:08
704 :
デフォルトの名無しさん :03/08/12 21:17
>>698 お前の皮被りおちんちんお方が恥ずかしいよ
>>701 それでソース終わりなのか?
s_panel作ったはいいけどsetCurrentしてないじゃないか
706 :
デフォルトの名無しさん :03/08/12 21:34
>>705 ありがとうございます。
ソースが全部入りきらないので省略しました。
setCureentの部分はこうなります。
どうでしょうか?
public void softKeyReleased(int softKey){
switch(softKey){
case Frame.SOFT_KEY_1:
terminate();
break;
case Frame.SOFT_KEY_2:
Display.setCurrent(test001.Panel2);
break;
}
}
>>701 ,
>>706 何でPanel2はabstract?
何でsetCurrentするのにPanel2?s_panelじゃないの?
Panel1.setSoftKeyListener(f_panel)してる?
Panel2のキーイベント定義書いた?
↑のうち幾つかは省略しているだけかもしれんが、
細かい凡ミス大杉。
「PanelAからPanelBを呼び出す」ってのはUIの導線の定義。
プログラム上はどれも「カレントFrameを切り替える」だけ。
あんま複雑に考えずに画面切り替えたきゃsetCurrent()とだけ
覚えとけばOK。
708 :
デフォルトの名無しさん :03/08/13 11:23
>707ありがとうございます。私はJAVA初心者でして、あんまり詳しくないのです。 コンパイルエラーがでたのでabstractつけましたが、あとからはずしました。 setCurrentは間違えです。s_panelです。 Panel1.setSoftKeyListener(f_panel)しているかに関してはわからないのですが、 すいません教えてください。 またPanel2のキーイベント定義は書いていません。 次の発言から分けてソースを書いてみます。 いろいろご迷惑をおかけますが教えてください。
709 :
デフォルトの名無しさん :03/08/13 11:24
>>707 その1
import com.nttdocomo.ui.*;
public class test001 extends IApplication{
static Panel1 f_panel;
static Panel2 s_panel;
public void start(){
Panel1 f_panel = new Panel1(this);
Panel2 s_panel = new Panel2(this);
Display.setCurrent(f_panel);
}
}
続く
710 :
デフォルトの名無しさん :03/08/13 11:24
>>707 その2
class Panel1 extends Panel implements SoftKeyListener{
private IApplication iApp;
public Panel1(IApplication f_panel){
super();
iApp = f_panel;
setTitle("一枚目");
setLayoutManager(null);
setSoftLabel(Frame.SOFT_KEY_1,"Exit");
setSoftLabel(Frame.SOFT_KEY_2,"計算");
setSoftKeyListener(this);
}
public void softKeyReleased(int softKey){
switch(softKey){
case Frame.SOFT_KEY_1:
iApp.terminate();
break;
case Frame.SOFT_KEY_2:
Display.setCurrent(test001.s_panel);
break;
}
}
public void softKeyPressed(int softKey){}
}
711 :
デフォルトの名無しさん :03/08/13 11:25
>>707 その3
class Panel2 extends Panel{
private IApplication iApp2;
public Panel2(IApplication s_panel){
super();
iApp2 = s_panel;
setTitle("二枚目");
}
}
712 :
デフォルトの名無しさん :03/08/13 11:28
>>707 これでソースは全部なんですが・・・
よくわからないのが、Panel1というクラスのあとにPanel2というクラス
を作っていますが、これでいいのでしょうか?ソース全体的に問題は
ありますか?
やりたいことはSOFT_KEY_2を押したら新しい二枚目の画面が出てくるように
したいのですが・・・。
713 :
デフォルトの名無しさん :03/08/13 11:55
>>707 それからこのソースをコンパイルすると
「クラス Panel1 が重複しています。」
「クラス Panel2 が重複しています。」
といったエラーメッセージが出てきます。プログラムの
書き方がおかしいのでしょうか?
>>712 動かしてみた。
…なんでぬるぽ?と思ったらstart()で再宣言してやんの(+д+)
Panel1 f_panel = new Panel1(this);
Panel2 s_panel = new Panel2(this);
を
f_panel = new Panel1(this);
s_panel = new Panel2(this);
にしろ。それで動くから。
あとは、Panel1, 2のコンストラクタの引数イラネ。 iApp.terminate()を IApplication.getCurrentApp().terminate(); にすればいい。 Panel2を表示するとき、Panel1, 2間でデータの受け渡しが不要なら、 最初にnewしないで start() { Panel p = new Panel1(); p.set.... Display.setCurrent(p); } SoftKeyReleased() { ... Panel p = new Panel2(); p.setSoftLabel(...); Display.setCurrent(p); } というように、setCurrentするとき毎回生成しても良い。
716 :
デフォルトの名無しさん :03/08/13 15:45
>>707 アドバイスありがとうございます_(..)_
おぉ!動きました!
凄いです。私、やはりJAVAの知識が足りないようです。
717 :
デフォルトの名無しさん :03/08/13 16:00
>>707 再宣言とはなんですか?
public class test003 extends IApplication{
static Panel1 f_panel; //宣言しています
static Panel2 s_panel; //宣言しています
public void start(){
//Panel1 f_panel = new Panel1(this);
//Panel2 s_panel = new Panel2(this);
ここの上2行はコメントにしましたが、なんでいけないの
でしょうか?
f_panel = new Panel1(this);
s_panel = new Panel2(this);
Display.setCurrent(f_panel);
}
}
>再宣言とはなんですか? ぬっ殺すぞ(゚Д゚ )ゴルァ!!Javaの入門書読み直せ! Panel1 f_panel が「変数の宣言」 f_panel = new Panel1() が「インスタンスの生成と変数への代入」 Panel1 f_panel = new Panel1(this); はそれを両方やってるのがわからんか? static Panel1 f_panel; //宣言しています の後にstart()で Panel1 f_panel = new Panel1(this); と書いたら、「Panel1 f_panel」という変数宣言が2回行われるから再宣言と書いたんだが。 プログラムの基礎とかJavaの文法とか、その辺からやり直すことを勧める。 Javaの知識が足りないんじゃなくて、プログラミングそのものが初心者だろ?
719 :
デフォルトの名無しさん :03/08/13 17:34
>>718 ありがとうございます。_(..)_
プログラミングは昔、汎用機でCOBOLを使っていました。
今ではあまり見かけなくなりました。
720 :
デフォルトの名無しさん :03/08/13 17:42
Canvasでの描画についての質問です。 Canvasのpaint()メソッドを使うと描画が遅いからやめたほうがいいとか聞きますが、 電力消費という点ではどうなんでしょうか? paint()メソッドを用いない場合、だいたい while(true) { g.lock(); // なんか描画 g.unlock(true); } というホットループ(っていうんでしたっけ?)になると思います。 それに対して、paint()のなかで描画をおこなう場合は processEvent()などからイベントがおきたときにrepaint()するという風になると思います。 妄想ではイベントが起きたときだけrepaint()のほうが電力を消費しないような気がするのですが。。 現在つくってるものは処理速度は問題にならないツール系のアプリなので なるべく電力消費を抑えたいんです。
>>720 描画ループを以下のように構成する。
while (true) {
try { wait(); } catch (Exception e){}
g.lock();
なにか描画
g.unlock();
}
その上で、
processEventでイベントが起きて再描画したくなったら、
その場所に、notify() を入れればいい。
@see Object#wait(), Object#notify()
あ、周期的な描画が必要ない場合は、 描画をする関数 void drawAll() { g.lock(); 描画 g.unlock(true); } みたいなのを用意して、processEventの適所でdrawAllを呼ぶだけでいいです。 ちなみにP503iでは前レスのようにした場合でも電池をいっぱい食ってしまうけど、 P504i以降は改善されているようです。他機種は知らないっす。
>>721 ,
>>722 ありがとうございました!
となると、paint()メソッド使う必要ってほんとないんですね。意外でした。。
>>720 そのgってどこから取得してるの?
それはともかく、秒間15fpsとか定期的かつ強制的に描画しなきゃならないとき
以外はrepaint()で間接的にpaint()を呼び出す方がいいと思うんだが。
repaint()を呼び出すと、負荷が大きいときはpaint()の呼び出しを
複数回分で1まとめにする事がある。それ以外で、paint()そのものの描画が
遅いなんて事は基本的に無いはず。
WindowsプログラミングやってればWM_PAINTと同じだと分かりそうな
もんだけど、少数派なのかな。
>>724 gはCanvas#getGraphics で一回取得したやつを使いまわしますね。
repaint() → paint(Graphics g)の呼び出しのときに
Graphicsオブジェクトが生成されちゃうのが嫌だという人は多いと思います。
また、少しでもケチって差分描画したいときもあります。
速度は問題にならなくても、
余計な処理は電池を消費することに繋がっていくんで、
Windowsみたいな富豪的プログラミングが嫌がられる場面もあるのです。
まあそういう意味で
>>722 のdrawAll呼びまくる例は全然イケてないんだけど。
>>719 COBOLなら尚更、宣言と代入は別構文だと分かりそうな気がするけど。
>>725 APIリファレンス見ました。
Doja2.0だとCanvas.getGraphics()は初期化が保障されていて、paint()も呼び出し側で
gが初期化されることが保障されていますね。納得。
でも、こと消費電力に関して言えば、paint()の方が機器側に制御を任せる分
少なくなりませんか?repaint()と
>>722 の呼び出し回数は等しいですよね。
あと、差分描画もrepaint()の引数で描画領域を指定すればいい気がします。
自前で差分計算するよりコードも少ないと思いますが。
paint()時のgの初期化も、newのオーバーヘッドはさておき、デバイス自体の初期化が
伴うかどうかは機種依存ですから、一概に富豪的とも言えませんし。
>>727 >
http://godwood.allnet.ne.jp/vioret/dojaapi2/com/nttdocomo/ui/Canvas.html#repaint (int, int, int, int)
>ここによるとP503i,D503iではrepaint()で描画領域を指定しても意味ないみたいです。。
Doja1.0の場合repaint()時のgの初期化すら保障されていませんし、
Doja2.0プロファイル前提にしないと結局getGraphics()を使って問題ないかどうか
ってのは機種依存になると思います。
まあ、実際どの方法が省電力に良いかなんて、調査したくないですね。
よほど負担の多いコード以外、どんな書き方も大差ないかと。
503は機種依存が激しいですからね。
#個人的にはNのスレッド周りが致命的。やったの2年前だから詳細覚えてないけど、
Timerイベントとスレッドが衝突してTimerイベント中スレッドが止まったはず。
あと、DとPのリソース少なすぎるとか、JavaヒープとCヒープで区別つけてないのは
Fだけだとか、System.gc()呼ばないとOutOfMemoryExceptionってふざけるな、とか、
Pの高レベルAPIのスクロール仕様ってアホ過ぎる、とか。
Doja2.0以降どこまで改善されたやら…
>>726 差分描画については、
repaintの引数指定できる時点で、どこを再描画したいかはわかってるんだから
その時点で描画してしまえばいいんじゃねーの?
なんでわざわざ repaintを呼び出したがるのか俺にはわからん。
俺はrepaint呼ぶならpaintを直接呼んだ方がいいと教わった。 理由はrepaint呼んだ後の動作は機種依存で、別スレッド作成してpaintを 呼んでいる機種もあるとかなんとか。
731 :
デフォルトの名無しさん :03/08/14 19:43
質問です。iモードにおける「ダウンロード辞書」とは、どのようなもの なのでしょうか?サイトのご紹介などいただけると嬉しいです。よろしく お願いします。
板違いしまくりの予感
再描画イベントとかはウィンドウアプリケーションの文化だからね。 ウィンドウシステムですらない携帯アプリでは、 paint()が空でも一通り破綻なく動いたりするし、律儀に従うメリットが薄い。 こんなものはオフスクリーン使うとかして隠蔽してしまうのが吉なんだろうけど 速度的にも容量的にもちょっとね。
(⌒V⌒) │ ^ ^ │<これからも僕を応援して下さいね(^^)。 ⊂| |つ (_)(_) 山崎パン
735 :
デフォルトの名無しさん :03/08/16 01:24
iアプリ開発の経験ある方から見て、このアプリはイイ!ってのってどんなんですか? イイ!って基準は技術でもアイデアでもなんでもいいのですが。 ギガアプリなんかも登録6000件超えてるので、あまり知られていない名作みたいなの ご存知でしたら。。 画面がちっちゃいだけにUIとかを参考にしたり、こんなこともできるのかー、みたいな とこを盗めたらいいなぁと思いまして。
simple100シリーズがいいんじゃないか(安いし) 当たり外れはあるが、 ブロック崩し(ゲームの完成度的に注目。途中セーブがないのが残念! ボーリング(3D技術的に注目。ゲーム的にはすぐ飽きるか? 麻雀2(よくここまで色々オプションいれたな的に注目 ぱっと考えてこの3つは出来が良かった
737 :
デフォルトの名無しさん :03/08/17 15:07
Canvas上でエディタでいうところのカーソルを描こうとしたのですが あいうえお ■ ↑「あ」の背景を背景色で塗りつぶす 機種によって1ドット、もしくはそれ以上のずれが生じてしまいました。 んで、i-jadeでN,P,F503、自分の持ってるSO504iで調べてみると Nの場合、Font#stringWidthで得られる値は文字そのものの幅(ドット)、 その他は、文字そのもの+1ドット分のスペースを加えた幅であることがわかりました。 (すくなくとも半角英字ではそんな感じでした) それと、SO504の場合Graphics$drawString()で表示開始される位置が1ドットずれる (もしくは最初に1ドットスペースが空いている?)。 こんな感じで似たようなことで悩んだ方、調べてみた方で、 文字列描画についてのTips、機種依存情報あったら教えてください。
俺は文字の幅は高さと等しいと仮定して処理しちゃってる。
>>738 そんな感じでも問題ないこともありますけど、
カーソルとうまくあわせるには
"ABC"という文字を描画するのにdrawString()を3回呼ぶはめになる or
結局、機種ごとのずれを考慮したカーソルの座標を考えなきゃならなくなりますよね。
#さっきのNの件は自分の勘違い(数え間違い)でした。。。なので、いまのとこわかってるのはSOだけです。
なんで3回?背景色変えるだけなら先にカーソル描画してからdrawStringで いいじゃん。
>>740 説明不足ですいません。
「一文字単位のカーソルを表示するには」ってことで
>>738 のようにしたとすると座標をあわせるために"A","B","C"と
3回描画する必要があるってことです。
(文字の幅を実際とは違う値としてあつかってるため)
>>737 のNの件は、i-jadeのN503is上だとFont.TYPE_DEFAULTとFont.SIZE_SMALL
は文字の大きさは同じはずなのに、Font#stringWidth()で返ってくる値が違う
(前者は6、後者は5)ってのが原因でカーソルがずれてたってことがわかりました。
実機だとどうなんですかね。。。
確かだけど、FOMAのT以外は Font.SIZE_SMALLにすれば全部全角は12x12だったはず。 漏れのF504iSだと少し(1ドット)エミュより上に上がった気がする。
>>741 738のように処理すればフォントの情報からカーソル位置なんて分かるじゃん。
だからdrawStringなんてしなくてもカーソル位置の算出は可能。
>>742 P504iはSIZE_SMALLは10x10だし、505iだと16x16の機種が多いんじゃないかなぁ。
>>742 情報ありがとうございます。
Webも探してはみたのですが、うまくみつからなかったのですごく助かります。
>>743 > 738のように処理すればフォントの情報からカーソル位置なんて分かるじゃん。
フォントの情報ってなんですか?
>>738 のようにするとフォントに関する情報は
高さしか得られていないと思うのですが。
> だからdrawStringなんてしなくてもカーソル位置の算出は可能。
すんません、よくわかりません。
自分がしたいのはカーソル位置の算出だけでなく、そのうえに文字列を描画することなんですが。。
g.drawString("ABC",0, 10); と描画する予定で"B"の座標をあらかじめ算出するには
フォントの実際の横幅の値がわかってない
>>738 の方法ではだめですよね?
なので、次のように3回描画する必要がありますよね?ってことを言ったのです。
(ここではy座標に関してはアバウトで)
Font f = Font.getFont(Font.TYPE_DEFAULT);
fontWidth = f.getHeight(); // 文字の幅は高さと等しいと仮定
// 略
g.fillRect(fontWidth * 1, 0, fontWidth, 10);
// "ABC"
g.drawString("A", 0, 8);
g.drawString("B", fontWidth * 1, 8);
g.drawString("C", fontWidth * 2, 8);
名前入れ忘れました。745 = 737です。
それと
>>745 の簡単なソースは"ABC"の"B"の下に文字一個分のカーソルを描くのに
>>738 の仮定でやった例です。
またまたレスですみません。
フォントの大きさはどの機種も全角の文字の大きさは縦、横同じなのでしたね。。。
なので
>>737 のように3回描画する必要もないと。。ほんと激しく勘違いしてました。
んー、でもSOの件といい機種ごとにずれが起きないか不安です。
g.drawStriing()する際の機種による注意点などあったらよろしくお願いします。
749 :
デフォルトの名無しさん :03/08/19 16:43
質問です。 read(byte[] b, int off, int len)とreadByte()×len回 はどちらが速いのでしょうか? 待ち受けアプリの起動を高速化したいのでどうしてもスクラッチパッドのアクセスを速くしなければいけないんです。 よろしくお願いします。
750 :
デフォルトの名無しさん :03/08/20 21:27
すみませんが質問させていただきます。 SH505iでカメラを起動したり、電話帳を開いたりした後に待ち受けに戻ってくると FOLD_CHANGED_EVENTのCloseイベントが発生してしまいます。 これは回避しようがないのでしょうか?
画像の編集に何使ってる?
753 :
デフォルトの名無しさん :03/08/21 21:16
質問があります。 携帯内の画像をImageStore.selectEntry()で読み込んでいるのですが、 DL画像やi-shotで送られてきた画像が取得できません。 上記の画像を取得する方法は無いのでしょうか?
SH505iだが、例のスクラッチパッドが初期化されるバグがやたら発生。 ドコモショップでソフト書き換えてもらったらOKだった。 他のアプリでは全くバグでなかったのに。 初期化される条件ぐらい公開してほしい。
i-modeとezWebとj-skyで共通して使える画像フォーマット はないのかな j-skyはpngしか使えない?
まぁ相変わらずP最強か Fは切り捨てご免だな
F503iの悪夢再来か…不治痛のアホ…
759 :
デフォルトの名無しさん :03/08/30 00:15
Pは微妙に計算遅いよ… 保全age
ゲームの場合動画速度が一番キモだろうし問題なしだと思われ。 P504iも同じような結果(計算速度、描画速度)だったがすこぶる快適だった。 ましてや505iは描画面積が広いから。
>>753 iアプリコンテンツ開発ガイド〜詳細編〜の160p
762 :
デフォルトの名無しさん :03/09/01 23:13
質問です。 505iではImageStoreでネイティブの画像データが読み込めるみたいですけど、 音楽データとかは読み込めないのでしょうか?
763 :
デフォルトの名無しさん :03/09/05 23:47
i-jadeを使ってHTTPSのURLにあるjamファイルを読み込めないんですけど、エミュレーターじゃSSLのコネクションを試せないんでしょうか?
764 :
デフォルトの名無しさん :03/09/07 05:12
N504からN2102V(FOMA)へゲームプログラムの移植作業をしているのですが ある特定の個所で必ず停まってしまいます。 基本的には、iDKDoJa2.0をiDKDoJa2.1使用するようにして、 ゲーム画面サイズは変更せず画面のセンタリングをしたぐらいです。 N504からN2102V(FOMA)への移植作業の注意点があれば教えてもらえませんか? ちなみに、エミュレータではきちんと動いています。
数多くFOMA対応してきたけど、そういうことは無かったなぁ くだらねーバグならFとかFとかFにありましたが とりあえず >ある特定の個所で必ず停まってしまいます これがどこかと >iDKDoJa2.0をiDKDoJa2.1使用するようにして これの意味を書いてみてくれ
> >iDKDoJa2.0をiDKDoJa2.1使用するようにして > これの意味を書いてみてくれ iDKの2.0で開発していたのを2.1(FOMA用)に換えただけだと思われ。
テスト2週間前でiアプリの英単語帳が欲しくて 某サイトからダウンロードしてみたんですが、 やっぱり自分で覚えたい単語をうちこみたいと思い コソーリ逆コンパイルしちゃって中身をテスト範囲の単語をうちこもうとしたけど なんだか日本語が見当たらないんです。 \u308Aとか\uFF1Aのようなものがたくさんありましたが、これが日本語の部分なんでしょうか? 勝手に人のプログラムいじることは悪いことだと思うんですが、 教えてくださる方いましたらよろしくお願いします。 追加:どなたか使いやすい単語帳作ってる(作ってくれる)方いませんでしょうか?
普通に考えて、データはスクラッチパッドに入れてると思うぞ
>>768 推測だが
>なんだか日本語が見当たらないんです。
ってことは英単語は見つかったんじゃないかな。
だからデータがソース内にあることも考えられるかと
まぁ、普通はスクラッチパッドだろうが
>>767 \u308Aとかはユニコードだね
たぶんそれが日本語じゃないのかな
なるほど ってなんだか最近質問しっぱなし放置が多いな…
>>768-769 レスどうもです
\u308Aとかの日本語部分であると思われるところを
無理やり日本語にしてぶち込んだところ
特に不都合もなく使えました。
どうもありがとうございました
>>763 それは、synchronizedをつけすぎているかつけていないかのどっちかの理由で、
もともと特定のタイミングで止まるようなアプリになってて、
N504では偶然動いていたのが、
N2051では動かないようになってしまったのではないかと思うんだけど、どう?
プログラミングはまったくの素人なんですが JPGデータにMP3データを結合させる ↓ メモリースティック経由でJPGファイルとして本体に保存 ↓ iアプリから、保存したJPGを読み込み ↓ 読み込んだJPGをアプリで処理して結合されたMP3データを切り出し ↓ アプリでデコード処理 ↓ デコードされたPCMデータから、リアルタイムにMLDデータ生成 ↓ 生成されたMLDファイルを再生 ・・・なんて妄想してるんですが、無理でしょうか。
>>773 何の為にJPGと結合させるのかがわかんないです。
そのままリソースとしてMP3読めばいいような気がするけど。
何がしたいのかわかんないからアドバイスできません。
>>773 >デコードされたPCMデータから、リアルタイムにMLDデータ生成
この部分が不可能
>>774 505を擬似的なMP3ウォークマンにしたいのです。
505にはリムーバブルな記憶メディアが搭載されているし、
搭載されている音源はハードウェア的には結構な高音質のPCM再生に
対応しているようなので、出来ないかと考えました。
実現できるかどうかは別として、
やろうとしたらどの部分がネックになるのかに興味があります。
JPGファイルに結合する理由は、
MP3のような大容量のリソースを外部記憶メディアから読み込む方法が、
これしか見当たらないからです。
(iアプリから直接外部記憶メディアへのアクセスはできないので。)
実際この手法を利用したテキストリーダアプリがユーザーから公開されていて、
PC等から外部メディア経由で505に保存した300kb程度のプレーンテキストを閲覧できます。
これを見て、773のようなことが出来ないかと思ったわけです。
>>775 773に記したとおり、プログラミングはまったくの素人なのですが、
以前、音符をうちこんでMLDデータを作成できる
着メロ作成アプリみたいなものをみたので、
素人考えでPCMデータを含むMLDデータでも
同じようなことが出来ないかと思ったのですが・・・。
やっぱり妄想は妄想の域でおさめとくべきでしょうか・・・。
775で答えが出てるじゃん Dojaじゃなくてもいいからmp3デコーダ書いてみ
>>773 mp3とJPGデータと結合させるプログラムを改造して、
mp3をmldに変換してからJPGデータと結合させれば良いのでは…
ちなみにP505iならわざわざ結合させたりしなくても
ファイル名をgifにすればアプリから読み込めるし、
それをMLDファイルと見なして再生できるアプリも
すでにあるんだけど…
普通にデータフォルダにmldほうりこんだ方が早いと思うよ
780 :
デフォルトの名無しさん :03/09/12 00:23
float,doubleってそのうちサポートされるようになるかな?
>>780 電話機にFPU付けるのも馬鹿らしいからサポートしないんじゃない?
>>781 最近は携帯でも3D扱うようになってきてるし
いつまでも固定小数点じゃ不便なんじゃないかな?
CLDC 1.1への対応待ちだな。 いくらなんでも不便なのは分かってるから、そのうち対応すると思うんだが。
784 :
Java & iアプリ初心者 :03/09/16 12:58
はじめまして。 私は最近Javaとiアプリの勉強を始めたばかりの者です。 購入したiアプリのマニュアルにある「POSTレスポンス」のソースプログラムをコンパイルしたところ、 「パッケージ javax.servlet が import にみつかりません」 というエラーが出てしまいます。 ソースプログラムの先頭で、 import javax.servlet.*; と記述しているところで、このエラーが表示されます。 おそらくパッケージ"javax.servlet"を取り込めていないのだと思うのですが、取り込むにはどうしたらいいのでしょうか? どうぞ、宜しくお願い致します。
785 :
Java & iアプリ初心者 :03/09/16 14:39
どなたか
>>784 の私の質問に答えていただけませんか?
・・・クスン(涙
>>785 Javaスレから来た。原因は多分、次のどちらか。
(1):そのパッケージがそもそもインストールされていない。
(2):インストールはされているが、クラスパスが通っていない。
iアプリの事は知らないので、間違ってたらスマソ。
787 :
デフォルトの名無しさん :03/09/16 16:48
>>784 あんまおれも詳しくないけど・・・
servletってことはサーバー側だよね?
iアプリでは・・・そんなクラスは使わなかったような気がする
788 :
Java & iアプリ初心者 :03/09/16 17:11
>>786-787 ご返事有難う御座います。
いろいろ調べてみましたが、どうもTomcatのインストールが正常でないかもしれませんので、もう一度根本からチェックしてみます。
>>788 Tomcatの話ならスレ違い。
コンパイルエラーにいたっては初心者のFAQみたいなもんなので適当にぐぐれ。
会社から書き込めなくなってから、返信がリアルタイムにできなくてすまんのぉ…。 >>Java & iアプリ初心者さん はて、iアプリでjavax.servlet.*;なるものは存在しないぞ 通信はimport java.util.*;かな ←自信なし
505iSでの機能UPはなし?
すいません、質問です。 待ち受けアプリを作成していて、 フリップを閉じた時にアプリを終了させたいのですが processSystemEventにイベントが通知されずに困ってます。 待ち受け起動にはしています。 ご教示お願いいたします。
なんとも曖昧な質問ですが… とりあえず携帯閉じたときにちゃんとイベント発生するので捕まえましょう 大抵のiアプリではSleepに移行するようになっているはずです どこかHP上のソースを参考にするといいでしょう あと終了すると待ち受けアプリの意味がない気がしますが…
public void processSystemEvent(int type,int param){ if(type == FOLD_CHANGED_EVENT && getLaunchType() == LAUNCHED_AS_CONCIERGE){ if(param == 0){ IApplication.getCurrentApp().terminate(); } } } と、記述したのですがエミュ上でフリップを閉じても 動作は終了されませんでした。 あるHPのソースを参考にしてそのまま記述したつもりなんですが…。 >あと終了すると待ち受けアプリの意味がない気がしますが… sleepするより電池消費抑えられるかと考えまして…
public void processSystemEvent(int type,int param){ if(type == FOLD_CHANGED_EVENT && getLaunchType() == LAUNCHED_AS_CONCIERGE){ if(param == 0){ IApplication.getCurrentApp().terminate(); } } } 見難くなってしまいました。すいません。 あと、MODE_CHANGED_EVENTも試してみましたが、 こちらも通知されませんでした。
記述はあってます エミュでフリップ状態検出できたかな…。できなかった気がします ところでですね。一旦終了させると、再び待ち受け登録しなければ 待ち受けアプリとして起動しません それはつまり普通のiアプリを起動するのとかわらない手間、というかかえって面倒なくらい sleepの電力消費はほとんどありません。1分に一度のイベントくらいしか発生させないはず 素直にSleepしましょうね^^b
エミュ上で左クリック→フリップで開ける/閉じるがあるのですが それをやってもエミュでは効果ないとのことでしょうか? もしかして、RESUME_VM_EVENTからオーバーライドする必要があるのでしょうか? 終了するとアプリは解除されるんですか…。; 待ち受けは自分で解除しない限り、もう1度待ち受け画面になった場合 再び起動したと思ったんですが。 しかし、sleepとかわらないならsleepでやった方がいいみたいですね。 参考になりました。
DOCOMOのエミュは低性能だから、そういう細かいハード的な部分は 再現してなかったと思うんですよ バイブとかも駄目だし
なるほど、わかりました。 丁寧に答えていただき、ありがとうございました。
>>792 休眠状態では閉じたときにイベント発生しないのがドコモ仕様だったのでは?
>>795 終了させてもすぐ起動してきます。
>>796 まず、フリップのイベントは待ち受け起動のときでないと発生しませんので、
ちゃんと待ち受け起動してるかどうかチェックしてくださいな。
終了しても待ち受け画面になってしまってすぐ起動してくるから意味がないし、
もし起動したときに「閉じてたら終了」ロジックを入れたりしてたら、
起動→終了→起動 を繰り返して激しく電池消耗して逆効果でしょう。
802 :
デフォルトの名無しさん :03/09/20 21:34
撮影画像のトリミングを行うツールを作りたいのですが、どこか参考になりそうなサイト等をご存知ないでしょうか?
トリミングごときで参考にするようなことあるか? リサイズなら分からなくもないが。
>>803 ぜひ、トリミングの術をご教授願えないでしょうか?
drawImageメソドを使用して画面に表示する事は出来たのですが、これを保存する術がわかりません。
それとも全く違う方法を用いるのでしょうか?
805 :
デフォルトの名無しさん :03/09/22 00:15
P505iで自作アプリダウンロードすると、 「アプリに問題があるのでダウンロードを中止しました」 みたいなメッセージが出るのですけど、ダウンロード時点でコケるような 原因がさっぱり分かりません。 エミュ上では動いているのですが……どなたが原因分かる方おられませんか?
>>805 とりあえずjamファイルの中身をコピペしてみんさい
早速のレスどうもです。 LastModified = Mon, 22 Sep 2003 00:16:33 SPsize = 128 AppClass = appli AppName = アプリ名 PackageURL = appli.jar AppSize = 7965 「appli」、「アプリ名」はちょっと言葉置き換えてあります。 ダウンロードは始まって、ダウンロードの終わり頃にエラーメッセージが 出るので、jamファイルの異常ではないと思うのですが…… jarファイルのサイズは、Windows上で見て正しく7965byteです。
ふむ。それはずばり P505iでサポートしていない拡張APIをつかっているのではないかねっ・・・!?
すまんす。自己解決したっす。
しばらく経ってからダウンロードしたら、いともあっさりダウンロード終了…( ´д`)
どうも、コンパイル直後のダウンロードに問題があるらしい??
PCとケータイの時計は見た目1分以内の違いしかないはずなのに。
今回はコンパイル後5分後くらいでもダメだった。
普段はコンパイル直後とかのダウンロードしょっちゅうやってるのに、こんなの
初めて。
ひょっとして、日付が変わった直後の時刻判定にでも問題あるのか?
>>806 さん、ほんとお手数かけてすまなかったっす。
未来にコンパイルされたアプリは落とせないのかも知れんぞ 余裕があったらテストしてレポしてくれるとありがたい P505はもっていないもので
その後コンパイル後すぐDLを何回かやってるんですけど、いっこうに発生しませんね。 やはり、日付変更直後の時だけおかしかったみたいです。 でも、エラーが出るときもjamファイルの読み込みは正常で、日付サイズその他確認後 DL確認のメッセージが出るし、バージョンアップでやってもDLは始められる。 でも、DLの最後でコケる。よくわかんないっす。
うーむ FTPでUP時にファイル欠けたってわけでもなさそうか… 結構欠けることはあるんだけど あとはUPした場所が、UPから反映されるまでに時間がかかる場所だったとか page.freett.comみたいな
>>805 Pは伝統的に、JAMファイルの最終行が改行で終わったない場合
エラーになる仕様だったはず。それが原因じゃないかね。
つまり、こうじゃなくて
LastModified = Mon, 22 Sep 2003 00:16:33↓
SPsize = 128↓
AppClass = appli↓
AppName = アプリ名↓
PackageURL = appli.jar↓
AppSize = 7965[EOF]
こうしろと。
LastModified = Mon, 22 Sep 2003 00:16:33↓
SPsize = 128↓
AppClass = appli↓
AppName = アプリ名↓
PackageURL = appli.jar↓
AppSize = 7965↓
814 :
デフォルトの名無しさん :03/09/22 19:55
質問です!! iDKDoJa2.0やiDKDoJa3.0をインストールしてみたんですがDOSらしきものが 一瞬出ただけで消えてしまってIアプリを開発するとこがでないで困っています。 DOja1.0は表示されるのです。何か知ってたら教えてください。
>>814 動くか分からんけど全部消して2.0だけ入れなおしてみれば?
>>812 BIGLOBEです。
>>813 jamファイルはiappliツールがはき出したまんまなので、最後の行にも
改行入ってます。
というか再UPしなくても一定時間後にDLできるようになったので、それが
よく分からないところですね。やはり日付変更直後にUPしたものは問題?
全部消してみましたができませんでしたTT
818 :
デフォルトの名無しさん :03/09/22 22:51
>814 パス通せ。
804ですが、どなたかご教授願えないでしょうか?
>>819 ここはiモードですから、そういう質問は無理かと
「iモードで世界地図作るから、地図の書き方について教えて」といわれてるようなものですから
ググるか別のスレッドへでもどうぞ
>>819 失礼。イメージの保存方法でしたか
3.0APIリファレンスのImageXXXXといった名前のクラスに存在したと記憶しています
>>821 ありがとうございます。
画面に描画した画像をImage型で取得できれば、ImageEncoderクラスのencodeメソッドでどうにかなるかと考えているのですが
そのような手法は存在するのでしょうか?
823 :
デフォルトの名無しさん :03/09/23 19:03
>822 Canvasのドット状態を取得して、スクラッチパッドにGIFファイルフォーマットに準じて 書き込み。 その後、スクラッチパッドのGIFデータ開始アドレスから取得すればできるはず。 (似たような事やったのだが、GIFファイルフォーマットに変換するのに挫折して私は諦めましたが… 気合でのりきってください
キャンバスのドット状態の取得ってできたかな… なんにしろImage上のものならエンコードできるから そういうところだけはiアプリは優れてるんだよねぇ…
GIFファイルフォーマットに準じて書き込みって特許に触れそう・・・
許可をもらっているツールで作るのはOKです ですからiアプリで使う場合はフォトショあたりがよいかと そしてDoCoMo自体はもちろん使用料を払っているはずなので、 DoCoMoの携帯電話の機能でGIFを作っても平気ですよん(・∀・)b
会話が通じてない気がする……。
>>822 お前APIリファレンスくらい読めよ…
トリミングだけなら画面関係ないだろ。
Image.createImage()
Image.getGraphics()
Graphics.drawImage()
ImageEncoder.getEncoder()
ImageEncoder.encode()
みなさん、レスありがとうございます。
>>828 試して見たのですが、encode()で失敗します。
例外を見てみると、対象となるImageがgetGraphicsメソッドにより
Graphicsオブジェクトを取得できないためにエラーとなっているようです。
getGraphicsメソッドによりGraphicsオブジェクトを取得できないImageを
Graphicsオブジェクトを取得できる形に変換する事は出来ないでしょうか?
>>829 何が原因でGraphics取得できていないのか良くわかんないけど、俺は下のようなやり方で取得できている。
img = Image.createImage(128, 128);
Graphics g = img.getGraphics();
ドキュメントには次のように書いてある。
getGraphics
public Graphics getGraphics()イメージに描画するためのグラフィックスオブジェクトを取得します。
Image.createImage()で生成されたイメージに対してのみ呼び出すことができます。 取得されたグラ
フィックスオブジェクトは初期状態になっています。 getGraphics メソッドを呼び出すたびに新しいオ
ブジェクトを生成して返します。
戻り値:
イメージに描画するためのグラフィックスオブジェクトを返します。
例外:
UnsupportedOperationException - createImage() で生成されたイメージ以外の イメージに対して呼び出した場合に発生します。
導入されたバージョン:
DoJa-2.0
com.nttdocomo.opt.ui.j3d.Mathのsinとかcosがエミュレータで java.lang.RuntimeExceptionになるの、なんとかならないかな? いちいち実機で確認しなきゃならんし、転送にパケット代がかかってかなわん。
ならないですが… ついでにいうとcos遅いので、自前でつくったほうがいいですよ
>>832 ちょっとした時計作るだけだし、一分に1回程度の計算量なんで
自前で作るのも面倒くさいなぁと…
60種類で委員でしょ。テーブル作っちまえ。
私もテーブル作ってしまうことを激しくお勧めします
ちょっと考えれば8エントリで十分なのも分かりますよね。
com.nttdocomo.opt.ui.j3d2.MathはDしか使えないんだよな〜
また無茶をするなあ。 リッジレーサーといい、携帯アプリとして方向性が間違ってると思うのだが。 まあ、著名タイトル持ってりゃそれを使わないほうがおかしいし、 それで端末性能が上がってくれるなら構わないか。
審査とかに金かかるBREWより 個人でも自由に作って遊べるiアプリのほうに勝って欲しい
>>840 「えにくす」が「すくえに」になっているところに時代を感じる。
SFCのときのドット絵がそのまま使えるからある意味手抜きは出来そうだなぁ。
>>843 アスペクト比違うから作り直し。
GBAやSWANも同様。
すいません。 505でSIZE_LARGEは統一されてるのでしょうか? また、どれくらいの大きさなのでしょうか(24x24)? ご教示お願いします。
>>844 そうなんだ…言われてみればそうだな。タイヘンだ。
>>845 公式にADFがある
私の記憶ではSIZE_MEDIUMとSIZE_TINY以外の大きさは保証されていなかったはずだ
849 :
デフォルトの名無しさん :03/09/28 00:32
ケイタイでスクリーンキャプチャの真似事みたいなのって出来ないですかね?
>>849 それは例えばゲームをダウンロードしてきてそれの画面をキャプしたり、って事かな?
アプリを複数同時に立ち上げることは出来ないし、保存したファイルに外部からアクセスできないから無理だね。
852 :
デフォルトの名無しさん :03/10/01 01:56
>>851 おおぉ、804じゃないけどサンクス!これは勉強になりますた。
こんな感じでイメージのリサイズや回転のサンプルもあると嬉しいんですが。
どなたか情報キボン!
ってか画像の弄り方なんざWeb上に腐るほど落ちてないか? なんでそれらを活用しようと思わないんだ?
iアプリの各ポータルサイトの人気度ってどんな感じ? やっぱアプリ★ゲットとかギガアプリとかがトップに来るのかしらん? 携帯だと意外なとこからもアクセスありそうだけど。
856 :
デフォルトの名無しさん :03/10/02 23:06
505とかだと配列ってどの位までとれるのかな?
857 :
デフォルトの名無しさん :03/10/04 20:25
今、メニューを作っていて、 選んでいる項目の色を反転させようと思って 以下のように書いたんです。 DoJa3.0ではうまくいくんですけど 実機(SH505i)だと真っ黒になっちゃうんです… なんででしょう…? 誰か助けてくだしゃい g.setColor(current_background_color); g.fillRect(x,y,Width,Height); g.setColor(current_color); g.drawPolyline(x_draw,y_draw,13); for (int i=0; i<7; i++) { if (i==menu_select) { g.setColor(current_color); g.fillRect(x+blank+3, y+blank+3+12*(i), Width-2*(blank+3), 12); g.setColor(current_background_color); g.drawString(str[i], (x+blank+3)+4, y+blank+3+12*(i+1)-1); g.setColor(current_color); } else g.drawString(str[i], (x+blank+3)+4, y+blank+3+12*(i+1)-1); }
>>857 色反転やる前に普通に色がちゃんと出てるか確かめてみては?
>>857 current_colorとかcurrent_background_colorが怪しい。
ちゃんとgetColorOfRGBかgetColorOfNameで設定した?
>>858 >>859 ヒントをくれてありがとう。
解決しますた。
>>858 私、初期値として
int current_color = 0xFF00FF;
int current_background_color = 0x000000;
とかやってたんです。
んで実機で
g.lock();
setBackground(current_background_color);
g.clearRect(0,0,getWidth(),getHeight()/2);
g.unlock(true);
やったら色が真っ黒。0xFF00FFだから(255,0,255)のはずなのに。
>>859 言われたとおりに
コンストラクタで
current_background_color = Graphics.getColorOfRGB(0,0,0);
current_color = Graphics.getColorOfRGB(255,0,255);
ってやったら上手くいきました。
てゆうか実機は色の表現の仕方が違うのね…
ふー、エミュに頼って安易なコーディングをしてはいけないということですね。
勉強になりますた。
実機が、というか、機種によって違うのだよ g.setColor(g.getColor(0, 0, 0)); といちいち…
ちょっと疑問なんだけど clearRectとfillRectは背景色を使うかsetColorメソッドの値を使うかの違いだけ? 速度的には同じなのかな?
測ってみるよろし。
864 :
デフォルトの名無しさん :03/10/05 21:05
質問があります。 F505iなんですが、selectEntry()使って最大サイズ(SXGA)の画像が読み出せないのは仕様ですか? SH505iでも最大サイズ(XGA)の画像を読み出すことができないようですし。
865 :
デフォルトの名無しさん :03/10/06 00:55
iアプリからではなく iアプリ内でもともと入っているブラウザを起動することって出来ませんかね? 起動してヤフーなどの検索エンジンにキーワードを入れて検索させたいのですが。 どうかご教授くださいませ
>>865 可能
ブラウザの起動はググってくれ。基本の基のためサンプルが沢山転がっている
ただし、アプリが終了してしまうので注意
検索についてはその検索エンジンの仕組みをある程度知っていれば可能だね
大抵のエンジンは、URLのケツにキーワードをくっつてアクセスすると結果が出るようになってる
867 :
デフォルトの名無しさん :03/10/06 01:34
>>866 お答えありがとうございます。
検索の件大変勉強になりました。
ただ
ブラウザを起動するにはアプリを終了しなければならないということでよろしいでしょうか?
裏で動いていて、ブラウザを自動でスクロールさせたり一定時間起動しているとブラウザを終了して
アプリに戻ってくるような機能をつけたいのですが無理ですよね?
869 :
デフォルトの名無しさん :03/10/06 01:46
>>868 了解です。
自分で簡易ブラウザ作ってみることにします。
ありがとうました〜
カエレ!としか言われねぇ(つд`)
ひょっとしてD505iでしょうか。 同じような症状が報告されていたので(つд`) そうでなければ、なるべく明るいところでお撮りください。
うん、D505だけどいくら明るいところで撮ってもダメっぽい。 感度最大にしてライトを撮ってみても(・∀・)カエレ!!
874 :
デフォルトの名無しさん :03/10/08 03:43
待ち受けアプリのFOLD_CHANGED_EVENTなんですけど、 これ、SO505iでも送られてくるんですよね? これ使って、携帯を畳んでいる(メイン液晶が見えない)ときには停止するような処理を組むとき、 SOでは無効化するようにしとかないとだめぽ?
>>873 同じ風景を撮っても機種間によって微妙に違うんでしょうか。
このアプリの場合、撮影した写真からRGB配列を取得して、
それを元に解析しているので・・・
最悪の場合、機種ごとに補正をかけるかもしれません。
ご報告ありがとうございました。
>>874 メッセージはくる
SleepしててもSOの場合ボタン押されると強制的に非活性化
ああ、むかつく!!ヽ(`Д´)ノ
So505iでSystem.getProperty("microedition.profiles") を表示させたら、Doja2.0でした。 So505iは、Doja3.0ではないんでしょうか? それとも、Doja3.0かDoja2.0を知る方法は、別にありますか? ご存知の方教えてください。。。
878 :
デフォルトの名無しさん :03/10/11 00:53
まって、Dojaって上位互換はしてないの?
上位互換というのは、 2.0の端末が3.0用に作られたアプリを使えるか、ということですか? そうなると、3.0専用の関数さえ使ってなければokですが。 (なんか見当違いのこと言ってたらスマソです) 皆、機種名とかで切り分けしてるんですか?
>>877 ありえません。何かの間違いでしょう。あれは3.0です
上位互換=2.0用のアプリが3.0で動くことです
3.0専用の関数さえ使わなければ=2.0までの関数で作る
よってOKです
機種名で切り分けは特にしません
仕事で作るときはN504だけ別アプリにする必要がありますが(画面大きいから)
iアプリは容量などの制限がきついですが、工夫次第でおもしろいものがつくれます
頑張ってくださいね
>880 ありがとうございます。 3.0からfontサイズにTINYが入ったので、その切り分けに System.getProperty("microedition.profiles") を使おうと思った次第です。 >ありえません。何かの間違いでしょう。あれは3.0です 友人のSo505(あの見まがうはずのないリボルバスタイル)で 『System.getProperty("microedition.profiles") に"3."を含む』 の切り分けができてないから、おかしいと思って表示させてみたら 2.0が返ってきたんです。 今は『機種名に"505"を含む』で(505だけに)対応してます。 もう一度チェックしてみます。 ありがとうございました。
んー、Dojaプロパティにバグがあるのかもしれませんね "505"で機種判別したほうが○でしょう ついでに言うと3.0のデフォルトフォントはTINYですよ 何かの参考になればどうぞ
質問なんですが505のSIZE_MEDIUMは全機種24x24なのでしょうか? エミュとF505ではそうみたいなのですが…。
>>883 そうです
MEDIUMとTINYだけは全機種保証されています(24と12)
デフォがTINYです
公式ページに全機種仕様実装表があったと思いますよ
拡張APIの実装率が低くて笑えます
>>884 ありがとうございました!
>拡張APIの実装率が低くて笑えます
Graphics2はほぼ使えないですよね
折角パレットいじるAPIが拡張にあるのに、残念すぎますよね パレット変化だけで相当表現力変わるのに というか256色モードを搭載しる!!
んなもんいらねー。 これから実装るならせめて頂点カラーだろ。 ちうかマルチプルテクスチャホントに載せてほしい。 これだけでデータ少なくても出来ること大幅に増加する。
>>887 情報交換スレなんだから、相手を咎めるようなことは止めようぜ
やはり俺も256モード欲しいくち
スピードもあがるだろうし、画面全体へのエフェクトもできる
上手くいけばテーブルで半透明もできるかもしれない
886と888は2Dの話をしてるのに、887と889が勝手に3Dと勘違いしてるような。
2Dだろうが3Dだろうが同じことだよ。
893 :
デフォルトの名無しさん :03/10/13 10:59
ちょっと今更かもしれないんですけど iアプリってDLしたサーバ以外通信できないんですよね? けど、以前にどこかのサンプルで「どの画像をDLしますか?」 みたいにいろんなとこのURLが書いてあるのを見たことあるんですけど それってサーバで側いったんDLしてからiアプリにDLさせてたんですかね? でもそれだといろんなURLをあえて書いておく必要ないですよね。 それとも何か方法あるんですか? 質問ばっかりですみません。お願いします。
>>886 >>888 すまんかった。
>>891 マルチプルクチャは2Dでも使える表現方法だよ。
マップチップの絵で例えると、素の元グラフィックと陰パターンや
ライトパターンを組み合わせれば何通りも陰影のある絵が作れるし、
動的に変化させやすい。
これなかったらそれぞれ全部データ用意しないといけないでしょ。
>>893 うーん。どういうアプリだか私にはよくわかりませんが、
そのURLをブラウザで開くというものでは無いのでしょうか?
もしiアプリに持つとしたら、やはりCGI側で一旦自サーバーへ持ってこないといけないでしょう
別サーバーにiアプリがアクセスするのは無理
ただ、505から実装されたトラステッドiアプリだと、別サーバーにアクセスできた「かも」知れません
トラステッドとはDoCoMoから公式IDを貰ったアプリのことで、拡張動作ができるのです
>>894 人によって求める機能が違うものですね
仲良く色々なアプリを作っていきましょう
896 :
デフォルトの名無しさん :03/10/13 12:59
>>895 さんくす!
なんか軽いブラウザみたいな記憶があるんだけど
あいまいで。。
どうしても他のサーバにアクセスしたいんですよね
なんか抜け道ないか探ってみまする
>>896 iアプリをダウンロードしたホストから別のホストにアクセス
してるだけじゃないの?
他のサーバの画像をダウンロードするだけなら、自分で
httpを喋らなくても wget とか lynxとか適当なツール使えばいいし
898 :
デフォルトの名無しさん :03/10/13 14:09
>>897 え?
CGIとか使わないでも、アプリに別サーバのデータを取り込めるんですか?
それってその画像を置いてるサーバから見ればやっぱりアプリ置いてる
サーバからのアクセスになるんですよね?
>>898 端的にいえば、CGI を使う
>>それってその画像を置いてるサーバから見ればやっぱりアプリ置いてる
>>サーバからのアクセスになるんですよね?
そう。
iMonaっていう2chブラウザがあるけど、これってiアプリから
2chの各サーバにアクセスしてるように見える。
こういうのを作りたいんだよね?
http://www31.tok2.com/home/spdv/ ここにそのサーバ側のセットアップ方法が書いてあって参考になると思う
900 :
デフォルトの名無しさん :03/10/13 23:01
>>899 おーーありがd
感謝感謝感謝
こんなものがあったのとは・・・
たびたびすみません
う〜ん外にアクセスできない件、まだちょっと引っかかりまして。
たとえばこのソフト
http://www.nakka.com/i/npop/ ソースの一部
HttpConnection con = null;
String url = IApplication.getCurrentApp().getSourceURL();
String r_str = "";
String s;
int i, j, c;
try{
// POST
con = (HttpConnection)Connector.open(url + "inpop.cgi", Connector.READ_WRITE, true);
con.setRequestMethod(HttpConnection.POST);
やっぱcgiですよね?メール受信するソフトなのに個人のサーバにパスワードとか送るの怖いような・・・
>>901 プロキシを経由する以上、送受信するデータはすべてダダ漏れですな。
そこのメールクライアントはCGI含めてソース公開してるから少しは安心できるだろうけど、
(不安なら自分のサーバに置けばいいわけだし)
公開してない作者もいたような。大丈夫かと。
>>894 886はパレットが欲しいって言ってるのに、ソフトウェアレンダリングとか
言い出すから891を書いただけ。帯域のために8bitモードが欲しいってわけ
じゃないのに。
それに俺はマルチプルテクスチャが2Dで使えないとも言ってないんだが…
っていうか、マップチップに影つける程度にそんな機能いらないよ。
setRenderModeでマルチパスで十分。setRenderModeも実装率低いが。
904 :
デフォルトの名無しさん :03/10/15 06:41
DoJa3.0エミュレータでスクラッチパッドファイルが作成されないんだけど なんでなんだろう? ADFでSPsizeを指定するだけでいいんだよね? 環境はWinXP SP1+jdk1.3
ちなみに
>>887 、
>>894 とは別人。
鬱陶しいかも知れないけど、ディスコミュニケーション予防のために書いとく。
>>905 888だってパレットが欲しいって話だと思うが?
全画面をフラッシュさせるエフェクトやフェードイン/フェードアウトに
パレットを使うってのは常套手段。
テーブルで半透明ってのもよくある話。
俺としては256色モードよりも、スプライトに個別にパレットを持てる
ようにして欲しい。
>>907 半透明もフェードイン/アウトも
setRenderMode、あるいはj3dが十分性能出ればいい話なんじゃないの?
フレームバッファは16bit固定で、テクスチャはpalettedも使えるっていうので
十分だと思うんだけど、なんで半透明とかをソフトレンダリングしたがるのかが
全然理解できないな。
iアプリって
「昔流行ったゲームのダメ移植ばっかり」
で、嫌になっちゃったんだけど、
まだ未来ありそう? なんかどうでもよくなってきちゃった。
スレ違いかもしれないけど詳しい方がたくさんいるスレなので 質問させてください。 CGIで携帯からのアクセスかつ、特定のHPから来た人しかアクセス してもらいたくないんです。 実験してみたところリファラを取得できなかったんですけど iモードのブラウザってどこのHPから来たって情報を吐かないんですか?
>>907 iアプリ初心者なんですが
palettedなスプライト/テクスチャは是非欲しい。
逆に、現状で、ソフトでなんとかpalettedなスプライトを実現することって
可能なんでしょうか?
マルチプル、マルチパスどっちがいいかは個々の趣味になるかもしれんが、 俺マルチパスは勘弁。 2D利用時のマップチップの例をあげたが、もしそれだけの利用を見て「いらねー」っていったんなら マルチパスで良いという意見は理解する。 886の根底はパレットが欲しいというのは間違いないだろうが深読みしすぎ。 書いてあるように、256色モード欲しい=新機能欲しいだろ。 だから新機能なら256色モードより、16bit深度などでマルチプルがあった方が言いって発言したんだけど。 別に今の機能で代用できるかどうだかも関係ないはなし。
912 :
デフォルトの名無しさん :03/10/16 14:29
>>893 iモードはリファラを吐かないです。
携帯からのみ:HTTP_USER_AGENTで判断
特定ページからのみ:該当ページへのリンクで引数もたせる
便乗質問ですが、みんなダウンロードカウントをどうやって取ってますか?
ADFへの直リンしか指定できない配布ポータルもあるので、どうやって
カウントしたものかと迷ってるんですが。
>>910 可能ではあるけど、速度的に使い物にならないかと。
現状では色が違うだけのパターンを別に用意するしかないかも。
マイオとルイージとファイヤーマリオを別のデータとして持つ感じで。
>>907 > 全画面をフラッシュさせるエフェクトやフェードイン/フェードアウトに
> パレットを使うってのは常套手段。
> テーブルで半透明ってのもよくある話。
それは過去形にょ。
今はゲーム機でもPCでも、ハードウェアアクセラレーションを利用するのが普通。
たとえばフェードアウトなら黒い半透明ポリゴンで画面全体を覆う。
ソフトウェアでやってる人はもうほとんど見かけないな。
(関連サイトもほぼ全部更新止まっちゃったし)
>>910 DoJa環境で無理矢理色違いのイメージを作るだけなら、
スクラッチパッドにGIFファイルを置いて、パレット部を書き換えて読み込む手がある。
ゲーム中に動的に書き換えるのは速度面で難しいと思うけど。
というか、そもそも俺なんかは、動的なパレットアニメーションそのものが
不自然な映像表現であって切捨て可とか思ってる結構な右翼。
(補足)まあ、もっとも他のハードの状況がどうだろうと、ケータイの世界に 10年かそこら遅れでソフト描画の時代がやってくるということはありうるけど。 正直、勘弁してくれ、もうやりたくないよというのが偽らざる気持ちかな。
>>913 >>914 なるほど・・・(しょぼん
やりたいのはアニメーションではなくて同じキャラの色変えを複数
同時に表示させたいことなんです。
スクラッチパッドではなくて、ヒープなりstaticなメモリ領域にGIFの
データを作って(これはパレットごとに別のデータでOK)、それを
読み込ませる、ってことは出来るかな?
教えて君ですまんす(_o_)
パレットごとに別のデータを用意してもいいなら、そのまま描画するだけで いいと思うんだが? Imageのインスタンスが1つしか持てないわけじゃないんだから。
918 :
デフォルトの名無しさん :03/10/17 12:21
>>912 いつも答えてくれてありがd
ここの板は親切な人がおおいなぁ〜
>>917 グラフィックデータ自体は、1色分だけスクラッチパッドに置いておくように
して、あとは必要な場面になったらメモリに展開、という感じにしたいのです。
全色分データが載るようだったら全部突っ込んじゃいますけど、エレガントじゃ
ないなぁ、とw
>919 数キャラ分なら最初に生成しちゃうのは可能でしょ 要はRPGのモンスターのソレってことでしょ? 503の時にコード書いたけど陽の目は見なかったなぁ・・・w
921 :
デフォルトの名無しさん :03/10/17 20:01
いろいろ機種の実装状況みてると、 拡張機能なんてほとんど使えないじゃない? パレット使えないのは痛すぎる。 とりあえず505は拡大と反転ができるようなのでほっとしましたが、 あのDシリーズはほとんど×ついてますけど、あれはどうしたことなんですか? 間違いとかじゃないの?って思ってしまいまつ。 3Dだけ使えるみたいですけど。
>>919 だからそれくらいならできるとみんな言ってるわけでしょ…
HIの3Dエンジンは各社同じのを使ってるようだから、
そっちの方の機能を拡張して普通の2Dゲームでも使えるように
してもらうほうが最終的にみんな幸せになれるんじゃないかなぁ
drawImageとかsetPixelをまともにするってのは機種によって速度違いすぎて
いつまでたってもよくならないと思うし、
SpriteとかImageMapを整備しろってのはもっと間抜けな感じがします。
ShortTimer クラスのオブジェクトで、 "1066495397803" とかいうのを 日付時刻に直すには、どうしたらいいですか?
>>923 javaにはCalendarという日付を扱えるクラスがありますよ
そちらを使ってみたらいかがでしょうか
925 :
デフォルトの名無しさん :03/10/19 13:51
どうもです。 現行のコードで、ShortTimerで記録を付けるようにしてるんですよ。 で、ShortTimerオブジェクトを作成した瞬間の数字を 日付に変換することができたらいいなと思っています。
>>925 Calendarクラスに、変換用のメソッドありますよん
Calendar javaでぐぐればTOPにでてきます
505iS、イケテルFOMAと新機種が出てきますが iアプリのほうはどんぐらいパワーアップすんの?
('A`)iSでの変化はなし FOMAでは今までだと中身にほとんど変化無し バグもまんま
929 :
デフォルトの名無しさん :03/10/19 18:14
取得したImageの明るさを調節したいんですけど、 何か良い方法ありませんかね?
505ならgetPixelとsetPixelがそれなりの速さ それ以外だと、Imageの色をとる手段はないね(504は無理) 一旦GIFでスクラッチパッドに吐き出して、そのバイナリを解析するなら別だけど
>>926 ShortTimer クラスのオブジェクトから、
Calendar.get() は失敗してしまいます。
Date クラスならOKだったのですが...。
932 :
デフォルトの名無しさん :03/10/21 23:43
Math.round() が使えないんだけど、 四捨五入ってどうやってるの?
>>932 それ以前に小数点が扱えないと思うけど。
934 :
デフォルトの名無しさん :03/10/22 01:51
それは10倍して扱ってるのでOKなんだ
10倍した数がintに入ってるということかい? なら、 n = (n + 5) / 10 * 10; で四捨五入になると思う。
936 :
デフォルトの名無しさん :03/10/22 21:27
>>930 どうもありがとうございます。
試しに以下のようなコードを実装してみたのですが、
実用には少しばかり厳しいくらいに時間がかかります。
他に実行速度に優れた術をご存知ないでしょうか?
for(int i = 1; i < sw + 1; i++)
{
for(int j = 1; j < sh + 1; j++)
{
int rgb = g.getRGBPixel(i, j);
int r = ((rgb >> 16) & 0xff) + 20;
int g = ((rgb >> 8) & 0xff) + 20;
int b = ((rgb >> 0) & 0xff) + 20;
rgb = (0xff000000 | r << 16 | g << 8 | b);
g2.setRGBPixel(i, j, rgb);
}
}
>>936 20は定数?
定数なら
for (int i=1; i<=sw; i++) {
for (int j=1; j<=sh; j++) {
g2.setRGBPixel(i,j,g.getRGBPixel+0xFF141414);
}
}
変数なら
int add = 20;
for (int i=1; i<=sw; i++) {
for (int j=1; j<=sw; j++) {
g.setRGBPixel(i,j,g.getRGBPixel+0xFF000000+256*add,+16*add+add);
}
}
ループ内で変数を宣言すると遅くなるので
ループの前で宣言しよう
すまん、ちょいとミスった こうしてメソッドにしておくといいかも void changeBrightness(Graphics g1, Graphics g2, int r, int g, int b, int sw, int sh) { int brightness = 0xFF000000 + 65536*r + 256*g + b; for (int i=1; i<=sw; i++) { for (int j=1; j<=sh; j++) { g2.setRGBPixel(i,j,g1.getRGBPixel+brightness); } } }
またもミス ×g2.setRGBPixel(i,j,g1.getRGBPixel+brightness); ○g2.setRGBPixel(i,j,g1.getRGBPixel(i,j)+brightness); スレ汚してスマン
>>937 どうもありがとうございます。
私のコード的に一番実装しやすい
>>937 の変数のほうのパターンを使用してみたのですが、
イメージが一気に、全体的に黒くなってしまいます。
とりあえずGraphics2使うのはやめようね
>>935 どうもです。 なるほど。
レスを参考に、桁数を変えられるようにしてみました。
良くできるところはありますか? 一応、動作してます。
class MyMath {
public static long roundOff(long stuff, int digit) {
if (digit < 1) {
return stuff;
} else if (digit > Long.toString(stuff).length()) {
return 0;
}
long exponent = 1;
for (int i = 1; i < digit; i++) {
exponent *= 10;
}
stuff += 5 * exponent;
stuff /= 10 * exponent;
stuff *= 10 * exponent;
return stuff;
}
}
943 :
デフォルトの名無しさん :03/10/23 00:19
マトリックスみたいに文字列を鏡文字にするには どうしたらいいですか?
>>943 左右反転とかってことかな?
残念ながらそういうAPIはないね。
createImageで確保したところにdrawStringして、それを左右対称で実画面に送るしかないかな
945 :
デフォルトの名無しさん :03/10/23 00:23
>>940 多分0xFF000000は不要なので
g2.setRGBPixel(i, j, g.getRGBPixel(i, j, 65536*add + 256*add + add);
にしてくれ
というか
>>938 のメソッドを使った方が間違えなくて済むしコードも短くなると思うよ
>>941 誰も使ってないと思うよ
>>943 >>944 の方法しかないと思うし、それが一番簡単だと思う。
というかそんなどうでもいいAPIはリファレンスが読みづらくなるからいらないな
948 :
デフォルトの名無しさん :03/10/23 02:53
携帯用アプリなんて単純なんだからPerlで十分だよ。
949 :
デフォルトの名無しさん :03/10/23 10:06
変数名とかを短縮してくれる いいソフトって何かないでしょうか? できればフリーのやつで・・・・
951 :
デフォルトの名無しさん :03/10/23 16:02
手元にN504isしかないんですが ネットから画像(jpeg)をダウンロードしてスクラッチに保存したいんですが なぜか失敗してしまいます。↓がソースなんですが 何かマズイ点とか見としてる点などありますでしょうか? OutputStream Out = Connector.openOutputStream("scratchpad:///0;pos=5120"); // 5KB HttpConnection Http = (HttpConnection)Connector.open(ImageURL, Connector.READ); Http.setRequestMethod(HttpConnection.GET); Http.setRequestProperty("Content-type", "image/jpeg"); Http.connect(); InputStream In = Http.openInputStream(); byte Data[] = new byte[128]; int Length; while((Length = In.read(Data)) != -1) Out.write(Data, 0, Length); In.close(); Out.close(); Http.close();
あの、ちょっとお尋ねしたいのですが 画面上に200字程度で構成される文字列を表示させたいのです。 リストボックスなども併用いたしますので高レベルUIを用いています。 一つのラベルを複数行に渡って表示させることは可能でしょうか? 実機は所持しておらず未確認なのですがドコモ公式のエミュでは改行されません。 どなたかお心当たりがありかつお時間が御座いましたらレスお願いします。
>>951 まずはエミュで試せ。
「その他」「ネットワーク設定」で鯖名いれて動かせばDLできる。
それで何のエラーか分かる。エラーが分かれば直すのはすぐできる。
1.鯖が違う(.jarを置いた鯖だよな?)
2.URLが違う(ちゃんと絵のあるURL指定してるか?)
String ImageUrl = IApplication.getSourceUrl() + "xxx.jpg";
みたいに鯖名も含まれているかチェックする事。
コードは問題なさそう。
1つ気になるのは
byte Data[]
という宣言だけど。(漏れはいつもbyte[] data)
>>952 無理。たとえできても機種依存。
HTMLコンテンツのような「説明文+入力エリア」的なものを
作りたいなら、素直にHTMLで作る事を勧める。
特に大量のラベルを配置するのは無謀。
例えばP503は、フォーカスの当たらないコンポーネントは
スクロールで飛ばす。Panelに
ボタン、ラベル×10個、ボタンの順で配置してみると分かる。
955 :
デフォルトの名無しさん :03/10/23 17:00
HTMLをiアプリ上でレンダリングして表示することって標準のAPIでできますか? それとも自分でHTMLのパーサもレンダラーも作らなければできませんか?
ドキュメント嫁よ
>>955 iアプリ自体が向いてないって話なんだが。
全部Canvasで実装するか、素直にi-modeコンテンツを用意したほうが
いい。HTMLを自前でレンダリングするのは大変だと思う。
iアプリを連動させたいなら、504以降ならブラウザから起動できる。
<PARAM>タグを使えばパラメータも渡せる。
後はドキュメント嫁。これ以上甘えんな。
>>957 ありがとん。
じゃあ適当にタグを限定して展開するルーチンでも実装することにしますわ。
どもでした。
>>946 どうもありがとうございます。
なかなか早くなりました。
携帯に内蔵されている明るさ調節機能だと1〜2で実行出来るんですが、
あれは一体どうやっているんでしょうね。。。
>>954 アドバイスありがとうございます。
今回はアプリとしてどうしても作成したいので…(^^;
Doja3準拠で作成しているのでDoja1時に比べると,機種依存は少ないって
どっかのHPで見たんですが,まだ完璧に改善されては無いんでしょうかねぇ…
テキストボックスのfocus取り上げとsetEditable.falseで何とか
逃げ切ろうと思います。
何度も質問すみません
ttp://www.wansta.co.jp/iap/kamoku.html ここにあるようなインターフェースはCanvasを用いてるんですよね?
getLineBreak, getChars, getFontなんかを組み合わせて実現するってことですか?
難しそうですね…(´・ω・`)
でも立ち向かってこそプログラマ,ド素人ですが頑張ってみます(`・ω・´)
>>961 Canvasだね、十中八九。
つうか、「ごたく」でしょ、これ。問題の内容が違うだけで。
これで1000円ってぼろいな。
Graphicsのメソッド見ればほぼOK。太い線に囲まれた問題表示は、
fillRectで黒で全体、白で上部、青で下部に四角い塗りつぶしを描く。
あとは座標計算だけ。
・文字列の幅を取得
int width = Font.getDefaultFont().stringWidth("問題です");
・色を変更
g.setColor(Graphics.getColorOfName(Graphics.NAVY));
API見ただけでわかり辛いのはこんなもんかな?。
後はググってプログラミング情報を公開しているサイトを探すべし。
アスキーから出てる本はいろいろ書いてるが高い。古本屋探すべし。
楽天EasySeekとか日本の古本屋とか、実際に神田行くとか。
963 :
デフォルトの名無しさん :03/10/25 18:54
すいません、「☆初心者☆」です。 いや、iアプリを作ろうと思ったらDojaが動かなくて困ってます。 JDK1.4入れて、パス通してDojaいれて起動しようとすると Dosプロンプトの画面が一瞬でて消える。 コマンドラインから実行すると Java is not installed と、言われる始末。入ってるのに無いといわれるので途方に くれて困ってます。どうすりゃいいんでしょう? confファイルみたいなのもないし、ログもでないし・・・。 てことで、どなたか同様の現象を解決したことがある方 おしえてください。お願いします。
両方消して再インスト あとDojaでの公式対応JDKは1.3 それでもダメならまた来なさい
965 :
デフォルトの名無しさん :03/10/25 19:53
>>964 レスどうもです。ちょうど今やってまーす。
パスはjdk\binに貼るぐらいで後はいりませんよね?
基本的に自分でパス通す必要はない
>>951 GETのときにcontent-typeを設定してハマってる人が多いのがいつも
気になってるんだけど、なんでそれを設定しようっていう気になるの?
>>962 とってもわかりやすくご説明いただき有難う御座います(・∀・)
これならド素人でも何とかできそうかも
ガンガりまっす(・∀・)9
>>967 >>951 はどこかのGIF落とすサンプルのコピペに見える。
結構content-type指定してるサンプルって多いよね。
ところで、今.mdlファイルをphp経由でiアプリに落としたいんですが、
試しに普通にi-modeで繋ぐと文字列として認識されます。
サーバー側のcontent-typeが分からないんですが何を指定すれば
いいんでしょうか?
フリーでiメロディを配布しているサイトで、CGI経由の奴をPCからDLすると
普通にダウンロード用ダイアログがでるのに、そのphp経由だと
PC上でも文字化け文字列になるので、content-typeがおかしいんだと
思うんですが。
970 :
デフォルトの名無しさん :03/10/25 23:24
すみません、ここで「作って欲しいiアプリ」のリクエストとかしたら、 聞いてもらえたりしますか?
スレ違いだけど、簡単なものだったら誠意しだいじゃないの? 例えば970踏んだ君が次スレ立ててくるとか
972 :
デフォルトの名無しさん :03/10/26 01:29
質問です。 アプリとは別のサーバにある画像を取り込む事って出来ないんでしょうか? よろしくお願いします。
>>970 暇と内容と、誠意次第かなぁ。
>>972 505から加わったiアプリDXなら別鯖にも繋がる。でも
公式サイト以外作れない(たしかID発行?)
それ以外の方法としては、自鯖のCGIをプロキシにするという手がある。
2chビューワがそれやってる。検索すればソースが転がってたはず。
>>973 ありがとうございます。
別サーバに接続なんてのが出来れば、i-shotで送られてきた画像も
保存できるんじゃないかなぁ・・・なんて都合の良い事を考えてたんですけどね。
やっぱり無理そうですねぇ。。。
>>969 http://www.zdnet.co.jp/mobile/0104/27/ijava_14.html このへんですね…
> 筆者がN503iで試したところでは,
> setRequestMethodやsetRequestPropertyは実行するメソッドがGETで,
> 取得するデータがテキストの場合は省略しても動作するようだ。
> だが,ほかの機種で何が起こるかは不明なので,
> 上記のような作法に従っておいたほうがよさそうだ。
大嘘じゃん。
GETのときのcontent-typeは本来指定しないものだとおもうけど…
N503iではたまたま無視されているだけじゃないのかな?