携帯JAVAのスレッド

このエントリーをはてなブックマークに追加
>>934
通信するアプリと、そうでないアプリを明示的に分けることで、
アプリが勝手に通信して、キャリアがボロ儲けしない為の自主規制。
>>931
クラスから呼べるメソッドは、staticメソッドだけ。
staticでないメソッドは、クラスとインスタンスから呼べる。
クラスとインスタンスは理解してるよね?

test1 はクラスだから、test1.notifyDestroyed() は、ダメ。
test1 のインスタンスを test1Canvas に渡して、それで呼べばOK。

#以上、Javaの基礎の基礎。
>>936 自己レス。
> staticでないメソッドは、クラスとインスタンスから呼べる。
↑は間違い。俺も馬鹿だった。(T_T)

クラスから呼べるメソッドは、staticメソッドだけ。
インスタンスからは、staticメソッドとstaticでないメソッドが呼べる。
938924:03/12/01 23:36
>>レスって下さった皆様
無事終了ボタンは動作するようになりました。

またまた質問ですが、
スレッドを使わない場合の public void run() の処理は
何処に書けばよいのでしょうか?
>>938
意味がわからないです。
>>938
頼むから、もうちょっとJavaの基礎を勉強してくれ……。


勝手な推測だが、多分、必要のないクラスでRunnableがimplementsされてるんだろうけど。
スレッドについて勉強しましょう。
>>938 が、Java以前にプログラミングというものが
分かってないように思えるのは、わたしだけ?
ここで聞くより先に本1冊かいなされ
Vアプリでシリアル通信のアプリを作成していますが、
connector.open()でポートがopenできません。

try{
sConn = (SerialConnection)Connector.open( "serial:com0"
+";open_timeout=10000");

comState = sConn.getPortState("com0");
if(comState == sConn.PORT_IDLE_ALIVE){
csStr = "port_idle_alive";
}else if(comState == sConn.PORT_OPENED){
csStr = "port_opend";
}else if(comState == sConn.PORT_DISCONNECTED){
csStr = "port_disconnected";
}else{
csStr = "fetal_error";
}

repaint();
sConn.close();
}catch(IOException e){
csStr = e.toString();
repaint();
}

以上のようなコードです。
944943:03/12/02 18:24
IOexceptionでsirial timeoutが表示されてしまいます。

携帯のpdcとpcのcomポートを市販のpdc-シリアルのケーブルで繋いでいます。

pcのcomポートの設定は、
bps:19200
データビット:8
パリティ:偶数
ストップ:1
フロー制御:Xon/Xoff
です。

携帯はSH52で、
System.getProperty("microedition.profiles");--->"MIDP-1.0 JSCL-1.1.0"
System.getProperty("jscl.supports.serial");--->"true"
でした。

jadファイルの方にも
MIDlet-Serial: Y
MIDlet-OCL: JSCL-1.1.0
をきちんと記述しています。

どなたか原因がお分かりになる方はいらっしゃいますでしょうか?
よろしくおねがいします。
945ぷに:03/12/03 02:47
>>944
MIDlet-OCL: JSCL-1.1.1
じゃないの?
java.securityを用いてRSAでの暗号、複合を行う際にサポートされている暗号強度はいくつなのでしょうか?
1024ビットの鍵を使用できるのか知りたいです。
サイトをいろいろ探してみたのですが鍵のサイズにふれている箇所をみつけることができませんでした。

よろしくお願いします!
>>946
根本的な勘違いをしていると思うが、少なくともこのスレとは何の関係もないね。
java.securityはアプリで使うことはできないということですか?
949943:03/12/03 14:45
>>945
レスありがとうございます。

MIDlet-OCL: JSCL-1.1.1に変更しましたがやっぱりだめでした・・・。
なぜでしょうねぇ・・・。
950デフォルトの名無しさん:03/12/03 17:30
ezのエミュレーターでアプリを実行しているのですが、
実行中にjava.lang.NegativeArraySizeExceptionという
Exceptionを吐きます。

1. imgOff = Image.createImage(width, height);
2. graOff = imgOff.getGraphics();

