07/06/11 14:15:12
まぁ、今の時代にレコードストアの32kって時点で
auのオープンアプリだろうな。
66:デフォルトの名無しさん
07/06/11 14:31:01
>>63
オープンアプリは端末の機能に一切アクセスできない。
データフォルダや電話帳や着信履歴やメールやカメラなど、どれも使えない。
通信だけは許可されているので(面倒な制限はあるが)、
大きなデータは毎回サーバから持ってくるしかないな。
でもアプリが終わったらそれも消えるってことで。
>>64>>65
「OAP」オープンアプリプレイヤー→Javaアプリが動くauのBREW端末
67:デフォルトの名無しさん
07/06/11 14:40:31
その略し方は初めて知った
あんまり伝わらないのでは?
68:デフォルトの名無しさん
07/06/11 14:45:28
調べる時に検索したら「OAP」って書いてるサイトもあったけど、
仕事だと伝わり辛いから「オープンアプリ」って言ってるな。
69:デフォルトの名無しさん
07/06/11 15:35:15
>>64-
そっか、ありがとさん。
オープンアプリで自由にアプリが作れると思いこみ、
MNPで移行せずにauのまま更新したのはマズかったっぽいね。
しかも、オープンアプリだと解像度も低いし。
70:デフォルトの名無しさん
07/06/11 15:44:09
解像度は240x240で一緒じゃね?
71:デフォルトの名無しさん
07/06/11 15:46:58
>>69
まあ公式にはBrewでちゃんと作ってねよろしく、オープンアプリはダメよ。
ていうスタンスだから、機能内で相応の物を作るのがよいかと。
>>70
縦フル画面使えないって事じゃない?
72:デフォルトの名無しさん
07/06/11 17:34:18
--------------------------------------------------------------
ディスプレイサイズは240×268ドットとなります。
MIDP2.0のフルスクリーン仕様 (Canvas.setFullScreenMode()) に
対応しており、利用の際のサイズは240×296ドットが利用可能です。
--------------------------------------------------------------
だそうだが?
73:デフォルトの名無しさん
07/06/11 17:47:11
では>>69の言う解像度とは何のことなのか?
74:デフォルトの名無しさん
07/06/11 19:44:02
>>72-73
VGA機を使っても240x268だし、通常のワイド機でもかなりの無効領域(auロゴ)が出てしまうので。
75:デフォルトの名無しさん
07/06/11 19:45:35
>>71
審査に15万だっけ?
一回だけなら払ってもいいんだけど、ソフトごとに毎回審査料払って
しかも審査落ちがあるとか、個人じゃとても無理だし
人様にもあまり見せられるものじゃないし、ねえ。
76:デフォルトの名無しさん
07/06/12 00:22:33
BREWアプリはVGAは出せますん
77:デフォルトの名無しさん
07/06/12 00:55:04
jigブラウザがオープンアプリ版を出してるようだから、
オープンアプリで商売するのも不可能ではないわけだ。
78:デフォルトの名無しさん
07/06/12 01:39:15
商売はOKだけど、公式サイトでの利用はNG。
18禁Flashとか作ってた連中が一番喜びそう。
79:デフォルトの名無しさん
07/06/12 09:24:45
商売はどうでもいいけど、自分用の暇つぶしツールを作りたかっただけなんだ。
初期導入費用に15万掛ってもいいけど、継続してとられるのはキツい。
それに公式で公開するつもりもないんですよん
てところで、やっぱりFlashにするか他キャリアにするのが一番よさげだねorz
80:デフォルトの名無しさん
07/06/12 10:07:26
>>79
初期費用どころじゃなくて、サイトアップのためには公式サイトの制作が
前提条件になるはず。その審査には株式会社じゃないと多分門前払い。
ちなみにflashも外部ファイルは読めないし、100kByte制限とかあったりともっと制限きついよ。
オープンアプリでできる範囲の物をとりあえず作ったらいかがでしょ?
MIDPなんだからSoftBankやZero3にも比較的簡単に載せ変えできるし。
81:デフォルトの名無しさん
07/06/13 17:44:18
911TでSMAFが鳴らないんだけど、何か知ってる人いたら教えてください。
フォーマットはMA-3です。
SH、N、P、Tの他機種、SCと他のヤツは一通り鳴るんですが。
911T二台試したんですが、二台ともダメでした。
82:デフォルトの名無しさん
07/06/13 18:07:46
何故か二台ともSアプリ設定の音量が0になってただけでした。
すいません、お騒がせしました。。。
83:デフォルトの名無しさん
07/06/13 19:50:50
>>79-80
基本的に、自由にアプリ公開して、ユーザーにダウンロードさせる
ことができるのって、i-Appliだけなのですか?
84:デフォルトの名無しさん
07/06/13 20:11:51
iアプリとオープンアプリは自由。多分Willcomも大丈夫じゃね?
S!アプリはコンテンツアグリゲーターにアップしないとあかん。
Brewは本来スレ違いというか。Javaじゃないしね。
85:デフォルトの名無しさん
07/06/13 20:59:57
>>84
Willcom機の場合はサイトにうpする必要すらない。
PCから電話機にファイルコピーしてインストールできる。
もちろん自由にサイトからもお好きに。
86:デフォルトの名無しさん
07/06/13 23:21:35
オープンアプリは鯖の設定いじってやらないとダウンロードできないんだよな。
87:デフォルトの名無しさん
07/06/14 22:53:52
>>84-86
おお!
どうもありがとうございます。
オープンアプリについては、↓のコピペを。。。。
--------------------------------------------
サーバ設定
Webページを配置するサーバ側にていくつかのヘッダ情報を必須で返却する必要があります。返却されない場合、インストールエラーとなります。サーバ側の設定方法に関しましてはご利用のサーバ管理者へお問い合わせ下さい。
Content-Lengthヘッダに対応する必要があります。
Content-Typeとして以下のMIMEタイプに対応する必要があります。
拡張子 MIMEタイプ
.jad text/vnd.sun.j2me.app-descriptor
.jar application/Java-archive
88:デフォルトの名無しさん
07/06/15 15:40:39
>>87
それ.htaccessで書けば大丈夫なサーバーが多い。geocitiesとかでアップとかの話はわからんが。
89:デフォルトの名無しさん
07/06/16 07:28:23
ここで聞くべきがどうか微妙なんだけど、
SMAFをランダムで再生できて、本体とメモリーカード両方を読み込んでくれるアプリなんて今はないのかな?
以前はVsmafplayerってのを使ってたんだけど、対応してない携帯にしちゃって...。
ただ需要がないだけ?
ちなみにSoftBankの3G。
作るのもアリかなと思うんだけど、どれ程の技術が必要なのかすらわからない。。
教えてくだしゃい
90:デフォルトの名無しさん
07/06/16 07:29:41
ここで聞くべきがどうか微妙なんだけど、
SMAFをランダムで再生できて、本体とメモリーカード両方を読み込んでくれるアプリなんて今はないのかな?
以前はVsmafplayerってのを使ってたんだけど、対応してない携帯にしちゃって...。
ただ需要がないだけ?
ちなみにSoftBankの3G。
作るのもアリかなと思うんだけど、どれ程の技術が必要なのかすらわからない。。
教えてくだしゃい
91:デフォルトの名無しさん
07/06/16 07:30:51
二重ですんません__
92:デフォルトの名無しさん
07/06/18 00:25:32
フォルダ内のファイルをランダム再生ならnenene_3gがあるけど
全部読み込んで再生できるアプリは知らない
やり方としてはMy Items\Soundフォルダ内をStrorageConnectinでリスト取得して
ランダム再生するだけだからそこまで難しくない
作ってくれるんなら全部読み込んでくれるよりかは
プレイリストを編集できて管理できるソフトがほしい
93:デフォルトの名無しさん
07/06/18 11:03:19
作るんならMIDIとWaveも再生できるようなのもお願い
94:89
07/06/18 13:09:32
>>92
nenene、落としてはみたのだけどなぜかエラーが出ちゃったよ...。
(ちなみに905SH)
もしかしてUSB繋いでいじらなきゃダメ??
プレイリストか~。
作るとか言っておいてアレなんだけど、プログラミングなんてかじってもいないんだよ。
そこまでできる様になるまで結構頑張らなくちゃいけないかな?
>>93
Waveが見れる携帯ってあるの?
それとも、『アプリでは見れる』的な?
95:デフォルトの名無しさん
07/06/18 20:44:56
初心者です。
stubclassesにFileInputStream.classがない。
どうしたらいいのか・・・
96:デフォルトの名無しさん
07/06/18 21:39:24
>Waveが見れる携帯ってあるの?
ないよ。スマートフォン級ならあるけど。
そもそもRAMが足りない。RAMが32M使えてそのうち6Mjavaヒープに使うw-zero3ですらものによっては怪しいのに。
素直にDMPで聴いた方が良い。
97:デフォルトの名無しさん
07/06/19 00:11:19
端末仕様書に4ch MIDI + 1ch waveってあるけどな
98:デフォルトの名無しさん
07/06/19 00:19:30
912SHでは4chMIDI + 4chWaveだった
というか「見れる」ってあるから音のwaveではないやつがあるの?
99:デフォルトの名無しさん
07/06/19 03:41:58
問題は実行中にメモリ持つかどうか
100:デフォルトの名無しさん
07/06/20 12:43:40
SアプリをMACSサーバにアップする時に
xxx.jad
xxx.jar
xxx.vappli
って3ファイルある場合、xxx.vappliはどういう扱いにすれば良いの?
jadとjarはアップするインターフェイスが用意されてたんだけど、vappliって
ファイルをどうすれば良いのかが分からない・・・。
詳しい人が近くに居なくて・・・。
誰か知ってたら教えて下さい。お願いします・・・。
101:デフォルトの名無しさん
07/06/20 13:30:08
>>100
vappliファイルはビジネスプロバイダ経由で
アップする際の設定ファイルだ。
ビジネスプロバイダを使用しないのであれば
そのファイルは必要ない。
102:デフォルトの名無しさん
07/06/24 15:14:36
S!アプリで、HttpConnectionでURIを開き、開いたURIにLocationヘッダーが指定されている場合、
どのように振る舞うのでしょうか?
103:デフォルトの名無しさん
07/06/24 18:04:27
Locationを解釈するのはUAの仕事
104:デフォルトの名無しさん
07/06/24 19:53:25
3xx系のことか。
ケータイによって動作が違った。
勝手に処理して200 OK返されると困るよね。
105:デフォルトの名無しさん
07/06/25 21:20:23
Locationを解釈するのはUAの仕事
内蔵ブラウザの話しではない。
106:デフォルトの名無しさん
07/06/25 22:47:10
UA=Webブラウザではない
107:デフォルトの名無しさん
07/07/01 18:43:54
すみません、質問です。
現在、アプリにて振動の制御を行っている箇所に
バグがあるらしく(停止しない・起動しない)
原因がさっぱりでしてorz
どなたか御存知無いでしょうか?
910SHとかは動くのですが703SHとかだと上記の現象が起きるので
108:デフォルトの名無しさん
07/07/01 23:25:14
「アプリのバグで振動が制御できない、教えて」
振動に詳しい人でもさすがにアドバイスしようがないよ。
どういうタイミングでどういう記述で制御しようとしてるのか、
どういう状況で「停止しない・起動しない」なのか書かないと。
機種名も曖昧に「とか」じゃなくてズバリどの機種なのか。
109:デフォルトの名無しさん
07/07/03 11:39:46
SoftBank携帯や、Willcom携帯(Java搭載機)でAPIから個体識別番号や製造番号等
(iアプリで言うところの、Phone.getProperty(Phone.TERMINAL_ID))のような物を取得は可能なのでしょうか?
Softbank携帯においては、HTTP通信のユーザエージェント上にSerial値が表示されるので、
そこから取得とかも考えたのですが、出来ることならAPIから取得したいです。
110:デフォルトの名無しさん
07/07/03 16:30:07
S!アプリのブラウザ起動のobject要素で、
codebaseというのは具体的に何を指定するのでしょうか?
Jadファイルの基準URLと書かれていますが意味が分かりません。
検索してもソフトバンクのPDFからの情報しか出てこないのですが、
この機能って対応してる機種が少ないのでしょうか?
111:デフォルトの名無しさん
07/07/03 16:43:46
>>110
スキーム名+ホスト名とのことなので、
jadのおいてあるホストの[URLリンク(xx.xxx.xxx)部分ではないですかね?
上記PDFの39ページのサンプルにもそのように書いてありますし。
112:デフォルトの名無しさん
07/07/04 00:11:58
>>110
html4の仕様書読めよ。
邦訳 URLリンク(www.asahi-net.or.jp)
113:110
07/07/04 12:07:22
>>111,112 サンクス
114:デフォルトの名無しさん
07/07/06 21:56:46
もの凄く初心者すぎる質問ですけど、調べても分からなかったので教えてください。
例えばフォントサイズや画面サイズが機種ごとに違ってたりしますよね?
この場合、フォントサイズや画面サイズが同一の機種ごとに別バージョンで提供しなければならないのでしょうか?
それとも、画面サイズは240×260 Sフォントサイズは12×12とかって固定出来るものなのでしょうか?
なんとか実機で動く所まで持ってきたのですが、WTKとエミュと実機と、全てにおいて描画位置が違って
しまいます…。
115:デフォルトの名無しさん
07/07/06 23:58:42
>>114
「ねばならない」理由はない。自分の好きにすればいいよ。
画面サイズもフォントサイズも機種ごとに違うことを意識してプログラミングするだけ。
SアプリでQVGA(高精細モードってやつ)のアプリを作る場合、
画面サイズは、例えば240x260の範囲しか使わないなど自分で決める。
(0,0)に合わせて描画するなら機種ごとの下側の余白は無視する。
縦方向をセンタリングするなら、あらゆるものの描画はオフセットを加える。
この場合は上下の余白を無視するが、海、空などのデザインなら違和感がない。
フォントサイズも同様だが、高精細モードならSmallサイズが全機種12x12で統一されてる。
116:デフォルトの名無しさん
07/07/07 10:18:57
>>115
ありがとうございます。
実はiアプリ用に作った紙芝居アプリをSアプリに移植しようとしています。
220×220の画像の上で物語が表示させるような感じのアプリです。
ちなみに古い機種でも使えるようにMIDP1.0で作成しています。
っで、家族が811SHという機種を持っているので試しにダウンロードして
みたのですが、画面の中央にめちゃくちゃ小さくしか画像が表示され
ません。文字も全然検討違いの所に表示されるし…。
ソフトバンクの機種情報を見ると、811SHは480×640となっているのが
原因だと思うのですが、こういう高解像度の機種の場合のみ別仕様で
作り直すという感じでしょうか?他の機種みたいに240×320とかならば
空白も気にならないと思いますが…。
どの機種においてもプログラム側で「240×260」の画像モードとかって
決められると一番楽だと思うのですが、どうやらないみたいですよね。
質問ばかりですみません。よろしくお願い致します。
117:115
07/07/07 16:50:47
>>116
一度開発ガイドをきちんと読んだ方がいいよ。
画面サイズの指定についても書いてあるし。
URLリンク(developers.softbankmobile.co.jp)
ここから「Sアプリ」の「技術資料」で。
118:デフォルトの名無しさん
07/07/07 17:02:01
>>116
Jadファイル内に
MIDxlet-ScreenSize: 240,260
を記述すれば、240x260 モードになる。
119:116
07/07/07 23:21:56
>>117 >>118
ありがとうございました!!
ひたすらgoogleで検索しても出てこなかったのは
逆に「当たり前」すぎるからだったんですね…。
ちゃんと開発ガイドを熟読してみます!
本当に助かりました。ありがとうございました。
120:デフォルトの名無しさん
07/07/10 07:36:39
S!アプリ(MIDP2.0、MEXA)について質問です。S!アプリでの開発は初めてです。教えて頂けたら幸いです。
待ち受けアプリを作成しようと思い、メール受信イベントを検出したいのですが‥‥
DeviceControl.setMailListenerを使用するとSecurityExceptionとなってしまいます。(エミュレータ上にて)
ビルドは成功しており、該当行をコメント化するとちゃんと動きます。
jadファイルには、
MIDlet-Application-Security: Y
MIDlet-Permissions: com.j_phone.system.DeviceControl.read
を書いてみましたが結果はSecurityExceptionとなり動きません。
(MIDlet-Permissions: com.j_phone.system.DeviceControlとMIDlet-Permissions: com.j_phone.system.DeviceControl.setMailListenerでも試してみましたがダメでした。)
開発ガイドをみると、DeviceControl.setMailListenerはSecurityダイアログの表示対象となっています。
またTrustedDomainでないと使用不可能な機能には指定されておらず、Untrustedでも使用できると思うのですが‥‥
解決策をご存知の方、注意すべき点をご存知の方がいらっしゃいましたら、ご教授下さいますようお願いします。
宜しくお願いします。
(もちろんググってはみましたが、自分では有効な解決策を見つけられませんでした‥)
121:デフォルトの名無しさん
07/07/10 12:06:13
それってどの開発ガイド?
予想で書くとcom.j_phone.system.DeviceControl.readだから
Read User Data Access(個人情報取得)に当てはまるとかはないかな?
122:デフォルトの名無しさん
07/07/10 12:06:31
>>120
SecurityExceptionはエミュレータのみで実機では正常に動作するの?
後、MIDlet-Application-SecurityはMIDP1.0の属性で
MIDP2.0ではMIDxlet-Application-Securityだが、
SoftBankのMIDP2.0端末では、そもそもこの属性自体が対応していないので
入れても無視される。
123:120
07/07/10 15:12:43
ありがとうございます。
実機が手元になくまだテストができていません。申し訳ありません‥‥
数日中に実機を手に入れる予定なので、手に入れ次第試してみたいと思います。
また使用不可能な機能一覧は、『MIDP 2.0対応端末編 1.0.1 2007-05-25(P62)』を参照しました。
(文脈からもうご覧になられたと思いますが)
もしご回答戴いた予想通りなら使用は不可能ですね。
MIDPのVersionが違うのかもしれませんが、
『メールの記憶』というアプリ(個人作成と思われます‥)ではこの機能を使用しているのではないかと思われるアプリが、
『KVMゲームプログラミング』というホームページにてsetMailListenerを使用するV!アプリの作成方法が紹介されています。
それを見たこともあり、MIDP2.0でも作成が可能ではないかと判断したのですが、うまくいかず質問させて戴きました。
宜しくお願いします。
124:デフォルトの名無しさん
07/07/10 16:11:57
>123を読んだ感じ、その「メールの記憶」というアプリはMIDP-1.0用のアプリのようだけど、
MIDP-1.0とMIDP-2.0では規格上、セキュリティの管理の仕方が違うから
MIDP-1.0のアプリでできるからといって、同じソースの記述でMIDP-2.0でもできるとは限らないよ。
125:120
07/07/10 18:30:03
>>123
ありがとうございます。
全くその通りなのですが‥‥
出来ている方がもしいればとの思いで質問しました。
自分だけなら規格の変更のため使用が不可能だとは判断しきれないので。
120でも申し上げた通り、ダイアログの表示条件に当てはまっているように解釈できる資料もありますし‥
もし何か分りましたら宜しくお願いします。
126:デフォルトの名無しさん
07/07/10 19:00:52
MEXA1.1くらいののjavadocによると
DeviceControl.setMailListenerは
機能グループ "Read User Data Access" のパーミッションだそうです
Trustedじゃないと無理
127:120
07/07/10 19:33:32
>>126
ありがとうございました。
お陰様ですっきりしました。
助言を下さった皆様、またこの掲示板をご覧の皆様、
色々と本当にありがとうございました。
128:デフォルトの名無しさん
07/07/13 09:35:35
ランダムアクセスって無いの?そんな文を見たけど
みんなどーやって一つのファイルから上手く読み出してるんだろぅ?
129:デフォルトの名無しさん
07/07/13 12:47:17
?
130:デフォルトの名無しさん
07/07/13 14:18:12
SDの話じゃね?
まぁ、いくらでもやりようはあると。
131:デフォルトの名無しさん
07/07/15 20:12:36
fillRoundRectについて質問があります
g.fillRect(0, 0, 40, 10);
g.fillRoundRect(0, 0, 40, 10, 0, 0);
↑の二つの四角は全く同じ四角が描画されてここまではいいんですが
g.fillRoundRect(0, 0, 40, 10, 1, 1);
↑みたいに角を丸くしようとすると,fillRectに対して幅が小さくなってしまいます
幅は3番目と4番目の引数で決定されると思ったのですが違うのでしょうか?
132:デフォルトの名無しさん
07/07/15 21:09:37
データベースに接続して検索するアプリケーションを作ろうと思っています。
やはりMIDPでもJDBCを使って接続する方法はありますでしょうか?
133:デフォルトの名無しさん
07/07/15 23:50:40
>>132
携帯でやらずに、バックエンド(サーバー側)でやるようにした方がいいよ。
134:デフォルトの名無しさん
07/07/16 00:58:57
MIDP2.0のGameCanvasクラスのgetKeyStates()では数字キーの状態を取得できませんよね?
数字キーの状態を取得するのはMIDP2.0だけでは無理ですか?
135:デフォルトの名無しさん
07/07/16 07:25:44
>>133
もちろんサーバ側でやりますよ。
容量がもったいないですし。
136:デフォルトの名無しさん
07/07/16 12:57:34
operaminiの鯖側は何で書いてるんかな?
137:デフォルトの名無しさん
07/07/17 02:54:51
質問させて下さい。
iアプリ用に作成したゲームをSoftBank、AUに移植しようとしているのですが
画面のフェードアウト処理が出来ずに困っています。
iアプリではgetColorOfRGBで徐々に画面を白や黒にしていたのですが
MIDPで解決する方法を教えて頂けないでしょうか?
ただPixelごとに処理していると処理時間が凄く遅くなりそうで怖いです。。
画面自体の明るさを変更するような命令でもあれば楽そうですが…。
138:デフォルトの名無しさん
07/07/17 09:43:49
>>137
ソフバンならrenderPrimitivesで一枚でかいのを上からのっければカラー減算、加算、半透明といろいろできるよ。
AUは切捨て。
139:デフォルトの名無しさん
07/07/17 15:16:29
>>137
対象画面の画像をオフスクリーンバッファに描くようにして、
Image#getRGB()で1画面分の色を取得して一括処理、
その配列からImage#createRGBImage()で画像生成、描画。
拡大/縮小処理でやったことあるが速さは期待できない。しかし他に方法はない。
オープンアプリでは板ポリゴンを描画できないし。
速さが必要ならメッシュパターン(市松模様)をいくつか用意して重ね描き。
むかーしむかし、セガサターンというゲーム機があってのう…ゴホゴホ
ア、オジイチャン、ネテナキャダメヨ
140:デフォルトの名無しさん
07/07/17 15:18:03
>>131
fillRoundRect()の最後2つの引数は弧の直径だとAPIリファレンスに書いてある。
直径1ドット(半径0.5ドット)の弧は描けないから
描画結果が微妙なことになっても、それは引数が悪いせい。
141:デフォルトの名無しさん
07/07/17 22:39:15
>>140
thx
勝手に半径だと勘違いしてました
というか布留川氏の本でも半径っぽい絵が書かれてますね・・
142:デフォルトの名無しさん
07/07/19 08:37:29
>>135
そうじゃなくて、携帯側は結果を表示するだけで、それ以外は全部サーバー側でやれってことだよ。
143:デフォルトの名無しさん
07/07/19 13:21:53
そういやMIDPでDBと通信するミドルウェアがあったな。
MIDPなのにCDCが動くようなスマートフォンやPDAを前提としてたが。
144:デフォルトの名無しさん
07/07/20 18:48:17
MIDP1.0でアプリを作成しています。
その中でブラウザを起動しようとしているのですが
BrowserConnection browser = (BrowserConnection)Connector.open("url://アドレス");
browser.close();
の部分が、コンパイルは通るのですが実際にはブラウザ起動してくれません。
エラー表示は
java.lang.ClassNotFoundException: com/sun/midp/io/j2me/url/Protocol
となっています。
JADファイルでMIDlet-Network: Yにも指定しています。
どなたかご教授願えませんでしょうか?
145:デフォルトの名無しさん
07/07/20 21:41:07
>>144
普通に考えればその端末にBrowserConnectionクラスがないんじゃ。
BrowserConnectionってMIDPのクラスじゃないし。
まあ、使ったことないから知らんけど。
146:144
07/07/20 21:52:35
ありがとうございます。
実機でも試してみたんですが、それ以前にエミュレータでもWTKでも駄目なんです。
コンパイルはWTKのmidpapiにエミュレータのmidpapiを上書きして使っているんですが
これが原因という事はないでしょうか?
今のところコンパイル時に他に不具合などは出ていないですが…
結局何がやりたいかと言うと、アプリ内に自サイトの紹介ページを作りたいんです。
要するに自サイトへの誘導が出来れば他の方法でもいいんですが、色々調べてみても
分からないんですよ。。
147:デフォルトの名無しさん
07/07/20 22:16:50
>>144
APIリファレンスでBrowserConnectionのとこ確認な
BrowserConnection browser = (BrowserConnection)Connector.open("url://アドレス");
browser.connect();
browser.close();
148:144
07/07/20 22:47:05
>>146
ありがとうございます!エミュレータで動きました。
こんな単純なミスに気付かなかったとは… お恥ずかしい限りです。。
とは言え実機の811SHで試した所、ブラウザは起動してくれず…。
参考サイトを見た限りではこの機種はBrowserConnection使えると思ったんだけどなぁ。。
やっぱりMIDP1.0端末は切捨てて、MIDP2.0専用でMIDlet#platformRequestを使うのが
ベストなのかなぁ。そもそもMIDP1.0端末のユーザってどれくらい残ってるんだろう?
149:デフォルトの名無しさん
07/07/20 23:04:33
MIDlet-Network: Y
は書いてあるか?
150:デフォルトの名無しさん
07/07/20 23:18:15
>>149
はい。書いてあるんです。
エミュレータで実行するとアクセス許可のような画面が正常に出てきて、ブラウザも起動されます。
でも実機で試してみると、うんともすんとも言わない…。
なんでだろう…
151:デフォルトの名無しさん
07/07/20 23:31:16
アプリの仕事始めて半年くらいだけど、
MIDP1.0端末対応してくれってのはなかった。
MIDP2.0端末全部ってのはあったけど。
152:デフォルトの名無しさん
07/07/21 00:33:36
>>134
以前同じことで悩んで,結局は,全部自分で実装した。GameCanvas をあきらめ,
キー情報を管理するクラスを作って Canvas の keyPressed などで,その情報を書き換える。
メイン処理では別にスレッドを動かしながら,その中でキー情報を管理するクラスにアクセスする。
非常に遠回りだけど,汎用的でいいよ。
153:デフォルトの名無しさん
07/07/21 00:48:01
俺もDoJaと同じ仕様のCanvasクラス作ったけど、一つ問題が。
携帯のボディ部を擦るようにガリガリガリガリって数字キー連打すると、
たまにkeyPressedが来るのにkeyReleasedがこないときがあって、キー情報がバグる。
JSCLだけどDeviceControl.getDeviceState()で数字キーとれるよ。
154:134
07/07/21 01:03:39
>>152-153
確かにキーイベントでやれば汎用的になりますね
JSCLが使えない機種にも対応したいので
keyReleasedの問題には目を瞑って,キーイベントの方法でいこうと思います
155:デフォルトの名無しさん
07/07/21 01:16:18
>>154
参考にあげる。
URLリンク(www.sepia.dti.ne.jp)
156:デフォルトの名無しさん
07/07/21 01:40:19
>150
811SHか、それなら MIDlet-Network: Y じゃなかった。この行は不要。
MIDlet-Permissions: javax.microedition.io.Connector.http
MIDxlet-API: JSCL-1.2.2
これ書いてある? それでダメなら自分には分からん。
自分はMIDP-1.0端末(P5以降)とMIDP-2.0端末で2つのアプリを作ってる。
MIDP-1.0端末ではBrowserConnectionを使う(それしか方法がない)。
MIDP-2.0端末では全てplatformRequest()にしている。
BrowserConnectionは対応してない端末があるが、
platformRequest()はどの端末でも使えるので、場合分けを考えなくて済む。
157:デフォルトの名無しさん
07/07/21 01:51:45
>>155
ども
参考にさせていただきます
158:デフォルトの名無しさん
07/07/21 02:01:43
>>156
ありがとうございます!!出来ました(T^T)
自分はJAVA初心者なので調べ方すらも良く分からず困っていたので、本当に助かりました!
platformRequest()についても色々やってみようと思います。
159:デフォルトの名無しさん
07/07/21 02:18:05
アプリゲットのユーザ利用ブラウザ傾向を見ると、Softbankの携帯を使用しているユーザのうち
97.21%が3G型だと出ている。この統計を見る限り、今後はMIDP2.0のみでも特に問題なさそう。
こういう解釈でいいんですよね?
160:デフォルトの名無しさん
07/07/21 14:16:31
喪前らはMIDPプログラミングするときはEclipseを使うのかい?
161:デフォルトの名無しさん
07/07/21 15:31:53
>>160
自分はただのテキストビューワとWTKだけです。
Eclipseって使いやすいの?
一度使おうかなと思ったけど環境設定でつまづいて辞めたw
162:デフォルトの名無しさん
07/07/21 15:46:59
>>160
Eclipse無しのコーディングは考えられないなあ。
>>161
趣味でやるぶんには使わなくてもいいんでない?
使いやすさはなんとも…。(個人的にはもう一歩足りない
感じだけど、おおむね満足。たまに秀丸を併用するけど)
ただ、生産効率、デバッグ、タダで手に入るところ等等を
考えると、使えるなら使ったほうが良いよ的な意見。
ちゅうか、環境設定そんなに難しかった?
163:デフォルトの名無しさん
07/07/21 16:14:42
みんなオープンアプリ作る時って、WTKで実行→実機で実行の流れでやってる?
AUのezplusEmulatorってMIDP2.0には対応してないよね??
164:デフォルトの名無しさん
07/07/21 17:04:05
S!アプリのエミュレータと実機だとフォントの描画位置ってずれてる?
同一画面サイズの同一フォントでも、どうしても描画位置がずれるんですよね~。
一つの実機に合わせても他の実機でずれてる場合ってやっぱりあるんですかね?
165:デフォルトの名無しさん
07/07/21 17:17:51
>>163
ezplusEmulatorはオープンアプリとは無関係。
公式サイトに書いてあるように開発すればよし。
>■アプリの作成
>オープンアプリはサン・マイクロシステムズが提供するJ2ME Wireless Toolkit等で開発することが出来ます。
>開発ツールに関してはサン・マイクロシステムズのホームページなどをご参照ください。
>>164
>>114-119 これがヒントになるんじゃね?
166:160
07/07/21 21:04:44
さっそくEclipseをインストールしてみたが
プロジェクトの切り替え・実行も簡単だし入力補完機能もあって素晴らしいじゃないか。
Eclipseの無いMIDPプログラミングはネギのないネギまのようなものだな(藁
167:デフォルトの名無しさん
07/07/21 21:19:30
Eclipse使うとプリプロセッサが使えなくなるから、俺は使わないなぁ。
168:デフォルトの名無しさん
07/07/21 23:46:35
ほうほう、なかなか使い勝手が良いという事ですな。
どうしよう、入れてみようかなぁ?
すっごく初心者的な質問で悪いんだけど…、Eclipse自体にビルドと実行機能はあるの?
あるんだったらToolkitは使う必要なくなるよね?
あと…、プリプロセッサって何?
169:デフォルトの名無しさん
07/07/22 00:32:19
ビルドはantファイルを書く。
メガアプリ(3G)なら容量そんなに厳しくないから
プリプロセッサ使う必要ないんじゃないかな。
170:デフォルトの名無しさん
07/07/22 00:42:53
EclipseMEが便利
171:デフォルトの名無しさん
07/07/22 00:53:01
>>161
ビューアだけでどうやって書くのか気になるwktk!!
>>168
javaにプリプロセッサ使ってもソース管理が複雑になるだけだから止めとけ
172:167
07/07/22 01:16:22
MIDPだけのアプリであればプリプロセッサを使用する必要はないが
DoCoMoやAuのJava等に対応する必要があるため、必然とプリプロセッサを
使用せざる得ない。
この場合、プリプロセッサを使用しないと一つのアプリで複数のソースが
出来てしまうため、余計ソース管理が複雑になる。
プリプロセッサを使用すれば、同一ソースで3キャリアのアプリを作成できる。
173:デフォルトの名無しさん
07/07/22 01:29:05
>>171
えっ、コツコツと一から入力してるけど…もちろんコピペは多様するが。。
もしかして時代遅れ!?
174:デフォルトの名無しさん
07/07/22 02:01:29
>>173
ビューア→閲覧するもの(書き込み不可)
エディタ→編集するもの(書き込み可)
ということで、>>171が
>ビューアだけでどうやって書くのか気になるwktk!!
というのは、誰もが思うことだぜ。
余談
「テキストビューアなんてツールであるわけねぇだろ。
あってDOSのtypeコマンドくらいなんじゃねぇ」って
思って検索してみたら結構あるもんだな。
Vectorで124個もツールが存在していてびっくりしたよ。
175:173
07/07/22 04:28:48
おぉぅ、お恥ずかしい…
こうなったら実際にテキストビューアで開発するしか反論できないなw
じっと画面を見つめるだけでコードがスラスラと…
これぞ眼力プログラム!!
なんてね、勉強になりました。
176:デフォルトの名無しさん
07/07/22 08:15:45
>>167
俺はプリプロセスかけたソースをEclipseで扱う方法で
デバッガだけは利用したことある。
ある程度規模がでかくなったら便利。
177:デフォルトの名無しさん
07/07/22 09:04:01
当方 NetBeans の Mobility Pack を使ってるけどなかなかいいよ。
標準でのキー設定が Visual C++ と Visual Basic の間みたいな設定で,
もともと両方使っていた私は,すんなりとなじめました。
ちょっと重いのが難点かな?
178:デフォルトの名無しさん
07/07/22 13:49:09
当方MIDP2始めて一週間です
WTKでエミュレート→OK
W52Hで実行→画面が固まったままキー押してもソフトキー以外全く反応なし
の時はどの辺でつまづいているのでしょうか?
179:デフォルトの名無しさん
07/07/22 16:42:49
>>178
とりあえず、どんな機能を使用しているのか示さないと、なんともいえませんね。
180:デフォルトの名無しさん
07/07/22 17:14:24
>>179
曖昧過ぎてすいません
他の方のをやってみるとスタート時にnow loadingとかして読み込んでいるみたいですが
そういうのをしないと携帯ではイメージとか読み込みきれないのでしょうか?
181:デフォルトの名無しさん
07/07/22 20:24:53
>>180
それをやっとかないと、時間がかかる場合、動いてるのか止まってるのか分からなくなるでしょ。
実行速度が違うから、エミュでの印象とはまた違う。
182:デフォルトの名無しさん
07/07/22 21:32:34
まず、Hello Worldが動かせてるのかどうかから尻隊
183:デフォルトの名無しさん
07/07/22 21:52:24
>>181
WTKの実行速度っては変えられないですかね?
>>182
一応WTK上では240*240の六マソのボスフロア内を想定しての動作は出来ているつもりです
184:デフォルトの名無しさん
07/07/23 00:13:16
横レスすまないが
何かもう意思の疎通が図れてないというか意味が通じてないというかw
スレがグダグダになりそうな気配
>>178=180=183
せっかくアドバイスをくれる人がいるんだから質問されたことに的確に答えようよ。
>>182は「Hello World」(代表的なサンプルプログラム)をやってみたかと聞いている。
それに対して>>183で意味不明な答えはないだろう。
それに>>179のツッコミに対して>>180が全然説明になってない。
自分が組んだプログラムの説明をしろって言ってるのさ。
さらに、>>178の解決にエミュレータの実行速度は関係ない。
いま質問すべきはそこじゃないだろ。1つずつ解決しろって。
185:デフォルトの名無しさん
07/07/23 06:50:21
>>184
グダグダにしてしまいすいません
HWは最初に試しました
次に低レベルイメージ、コマンド
応用でランダムの高さのブロックをジャンプで避けるアクションは実機でも出来たのです
ただ、FLASHみたく全てを読み込んで再生みたいなサンプルがわからないので
ある程度以上の動作が実機だと追いついていないみたく困っております
説明下手なので自分のソース晒したらピンポイントで指摘して頂けますか?
186:デフォルトの名無しさん
07/07/23 08:48:02
問題に取り組もうとする姿勢は伝わるんだけどもコミュニケーション能力を何とかしてw
>HWは最初に試しました
自分で勝手な言葉を作って話したってわからないよ。
>ただ、FLASHみたく全てを読み込んで再生みたいなサンプルがわからないので
だから、わからないことを次々書くんじゃなくて>>178のプログラムを説明せよと。
何をやろうとしてどういう処理を記述してるのか、それを他人にわかるよう説明せよと。
>説明下手なので
そういうことじゃなくて、まず聞かれたことを理解して、そのことについて答えて欲しい。
そうしないと問題解決の糸口すらつかめなくて誰もアドバイスできないよ。
>自分のソース晒したらピンポイントで指摘して頂けますか?
どうして書き込みの度に話がすっ飛ぶのさ。>>179の続きからやり直しだな。
車を運転してたら止まった。サーキットを1周したいんだけど方法がわからない。
車を見せたら原因と方法を教えてくれますか? …そんなのJAFだってお手上げだよ。
187:デフォルトの名無しさん
07/07/23 23:26:30
>>185
画像や音は最初に全部読み込んで、すぐ使えるImageなどの状態にして、
HashTableや配列に入れとく。
ベストな方法かは知らんし、メモリ不足には気をつけにゃならんけど、
使うたびに読み込むよりは断然速い。
あと、もうちょっと他人が何を言いたいのか考えて、それに答えるべき。
小学校で習うことだぜ。
指摘できるか分からんが、ソース晒すなら見てみよう。
188:デフォルトの名無しさん
07/07/23 23:59:39
まず、「何が問題で、どうしたいのか」がよく分からんというのがなあ。
携帯Javaは初心者かもしれないが、日本語の作文も初心者なの?
189:デフォルトの名無しさん
07/07/24 03:00:01
いや、それ以前に問題に取り組もうとする姿勢は見れるけど人の話聞いてない。
言われてることを冷静に考えて返答しないと会話が成立しない。
190:デフォルトの名無しさん
07/07/24 11:07:21
>>186-189
プログラム以前のヘタレですいません
こちらにまたヘタレ文書くと他のかたに迷惑になりそうなので
URLリンク(www.uploda.net)
にソースと自分なりの説明書きました
それを見て解決方法教えていだたける方がいたらお願いします
passはjapanesepoorです
191:デフォルトの名無しさん
07/07/24 13:44:53
>>190
俺だったらGWCanvasのコンストラクタの中身ほとんどを
run()のwhile(true)の直前に書くね。
Display.setCurrent()の前でしかもコンストラクタ内で
getGraphics()はしないほうがいいんじゃないかな。
コンストラクタ内では、リソースに依存しない変数の初期化程度にしとくと良いよ。
192:デフォルトの名無しさん
07/07/24 17:28:46
Graphicsの有効なライフサイクルは描画前から描画後だしな。
何かしらプールが必要な場合は保持してるGraphicsが有効かどうか調べて有効ではない場合
確保し直さなければならない。JOGLはこれをある程度やってくれてたな。
まあ、環境依存のリソースをコンストラクタで拾うこと自体ちゃんと考えた方が良いかも。
193:デフォルトの名無しさん
07/07/24 18:29:46
すみません、テキストビューアでアプリ開発していると言った者です。
手に負えない事が一つあるので質問させて下さい…。
当方MIPD2.0でプログラミング中なのですが、全く同じソースで全く同じJAD/MFのソースを
クラス名/ファイル名のみ変えて新規プロジェクトで実行すると下記のエラーが発生してしまいます。
Unable to create MIDlet null
java.lang.NullPointerException
設定も何もかも同じなのにどうして新規プロジェクトだと実行できないのか…。
もうちょっと具体的に書かないと分からないのかもしれませんが、何をどう書けばよいやら、、
上記のエラーMSGでググってみると英語のサイトしか発見出来ず、翻訳したら意味不明な
文章になってしまい参考にも何もなりませんでした。
どうかよろしくお願い致します。。
194:193
07/07/24 18:39:42
申し訳ありませーーん!!自己解決しました!!
なんと…、プロジェクト作成時にClassNameを入れてませんでした…(汗)
さすがテキストビューアでソースが書ける男だと笑ってやって下さい。。
195:187
07/07/24 22:44:06
>>190
見ると言ったので、いちお。
ぱっと見いいように見える。
SoftBankだけど810SHでは普通に動いたし。
とりあえず、コンストラクタで色々やらない方がいいんでないかな。
Canvas作る→setCurrent→画像読込→getGraphics()→メインループとか、
setCurrentした後には少し間を空けた方がいい。
あと思いつくのは、ループの間隔60msecが速すぎて処理できないとか。
ブロック描画を最初の一回だけにしたり、loop()を軽くしてみるのもイイかもね。
EZ Javaはやったことないから、機種・キャリア依存だったらなんとも。
196:デフォルトの名無しさん
07/07/25 12:12:51
こんなヘタレに指示を下さった
>>191さんと>>192さんと>>195さん
の的確なアドバイスのおかげで携帯でも動作可能になりました
でも動作途中フリーズする場合があるので改良していきたいと思います
本当にありがとうございました
197:デフォルトの名無しさん
07/07/25 12:41:21
解決しちゃったのね
コンストラクタでは最低限の初期化のみで初期処理は別に切り出す
初期処理時にメッセージなりプログレスバーを表示すると
待ってる人の待たされてる感がかなり軽減できるのでお勧め
ソース見てると整理する力はあるから焦らずにがんばれ
198:デフォルトの名無しさん
07/07/25 21:16:08
すいません、質問です。
無職になった記念に、外部ストレージに日記をつけるようなS!アプリを作ろうかと
思ったんだけど、MEXAエミュレータでStorageConnectionを使うとSecurityException
が出ます。
これはもうなんらかの間抜けな設定ミスだろうと思うんですが、エミュレータの
アプリ毎のパーミッション設定「WriteData」を変えようとしても「*許可しない」
しか選択できず困ってます。
ストレージの空サイズはインストール時のデフォルト(内部8000KB、外部16000KB)で、
jadファイルにはMIDlet-Permissions:com.j-phone.io.Connector.StorageConnection.write
を書いてます。
他に見落とし易い所が有ったら教えてください。
199:デフォルトの名無しさん
07/07/25 22:16:05
>>198
URLリンク(memories.cocolog-nifty.com)
200:デフォルトの名無しさん
07/07/25 23:59:53
なにはともあれ、MIDxlet-API: JSCL-1.2.2
StorageConnectionはどうか忘れたけど、怪しい機能を使うときは
MEXAエミュ端末設定のオプション全部入れとこう。
201:198
07/07/26 11:45:48
>>200
"JSCL-1.2.2"と"JSCL-1.4.2"ついでに"MEXA"も試しましたが、だめでした。
他の要素も試してみます
202:デフォルトの名無しさん
07/07/26 14:11:37
パーミッションにj_phone.io.Connector.StorageConnection.readが
入っていないのが原因じゃない?
203:198
07/07/26 14:48:20
198では省略しましたが、readも入れてありました。
で、昼まで寝たら、恥ずかしい原因判明。
たぶんUntrustでインストールしているのが悪いのかと。
資料を読むと、このせいでSecurityExceptionが出るようなこと
は書いてあるんですが、なんか変な思い込みが有ってエミュレータ
ではいらないのかと思ってました。
すいません。
でも証明書や署名って、取得の窓口すらわからんです。
最初にコンテンツアグリゲータに作者登録してから始めれば
良かったんでしょうか
もう一回寝よう。無職だし。
204:198
07/07/26 14:59:10
寝る前にググったら、なんでだかnokiaのサイトに
それっぽい資料が有りましたので、いろいろ調べてみます。
ありがとうございました。
205:デフォルトの名無しさん
07/07/26 22:25:05
実機?MEXAエミュレータの話じゃないの?
エミュならオプションのセキュリティ設定するだけでTrustedにできるけど。
MEXAエミュでStorageConnectionやったことがあるから普通にできるはず。
実機だと、色々登録が必要。
206:デフォルトの名無しさん
07/07/27 01:08:22
質問させて下さい。
S!アプリでパズルアプリを作っています。
完成したので703SH,905SH,912SHで実機テストをしてみました。
実行結果を見ると圧倒的に703shの方が動作が速いのです。
動作速度は「703SH>>>>905SH>912SH」の順番でした。
URLリンク(www.moreread.net)
上記サイトのベンチマークをみると実行速度の順番は
「912SH>905SH>703SH」になっています。
原因を調べてみたのですが、オフスクリーンに書き込みを
行う時に912SH,905SHは時間がかかるようなのです。
912SH,905SH,703SHの端末仕様書には目を通したのですが
原因がわかりませんでした。
912SH,905SHでオフスクリーンを使うと実行速度が遅くなる
などの端末仕様などがあるのでしょうか?
または同じ症状になった人はいますか?
207:デフォルトの名無しさん
07/07/27 08:32:28
経験的に、描画は新しい機種が古い機種より速いとは一概に言えない。
これで何に時間かかってるか細かく測ってみるといいよ。
Calendar start = Calendar.getInstance();
//時間を測る処理
Calendar end = Calendar.getInstance();
long time = end.getTime().getTime() - start.getTime().getTime();
208:198
07/07/27 13:38:55
>>205
はい、MEXAエミュレータでの話です。
Trusted(3rd Party Domain)でインストール、を選択すると
コンソールに「Attempted to update MIDlet as other protection domain」
液晶画面には「910 Authorization failu」
となっていたんですが、一度アンインストールしたら出なくなりました。
お世話様でした
209:デフォルトの名無しさん
07/07/27 17:49:55
>>207
システムの時間は充てにならんからなぁ。特にjava MEベンダのCalendarは。
プロファイラなんかでボトルネックみるとかマトリクス書きだすとかの方が良いんだけど実機じゃできないかー。
210:207
07/07/28 09:32:13
>>209
そうなの?
Calenderよく使うけど、今まで問題を感じたことなかった。
暇があれば、正確かどうか測ってみます。
211:デフォルトの名無しさん
07/07/28 10:31:00
俺もそうだが、どうしても体が
Calender と打ってしまうな(´・ω・`)
212:デフォルトの名無しさん
07/07/28 19:03:55
Calendarは可憐だ、、、
213:デフォルトの名無しさん
07/08/01 06:00:03
ダウンロードしようとすると無効なデータですって言われる…なぜだ
214:デフォルトの名無しさん
07/08/01 21:04:30
>>213
理由はいっぱい考えられる。
もう少し詳しく状況を書くがよい。
215:デフォルトの名無しさん
07/08/02 04:52:32
御免、解決しました
ジャーファイルを手動で作ってたのがまずかったみたいです
216:デフォルトの名無しさん
07/08/02 08:24:38
ジャーだめだな
217:デフォルトの名無しさん
07/08/02 15:03:37
なんというオヤジギャグ…
218:デフォルトの名無しさん
07/08/02 18:42:39
JARファイルは手動で作ってはだめじゃー
219:デフォルトの名無しさん
07/08/02 21:14:26
MANIFESTちゃんと書けば、手動でJAR作ってもいけるけどね。
まあ、SDKにやってもらった方が便利かつ安全なのは言うまでもない。
220:デフォルトの名無しさん
07/08/04 01:07:42
JARもJADもAntに作らせてるわ。
JADは生成用のAntタスク作った。
221:デフォルトの名無しさん
07/08/04 01:23:07
お前がどうやってるかなんぞ訊いてないんじゃー
222:デフォルトの名無しさん
07/08/04 02:18:09
なんで無意味にひがむんだ?
MANIFESTをちょっといじればいいだけなんだからantタスクなり、スクリプトなり書けば良いだけの話じゃないか。
223:デフォルトの名無しさん
07/08/05 21:41:53
もう解決してるから
224:デフォルトの名無しさん
07/08/06 17:00:33
そりゃ20時間もあれば解決するわな。
225:デフォルトの名無しさん
07/08/06 22:29:57
というか>>215の時点で解決してると言ってるのに>>220で俺はこうしてると言われてもんなことどうでもいいって話
226:デフォルトの名無しさん
07/08/06 23:40:28
話を膨らませてはだめなの?じゃー
227:デフォルトの名無しさん
07/08/07 13:34:24
最近MEXAでSアプリに初めて触れたものですが、質問があります。
とりあえず何も考えずにMEXA SDKをダウンロードしてHelloWorldから始めましたが、
調べてみたら他にもJSCLとかMIDPとかいろいろあり、僕個人の見解では
「MEXAは新しい。対応端末(新しい機種)じゃないとダメ。
古いのでも動かす(シンプルなゲームとか)は最初からJSCLで作る」
ていうイメージになったのですが、あってますでしょうか?
幅広い機種で動かすには最初からJSCLとやらで作った方が良かったのでしょうか?
あと、よくゲームダウンロードするときに、100kアプリ、256kアプリとかありますが、
これって最終的にできたjarファイルのサイズで決まるものなんでしょうか?
最初から「256kアプリ用の何かを使って開発しなければいけない」とか
そういうのはあるのでしょうか?
長文な上に超初心者で申し訳ありませんが、何を使ってどう開発したら良いか
個人では行き詰ってしまいましたので、質問させて頂きます。よろしくお願いします。
228:デフォルトの名無しさん
07/08/07 15:00:48
>>227
MEXAはオプション機能を使わなければJSCL-1.2.2と同じなので、
JSCL-1.2.2を指定しておけば問題ないかと。
最近はほとんど3Gの端末だろうし、jarの容量は1M以内で使って問題ない。
100kアプリ、256kアプリはjarのサイズとも関係あるが、
JSCLのバージョンによって区別されてた昔の名残。
エミュレータの違いはあるが、それ専用の開発ツールなどがあるわけではない。
今は気にする必要はほとんど無い。
2G端末を動作対象としているなら別だが、
3G端末でMIDP-2.0、MEXA(JSCL-1.2.2)を使っておけば良いかと。
229:デフォルトの名無しさん
07/08/07 16:46:19
>227
>とりあえず何も考えずにMEXA SDKをダウンロードしてHelloWorldから始めましたが、
あわてるな、先にやることがあるぞ。
まずSアプリ公式技術サイトURLリンク(developers.softbankmobile.co.jp)
で開発に必要な資料を手に入れて。
左側のSアプリ→技術資料→
・基礎編
・MIDP 2.0対応端末編 (MIDP 1.0対応端末編は3Gより前の端末用)
この2つは必ず全部読むこと。
そもそもSアプリがどういうモノなのか、それが大体頭に入ってないと
今みたいに何やるにしてもどうしていいか困るわけで。
230:デフォルトの名無しさん
07/08/07 21:33:47
>>229
まずやってみて実感を掴むってのも大事だと思う。
技術資料は当然必要だけどさ。
231:227
07/08/07 22:42:06
丁寧な解答ありがとうございます!
>>229
>・基礎編
>・MIDP 2.0対応端末編 (MIDP 1.0対応端末編は3Gより前の端末用)
>この2つは必ず全部読むこと。
すみませんでした。これから読むことにします。
とりあえず動かしてみて、それから納得するという悪い癖が・・・
その上で理解できなかった点は改めて質問させて頂きますので、
その際はまたよろしくお願いします!
>>228
>MEXAはオプション機能を使わなければJSCL-1.2.2と同じなので、
>JSCL-1.2.2を指定しておけば問題ないかと
ありがとうございます。まず上記のドキュメントを読んでみますが、
読む前にもう1つだけ・・・
「JSCL-1.2.2を指定」とはどこで指定すれば良いのでしょう?
jad ファイルの 「MIDxlet-API: MEXA」 の辺りでしょうか?
この指定をすれば、例えばMEXAのオプション機能を使おうとしたときに
エラーを吐いてくれて、JSCL-1.2.2 準拠のプログラムにできる、
という解釈で良いでしょうか?
232:デフォルトの名無しさん
07/08/07 22:43:40
JSCL-1.2.2 準拠のプログラムにしたいなら
MIDxlet-API: JSCL-1.2.2
233:デフォルトの名無しさん
07/08/07 22:55:22
まず実感を掴むのは大切かもしれないけど、
それにしても最低限先に読んで理解すべきことはあるよ。
>まず上記のドキュメントを読んでみますが、読む前にもう1つだけ・・・
>「JSCL-1.2.2を指定」とはどこで指定すれば良いのでしょう?
こういった、ズバリ答えが書いてあることは質問するのも答えるのも馬鹿らしい。
234:デフォルトの名無しさん
07/08/07 23:14:57
まぁ作る気満々の初心者だし
はやる気持ちは抑えられないってのもわかる
235:デフォルトの名無しさん
07/08/07 23:22:55
わかるが、残念ながら地味にいくしかない。
236:デフォルトの名無しさん
07/08/08 05:42:36
地味にいくも派手にいくも、本人の性格次第でしょ。
S!アプリ作るときはまず最初に「MIDxlet-API: JSCL-1.2.2」入れるようにしてる、
MEXA SDKは入れないとコンソールに日本語表示できないし、
MIDxlet-APIはよく書くの忘れてしまうので。
237:デフォルトの名無しさん
07/08/08 17:58:03
snesでファイアーエンブレム聖戦の系譜をやっていたところ、
攻略サイトの情報とボスのレベルが違ってて(10高いなど)
そのせいで普通なら使える戦法が出来ません、
(サイレスを使えば楽なところで、敵のレベルが高すぎて使えないなど)
これはこのデータ諦めたほうがいいのかなあ?
俺なんか違うデータ持ってきてしまったのでしょうか?
238:デフォルトの名無しさん
07/08/08 18:04:50
板違い
239:デフォルトの名無しさん
07/08/08 20:47:55
聖戦などぬるいトラキアやれ!
240:デフォルトの名無しさん
07/08/09 17:27:31
ファイルを読み込みたいんですけど、1メガあるのは読み込めないですよね…
241:デフォルトの名無しさん
07/08/09 23:29:18
Sアプリに限って言えば、データフォルダに1MBのファイルがあって
メモリが1MB以上あまっていれば読めるんじゃねぇ?
242:デフォルトの名無しさん
07/08/10 00:01:59
ちょいと質問したい
暇つぶしかつ勉強にS!アプリ作ってみたいプログラム初心者なんだが、
環境としてJ2ME、Wireless Toolkit、MEXA SDK、MEXA for Eclipse、あと手持ちの実機用意して
実機でHelloWorld作ってみたんだが、Wireless Toolkitのエミュ、MEXAのエミュ、実機で見た目が全然違くて困ってる
画面サイズはいいとして、ソフトキーの配置は何とかならんもんなの?
あと、EclipseまたはMEXAのエミュからはWireless Toolkitのエミュのオプションのように
JADファイルって手軽にイジったりすることはできないの?
あ、一応実機は911T
243:デフォルトの名無しさん
07/08/10 00:53:16
> ソフトキー
気にするほどだっけか……。
> JAD ファイル
やめておいた方がいい。
244:デフォルトの名無しさん
07/08/10 00:56:11
>Wireless Toolkitのエミュ、MEXAのエミュ、実機で見た目が全然違くて困ってる
画面サイズがいくつから知らんが、一般的だと240x260なので
jadに「MIDxlet-ScreenSize: 240,260」を書く。
>ソフトキーの配置は何とかならんもんなの?
おそらく、addCommandとremoveCommandの使い方が悪い。
>JADファイルって手軽にイジったりすることはできないの?
すまんが、バッチファイルで全部やっているのでわからん。
245:242
07/08/10 01:10:12
>>243、244
トンクス
画面サイズは>>244の言う通りMIDxlet-ScreenSizeで適当にやったらしっくりきたので解決したつもり
ソフトキーは右に『設定』左に『終了』置いたつもりが、
逆になってたり片方に『メニュー』として固められたりして気持ち悪かったんよ
気にするなといわれればそれまでだが・・・
> > JAD ファイル
> やめておいた方がいい。
どゆこと?JADはいちいちテキストエディタで編集せなかんの
つか、一般的にどの開発環境で作るのがベタなん?Eclipseは邪道?
246:デフォルトの名無しさん
07/08/10 01:19:21
わからないこと全部聴くつもりか?
優先度があるだろう
247:デフォルトの名無しさん
07/08/10 02:46:25
>>242 暇つぶしで勉強したいなら、人に聞くのはどうかと思うけど…
ゲームでチートしてるようなモンじゃん
248:デフォルトの名無しさん
07/08/10 10:07:07
開発環境なんて自分の作りやすいので良いだろうに邪道とか意味わかんね
人に聞く前に自分で調べたり検証したらどうなんだ
249:デフォルトの名無しさん
07/08/10 11:04:11
人に聞く方がよっぽど邪道
250:デフォルトの名無しさん
07/08/10 18:06:41
誰かが導入までのまとめサイト作ればいいんだよ
俺はやらんがな
251:デフォルトの名無しさん
07/08/10 18:57:07
わざわざ作らなくても説明好きな人が解説してるサイトはいくつもある
そういったサイトを複数個見て自分なりに取捨選択していけばいいだけ
252:デフォルトの名無しさん
07/08/10 19:04:22
>245
JAD ファイルに関して言えば、WTK 使った方が
微妙なミスとか文字コードに悩まなくて済むから。
253:デフォルトの名無しさん
07/08/11 00:28:51
>>242 ソフトキー
MIDP 2.0の説明(javadoc)をちゃんと読めばわかるが、
ある程度はコントロールできるけど最後の最後は実装依存だよ
完全にコントロールしたければアプリの描画エリアに自分で描け
254:デフォルトの名無しさん
07/08/11 01:21:02
現在、S!アプリ開発環境はMEXA SDK+Eclipseプラグインが一番いいと思う。
WTKはMIDxlet-APIとか勝手に入れてくれるから、初心者向きかもしれんけど、
慣れればJADもEclipseプラグインで編集した方が便利じゃね。
255:デフォルトの名無しさん
07/08/11 02:37:51
今日からSアプリ開発環境を何とか揃えてテストし始めたのですが、
実行すると、
SOFTBANK_MEXA_EMULATOR11
が無いって言われてしまいます・・・。
インストールしたのはSOFTBANK_MEXA_EMULATOR12だったので、
12を11に書き直せば実行できましたが気持ち悪いです・・・。
これは何かインストールや設定が間違ったりしているのでしょうか。
お手数ですがご回答いただけますと幸いです・・・。
256:255
07/08/11 02:39:38
ああ、環境はEclipseを使っています
257:デフォルトの名無しさん
07/08/11 03:38:46
>現在、S!アプリ開発環境はMEXA SDK+Eclipseプラグインが一番いいと思う。
「一番いい」とかそんなもん無いよ
個人の技量&価値観次第
>実行すると、 SOFTBANK_MEXA_EMULATOR11 が無いって言われてしまいます・・・。
>ああ、環境はEclipseを使っています
だからほれ見ろこんな人もいる
WTK22一つならこんなつまずきは起こらない
258:デフォルトの名無しさん
07/08/11 12:06:31
>>255
>12を11に書き直せば
何を書き直したの?情報量が少なくてよく分からん。
俺は10(FeliCa用)と11を2つとも同じEclipseで使ってるけど、
特に問題起きたことない。
>>257
>個人の技量&価値観次第
当たり前。WTKのが初心者向きかもって書いてるっしょ。
「一番いい」は何らかの評価基準の上にある。
259:デフォルトの名無しさん
07/08/11 13:54:55
Eclipseのプラグインがディレクトリ名を10もしくは11って決め打ちにしてるんだろ
で、MEXAの最新版はバージョンが上がっててディレクトリ名が12になってるんじゃないか
260:デフォルトの名無しさん
07/08/11 18:46:46
いや、中身が同じなら適当なフォルダ名でも動く。
261:デフォルトの名無しさん
07/08/11 18:57:39
>>259が正解
フォルダの名前を変えるか
設定のとこの実行パスを指定でフォルダ指定しなきゃいけない
262:デフォルトの名無しさん
07/08/11 19:25:15
ああ、そういうことか。
いつもパス指定してたから、デフォルト実行パスがあるの忘れてた。
>>255
つまり、プロジェクトを作成するときか、
プロジェクトのプロパティー→MEXA Emulator実行パスに、
"SOFTBANK_MEXA_EMULATOR12"のフォルダを指定すればそのまま使える。
263:255
07/08/12 02:13:40
皆さんありがとうございました!
MEXA Emulator設定で実行パスを設定したら無事に起動することが出来ました。
プラグインで最新になっているかと思ったのですが、そんな落とし穴があったのですね・・・。
まだまだ初心者ですが、勉強していきたいと思います!
>>258さん
書き直す・・・すみません、情報が不足していました。
フォルダ名を直接変更したら、ということでしょうか。
11が無いというんだから、11にしたらどうなるか?と思ったら起動したのですが、
それだとなんだか気持ち悪いな・・・というところでした。
264:デフォルトの名無しさん
07/08/13 20:55:20
誰か>>109に答えてくれまいか
ググってここにきたが、返信は書かれてなくてショボン
265:デフォルトの名無しさん
07/08/13 21:31:01
>>264
APIはない
266:デフォルトの名無しさん
07/08/13 22:07:52
>>265
そっか、Dojaからの移植はメンドいな
267:デフォルトの名無しさん
07/08/13 23:15:15
なんとかターミナルIDとりたいよね。
iアプリ→S!アプリ移植を半年ほどやってて、
最近はラッパークラスかますだけで大概移植できるようにしたけど、
Phone.getPropertyはいまだ手つかず。
268:デフォルトの名無しさん
07/08/14 01:47:46
超初心者です。ひとつわからない点があるので、
どなたか教えていただけないでしょうか??
FEPControl.getDefaultFEPControl()を実行すると、
エミュレータのコンソールでjava.lang.NoClassDefFoundErrorが発生します。
パスとか環境の問題だと思うけど、どこをいじればいいのか教えてもらいないでしょうか?
■Eclipse
バージョン: 3.1.1
ビルド ID: M20050929-0840
■Mexa
MEXA Emulator exlips-plugin
バージョン1.0.0
■エミュレータS! Appli MEXA Emulator 1.2
パス:C:\Program Files\SOFTBANK_MEXA_EMULATOR12
■プロジェクト
C:\SOFTBANK_MEXA_EMULATOR12
269:198
07/08/14 02:11:46
とりあえずjadファイルをコピペすれ
sageで
270:デフォルトの名無しさん
07/08/15 00:53:17
>>268
まずはjadに、「MIDxlet-API: JSCL-1.2.2」 追加。
あとはMEXA Emulatorのプロジェクト→端末設定→MEXAオプションの
必要なものにチェックが入ってないとかかなあ。
271:268
07/08/15 01:48:12
>>269
>>270
遅くなってすんません!
jadに「MIDxlet-API: MEXA」を追加したら動きました!
環境の問題だとばっかり思ってたんだけど、jadの方だったとは、、
一歩前進しました。
ありがとうございました!
272:デフォルトの名無しさん
07/08/17 00:49:30
,.ィ , - 、._ 、
. ,イ/ l/  ̄ ̄`ヽ!__
ト/ |' { `ヽ. ,ヘ
N│ ヽ. ` ヽ /ヽ / ∨
N.ヽ.ヽ、 , } l\/ `′
. ヽヽ.\ ,.ィイハ | _| 俺は今とんでもない事に
ヾニー __ _ -=_彡ソノ u_\ヽ、 | \ 気付いた ソフトバンク
.  ゙̄r=<‐モミ、ニr;==ェ;ュ<_ゞ-=7´ヽ > 並べ替えると ,馬糞と糞
. l  ̄リーh ` ー‐‐' l‐''´冫)'./ ∠__ ソフトバンクモバイルを並べ替えると,
゙iー- イ'__ ヽ、..___ノ トr‐' / 踏ん張ると糞も倍
l `___,.、 u ./│ /_これは偶然の一致か?
. ヽ. }z‐r--| / ト, | ,、 何者かの陰謀では ないのか?
>、`ー-- ' ./ / |ヽ l/ ヽ
273:デフォルトの名無しさん
07/08/17 01:01:14
Sアプリの jadファイルに記述する MIDlet-Data-Sizeについて質問です。
データサイズを jadファイルに記述しない場合のデメリットってなんでしょうか?
データサイズが記述されている場合は、バージョンアップ時などに
RecordStoreの内容が引き継がれる(前バージョン時のRecordStoreデータが
保障されると解釈してよい?)と、開発ガイドにあるので、データサイズが
jadファイルに記述されていない場合は、その保証が無いのでしょうか?
イメージ的には端末の不揮発性メモリに
(1) jadファイルにデータサイズの記述あり
[アプリデータ……]
[RecordStoreデータ] ← アプリデータとは別の領域に確保される
↓
バージョンアップすると
[アプリデータ…………]
[RecordStoreデータ] ← アプリデータとは別の領域に確保されるので安全&拡張可能
(2) jadファイルにデータサイズの記述なし
[アプリデータ……][RecordStoreデータ] ←連続している?
↓
バージョンアップすると
[アプリデータ…………][#@%toreデータ] ←連続していたのでデータ壊れて使用できなくなる
という感じなんでしょうか?
保存するデータのサイズがけっこう変動するアプリを作成しているので、
上限をなるべく指定したくないのですが、その考え自体邪道ですか?
やっぱり、考えられる一番大きいサイズを jadファイルに指定するのがセオリー
なんでしょうか。
274:デフォルトの名無しさん
07/08/17 01:26:58
MIDlet-Data-Sizeがない場合、そもそもRecordStoreって使えないんじゃないの?
(単に実機依存なのかもしれないが)
MIDlet-Name, MIDlet-Vendor, MIDlet-Data-Size がすべて一緒の時に始めて、
バージョンアップ時のRecordStoreの内容が保持されるはずなんで、
> 考えられる一番大きいサイズを jadファイルに指定するのがセオリー
と思われる。
MIDlet-Data-Size を書いてない場合 -> RecordStore をそもそも使えない可能性がある
MIDlet-Data-Size がバージョンアップ時に変わってる -> RecordStore を引き継げない or バージョンアップDLできない
仕様に従うならこんな感じか。
細かいとこは実機依存だと思う。
あと、jar/jad/RecordStoreが実機にどんな風に保存されるのかについてはもろ実機依存なんで、
Java開発者が関与すべきとこではない。
275:273
07/08/17 10:06:27
>>274
回答どうもです。
エミュや自分の持っている904SHでは、MIDlet-Data-Sizeを jadファイルに
記述しなくても普通に RecordStoreが使えてたので、必要性に疑問を
感じてしまったしだいです。
保存するデータサイズの最大値を調べて、それに余裕を持たせて
記述したいと思います。
それから MIDP2.0なら MIDlet-Data-Sizeは、増やすのであれば
バージョンアップの時にデータを引き継いでくれるみたいですよ。
276:デフォルトの名無しさん
07/08/18 00:56:36
SoftBank用のJAVAアプリを作成しているのですが、
描画方向を変更できるメソッドは、存在するのでしょうか?
ワイド画面機種なら、
jadファイルに「MIDxlet-WideScreen: Y」と記述すれば、
横方向(横画面)で描画してくれますが、
これだと、アプリを起動してから、
描画方向を変える事はできません。
アプリを起動してから、描画方向をいつでも変更できる、
何かいい方法はないのでしょうか?
277:デフォルトの名無しさん
07/08/18 01:11:41
仮想画面に描いといて、
実画面に出すときに90度回転
278:デフォルトの名無しさん
07/08/18 01:17:27
エミュでHTTP通信させたいのですが、プロキシ認証でエラーがでます
java.io.IOException: Error initializing HTTP tunnel connection:
HTTP/1.1 407 Proxy Authentication Required
DojaエミュだとIDとパスワード聞いてきたんですが、MIDPエミュではどうすればいいのでしょうか
携帯アプリ以前の問題でスミマセン
279:276
07/08/18 01:19:51
>>277
なるほど!その手がありましたね。
レスありがとうございます。
280:デフォルトの名無しさん
07/08/19 14:02:31
ものすごく基本的なことなのかもしれないけど質問
WTKでは問題なく表示されてた画像がMEXAエミュでは表示されないんだが何が問題なんだろう?
WTKでコンパイルしたものをWTKエミュで表示・・・○
それを実機で表示・・・○
WTKでコンパイルしたものをパッケージ化してMEXAエミュで表示・・・×
MEXA SDK+EclipseでコンパイルしたものをMEXAエミュで表示・・・×
それを実機で表示・・・×
試した画像はpngとgifでつ
281:デフォルトの名無しさん
07/08/19 14:15:00
パッケージ化というのがどういう操作かわからないから間違ってるかもしれないけど
それぞれできたjarの中の画像ファイルの位置を確かめてみたら?
WTKでコンパイルしたものとは後二者は違ってる可能性が大きいよ
で画像を参照するパスが間違ってて読めてない
あとは画像を読み込んでいるところの例外を捨てずに
ちゃんとSystem.outに出力しておけば
少なくともエミュ上でなら問題の解決の助けになるよ
282:280
07/08/19 14:31:03
>>281
おお即レスどうも
パッケージ化ってのはWTKの
プロジェクト→パッケージ→パッケージを作成
でJARファイルとJADファイルを作成する操作のことです
確かに例外をそのまま捨ててましたが、今手元にソースがないのでどうにもなりません
明日また確認してみます
283:281
07/08/19 14:52:33
>>282
> WTKでコンパイルしたものをWTKエミュで表示・・・○
> それを実機で表示・・・○
このときjarってできてるよね。jadもさ。
じゃないと実機で動かないだろうから。
それを
> WTKでコンパイルしたものをパッケージ化してMEXAエミュで表示・・・×
これと比較すれば一発でわかるような気がしている。
284:デフォルトの名無しさん
07/08/20 18:18:47
903Tでダウンロードエラーが起きます。
どうもJADのMIDlet-Nameが長くて弾かれているようなんですが、
Vodafone903TってJADは全角も半角カナも全て3Byteなんでしょうか?
もしくは、技術資料には32Byteと書いてるけど、本当はMIDlet-Nameの最大は12Byte?
知ってる人いたら情報下さい。
ちなみに3G端末他30機種程は正常ダウンロードできます。
285:デフォルトの名無しさん
07/08/20 18:45:16
UTF-8の仕様
たいていの日本語文字は3バイト
286:デフォルトの名無しさん
07/08/20 23:25:49
3か4だな
287:デフォルトの名無しさん
07/08/21 08:22:47
そうなんですか。
ありがとうございます。
288:デフォルトの名無しさん
07/08/23 00:46:14
sアプリで、スプライトを使うメリットは軽い(早い)こと?
ガリガリ動かすアクションとかシューティングとかで無かったら、
image と graphics.util で作るのもアリですかね?
なんかイマイチスプライトのメリットがわからん・・・
289:デフォルトの名無しさん
07/08/23 11:21:16
昔のP4くらいで使われていたものだから
今の機種でスプライトを使うメリットはないよ
290:デフォルトの名無しさん
07/08/23 14:14:44
どなたかわかる方助けてください。
JSCL1.2.2で、RecordStoreに格納したJarファイルの中身を取り出したくて、Development Guideの通りに
Connector.open("Jar://ファイル名/リソースファイル名", Connector.READ);
という風に記述したのですが、
1・この"ファイル名"というのはRecordStoreの名前のことでしょうか?
2・取り敢えず実行してみると、
javax.microedition.io.ConnectionNotFoundException: The requested protocol does not exist
というエラーが出ます。
プロトコルが存在しないと言われてますが、設定で追加したりできるものなのでしょうか?
291:290
07/08/23 14:30:14
自己レスですが、Jar://~が使えるかどうかは端末によりけりなんですね。
ということは、大量の画像ファイルをネットからダウンロードして
アプリ中に差し替えるような仕様だと、ファイルを1つずつダウンロードして
ちまちまRecodeStoreに保存する方法しか無いんでしょうか。
DojaならJarInflater()で一発なのですが・・・
292:デフォルトの名無しさん
07/08/23 14:48:33
Dojaってアプリでjar圧縮できるんだ?いいね
同じ事をやりたいんなら自前でアーカイバを作ればよい
293:デフォルトの名無しさん
07/08/23 15:54:48
初心者丸出しなのですが、画像の読み込みについての質問です。
少しずつテストして行って画像を表示させるテストで行き詰まりました。
3時間ほど調べてみたのですが解決方法が見当たらなかったので・・・
//絵の表示
public void paint(Graphics g) {
if(image == null){
try {
image = Image.createImage("/test.gif");
}
catch (IOException e) {
e.printStackTrace();
}
g.drawImage(image, 0, 0, g.TOP|g.LEFT);
}
}
この際のtest.gifはどこに配置したらいいのでしょうか?
構成は
Test
src
tmpclasses
となっています。
tmpclassesに置くとnotfoundとは言われなくなるのですが、
やはり
java.io.IOException
java.lang.NullPointerException occurred in ImageCanvas.paint(Graphics), ignored.
のエラーで表示されてくれません。
294:293
07/08/23 16:35:30
すみません、解決しました・・・
MexaだとGIFは使えないのですね(汗)
ただ、配置場所に関してはやはりtmpclassesになっています。
これはeclipseの設定だと思うので探してはいるのですが・・・。
295:デフォルトの名無しさん
07/08/23 18:05:17
>>294
srcフォルダと同じ階層にresフォルダ作ってそこにリソースを入れる
296:293
07/08/23 19:47:21
>>295
それはやったことが・・・と思ったら、
ソースとしてフォルダを作ってなかったようです(汗)
新規>ソースフォルダでやったところに入れたら自動的にtmpclassesにも行きました。
ありがとうございます!
297:288
07/08/23 22:32:36
>>289
返事遅くなったけど、ありがとう!
これでどっちで作ったら良いか迷いを断ち切れた!
298:278
07/08/26 22:17:30
どなたか>>278に答えてもらえませんか
299:278
07/08/26 22:27:53
ちなみにWTKでもMEXAエミュでもです
300:デフォルトの名無しさん
07/08/27 01:03:53
リソースフォルダに格納した
ファイルのサイズを簡単に求める方法はないでしょうか?
外部に保存されているファイルなら、
StorageConnectionの「getLength()」を使えば、
簡単にファイルサイズを求められるのですが・・・。
実際にリソースデータを読込めば、
当然そのリソースのサイズは判明しますが、
「リソースデータを読込む前」に、
リソースデータのサイズを取得する方法があれば、
是非ご教授お願い致します。
301:デフォルトの名無しさん
07/08/27 01:20:39
InputStream#availableは?
一応読み込む前ではある。
302:300
07/08/27 02:14:40
>>301
おお!リソースのサイズが取得できました!
レスありがとうございます。
303:デフォルトの名無しさん
07/08/29 00:39:06
GraphicsUtilのgetPixelを使ったら、SecurityExceptionになりました。JADファイルになにか設定がいるのでしょうか。
304:デフォルトの名無しさん
07/08/29 02:43:02
電源ボタン押下によりアプリを終了する時、
自動的にデータ(※約10KB)をメモリカードに保存するようにしたいのですが、
destroyApp()内で外部メモリへデータを書き込んでいると、
エラーが発生して、アプリが落ちてしまいます。
destroyApp()内で重い処理をしている為、
エラーが発生していると思われますが、
どうにかして、destroyApp()がコールされるタイミングで、
外部メモリへデータを保存する事はできないのでしょうか?
305:デフォルトの名無しさん
07/08/29 04:27:24
>>304
機種の実装依存だから無理
306:デフォルトの名無しさん
07/08/29 10:02:47
>>303
GraphicsUtilはMEXA Unit2に該当するクラスだから
東芝とシャープ以外の端末では使えない。
307:306
07/08/29 10:06:18
あ、今回の場合違うな。
Canvasクラスのpaintの引数で来るGraphicsのインスタンスや
GameCanvasのgetGraphicsメソッドで取得するグラフィクスを対象とする
getPixelは使用できないというのが正しい。
308:デフォルトの名無しさん
07/08/29 10:53:04
>>305
ってかやるなって書いてなかったっけ?
309:デフォルトの名無しさん
07/08/29 11:36:07
destroyAppでストレージいじるの?
それは知らんが、MIDPのdocにはdestroyAppは速やかに終了しろと書いてあったが、
ストレージいじるのは時間かかり過ぎだな。
実装側で一定時間すぎたら強制終了するからストレージぶっ壊す可能性もあるからやるなとベンダーのdocに書いてるかもね。
310:デフォルトの名無しさん
07/08/29 11:56:49
電源ボタン押下によるアプリを終了はユーザーの責任だから
無視してかまわんだろ
311:デフォルトの名無しさん
07/08/29 12:15:19
携帯の電源ボタン終了はちゃんとした終了プロセス実行しないから強制終了だしね。
スマートフォンやPDAはまた違うが。
312:304
07/08/29 23:11:38
>>305、>>308、>>309、>>310、>>311
みなさんレスありがとうございます。
ベンダーのdoc等を見たら、
確かに一定時間(5秒ぐらい)過ぎたら、
アプリが強制終了すると書いてありました。
destroyAppで重い処理を行うのはやめます。
313:デフォルトの名無しさん
07/08/30 18:34:26
J2ME Wireless Toolkit と Fote for Java 3.0, Community Edition を使って携帯ゲームを
作ろうと思ってるんですが Fote for Java 3.0, Community Edition ってどこでダウンロード
出来るんですか?Sunのページを探しても見つからなくて…
分かる人居れば教えてください
314:デフォルトの名無しさん
07/08/30 19:23:36
×Fote
○Forte
315:デフォルトの名無しさん
07/08/31 00:17:48
外部メモリにデータを書き込む時、
sc = (StorageConnection)Connector.open("保存データファイルのフルパス名");
os = (OutputStream)sc.openOutputStream();
os.write( data, index, length);
と記述すると思いますが、
何故か「os.write( data, index, length);」の
第二引数(index)の値を変えても、
書き込むデータの開始位置が変わらない・・・。
indexは、data[]の何番目の配列から書き込むか、
という指定をするためにあるものですよね?
動作環境は、SoftBankのMEXA エミュレータですが、
MEXA エミュレータのバグでしょうか?それとも私のミスでしょうか?
316:デフォルトの名無しさん
07/08/31 00:54:46
>>313
なんでForte?
もう公開してないんじゃないの多分
317:デフォルトの名無しさん
07/09/01 18:45:48
3GC用にゲームを作っているのですが、
903T、902T、803Tで確認したところアプリが途中で止まってしまいます。
動かしているimageなどが止まってしまうので、
ソースが全く走っていないことになると思うのですが、
なにかしらキーを押すと何事も無く動きだします。
気になる点はimage作成や、image、soundのロード、そしてdisposeなどを
繰り返していくと残りメモリがどんどん減っていくことです。
頻繁にgcしているのですが、メモリがどんどん圧迫されている感じです。
ある一定の値でメモリ使用は増えなくなります。
メモリ不足で端末の挙動が不安定になっているのかな?と思いますが
なにか心当たりありませんでしょうか?
318:デフォルトの名無しさん
07/09/01 20:50:57
>>317
基本的にgcはjavaが勝手にやってくれるから自分でやんなくてもいい。
メモリが減ってくのはimageとかに使ってるからじゃないの?
当たり前だけど、gcしても使ってる分のメモリは解放されないよ。
System.gc();
Runtime.getRuntime().freeMemory();
で残りメモリ量を見ながら、無限にメモリ使っていくプログラムを組んで、
その機種が残りメモリいくつでメモリエラー出るか確認してみるといいのでは。
319:デフォルトの名無しさん
07/09/02 06:22:05
>>318
imageをロードしても、disposeをしてその後gcが成功すれば
そのimage分のメモリは解放されるはずですよね?
(gcがちゃんと行われるかどうかは微妙というの聞いたことがありますが・・・)
他の端末では、ロード、disposeで使用した分のメモリは元に戻るのですが、
上記端末では元に戻らずロードの度に累積していくので、
端末によってgcがされにくいなどあるのかなと思いました。
無限にメモリ使っていくプログラムで確認するのはいいかもしれません。
やってみます。
320:318
07/09/02 13:03:14
東芝機種とかでgcがちゃんと行われるか微妙って話は聞いたことあるけど、
自分でgc入れたらメモリエラー解決したって話も聞いたことないんだよね。
そもそもgc行われるか微妙って話自体が結構眉唾だし。
いずれにせよ確証があるわけではないけどね。
俺も昔メモリエラー出たとき、色んなとこにgc入れてみたけど、
その時の結論は自分でgcやっても意味無い。だった。
903T、902T、803Tは使ったことあるけど、その時は特に問題なかったよ。
imageとsoundは常に全部保持してたからdisposeは使ってなかったけど。
あと、Image.dispose()ってDoJaじゃん。disposeって具体的に何?
321:317
07/09/02 13:53:45
>>320
そうですか・・・。
今までの経験上、javaのgcはホントにメモリがなくなったときはされるけど、
それ以外ではされたりされなかったりタイミングがあやふや、
という感覚だったので一定のタイミングで自分でgcを行っていました。
今回はさらにdisposeの直後に呼んだけど無駄だったという状況でした。
>あと、Image.dispose()ってDoJaじゃん。disposeって具体的に何?
あ、書き方が悪かったですね。具体的にはnull代入です。
image imageA;
~~
imageA = null; //使用した後nullでdispose
ただ、試しにimageA.dispose();をしたらエラーが起きず使用できたのですが、
Dojaじゃないのにどうしてコンパイル通るのか謎でした・・・。
322:デフォルトの名無しさん
07/09/03 06:39:30
System.gc()は必ずしもヒープの解放をする訳ではないです。
Javaヒープの空き容量を見ながら、GCをおこなうかを判断
することは、JavaVMの実装によりあります。
T芝のJavaVMの実装は分からないけど、VMの内部に参照が
残っていた場合には、参照が切れずにGCの回収対象になら
無い可能性もあり得る。。。が、それはVMの不具合かな。
まぁ、System.gc()で必ず回収されると思わない方が良い。
System.gc()よりは、"new byte[でっかいサイズ]" の方が
確実にGCを発生させられますよ。
323:デフォルトの名無しさん
07/09/03 11:43:40
iアプリの場合のものですが、
sアプリでもメモリの断片化が起こるのかも?
参考URL
URLリンク(appli-style.com)
324:デフォルトの名無しさん
07/09/03 11:57:28
普通に考えてメモリの断片化が起きない環境なんて無いのでは?
325:デフォルトの名無しさん
07/09/03 16:34:34
>>324
ちょっと言葉が足りませんでした
メモリの断片化が起きたときに
System.gc()を呼んでも
デフラグをしてくれないのが問題かも?
ということです
326:デフォルトの名無しさん
07/09/03 17:17:56
Javaのgcはコンパクションが含まれるのが仕様だと思い込んでたんだが、実際はVMの実装依存なのか?
327:デフォルトの名無しさん
07/09/03 23:50:04
長期的に見てメモリの断片化が不利要素になる用途向けのVM実装なら
メモリコンパクションやってるけどそれらはサーバー向けVMか民生外のVMのお話か。
CLDC HotSpotどころかJITすら積んでないインタプリタで動いてる既存のKVMの雲のまた上の存在が持つ機能。
話の引き合いに出すのがそもそも間違い。
328:デフォルトの名無しさん
07/09/04 01:03:07
SoftBankのTipsにはJSCL-1.0.Xの端末はメモリのコンパクションを行わないと
書かれているので、現在の端末では普通にメモリのコンパクションを行っていると思われr
329:デフォルトの名無しさん
07/09/04 02:17:30
>328
>現在の端末では普通にメモリのコンパクションを行っていると思われr
「SoftBankのTipsにはJSCL-1.0.Xの端末はメモリのコンパクションを行わないと
書かれている」からといって、何の関係もない
330:デフォルトの名無しさん
07/09/04 02:36:05
ドコモだったら901i以降は全機種コンパクション搭載なんだがな。
331:317
07/09/04 02:53:52
アプリが止まるバグはメモリが解放されていないのが原因ではないか?
と言い出した者ですが、原因は別にありました。
わけあって
Tread.sleep(1);
を定期的に行っていたのですが、903T、902T、803T端末では
Tread.sleep(10);未満を行うとスレッドにロックがかかると公式資料にありました。
超初歩的で馬鹿みたいな原因でお恥ずかしい限りです。
様々な意見ありがとうございました。
ただ、アプリが止まるバグは解消されましたが、
相変わらずメモリはガンガン減っていくわけで今も原因を解明中です。
ロード&解放を繰り返さず、最初に大きくメモリをとったり、
System.gc()を頻繁に繰り返しても駄目と聞いたので減らしたりしましたが、
特に効果はありませんでした。
332:322
07/09/04 06:58:18
>>322で書いたのは、コンパクションも含めたGCの話。
いまどきの携帯向けのJavaVMはコンパクションも普通に実装されてる。
333:デフォルトの名無しさん
07/09/04 14:28:26
所詮は実装レベルの話であってVMの仕様レベルの話ではない。
仕様で保証されなければ使えないのと同じこと。
ただでさえ、本当に互換性テスト通ってんのか?ってな実装だらけなのに。
あとDojaなんてjavaじゃない。
334:デフォルトの名無しさん
07/09/04 23:09:55
Dojaは確かにぶっちぎりで糞だが、そもそも携帯JavaがJavaの紛い物。
Javaが不完全で未熟な言語であることは、アスペクト指向やリフレクションという
裏口を使うフレームワークが百花繚乱なことからも明らかだが、携帯Javaは
容量面でも機能面でもその裏口封じてるんだからな。
335:デフォルトの名無しさん
07/09/05 02:16:46
>アスペクト指向やリフレクションという
裏口を使うフレームワーク
はjavaが不完全なんじゃなくてたまたまそのパラダイムを実現するのにjavaという言語仕様を使ってるだけ。
フレームワークレベルの話と言語仕様レベルの話をごっちゃにするな。
フレームワークの話をするならjavaのMVCは確かに中途半端だが。
336:デフォルトの名無しさん
07/09/05 22:27:16
む、むつかしい・・・
オレみたいに、javaの勉強がてら
携帯アプリを作ってみよー!
てなノリはダメってことか?
今までアセンブラ、basic、Cだったから
オブジェクト指向はこいつが初なんだが・・・
337:デフォルトの名無しさん
07/09/05 22:39:06
言語習得が目的なら
「自分はケータイJavaを学ぶのではなく
Javaを通してあくまでオブジェクト指向を学ぶんだ」
ということを意識していればok
ケータイJavaに振り回されないようにな
338:デフォルトの名無しさん
07/09/06 11:36:20
オブジェクト指向って考え方だから、Cでもなんでも実装方法しだいで
それっぽくならない?
Cの上手い人のソース見ると、だいたいオブジェクト指向に通じる
設計思想で作られてる気がする。
339:デフォルトの名無しさん
07/09/06 14:57:28
キー入力を検知するのに、keyPressed を使わずに、
ループで JSCLのDeviceControl.getDeviceState() を使い、
0→1の変化点を検知したら処理を行うように作ってみましたが、
早い速度でキー連打するとかなり取りこぼしてしまいました。
試しに無限ループで 単純に getDeviceState() の値を表示するようにして
キーをぽんぽん押してみたら、ON → OFF が早すぎると
getDeviceState() の値が0のまんまでした。
素直にキー入力の処理は keyPressed たちを使っておけってことでしょうか?
それとも、エミュレータ上では遅いとか・・・
(まだ実機上でテストできない環境なので、検証できません)
>>152-154 を見てどっちを使おうか迷っていたし、
組み込み系に慣れてるからポート入力→変化点検出→処理
みたいな流れで作りたかったんですが・・・
340:デフォルトの名無しさん
07/09/06 17:25:42
keyPressedでフラグ立てるなりステートいじるなりしてメインループないでそれの値を監視する。
341:339
07/09/06 21:25:35
>>340
一応、そちらの方向で検討しておりますが、
>>153 や公式で書かれているとおり、keyReleased() がこなかったとき、
離しているのに押されっぱなし(フラグたちっぱなし)、という状態が懸念されます。
実用上、特に問題無い程度の発生頻度なのでしょうか・・・
やはり普通の方は JSCL (getDeviceState()) は、あまり用いられないのですか?
別件ですがエミュ上でテストしたところ、同じキャラを表示するテストで
SpriteCanvas の sprite より drawRegion の方が早かったのですが・・・
342:デフォルトの名無しさん
07/09/06 22:59:38
keyPressed が来たらフラグ立てて、 getDeviceState で取ってきたやつに重ねればいいんでない
343:339
07/09/06 23:22:27
>>342
なるほど、ありがとうございます。
そちらの方向で検討してみます。
まぁ趣味でやるだけですし、そこまで神経質に
ならなくても良いのかな・・・>キーこぼし
344:デフォルトの名無しさん
07/09/07 00:46:56
S!アプリでアレンジメール(デコメ)を送ろうと思ったのですが、
アプリ上で実現するためにはどうすればよいでしょうか?
アレンジメールはHTMLメールとして表現されているようなのですが、
MailDataではHTMLメールには対応していないようです。
HTMLをそのままbodyに書いてみましたが、そのまま文字として表示されました。
仕方ないので自分でHTMLをsetAttachedDataでTYPE_HTMLとして送信しても
結果は同じくただの添付ファイル扱いでした。クリックしたらブラウザが起動します。
困ってしまいました。どなたかアドバイスお願いします。
345:デフォルトの名無しさん
07/09/07 01:10:56
すいません、お聞きしたいのですが
911SHなどで画面を回転させた時に通知を受けるか、画面の回転の状態を知るAPIはありますでしょうか?
API DOCなどみても探しきれなくて・・・。
よろしくお願いします。
346:デフォルトの名無しさん
07/09/07 01:11:59
すいません、お聞きしたいのですが
911SHなどで画面を回転させた時に通知を受けるか、画面の回転の状態を知るAPIはありますでしょうか?
API DOCなどみても探しきれなくて・・・。
よろしくお願いします。
347:デフォルトの名無しさん
07/09/07 11:01:25
>>344
メールヘッダからいじれんとダメだから、
間にCGI挟むしかないんじゃない?
以前PHPで作ったけど、全キャリ対応のデコメは氏ねるよ
348:デフォルトの名無しさん
07/09/08 00:27:13
famiJSCLをコンパイルしようとしているんですが、
致命的エラー: クラスパスまたはブートクラスパスでパッケージ java.lang を検出でき
ません。
とエラーが出てうまくコンパイルできません。
かなりの初心者なのでどなたか教えていただけないでしょうか。お願いします。
349:デフォルトの名無しさん
07/09/08 01:17:23
>>346
俺の手元のAPI DOCにはあるみたいだけど、回転ってなに?
>>348
そのエラーと質問の仕方をみれば、あなたには何を言っても無駄。
Softbankエミュ総合スレのテンプレ読んできな
350:デフォルトの名無しさん
07/09/08 01:42:56
>>349
偉そうに発言してるが、何も答えてない
バカの典型ハッケーン
351:デフォルトの名無しさん
07/09/08 01:45:29
>>350
偉そうに発言してるが、何も答えてない
バカの典型ハッケーン
352:デフォルトの名無しさん
07/09/08 01:49:17
> Softbankエミュ総合スレのテンプレ読んできな
実はこれ相当なヒントw
353:デフォルトの名無しさん
07/09/08 02:28:18
>>352
そこに触れなきゃ>>350が何も理解してないってだけで済んだものを・・・。
354:デフォルトの名無しさん
07/09/08 02:32:45
晒しage
355:345
07/09/08 09:33:57
みなさん、ありがとうございます。エミュ総合にいってきます。
ほんとうにありがとうございました。
356:デフォルトの名無しさん
07/09/09 18:58:22
すみません。>>349のSoftbankエミュ総合スレとはどこでしょうか?
最近S!アプリに取り掛かりはじめたんですが、公式とここ以外あまり情報が見つからなかったので。
357:デフォルトの名無しさん
07/09/09 20:33:03
>356
ググればでてくるじゃない。
直接最新がでなくてもたどれるでしょ。
358:356
07/09/09 22:00:56
>>357
ありがとうございます。
359:デフォルトの名無しさん
07/09/10 17:35:11
auのオープンアプリを作ろうと思い、初めてJavaに取り掛かろうとしています。
そこで、プログラミング以前の問題なのですが、大抵のオープンアプリ作成講座で『J2ME Wireless Toolkit 2.2』を使えと書いてあります。
実際にSunのサイトに行ってみれば最新バージョンは2.5.1なわけですが、これはオープンアプリを作るうえで2.2の方が便利ということでしょうか?
2.2と記してあるところが一箇所だけなら気にしないんですが、複数サイトで書かれていたので……
記事が古いわけでもないみたいだし。
360:デフォルトの名無しさん
07/09/10 18:34:17
The Sun Java Wireless Toolkit 2.5.1 includes all of the advanced development features
found in version 2.2, 2.3 Beta, 2.5 Beta 2 such as MIDlet signing, certificate management,
integrated over-the-air (OTA) emulation, push registry emulation, and more.
だそうですよ
361:デフォルトの名無しさん
07/09/10 18:45:45
WTK2.2以降はMIDP2.1が基準だったはず。
MIDP2.1のベンダ実装ってまだ出てない。
362:デフォルトの名無しさん
07/09/10 22:05:32
>>360
英語苦手なんですが……要するに2.5は2.2とかの進化形ってことですかね
>>361
調べてみたんですが、MIDP2.1という規格が見つかりませんでした……
色々調べてみたところ、2.2はLinux対応してるけど2.5はしてないとか、
単に2.2のレベルで充分とか、そんなことみたいですね。
どちらでもよさそうなので、適当にどっちか突っ込んどきます。
363:デフォルトの名無しさん
07/09/10 23:20:53
>>362
MIDP 2.1で普通に出てくるんだが?
それで分からんならJSR 118 MR 2.1で検索してみろ。
というか分からんなら黙ってWTK2.2とパッチ入れとけ。
364:デフォルトの名無しさん
07/09/11 03:18:25
>>362
んぱかさんのサイトから WTK22ダウンロードできたはずですよ!
がんばってね
365:デフォルトの名無しさん
07/09/11 06:46:45
Sunのサイトでダウンできるし
ま、2.5入れておけばいいんじゃね?
そんでMIDP2.1の機能を使わなければいい。API見れば書いてあるし
366:デフォルトの名無しさん
07/09/11 13:21:23
2.1は2.0のバグフィックスも含まれるからそういう問題じゃないんだが。
367:デフォルトの名無しさん
07/09/11 16:30:31
>>363>>364>>365
どもありがとうございます
>>362に書いたように適当にどちらかダウンロードするつもりです
MIDP2.1は確かにありましたね
英語を斜め読みしてたら見逃したみたいです
すみません
368:デフォルトの名無しさん
07/09/11 21:12:29
聞いてきた本人がレスを何も理解してないんじゃなに話しても無駄だな。
369:デフォルトの名無しさん
07/09/15 14:23:31
ageてもいいですか?
370:デフォルトの名無しさん
07/09/16 03:42:28
誰か、MIDP又はMIDP2で、
zip解凍プログラムを作成した神はおらんかのう。
Gzip解凍プログラムならググれば見つかるけど、
zip解凍プログラムは全然見つからない・・・。
371:デフォルトの名無しさん
07/09/16 09:37:19
gzipは見つからんがzipなら見つけた。
どこかは忘れた。
372:370
07/09/16 12:31:57
>>371
レスありがとうございます。
良く考えたらJava2 SKDの方には、
「ZipInputStream」というzip解凍用クラスがあるので、
そのクラスのソースを探した方が早いかもしれませんね。
373:デフォルトの名無しさん
07/09/16 13:15:48
>>372
WillcomのWikiに書いてあった奴だけど
Java 2 ME CLDC用 ZIP展開クラス jp.imi.zip.ZipArchive
URLリンク(i.lifemedia.co.jp)
374:デフォルトの名無しさん
07/09/16 13:45:44
すまん、ちょいスレ違いだが該当スレが無いんで教えてくれ。
ソフトバンクの携帯で、横画面に回転後を意識したアプリを作りたいんだが
MEXAエミュレータ上で、横画面に回転後の状態を反映さすにはどうすりゃいいんだろか?
単に液晶サイズを変えただけじゃ意味ないし。
ヘルプも見たが、わからん・・・。
375:372
07/09/16 14:42:12
>>373
おーーー!!!
これぞまさしく探していたものです!
本当にありがとうございます。
376:デフォルトの名無しさん
07/09/19 15:08:38
>>370
URLリンク(www.saturn.dti.ne.jp)
これなんてどうでしょう?
377:デフォルトの名無しさん
07/09/21 00:10:43
M3G って登場してからしばらく経つけど、あんまり見かけないのは
やっぱり性能的に厳しいからなのかなあ
378:370
07/09/23 21:31:00
>>376
レスありがとうございます。
試してみましたが、これだとzipファイルが解凍できませんでした。
jarファイルとzipファイルは全く同じ圧縮形式だと思いましたが、
微妙に違うのだろうか・・・。
379:デフォルトの名無しさん
07/09/23 23:48:23
jar って gzip じゃなかったっけ?
380:デフォルトの名無しさん
07/09/24 03:29:40
jarはinfo-zip
381:デフォルトの名無しさん
07/09/24 12:30:42
>>378
S!のInflateInputStream()を使ったことが無いんで376のソースコードからの推測になるが
S!のInflateInputStream()でzipを解凍するなら
zipのヘッダを自力で処理して各ファイルのdataブロックだけを取り出して
圧縮方式0の時はそのまま切り出し圧縮方式8の時は0x78,0x9c辺りをdataブロックの先頭に付加して
InflateInputStream()に渡せば展開できるはず
ZIPヘッダの構造自体は資料が山ほどあると思うんでそっち見てくれ
382:デフォルトの名無しさん
07/09/24 12:46:45
私も>>346さんと同じ壁にぶち当たったのですが、
SoftBankデベロッパーサイトの技術資料を全て見ても、
探しているAPI(サイクロイド携帯で、画面の回転が行われた事を
通知するAPI、又は画面の回転状態を取得するAPI)は見つからず・・・。
折りたたみ式機器の開閉状態を通知するAPIはありますが、
上記の探しているAPIは存在しないのでしょうか?