[表示 : 全て 最新50 1-99 101- 201- 301- 401- 2chのread.cgiへ]
Update time : 03/04 06:42 / Filesize : 108 KB / Number-of Response : 415
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


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

iモード携帯電話用Java(iアプリ) Part13



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/

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
要素数もたいしたことないし、自作アプリなんで速度も気にしないので、シンプルにそれでいこうと思います。

男は黙って・・・オモロカッタ
男なら速度とかチマチマ気にすんなって?
オス了解!!

105 名前:デフォルトの名無しさん mailto:sage [2006/11/30(木) 01:06:37 ]
女はどうしたらいいの?

106 名前:デフォルトの名無しさん mailto:sage [2006/11/30(木) 01:17:51 ]
愛嬌たっぷりマージソート

107 名前:デフォルトの名無しさん mailto:sage [2006/11/30(木) 01:33:17 ]
じゃ俺はゴールドソードで

108 名前:デフォルトの名無しさん mailto:sage [2006/11/30(木) 01:43:00 ]
ついでにオイラはマジニート

109 名前:デフォルトの名無しさん [2006/11/30(木) 08:56:49 ]
Display.setCurrent(canvas);
の前に
PhoneSystem.setAttribute(PhoneSystem.DEV_KEYPAD, Display.KEY_CLEAR>>5);
をしてもクリアキー動かないんだけど?
なんでですか?

それ以外のグループ1のボタン押してもkeypadに反応がありません。

110 名前:デフォルトの名無しさん mailto:sage [2006/11/30(木) 09:00:48 ]
if ((key & (1<<(Display.KEY_CLEAR-0x20))) != 0)

111 名前:デフォルトの名無しさん [2006/11/30(木) 10:51:36 ]
>>110
while(true){
key = getKeyPadState();
System.out.println("key: +key);
}

クリアキー連打
key:0
key:0
key:0
key:0
key:0
key:0
key:0

となるんです。反応ありません。どうしましょう?



112 名前:デフォルトの名無しさん mailto:sage [2006/11/30(木) 10:56:33 ]
>>109
ちゃんと取得できてるのか?
getKeypadState(1)の戻り値は0?

113 名前:デフォルトの名無しさん mailto:sage [2006/11/30(木) 10:57:28 ]
>>111
グループ0取得してるじゃんw

114 名前:84 [2006/11/30(木) 11:04:28 ]
>>85 ありがとう。

115 名前:デフォルトの名無しさん [2006/11/30(木) 12:34:31 ]
>>112
>>113
お前ら神サンクス。
マジ知らんかった。

116 名前:110 mailto:sage [2006/11/30(木) 12:40:49 ]
エスパーしてみたけど外れてた
間違えてたのはそっちだったのか

117 名前:デフォルトの名無しさん [2006/11/30(木) 13:02:59 ]
>>110
お前もありがとう。

118 名前:デフォルトの名無しさん mailto:sage [2006/11/30(木) 18:52:47 ]
画像をサーバーに置いて1回目の起動時にその画像を取ってきてスクラッチパッドに読み込もうとしているのですが、
なぜか、エミュではうまくいくのに、実機で実行すると画像を取得できないみたいです。

URLの取得は、
IApplication.getCurrentApp().getSourceURL();
で取得してます。

実機でのデバッグ方法もよく分からない状態です。
アドバイス御願いします。

119 名前:デフォルトの名無しさん mailto:sage [2006/11/30(木) 19:32:01 ]
>>118
jamに
AppTrace = on
と書いて、通信処理付近にSystem.out.println()を挿し込むと
実機にアプリ実行情報ってのが記録されるから
どこで何のエラーが発生しているのかを、まず調べましょう。


120 名前:118 mailto:sage [2006/11/30(木) 19:59:11 ]
>>119
レスありがとうございます。
トレースで調べてみたところURLはあってました。
そして、ゲーム事態は進むのですが画像が出ない状態なのです。

スクラッチパッドを使わずにjarファイルに画像データを入れる方法もやってみましたが、
こちらもゲームは進むのに画像が表示されない状態です。

エミュでは、どちらも正常に動作します。
何故なのでしょうか?

121 名前:デフォルトの名無しさん mailto:sage [2006/11/30(木) 20:07:02 ]
プログラムにバグがあるから



122 名前:デフォルトの名無しさん [2006/11/30(木) 20:18:24 ]
画面にデバッグを表示するプログラムを作りましょう。
多分つうしんえらー じゃね?
えらーめっせーじこおにさらしてみ

123 名前:118 mailto:sage [2006/11/30(木) 20:47:32 ]
すいません。Java始めたばかりでよく分からないのですが、
エラーというエラーは出てない(トレースを見る限り)のですが、
自分がデバッグ用に書いた画像が表示されない時のエラー文はでます。

もうちょっと勉強してきた方がいいみたいですね。
出直してきます。

124 名前:デフォルトの名無しさん mailto:sage [2006/11/30(木) 21:46:56 ]
画像の読み込みとか通信とかでエラーが投げられたらキャッチしてエラークラスからエラーをプリントさせなさい

で、実機でトレース情報見てどんなエラーが出たのか確認

125 名前:デフォルトの名無しさん [2006/11/30(木) 22:17:20 ]
>>123
try{
〜〜〜
〜〜〜
}catch(Exception e){
g.setColor(WHITE);
g.fillRect(0,0,240,240);
g.setColor(BLACK);
g.drawString(""+e, 0, 0);
}
}

