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


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

CLDC+MIDP+携帯電話用Javaスレッド part 6



1 名前:デフォルトの名無しさん mailto:sage [2006/08/10(木) 10:48:34 ]
J2ME CLDC+MIDPベースの携帯電話用Java(主にEZアプリ、Vアプリ)に関するスレッドです。
質問でも議論でも何でもこい、と。質問は公式資料をよく読んでからにしましょう。

前スレ:
CLDC+MIDP+携帯電話用Javaスレッド part 5
pc8.2ch.net/test/read.cgi/tech/1132493827

過去スレ
携帯JAVAのスレッド
pc2.2ch.net/test/read.cgi/tech/1011977260/(DAT落ち)
CLDC+MIDP+携帯電話用Javaスレッド part 2
pc5.2ch.net/test/read.cgi/tech/1070858996/
CLDC+MIDP+携帯電話用Javaスレッド part 3
pc5.2ch.net/test/read.cgi/tech/1091798483/
CLDC+MIDP+携帯電話用Javaスレッド part 4
pc8.2ch.net/test/read.cgi/tech/1108781476/

--
Java一般に関しては:
【初心者】Java質問・相談スレッド88【大歓迎】
pc8.2ch.net/test/read.cgi/tech/1153834996

NTT DoCoMoのiモード携帯電話用Java(iアプリ)については:
iモード携帯電話用Java(iアプリ) Part12
pc8.2ch.net/test/read.cgi/tech/1154336955

>>2-5あたりにリンク集

267 名前:デフォルトの名無しさん mailto:sage [2006/11/18(土) 00:03:38 ]
JCSL版かよMEXAはまだかー

268 名前:デフォルトの名無しさん mailto:age [2006/11/18(土) 01:20:55 ]
アクションスクリプト?フラッシュってどんどん廃れてくんじゃないかと思って最近勉強やめちゃったよ 面白かったけど

269 名前:デフォルトの名無しさん mailto:sage [2006/11/18(土) 11:53:25 ]
Flashがケータイゲームの土壌として普及するのはもう少しかかりそうだけど、
Javaで結局実現しなかった、クロスプラットフォームが完全に実現出来そうだからいいよね。
尤も、ケータイでFlashが流行しだしたら、各キャリアがこぞって端末制御(といってもライトとかバイブとかゴミのようなもの…)の
機能を持たせて互換性がなくなりそうだが。

270 名前:デフォルトの名無しさん mailto:sage [2006/11/18(土) 13:08:35 ]
そろそろスレ違いになりそうだが
Flash は海外端末がそこまでやる気でないと
互換性問題まではいかないっしょ。
日本端末無視しても痛くもなさそうだしさ。


271 名前:デフォルトの名無しさん mailto:sage [2006/11/18(土) 14:04:46 ]
まーそのうちJava言語からswf吐いて実行できる時期がくる

272 名前:デフォルトの名無しさん [2006/11/18(土) 15:00:49 ]
何時頃でしょうか? 先日新機種が出たばかりなので、
来年の秋には出るのでしょうか

273 名前:デフォルトの名無しさん mailto:sage [2006/11/18(土) 19:38:15 ]
>>272
まだまだ先だから安心汁
出たとしても1年以上はまともに使われないだろうし
下手すると、永遠に出ないから

274 名前:デフォルトの名無しさん mailto:sage [2006/11/18(土) 19:47:06 ]
もうある
www.saturn.dti.ne.jp/~npaka/flash/as20/index.html

275 名前:デフォルトの名無しさん mailto:sage [2006/11/18(土) 20:49:55 ]
つか PHP であるじゃん。




276 名前:デフォルトの名無しさん [2006/11/19(日) 12:42:27 ]
そうなんだ…殆どの機種で使えるようになったら大変だなと思って

277 名前:デフォルトの名無しさん mailto:sage [2006/11/19(日) 13:29:35 ]
>>275
どうやってPHPを携帯で動かすの?

278 名前:デフォルトの名無しさん mailto:sage [2006/11/19(日) 15:42:12 ]
PHPは鯖側で動的生成するものですよ?

279 名前:デフォルトの名無しさん mailto:sage [2006/11/19(日) 16:08:28 ]
MEXAエミュレータってレコードストアの読み書きに対応してないんですか?

280 名前:デフォルトの名無しさん mailto:sage [2006/11/19(日) 16:17:37 ]
レコードストアの読み書きには対応してるよ