1. の部分で起きているようなのですが、run()の先頭に記述しており
何度も呼び出されるのですが、何度も何度も呼ばれているうちにこの現象が
起きます。

原因がわかるかたいらっしゃいましたら教えてください。
>>948
とりあえず、CLDC+MIDPには、java.securityは存在してない。

>>949
シリアル通信のハードウェアな部分での接続ができてないのじゃないかなあ?
そもそも、携帯⇔外部機器の通信用のような気がするので、
携帯⇔携帯の場合はクロスケーブルが必要とか。

jadファイルが原因で、使用が制限されてるなら、SecurityExceptionだと思うし。
よくわからん。。。

952948:03/12/03 18:16
RSAを使おうと思っているのですが
サーバから暗号キーと基数を受け取る場合はAPIを使わないでも自分で作成することできますよね?

いまいちわかってないのですが
暗号化したいデータに鍵でべき乗して基数で割った余りをサーバに返せばいいのでしょうか?

まったくわけわかんないこといってたらすみません;
>>944

PCから速度通知を送っていないのでは?
シリアル制御編 Appendix A参照
954953:03/12/03 22:52
それと、シリアル制御解除状態の速度は600bps。
955.:03/12/04 11:35
待ちうけiアプリで壁紙を透かして見れるカレンダーの簡単な作り方ってありますか?
どなたか教えてください。
956デフォルトの名無しさん:03/12/04 13:05
i、V、ezの3キャリアのアプリを作ってるんですが、VとezでHTML側から渡したパラメータを
取得する方法がわかりません。
iだとgetParameterで持って来れますが、MIDletにはgetParameterなんて無いし。
どなたかご存知ありませんか?

※Vはそもそもパラメータが渡せないような気も。。。
957初心者:03/12/04 15:55
iアプリのCanvasクラスにTickerをつけることって可能でしょうか?
お願いします。
>>955 >>957

iモード携帯電話用Java(iアプリ) Part 4
http://pc2.2ch.net/test/read.cgi/tech/1067139509/

>>956
Vは無理なはず。
ezではできるらしい(ドキュメントにも書いてある)のだが、
肝心な方法が書いてないんだよなあ。

以前にもこの話は出てたと思うけど、俺も知りたいので、教えてエロイ人。
959943:03/12/04 17:59
>>951>>953
レスありがとうございます。

>>PCから速度通知を送っていないのでは?
PCとの間のネゴシエーションってPCが勝手にやってくれるんじゃないんですか?
COMポートを操作するアプリかなんかで人為的に操作する必要があるんでしょうか?
960943:03/12/04 18:40
Teratermでポートを監視してみたのですが
ケーブルを繋いでいる間は信号を受信しているのですが、
アプリを起動すると信号が止まってしまいました。
(pcのCOMポートに信号が送られてこない。)
これはアプリが悪いということなのでしょうか?
961956:03/12/04 19:03
>>958
あ〜やっぱVは無理すかぁ。なんでアグリゲータとか登録要るんだろう。

ezも資料に「できる」と2〜3行書いてあるだけで…。
kddip.jarの中のParameter.classも違うみたいだしぃ。
962ぷに:03/12/04 22:07
>>961
iアプリは正直知らないんだけど、
HTMLのObjectタグに書かれた項目を読み込むみたいなことをVでやりたいってこと?
それならたぶんない。

似たようなことなら、*.jadにパラメータを書いておくことで実現すると思う。
MIDlet#getAppPropertyあたり。・・・・のハズ(やったことないからホントかは知らん)
963953:03/12/04 23:09
>>959
>>960

まず、エミュレータと実機の間で通信テストをすることをオススメする。
エミュレータのComMonitorで通信内容を確認できる。
964961=956:03/12/05 00:07
>>962
Java側の処理をユーザー毎に分けたいんで、JavaアプリにユーザーIDを渡したいんです。
iモードならダウンロード時にJSP側でパラメータを埋め込めるんですけど…。
*.jadにパラメータを動的に書くって方法も思いついたんですが、「ユーザー毎に違うID」って
とこで排他を考えるとマズいし、Vだとまず無理だし。
なんかいい方法無いすかね〜。
>>964
各端末のスクラッチパッドに一意のIDを動的に割り当てて
通信時にサーバーに渡してくるようにしとけばいいんじゃない?

