1 名前:デフォルトの名無しさん mailto:sage [2006/11/22(水) 13:10:01 ] NTT DoCoMoのiモード携帯電話用Javaに関する話題を扱うスレッドです。 ※DoCoMo以外は下記スレへ。 CLDC+MIDP+携帯電話用Javaスレッド part 6 pc8.2ch.net/test/read.cgi/tech/1155174514/ ■ iアプリ特有ではなくJava一般に関する質問はこちらへ 【初心者】Java質問・相談スレッド94【大歓迎】 pc8.2ch.net/test/read.cgi/tech/1164057114/ ■ iモード携帯電話用Java(iアプリ)まとめサイト ton.my-sv.net/ ■関連スレ 【日本携帯】Mascot Capsule/Micro3D【標準】 pc8.2ch.net/test/read.cgi/tech/1117773530/ 過去スレ Part 1 ttp://piza2.2ch.net/tech/kako/975/975428633.html Part 2 ttp://pc3.2ch.net/tech/kako/1000/10007/1000723476.html Part 3 ttp://pc2.2ch.net/test/read.cgi/tech/1040898596/ Part 4 ttp://pc5.2ch.net/test/read.cgi/tech/1067139509/ Part 5 ttp://pc5.2ch.net/test/read.cgi/tech/1084246226/ Part 6 ttp://pc5.2ch.net/test/read.cgi/tech/1091286071/ Part 7 ttp://pc5.2ch.net/test/read.cgi/tech/1102844217/ Part 8 ttp://pc8.2ch.net/test/read.cgi/tech/1110946222/ Part 9 ttp://pc8.2ch.net/test/read.cgi/tech/1120411353/ Part 10 ttp://pc8.2ch.net/test/read.cgi/tech/1131603113/ Part 11 ttp://pc8.2ch.net/test/read.cgi/tech/1141796982/ Part 12 ttp://pc8.2ch.net/test/read.cgi/tech/1154336955/
4 名前:デフォルトの名無しさん mailto:sage [2006/11/22(水) 13:20:25 ] >>2 NTTのリンク切れてる www.nttdocomo.co.jp/service/imode/make/content/iappli/index.html
5 名前:デフォルトの名無しさん mailto:sage [2006/11/22(水) 13:24:12 ] ごめん こっちだった… www.nttdocomo.co.jp/service/imode/make/
6 名前:デフォルトの名無しさん [2006/11/22(水) 13:32:47 ] 一乙
7 名前:デフォルトの名無しさん mailto:sage [2006/11/22(水) 13:33:58 ] system.out.print(">>1 乙");
8 名前:デフォルトの名無しさん mailto:sage [2006/11/22(水) 22:06:53 ] while(res<=1000) System.out.print(">>1 乙");
9 名前:デフォルトの名無しさん mailto:sage [2006/11/22(水) 23:09:06 ] >>1 乙。 >>8 マテコラ
10 名前:934 [2006/11/23(木) 00:48:01 ] helloworld.terminate();
11 名前:デフォルトの名無しさん mailto:sage [2006/11/23(木) 01:22:50 ] System.out.printって実機では何も意味無いよね? 無いからいいんだけどさ。
12 名前:デフォルトの名無しさん mailto:sage [2006/11/23(木) 01:49:24 ] >>11 AppTrace = on
13 名前:デフォルトの名無しさん mailto:sage [2006/11/23(木) 02:27:12 ] >>12 トレースて。初めて知った。 機種依存バグとか判別するのに使えそうだな。ありがとう。
14 名前:デフォルトの名無しさん mailto:sage [2006/11/23(木) 17:59:09 ] 赤外線使って連続してデータ送ろうとすると2つめからデータが壊れてるんだが 何かデータを制御(?)しないとダメなの?
15 名前:デフォルトの名無しさん mailto:sage [2006/11/23(木) 20:12:11 ] iアプリでRSAを作成したいんだが、とりあえずBouncy CastleのHPから J2ME用の lcrypto-j2me-134.zip をDL。 展開すると zipで固められたclassファイルとソースファイルが入ってるんだけど、 どっちをつかえばいいのかな? 外部ライブラリの使い方がいまいちわからなくて・・・
16 名前:デフォルトの名無しさん mailto:sage [2006/11/23(木) 20:55:35 ] >>14 そんなこと無いはず。 連続してデータを送るって部分のソースの書き方が 何か間違ってるか、受け取り方が悪いか・・・ >>15 ソースをオススメする。
17 名前:14 mailto:sage [2006/11/23(木) 21:53:49 ] 2つの文字列を受け取るときにgetContentLength()を使ってるのが原因かな? 赤外線通信について詳しく解説してるサイトとか無いかな?
18 名前:15 mailto:sage [2006/11/23(木) 22:19:03 ] レスありがと。 ソースつかってやってみたけど、 とりあえずEclipseで、インポート→ファイル・システム で ソースを全部インポートするといくつかのソースがエラーがでてるんだよね。 エラーの内容見てみると FileInputStream を型に解決できません。 FileNotFoundException を型に解決できません。 IllegalStateException を型に解決できません。 それでソースみると、 import java.io.BufferedReader; import java.io.FileInputStream; とかimportしてるんだけど、これってJ2MEでは使えないよね? どうしたらいいのかな?
19 名前:デフォルトの名無しさん mailto:sage [2006/11/23(木) 22:59:06 ] BufferedReaderはcom.nttdocomo.io.BufferedReaderで代用 FileInputStreamはConnector.openを使ってソース直してなんとかする
20 名前:デフォルトの名無しさん mailto:sage [2006/11/24(金) 02:49:53 ] >>17 ドコモの開発ガイドじゃダメなの?ちゃんとサンプルソースも載ってるし。 連続してデータを送るってのは、2回PUTしてるのかと思ってたけど、 2つの文字列ってことは もしかして違う? >>18 RSAやるのに全てのクラスが必要な訳ではない。 org.bouncycastle.crypto.test.RSATestとか見て (用途に合わせて参照するTestクラスを探して) 必要なクラス以外取り除けばスッキリ。
21 名前:15 mailto:sage [2006/11/24(金) 03:20:32 ] 必要なクラスだけつかってやってみる。 ホント助かった。 ありがと
22 名前:15 mailto:sage [2006/11/24(金) 06:40:21 ] とりあえず最低限のクラスだけで実行してみたんだが、 newでオブジェクトを作成したら無事にコンパイルはできるけど 実行したらエラーが起きてしまう。 インポートしたクラスファイルは、 デフォルト・パッケージ で sample.java java.math の BigInteger.java java.security の SecureRandom.java org.bouncycastle.crypto の Digest.java org.bouncycastle.crypto の ExtendedDigest.java org.bouncycastle.crypto.digests の SHA1Digest.java org.bouncycastle.crypto.digests の GeneralDigest.java で、sample.javaのなかで BigInteger pubExp = new BigInteger("11", 16); とやると携帯画面が消えちゃうんだよね。 でもおなじようにクラスをインポートしてJavaアプリとして作成したら問題なくうごくから iアプリとして作る場合はほかになんか設定とかあるのかな?
23 名前:デフォルトの名無しさん mailto:sage [2006/11/24(金) 10:07:26 ] ヒント:BigInteger それだけじゃ、かわいそうだから下のサイトも紹介してあげるんだからね! ttp://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=33849&forum=13&5 べつにRSA完成させて公開してほしいんじゃないから勘違いしないでよね!
24 名前:デフォルトの名無しさん mailto:sage [2006/11/24(金) 12:15:52 ] >>前スレ997 入門書読んだ程度のレベルでいきなり外部の偽装画像からの読み込みは 大変だから段階を踏んで作って行きなよって言ったつもりだったんだが。 外部データがどうこう言うよりもテキストデータの処理そのもので詰まるはず。 まずはそこをやってみてダメなら相談するといい。 とりあえずソースに直接テキストデータを書き込んで それを思い通りに描画できるようになりなさい。 それが出来たらリソースに用意したテキストファイルを読み込み 画面表示ができるかどうか。それが無事できたら初めて 偽装画像からのテキスト取り出しにかかるといい。 作りたい強い意思があるならもっと段階踏んでチャレンジしていくべき。 俺の勘違いで文字の処理そのものはまったく平気で偽装データの読み込みだけが できないんだ!って言うのならそのデータ読み込みをしている部分の ソースをある程度提示してくれればアドバイスのやり方はあるかと思うよ。
25 名前:デフォルトの名無しさん [2006/11/24(金) 21:05:21 ] ところでSDカードのデータリードって出来るの? 禁則事項です?
26 名前:デフォルトの名無しさん mailto:sage [2006/11/24(金) 22:38:10 ] >>22 java で始まるパッケージ名はSunに予約されているので、 java.math.BigInteger java.security.SecureRandom はパッケージ名を変更する必要がある。 eclipse ならリファクタリングで一発
27 名前:デフォルトの名無しさん [2006/11/25(土) 01:06:41 ] 以下のように、ユーザーに携帯内の画像を選んでもらう時、 画像のサイズからかUIException.NO_RESOURCESの エラーがでて困っているんですが、 これって、端末の画面サイズ以上はダメ、とか ○○kb以上の画像はダメ、とか決まってるんでしょうか? ImageStore is = ImageStore.selectEntry(); imgId = is.getId();
28 名前:14 mailto:sage [2006/11/25(土) 11:12:52 ] >>20 2回PUTってのが盲点だった。 そりゃ2回別々に送信すればgetContentLength()で巻き込まれないよなぁ。 ありがとう。
29 名前:デフォルトの名無しさん mailto:sage [2006/11/25(土) 12:40:25 ] >>20 > 必要なクラス以外取り除けばスッキリ。 そんなのproguardにやらせろよ
30 名前:15 mailto:sage [2006/11/25(土) 14:44:32 ] >>26 パッケージ変更したらうまく動作したよ。 eclipseって便利だな。 これでなんとかやってみれそう。サンクス
31 名前:デフォルトの名無しさん mailto:sage [2006/11/25(土) 21:39:07 ] Panelを使い、KeyListener使ったときにDisplay.KEY_CLEAR使っても エミュ上でクリアキーで動かないのは仕様? それとも実際に携帯上だと動くの? 同じ内容を他のキーに設定したら動くから実装ミスではない。 それとも俺が間違ってて他にやり方があるの? 解決法があれば教えてください。
32 名前:デフォルトの名無しさん mailto:sage [2006/11/25(土) 21:51:34 ] ソフトキー1を押すとメニュー画面を表示するようにしたいです。 メニュー画面はどのように製作したらいいか知恵を貸してを頂きたいです。 パネルをDisplay.setCurrentで切り替えた際に古いPanelなりCanvasなりに 描画したものを破棄したい場合はどうしたらよろしいでしょうか? よろしければご教授ください。
33 名前:デフォルトの名無しさん mailto:sage [2006/11/25(土) 23:05:00 ] >>31 KEY_IAPPに変えると悩みは解決するかもしれない
34 名前:デフォルトの名無しさん mailto:sage [2006/11/25(土) 23:10:20 ] 前スレで俺が0x18と教えてやったろ。
35 名前:デフォルトの名無しさん mailto:sage [2006/11/25(土) 23:42:15 ] キーリピートの判定みんなどうやってる?
36 名前:デフォルトの名無しさん mailto:sage [2006/11/26(日) 00:19:24 ] >>33 レスサンクスです。 大体最近の機種は切り替えとクリアがかぶってることが多いからですかね? それでもエミュ上ではクリアが動作しませんでした。 >>34 ごめんなさい。 タイマーとして時間を計るのはカレントタイム取得して、差を出すしかありませんかね? 60秒経ったら終了とかにしてみたいので…。 他に方法があったら教えていただけたら嬉しいです。
37 名前:36 mailto:sage [2006/11/26(日) 00:45:44 ] 自己解決したと思ったんだけど不可だった。 なんでだろう。 private count=0; private Timer time; private Label sec = new Label(); time = new Timer(); time.setTime(1000); time.start(); public void timerExpired(Timer source) { if(souce==time) { count++; sec.setText(" "+count+"秒"); sec.start(); //これ入れるかどうかわからなかったが…。 } ちゃんとadd(sec);はしているのにずっと0秒のまま。
38 名前:デフォルトの名無しさん mailto:sage [2006/11/26(日) 01:36:33 ] >>37 sec.startってなんだよ? timerの間違い? 動いてないのは恐らくリスナを登録してないから。 あとリピートタイマにしたいならタイマクラスにそれを設定するAPIあったはず。API嫁。
39 名前:デフォルトの名無しさん mailto:sage [2006/11/26(日) 01:54:41 ] >>38 レスありがとうございます。 sec.start();はtime.start();の間違いでした。 元のソースが汚くて書き直したので混同してしまいました。 おっしゃるとおりリスナの登録を忘れていました。 的確にありがとうございます。 APIは読みながらやっているのですが知らないクラスばかりでどうも手際が悪いです。 繰り返しはsetRepeat()というやつみたいです。 ありがとうございました。
40 名前:デフォルトの名無しさん mailto:sage [2006/11/26(日) 02:09:47 ] >>38 レスありがとうございます。 sec.start();はtime.start();の間違いでした。 元のソースが汚くて書き直したので混同してしまいました。 おっしゃるとおりリスナの登録を忘れていました。 的確にありがとうございます。 APIは読みながらやっているのですが知らないクラスばかりでどうも手際が悪いです。 繰り返しはsetRepeat()というやつみたいです。 ありがとうございました。
41 名前:デフォルトの名無しさん mailto:sage [2006/11/26(日) 05:15:53 ] LocationProviderが一般人に使えるようになることはないのかね・・・ 標準のアプリが糞過ぎてムカつくのに手が出せない悔しさ
42 名前:デフォルトの名無しさん [2006/11/26(日) 15:01:54 ] 音楽ファイルってmidiから変換できると聞いたんですが、 何かツールがあるのでしょうか?
43 名前:デフォルトの名無しさん mailto:sage [2006/11/26(日) 15:20:46 ] DoJa5.0 まだー?
44 名前:デフォルトの名無しさん mailto:sage [2006/11/27(月) 00:10:52 ] MediaListnerを使用してiメロディを再生したいです。 hoge.mldというファイルでしたらどこに配置すればよいですか? bin以下とC:\iDKDoJa4.1\lib\multimediaに配置したのですが AudioPresenter#setSound: UIException(ILLEGAL_STATE) : Media sound is not usable com.nttdocomo.ui.UIException: Media sound is not usable com.nttdocomo.ui.UIException: Media sound is not usable という例外が吐き出されてしまいます。 解決法をご存知でしたらご教授いただけると嬉しいです。
45 名前:デフォルトの名無しさん mailto:sage [2006/11/27(月) 00:48:06 ] すみません自己解決しました。 resフォルダに入れたら無事に鳴らすことができましたので一応報告しておきます。 それでは。
46 名前:デフォルトの名無しさん mailto:sage [2006/11/27(月) 02:13:47 ] panel上に配置したLabelなどを一度全部破棄して再描画するにはどうしたらいいですか? dispose()も使えない様ですし新しく同じPanelを作って作り直すしかありませんかね?
47 名前:デフォルトの名無しさん mailto:sage [2006/11/27(月) 04:59:21 ] Display.setCurrent ?
48 名前:デフォルトの名無しさん mailto:sage [2006/11/27(月) 10:34:57 ] BGMとしてmldを永続的に再生する事ってできませんか? Timerの様にsetRepeat()が使えるわけでも無いようなのでどうしたら良いかわかりません。 どうか知恵をお貸しください。 よろしくお願いします。
49 名前:デフォルトの名無しさん mailto:sage [2006/11/27(月) 10:54:59 ] >>47 レスありがとうございます。 出先からなので携帯から失礼します。 Display.setCurrent()ですと例えばpanel1からpanel2に切り替えまたpanel1に切り替えると 切り替えた時点の情報を維持したまま画面に表示してしまいます。 新しくインスタンス化すれば新しいパネルとして使えますが 新しくインスタンス化した場合は古いものはgcが破棄してくれるのでしょうか? 出来れば同じパネルを初期化して使いたいのですが…。 変数だけ初期化してもカーソルの位置は戻らないようです。
50 名前:デフォルトの名無しさん [2006/11/27(月) 11:43:55 ] >>48 MediaListenerで見張って AudioPresenter.AUDIO_COMPLETEが来たらすかさずplay()
51 名前:デフォルトの名無しさん mailto:sage [2006/11/27(月) 11:47:25 ] >>31 クリアキーはキーグループが違う。 使いたい場合はキーグループの有効化を先に行わないと使えない。 詳細は前スレ。 >>35 リピートって言っても色々ありすぎてどれを指してるのか不鮮明。 連打系のリピートならキーバッファを用意してイベント事に格納する。 長押し系なら毎フレーム処理の頭でキー情報を取得する。 >>48 MediaListenerを登録してAUDIO_COMPLETEイベントを受け取ったら もう一度再生する。曲が短い場合は負荷がでかくなるので注意。
52 名前:デフォルトの名無しさん mailto:sage [2006/11/27(月) 12:55:38 ] >>50 ,51 レスありがとうございます。 BGMを鳴らしながらSEもなるんですけどってどうしたら(ryと書こうとしてましたけど public void mediaAction(MediaPresenter source, int type, int param) { if((source==boss)&&(type==AudioPresenter.AUDIO_COMPLETE)) { boss.play(); } } としたら無事に目的のソースのみを再生する事ができました。 ありがとうございました。
53 名前:デフォルトの名無しさん [2006/11/27(月) 19:04:30 ] >>24 前スレ997です。 アドバイス本当にありがとうございます!すごくうれしいです。 おっしゃるとおり、段階を踏めば、どこがわからないのかがわかってきました。 ソースにテキストデータを書き込んでCanvasで描画するのはできるようになりました。 この場合は class MyCanvas extends Canvas{ public void paint(Graphics g){ g.drawString("hoge", 10, 30); g.drawString("hogehoge"", 10, 50); g.drawString("hogehogehoge", 10, 70); } } という感じで良いですよね。 次の、リソースに用意したテキストファイルを読み込む場合となると、途端に分からなくなってしまいました…。 上の場合は、一行ずつ描画するのは逐一 drawString() で書いていけばいいということは分かったのですが、 ファイルを読み込んで描画する場合はどうなんでしょうか。 読み込みは、 Connector.open() を使って、その読み込んだものを同じく drawString() で描画するのですか? このばあい、折り返しは自動ではできないのですよね?
54 名前:デフォルトの名無しさん mailto:sage [2006/11/27(月) 23:02:49 ] Canvasでタイマーイベントが発生した場合、またはKEY_SELECTを 押した場合にどんどん文字を表示させていく事はできますか? public void paint(Graphics g){ g.drawString("hoge", 10, 30); g.drawString("hogehoge"", 10, 30); g.drawString("hogehogehoge", 10, 30); } とどんどん増やしていきたいです。 ShortTimerがでイベント発生時に毎回それごとのフラグを立てて repaint();と考えたのですがすこし回りくどい気がします。 何かいい方法があればよろしくお願いします。
55 名前:デフォルトの名無しさん [2006/11/27(月) 23:59:03 ] >>53 >>54 俺様が親切丁寧にConnectorの使い方教えてあげたのにまだわからんかね? g.drawString("hoge", 10, 30); と String str = "hoge"; g.drawString(str, 10, 30); の 違いがわかるならば、str=readLine()の意味もわかるはずだ。 だがしかしお前の話方見てるとまだまだ遠いかなたの時限の話だ。 諦めて初心者サイトのソース手書きでコピーして覚えろ。 普通の後者のやり方はメインループを作って、フレーム処理をして回すもんだ。 何を言っているかわからんと思うから、がんばれ。 簡易版はこちら。 public void mainloop(){ Graphics g = getGraphics(); String str = "hoge"; while(true){ g.drawString(str, 10, 30); str += "hoge"; try{ Thread.sleep(1000); }catch(Exception e){} } 俺も暇だな。
56 名前:デフォルトの名無しさん [2006/11/28(火) 00:00:51 ] >>53 readLineはテキストファイルを段落毎に一行読み取る関数です。 行数を分けたいときはお前の言うように3度読んで3回書け。
57 名前:54 mailto:sage [2006/11/28(火) 01:08:37 ] ごめんねごめんね俺>>53 じゃないんだ…。 ただ例文にそのまま使わせてもらっただけで…。 >>55 ってことでConnectorについてはわかりません笑 違いはわかるけどさstr=readLine();の意味がわからない。 コンソール上での標準入力は慣例的に String str=""; BufferedReader input = new BufferedReader(new InputStreamReader(System.in)); str=input.readLine(); として使うとしか覚えていないです。 この場合は意味が違ってくる気がする…。 スレッドは使ったことが無いけどThread.sleep(1000);で1秒間スレッド (無限ループ)を止めてることはわかりました。 現状ではprocessEventでKEY_SELECTを受けた場合にclickをインクリメントrepaint(); switch(click)をしてケースで毎回書き直してるので結構手間ですね。 納期が明日なので時間があれば見直してみます。 ありがとうございました。 関係ないけどCanvasの方がグラフィカルに使えるのにPanelの方が使い勝手がいいのは…。 Panelですとlabel.setText("");とするだけでrepaint()もしてくれるのは魅力ですね。 Panelでフォントの色が変えれるかCanvasでLabelが使えれば便利なのにな…。
58 名前:デフォルトの名無しさん mailto:sage [2006/11/28(火) 01:24:50 ] >>57 ・・・納期、間に合うのか?
59 名前:57 mailto:sage [2006/11/28(火) 02:13:02 ] >>58 気配りありがとうございます。 納期とは言っても知人に頼まれたことなので万が一でも大丈夫です(笑) 期限という書き方の方が良かったかな? やる気がでてきました。 がんばります!
60 名前:デフォルトの名無しさん mailto:sage [2006/11/28(火) 03:40:59 ] キーの同時押しの判定って無いの? KEY_SOFT1とKEY_SOFT2を同時押しした時に隠し要素が出るとかやりたいんだけど。 1が0x15で2が0x16だからって0x2bにしても意味が無かった。 スーファミとかプレステとかだったらこういう考え方だったんだけどな。
61 名前:デフォルトの名無しさん mailto:sage [2006/11/28(火) 03:55:38 ] >>60 getKeypadState()使えばできるはず。 ただし端末によってはボタンの同時押しを認識できなかったりする場合がある。
62 名前:デフォルトの名無しさん mailto:sage [2006/11/28(火) 06:42:17 ] すみません質問があります。 BGMとして流しているiメロディの音量を調整したいのですがどうしたらよいでしょうか? AudioPresenterクラスのSET_VOLUMEを使おうとしてるのですがどうも上手くいきません。 十字キーの上を押すと音量を上げて下で下げるようにしたいです。 AudioPresenter hoge; int volume; 中略 public void keyReleased(Panel panel, int key) { if((key==Display.KEY_UP) && (volume>=0 && volume<100)) { volume = volume*(int)1.25; hoge.setAttribute(AudioPresenter.SET_VOLUME, volume ); }}としてみましたが音量が変わりません。(KEY_DOWNも記述しています。) この時点で既にhoge.play();になっております。 試しにvolumeの条件を消してvolumeは実数でやってみましたがそれでもできませんでした。 どこがまずいかよくわからないのでよろしければ教えていただけると光栄でございます。
63 名前:デフォルトの名無しさん mailto:sage [2006/11/28(火) 06:47:36 ] intにキャストしたら小数点以下が切り捨てられて >volume = volume*(int)1.25; volume = volume*1; になってるんでしょ。
64 名前:デフォルトの名無しさん mailto:sage [2006/11/28(火) 06:56:37 ] >>57 >Panelでフォントの色が変えれるか つ setForeground
65 名前:デフォルトの名無しさん [2006/11/28(火) 07:07:30 ] >>63 その可能性も考えて hoge.setAttribute(AudioPresenter.SET_VOLUME, 25);
66 名前:デフォルトの名無しさん mailto:sage [2006/11/28(火) 07:09:37 ] ImageをMediaImageに変換するにはどうするんですか? というのはImage.createImageしたものを ImageStore.addEntryで端末に保存したいんですが。
67 名前:デフォルトの名無しさん mailto:sage [2006/11/28(火) 07:10:52 ] 連投になってしまいすみません。 >>63 その可能性も考えて hoge.setAttribute(AudioPresenter.SET_VOLUME, 25); と通常のint型の実数でも試してみましたが動作していないようでした。 hoge.setMediaListener(this);とも宣言してありますので全く理由がわからなくて。 hoge.start();もhoge.stop();もちゃんと動くので自分の使い方が間違っているのかと 思いこちらに書き込ませていただきました。
68 名前:デフォルトの名無しさん mailto:sage [2006/11/28(火) 07:21:52 ] >>66 ImageEncoderを使うと良いよ。 オレは使ったことないけど、API見る限りはこれでいけるはず。
69 名前:63 mailto:sage [2006/11/28(火) 08:25:50 ] >>67 PanelクラスのsetKeyListenerは使ってる?
70 名前:デフォルトの名無しさん mailto:sage [2006/11/28(火) 08:50:10 ] >>69 レスありがとうございます。 オブジェクト指向が下手っぴなのでそのPanelのクラスには TimerListener, SoftKeyListener, KeyListener, MediaListener を実装してます。 KEY_SOFT1,2とKEY_0〜9,SELECT,IAPPキーの機能は問題なく動きますので KEY_UP,DOWNが動作していないという事はなさそうに思えます。 hoge.setAttribute(AudioPresenter.SET_VOLUME, volume); を使うタイミングとかにもよるんですかね?
71 名前:63 mailto:sage [2006/11/28(火) 09:19:31 ] >>70 DoJaのバージョンは何?
72 名前:63 mailto:sage [2006/11/28(火) 09:23:23 ] 連投ごめん。 >>70 DoJaのバージョンは何? acerola.org/motokazu/iap/manual/Doja4.0/com/nttdocomo/ui/AudioPresenter.html#SET_VOLUME DoJa-3.0 (505i) より前だったりしない?
73 名前:デフォルトの名無しさん mailto:sage [2006/11/28(火) 11:57:08 ] >>53 そこで詰まっているならもう少し戻った方が良いかな。 直接テキストデータをってのは次のようにしてみて欲しかったんだ。 String moji = "この文字列を自在に描画してみよう。長い文の方が良い。"; 上のように変数mojiに長文を定義して思うように 描画できるように工夫していけばいい。当然そのまま g.drawString(moji,10,30); ってやっちゃうと文字のサイズにもよるけど文字の後半部分が 画面外に行く事になる。うまくやるには工夫が必要。 やり方はプログラマ次第で変わってくるけど判りやすい?かな と思うヒントをいくつか。 1:DoJa内のFontクラス。これは一行に何文字まで表示するかという基準がいるし 文字の描画などでもベースラインの位置をちゃんと扱う為に知っておいたほうがいい。 2:CLDC内のStringクラス。言わずがな文字列を扱うクラス。文字列から文字列の 取り出し方とか色々弄っていると良いかと。 とりあえずはこの2つをまずしっかり調べてみよう。 文字の描画には色々面倒が多いので場数踏んで行きませう。 理解が深まったらStringBufferクラスやらも弄ってみれば良いね。 結果は同じでもやり方は千差万別。
74 名前:デフォルトの名無しさん [2006/11/28(火) 12:28:14 ] >>54 違う人だったようなので再回答。 int key; while(true){ key = getKeypadState(); if((key&(1<<Display.KEY_SELECT)) != 0){ str += hoge; g.drawString(str, 10, 30); } Thread.sleep(10); } ちなみにこれはスレッドは使わないよ。 Thread.sleepは携帯電話を寝かせる省エネモードにするだけ。
75 名前:デフォルトの名無しさん mailto:sage [2006/11/28(火) 13:27:48 ] >>>ちなみにこれはスレッドは使わないよ。 >>>Thread.sleepは携帯電話を寝かせる省エネモードにするだけ。 クマー?
76 名前:70 mailto:sage [2006/11/28(火) 13:55:43 ] >>63 レス遅くなりました。 DoJa-4.1ですね。 クリアキーの場合はグループ化が必要って教えてもらったけどこれは間違ってないのかな…。 あまり迷惑掛けるのもなんなので少し自分で調べてみてからまた来ますね! 今は20k近いゲームの中に組み込んだのでどこかにミスがあるかもしれないですし…。
77 名前:デフォルトの名無しさん [2006/11/28(火) 14:59:01 ] >>75 だいたいそういう認識でよいと思うのだがな。
78 名前:70 mailto:sage [2006/11/28(火) 15:33:45 ] 新しくテストアプリを作ってみた結果無事に動作させる事ができました。 その時の動作確認はSOFT_KEYでやりました。 しかしながら何故かDisplay.KEY_UPとDOWNでは動作しませんでした。 変わりにASTERISKとPOUNDを使ったらすんなり行きました。 KEY_UPとKEY_DOWNはオプションなんですかね? >>63 様には大変ご迷惑をおかけしました。 本当にありがとうございます。 関係ないけどDisplay.KEY_SOFT1とFrame.SOFT_KEY1の使い分けがいまいちで困ってました笑
79 名前:デフォルトの名無しさん mailto:sage [2006/11/28(火) 20:37:02 ] 急にscratchpad:///5だけ書き込めなくなるとか 意味の分からない症状が出てるんだがこれは一体?
80 名前:デフォルトの名無しさん mailto:sage [2006/11/28(火) 20:52:10 ] またエスパーきぼんぬですか
81 名前:79 mailto:sage [2006/11/28(火) 21:17:41 ] 何度やっても///5だけ書き込めない。 1回目は書き込めるんだが、2回目からエラー吐き出す。 何が原因なのか全く検討つきません。 エスパーの方ご教授お願いします。
82 名前:デフォルトの名無しさん mailto:sage [2006/11/28(火) 21:19:39 ] close()してないだけかと
83 名前:デフォルトの名無しさん mailto:sage [2006/11/28(火) 21:26:04 ] >>82 正直すまんかった。仰る通りで。
84 名前:デフォルトの名無しさん mailto:sage [2006/11/29(水) 00:39:07 ] D902iで右キーを押しっぱなしにすると、下キーもときおり反応すると言われたのですが、 Canvasを継承したクラスで、processEventからDisplay.KEY_PRESSED_EVENTをひろって処理してるので、リピートはないと思うのですが、なにか思い当たる点とかないでしょうか。
85 名前:デフォルトの名無しさん [2006/11/29(水) 01:22:52 ] >>84 ファームのバグか、 マトリックスのダイオードケチってるとか そんなもんじゃないの?
86 名前:( ^ω^) ◆wKJpObkR5w mailto:sage [2006/11/29(水) 01:41:35 ] 今さらだけど PanelでKEY_UPとKEY_DOWNは使えないと思うぉ。(要は方向キー) だってコンポーネントのフォーカスを操作するために 予約されてるのだから。( ^ω^)
87 名前:デフォルトの名無しさん mailto:sage [2006/11/29(水) 04:36:07 ] ?
88 名前:デフォルトの名無しさん mailto:sage [2006/11/29(水) 04:55:28 ] 上で紹介されているBouncy Castleを作ってiアプリのプログラムを 作成しているのですが、RSAでキーの生成の仕方がよくわかりません。 RSATest.javaをみてみると、キーは生成してないですよね? あと、暗号化のやり方もネットでいろいろ調べてみて Cipherクラスを使ってるサイトがいくつかあるんですが、 このクラスがなくて暗号化の仕方がわかりません。 どのようにしたらよいのでしょうか?
89 名前:デフォルトの名無しさん mailto:sage [2006/11/29(水) 05:46:00 ] >>88 いや、作ってるよ。 このライブラリではCipherクラスは使ってない。 そもそもCipherクラスが無いような環境でも使えるようにしてあるわけだし、 だからこそこのライブラリを使おうって訳だ。 #ドキュメントの少なさには正直オレもウンザリしてる ヒント:207行目〜
90 名前:デフォルトの名無しさん mailto:sage [2006/11/29(水) 06:31:48 ] iモードJavaプログラミング FOMA対応版の話だけどHPに行ったらサンプルコードの 他にプログラム事例編の本書には載ってないソースもうpしてあるのな。 本書の解説だけでわからないところはどうしたら良いんだって思ってたけど助かった。 こいつは便利だからじっくり見て勉強しようっと。
91 名前:デフォルトの名無しさん mailto:sage [2006/11/29(水) 06:36:53 ] どれのことを言っているのか分かりません
92 名前:デフォルトの名無しさん mailto:sage [2006/11/29(水) 06:56:17 ] >>91 誰に言ってるのか分かりません 俺に言ってる? 本書には解説しか載っていない中の人の作ったアプリのソースがうpされてるってこと。 補足だけどそのソースがまず間違っていた事。 あと関係ないけど拡張APIも買ったんだけど殆どFOMA対応版に載ってる事だね。 拡張APIが3年の月日で標準APIになったんだな。
93 名前:デフォルトの名無しさん mailto:sage [2006/11/29(水) 07:03:20 ] >>90 初めて気付いた。ありがとう。。。
94 名前:デフォルトの名無しさん mailto:sage [2006/11/29(水) 07:25:55 ] >>89 レスありがとうございます。 暗号化、複合化が一通りできました。 確認なんですが、RSATest.javaのeng.init();の引数しだいで 暗号・複合ができるってことでいいんですよね? あとPublicKeyの表示は、 System.out.println("public: " + ((RSAKeyParameters)pair.getPublic()).getModulus()); でできるのですがPrivateKeyはどのように表示したらよいのでしょうか? スクラッチパッドに保存したいのですが、PrivateKeyは文字列で確認はできないのでしょうか?
95 名前:デフォルトの名無しさん mailto:sage [2006/11/29(水) 08:04:45 ] >>90 俺もたまたま前スレの>>816 ,819,820のやり取りを見てて 何があるのかな?って覗きに行ったら偶然見つけたんだ。 これで本書の活用度がマジで3割増しになったと思った。 あのしょぼい解説だけでは無能な俺には設計がわからなかったので。
96 名前:デフォルトの名無しさん mailto:sage [2006/11/29(水) 10:42:07 ] 結局TransparentImageってどれで使えるの? API実装状況によるとSH系だけだけど、 902とか載ってないやつはどんな感じですか。 しかも5.0じゃ標準になるようですが。
97 名前:デフォルトの名無しさん mailto:sage [2006/11/29(水) 12:48:33 ] P902isとp903iにiアプリ本体をSDカードへ移動って機能があるけど、 あれは暗号化してくれてるのかな? 難読化もタダじゃないんだが。。。
98 名前:デフォルトの名無しさん mailto:sage [2006/11/29(水) 13:01:24 ] あたりまえでしょ
99 名前:デフォルトの名無しさん mailto:sage [2006/11/29(水) 15:06:50 ] >>94 正直オレは暗号にはあまり詳しくないんで鍵の表示ってのがよくわからないんだが、 ソースを見た限りキーパラメータは全部BigIntegerのようだし 全部保存しとけば復元出来るかと。 あくまで暗号屋さんではなくプログラマとしての意見。
100 名前:デフォルトの名無しさん [2006/11/29(水) 20:26:14 ] 配列の要素のソートってどうやってる? J2SEなら使えるクラスがあるんだけど、iアプリではやはり手作り?
101 名前:デフォルトの名無しさん mailto:sage [2006/11/29(水) 21:47:34 ] >>100 ほっかほっかの手作りです。(何年も前のだけどw)
102 名前:デフォルトの名無しさん mailto:sage [2006/11/29(水) 23:17:46 ] >>101 サンクス。 やっぱりそうですか・・・。
103 名前:デフォルトの名無しさん mailto:sage [2006/11/29(水) 23:38:22 ] 男は黙ってバブルソート
104 名前:デフォルトの名無しさん mailto:sage [2006/11/30(木) 00:35:41 ] >>103 要素数もたいしたことないし、自作アプリなんで速度も気にしないので、シンプルにそれでいこうと思います。 男は黙って・・・オモロカッタ 男なら速度とかチマチマ気にすんなって? オス了解!!