281 名前:デフォルトの名無しさん mailto:sage [2006/11/19(日) 16:44:27 ]
>>279
パーミッション設定を忘れずに。

282 名前:デフォルトの名無しさん mailto:sage [2006/11/19(日) 17:01:33 ]
>>280-281
できました。ありがとうございます。
ところで、保存したデータはどこに保存されるのでしょうか?

283 名前:デフォルトの名無しさん mailto:sage [2006/11/19(日) 17:03:41 ]
projectの中のやたら長いファイル名×3つ。

284 名前:デフォルトの名無しさん mailto:sage [2006/11/19(日) 22:33:37 ]
GameCanvasでRunnableのrun()を回しているときに
run()外のkeyReleasedを取得することはできるのでしょうか?

285 名前:デフォルトの名無しさん mailto:sage [2006/11/19(日) 23:51:43 ]
J2MEの1.0.4と2.2の両方をインストールしているとき
どちらが利用されてるかを知るにはどこを見ればいいですか?

(JSCL1.2.2 JDK1.4.2を使用してます)



286 名前:デフォルトの名無しさん mailto:sage [2006/11/20(月) 00:17:03 ]
J2ME ってのは WTK のことだろうか。
JSCL ってのは、起動すると KToolBar が起動するアレのことだろうか。


JSCL の KToolBar を起動すれば、別途 WTK をインストールしてあっても
使われてないんじゃなかろうか。


287 名前:デフォルトの名無しさん mailto:sage [2006/11/20(月) 01:27:21 ]
>>286
JSCLを使っているとWTKって使われないのですか。
わかりました。ありがとうございます。

288 名前:デフォルトの名無しさん mailto:sage [2006/11/20(月) 12:08:42 ]
今の時代VSCLだぜ?

289 名前:デフォルトの名無しさん [2006/11/21(火) 02:29:58 ]
>>257

MEXAのヘルプに載ってたよ

S!アプリを指定して起動する場合
MEXAエミュレータで実行するS!アプリ(Jadファイル)を指定します。MEXAエミュレータが起動し、指定したプロジェクトに指定したS!アプリがインストールされ起動します。
JadファイルとJarファイルは同じフォルダに置いてください。
形式 インストールフォルダの絶対パス\mexa_emulator.exe プロジェクトのファイルの絶対パス -direct S!アプリの絶対パス
例 "C:\Program Files\SOFTBANK_MEXA_EMULATOR11\mexa_emulator.exe"
C:\SOFTBANK_MEXA_EMULATOR11\projects\sample\sample.vjp
-direct C:\SOFTBANK_MEXA_EMULATOR11\projects\sample\sapp\display.jad

というか今やってるけどこれをXMLで書いてるけど
どっかから拾ったXMLのビルドを改造してるもんで
出来そうだけどXMLの知識無し

290 名前:デフォルトの名無しさん [2006/11/21(火) 02:34:26 ]
>>289の続き

XMLのソースで

<!-- 実行 -->
<target name="実行"> 
 <exec executable="${tool.emu.cmd}" dir="${basedir}">
   <arg value="-classpath ${prj.jar}" />
   <arg value="-Xdescriptor:${prj.jad}" />
 </exec>
</target>

これはJSCL 1.3.2を動かす時なんだけどMEXAに直す方法知ってる人教えてください

291 名前:289 [2006/11/21(火) 03:39:25 ]
案外すんなり自己解決しました。

<exec executable="cmd.exe" os="Windows XP">
 <arg line="/c '${tool.emu.cmd}' ${tool.vjp.cmd} -direct ${prj.jad}" />
</exec>

これでeclipseからMEXAを自動起動&自動インストール&実行で快適快適♪