126 名前:118 mailto:sage [2006/11/30(木) 22:25:02 ]
>>124,125
助言ありがとうございます。
Exception eでエラー文をはき出せるんですか!?

そのような書き方をしてましたが、その中にエラーとだけ書いてました・・・
今から試してみます

127 名前:デフォルトの名無しさん mailto:sage [2006/12/01(金) 11:24:56 ]
SH902iでKEY_CLEARが上がってこない。・゚・(ノД`)・゚・。
DoJa-4.1のエミュでは動いてるのに。

public void processEvent(int type, int param)
{
 if( ( getKeypadState(1) & ( 1 << ( Display.KEY_CLEAR - 0x20 ) ) ) > 0 ){
.......

なんか間違ってるのかな。


128 名前:デフォルトの名無しさん mailto:sage [2006/12/01(金) 11:47:05 ]
池沼クラスの質問態度だな。

129 名前:デフォルトの名無しさん [2006/12/01(金) 12:35:01 ]
>>128
ここに書いてあることを応用してやってみようと思ってやる。
それはほめられるべきことですよザーボンさん?

でも俺processEvent使ったことないからわかんない。
if( ( getKeypadState(1) & ( 1 << ( Display.KEY_CLEAR - 0x20 ) ) ) > 0 ){
はメインループの中で書いて使っていいんだよ。

130 名前:デフォルトの名無しさん mailto:sage [2006/12/01(金) 14:54:16 ]
>>127
あげ足取るようで悪いがprocessEventはキー関係のイベント以外でも
呼ばれるからその記述だとイベント発生するたびにキー処理はいるぞ。
多分、省略しているんだと思うんだけどさ・・・。

で、実機でトレースをつかってイベント発生時
getKeypadState(1)の戻り値を出力してみなよ。
値を出力するのはデバッグの基本中の基本だろうて・・・。

131 名前:デフォルトの名無しさん mailto:sage [2006/12/01(金) 15:12:26 ]
>>127
一応ついでにいえば、getKeypadState(1)はオプションAPIだが
SH902iは対応している。他機種では対応してない機種も多い。半々くらいかな。



132 名前:デフォルトの名無しさん mailto:sage [2006/12/01(金) 17:56:23 ]
SH902iはDisplay.KEY_CLEAR ダメみたいです。
メールボタンのビットは無事に上がってくるけど、クリアキーのビットだけ立ち上がらない。
SH902iあきらめました。


133 名前:デフォルトの名無しさん mailto:sage [2006/12/01(金) 18:04:22 ]
前スレから似たような質問が続いてるような。






[ 続きを読む ] / [ 携帯版 ]

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

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