ていうか、会員制のアプリってみんなそうだと思うけど。
966961:03/12/05 01:07
>>965
Kickがアプリであればそれでいいんですが、流れとしては
  ・ブラウザでユーザーIDでログオン
  ・機能を選択してアプリダウンロード
  ・アプリ起動
で、アプリでユーザー毎に稼働する機能は違うため、ユーザーIDで分けたい。
選択できる機能がかなりの数あるんで、アプリはキャリア毎に1つにしたいんすよ。
967ぷに:03/12/06 07:47
>>966
JavaアプリにユーザIDを渡すんじゃなくて、許可された機能が何であるかを渡すってのはどう。
ユーザID元に動的に*.jadを吐くときに、できる機能一覧を載せた*.jadを吐くとか。

何をしたいのかがわかりにくいので、アドバイスもしづらい。
まぁ言いたくても言えないんだろうけど。
>>965
それってどっかの会社が特許もってるんだよね。確か。
もうソフト関係の特許はめちゃくちゃ。
>>967
一瞬それも考えたんですが、不特定多数のユーザ相手なんでJADを吐くときに
不整合が起こりそうなんでやめたんす。

>まぁ言いたくても言えないんだろうけど。
ご配慮、痛み入ります。
970ぷに:03/12/06 21:50
>>969
あるユーザのID元に作ったJADファイルを別ユーザにDLされる、ってのが不整合って意味なら、
ディレクトリに分けてやれないの?裏システムについてはオレ何も知らんから、ひょっとしたらできないんかもしれないけど。
認証時(機能選択時?)に、ユーザIDと時間を元にした名前でディレクトリを作ってそこに動的JADを作りJARをコピってやるとか。

端末のシリアルIDを利用する方法も思いついたけど、C4型だとそもそもUAでシリアルIDを吐かないのが盲点だった。
971969:03/12/06 22:15
なるほど、ディレクトリに分けるですか。システム的には全然OKっすね。
どうせ週一にバッチ動かすんでそこで消してしまえばいいし。

ただ、ezはいけそうですが、Vのコンテンツアグリゲータのフォルダにはこっちの
WEBシステムからの勝手な書き込みはできないかも。恐らくですが。
ちょっとコンテンツアグリゲータに聞いてみます。
973ぷに:03/12/06 23:14
>>972










( ´Д⊂ヽ
あー、このスレももうすぐ2年か。その前に終わりそうだが。
テンプレとかいる?
いるなら、なんか考えとく。
>>972
反射的にクリックしてしまった……。
少しはおちつけ>俺
976デフォルトの名無しさん:03/12/07 18:07
ヽ( `Д´)ノ ウワァン J-SH53 なんでアンチエイリアスがかかるだよ!
getWidth() や getHeight 使っても 120 * 160 しか取得できないよ!
教えてえろい人!
高詳細モードを使いたいのかえ?
978976:03/12/07 18:34
>>977
そうです。どのようにしたら取得できるのでしょうか?
>>978
ドキュメント嫁。

jadファイルに MIDlet-Application-Range: 0,0 だったと思う。
だね。
980976:03/12/07 18:57
>>979
ありがd
981977:03/12/07 19:12
もう答えられてるようですな。

高詳細モードだと
あと今ままでのアプリ(P4型とか)を動かすと当然表示は小さいよ。

最近使ってないからほんとだったかづか忘れかけだけども
982976:03/12/07 19:51
>>981
レスありがとう。
アンチエイリアスのぼやけた感じから表示がすっきりしたよ。
983デフォルトの名無しさん:03/12/07 22:58
で、誰が次スレ立ててくれ。
立てようとしたが無理だった・・・
たぶん次スレ

CLDC+MIDP+携帯電話用Javaスレッド part 2
http://pc2.2ch.net/test/read.cgi/tech/1070858996/