CLDC+MIDP+携帯電話用Javaスレッド part 4
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
05/02/19 11:51:16質問でも議論でも何でもこい、と。
前スレ:
CLDC+MIDP+携帯電話用Javaスレッド part 3
http://pc5.2ch.net/test/read.cgi/tech/1091798483/
過去スレ
携帯JAVAのスレッド
http://pc2.2ch.net/test/read.cgi/tech/1011977260/(DAT落ち)
CLDC+MIDP+携帯電話用Javaスレッド part 2
http://pc5.2ch.net/test/read.cgi/tech/1070858996/
--
Java一般に関しては:
【初心者】Java質問・相談スレ51【大歓迎】
http://pc5.2ch.net/test/read.cgi/tech/1091770298/
NTT DoCoMoのiモード携帯電話用Java(iアプリ)については:
iモード携帯電話用Java(iアプリ) Part 6
http://pc5.2ch.net/test/read.cgi/tech/1091286071/
>>2-5あたりにリンク集
0153デフォルトの名無しさん
05/03/11 15:11:00ttp://www.google.com/
0154150
05/03/11 15:46:09じゃあアレだ。エンコードかかってるんだ。
自分の場合servlet経由でjpeg送るとき、octet-streamでうまくいってるから、
.htaccessとかでそのファイルにこんなMIMEタイプ指定すればいいと思う。
>>152
3Dはまずツールが高いので手を出しにくいと思う。とりあえずここは読んどけ。
ttp://www.saturn.dti.ne.jp/~npaka/mascotcapsule/index.html
0156デフォルトの名無しさん
05/03/12 07:05:40どうすれば全角文字のタイトルが付けれるのでしょうか?
0157デフォルトの名無しさん
05/03/12 08:42:30UTF-8で保存
XPのメモ帳なら保存時に指定できる
0158デフォルトの名無しさん
05/03/12 09:01:54できましたー。ありがとー
0159デフォルトの名無しさん
05/03/13 11:41:28createImageでjar内のpngが読み出せるのだから方法があると思うのですがうまくいきません
0160デフォルトの名無しさん
05/03/13 14:23:23何のために?
0161デフォルトの名無しさん
05/03/13 20:06:12目的のjarをサーバに置いといてダウンロードしてRecordStoreに格納すれば?
それをやったところで>>160が言う通りだけど
「createImageでjar内のpngが読み出せる」ことを引き合いに出してる意味がわからない
「RecordStoreに自身のjarを保存(しようと)する」ことと何の関連があるの?
0162159
05/03/13 22:08:30>>161
根本的に何か間違ってるみたいですね
createImageのようにjar内にデータファイルを格納して
プログラムから読み出したいのです
0163デフォルトの名無しさん
05/03/13 22:22:15質問の仕方が悪いと思うんだが…
どういう手順でどういう結果が欲しいのか
順を上げて書いてくれないとアドバイスしようがないと思われ。
RecordStore内のjarを読み出したいって言いたいの?
0164159
05/03/13 22:54:48えっと、
createImgeのようにプログラムの入っているjarから
データを読み出したいのです
流れは
makeで
jar fu test.jar game.datとしてpng同様に格納し
プログラム側で
InputConnection con = (InputConnection)Connector.open( "jar://test.jar/game.dat",Connector.READ, true );
//InputConnection con = (InputConnection)Connector.open( "/game.dat",Connector.READ, true );//←だとjava.lang.IllegalArgumentException: no ':' in URLとなる
InputStream in = con.openInputStream(); //←ここでjava.io.IOException: Fail to open RecordStore. test.jarが起きる
byte[] buf = new byte[1024];
in.read( buf);
}catch(Exception e){
System.out.println( e );
}finally{
if( con != null ){
try { con.close(); } catch (Exception e) {}
}
}
こんな風になってます
0165163
05/03/13 23:19:42RecordStore関係なくないかw
リソースへのInputStreamはgetClass().getResourceAsStream()から
取得できるはずだけど…
jar内まで読み出せるかはわかんね。
っていうかjar内にjarを格納するのはどうかと思うが…
0166159
05/03/13 23:47:02in = getClass().getResourceAsStream()で無事開きました!!!
ありがとうございます
RecordStoreは全然関係ないのでしたか・・・・orz
0167デフォルトの名無しさん
05/03/14 00:04:42今すぐMIDPの入門書買って来い
0168161
05/03/14 00:05:33「ビルドしたときにjarに入れたgame.datというファイルをプログラム内で読み込みたい
どうやればいいか」
ということだったのだな。
そして
「jarに入れたpngはcreateImageで読み込めるけどgame.datは読み込み方が分からない」
ということを伝えたかったのだな。>>163=165乙。
0169デフォルトの名無しさん
05/03/14 05:20:06今まで意識してなかったけど、
MIDP-1.0の時からユーザー定義の属性には
「MIDlet-」から始まる名前は付けられない仕様ですよ??
だから「MIDlet-OCL〜」は別にボダ独自ではないのかも
0170デフォルトの名無しさん
05/03/14 07:32:30ってか、スキルに自信あるなら、未経験でも経験者だって嘘ついてもばれないので
実際、面接とか受けるときは、ばれない嘘はついてもよし。
一応、応援してるのでがんばってはみろ。
0171170
05/03/14 07:32:520172デフォルトの名無しさん
05/03/14 13:13:42>V603SHではアプリ1回の起動ごとのレコードストアに書き込むデータが約40kbyte以下
>でないと終了時にエラーが出てしまう。
これって本当ですか?100KBくらいレコードストア使ってるけどCPさんから連絡ないよ?
0173デフォルトの名無しさん
05/03/15 00:03:340174デフォルトの名無しさん
05/03/15 00:05:45>>2
0175デフォルトの名無しさん
05/03/15 10:05:18RecordStore は「任意のnバイトから、nバイト読み込む」のはムリっすか?
(docomo の spad ライクに)。
100K のデカイrecordstoreに任意にアクセスしたいのですが、
丸ごとbyte[]に読んで、いじって、書き戻す、しかないでしょうか。ヒープが不安。
0176デフォルトの名無しさん
05/03/15 11:18:53レコード作る時点で区切っといたら?そこがスクラッチとの違いで利点じゃない?
多分ファイルごとにバイト列があって、結合してるとかだと思うけど、
ファイル毎にレコード作れば特にバイト長とか気にしなくていいし楽だと思うよ。
あと、デカイのはレコードストアじゃなくてレコードでしょ?ミス?マジボケ?
0177デフォルトの名無しさん
05/03/15 12:27:23>多分ファイルごとにバイト列があって、結合してるとかだと思うけど、
そんな感じです。
結合済みの 100K のバイナリをHttpでダウンして保存、
各ファイルはヘッダのアドレス情報を元にアクセスしてます。
(DoJa から移植なので今のところはこうなってます。)
>レコード作る時点で区切っといたら?
上記の部分を書き直さずに(マクロとか)で済むと幸せだなあ、と。
リニアにアクセスできないものか、と。
Http から落とした時点で別のレコードにして保存するのも考えてみます。
レスありがとう。
0178デフォルトの名無しさん
05/03/15 20:02:080179デフォルトの名無しさん
05/03/15 20:09:20JSCL1.2以上だったらcom.j_phone.util.GraphicsUtilを使おう。
getPixelで色を取得し、色をミックスした後にsetPixelする。遅いのでお勧めできない。
0180デフォルトの名無しさん
05/03/15 20:36:210181デフォルトの名無しさん
05/03/17 08:45:25携帯をV902SHに替えたので、MIDP-2.0をいじる為に、新しいwtkを落として来たのですが、
同じ環境でMIDP-2.0の開発は可能ですか??
0182sage
05/03/17 19:44:58下のようなエラーがでます。
javaファイルの置く場所ってsdk1.3.1\binの下に置いちゃ駄目なの?
C:\>javac -bootclasspath c:\v-appli_sdk_122\lib\stubclasses.zip -g:none *.java
エラー: *.java を読み込めません。
エラー 1 個
0183デフォルトの名無しさん
05/03/17 23:20:490184デフォルトの名無しさん
05/03/17 23:52:030185デフォルトの名無しさん
05/03/18 00:19:44まずはWindowsのコマンドプロンプトの使い方を調べ。
これじゃC:\がカレントパスだから
C:\*.javaが見つからないと怒られている。
0186デフォルトの名無しさん
05/03/18 00:19:57そのエラーの場合で一番簡単な回避方法
C:\に*.javaをおきましょう
0187デフォルトの名無しさん
05/03/18 07:04:10もっと簡単な解決方法
C:\>cd sdk1.3.1\bin
C:\sdk1.3.1\bin\>javac -bootclasspath c:\v-appli_sdk_122\lib\stubclasses.zip -g:none *.java
0188182
05/03/18 12:17:17C:\sdk1.3.1\bin\>javac -bootclasspath…としないとだめなのね。
みなさまありがとうございました、解決できました。
0189デフォルトの名無しさん
05/03/20 00:53:44エミュ上のメッセージボックスには
Uncaught exception java/lang/OutOfMemoryError
とあります。
StrageConnectionを開き、サイズを取得、その後空きメモリを調べて
2KBほど余裕があった場合にサイズ分メモリ確保しているのですが落ちてしまいます。
落ちない場合もあります;;
try~catchで囲んでも例外をキャッチできませんし、newの戻り値のnullチェックの前に落ちます。
これ、なんとかなりますか?
0190デフォルトの名無しさん
05/03/20 01:26:07OutOfMemoryErrorって言われてんだから2KBじゃなくて
もっと残りメモリに余裕を持たせればいいだけじゃない。
0191デフォルトの名無しさん
05/03/20 01:45:50> サイズ分メモリ確保
C++とかじゃないんだし、正確に1KBたりとも誤差なしにメモリ確保とか不可能じゃないかと思うんだが。
OutOfMemoryErrorなんだから、おとなしくメモリ減らせ。
あと、catchするのは、例外(=Exception)じゃなくてエラー(Error)ね。
0192デフォルトの名無しさん
05/03/20 02:03:062KBは間違いで、200KBでした。なんでこれだけ余ってるのに確保できないんですかね。
サイズ分って言うのはファイルサイズ分ってことです。
すいません、例外じゃなくてエラーなんですね;;勉強不足でした。
エラーをキャッチしたところ落ちることはなくなりました。
ありがとうございました。
0193デフォルトの名無しさん
05/03/20 02:11:07(空きメモリ) - (ファイルサイズ) が204800B以上のときでも
ファイルサイズ分確保できないことがあるってことです。
でも、落ちないようにできたのでよかったです。どうもでしたm(_ _ )m
0194デフォルトの名無しさん
05/03/20 23:31:010195デフォルトの名無しさん
05/03/21 00:27:45http://www.nilab.info/resource/project/tibi/
0196デフォルトの名無しさん
05/03/21 02:17:35http://developers.sun.com/techtopics/mobility/midp/articles/parsingxml/
0198デフォルトの名無しさん
2005/03/21(月) 23:42:460199デフォルトの名無しさん
2005/03/28(月) 00:33:580200デフォルトの名無しさん
2005/03/28(月) 18:03:370201デフォルトの名無しさん
2005/03/28(月) 19:52:13できればifオンリー
けど作り方によってはswitchの方が便利なときもあるかも
0203デフォルトの名無しさん
2005/03/29(火) 05:53:27速さはswitchのほうがいいんでない?
とくに数字が連続してる時はテーブルジャンプになるし
0204デフォルトの名無しさん
2005/03/29(火) 07:01:300205デフォルトの名無しさん
2005/03/29(火) 13:05:30速度重視→else if
こんなかんじでいい?
0206デフォルトの名無しさん
2005/03/29(火) 13:52:53あと処理コスト一定重視→switch(ただしcase値が連番のときのみ)
0207デフォルトの名無しさん
2005/03/29(火) 19:40:560208デフォルトの名無しさん
2005/03/29(火) 22:12:38違うだろ。
case値が連番のときはtableswitchで
ジャンプテーブル作ってくれるからelse ifで一個ずつ
比較するより速いはず。
連番でなくても
The Java virtual machine specifies that the table of the lookupswitch instruction must be sorted by key
so that implementations may use searches more efficient than a linear scan.
http://java.sun.com/docs/books/vmspec/2nd-edition/html/Compiling.doc.html
ここの7.10 Compiling Switchesでも読んどけ
0209デフォルトの名無しさん
2005/03/30(水) 01:32:34初期機種のアプリなんかもう作らないでしょ
0210デフォルトの名無しさん
2005/03/30(水) 12:12:450211デフォルトの名無しさん
皇紀2665/04/01(金) 12:12:040212デフォルトの名無しさん
NGNGうんそうだね。ガイドにちゃんと制限書いてるしね。で?
0213デフォルトの名無しさん
NGNG0214デフォルトの名無しさん
NGNGMIDxlet-APIの項目をjadに追加すればいいのかな
0215デフォルトの名無しさん
NGNG〜3GC型端末編〜 Ver1.1.0
を見るといろいろ変わってるねえ。
0216デフォルトの名無しさん
NGNG画面の同期とか・・・
0217デフォルトの名無しさん
NGNGSHがOther Documents
NがOther Files
と違うんだが作り分けなきゃいかんの?
0218デフォルトの名無しさん
NGNG0219デフォルトの名無しさん
NGNG0220デフォルトの名無しさん
NGNG0221デフォルトの名無しさん
NGNGクラスファイルのバージョン 49.0 は不正です。48.0 であるべきです。
削除するか、クラスパスの正しいサブディレクトリにあるかを確認してください。
import com.j_phone.ui.FEPControl;
3GでBuildしなおそうと思ったらこんなエラーが・・助けてください・゚・(つД`)・゚・
0222デフォルトの名無しさん
NGNG0223デフォルトの名無しさん
NGNGとか追加しなきゃダメなのか。面倒だな。
0224デフォルトの名無しさん
2005/04/02(土) 19:14:010225デフォルトの名無しさん
2005/04/02(土) 20:38:47端末だと通信できん・・・
0226デフォルトの名無しさん
2005/04/03(日) 15:08:32StringBuilderというクラスなんか使用していないのに、
コンパイルすると「ファイル java\lang\StringBuilder.class が見つかりません。」
とかいうエラーが出てきやがる・・・。
StringBuilder.classファイルがどこかにないか探してみたけど、
「cldcapi11.jar」にも「midpapi20.jar」にも「stubclasses_JSCL.zip」にも
入っていません。もう手の打ちようがないので誰か解決方法を教えて下さい。
0227デフォルトの名無しさん
2005/04/03(日) 16:00:49漏れは2Gの開発環境(JSCL1.2.2)でMANIFESTとJADだけを変えたらうまくいったよ。
エミュレータだけ3G用を使ってる。
0228226
2005/04/03(日) 16:20:01という事は、Vodafoneのクラスライブラリは、2G開発環境で
使用していた「stubclasses.zip」を使用しているのでしょうか?
3Gエミュレータに同梱されていた「stubclasses_JSCL.zip」を
使用したら、>>221のエラー(クラスファイルのバージョン 49.0 は
不正です。48.0 であるべきです)が発生したので、JDK(J2SE)を
Ver1.4.2→Ver1.5.0へバージョンアップしたら、今度は>>226の
エラーが発生するようになったので。
0229デフォルトの名無しさん
2005/04/03(日) 18:02:300230デフォルトの名無しさん
2005/04/03(日) 18:48:290231デフォルトの名無しさん
2005/04/03(日) 20:30:56所までいってない。エミュレータが起動した直後にすぐ落ちる・゚・(つД`)・゚・
2Gの頃作ったアプリのjad/MANIFESTファイルをいじってみたが
うまく動かなかったので、まずは"Hello World!"を描画するだけの
アプリを動かそうと試みましたが、それでも動かず・・・。
jad/MANIFESTファイルが間違っているのかなぁと思うのですが、
下記のjad/MANIFESTファイルでどこか間違いでもあるのでしょうか?
・jadファイル
MIDlet-Jar-Size: 44172
MIDlet-Jar-URL: Hello.jar
MIDlet-Name: Hello
MIDlet-Vendor: A
MIDlet-Version: 1.0
MicroEdition-Configuration: CLDC-1.1
MicroEdition-Profile: MIDP-2.0
MIDlet-1: Hello,,Hello
MIDxlet-API: JSCL-1.2.2
MIDxlet-ScreenSize: 0,0
MIDxlet-Permissions: javax.microedition.io.Connector.http
・MANIFEST
MIDlet-Name: Hello
MIDlet-Vendor: A
MIDlet-Version: 1.0
MicroEdition-Configuration: CLDC-1.1
MicroEdition-Profile: MIDP-2.0
MIDlet-1: Hello,,Hello
0232デフォルトの名無しさん
2005/04/03(日) 21:12:26MIDlet-1はなぜかjadにかかないとだめ
0233232
2005/04/03(日) 21:13:180234デフォルトの名無しさん
2005/04/03(日) 21:14:002GのときにつくったのだったらMIDP-1.0なんじゃ?
0235231
2005/04/03(日) 21:41:32MIDP-1.0、CLDC-1.0にしてもだめでした。
ちなみに私はKJX作成ツールを使用していますが、
下記のように、実行ボタンを押した直後に
「execute finished」が出てしまいます。
・実行ボタン押下直後のメッセージ
executing...
C:\JSCL122_SDK101\bin\emulatorw.exe -gui -Xdescriptor:G:\Vアプリ\project\Hello\bin\Hello.jad
execute finished
KJX作成ツールを使用している方で同じ状態に
なった人いませんか?
0236231
2005/04/03(日) 23:04:24\project\Hello\bin\Hello.jad
ではなく
C:\JSCL122_SDK101\bin\emulator.exe -Xdescriptor:G:\Vアプリ
\project\Hello\bin\Hello.jad
ならうまく起動しました。jadファイル以前の問題だったとは・・・、
逝ってきます。
02373G
2005/04/03(日) 23:29:10nullしか帰ってこねぇ・・・
通信はしてるみたいだけどなぁ・・・
0238デフォルトの名無しさん
2005/04/04(月) 04:07:19Hello Worldだけのソフトにしてはでかいなぁ
0239デフォルトの名無しさん
2005/04/04(月) 09:26:28どこで変更できるのでしょうか?
あとレコードストアのファイルはどこに保存されているのですか?
0240デフォルトの名無しさん
2005/04/04(月) 18:25:48HttpConnectionて串に接続するのってどうすればいいんでしょうか?
APIドキュメント見たりググったりしたけどいい資料が見つかりませんでした。
APIドキュメント読むと接続先とパスをまとめてStringで指定している様なので、普通の方法では無理なんでしょうか?
やはり中間鯖自分で書いて別の方法でURL渡すしかないのかなorz
何かいい方法があったら教えてください。
0241デフォルトの名無しさん
2005/04/04(月) 19:25:410242デフォルトの名無しさん
2005/04/04(月) 20:09:46フォルダの最後に'/'がついてないのはなぜ?
0243デフォルトの名無しさん
2005/04/04(月) 21:28:350244デフォルトの名無しさん
2005/04/04(月) 21:36:31そんな事はないぞ・・・制限はキャリア毎にまちまちだが。
そも、240は自分で串立てるの前提で話してないか?中間鯖自分で作る様な事にも言及してるし。
>>240
MIDPの話なら無理。Dojaなら可能。
0245デフォルトの名無しさん
2005/04/04(月) 21:44:21StorageConnectionを使用しようと思ったのですが、
どうもUntrushed Domainをつけられてしまっているようで使えません。
Trushed Domainにするにはどうすればよいのでしょうか?
0246デフォルトの名無しさん
2005/04/05(火) 00:02:08Vodafoneに認めてもらうしか無いんじゃないかなあ。
認証キーが必要な機能なら。
ついでに言うと、ゴミじゃない。
どうも読んでると JSCL と VSCL と VFX が混ざる気がするな。
VFX のアプリ作るなら VFX SDK つかえと言われてもなあ・・・。
まだうち端末が無いから確認できないが、
SH と N 向けに従来通りのAPI使って作るなら
新しいSDKでコンパイルするなってことなのかねえ。
従来通りのAPI入りのコードをコンパイルしたら
うちもクラスファイルのバージョンしかられたよ。
j-phone と jblend の import 全削除して書き換え中。
しかし冬モデルはここでも最悪だ・・・。
実装状況がばらばらすぎ。統一するんじゃなかったのか?
P5 と SH と N をあわよくば同じコード、同じ jad にして、
それ以外は MIDP2.0 ベースのコードにするか。
アプリケーションによって違うんだろうけどうちはこうするかもしれない。
また管理が面倒だ。
つか FEPControl と URLEncode が未だに見つけられない・・・。
VFX 系の pdf と javadoc は一通りみたつもりなんだが。
つか、P7 とか作るなと言いたい。
0247245
2005/04/05(火) 00:18:12Trustedでした。訂正thx。
PKIによる認証メカニズムとかPDFにありますが、どうやればいいのかさっぱりですね。
しかし今頃まで待たせといてこんなとは・・・
0248デフォルトの名無しさん
2005/04/05(火) 00:36:00端末は、.JAD ファイル内で MIDlet-Jar-RSA-SHA1 属性を検出すると、認証および権限付与プロシージャを開始します。
認証中に、端末は、.JAD ファイル内の属性 MIDlet-Certificate-<n>-<m> に記述された証明書チェーンを読みます。
ここで、n と m は証明書チェーンを示す番号です。
MIDlet 証明書をいずれかのルート証明書で確認できた場合、端末は、証明書から公開鍵を抽出し、それを使って .JAR ファイルの署名を計算します。そして、それをルート証明書に割り当てられた保護ドメインと比較します。
.JAD ファイル内の MIDlet-permissions attribute で要求された 1 つ以上の権限が保護ドメインにない場合、インストールは失敗し、続行は許可されません。
0249デフォルトの名無しさん
2005/04/05(火) 18:49:50やはり認証キーが必要な機能は無理なのだろうか?
0250デフォルトの名無しさん
2005/04/06(水) 15:24:45vアプリをテスト鯖にupしようとしたところ
「ADFの内容に問題があります。」
という審査メッセージとともに拒否されてました。
これはjadやマニフェストが間違ってるということでいいんですか?
0251デフォルトの名無しさん
2005/04/06(水) 15:26:46Yes
0252デフォルトの名無しさん
2005/04/06(水) 15:35:38サンクス
upできた本のサンプルと比べても何が悪いのかわからずorz
■ このスレッドは過去ログ倉庫に格納されています