292 名前:デフォルトの名無しさん mailto:sage [2006/11/21(火) 23:39:05 ]
>>284
class GameCanvas{
static GameCanvas inst_canvas;
static int type,param;
public void GameCanvas(){
inst_canvas = this;
}
public void processEvent(int type, int param){
GameCanvas.type = type;
GameCanvas.param = param;
}

processEventを定義しているインスタンス?が
Display.setCurrent()でセットされていれば割り込むと思うけど…

外部からキーの情報が欲しいのであればstaticが有用
GameCanvas.type
GameCanvas.param

293 名前:デフォルトの名無しさん [2006/11/22(水) 14:41:50 ]
NetBeansでソースの追加ってなんなんだろ?
クラスパス追加すればおkだし、javadoc追加すれば完璧だけど、
ソースってのを追加すると何かの役に立つの?
クラスとかの追加が楽にできるとかかな…

294 名前:デフォルトの名無しさん mailto:sage [2006/11/22(水) 14:45:15 ]
誤爆か?
ライブラリのソースを追加すると、実装が追えるとかかな?

295 名前:デフォルトの名無しさん mailto:sage [2006/11/23(木) 00:49:56 ]
>>289
詳しくやり方教えてもらえませんか?



296 名前:289 [2006/11/23(木) 02:10:50 ]
>>295

まずは
mjdf.potrin.com/pages/04_LST_Tool.html
このサイトでeclipseをantを使ってコンパイル実行してるのね
eclipseは3.1ね。3.2でもいけると思うけど、3.1を無理やり手に入れた。

次にこのサイトで落とせる(mjdf.potrin.com/pages/chapter5.html
xmlを290の状態から291の通りに修正したら動いたわけ

291の
${tool.vjp.cmd}
これは独自に追加したもので、パスは
C:\SOFTBANK_MEXA_EMULATOR11\projects\sample
のsample.vjpを指定している。



ほんとに動くのか?って思うなら
MEXAのヘルプ見ると書いてあるし、コマンドプロンプトで実行してみるとちゃんと動くのがわかる


297 名前:デフォルトの名無しさん mailto:sage [2006/11/26(日) 14:03:58 ]
MEXAでアプリ動かすとたいした画像を読み込んでないのに、ヒープが不足するが、なぜか
わかる人いますか?

298 名前:デフォルトの名無しさん mailto:sage [2006/11/26(日) 15:10:51 ]
>>269
説明ありがとうございます。
引数でインストールから実行までできるのであれば、
EclipseMeのWTKエミュレータを書き換えても実行できそうですね。

299 名前:デフォルトの名無しさん mailto:sage [2006/11/27(月) 01:05:40 ]
S!アプリで画像のフォルダをダイアログで参照させたいんだけど、どうすればいい?
直接参照するにはStorageConnectionで行けそうなんだけど

300 名前:デフォルトの名無しさん [2006/11/27(月) 01:31:31 ]
テキストボックスで桁数を取得できないものだろうか 現在桁数とか表示させたいのだが

301 名前:デフォルトの名無しさん mailto:sage [2006/11/27(月) 07:08:53 ]
>>300
\n数えたら?

302 名前:デフォルトの名無しさん [2006/11/27(月) 15:00:06 ]
 プログラムを作成してみたのですが、以下のエラーが出てエミュレータで実
行できません。自分にはどこがおかしいかわからないのですが、分かる人お願
いします。

「Jad ファイルと Jarファイル(Manifest ファイル)とが不正か、
もしくは整合性がありません。
MIDlet-XXXXX エントリの値をご確認ください。」

Sample6.jad

MIDlet-1: Sample6, Sample6.png
MIDlet-Jar-Size: 1959
MIDlet-Jar-URL: Sample6.jar
MIDlet-Name: Sample6
MIDlet-Vendor: Unknown
MIDlet-Version: 1.0
MicroEdition-Configuration: CLDC-1.0
MicroEdition-Profile: MIDP-1.0
MIDlet-Permissions: com.j_phone.io.StorageConnection.read
MIDlet-Application-Security: Y


303 名前:デフォルトの名無しさん [2006/11/27(月) 15:00:18 ]
MANIFEST.MF

Manifest-Version: 1.0
Ant-Version: Apache Ant 1.6.5
Created-By: 1.5.0_09-b03 (Sun Microsystems Inc.)
MIDlet-1: Sample6, Sample6.png
MIDlet-Name: Sample6
MIDlet-Vendor: Unknown
MIDlet-Version: 1.0
MicroEdition-Configuration: CLDC-1.0
MicroEdition-Profile: MIDP-1.0


304 名前:デフォルトの名無しさん mailto:sage [2006/11/27(月) 20:34:02 ]
MIDlet-1じゃね?

305 名前:デフォルトの名無しさん mailto:sage [2006/11/27(月) 23:32:03 ]
>>303
MIDlet-1のパラメーターがおかしいのと必須項目も足りないんじゃないの。


アプリの起動方法(待受け起動とかプラウザ起動)を取得する方法ってどこに書いてあったっけ?
どっかに書いてあったと思うんだけど見つからないよ、、、。
MEXAエミュレーターで設定できるみたいだけど、何番が○×起動なのかとかわからん。






306 名前:300 [2006/11/27(月) 23:49:10 ]
>>301 ズキュン

307 名前:デフォルトの名無しさん mailto:sage [2006/11/28(火) 01:12:59 ]
>>303
ttp://notitle.net/vappli/920.html
ここに詳しく載ってる


ところでVGA機種でQVGAに拡大表示させたいときは
MIDlet-Application-Range: 240,260
で合ってる?

308 名前:デフォルトの名無しさん [2006/11/28(火) 01:46:08 ]
フォルダはcreateFolder()で作るのに、
ファイルはopenOutputStreamで作るんですね

309 名前:デフォルトの名無しさん mailto:sage [2006/11/28(火) 02:15:52 ]
mkdirとfopenのようなもんだ

310 名前:デフォルトの名無しさん [2006/11/28(火) 21:23:26 ]
javax.microedition.lcdui.CustomItemを継承したクラスで
数値等の画像のPNGファイルを100個くらい配置しまくって
ひと月分のカレンダーにしています。
そしてそれをフォームにappendしています。

そのフォーム内でスクロールしたりすると
やたら処理が遅いなあーって思ってたら、
どうやら方向キーの押下等でフォーカスが変わる度に
配置してあるCustomItemのpaint()が呼ばれていることがわかりました。
paint()ではカレンダーの生成用に
日付やらユーザのマーキングやらで何度もループを繰り返してPNGを配置しているので、
これをキー押下の度に呼んでいたらそりゃ大変です。
(手元の905SHではキー押下の度に4秒くらい止まる)

処理を軽くできる方法はないでしょうか?

311 名前:デフォルトの名無しさん [2006/11/28(火) 21:47:55 ]
>>310
オフスクリーンにpng一度全部書いてからメイン画面に反映すればいいじゃん

それか方向キー押した時にフラグ立てて、描画回避すればいいんじゃね?

312 名前:デフォルトの名無しさん mailto:sage [2006/11/28(火) 21:51:05 ]
エミュレータにて、
色数1bit(2色パレット)のpngをImageにロードして、
drawRegion()で切り出し描画たいのだが、切り出しx座標が8の倍数のときは
正しい位置から切り出してくれるが、それ以外のときはx座標が
8の倍数に丸められちまう。

実機では未だ試していないのだが、これって仕様?


313 名前:デフォルトの名無しさん [2006/11/28(火) 23:55:19 ]
横方向は4の倍数じゃなきゃいけなかったような…
描画元と描画先の座標の差が。

314 名前:310 mailto:sage [2006/11/29(水) 13:44:34 ]
>>311
>オフスクリーンにpng一度全部書いてからメイン画面に反映
ありがとうございました。
なにやら基本的なことだったみたいですね。
勉強になりました。

315 名前:デフォルトの名無しさん mailto:sage [2006/11/30(木) 14:03:26 ]
あら・・・
s!のサイトから開発環境一式ダウンロードして昔の消したら、
KToolbarなくなっちゃった。
WTKの使えって事でいいんだろうか。
Vの開発環境一式残ってるかなぁ(´д`)




316 名前:デフォルトの名無しさん mailto:sage [2006/12/01(金) 02:15:34 ]
Sアプリってiアプリみたいに個体識別番号や機種名を取得することはできないんですか?

317 名前:デフォルトの名無しさん mailto:sage [2006/12/01(金) 13:12:20 ]
識別番号はどうしたかなぁ

318 名前:デフォルトの名無しさん mailto:sage [2006/12/01(金) 15:11:08 ]
System.getProperty(引数)で機種名は取れたと思いますよ。

引数はなんだったかな?Platform?

個体識別番号は、HTTPリクエストヘッダにのってる情報をサーバから返してもらうとかしないと
無理だとおもっておりますがどうなんだろ?
しかも設定で機種情報送信をONにしてもらわないとだめでしたよね?

319 名前:デフォルトの名無しさん mailto:sage [2006/12/01(金) 17:27:57 ]
ざっと検索したところ
au
PhoneSystem.getID();

ソフトバンク
System.getProperty("Platform");

ドコモ
System.getProperty("microedition.platform");

320 名前:デフォルトの名無しさん mailto:sage [2006/12/02(土) 02:01:56 ]
識別番号はHTTPリクエストに乗ってるのをサーバーに返してもらう以外の方法知らないな

321 名前:デフォルトの名無しさん mailto:sage [2006/12/02(土) 03:52:45 ]
上の方で質問出てたけど、起動種別の取得ってどうやるんだろう?
i、auは技術情報に書いてあったけど、ソフトバンクは載ってないような。

322 名前:デフォルトの名無しさん mailto:sage [2006/12/02(土) 19:01:59 ]
すみません、3G端末でホワイトアウトようなラスタオペレーションの処理を実装したいのですが、
どのようなAPIを使えば実現できるのでしょうか。

DoJaだと機種依存ですが、イメージの半透明描画命令等がありましたが、
MIDP2.0やJSCLではそれらしいものを見つけることができませんでした。
プリミティブを透過率を指定して配置するとかしかないのでしょうか?

どなたかご教授ください。<(_ _)>

323 名前:デフォルトの名無しさん mailto:sage [2006/12/02(土) 22:30:37 ]
Part3の547で答えられてた感じ。実際できるかしりません。
=================================================
530 名前:デフォルトの名無しさん :04/10/23 20:01:37
携帯で、ピクセル扱うと遅いよー

545 名前:デフォルトの名無しさん :04/10/24 22:49:17
iアプリにあるホワイトアウト処理みたいなのを使いたいんだけど、
JSCLには無いようなので他の方法で同じ処理をしようと思うのですがどのような処理をすればいいのでしょうか…

547 名前:デフォルトの名無しさん :04/10/25 00:08:42
>>545
com.j_phone.util.ImageUtil#createMaskedImage使えば、
マスクパターンの細かさを段階的に変えていって疑似半透過できるかも。
まぁP6以降だが。

GraphicsUtil#setPixelでピクセル単位でいじればもっと柔軟に対応できるが、 たぶん >530

324 名前:デフォルトの名無しさん mailto:sage [2006/12/02(土) 22:42:23 ]
一番軽い方法は予めホワイトアウトの処理を書き込んだ連番画像を用意しておいてそれをアプリで順に描画

325 名前:322 mailto:sage [2006/12/03(日) 01:54:51 ]
なるほど、ありがとうございます。
さすがに自前でピクセルを操作するよりは3Dで処理させたほうが速そうな気がします。
でも3Dを使うと2Dの性能を圧迫する機種があるので、どうしたものかなと…。
MaskedImageやあらかじめ画像を用意しておくというのは現実的ではないし。
やはり妥協して白色で塗りつぶしてくような適当な処理に変更かなぁ。



326 名前:デフォルトの名無しさん mailto:sage [2006/12/03(日) 09:52:12 ]
>>325
ぜんぜん試したことないけど、透過gif使ってみたらどうだろ
段々とドットの間隔を狭めたり広げたりしとけばそれなりのエフェクトが出来そうだが

327 名前:デフォルトの名無しさん mailto:sage [2006/12/03(日) 10:10:43 ]
705SHなんですが、MIDP2.0のjavax.microedition.media.PlayerでMP4や3GPPを
再生しようとすると、javax.microedition.media.MediaException: start failed.
が発生します。
InputStream is = getClass().getResourceAsStream("/1.3gp");
Manager.createPlayer(is,null).start(); //ってな感じ
音声ファイルは、jarに同梱している小さなもので、
MIDxlet-Sound-Priority: Y は入れてます。
何が悪いんでしょうか。それともそもそも無理?

328 名前:デフォルトの名無しさん mailto:sage [2006/12/03(日) 17:47:00 ]
WTKエミュレータのレコードストアを初期化したいんですが
どこに保存されているのでしょうか?

329 名前:デフォルトの名無しさん mailto:sage [2006/12/03(日) 19:06:27 ]
どうしてちょっと調べればすぐわかることを聞きに来るのか俺には理解できないんだが

330 名前:デフォルトの名無しさん mailto:sage [2006/12/04(月) 02:00:58 ]
>>329
一応WTKのFAQなどは目を通しているんですが、探し方が悪いのか見あたりませんでした。
WTKのフォルダの中やアプリのフォルダの中も見てもそれらしいファイルがありません。
もしご存じなら教えていただけないでしょうか?

331 名前:デフォルトの名無しさん mailto:sage [2006/12/04(月) 05:52:14 ]
>>330
1、705shでそれは再生可能か?
2、MIDP2.0でそれは再生可能か?

332 名前:デフォルトの名無しさん mailto:sage [2006/12/04(月) 10:56:40 ]
NetBeansでコンパイルができません…
フォルダ生成してるからだと思いますが…
生成物を除外して構築でも駄目
どこで設定できるか教えて下さい

333 名前:デフォルトの名無しさん mailto:sage [2006/12/04(月) 15:34:00 ]
すみません、ブラウザからパラメータ渡しのアプリ起動をしたいのですが、
getWakeupParam のパーミッションの記述で悩んでいます。
一通りS!のサイトの仕様書は読みつくしたと思うのですが、
getWakeupParamに関してはパーミッションにどう書けばよいのかわかりません。

例外を出力しようかとも思ったのですが、
getWakeupParamを呼んでいる箇所でスレッドごと落ちてしまうため
確認も出来ない始末でして・・・
どなたか心当たりがありましたらご教授お願いします。
尚、テスト端末は905SHでアプゲを使用しています。


334 名前:デフォルトの名無しさん mailto:sage [2006/12/04(月) 15:43:37 ]
使ったこと無いけど、getWakeupParamを使用するのに
パーミッションの記述は必要ないんじゃない?


335 名前:333 mailto:sage [2006/12/04(月) 16:23:17 ]
すみません、できました(´д`;)
import の指定の誤りでした。
× import com.vodafone.system.DeviceControl;
○ import com.j_phone.system.DeviceControl;

com.j_phone〜に変更したら、
>334氏の通りパーミッションの記述は不要でした。
ご迷惑をおかけしました。。。




336 名前:デフォルトの名無しさん mailto:sage [2006/12/04(月) 21:31:50 ]
待ち受けアプリってどうやって作るんでしょうか?

337 名前:327 mailto:sage [2006/12/04(月) 21:59:40 ]
>>331
1 ネイティブプレーヤで再生できます。
2 「端末個別仕様」のMIDP2.0/Media Playerの項目にはMP4(audio)や3GPP(audio)
が記載されているのでできそうなのですが...

338 名前:デフォルトの名無しさん mailto:sage [2006/12/05(火) 02:24:28 ]
3G端末でPOST通信がしたくて下記のようにしているのですが、
通信確認の画面ではいを選択しても一向に通信が始まりません。
何がおかしいのでしょうか?
jadにMIDlet-Permissions: javax.microedition.io.Connector.http
は追加してあります。

String POST(String URL,String str) {
try {
HttpConnection connection = (HttpConnection)Connector.open(URL, Connector.READ_WRITE, true);
connection.setRequestMethod(HttpConnection.POST);
connection.setRequestProperty("content-type", "application/x-www-form-urlencoded");

OutputStream os = connection.openOutputStream();

os.write(str.getBytes());
os.close();

InputStream is = connection.openInputStream();
int length = (int)connection.getLength();
byte[] data = new byte[length];
is.read(data);
is.close();
connection.close();
return new String(data);
} catch (Exception e) {
return "エラー";
}
}


339 名前:デフォルトの名無しさん mailto:sage [2006/12/05(火) 03:21:52 ]
>>338
もし対象端末がボーダフォンのSH系なら、
javaアプリからのPOST送信には対応してなかったはず。

340 名前:デフォルトの名無しさん [2006/12/05(火) 04:46:48 ]
SoftBankなんですが、

StorageConnection con = (StorageConnection)Connector.open("file:///ms/Pictures/….jpg");
InputStream istm = con.openInputStream();
byte[]bData = new byte[(int)con.getLength()];
intlen = istm.read(bData, 0, (int)con.getLength());
Imageimage = Image.createImage(bData, 0, len);

の最後で
Uncaught exception java/lang/IllegalArgumentException
ALERT: srcData: [B@1a4cfaaa
と言われてしまいます。PNGなら読めます。もしかして、JPGは未対応ですか?

341 名前:デフォルトの名無しさん mailto:sage [2006/12/05(火) 10:17:52 ]
>>340
ほぼ全機種(海外除く)ミニマムスペックでjpeg対応していたはず。
・携帯端末で読めないjpeg(解像度が大きすぎ、Exifタグのついた特殊なjpeg等)
・色々と閉じ忘れているのが悪影響している
どちらかじゃないかと


342 名前:デフォルトの名無しさん mailto:sage [2006/12/05(火) 11:04:45 ]
>>339
POST対応してないのはSH53初期型のみだったとおもう
>>340
300KB制限とかあったようなきがする

343 名前:デフォルトの名無しさん mailto:sage [2006/12/05(火) 11:16:40 ]
>>338
setRequestPropertyに渡している"content-type"って
普通は"Content-Type"って書くと思うけど、大文字小文字は関係ないのかな?

また、valが"application/x-www-form-urlencoded"ならos.writeで書き込んでいるデータは
URLエンコードをがかかっているのかな?

まあ上記は、あまり重要ではないと思うけどね。
本題だけど
os.close()の後にレスポンスコードをチェックしている記述が見当たらないんだが
レスポンスコードは何って返ってきているの?
後、送ろうとしているデータサイズはいくつ?

344 名前:デフォルトの名無しさん mailto:sage [2006/12/05(火) 11:53:42 ]
>>338
>>339
POSTに対応していないんじゃなくて、
POSTのContent-typeがOctet-streamに固定されるんじゃなかったでしたっけ?

345 名前:デフォルトの名無しさん mailto:sage [2006/12/05(火) 11:57:49 ]
>>343
os.close()の後にレスポンスコードをチェックするために
int rs=connection.getresponseCode();
といれたら通信が開始されるようになりました。
コードも200と返ってきたので正しく通信が行えたようです。
APIリファレンスを呼んだら接続状態への遷移を引き起こすメソッドに載っていたので
この内のどれかを呼ばないと通信できないみたいですね。
ありがとうございました。



346 名前:デフォルトの名無しさん [2006/12/05(火) 18:35:28 ]
SoftBankで何もしないプログラムを作成して、エミュレータで確認後
実機で動かしてみたんですが、起動直後に「エラーが発生しました」に
なってしまいます。
実機にダウンロードできた時点でMANIFEST.MFと*.jadのチェックは通った
と考えていいんですよね?(何もしないプログラムなので原因がさっぱり
です)

347 名前:デフォルトの名無しさん mailto:sage [2006/12/05(火) 18:39:45 ]
>>346
とりあえず、コンパイル環境と
Jad、マニフェストファイルの中身と
使用した端末を書け。

348 名前:デフォルトの名無しさん mailto:sage [2006/12/05(火) 18:44:34 ]
>>345
んなことはない

349 名前:346 mailto:sage [2006/12/05(火) 19:22:01 ]
JDK 1.5 Update 10でEclipse 3.2を使用して↓を使ってビルドしました
mjdf.potrin.com/pages/eclipse_03.html

んで、アプリゲットにアップロードしました。

/META-INF/MANIFEST.MF
Manifest-Version: 1.0
Ant-Version: Apache Ant 1.6.5
Created-By: 1.5.0_10-b03 (Sun Microsystems Inc.)
MIDlet-1: Sample9,, Sample9
MIDlet-Name: Sample9
MIDlet-Vendor: Unknown
MIDlet-Version: 1.0
MicroEdition-Configuration: CLDC-1.0
MicroEdition-Profile: MIDP-1.0


350 名前:346 mailto:sage [2006/12/05(火) 19:23:01 ]
Sample9.jad
MIDlet-1: Sample9,, Sample9
MIDlet-Jar-Size: 699
MIDlet-Jar-URL: Sample9.jar
MIDlet-Name: Sample9
MIDlet-Vendor: Unknown
MIDlet-Version: 1.0
MicroEdition-Configuration: CLDC-1.0
MicroEdition-Profile: MIDP-1.0


351 名前:346 mailto:sage [2006/12/05(火) 19:23:50 ]
Sample9.java
import javax.microedition.midlet.*;

public class Sample9 extends MIDlet
{
public Sample9() {
}
protected void destroyApp(boolean arg0) {
}
protected void pauseApp() {
}
protected void startApp() {
}
}

352 名前:346 mailto:sage [2006/12/05(火) 19:25:32 ]
あ、端末は910SHです。

353 名前:デフォルトの名無しさん mailto:sage [2006/12/05(火) 20:30:17 ]
>>346
JADにMIDxlet-API項目がないのでは?

354 名前:デフォルトの名無しさん mailto:sage [2006/12/05(火) 20:31:51 ]
>>346
>>353追記
MIDlet-OCLのほうかも

355 名前:デフォルトの名無しさん mailto:sage [2006/12/05(火) 22:14:29 ]
>>348
int rs=connection.getresponseCode();を入れなくても
エミュレータ上では通信してくれるんですが、
実機(905SH)では通信が開始されないんですけど
何が問題なんでしょうか?



356 名前:デフォルトの名無しさん mailto:sage [2006/12/05(火) 22:35:16 ]
何で外すの?


357 名前:デフォルトの名無しさん mailto:save [2006/12/05(火) 23:20:42 ]
>>356は誰に対して言っているんだ?

358 名前:346 mailto:sage [2006/12/06(水) 02:01:30 ]
>>353
>>354
jadにMIDxlet-API: JSCL-1.3.2
MIDlet-OCL: JSCL-1.3.2
を追加してみましたが、同じでした

359 名前:デフォルトの名無しさん mailto:sage [2006/12/06(水) 04:26:02 ]
>>338
GETと違ってPOSTはConnector#open()の前にOutputStreamがお約束。

>>340
read()は必ずしも一回で全部を読み切るわけではないから
lenとcon.getLength()が同じになるとは限らない(APIリファレンス見て)。
だからImage#createImage()で失敗している。

360 名前:デフォルトの名無しさん mailto:sage [2006/12/06(水) 09:07:45 ]
>>359
>GETと違ってPOSTはConnector#open()の前にOutputStreamがお約束。

そんなわけない

361 名前:デフォルトの名無しさん mailto:sage [2006/12/06(水) 10:04:23 ]
>>358
JSCL-1.3.2だったら、
 MicroEdition-Configuration: CLDC-1.1
 MicroEdition-Profile: MIDP-2.0
にしたほうがいいのでは?


362 名前:デフォルトの名無しさん mailto:sage [2006/12/06(水) 11:07:28 ]
>>361
JSCL1.3.2ということはMIDP1.0の
エミュレータを使用している可能性が高い。

MicroEdition-Configuration: CLDC-1.1
MicroEdition-Profile: MIDP-2.0
もしJadの記述を上記に変えてしまった場合
JSCL1.3.2のエミュで動かなくなってしまう。
MEXAエミュレータを使用すれば問題ないけどね。

3GCの端末で
MicroEdition-Configuration: CLDC-1.0
MicroEdition-Profile: MIDP-1.0
の記述で動かしたい場合、Jadの記述に以下を追加する必要がある。

MIDlet-Permissions: javax.microedition.io.Connector.http

これについては、「S!アプリ開発ガイド MIDP2.0対応端末編」の
2.2.8.5. MDlet-Permissionsの項目に書かれている。



363 名前:346 mailto:sage [2006/12/06(水) 13:47:09 ]
MicroEdition-Configuration: CLDC-1.1
MicroEdition-Profile: MIDP-2.0

MicroEdition-Configuration: CLDC-1.0
MicroEdition-Profile: MIDP-1.0
MIDlet-Permissions: javax.microedition.io.Connector.http
も試してみましたが、やはりS!エミュやMEXAエミュでは動作するのに
実機では「エラーが発生しました」と起動直後に表示されてしまいます。
もう何がなにやら…

364 名前:デフォルトの名無しさん mailto:sage [2006/12/06(水) 14:59:02 ]
>>359
>GETと違ってPOSTはConnector#open()の前にOutputStreamがお約束。
それはない。

参考までにDoJaだと
HttpConnection#connect()「リモート資源に実際に接続する。」
てのがあって>>338の os.close(); と InputStream is = 〜 の間にこれが入る。
このことから(CLDC+MIDPでも同様に考えていいなら)>>345が言ってることでいいと思う。

365 名前:デフォルトの名無しさん mailto:sage [2006/12/06(水) 16:33:39 ]
>>363
コンパイルにJDKの1.5を使用されていますが、
コンパイルオプションとかって、何をご使用ですか?




366 名前:346 mailto:sage [2006/12/06(水) 18:33:16 ]
自己解決しました
JDKを1.4にしたら、あっさり動きました。

367 名前:デフォルトの名無しさん [2006/12/06(水) 19:08:24 ]
待ち受けアプリ作ろうと思って、ドキュメントにあるResidentMIDletクラスを
探してみてもクラスファイルがないんですが、どこにあるのでしょうか?







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

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

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