CLDC+MIDP+携帯電話用Javaスレッド part 7
前995
そのすぐ真下に全部書いてあるだろうが。そこだけピンポイントで読まずにわかりません!って眼科行ってこい。
>1
乙
8 :
デフォルトの名無しさん:2007/05/25(金) 06:50:48
> 978 :デフォルトの名無しさん:2007/05/23(水) 01:33:02
>
>>969 > モデリングならメタセコイアでもなんでも作ってやればいい
> アニメーションまでやりたいならBlenderでできる
前スレでM3GとHSTについてお聞きしました。ご返答ありがとう!
Blenderなんて全くしらなかったです。本当に感謝します。
OPTIONパッケージ使ってお仕事されていらっしゃるのですか?
今、Bluetoothの資料、かなり読み込んだんですが、日本の携帯端末では
ほとんど使えないですね。残念。3−Dの技術も、そこまで詳しくても、
MIDPの3−Dパッケージが使える端末って少ないし。
なんか、日本の携帯業界って海外と比べて進んでいるのか、遅れているのか・・・
ケータイ関係は布留川 英一の独占市場だな
サーカス商法か
>>7 MEはjavadocが一番参考になるよ。javadocにしては珍しく重要なことがjavadocに書いてあるし(SEだと重要なことはチュートリアルに書いてあってjavadocは部分コピペ)
>>10 一通り持ってるが書かれてる内容がいくつか違うのでF&C商法だな。
曲芸ほど中身一緒ってほどではない。1冊持ってれば十分だけど。
>>8 何をいっとるんだ。遅れた端末が普及してるだけなのがはっきりしてるじゃないか
いまさらE61だからな
14 :
デフォルトの名無しさん:2007/05/26(土) 01:09:15
>>12 いや、DoJaをねこしらえた日本って大したもんだと思う。
MIDPが使えない携帯は、もう、遅れてるってことかい?
MIDPだってさ、Bluetooth、3−Dといろいろオプション
パッケージがある。でも、CLDC1.1+MIDP2.0で書いてもさ、端末ごとに
振る舞い違うっていうのは、本当に困る
MIDP2.0で具体的にPOST通信のやり方を分かりやすく説明してある
サイトご存知ありませんか?
>>16 MIDP2.0に限った話ではないな。
ケータイアプリの通信の仕方(POST/GETのやり方)を説明したサイトなら
ググればいくつもあると思うので、好きなところを見ればいいかと。
ググるキーワードが分からないとか悲しいことは言うなよ?
つーか、携帯関係なくね?
最近はHTTPの仕様すら知らん奴がふつーにネットワークプログラミングしてるからな。
>>16 HttpConnectionの説明にはサンプル付きでずばりのものがあるけど。
Example using POST with HttpConnection
20 :
16:2007/05/30(水) 23:00:07
いやーみなさんすいません。
>>19 それが中々うまくいかなくてですね・・・。
とりあえずリサーチしまくればいいわけですね
ありがとうございました。
22 :
デフォルトの名無しさん:2007/06/01(金) 20:52:31
はっはっは
23 :
21:2007/06/01(金) 22:08:41
>>21 すいません
事故解決しました・・・
というかGETでやることにしました^^;
24 :
23:2007/06/01(金) 22:26:58
スレッド使用していて微妙なタイミングで問題が起きるらしく
エミュレータやSyatem.out.printlnでデバッグが難しいんだが
どうしたらいい?
ターゲットはS!アプリです
26 :
デフォルトの名無しさん:2007/06/02(土) 03:45:58
【JUnit + NetBeans 6.0】
ちょうど
>>25の話題が出たところでなんですけど、みなさんJava MEの
JUnitってお使いになってます?NetBeansにはJMUnitが組み込まれて
いるのですが、なんかさっぱり動かない。独立したクラスファイルから
Testクラスを自動生成させて、さぁ実行させようかな、って時に
コマンドが使えないです。
どなたかkwskお願いします。
>>25 synchronizedをちゃんと使っているか、使えているか?
それをコード上でチェックすることからはじめましょう。
ってか、どんな問題なのかによって対処方法はちがう。
エミュレータじゃなくて実機でのデバッグでいい方法がないのか知りたい。
Softbank用に画像加工アプリ作ろうと思ってます。とりあえず、解像度の変更・画像の回転・画像の切り抜き といった機能の実装を目指してます。
携帯アプリだとローカルファイルはStorageConnectionで読み込む事になると思うんですが、ちょっと頓挫気味です。
JpegDataのオブジェクト作ってJpegPlayerで表示するとこまでは行ったんですが、
携帯アプリ(Softbank)だとJPEGCodecのAPIは使えないんですね。。。
JPEGデータをImageオブジェクトまで持っていく方法、どなたかご存知無いですか?
というよりそれ以前の問題?携帯で画像加工行う時って、どのような手順が王道なんでしょうか。
> JPEGデータをImageオブジェクトまで持っていく方法、どなたかご存知無いですか?
普通にImage#createImageでJPEGのデータを指定するだけじゃないの?
32 :
30:2007/06/03(日) 16:34:22
>普通にImage#createImageでJPEGのデータを指定するだけじゃないの?
( д)゚ ゚
ぅぁー、完璧見落としてました。マジ駄問スマソ
SoftBankの911T(実機)を持っている人に聞きたいんだけど、
「MIDxlet-ScreenSize: 240,320」をjadに記述すれば、
WQVGA(横画面)用のアプリは、WVGA(横画面)サイズに正しく拡大表示される?
MEXAエミュレータ(※WVGAサイズに設定)で
やってみたけど、拡大表示されませんでした・・・。
>>33 俺は240x260でアプリ作っているので「MIDxlet-ScreenSize: 240,260」を
記述しているが、911Tでは普通に正しく拡大表示された。
端末資料を見る限りでは、「240,320」も対応しているから
普通に拡大表示されると考えて問題ないと思う。
35 :
33:2007/06/03(日) 17:30:46
>>34 レスありがとうございます!!
今度912SHを買ったら、さっそく試してみます。
MIDxlet-ScreenSize: 240,320
と書いたら904SHで動かなかなくてワイド対応あきらめたような
問題なかったら報告お願いします
904SHで使用可能なサイズ
・120x130
・120x147
・240x260
・240x294
・480x520
・480x588
って端末資料に書いてあるじゃん。
ごめん勘違いしてた
やっぱり240x260と240x320は共存できないのね
39 :
デフォルトの名無しさん:2007/06/05(火) 19:15:00
ちょっと前SH系ってグラフィックを大量に使うと極端に速度が低下するのだが・・・。
最近の機種は大丈夫なのかな?
V902SHでゲーム作るのが辛くなってきた。
こちとら未だに、J-53SH対応だぜ!
半年くらい前にやっとQCIFを切ってくれたよ。
41 :
デフォルトの名無しさん:2007/06/06(水) 14:49:22
みなさん、
最終テストは
やっぱりエミュレーターでは×ですよね。
かといって、実機揃えるのは大変ですよ。
どうしましょう。
商用でなく、さらに公開するなら、とりあえずエミュレータと自分と友達の端末くらいで
動作確認すればいいんではないでしょうか。
テスト端末を明記して。
あとは動作実績の受付で十分かと。
商用で大規模にやるなら、数百種類の端末で動作確認できるサービスが
あったはず。
と書かせて、業者へ誘導するためのカキコですか?
43 :
41:2007/06/06(水) 16:03:05
>>42
数百端末?
実際にそこまでチェックするんだ、プロは!
いや驚いた。
44 :
41:2007/06/06(水) 19:50:34
>>42 やっぱり、数百の実機で検査なんてコストかかり杉ですよね。
それを避けるコツってないのでしょうか。たとえば、GameCanvasは
使わないとか。
DoJaとMIDPで互換性がないだけじゃなくて、MIDPでも
端末によって動作変わるなんて、JAVAの利点ってどこ行ってしまったん?
携帯アプリ開発者は本当に大変そうですね。もっと経験談お聞きしたいです。
ここは語らいのスレじゃないんで他所へ行って。
流れにワロタ
47 :
1:2007/06/06(水) 23:01:22
>>45 全然オッケーです。
そういう言い方こそやメレ。
GraphicsUtil#drawRegionにバグ(?)発見。
811SHでテストプログラム動かしてて気づいたんだが、携帯の解像度を超える画像が表示できない。
GraphicsUtil#drawRegionだとNGだが、Graphics#drawImageならば同じ画像も問題なく表示できる。
エミュでも正常に表示できてたから、たぶん端末固有のバグじゃないか、と。
こーゆーのって、どっかに情報上げたらバグFix&Updateとかしてくれるもんかな?
自分の携帯にバグがあるっての知ると何か損した気分。
>>47 あくまで、携帯電話用Javaに関する質問や議論が何でもこい、なのであって
経験談や雑談やグチの書き込みが全然オッケーってことはないだろう。
分別、節度を持てってことだ。
>>48 バグ呼ばわりはシャープにかわいそうだろ・・・
drawRegionはdrawImageに比べ高機能なので内部でメモリー倍確保するなどの実装になってるんじゃないの?
まぁImage系でOutOfMemory吐かないのはバグだけどね。
↑仕様書には制限事項で載っている
drawRegion使うと極端に遅くなるから使ってない
52 :
1:2007/06/07(木) 22:09:46
>>49 ですから、あなたの言っているようなのって雑音なんだな。
以後、カキコ謹んで。
他のヤシ、気にしないで、行ってみよう。
ごく個人的な用途で使いたいS!アプリも登録して審査を受けて公開しなきゃならんのか('A`)
アプリゲットの場合、開発途中の動作テスト目的なら公開しなくてもダウンロードできる。
開発者(開発グループのメンバー)のみという制限付きで、かつ
最終的には公開する意思があるという前提で。規約に書いてあるよ。
>>49 自治厨乙
分別、節度を持てってのには同意だけど
おまえはスルーするのを覚えろってか半年ROMってろ
Sアプリで、com.j_phone.ui.FEPControlを使って文字の入力を
ユーザにしてもらおうと考えています。
この時FEPのタイトル(入力する部分の上側に任意の文字列)を
設定したいのですが、どのように指定すればよいのでしょうか?
>>56 テキストボックスではないのでタイトル文字列は指定できないな。
代わりにFEPControl#getInputText()の第1引数で
"ここに○○を入力してください"とか渡す方法が考えられる。
59 :
56:2007/06/09(土) 11:54:07
>>58 回答ありがとうございます。
やはりTextBoxでないとダメなんですねー。
第一引数で指定する方法も考えたんですが、それだと前回入力
していた文字列が何だったのか、ぱっと見で分からなくなってしまう
(入力は一度きりでは無いです)のでイマイチかなと思いました。
また「注意文+前回入力文字列」を指定すると、ユーザの手間と、
入力文フォローのためのコードがけっこう面倒だと思ったので
やらないようにしていました。
TextBoxあたりについて、もう少し勉強してみます。
StorageConnectionを使えば、
指定パスのファイル一覧を取得できますが、
それと同じように、下記のリソースフォルダ内の
ファイル一覧を、簡単に取得する方法はないのでしょうか?
\プロジェクトフォルダ−\bin
\classes
\res ←このフォルダ内のファイル一覧を取得したい
\src
\tmpclasses
>>60 そのフォルダの内容は、JARにしたときにはすべて既知なので、わざわざ取得する必要がないと思いますが。
62 :
60:2007/06/10(日) 16:40:37
>>61 確かにその通りですが、
まだアプリゲットのオフィシャル作者登録をしていないので、
StorageConnectionが使えません。
そこで、試しに、色々なファイルを「res」フォルダに入れて、
そのフォルダ内のファイルリストを表示させてみようかなと思っただけです。
※現在、ファイラーアプリを作成中で、そのファイルリスト表示処理が、
実機で正しく動作するか確認したかっただけです・・・。
初めて携帯アプリにチャレンジします。
ためしにOAP青空文庫ビューワでも作ってみるかと息巻いて
情報集めてみるも、端末内のファイルにアクセスする手段が
用意されてないんでしょうか?
レコードストアの32kbじゃどう頑張っても足りないもので。
まぁ、今の時代にレコードストアの32kって時点で
auのオープンアプリだろうな。
>>63 オープンアプリは端末の機能に一切アクセスできない。
データフォルダや電話帳や着信履歴やメールやカメラなど、どれも使えない。
通信だけは許可されているので(面倒な制限はあるが)、
大きなデータは毎回サーバから持ってくるしかないな。
でもアプリが終わったらそれも消えるってことで。
>>64>>65 「OAP」オープンアプリプレイヤー→Javaアプリが動くauのBREW端末
その略し方は初めて知った
あんまり伝わらないのでは?
調べる時に検索したら「OAP」って書いてるサイトもあったけど、
仕事だと伝わり辛いから「オープンアプリ」って言ってるな。
>>64-
そっか、ありがとさん。
オープンアプリで自由にアプリが作れると思いこみ、
MNPで移行せずにauのまま更新したのはマズかったっぽいね。
しかも、オープンアプリだと解像度も低いし。
解像度は240x240で一緒じゃね?
>>69 まあ公式にはBrewでちゃんと作ってねよろしく、オープンアプリはダメよ。
ていうスタンスだから、機能内で相応の物を作るのがよいかと。
>>70 縦フル画面使えないって事じゃない?
--------------------------------------------------------------
ディスプレイサイズは240×268ドットとなります。
MIDP2.0のフルスクリーン仕様 (Canvas.setFullScreenMode()) に
対応しており、利用の際のサイズは240×296ドットが利用可能です。
--------------------------------------------------------------
だそうだが?
>>72-73 VGA機を使っても240x268だし、通常のワイド機でもかなりの無効領域(auロゴ)が出てしまうので。
>>71 審査に15万だっけ?
一回だけなら払ってもいいんだけど、ソフトごとに毎回審査料払って
しかも審査落ちがあるとか、個人じゃとても無理だし
人様にもあまり見せられるものじゃないし、ねえ。
BREWアプリはVGAは出せますん
jigブラウザがオープンアプリ版を出してるようだから、
オープンアプリで商売するのも不可能ではないわけだ。
商売はOKだけど、公式サイトでの利用はNG。
18禁Flashとか作ってた連中が一番喜びそう。
商売はどうでもいいけど、自分用の暇つぶしツールを作りたかっただけなんだ。
初期導入費用に15万掛ってもいいけど、継続してとられるのはキツい。
それに公式で公開するつもりもないんですよん
てところで、やっぱりFlashにするか他キャリアにするのが一番よさげだねorz
>>79 初期費用どころじゃなくて、サイトアップのためには公式サイトの制作が
前提条件になるはず。その審査には株式会社じゃないと多分門前払い。
ちなみにflashも外部ファイルは読めないし、100kByte制限とかあったりともっと制限きついよ。
オープンアプリでできる範囲の物をとりあえず作ったらいかがでしょ?
MIDPなんだからSoftBankやZero3にも比較的簡単に載せ変えできるし。
81 :
デフォルトの名無しさん:2007/06/13(水) 17:44:18
911TでSMAFが鳴らないんだけど、何か知ってる人いたら教えてください。
フォーマットはMA-3です。
SH、N、P、Tの他機種、SCと他のヤツは一通り鳴るんですが。
911T二台試したんですが、二台ともダメでした。
何故か二台ともSアプリ設定の音量が0になってただけでした。
すいません、お騒がせしました。。。
83 :
デフォルトの名無しさん:2007/06/13(水) 19:50:50
>>79-80 基本的に、自由にアプリ公開して、ユーザーにダウンロードさせる
ことができるのって、i-Appliだけなのですか?
iアプリとオープンアプリは自由。多分Willcomも大丈夫じゃね?
S!アプリはコンテンツアグリゲーターにアップしないとあかん。
Brewは本来スレ違いというか。Javaじゃないしね。
>>84 Willcom機の場合はサイトにうpする必要すらない。
PCから電話機にファイルコピーしてインストールできる。
もちろん自由にサイトからもお好きに。
オープンアプリは鯖の設定いじってやらないとダウンロードできないんだよな。
>>84-86 おお!
どうもありがとうございます。
オープンアプリについては、↓のコピペを。。。。
--------------------------------------------
サーバ設定
Webページを配置するサーバ側にていくつかのヘッダ情報を必須で返却する必要があります。返却されない場合、インストールエラーとなります。サーバ側の設定方法に関しましてはご利用のサーバ管理者へお問い合わせ下さい。
Content-Lengthヘッダに対応する必要があります。
Content-Typeとして以下のMIMEタイプに対応する必要があります。
拡張子 MIMEタイプ
.jad text/vnd.sun.j2me.app-descriptor
.jar application/Java-archive
>>87 それ.htaccessで書けば大丈夫なサーバーが多い。geocitiesとかでアップとかの話はわからんが。
ここで聞くべきがどうか微妙なんだけど、
SMAFをランダムで再生できて、本体とメモリーカード両方を読み込んでくれるアプリなんて今はないのかな?
以前はVsmafplayerってのを使ってたんだけど、対応してない携帯にしちゃって...。
ただ需要がないだけ?
ちなみにSoftBankの3G。
作るのもアリかなと思うんだけど、どれ程の技術が必要なのかすらわからない。。
教えてくだしゃい
ここで聞くべきがどうか微妙なんだけど、
SMAFをランダムで再生できて、本体とメモリーカード両方を読み込んでくれるアプリなんて今はないのかな?
以前はVsmafplayerってのを使ってたんだけど、対応してない携帯にしちゃって...。
ただ需要がないだけ?
ちなみにSoftBankの3G。
作るのもアリかなと思うんだけど、どれ程の技術が必要なのかすらわからない。。
教えてくだしゃい
二重ですんません__
フォルダ内のファイルをランダム再生ならnenene_3gがあるけど
全部読み込んで再生できるアプリは知らない
やり方としてはMy Items\Soundフォルダ内をStrorageConnectinでリスト取得して
ランダム再生するだけだからそこまで難しくない
作ってくれるんなら全部読み込んでくれるよりかは
プレイリストを編集できて管理できるソフトがほしい
作るんならMIDIとWaveも再生できるようなのもお願い
94 :
89:2007/06/18(月) 13:09:32
>>92 nenene、落としてはみたのだけどなぜかエラーが出ちゃったよ...。
(ちなみに905SH)
もしかしてUSB繋いでいじらなきゃダメ??
プレイリストか〜。
作るとか言っておいてアレなんだけど、プログラミングなんてかじってもいないんだよ。
そこまでできる様になるまで結構頑張らなくちゃいけないかな?
>>93 Waveが見れる携帯ってあるの?
それとも、『アプリでは見れる』的な?
95 :
デフォルトの名無しさん:2007/06/18(月) 20:44:56
初心者です。
stubclassesにFileInputStream.classがない。
どうしたらいいのか・・・
>Waveが見れる携帯ってあるの?
ないよ。スマートフォン級ならあるけど。
そもそもRAMが足りない。RAMが32M使えてそのうち6Mjavaヒープに使うw-zero3ですらものによっては怪しいのに。
素直にDMPで聴いた方が良い。
端末仕様書に4ch MIDI + 1ch waveってあるけどな
912SHでは4chMIDI + 4chWaveだった
というか「見れる」ってあるから音のwaveではないやつがあるの?
問題は実行中にメモリ持つかどうか
SアプリをMACSサーバにアップする時に
xxx.jad
xxx.jar
xxx.vappli
って3ファイルある場合、xxx.vappliはどういう扱いにすれば良いの?
jadとjarはアップするインターフェイスが用意されてたんだけど、vappliって
ファイルをどうすれば良いのかが分からない・・・。
詳しい人が近くに居なくて・・・。
誰か知ってたら教えて下さい。お願いします・・・。
>>100 vappliファイルはビジネスプロバイダ経由で
アップする際の設定ファイルだ。
ビジネスプロバイダを使用しないのであれば
そのファイルは必要ない。
S!アプリで、HttpConnectionでURIを開き、開いたURIにLocationヘッダーが指定されている場合、
どのように振る舞うのでしょうか?
Locationを解釈するのはUAの仕事
3xx系のことか。
ケータイによって動作が違った。
勝手に処理して200 OK返されると困るよね。
Locationを解釈するのはUAの仕事
内蔵ブラウザの話しではない。
UA=Webブラウザではない
107 :
デフォルトの名無しさん:2007/07/01(日) 18:43:54
すみません、質問です。
現在、アプリにて振動の制御を行っている箇所に
バグがあるらしく(停止しない・起動しない)
原因がさっぱりでしてorz
どなたか御存知無いでしょうか?
910SHとかは動くのですが703SHとかだと上記の現象が起きるので
「アプリのバグで振動が制御できない、教えて」
振動に詳しい人でもさすがにアドバイスしようがないよ。
どういうタイミングでどういう記述で制御しようとしてるのか、
どういう状況で「停止しない・起動しない」なのか書かないと。
機種名も曖昧に「とか」じゃなくてズバリどの機種なのか。
SoftBank携帯や、Willcom携帯(Java搭載機)でAPIから個体識別番号や製造番号等
(iアプリで言うところの、Phone.getProperty(Phone.TERMINAL_ID))のような物を取得は可能なのでしょうか?
Softbank携帯においては、HTTP通信のユーザエージェント上にSerial値が表示されるので、
そこから取得とかも考えたのですが、出来ることならAPIから取得したいです。
S!アプリのブラウザ起動のobject要素で、
codebaseというのは具体的に何を指定するのでしょうか?
Jadファイルの基準URLと書かれていますが意味が分かりません。
検索してもソフトバンクのPDFからの情報しか出てこないのですが、
この機能って対応してる機種が少ないのでしょうか?
113 :
110:2007/07/04(水) 12:07:22
もの凄く初心者すぎる質問ですけど、調べても分からなかったので教えてください。
例えばフォントサイズや画面サイズが機種ごとに違ってたりしますよね?
この場合、フォントサイズや画面サイズが同一の機種ごとに別バージョンで提供しなければならないのでしょうか?
それとも、画面サイズは240×260 Sフォントサイズは12×12とかって固定出来るものなのでしょうか?
なんとか実機で動く所まで持ってきたのですが、WTKとエミュと実機と、全てにおいて描画位置が違って
しまいます…。
>>114 「ねばならない」理由はない。自分の好きにすればいいよ。
画面サイズもフォントサイズも機種ごとに違うことを意識してプログラミングするだけ。
SアプリでQVGA(高精細モードってやつ)のアプリを作る場合、
画面サイズは、例えば240x260の範囲しか使わないなど自分で決める。
(0,0)に合わせて描画するなら機種ごとの下側の余白は無視する。
縦方向をセンタリングするなら、あらゆるものの描画はオフセットを加える。
この場合は上下の余白を無視するが、海、空などのデザインなら違和感がない。
フォントサイズも同様だが、高精細モードならSmallサイズが全機種12x12で統一されてる。
>>115 ありがとうございます。
実はiアプリ用に作った紙芝居アプリをSアプリに移植しようとしています。
220×220の画像の上で物語が表示させるような感じのアプリです。
ちなみに古い機種でも使えるようにMIDP1.0で作成しています。
っで、家族が811SHという機種を持っているので試しにダウンロードして
みたのですが、画面の中央にめちゃくちゃ小さくしか画像が表示され
ません。文字も全然検討違いの所に表示されるし…。
ソフトバンクの機種情報を見ると、811SHは480×640となっているのが
原因だと思うのですが、こういう高解像度の機種の場合のみ別仕様で
作り直すという感じでしょうか?他の機種みたいに240×320とかならば
空白も気にならないと思いますが…。
どの機種においてもプログラム側で「240×260」の画像モードとかって
決められると一番楽だと思うのですが、どうやらないみたいですよね。
質問ばかりですみません。よろしくお願い致します。
117 :
115:2007/07/07(土) 16:50:47
>>116 Jadファイル内に
MIDxlet-ScreenSize: 240,260
を記述すれば、240x260 モードになる。
119 :
116:2007/07/07(土) 23:21:56
>>117 >>118 ありがとうございました!!
ひたすらgoogleで検索しても出てこなかったのは
逆に「当たり前」すぎるからだったんですね…。
ちゃんと開発ガイドを熟読してみます!
本当に助かりました。ありがとうございました。
120 :
デフォルトの名無しさん:2007/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でも使用できると思うのですが‥‥
解決策をご存知の方、注意すべき点をご存知の方がいらっしゃいましたら、ご教授下さいますようお願いします。
宜しくお願いします。
(もちろんググってはみましたが、自分では有効な解決策を見つけられませんでした‥)
それってどの開発ガイド?
予想で書くとcom.j_phone.system.DeviceControl.readだから
Read User Data Access(個人情報取得)に当てはまるとかはないかな?
>>120 SecurityExceptionはエミュレータのみで実機では正常に動作するの?
後、MIDlet-Application-SecurityはMIDP1.0の属性で
MIDP2.0ではMIDxlet-Application-Securityだが、
SoftBankのMIDP2.0端末では、そもそもこの属性自体が対応していないので
入れても無視される。
123 :
120:2007/07/10(火) 15:12:43
ありがとうございます。
実機が手元になくまだテストができていません。申し訳ありません‥‥
数日中に実機を手に入れる予定なので、手に入れ次第試してみたいと思います。
また使用不可能な機能一覧は、『MIDP 2.0対応端末編 1.0.1 2007-05-25(P62)』を参照しました。
(文脈からもうご覧になられたと思いますが)
もしご回答戴いた予想通りなら使用は不可能ですね。
MIDPのVersionが違うのかもしれませんが、
『メールの記憶』というアプリ(個人作成と思われます‥)ではこの機能を使用しているのではないかと思われるアプリが、
『KVMゲームプログラミング』というホームページにてsetMailListenerを使用するV!アプリの作成方法が紹介されています。
それを見たこともあり、MIDP2.0でも作成が可能ではないかと判断したのですが、うまくいかず質問させて戴きました。
宜しくお願いします。
>123を読んだ感じ、その「メールの記憶」というアプリはMIDP-1.0用のアプリのようだけど、
MIDP-1.0とMIDP-2.0では規格上、セキュリティの管理の仕方が違うから
MIDP-1.0のアプリでできるからといって、同じソースの記述でMIDP-2.0でもできるとは限らないよ。
125 :
120:2007/07/10(火) 18:30:03
>>123 ありがとうございます。
全くその通りなのですが‥‥
出来ている方がもしいればとの思いで質問しました。
自分だけなら規格の変更のため使用が不可能だとは判断しきれないので。
120でも申し上げた通り、ダイアログの表示条件に当てはまっているように解釈できる資料もありますし‥
もし何か分りましたら宜しくお願いします。
MEXA1.1くらいののjavadocによると
DeviceControl.setMailListenerは
機能グループ "Read User Data Access" のパーミッションだそうです
Trustedじゃないと無理
127 :
120:2007/07/10(火) 19:33:32
>>126 ありがとうございました。
お陰様ですっきりしました。
助言を下さった皆様、またこの掲示板をご覧の皆様、
色々と本当にありがとうございました。
ランダムアクセスって無いの?そんな文を見たけど
みんなどーやって一つのファイルから上手く読み出してるんだろぅ?
?
SDの話じゃね?
まぁ、いくらでもやりようはあると。
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 :
デフォルトの名無しさん:2007/07/15(日) 21:09:37
データベースに接続して検索するアプリケーションを作ろうと思っています。
やはりMIDPでもJDBCを使って接続する方法はありますでしょうか?
>>132 携帯でやらずに、バックエンド(サーバー側)でやるようにした方がいいよ。
MIDP2.0のGameCanvasクラスのgetKeyStates()では数字キーの状態を取得できませんよね?
数字キーの状態を取得するのはMIDP2.0だけでは無理ですか?
135 :
デフォルトの名無しさん:2007/07/16(月) 07:25:44
>>133 もちろんサーバ側でやりますよ。
容量がもったいないですし。
operaminiの鯖側は何で書いてるんかな?
質問させて下さい。
iアプリ用に作成したゲームをSoftBank、AUに移植しようとしているのですが
画面のフェードアウト処理が出来ずに困っています。
iアプリではgetColorOfRGBで徐々に画面を白や黒にしていたのですが
MIDPで解決する方法を教えて頂けないでしょうか?
ただPixelごとに処理していると処理時間が凄く遅くなりそうで怖いです。。
画面自体の明るさを変更するような命令でもあれば楽そうですが…。
>>137 ソフバンならrenderPrimitivesで一枚でかいのを上からのっければカラー減算、加算、半透明といろいろできるよ。
AUは切捨て。
>>137 対象画面の画像をオフスクリーンバッファに描くようにして、
Image#getRGB()で1画面分の色を取得して一括処理、
その配列からImage#createRGBImage()で画像生成、描画。
拡大/縮小処理でやったことあるが速さは期待できない。しかし他に方法はない。
オープンアプリでは板ポリゴンを描画できないし。
速さが必要ならメッシュパターン(市松模様)をいくつか用意して重ね描き。
むかーしむかし、セガサターンというゲーム機があってのう…ゴホゴホ
ア、オジイチャン、ネテナキャダメヨ
>>131 fillRoundRect()の最後2つの引数は弧の直径だとAPIリファレンスに書いてある。
直径1ドット(半径0.5ドット)の弧は描けないから
描画結果が微妙なことになっても、それは引数が悪いせい。
>>140 thx
勝手に半径だと勘違いしてました
というか布留川氏の本でも半径っぽい絵が書かれてますね・・
>>135 そうじゃなくて、携帯側は結果を表示するだけで、それ以外は全部サーバー側でやれってことだよ。
そういやMIDPでDBと通信するミドルウェアがあったな。
MIDPなのにCDCが動くようなスマートフォンやPDAを前提としてたが。
MIDP1.0でアプリを作成しています。
その中でブラウザを起動しようとしているのですが
BrowserConnection browser = (BrowserConnection)Connector.open("url://アドレス");
browser.close();
の部分が、コンパイルは通るのですが実際にはブラウザ起動してくれません。
エラー表示は
java.lang.ClassNotFoundException: com/sun/midp/io/j2me/url/Protocol
となっています。
JADファイルでMIDlet-Network: Yにも指定しています。
どなたかご教授願えませんでしょうか?
>>144 普通に考えればその端末にBrowserConnectionクラスがないんじゃ。
BrowserConnectionってMIDPのクラスじゃないし。
まあ、使ったことないから知らんけど。
146 :
144:2007/07/20(金) 21:52:35
ありがとうございます。
実機でも試してみたんですが、それ以前にエミュレータでもWTKでも駄目なんです。
コンパイルはWTKのmidpapiにエミュレータのmidpapiを上書きして使っているんですが
これが原因という事はないでしょうか?
今のところコンパイル時に他に不具合などは出ていないですが…
結局何がやりたいかと言うと、アプリ内に自サイトの紹介ページを作りたいんです。
要するに自サイトへの誘導が出来れば他の方法でもいいんですが、色々調べてみても
分からないんですよ。。
>>144 APIリファレンスでBrowserConnectionのとこ確認な
BrowserConnection browser = (BrowserConnection)Connector.open("url://アドレス");
browser.connect();
browser.close();
148 :
144:2007/07/20(金) 22:47:05
>>146 ありがとうございます!エミュレータで動きました。
こんな単純なミスに気付かなかったとは… お恥ずかしい限りです。。
とは言え実機の811SHで試した所、ブラウザは起動してくれず…。
参考サイトを見た限りではこの機種はBrowserConnection使えると思ったんだけどなぁ。。
やっぱりMIDP1.0端末は切捨てて、MIDP2.0専用でMIDlet#platformRequestを使うのが
ベストなのかなぁ。そもそもMIDP1.0端末のユーザってどれくらい残ってるんだろう?
MIDlet-Network: Y
は書いてあるか?
>>149 はい。書いてあるんです。
エミュレータで実行するとアクセス許可のような画面が正常に出てきて、ブラウザも起動されます。
でも実機で試してみると、うんともすんとも言わない…。
なんでだろう…
アプリの仕事始めて半年くらいだけど、
MIDP1.0端末対応してくれってのはなかった。
MIDP2.0端末全部ってのはあったけど。
>>134 以前同じことで悩んで,結局は,全部自分で実装した。GameCanvas をあきらめ,
キー情報を管理するクラスを作って Canvas の keyPressed などで,その情報を書き換える。
メイン処理では別にスレッドを動かしながら,その中でキー情報を管理するクラスにアクセスする。
非常に遠回りだけど,汎用的でいいよ。
俺もDoJaと同じ仕様のCanvasクラス作ったけど、一つ問題が。
携帯のボディ部を擦るようにガリガリガリガリって数字キー連打すると、
たまにkeyPressedが来るのにkeyReleasedがこないときがあって、キー情報がバグる。
JSCLだけどDeviceControl.getDeviceState()で数字キーとれるよ。
154 :
134:2007/07/21(土) 01:03:39
>>152-153 確かにキーイベントでやれば汎用的になりますね
JSCLが使えない機種にも対応したいので
keyReleasedの問題には目を瞑って,キーイベントの方法でいこうと思います
>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()はどの端末でも使えるので、場合分けを考えなくて済む。
>>156 ありがとうございます!!出来ました(T^T)
自分はJAVA初心者なので調べ方すらも良く分からず困っていたので、本当に助かりました!
platformRequest()についても色々やってみようと思います。
アプリゲットのユーザ利用ブラウザ傾向を見ると、Softbankの携帯を使用しているユーザのうち
97.21%が3G型だと出ている。この統計を見る限り、今後はMIDP2.0のみでも特に問題なさそう。
こういう解釈でいいんですよね?
喪前らはMIDPプログラミングするときはEclipseを使うのかい?
>>160 自分はただのテキストビューワとWTKだけです。
Eclipseって使いやすいの?
一度使おうかなと思ったけど環境設定でつまづいて辞めたw
>>160 Eclipse無しのコーディングは考えられないなあ。
>>161 趣味でやるぶんには使わなくてもいいんでない?
使いやすさはなんとも…。(個人的にはもう一歩足りない
感じだけど、おおむね満足。たまに秀丸を併用するけど)
ただ、生産効率、デバッグ、タダで手に入るところ等等を
考えると、使えるなら使ったほうが良いよ的な意見。
ちゅうか、環境設定そんなに難しかった?
みんなオープンアプリ作る時って、WTKで実行→実機で実行の流れでやってる?
AUのezplusEmulatorってMIDP2.0には対応してないよね??
S!アプリのエミュレータと実機だとフォントの描画位置ってずれてる?
同一画面サイズの同一フォントでも、どうしても描画位置がずれるんですよね〜。
一つの実機に合わせても他の実機でずれてる場合ってやっぱりあるんですかね?
>>163 ezplusEmulatorはオープンアプリとは無関係。
公式サイトに書いてあるように開発すればよし。
>■アプリの作成
>オープンアプリはサン・マイクロシステムズが提供するJ2ME Wireless Toolkit等で開発することが出来ます。
>開発ツールに関してはサン・マイクロシステムズのホームページなどをご参照ください。
>>164 >>114-119 これがヒントになるんじゃね?
166 :
160:2007/07/21(土) 21:04:44
さっそくEclipseをインストールしてみたが
プロジェクトの切り替え・実行も簡単だし入力補完機能もあって素晴らしいじゃないか。
Eclipseの無いMIDPプログラミングはネギのないネギまのようなものだな(藁
Eclipse使うとプリプロセッサが使えなくなるから、俺は使わないなぁ。
ほうほう、なかなか使い勝手が良いという事ですな。
どうしよう、入れてみようかなぁ?
すっごく初心者的な質問で悪いんだけど…、Eclipse自体にビルドと実行機能はあるの?
あるんだったらToolkitは使う必要なくなるよね?
あと…、プリプロセッサって何?
ビルドはantファイルを書く。
メガアプリ(3G)なら容量そんなに厳しくないから
プリプロセッサ使う必要ないんじゃないかな。
EclipseMEが便利
>>161 ビューアだけでどうやって書くのか気になるwktk!!
>>168 javaにプリプロセッサ使ってもソース管理が複雑になるだけだから止めとけ
172 :
167:2007/07/22(日) 01:16:22
MIDPだけのアプリであればプリプロセッサを使用する必要はないが
DoCoMoやAuのJava等に対応する必要があるため、必然とプリプロセッサを
使用せざる得ない。
この場合、プリプロセッサを使用しないと一つのアプリで複数のソースが
出来てしまうため、余計ソース管理が複雑になる。
プリプロセッサを使用すれば、同一ソースで3キャリアのアプリを作成できる。
>>171 えっ、コツコツと一から入力してるけど…もちろんコピペは多様するが。。
もしかして時代遅れ!?
>>173 ビューア→閲覧するもの(書き込み不可)
エディタ→編集するもの(書き込み可)
ということで、
>>171が
>ビューアだけでどうやって書くのか気になるwktk!!
というのは、誰もが思うことだぜ。
余談
「テキストビューアなんてツールであるわけねぇだろ。
あってDOSのtypeコマンドくらいなんじゃねぇ」って
思って検索してみたら結構あるもんだな。
Vectorで124個もツールが存在していてびっくりしたよ。
175 :
173:2007/07/22(日) 04:28:48
おぉぅ、お恥ずかしい…
こうなったら実際にテキストビューアで開発するしか反論できないなw
じっと画面を見つめるだけでコードがスラスラと…
これぞ眼力プログラム!!
なんてね、勉強になりました。
>>167 俺はプリプロセスかけたソースをEclipseで扱う方法で
デバッガだけは利用したことある。
ある程度規模がでかくなったら便利。
当方 NetBeans の Mobility Pack を使ってるけどなかなかいいよ。
標準でのキー設定が Visual C++ と Visual Basic の間みたいな設定で,
もともと両方使っていた私は,すんなりとなじめました。
ちょっと重いのが難点かな?
当方MIDP2始めて一週間です
WTKでエミュレート→OK
W52Hで実行→画面が固まったままキー押してもソフトキー以外全く反応なし
の時はどの辺でつまづいているのでしょうか?
>>178 とりあえず、どんな機能を使用しているのか示さないと、なんともいえませんね。
>>179 曖昧過ぎてすいません
他の方のをやってみるとスタート時にnow loadingとかして読み込んでいるみたいですが
そういうのをしないと携帯ではイメージとか読み込みきれないのでしょうか?
>>180 それをやっとかないと、時間がかかる場合、動いてるのか止まってるのか分からなくなるでしょ。
実行速度が違うから、エミュでの印象とはまた違う。
まず、Hello Worldが動かせてるのかどうかから尻隊
>>181 WTKの実行速度っては変えられないですかね?
>>182 一応WTK上では240*240の六マソのボスフロア内を想定しての動作は出来ているつもりです
横レスすまないが
何かもう意思の疎通が図れてないというか意味が通じてないというかw
スレがグダグダになりそうな気配
>>178=180=183
せっかくアドバイスをくれる人がいるんだから質問されたことに的確に答えようよ。
>>182は「Hello World」(代表的なサンプルプログラム)をやってみたかと聞いている。
それに対して
>>183で意味不明な答えはないだろう。
それに
>>179のツッコミに対して
>>180が全然説明になってない。
自分が組んだプログラムの説明をしろって言ってるのさ。
さらに、
>>178の解決にエミュレータの実行速度は関係ない。
いま質問すべきはそこじゃないだろ。1つずつ解決しろって。
>>184 グダグダにしてしまいすいません
HWは最初に試しました
次に低レベルイメージ、コマンド
応用でランダムの高さのブロックをジャンプで避けるアクションは実機でも出来たのです
ただ、FLASHみたく全てを読み込んで再生みたいなサンプルがわからないので
ある程度以上の動作が実機だと追いついていないみたく困っております
説明下手なので自分のソース晒したらピンポイントで指摘して頂けますか?
問題に取り組もうとする姿勢は伝わるんだけどもコミュニケーション能力を何とかしてw
>HWは最初に試しました
自分で勝手な言葉を作って話したってわからないよ。
>ただ、FLASHみたく全てを読み込んで再生みたいなサンプルがわからないので
だから、わからないことを次々書くんじゃなくて
>>178のプログラムを説明せよと。
何をやろうとしてどういう処理を記述してるのか、それを他人にわかるよう説明せよと。
>説明下手なので
そういうことじゃなくて、まず聞かれたことを理解して、そのことについて答えて欲しい。
そうしないと問題解決の糸口すらつかめなくて誰もアドバイスできないよ。
>自分のソース晒したらピンポイントで指摘して頂けますか?
どうして書き込みの度に話がすっ飛ぶのさ。
>>179の続きからやり直しだな。
車を運転してたら止まった。サーキットを1周したいんだけど方法がわからない。
車を見せたら原因と方法を教えてくれますか? …そんなのJAFだってお手上げだよ。
>>185 画像や音は最初に全部読み込んで、すぐ使えるImageなどの状態にして、
HashTableや配列に入れとく。
ベストな方法かは知らんし、メモリ不足には気をつけにゃならんけど、
使うたびに読み込むよりは断然速い。
あと、もうちょっと他人が何を言いたいのか考えて、それに答えるべき。
小学校で習うことだぜ。
指摘できるか分からんが、ソース晒すなら見てみよう。
まず、「何が問題で、どうしたいのか」がよく分からんというのがなあ。
携帯Javaは初心者かもしれないが、日本語の作文も初心者なの?
いや、それ以前に問題に取り組もうとする姿勢は見れるけど人の話聞いてない。
言われてることを冷静に考えて返答しないと会話が成立しない。
>>190 俺だったらGWCanvasのコンストラクタの中身ほとんどを
run()のwhile(true)の直前に書くね。
Display.setCurrent()の前でしかもコンストラクタ内で
getGraphics()はしないほうがいいんじゃないかな。
コンストラクタ内では、リソースに依存しない変数の初期化程度にしとくと良いよ。
Graphicsの有効なライフサイクルは描画前から描画後だしな。
何かしらプールが必要な場合は保持してるGraphicsが有効かどうか調べて有効ではない場合
確保し直さなければならない。JOGLはこれをある程度やってくれてたな。
まあ、環境依存のリソースをコンストラクタで拾うこと自体ちゃんと考えた方が良いかも。
すみません、テキストビューアでアプリ開発していると言った者です。
手に負えない事が一つあるので質問させて下さい…。
当方MIPD2.0でプログラミング中なのですが、全く同じソースで全く同じJAD/MFのソースを
クラス名/ファイル名のみ変えて新規プロジェクトで実行すると下記のエラーが発生してしまいます。
Unable to create MIDlet null
java.lang.NullPointerException
設定も何もかも同じなのにどうして新規プロジェクトだと実行できないのか…。
もうちょっと具体的に書かないと分からないのかもしれませんが、何をどう書けばよいやら、、
上記のエラーMSGでググってみると英語のサイトしか発見出来ず、翻訳したら意味不明な
文章になってしまい参考にも何もなりませんでした。
どうかよろしくお願い致します。。
194 :
193:2007/07/24(火) 18:39:42
申し訳ありませーーん!!自己解決しました!!
なんと…、プロジェクト作成時にClassNameを入れてませんでした…(汗)
さすがテキストビューアでソースが書ける男だと笑ってやって下さい。。
195 :
187:2007/07/24(火) 22:44:06
>>190 見ると言ったので、いちお。
ぱっと見いいように見える。
SoftBankだけど810SHでは普通に動いたし。
とりあえず、コンストラクタで色々やらない方がいいんでないかな。
Canvas作る→setCurrent→画像読込→getGraphics()→メインループとか、
setCurrentした後には少し間を空けた方がいい。
あと思いつくのは、ループの間隔60msecが速すぎて処理できないとか。
ブロック描画を最初の一回だけにしたり、loop()を軽くしてみるのもイイかもね。
EZ Javaはやったことないから、機種・キャリア依存だったらなんとも。
こんなヘタレに指示を下さった
>>191さんと
>>192さんと
>>195さん
の的確なアドバイスのおかげで携帯でも動作可能になりました
でも動作途中フリーズする場合があるので改良していきたいと思います
本当にありがとうございました
解決しちゃったのね
コンストラクタでは最低限の初期化のみで初期処理は別に切り出す
初期処理時にメッセージなりプログレスバーを表示すると
待ってる人の待たされてる感がかなり軽減できるのでお勧め
ソース見てると整理する力はあるから焦らずにがんばれ
すいません、質問です。
無職になった記念に、外部ストレージに日記をつけるようなS!アプリを作ろうかと
思ったんだけど、MEXAエミュレータでStorageConnectionを使うとSecurityException
が出ます。
これはもうなんらかの間抜けな設定ミスだろうと思うんですが、エミュレータの
アプリ毎のパーミッション設定「WriteData」を変えようとしても「*許可しない」
しか選択できず困ってます。
ストレージの空サイズはインストール時のデフォルト(内部8000KB、外部16000KB)で、
jadファイルにはMIDlet-Permissions:com.j-phone.io.Connector.StorageConnection.write
を書いてます。
他に見落とし易い所が有ったら教えてください。
なにはともあれ、MIDxlet-API: JSCL-1.2.2
StorageConnectionはどうか忘れたけど、怪しい機能を使うときは
MEXAエミュ端末設定のオプション全部入れとこう。
201 :
198:2007/07/26(木) 11:45:48
>>200 "JSCL-1.2.2"と"JSCL-1.4.2"ついでに"MEXA"も試しましたが、だめでした。
他の要素も試してみます
パーミッションにj_phone.io.Connector.StorageConnection.readが
入っていないのが原因じゃない?
203 :
198:2007/07/26(木) 14:48:20
198では省略しましたが、readも入れてありました。
で、昼まで寝たら、恥ずかしい原因判明。
たぶんUntrustでインストールしているのが悪いのかと。
資料を読むと、このせいでSecurityExceptionが出るようなこと
は書いてあるんですが、なんか変な思い込みが有ってエミュレータ
ではいらないのかと思ってました。
すいません。
でも証明書や署名って、取得の窓口すらわからんです。
最初にコンテンツアグリゲータに作者登録してから始めれば
良かったんでしょうか
もう一回寝よう。無職だし。
204 :
198:2007/07/26(木) 14:59:10
寝る前にググったら、なんでだかnokiaのサイトに
それっぽい資料が有りましたので、いろいろ調べてみます。
ありがとうございました。
実機?MEXAエミュレータの話じゃないの?
エミュならオプションのセキュリティ設定するだけでTrustedにできるけど。
MEXAエミュでStorageConnectionやったことがあるから普通にできるはず。
実機だと、色々登録が必要。
206 :
デフォルトの名無しさん:2007/07/27(金) 01:08:22
質問させて下さい。
S!アプリでパズルアプリを作っています。
完成したので703SH,905SH,912SHで実機テストをしてみました。
実行結果を見ると圧倒的に703shの方が動作が速いのです。
動作速度は「703SH>>
>>905SH>912SH」の順番でした。
ttp://www.moreread.net/mario/Any/appli/s_bench/list.php 上記サイトのベンチマークをみると実行速度の順番は
「912SH>905SH>703SH」になっています。
原因を調べてみたのですが、オフスクリーンに書き込みを
行う時に912SH,905SHは時間がかかるようなのです。
912SH,905SH,703SHの端末仕様書には目を通したのですが
原因がわかりませんでした。
912SH,905SHでオフスクリーンを使うと実行速度が遅くなる
などの端末仕様などがあるのでしょうか?
または同じ症状になった人はいますか?
経験的に、描画は新しい機種が古い機種より速いとは一概に言えない。
これで何に時間かかってるか細かく測ってみるといいよ。
Calendar start = Calendar.getInstance();
//時間を測る処理
Calendar end = Calendar.getInstance();
long time = end.getTime().getTime() - start.getTime().getTime();
208 :
198:2007/07/27(金) 13:38:55
>>205 はい、MEXAエミュレータでの話です。
Trusted(3rd Party Domain)でインストール、を選択すると
コンソールに「Attempted to update MIDlet as other protection domain」
液晶画面には「910 Authorization failu」
となっていたんですが、一度アンインストールしたら出なくなりました。
お世話様でした
>>207 システムの時間は充てにならんからなぁ。特にjava MEベンダのCalendarは。
プロファイラなんかでボトルネックみるとかマトリクス書きだすとかの方が良いんだけど実機じゃできないかー。
210 :
207:2007/07/28(土) 09:32:13
>>209 そうなの?
Calenderよく使うけど、今まで問題を感じたことなかった。
暇があれば、正確かどうか測ってみます。
俺もそうだが、どうしても体が
Calender と打ってしまうな(´・ω・`)
Calendarは可憐だ、、、
ダウンロードしようとすると無効なデータですって言われる…なぜだ
>>213 理由はいっぱい考えられる。
もう少し詳しく状況を書くがよい。
215 :
デフォルトの名無しさん:2007/08/02(木) 04:52:32
御免、解決しました
ジャーファイルを手動で作ってたのがまずかったみたいです
ジャーだめだな
なんというオヤジギャグ…
JARファイルは手動で作ってはだめじゃー
MANIFESTちゃんと書けば、手動でJAR作ってもいけるけどね。
まあ、SDKにやってもらった方が便利かつ安全なのは言うまでもない。
JARもJADもAntに作らせてるわ。
JADは生成用のAntタスク作った。
お前がどうやってるかなんぞ訊いてないんじゃー
なんで無意味にひがむんだ?
MANIFESTをちょっといじればいいだけなんだからantタスクなり、スクリプトなり書けば良いだけの話じゃないか。
もう解決してるから
そりゃ20時間もあれば解決するわな。
というか
>>215の時点で解決してると言ってるのに
>>220で俺はこうしてると言われてもんなことどうでもいいって話
話を膨らませてはだめなの?じゃー
最近MEXAでSアプリに初めて触れたものですが、質問があります。
とりあえず何も考えずにMEXA SDKをダウンロードしてHelloWorldから始めましたが、
調べてみたら他にもJSCLとかMIDPとかいろいろあり、僕個人の見解では
「MEXAは新しい。対応端末(新しい機種)じゃないとダメ。
古いのでも動かす(シンプルなゲームとか)は最初からJSCLで作る」
ていうイメージになったのですが、あってますでしょうか?
幅広い機種で動かすには最初からJSCLとやらで作った方が良かったのでしょうか?
あと、よくゲームダウンロードするときに、100kアプリ、256kアプリとかありますが、
これって最終的にできたjarファイルのサイズで決まるものなんでしょうか?
最初から「256kアプリ用の何かを使って開発しなければいけない」とか
そういうのはあるのでしょうか?
長文な上に超初心者で申し訳ありませんが、何を使ってどう開発したら良いか
個人では行き詰ってしまいましたので、質問させて頂きます。よろしくお願いします。
>>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)を使っておけば良いかと。
>227
>とりあえず何も考えずにMEXA SDKをダウンロードしてHelloWorldから始めましたが、
あわてるな、先にやることがあるぞ。
まずSアプリ公式技術サイト
ttp://developers.softbankmobile.co.jp/dp/ で開発に必要な資料を手に入れて。
左側のSアプリ→技術資料→
・基礎編
・MIDP 2.0対応端末編 (MIDP 1.0対応端末編は3Gより前の端末用)
この2つは必ず全部読むこと。
そもそもSアプリがどういうモノなのか、それが大体頭に入ってないと
今みたいに何やるにしてもどうしていいか困るわけで。
>>229 まずやってみて実感を掴むってのも大事だと思う。
技術資料は当然必要だけどさ。
231 :
227:2007/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 準拠のプログラムにできる、
という解釈で良いでしょうか?
JSCL-1.2.2 準拠のプログラムにしたいなら
MIDxlet-API: JSCL-1.2.2
まず実感を掴むのは大切かもしれないけど、
それにしても最低限先に読んで理解すべきことはあるよ。
>まず上記のドキュメントを読んでみますが、読む前にもう1つだけ・・・
>「JSCL-1.2.2を指定」とはどこで指定すれば良いのでしょう?
こういった、ズバリ答えが書いてあることは質問するのも答えるのも馬鹿らしい。
まぁ作る気満々の初心者だし
はやる気持ちは抑えられないってのもわかる
わかるが、残念ながら地味にいくしかない。
地味にいくも派手にいくも、本人の性格次第でしょ。
S!アプリ作るときはまず最初に「MIDxlet-API: JSCL-1.2.2」入れるようにしてる、
MEXA SDKは入れないとコンソールに日本語表示できないし、
MIDxlet-APIはよく書くの忘れてしまうので。
237 :
デフォルトの名無しさん:2007/08/08(水) 17:58:03
snesでファイアーエンブレム聖戦の系譜をやっていたところ、
攻略サイトの情報とボスのレベルが違ってて(10高いなど)
そのせいで普通なら使える戦法が出来ません、
(サイレスを使えば楽なところで、敵のレベルが高すぎて使えないなど)
これはこのデータ諦めたほうがいいのかなあ?
俺なんか違うデータ持ってきてしまったのでしょうか?
板違い
聖戦などぬるいトラキアやれ!
240 :
デフォルトの名無しさん:2007/08/09(木) 17:27:31
ファイルを読み込みたいんですけど、1メガあるのは読み込めないですよね…
Sアプリに限って言えば、データフォルダに1MBのファイルがあって
メモリが1MB以上あまっていれば読めるんじゃねぇ?
ちょいと質問したい
暇つぶしかつ勉強にS!アプリ作ってみたいプログラム初心者なんだが、
環境としてJ2ME、Wireless Toolkit、MEXA SDK、MEXA for Eclipse、あと手持ちの実機用意して
実機でHelloWorld作ってみたんだが、Wireless Toolkitのエミュ、MEXAのエミュ、実機で見た目が全然違くて困ってる
画面サイズはいいとして、ソフトキーの配置は何とかならんもんなの?
あと、EclipseまたはMEXAのエミュからはWireless Toolkitのエミュのオプションのように
JADファイルって手軽にイジったりすることはできないの?
あ、一応実機は911T
> ソフトキー
気にするほどだっけか……。
> JAD ファイル
やめておいた方がいい。
>Wireless Toolkitのエミュ、MEXAのエミュ、実機で見た目が全然違くて困ってる
画面サイズがいくつから知らんが、一般的だと240x260なので
jadに「MIDxlet-ScreenSize: 240,260」を書く。
>ソフトキーの配置は何とかならんもんなの?
おそらく、addCommandとremoveCommandの使い方が悪い。
>JADファイルって手軽にイジったりすることはできないの?
すまんが、バッチファイルで全部やっているのでわからん。
245 :
242:2007/08/10(金) 01:10:12
>>243、244
トンクス
画面サイズは
>>244の言う通りMIDxlet-ScreenSizeで適当にやったらしっくりきたので解決したつもり
ソフトキーは右に『設定』左に『終了』置いたつもりが、
逆になってたり片方に『メニュー』として固められたりして気持ち悪かったんよ
気にするなといわれればそれまでだが・・・
> > JAD ファイル
> やめておいた方がいい。
どゆこと?JADはいちいちテキストエディタで編集せなかんの
つか、一般的にどの開発環境で作るのがベタなん?Eclipseは邪道?
わからないこと全部聴くつもりか?
優先度があるだろう
>>242 暇つぶしで勉強したいなら、人に聞くのはどうかと思うけど…
ゲームでチートしてるようなモンじゃん
開発環境なんて自分の作りやすいので良いだろうに邪道とか意味わかんね
人に聞く前に自分で調べたり検証したらどうなんだ
人に聞く方がよっぽど邪道
誰かが導入までのまとめサイト作ればいいんだよ
俺はやらんがな
わざわざ作らなくても説明好きな人が解説してるサイトはいくつもある
そういったサイトを複数個見て自分なりに取捨選択していけばいいだけ
>245
JAD ファイルに関して言えば、WTK 使った方が
微妙なミスとか文字コードに悩まなくて済むから。
>>242 ソフトキー
MIDP 2.0の説明(javadoc)をちゃんと読めばわかるが、
ある程度はコントロールできるけど最後の最後は実装依存だよ
完全にコントロールしたければアプリの描画エリアに自分で描け
現在、S!アプリ開発環境はMEXA SDK+Eclipseプラグインが一番いいと思う。
WTKはMIDxlet-APIとか勝手に入れてくれるから、初心者向きかもしれんけど、
慣れればJADもEclipseプラグインで編集した方が便利じゃね。
今日からSアプリ開発環境を何とか揃えてテストし始めたのですが、
実行すると、
SOFTBANK_MEXA_EMULATOR11
が無いって言われてしまいます・・・。
インストールしたのはSOFTBANK_MEXA_EMULATOR12だったので、
12を11に書き直せば実行できましたが気持ち悪いです・・・。
これは何かインストールや設定が間違ったりしているのでしょうか。
お手数ですがご回答いただけますと幸いです・・・。
256 :
255:2007/08/11(土) 02:39:38
ああ、環境はEclipseを使っています
>現在、S!アプリ開発環境はMEXA SDK+Eclipseプラグインが一番いいと思う。
「一番いい」とかそんなもん無いよ
個人の技量&価値観次第
>実行すると、 SOFTBANK_MEXA_EMULATOR11 が無いって言われてしまいます・・・。
>ああ、環境はEclipseを使っています
だからほれ見ろこんな人もいる
WTK22一つならこんなつまずきは起こらない
>>255 >12を11に書き直せば
何を書き直したの?情報量が少なくてよく分からん。
俺は10(FeliCa用)と11を2つとも同じEclipseで使ってるけど、
特に問題起きたことない。
>>257 >個人の技量&価値観次第
当たり前。WTKのが初心者向きかもって書いてるっしょ。
「一番いい」は何らかの評価基準の上にある。
Eclipseのプラグインがディレクトリ名を10もしくは11って決め打ちにしてるんだろ
で、MEXAの最新版はバージョンが上がっててディレクトリ名が12になってるんじゃないか
いや、中身が同じなら適当なフォルダ名でも動く。
>>259が正解
フォルダの名前を変えるか
設定のとこの実行パスを指定でフォルダ指定しなきゃいけない
ああ、そういうことか。
いつもパス指定してたから、デフォルト実行パスがあるの忘れてた。
>>255 つまり、プロジェクトを作成するときか、
プロジェクトのプロパティー→MEXA Emulator実行パスに、
"SOFTBANK_MEXA_EMULATOR12"のフォルダを指定すればそのまま使える。
263 :
255:2007/08/12(日) 02:13:40
皆さんありがとうございました!
MEXA Emulator設定で実行パスを設定したら無事に起動することが出来ました。
プラグインで最新になっているかと思ったのですが、そんな落とし穴があったのですね・・・。
まだまだ初心者ですが、勉強していきたいと思います!
>>258さん
書き直す・・・すみません、情報が不足していました。
フォルダ名を直接変更したら、ということでしょうか。
11が無いというんだから、11にしたらどうなるか?と思ったら起動したのですが、
それだとなんだか気持ち悪いな・・・というところでした。
誰か
>>109に答えてくれまいか
ググってここにきたが、返信は書かれてなくてショボン
>>265 そっか、Dojaからの移植はメンドいな
なんとかターミナルIDとりたいよね。
iアプリ→S!アプリ移植を半年ほどやってて、
最近はラッパークラスかますだけで大概移植できるようにしたけど、
Phone.getPropertyはいまだ手つかず。
268 :
デフォルトの名無しさん:2007/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:2007/08/14(火) 02:11:46
とりあえずjadファイルをコピペすれ
sageで
>>268 まずはjadに、「MIDxlet-API: JSCL-1.2.2」 追加。
あとはMEXA Emulatorのプロジェクト→端末設定→MEXAオプションの
必要なものにチェックが入ってないとかかなあ。
271 :
268:2007/08/15(水) 01:48:12
>>269 >>270 遅くなってすんません!
jadに「MIDxlet-API: MEXA」を追加したら動きました!
環境の問題だとばっかり思ってたんだけど、jadの方だったとは、、
一歩前進しました。
ありがとうございました!
,.ィ , - 、._ 、
. ,イ/ l/  ̄ ̄`ヽ!__
ト/ |' { `ヽ. ,ヘ
N│ ヽ. ` ヽ /ヽ / ∨
N.ヽ.ヽ、 , } l\/ `′
. ヽヽ.\ ,.ィイハ | _| 俺は今とんでもない事に
ヾニー __ _ -=_彡ソノ u_\ヽ、 | \ 気付いた ソフトバンク
.  ゙̄r=<‐モミ、ニr;==ェ;ュ<_ゞ-=7´ヽ > 並べ替えると ,馬糞と糞
. l  ̄リーh ` ー‐‐' l‐''´冫)'./ ∠__ ソフトバンクモバイルを並べ替えると,
゙iー- イ'__ ヽ、..___ノ トr‐' / 踏ん張ると糞も倍
l `___,.、 u ./│ /_これは偶然の一致か?
. ヽ. }z‐r--| / ト, | ,、 何者かの陰謀では ないのか?
>、`ー-- ' ./ / |ヽ l/ ヽ
Sアプリの jadファイルに記述する MIDlet-Data-Sizeについて質問です。
データサイズを jadファイルに記述しない場合のデメリットってなんでしょうか?
データサイズが記述されている場合は、バージョンアップ時などに
RecordStoreの内容が引き継がれる(前バージョン時のRecordStoreデータが
保障されると解釈してよい?)と、開発ガイドにあるので、データサイズが
jadファイルに記述されていない場合は、その保証が無いのでしょうか?
イメージ的には端末の不揮発性メモリに
(1) jadファイルにデータサイズの記述あり
[アプリデータ……]
[RecordStoreデータ] ← アプリデータとは別の領域に確保される
↓
バージョンアップすると
[アプリデータ…………]
[RecordStoreデータ] ← アプリデータとは別の領域に確保されるので安全&拡張可能
(2) jadファイルにデータサイズの記述なし
[アプリデータ……][RecordStoreデータ] ←連続している?
↓
バージョンアップすると
[アプリデータ…………][#@%toreデータ] ←連続していたのでデータ壊れて使用できなくなる
という感じなんでしょうか?
保存するデータのサイズがけっこう変動するアプリを作成しているので、
上限をなるべく指定したくないのですが、その考え自体邪道ですか?
やっぱり、考えられる一番大きいサイズを jadファイルに指定するのがセオリー
なんでしょうか。
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:2007/08/17(金) 10:06:27
>>274 回答どうもです。
エミュや自分の持っている904SHでは、MIDlet-Data-Sizeを jadファイルに
記述しなくても普通に RecordStoreが使えてたので、必要性に疑問を
感じてしまったしだいです。
保存するデータサイズの最大値を調べて、それに余裕を持たせて
記述したいと思います。
それから MIDP2.0なら MIDlet-Data-Sizeは、増やすのであれば
バージョンアップの時にデータを引き継いでくれるみたいですよ。
SoftBank用のJAVAアプリを作成しているのですが、
描画方向を変更できるメソッドは、存在するのでしょうか?
ワイド画面機種なら、
jadファイルに「MIDxlet-WideScreen: Y」と記述すれば、
横方向(横画面)で描画してくれますが、
これだと、アプリを起動してから、
描画方向を変える事はできません。
アプリを起動してから、描画方向をいつでも変更できる、
何かいい方法はないのでしょうか?
仮想画面に描いといて、
実画面に出すときに90度回転
エミュでHTTP通信させたいのですが、プロキシ認証でエラーがでます
java.io.IOException: Error initializing HTTP tunnel connection:
HTTP/1.1 407 Proxy Authentication Required
DojaエミュだとIDとパスワード聞いてきたんですが、MIDPエミュではどうすればいいのでしょうか
携帯アプリ以前の問題でスミマセン
279 :
276:2007/08/18(土) 01:19:51
>>277 なるほど!その手がありましたね。
レスありがとうございます。
ものすごく基本的なことなのかもしれないけど質問
WTKでは問題なく表示されてた画像がMEXAエミュでは表示されないんだが何が問題なんだろう?
WTKでコンパイルしたものをWTKエミュで表示・・・○
それを実機で表示・・・○
WTKでコンパイルしたものをパッケージ化してMEXAエミュで表示・・・×
MEXA SDK+EclipseでコンパイルしたものをMEXAエミュで表示・・・×
それを実機で表示・・・×
試した画像はpngとgifでつ
パッケージ化というのがどういう操作かわからないから間違ってるかもしれないけど
それぞれできたjarの中の画像ファイルの位置を確かめてみたら?
WTKでコンパイルしたものとは後二者は違ってる可能性が大きいよ
で画像を参照するパスが間違ってて読めてない
あとは画像を読み込んでいるところの例外を捨てずに
ちゃんとSystem.outに出力しておけば
少なくともエミュ上でなら問題の解決の助けになるよ
282 :
280:2007/08/19(日) 14:31:03
>>281 おお即レスどうも
パッケージ化ってのはWTKの
プロジェクト→パッケージ→パッケージを作成
でJARファイルとJADファイルを作成する操作のことです
確かに例外をそのまま捨ててましたが、今手元にソースがないのでどうにもなりません
明日また確認してみます
283 :
281:2007/08/19(日) 14:52:33
>>282 > WTKでコンパイルしたものをWTKエミュで表示・・・○
> それを実機で表示・・・○
このときjarってできてるよね。jadもさ。
じゃないと実機で動かないだろうから。
それを
> WTKでコンパイルしたものをパッケージ化してMEXAエミュで表示・・・×
これと比較すれば一発でわかるような気がしている。
284 :
デフォルトの名無しさん:2007/08/20(月) 18:18:47
903Tでダウンロードエラーが起きます。
どうもJADのMIDlet-Nameが長くて弾かれているようなんですが、
Vodafone903TってJADは全角も半角カナも全て3Byteなんでしょうか?
もしくは、技術資料には32Byteと書いてるけど、本当はMIDlet-Nameの最大は12Byte?
知ってる人いたら情報下さい。
ちなみに3G端末他30機種程は正常ダウンロードできます。
UTF-8の仕様
たいていの日本語文字は3バイト
286 :
デフォルトの名無しさん:2007/08/20(月) 23:25:49
3か4だな
そうなんですか。
ありがとうございます。
sアプリで、スプライトを使うメリットは軽い(早い)こと?
ガリガリ動かすアクションとかシューティングとかで無かったら、
image と graphics.util で作るのもアリですかね?
なんかイマイチスプライトのメリットがわからん・・・
昔のP4くらいで使われていたものだから
今の機種でスプライトを使うメリットはないよ
どなたかわかる方助けてください。
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:2007/08/23(木) 14:30:14
自己レスですが、Jar://〜が使えるかどうかは端末によりけりなんですね。
ということは、大量の画像ファイルをネットからダウンロードして
アプリ中に差し替えるような仕様だと、ファイルを1つずつダウンロードして
ちまちまRecodeStoreに保存する方法しか無いんでしょうか。
DojaならJarInflater()で一発なのですが・・・
Dojaってアプリでjar圧縮できるんだ?いいね
同じ事をやりたいんなら自前でアーカイバを作ればよい
初心者丸出しなのですが、画像の読み込みについての質問です。
少しずつテストして行って画像を表示させるテストで行き詰まりました。
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:2007/08/23(木) 16:35:30
すみません、解決しました・・・
MexaだとGIFは使えないのですね(汗)
ただ、配置場所に関してはやはりtmpclassesになっています。
これはeclipseの設定だと思うので探してはいるのですが・・・。
>>294 srcフォルダと同じ階層にresフォルダ作ってそこにリソースを入れる
296 :
293:2007/08/23(木) 19:47:21
>>295 それはやったことが・・・と思ったら、
ソースとしてフォルダを作ってなかったようです(汗)
新規>ソースフォルダでやったところに入れたら自動的にtmpclassesにも行きました。
ありがとうございます!
297 :
288:2007/08/23(木) 22:32:36
>>289 返事遅くなったけど、ありがとう!
これでどっちで作ったら良いか迷いを断ち切れた!
298 :
278:2007/08/26(日) 22:17:30
299 :
278:2007/08/26(日) 22:27:53
ちなみにWTKでもMEXAエミュでもです
リソースフォルダに格納した
ファイルのサイズを簡単に求める方法はないでしょうか?
外部に保存されているファイルなら、
StorageConnectionの「getLength()」を使えば、
簡単にファイルサイズを求められるのですが・・・。
実際にリソースデータを読込めば、
当然そのリソースのサイズは判明しますが、
「リソースデータを読込む前」に、
リソースデータのサイズを取得する方法があれば、
是非ご教授お願い致します。
InputStream#availableは?
一応読み込む前ではある。
302 :
300:2007/08/27(月) 02:14:40
>>301 おお!リソースのサイズが取得できました!
レスありがとうございます。
303 :
デフォルトの名無しさん:2007/08/29(水) 00:39:06
GraphicsUtilのgetPixelを使ったら、SecurityExceptionになりました。JADファイルになにか設定がいるのでしょうか。
電源ボタン押下によりアプリを終了する時、
自動的にデータ(※約10KB)をメモリカードに保存するようにしたいのですが、
destroyApp()内で外部メモリへデータを書き込んでいると、
エラーが発生して、アプリが落ちてしまいます。
destroyApp()内で重い処理をしている為、
エラーが発生していると思われますが、
どうにかして、destroyApp()がコールされるタイミングで、
外部メモリへデータを保存する事はできないのでしょうか?
>>303 GraphicsUtilはMEXA Unit2に該当するクラスだから
東芝とシャープ以外の端末では使えない。
307 :
306:2007/08/29(水) 10:06:18
あ、今回の場合違うな。
Canvasクラスのpaintの引数で来るGraphicsのインスタンスや
GameCanvasのgetGraphicsメソッドで取得するグラフィクスを対象とする
getPixelは使用できないというのが正しい。
destroyAppでストレージいじるの?
それは知らんが、MIDPのdocにはdestroyAppは速やかに終了しろと書いてあったが、
ストレージいじるのは時間かかり過ぎだな。
実装側で一定時間すぎたら強制終了するからストレージぶっ壊す可能性もあるからやるなとベンダーのdocに書いてるかもね。
電源ボタン押下によるアプリを終了はユーザーの責任だから
無視してかまわんだろ
携帯の電源ボタン終了はちゃんとした終了プロセス実行しないから強制終了だしね。
スマートフォンやPDAはまた違うが。
312 :
304:2007/08/29(水) 23:11:38
>>305、
>>308、
>>309、
>>310、
>>311 みなさんレスありがとうございます。
ベンダーのdoc等を見たら、
確かに一定時間(5秒ぐらい)過ぎたら、
アプリが強制終了すると書いてありました。
destroyAppで重い処理を行うのはやめます。
313 :
デフォルトの名無しさん:2007/08/30(木) 18:34:26
J2ME Wireless Toolkit と Fote for Java 3.0, Community Edition を使って携帯ゲームを
作ろうと思ってるんですが Fote for Java 3.0, Community Edition ってどこでダウンロード
出来るんですか?Sunのページを探しても見つからなくて…
分かる人居れば教えてください
×Fote
○Forte
外部メモリにデータを書き込む時、
sc = (StorageConnection)Connector.open("保存データファイルのフルパス名");
os = (OutputStream)sc.openOutputStream();
os.write( data, index, length);
と記述すると思いますが、
何故か「os.write( data, index, length);」の
第二引数(index)の値を変えても、
書き込むデータの開始位置が変わらない・・・。
indexは、data[]の何番目の配列から書き込むか、
という指定をするためにあるものですよね?
動作環境は、SoftBankのMEXA エミュレータですが、
MEXA エミュレータのバグでしょうか?それとも私のミスでしょうか?
>>313 なんでForte?
もう公開してないんじゃないの多分
3GC用にゲームを作っているのですが、
903T、902T、803Tで確認したところアプリが途中で止まってしまいます。
動かしているimageなどが止まってしまうので、
ソースが全く走っていないことになると思うのですが、
なにかしらキーを押すと何事も無く動きだします。
気になる点はimage作成や、image、soundのロード、そしてdisposeなどを
繰り返していくと残りメモリがどんどん減っていくことです。
頻繁にgcしているのですが、メモリがどんどん圧迫されている感じです。
ある一定の値でメモリ使用は増えなくなります。
メモリ不足で端末の挙動が不安定になっているのかな?と思いますが
なにか心当たりありませんでしょうか?
>>317 基本的にgcはjavaが勝手にやってくれるから自分でやんなくてもいい。
メモリが減ってくのはimageとかに使ってるからじゃないの?
当たり前だけど、gcしても使ってる分のメモリは解放されないよ。
System.gc();
Runtime.getRuntime().freeMemory();
で残りメモリ量を見ながら、無限にメモリ使っていくプログラムを組んで、
その機種が残りメモリいくつでメモリエラー出るか確認してみるといいのでは。
>>318 imageをロードしても、disposeをしてその後gcが成功すれば
そのimage分のメモリは解放されるはずですよね?
(gcがちゃんと行われるかどうかは微妙というの聞いたことがありますが・・・)
他の端末では、ロード、disposeで使用した分のメモリは元に戻るのですが、
上記端末では元に戻らずロードの度に累積していくので、
端末によってgcがされにくいなどあるのかなと思いました。
無限にメモリ使っていくプログラムで確認するのはいいかもしれません。
やってみます。
320 :
318:2007/09/02(日) 13:03:14
東芝機種とかでgcがちゃんと行われるか微妙って話は聞いたことあるけど、
自分でgc入れたらメモリエラー解決したって話も聞いたことないんだよね。
そもそもgc行われるか微妙って話自体が結構眉唾だし。
いずれにせよ確証があるわけではないけどね。
俺も昔メモリエラー出たとき、色んなとこにgc入れてみたけど、
その時の結論は自分でgcやっても意味無い。だった。
903T、902T、803Tは使ったことあるけど、その時は特に問題なかったよ。
imageとsoundは常に全部保持してたからdisposeは使ってなかったけど。
あと、Image.dispose()ってDoJaじゃん。disposeって具体的に何?
321 :
317:2007/09/02(日) 13:53:45
>>320 そうですか・・・。
今までの経験上、javaのgcはホントにメモリがなくなったときはされるけど、
それ以外ではされたりされなかったりタイミングがあやふや、
という感覚だったので一定のタイミングで自分でgcを行っていました。
今回はさらにdisposeの直後に呼んだけど無駄だったという状況でした。
>あと、Image.dispose()ってDoJaじゃん。disposeって具体的に何?
あ、書き方が悪かったですね。具体的にはnull代入です。
image imageA;
〜〜
imageA = null; //使用した後nullでdispose
ただ、試しにimageA.dispose();をしたらエラーが起きず使用できたのですが、
Dojaじゃないのにどうしてコンパイル通るのか謎でした・・・。
System.gc()は必ずしもヒープの解放をする訳ではないです。
Javaヒープの空き容量を見ながら、GCをおこなうかを判断
することは、JavaVMの実装によりあります。
T芝のJavaVMの実装は分からないけど、VMの内部に参照が
残っていた場合には、参照が切れずにGCの回収対象になら
無い可能性もあり得る。。。が、それはVMの不具合かな。
まぁ、System.gc()で必ず回収されると思わない方が良い。
System.gc()よりは、"new byte[でっかいサイズ]" の方が
確実にGCを発生させられますよ。
普通に考えてメモリの断片化が起きない環境なんて無いのでは?
>>324 ちょっと言葉が足りませんでした
メモリの断片化が起きたときに
System.gc()を呼んでも
デフラグをしてくれないのが問題かも?
ということです
Javaのgcはコンパクションが含まれるのが仕様だと思い込んでたんだが、実際はVMの実装依存なのか?
長期的に見てメモリの断片化が不利要素になる用途向けのVM実装なら
メモリコンパクションやってるけどそれらはサーバー向けVMか民生外のVMのお話か。
CLDC HotSpotどころかJITすら積んでないインタプリタで動いてる既存のKVMの雲のまた上の存在が持つ機能。
話の引き合いに出すのがそもそも間違い。
SoftBankのTipsにはJSCL-1.0.Xの端末はメモリのコンパクションを行わないと
書かれているので、現在の端末では普通にメモリのコンパクションを行っていると思われr
>328
>現在の端末では普通にメモリのコンパクションを行っていると思われr
「SoftBankのTipsにはJSCL-1.0.Xの端末はメモリのコンパクションを行わないと
書かれている」からといって、何の関係もない
ドコモだったら901i以降は全機種コンパクション搭載なんだがな。
331 :
317:2007/09/04(火) 02:53:52
アプリが止まるバグはメモリが解放されていないのが原因ではないか?
と言い出した者ですが、原因は別にありました。
わけあって
Tread.sleep(1);
を定期的に行っていたのですが、903T、902T、803T端末では
Tread.sleep(10);未満を行うとスレッドにロックがかかると公式資料にありました。
超初歩的で馬鹿みたいな原因でお恥ずかしい限りです。
様々な意見ありがとうございました。
ただ、アプリが止まるバグは解消されましたが、
相変わらずメモリはガンガン減っていくわけで今も原因を解明中です。
ロード&解放を繰り返さず、最初に大きくメモリをとったり、
System.gc()を頻繁に繰り返しても駄目と聞いたので減らしたりしましたが、
特に効果はありませんでした。
332 :
322:2007/09/04(火) 06:58:18
>>322で書いたのは、コンパクションも含めたGCの話。
いまどきの携帯向けのJavaVMはコンパクションも普通に実装されてる。
所詮は実装レベルの話であってVMの仕様レベルの話ではない。
仕様で保証されなければ使えないのと同じこと。
ただでさえ、本当に互換性テスト通ってんのか?ってな実装だらけなのに。
あとDojaなんてjavaじゃない。
Dojaは確かにぶっちぎりで糞だが、そもそも携帯JavaがJavaの紛い物。
Javaが不完全で未熟な言語であることは、アスペクト指向やリフレクションという
裏口を使うフレームワークが百花繚乱なことからも明らかだが、携帯Javaは
容量面でも機能面でもその裏口封じてるんだからな。
>アスペクト指向やリフレクションという
裏口を使うフレームワーク
はjavaが不完全なんじゃなくてたまたまそのパラダイムを実現するのにjavaという言語仕様を使ってるだけ。
フレームワークレベルの話と言語仕様レベルの話をごっちゃにするな。
フレームワークの話をするならjavaのMVCは確かに中途半端だが。
む、むつかしい・・・
オレみたいに、javaの勉強がてら
携帯アプリを作ってみよー!
てなノリはダメってことか?
今までアセンブラ、basic、Cだったから
オブジェクト指向はこいつが初なんだが・・・
言語習得が目的なら
「自分はケータイJavaを学ぶのではなく
Javaを通してあくまでオブジェクト指向を学ぶんだ」
ということを意識していればok
ケータイJavaに振り回されないようにな
オブジェクト指向って考え方だから、Cでもなんでも実装方法しだいで
それっぽくならない?
Cの上手い人のソース見ると、だいたいオブジェクト指向に通じる
設計思想で作られてる気がする。
キー入力を検知するのに、keyPressed を使わずに、
ループで JSCLのDeviceControl.getDeviceState() を使い、
0→1の変化点を検知したら処理を行うように作ってみましたが、
早い速度でキー連打するとかなり取りこぼしてしまいました。
試しに無限ループで 単純に getDeviceState() の値を表示するようにして
キーをぽんぽん押してみたら、ON → OFF が早すぎると
getDeviceState() の値が0のまんまでした。
素直にキー入力の処理は keyPressed たちを使っておけってことでしょうか?
それとも、エミュレータ上では遅いとか・・・
(まだ実機上でテストできない環境なので、検証できません)
>>152-154 を見てどっちを使おうか迷っていたし、
組み込み系に慣れてるからポート入力→変化点検出→処理
みたいな流れで作りたかったんですが・・・
keyPressedでフラグ立てるなりステートいじるなりしてメインループないでそれの値を監視する。
341 :
339:2007/09/06(木) 21:25:35
>>340 一応、そちらの方向で検討しておりますが、
>>153 や公式で書かれているとおり、keyReleased() がこなかったとき、
離しているのに押されっぱなし(フラグたちっぱなし)、という状態が懸念されます。
実用上、特に問題無い程度の発生頻度なのでしょうか・・・
やはり普通の方は JSCL (getDeviceState()) は、あまり用いられないのですか?
別件ですがエミュ上でテストしたところ、同じキャラを表示するテストで
SpriteCanvas の sprite より drawRegion の方が早かったのですが・・・
keyPressed が来たらフラグ立てて、 getDeviceState で取ってきたやつに重ねればいいんでない
343 :
339:2007/09/06(木) 23:22:27
>>342 なるほど、ありがとうございます。
そちらの方向で検討してみます。
まぁ趣味でやるだけですし、そこまで神経質に
ならなくても良いのかな・・・>キーこぼし
S!アプリでアレンジメール(デコメ)を送ろうと思ったのですが、
アプリ上で実現するためにはどうすればよいでしょうか?
アレンジメールはHTMLメールとして表現されているようなのですが、
MailDataではHTMLメールには対応していないようです。
HTMLをそのままbodyに書いてみましたが、そのまま文字として表示されました。
仕方ないので自分でHTMLをsetAttachedDataでTYPE_HTMLとして送信しても
結果は同じくただの添付ファイル扱いでした。クリックしたらブラウザが起動します。
困ってしまいました。どなたかアドバイスお願いします。
すいません、お聞きしたいのですが
911SHなどで画面を回転させた時に通知を受けるか、画面の回転の状態を知るAPIはありますでしょうか?
API DOCなどみても探しきれなくて・・・。
よろしくお願いします。
すいません、お聞きしたいのですが
911SHなどで画面を回転させた時に通知を受けるか、画面の回転の状態を知るAPIはありますでしょうか?
API DOCなどみても探しきれなくて・・・。
よろしくお願いします。
>>344 メールヘッダからいじれんとダメだから、
間にCGI挟むしかないんじゃない?
以前PHPで作ったけど、全キャリ対応のデコメは氏ねるよ
famiJSCLをコンパイルしようとしているんですが、
致命的エラー: クラスパスまたはブートクラスパスでパッケージ java.lang を検出でき
ません。
とエラーが出てうまくコンパイルできません。
かなりの初心者なのでどなたか教えていただけないでしょうか。お願いします。
>>346 俺の手元のAPI DOCにはあるみたいだけど、回転ってなに?
>>348 そのエラーと質問の仕方をみれば、あなたには何を言っても無駄。
Softbankエミュ総合スレのテンプレ読んできな
>>349 偉そうに発言してるが、何も答えてない
バカの典型ハッケーン
>>350 偉そうに発言してるが、何も答えてない
バカの典型ハッケーン
> Softbankエミュ総合スレのテンプレ読んできな
実はこれ相当なヒントw
354 :
デフォルトの名無しさん:2007/09/08(土) 02:32:45
晒しage
355 :
345:2007/09/08(土) 09:33:57
みなさん、ありがとうございます。エミュ総合にいってきます。
ほんとうにありがとうございました。
356 :
デフォルトの名無しさん:2007/09/09(日) 18:58:22
すみません。
>>349のSoftbankエミュ総合スレとはどこでしょうか?
最近S!アプリに取り掛かりはじめたんですが、公式とここ以外あまり情報が見つからなかったので。
>356
ググればでてくるじゃない。
直接最新がでなくてもたどれるでしょ。
358 :
356:2007/09/09(日) 22:00:56
auのオープンアプリを作ろうと思い、初めてJavaに取り掛かろうとしています。
そこで、プログラミング以前の問題なのですが、大抵のオープンアプリ作成講座で『J2ME Wireless Toolkit 2.2』を使えと書いてあります。
実際にSunのサイトに行ってみれば最新バージョンは2.5.1なわけですが、これはオープンアプリを作るうえで2.2の方が便利ということでしょうか?
2.2と記してあるところが一箇所だけなら気にしないんですが、複数サイトで書かれていたので……
記事が古いわけでもないみたいだし。
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.
だそうですよ
WTK2.2以降はMIDP2.1が基準だったはず。
MIDP2.1のベンダ実装ってまだ出てない。
>>360 英語苦手なんですが……要するに2.5は2.2とかの進化形ってことですかね
>>361 調べてみたんですが、MIDP2.1という規格が見つかりませんでした……
色々調べてみたところ、2.2はLinux対応してるけど2.5はしてないとか、
単に2.2のレベルで充分とか、そんなことみたいですね。
どちらでもよさそうなので、適当にどっちか突っ込んどきます。
>>362 MIDP 2.1で普通に出てくるんだが?
それで分からんならJSR 118 MR 2.1で検索してみろ。
というか分からんなら黙ってWTK2.2とパッチ入れとけ。
>>362 んぱかさんのサイトから WTK22ダウンロードできたはずですよ!
がんばってね
Sunのサイトでダウンできるし
ま、2.5入れておけばいいんじゃね?
そんでMIDP2.1の機能を使わなければいい。API見れば書いてあるし
2.1は2.0のバグフィックスも含まれるからそういう問題じゃないんだが。
>>363>>364>>365 どもありがとうございます
>>362に書いたように適当にどちらかダウンロードするつもりです
MIDP2.1は確かにありましたね
英語を斜め読みしてたら見逃したみたいです
すみません
聞いてきた本人がレスを何も理解してないんじゃなに話しても無駄だな。
ageてもいいですか?
誰か、MIDP又はMIDP2で、
zip解凍プログラムを作成した神はおらんかのう。
Gzip解凍プログラムならググれば見つかるけど、
zip解凍プログラムは全然見つからない・・・。
gzipは見つからんがzipなら見つけた。
どこかは忘れた。
372 :
370:2007/09/16(日) 12:31:57
>>371 レスありがとうございます。
良く考えたらJava2 SKDの方には、
「ZipInputStream」というzip解凍用クラスがあるので、
そのクラスのソースを探した方が早いかもしれませんね。
374 :
デフォルトの名無しさん:2007/09/16(日) 13:45:44
すまん、ちょいスレ違いだが該当スレが無いんで教えてくれ。
ソフトバンクの携帯で、横画面に回転後を意識したアプリを作りたいんだが
MEXAエミュレータ上で、横画面に回転後の状態を反映さすにはどうすりゃいいんだろか?
単に液晶サイズを変えただけじゃ意味ないし。
ヘルプも見たが、わからん・・・。
375 :
372:2007/09/16(日) 14:42:12
>>373 おーーー!!!
これぞまさしく探していたものです!
本当にありがとうございます。
M3G って登場してからしばらく経つけど、あんまり見かけないのは
やっぱり性能的に厳しいからなのかなあ
378 :
370:2007/09/23(日) 21:31:00
>>376 レスありがとうございます。
試してみましたが、これだとzipファイルが解凍できませんでした。
jarファイルとzipファイルは全く同じ圧縮形式だと思いましたが、
微妙に違うのだろうか・・・。
jar って gzip じゃなかったっけ?
jarはinfo-zip
>>378 S!のInflateInputStream()を使ったことが無いんで376のソースコードからの推測になるが
S!のInflateInputStream()でzipを解凍するなら
zipのヘッダを自力で処理して各ファイルのdataブロックだけを取り出して
圧縮方式0の時はそのまま切り出し圧縮方式8の時は0x78,0x9c辺りをdataブロックの先頭に付加して
InflateInputStream()に渡せば展開できるはず
ZIPヘッダの構造自体は資料が山ほどあると思うんでそっち見てくれ
私も
>>346さんと同じ壁にぶち当たったのですが、
SoftBankデベロッパーサイトの技術資料を全て見ても、
探しているAPI(サイクロイド携帯で、画面の回転が行われた事を
通知するAPI、又は画面の回転状態を取得するAPI)は見つからず・・・。
折りたたみ式機器の開閉状態を通知するAPIはありますが、
上記の探しているAPIは存在しないのでしょうか?
メインをスレッド処理で動かした場合とそうでない場合のアプリでは
長時間OAP上で動かした場合、携帯電話の電池消費量は変わってくるのでしょうか?
385 :
デフォルトの名無しさん:2007/09/27(木) 10:11:58
助けてください・・・エロい人。
URLエンコード部を、iモード⇒EZオープンアプリへ移植していますが、
HttpUrlEncoderを使うところまではわかったのですが、実際の使用方法が
全くわかりません。
iモードでは『String value = URLEncoder.encode(id);』で作動するので、
EZで同様に『String value = HttpUrlEncoder(id);』としてもダメでした。
どのように記載すればよいのでしょうか?
ググレ
オープンアプリでURLエンコードはできないだろ。
HttpUrlEncoderクラスはPhaseライブラリのもの。
オープンアプリはCLDC1.1とMIDP2.0しか対応していない。
>>385 URLエンコード程度なら、自分で処理を書けばよい。
オープンアプリの提供方法について質問させて下さい…
とりあえずWTKで正常に動作する(オプションAPIを使用していないのでSoftBank実機でも正常に動作)事を
確認し、サーバにjarとjadをUPしました。んでサイトを参考にしながら下記のようなhtmlを作成。
<html><body>
ダウンロードページ
<a href="device:jam?
http://*************/sample.jad">ダウンロード</a>
</body></html>
でもAU実機(W52S)でリンクをクリックしてもスカッスカッていう感じで何も反応しないんです…
これはアプリ側に問題があるのでしょうか?それともHTML側でしょうか?
>>390 すみません。。熟読したつもりなんです…。
ダウンロードエラーとかになるなら分かるんですが、クリックしてもウンともスンとも言わないんですよ。
作成したアプリ側に問題があるのかも、と思ってHelloWorldもUPしてみたのですが同現象でした。
という事はやはりサーバ側の問題なんですよね。。
一体何が悪いのでしょうか…
サーバ側に問題があるんだと思うんならさっさと確認しなよ
どうしたいわけ?
MIMEはセットしたのか?ちゃんとサーバーはContent-Lengthを返してるのか?
ってことじゃねぇの?
後は確認するだけだろ
394 :
391:2007/09/29(土) 00:07:26
すみません。サーバ関係というかWeb系の事はさっぱりなんです。。
っで、サーバを変えたら現象が変わったのでご報告を…。
ダウンロードリンクをクリック→通信エラー(200 4207)
.htaccess内に以下を記述して同ディレクトリにアップロード→変わらず。
AddType text/vnd.sun.j2me.app-descriptor jad
AddType application/java-archive jar
一体何が悪いのでしょうか…
395 :
391:2007/09/29(土) 00:15:20
連投すみません…
↑のccessってなってるのは.htaccessの誤りです。
ちなみに現在使用しているサーバはアプリ★ゲットさんの提供スペースです。。
>391
>すみません。サーバ関係というかWeb系の事はさっぱりなんです。。
突き放すようだけど、勉強しなよ。場当たり的に聞きまくらないでさ。
ケータイアプリ作ってるのにWebサーバのことサッパリってのは話にならない。
>ケータイアプリ作ってるのにWebサーバのことサッパリってのは話にならない。
ごめん、w-zero3なんだ、うん。
いや、win32用PhoneMEバイナリもあるにはあるんだが・・・。
ところでマスター、CERN httpdを一つ。
#CERN派だった俺にはきびしい世の中になったもんだ。
CERNつかってたオサンならHTTPのなんたるかは知ってるよな。
いまはちょっと標準化がすすんでるだけでたいして変化はない。
ttp://www.studyinghttp.net ここでも見て情報を吸収すればいいよ。
仕組みさえわかってればサーバ設定なんか単なる方言でしかない。
>>397だが
>>391とは別人だぞ。
まあ、netscapeが天下統一する時代に入ってからはクライアントサイドに興味を持って、サーバーサイドに疎いのは
>>391と同じだが。
というか、.htaccessの設定すらろくにできんなら
>>391はやっぱ基礎から勉強した方が良いぞ。
#そういやCERN httpdって今はw3c httpdか。
400 :
391:2007/09/29(土) 13:17:32
>>396 はい…。勉強しなおすようにします…。
とりあえず.htaccessを再アップロードしたり、属性を604に変更したりなど色々と
してみましたが解決しませんでした。。
ただ、いくら調べても分からないので今回の件で一点だけ教えてもらえませんか?
現在はダウンロードリンクをクリックすると「通信エラー 200 4207」と表示されるのですが
もし仮にJADファイル内の記述に誤りがあった場合などは上記のように通信エラーが
表示されるものなのでしょうか?それとも不正なアプリ〜的な表示になるのでしょうか?
今回の件がアプリ側の問題なのかサーバ側の問題なのかすら分からないもので…。
なんでKDDIやアプリゲットに聞かないの?
>>400 エラーの方はたぶんサーバ側。
200は普通に考えたら成功を意味するリターンコードぽいが、とにかく
MIDPが動くにしても端末の表示情報の詳細なんて公開されてないから、
メーカー以外誰もわからん状況だと思う。
仕様ではContentTypeとContentLengthを返す事が必須になってるんだけれど、
ある日突然似たようなエラーが出始めたケースがあるらしい(俺自身は作ってないのでこれ以上は知らん)
たぶんサーバ管理者が出力する情報を変更したんだろう、とは思ってる
あと開発者向けのオープンアプリスレが携帯板がどっかにあるから、そっちで聞く方が詳しく判るだろう
あっちは飽食の巣
jadをcgiにしてcgiで強制的にContentTypeとContentLengthを返すとどうなんだ?
あとそのサーバーに対してダウンツールかなんかとにかくhttpヘッダを見れるツールでアクセスして
httpヘッダで何が返ってるかを確認するべし
どこどこのサーバーだとかではなくこのURLのこのファイルなんですがならこちらで確認も出来るんだがな
それらを公開する気が無いなら自分で何とかしなって言われて当然
わざわざそのためだけにアプリゲットのアカウント取る気にはならんしな
405 :
391:2007/09/30(日) 00:22:14
>>402 >> 404
すみません、色々ありがとうございます。
サーバやURLを公開する勇気がない(既に公開しているアプリがしょぼすぎて…)ので
なんとか自力で頑張ってみます。
ただ、ない知識で調べまくってようやくContentTypeとContentLengthの返却値が分かりました!
Server: Apache
Content-Length: 225
Content-Type: text/html; charset=iso-8859-1
となっているので、.htaccessでのMIMEタイプの追加が出来ていない事が原因だと分かりました(多分)
ちなみに.htaccessって中身書いてアップロードしても、その瞬間ftpソフトの画面から消えてしまうのですが
そういう仕様なんでしょうか?なんとか頑張ってみます…。
406 :
391:2007/09/30(日) 00:48:37
またも連投になり申し訳ありません。
何度も書くのは気が引けるのですが、オープンアプリの開発→配布にあたり同じような疑問を持つ方も
出てくるのでは…と思うので極力結果は書いていこうと思います。
上で書いた.htaccessが表示されないというのはftpソフトの設定でした。
問題なくアップロードされていました。という事は.htaccessでのMIMEタイプの追加が許可されていない
サーバなのか、もしくは.htaccessの記述間違いなどが考えられますよね。。
また色々試して来ます。
>406
>極力結果は書いていこうと思います。
ここはキミの開発日記を書くところじゃないから迷惑だと思うよ。
オープンアプリ開発の技術的な問題をみんなで考えていくならともかく、
キミがつまずいてるのはサーバ設定の基礎的なことなわけで。
しかも特殊な設定で困ってるのではなく、単に知識不足なだけだし。
>>406 開発日記ならブログでも作ってそこに書いてくれ
ググッて引っかかるようにしてれば初心者も助かるだろ?
2chじゃスレが沈めばそれまでだ、ましてやこのスレは保管庫があるわけじゃないしな
ココに書くのは助けを求めて話し合いたいとかならともかくただの経過や開発日記なら迷惑だ
というか利用してるサバが許可してる事読めば一発で解決する事なのになんでgdgd2chなんかで書いてるの?
勉強しろってのもだけどマニュアル嫁も然り。
サバの初歩的な設定でつまづいてサバが許可してる事も分からないんじゃ誰もどうしようもないよ。
サーバー設定だって、オープンアプリには必須な項目なわけで。
この程度でブログで〜とか言い出したらこのスレいらないよ。
まぁ俺もまずマニュアル等は読めと言いたいが、
きちんと読んでるやつはほとんどここで質問とかしないんじゃねぇのかな。
マニュアル?そんなの聞いたことねぇなぁ
ウソしか書いてない”仕様書”みたいなのはそこらじゅうに転がってるがね
番号がずれてるだけでどうしてここまで
>>391 サーバ側はどうでもいいから、リンクを選択しても反応しない問題については
解決したら報告をお願いしたい。
HTMLは別に間違ってないような気がしたんだけどな。
>>412 これだけ言われたらもう出てこれないだろw
しかもよってたかってボロクソに言って「でもこれだけは結果教えろ」ってひどくね?w
391の勉強不足は否めないが、それでも完全なスレ違いな訳でもないし、同じ悩みを
持つ奴が出て来てもおかしくない(javaから入るやつなんてごまんと居る)
はっきり言って初心者って自覚してる奴に対して否定しまくったり迷惑だとか言ってる奴って
何がしたいの?関連してる内容であるにも関わらず「迷惑だ」って…w
せっかくオープンアプリの開発をしようって思った奴を一人潰してるだけじゃん?
自分らが初心者だった頃の気持ちを忘れんなよ。殆どの奴が周りに助けられて今がある
んじゃねーの?掲示板や友人にも一切聞かず、自分一人でマニュアルとかだけでやってきた奴
なんて逆に少ないだろ?
あーだこーだ言ってる奴は「CLDC+MIDP〜マニュアル非掲載の話題専用スレ」でも作ってろ。
と、391があまりに不憫だったので熱い想いを書いてみたw
まあjava全体の話するなら初心者がMEから入ること自体無謀だな。
実機で動いたとしても変なコードが覚えるだけだし。
というか、サバの設定の初歩的な部分がわかってないだけだからそもそも板違いだぞ。
そこさえクリアすれば問題が切り分けられる。
聞いてることがサバに関する初質だからまずは、
どこが問題か切り分けてからこっちに来れば良いだろう。
その上、どこのサバで何が使えてどこまで許可されてるかが分からんなら誰に聞いたって同じ。
ググレばどこにでも書いてあるような設定がらみでミスってるんだから
分からん事は自分で学習してればそもそも、ここに来る必要すらなかったかも知れんしな。
ちゃんとサバの設定してもダメならまた来れば良い。
>>413 問題なのは391が404とかみたく折角ちゃんと手を差し伸べてくれてる人間の手を蹴ってる事じゃね?
誰だって最初は初心者だ
それを初心者の自分が今作ってるしょぼいからなんてアホな理由で目の前に居る親切にしてる人の手を蹴ってる
プログラム以前に人間性がしょぼい人間に対して手を掛けようって人が居なくなってくってだけじゃね?
プログラムのデキなんてこんなところで初心者な質問してる段階で誰も期待してないしどんなテストアプリにアンカー張ったって
笑うようなことはしないだろ
ホントに助けて欲しくて自分の本来のurl晒したくなければアプリゲットのアカウントを自分でもう一個とってそこにテストアプリをあげるぐらいのことは出来るだろ
自分自身でどうにもできずに親切な人の手を蹴ってる馬鹿な行為と日記化しようとしてる事に対して嘲笑ってる人は多いかもしれんがね
特に「極力結果だけ書いていこう」ってことは毎回結果が変わるたびに日記を書きますって事だろ?
これがせめて「ちゃんと動いた時は最終結果を書き込みたいと思います」で以降書き込み自粛ならまだ多少は違ったろうがな
(自己解決にせよなんにせよちゃんと動いた時に質問を書いた人間がお礼と同時に結果を書くのは一種の礼儀の一つだろ
動きもしないし他人の手も蹴ってるのに日記だけ書くってどんだけ〜〜?)
413があまりにもアレなんで書いてみたw
久々に盛り上がってると思ったらコレか・・・
携帯Javaの話しよーぜ
それかSEXの話しよーぜ
417 :
416:2007/09/30(日) 19:26:39
SEXの話マダー
>>413 391はサーバ側プログラムも知識も無いと最初からいってる
そこで404の調査法言われたって391が実践できるわけもないじゃないか
>413は話が読めてないじゃん
>はっきり言って初心者って自覚してる奴に対して否定しまくったり迷惑だとか言ってる奴って
>何がしたいの?関連してる内容であるにも関わらず「迷惑だ」って…w
誰もそんなこと言ってないし
捻じ曲げて解釈して勝手に盛り上がって楽しそう
>>418 404はちゃんとググッたり自分で調べたり勉強するためのキーワードも十分に書いてる
それらのヒントから実践できないならできないでURLを公開すれば助けてやれるかもしれんとまで書いてる
そんな404を391は蹴ってるんだから自分でどうにかできるって事なんだろ?
>>413 まあ391氏が出てくるかどうかはまでは本人の気ままにしてくれればいいけどさ
412で書いた内容は酷くはないだろう
406での報告は407氏が書いたそのまま、言えば完全にスレ違い報告。
殆どの人は、このスレでapache自体の挙動についての報告や質問なんて不要だろ。
だけどダウンロードが動作しない症状は端末側もサーバ側も絡む良く判らない
問題であって、それに対して解決した回答が残して貰えるなら、
充分今後のこのスレのためになる。
まあ391がこのこと自体に気づけるのかは判らんけど
スレがグダグダ
ちょっと書き込み控えて落ち着こうぜ
423 :
416:2007/09/30(日) 23:47:26
SEXの話マダー
>>420 どこ見てるんだ。404は方法を3つ用意してくれてるよね
1. 自分でCGI動かして挙動確認しる
2. 通信データ覗いてみるんだ(これは端末とPCとでレスポンスが同じなのか疑問はあるが)
3. URL晒したら見てやる
に対して1はスキルで無理(と思われる)、2は直後で回答。3は個人の事情で無理
これだけ全部に対して返答しているのに、404を蹴ってるとかどういう意味さ
今後は自分で調査する方法を選んだだけだろう
よし、俺が新たな話題を振ってやる!
MIDPってさ2.0からImage#getRGBとGraphics#drawRGBでDIB取得できるようになったじゃん。
で、getRGBなんだけど、これってそのイメージの参照を直接渡してくれないで、コピーをよこすじゃん。
コピーだとまず画像取得するのにコピー、その後編集して戻すのにコピーで2回分のコピーが発生するわけだが
これってどう思うよ?
俺的には、getRGBでイメージのDIBの参照取れるなら、それを編集すればいいだけだし
それができれば、文字列描画も問題なくできると思っているわけよ。
俺の:y=-( ゚д゚)・∵;; ターン!
>>426 まぁJavaだしハードコーディングできないのはしょうがないでしょ。
それにPCなら描画モード変更できるけど、携帯じゃそうは行かないし
各端末毎にゴリゴリ書くの、もうヤッテランネw
一部の端末の擬似24bitカラーは6bit×3+ようわからん何か2bit×3で24bitらしい。
18bitって何よって思った。
>>427 中国製のBREW端末でRGB666の端末を触ったことあるけど
JavaでRGB666の端末って出てるのか?
>>428 javaのメソッドで操作する段階で888に変換されてると思うよ
逆に基本的に今のjava端末の液晶だって内部の実際の発色は666が殆どじゃね?
ネイティブで888の液晶を持ってる機種ってあっても凄く少ないんでね
>>428 スレチで申し訳ないがDoJaの話なんだよね。
N900とかが18bitだったと思う。
Graphics#getPixel で取得できるネイティブカラーは、
端末が持ってるDIBそのままって前提で調査した。
その辺詳しい資料が見つからなかったのと、
『getRGBPixelがあるじゃん』てことでちゃんと調べてない。
今は少し反省してる。
431 :
428:2007/10/01(月) 16:53:13
DoCoMoの画面カラーは調べたけどわからんかった。
SoftBankの3GC端末の場合
東芝→ARGB1555
ノキア→不明
その他→RGB565
だった。
BREWはRGB232の端末がQVGA初期に出てたけど、それ以外はRGB565だったと思う。
>>430 Dojaっていうか、Javaが搭載されている端末であればなんでもよかった。
N900iは18bitだったか。
>>431 つーかDoJa以外ありえないだろ?
MIDPはdrawRGBが仕様としてRGB24bit,alpha8bitって決まってるんだから
それ以外が返ってきたら困る
433 :
431:2007/10/01(月) 17:48:34
>>432 drawRGBで取得する値と、画面のカラーは別の話。
画面カラーがRGB565であった場合、drawRGBはRGB888をRGB565に変換する。
MIDP2.0端末でRGB666の端末があったらdrawRGBはRGB888をRGB666に変換するだけ。
Dojaでも、setRGBPixelsが同じ挙動を行うよ。
俺が言いたいのはMIDPじゃ触ることすら出来ないことなんだから気にしてもしょうがないというか気にするだけ無意味ということと
気にする必要性があるのはDoJaだけだということだったんだがまぁいいけどな
>>426 Image#getRGBはDIB取得してるわけじゃないと思うがベンダの糞実装上は知らん。
PHSはw-zero3だけ1555、しかもGraphics#drawRGBで色抜きが出来ない。PNGの不透過値が0の部分だけ抜ける。
たしか端末制限。その上VMの実装上例外も何も投げずにVM強制終了。
実機でデバックは困難w
ほかはA8でRGBは端末次第・・・orz
J9はどうだろう?
436 :
デフォルトの名無しさん:2007/10/04(木) 08:13:13
いままでJavaと言えばWebアプリケーションと
ショボいゲームのアプレットしか作ったことがない
俺が来ましたよ。
オマエラMIDPアプリケーションの開発には
どんなIDEを使っていらっしゃいますか?
やっぱりEclipseですか?
コマンドプロンプトだね。
メモ帳かな。
eclipsemeしかない。
Visual J# で代用できんもんかね?
そんなもん誰も使ってない??
まあ、compactで使えるクラスならいけそうだが意味はないし。
J#なんて誰も使ってないし。
そもそもJavaVMじゃないし。
関係ないがJ++の吐くバイトコードはMSVM以外クラッシュするしw
アプリで使う画像ってどんなソフトで書いてる?
PNG-8じゃないとだめだって 2005年発売の参考書にかいてるんだが。。
確かにペイントで作ったPNGだと実機では動かなかった…
フォトショかイラレが大半じゃない?
optpixで減色して使うだろ。
エッジ
フォトショ+PNGGauntlet
>>442 何で描いてもいいんじゃない?
汎用的なフォーマットでセーブできるツールであれば
後は適切な変換ができるかどうかだけでしょ
ちなみにVisualStudioのビットマップ編集で編集してるよ
減色しただけでフォーマットまで変わるのか?
おれはGIMP使ってるけど。
>442
絵を描くこと自体はWindowsのペイントでも何でもいいよ。
PNG保存する時にどのツールを使うかがポイント。
フリーウェアのツールでPNG保存すると、
ヘッダがおかしいのか正常に表示できないことがある。特に透過PNG。
変に圧縮率上げたり、コメント領域いじったりするツールは注意。
自分はフォトショップ・エレメント使ってる。1万円ちょいで買えたし、
大手有名ツールなら多分下手なことにはならないだろうと思ったんで。
libpng使ってりゃ大体問題なかろう。
>>450 逆に使ってないものの方が珍しい気がするが、無いわけではないけどな
問題は色数だから適切な設定での変換作業だからlibpngかどうかなんて関係ないだろ
>>449 携帯向けはPNG-8でtRNSチャンクで透過指定する事、
アルファチャンネルは無効。
コメントの有無は特に問題じゃない。
イラレで吐き出してもtRNSチャンクで透過指定しなきゃ読み込み失敗する。
>452
>携帯向けはPNG-8でtRNSチャンクで透過指定する事
俺>449だけど、まさにそれを注意ってことで書いたつもりだった。
フリーウェアは透過PNGの作り方が適当なものが多い気がする。
>コメント領域いじったりするツールは注意
これはコメントの有無のことじゃなくて、
「埋め込まれているコメントをカットします」みたいなツールを使ったとき
ツールによっては壊されることがあるぞってこと。
ファイルサイズをキチキチに切り詰めようとしてこういうツールを使う人はいるから
余計なお世話かもしれないが一応書いておいた。
なんかしつこい書き込みになったな。スマン。
キーが何を押しているかの取得の仕方はいくつかありますよね?
十字キーと数字キーの連携を切り離したい時はどうすればいいでしょうか?
1キー!=UPキー
で別に判定したいのです
455 :
デフォルトの名無しさん:2007/10/05(金) 22:39:16
いつもお世話になっている初心者です。
どうしても納得いかない制御があるので質問させて下さい!
スレッド作成→無限ループ内で描画処理、が基本パターンのアプリを作成しております。
その中で、決定キーを押下すると画像が点滅する、というプログラムを組もうと思い
public void run(){
repaint();
}
public void paint(Graphics g){
System.out.println("描画開始");
if(tenmetsu==0){
描画処理有り
} else {
描画処理無し
}
}
続く…
protected void keyPressed(int keyCode){
if(key == Canvas.Fire){
int i;
for(i=0;i<10;i++){
tenmetsu=0;
System.out.println("描画へ行く");
repaint();
//ここでスリープ実行
tenmetsu=1;
repaint();
}
}
}
というコードを作成したのですが、実行した場合にトレース情報には「描画へ行く」はforループ分ちゃんと
表示されるのですが、paint内の「描画開始」が一度も出力されません。実際に描画処理もされて
おりません。要するにrepaint()でpaint()に飛んでいないという事だと思うのですが、その理由は全く
理解出来ません。初歩的な質問で申し訳ありません。よろしくお願い致します。
455だけど
>>456-457は
ダブルバッファとかオフスクリーンに書いてからrun()で一気に描画とか解決のキーワードな気がする
というかデバッガを使ったら?
それくらいならステップ実行すればすぐに分かる気がする。
keyPressed()内でループまわしてスリープ入れてって構造に問題があるんじゃないか
461 :
456:2007/10/06(土) 14:22:47
早速のご回答ありがとうございます。
>>458 確かに一度run()に渡すとしっかり描いてくれるんです。ただ、そのためには現在のソースを
物凄い勢いで改造しなければならなくなり、新規のバグが怖いというのがあって…。
>>459 スミマセン。デバッガについてググってみたのですがいまいち分かりませんでした。
デバッグ用のツールでソースを追えるような感じなのでしょうか?
>>460 自分、BASIC時代からめちゃくちゃな構造で作ってしまう癖があり…。いつもある程度組んでから
後悔してしまうんですよね…。
repaint()命令の直前までは正常に届いているのに、repaint()だけが機能していない、しかも
repaint()内の描画処理が行われていないのではなく、repaint()内に入ってきてすらない、という
事になっている訳ですが、repaint()というのは呼べば強制的に実行されるものではないのでしょうか?
repaint()で実行されるはずの描画がされないなら分かるんですが、メソッドに入ってすらないというのが…。
repaintは、再描画が必要だってことを覚えとくだけ。
今実行中のイベント処理が終わったときにpaintが呼ばれる=イベント処理中は呼ばれない。
serviceRepaintsを呼べば、すぐ呼ばれるけど。
keyPressed内でループまわしてるから再描画要求がキューに突っ込まれても詰まったまんまで、
あとは端末のイベントハンドリング周りの制限に引っ掛かってるって感じ?
まあ、java的にはイベントハンドラ内で時間掛けないのは基本中の基本だから覚えれば良いだけ。
ハンドラでフラグ立ててゲームループでフラグ調べてhogehogeすれ!
466 :
456:2007/10/07(日) 00:51:07
皆さん、ありがとうございました!!
理由ははっきりして凄く嬉しいです。
ただ…前述したソースで
protected void keyPressed(int keyCode){
if(key == Canvas.Fire){
if(ある条件==1){
int i;
for(i=0;i<10;i++){
tenmetsu=0;
System.out.println("描画へ行く");
repaint();
//ここでスリープ実行
tenmetsu=1;
repaint();
}
} else {
for(i=0;i<10;i++){
System.out.println("描画へ行く2");
repaint();
}
}
}
}
とした場合に、なぜか「描画へ行く2」の方だけちゃんとrepaint()にfor回数分飛ぶんです…。
違いはスリープがあるかないか程度なのに…。謎です…。
とりあえず、今後はイベント内ではフラグを立てる程度にしてループ内で処理するように心がけます!
ありがとうございました!!
>456
reapint()はシステムに対する描画要求「ヒマができたらpaint()してね」であって、
必ずしも1つのreapint()につき1回のpaint()が呼ばれるわけではない。
reapint();
reapint();
reapint();
と続けざまに書いたとき、paint()はその都度で計3回呼ばれるかと思いきや、
大抵は最後にまとめて1回呼ばれるだけ。
for(i=0;i<10;i++){
tenmetsu=0;
System.out.println("描画へ行く");
repaint(); ←(1)(3)…
//ここでスリープ実行
tenmetsu=1;
repaint(); ←(2)(4)…
}
(1)のrepaint()後にスリープして、そのタイミングでpaint()が呼ばれる。
(2)のrepaint()後に次のループに入り、描画のヒマなしで(3)のrepaint()が呼ばれる。
そこでスリープするのでpaint()が呼ばれる。
「System.out.println("描画へ行く")」はpaint()と関係なく実行されるので毎回表示される。
tenmetsuフラグは0(描画される)→1(されない)→0(される)と変化しているので、
paint()時の描画内容に変化が見られない。
…と、上記ソースがメインのループ内に記述されていればこの説明でいいのだが、
今回のケースはkeyPressed()に書かれていて、そこでスリープしているので話は異なる。
タイミング的に呼ばれるであろうpaint()が呼ばれなくても不思議はない。
そんなことを踏まえて改造するといいと思う。
468 :
467:2007/10/07(日) 02:01:23
なんだこりゃ。念のため修正。
× reapint
○ repaint
というかキューに突っ込むか描画段階でOS側が再描画が必要ないと判断したら要求を一つにまとめてるはず。
だから結局最後の1回が実行される。
470 :
442:2007/10/08(月) 02:29:09
libpngを調べてみたんだがC言語用のDLLとか…
LinuxでインストールしたりとかWindowsな俺はだめだ><
C言語のが得意だけどDLL使ってpngにして吐き出すプログラム作って使ってるの?
なるべくフォトショとか市販はなしでフリーで作りたいんだ…
libpng使ったっていうbmp2pngていうソフト使ったけど…702NKでやったけど動かない…
やっぱエミュで動かして実機でとして、ネット介さずに直でインストールしてやる702NKじゃ
だめなのかな?
だからGIMPがry
8bit PNGで書き出せるソフトくらいいくらでもありそうだが。
てか、すでにスレ違いだわな。
フリーで、とかいいつつそれっぽいのすら探せないなら、
PaintShopProでもPhotoshopElementsでも買っとけ。
だいぶ前に迷惑をかけた178です
あの後もここをROMっててやっとあの時から想定したアプリを作れました
特に最近のpngとかのレスは役にたちました
ここの住人の方本当にありがとうございます
でまた質問なのですが敵のアルゴリズムとか人工知能的な事が書いてあるサイトとか知っていたら教えて頂きたいのです
そんなスレ違いのことまでいちいちここで聞かなくてもさ、
「ゲームの作り方」みたいな本買うとか、それをキーワードに検索するとか
475 :
442:2007/10/08(月) 19:35:09
助言くれた皆さんありがとう!!
>471
GIMPは前インストールしてたのが重かったり
すぐフリーズしてたから敬遠してたんだ…
でも新しくしたらそんな事もないんですね、使ってみます
gimp for winは昔からあんま評価よくないよな。
もう他のosに移っちゃったから今では確認できないけど。
WindowsでわざわざGIMPなんか使う人は変態でしょ。
確かに GIMP を Windows で使う人は変態かもしれないな。
479 :
346:2007/10/09(火) 13:38:16
>>382さん、結局私も見つけられませんで、当面あきらめることにしました。
知っているのに教えてないわけではありませんので
おそくなりましたが、お知らせしておきます。
DoJaでも画面回転状況取得が可能なのは事実上F903iとF904iだけで
P901iTV,P903iTV,SH903iTVはアプリからは画面の回転状態を取得できないんで
まぁ取得できなくてもしょうがないんじゃない?
公開されてないだけって可能性もないわけではないけど
まあ、どうせGIMP for win 1.xってオチだろう。
個人で Java Verified 通して署名してもらった人います?
どこがいいのでしょうか?
オープンアプリでフルブラウザみたいにwebページを取得して表示するのって、どういう関数をどう使えばいいの?
GCFでHTTPで貰ってきてパーサ通してレンダラで描画。
ブラウザの実装には専門的な知識が複数必要だから素直に諦めろ。
485 :
デフォルトの名無しさん:2007/10/12(金) 10:26:39
ブラウザというか、URLを指定したらそのページだけを表示するくらいでいいんだけど…(画像表示もいらない)
html描画しないでソースまるごとでもいいんで
それでも難しいでしょうか?
全キャリア対応のP2P共有アプリってないのかな?
488 :
デフォルトの名無しさん:2007/10/12(金) 15:08:13
>>486 AUではP2Pできるって聞いたことあるけど(吉田鎌ヶ迫だっけ?)
他のキャリアでは聞いたことないなぁ
>>485 フルブラウザ関係ないじゃん。
それだけなら問題はオープンアプリがGCFどこまで採用してるか。
HTTP接続できるならあとはMIDPのクラス使って適当にHTMLソースを描画すればいい。
それくらいなら出来るんじゃない?
491 :
486:2007/10/12(金) 18:25:06
>>489 レストンクス!
AUのみか…OAPかBREWどっちかな?
ググりに逝ってみるか!
>>485 通信系のAPIを確認すれば、その程度すぐ作れるのが確認できるだろ。
プログラムを作るのになぜ最低限ドキュメントくらい読まないんだ?
493 :
デフォルトの名無しさん:2007/10/12(金) 19:42:29
494 :
デフォルトの名無しさん:2007/10/12(金) 19:48:36
495 :
デフォルトの名無しさん:2007/10/12(金) 19:53:47
496 :
デフォルトの名無しさん:2007/10/12(金) 19:55:33
>>492 ためしに作ってごらん。天才ハカーさんw
ファビョりすぎだ
落ち着け
499 :
デフォルトの名無しさん:2007/10/12(金) 20:04:37
m9(^Д^)プギャー
WEB上からデータをとってくるだけなら6ステップも書けば済む話だが、いったい何なんだろう。
501 :
デフォルトの名無しさん:2007/10/12(金) 20:08:54
>>500 プログラムを作るのになぜ最低限ドキュメントくらい読まないんだ?
502 :
デフォルトの名無しさん:2007/10/12(金) 20:10:10
「簡単にできる」とか「6ステップでできる」とか
そういう情報いらんから
書けるなら書いてみろっての
ホント口だけのクズばっかだな
ゴキブリに負けたゴキブリ以下もいれば、
ゴミに頼るしかないゴミ以下が存在する悲しい現実。
>>502は上手いな。
書きたい奴すら書けない空気を4行で作り出した。
import java.io.*;
import java.net.*;
public class Access {
public static void main(String[] args) {
try {
URL url = new URL("
http://www.google.co.jp");
BufferdReader br = new BufferdReader(new InputStreamReader(url.openStream()));
String str;
while((str=br.readLine())!=null)
System.out.println(str);
br.close();
} catch(IOException e) {
System.out.println(e);
}
}
}
で、これをどうすれば使えるようになるんだ?
そのネタ飽きた
508 :
デフォルトの名無しさん:2007/10/12(金) 21:26:43
C:\WTK22\apps\Access\src\Access.java:2: パッケージ java.net は存在しません。
import java.net.*;
^
C:\WTK22\apps\Access\src\Access.java:7: シンボルを見つけられません。
シンボル: クラス URL
場所 : Access の クラス
URL url = new URL("
http://www.google.co.jp");
^
C:\WTK22\apps\Access\src\Access.java:7: シンボルを見つけられません。
シンボル: クラス URL
場所 : Access の クラス
URL url = new URL("
http://www.google.co.jp");
^
C:\WTK22\apps\Access\src\Access.java:8: シンボルを見つけられません。
シンボル: クラス BufferdReader
場所 : Access の クラス
BufferdReader br = new BufferdReader(new InputStreamReader(url.openStream()));
^
C:\WTK22\apps\Access\src\Access.java:8: シンボルを見つけられません。
シンボル: クラス BufferdReader
場所 : Access の クラス
BufferdReader br = new BufferdReader(new InputStreamReader(url.openStream()));
^
エラー 5 個
com.sun.kvem.ktools.ExecutionException
ビルドに失敗しました
MIDP用のAPIを使わなければそりゃ無理だ。
import java.io.*;
import javax.microedition.io.*;
import com.nttdocomo.io.*;
import com.nttdocomo.ui.*;
public class Access extends IApplication {
public void start() {
Panel p = new Panel();
TextBox tb = new TextBox("",40,30,TextBox.DISPLAY_ANY);
p.add(tb);
Display.setCurrent(p);
try {
HttpConnection con = (HttpConnection)Connector.open("
http://www.google.co.jp",Connector.READ);
con.setRequestMethod(HttpConnection.GET);
con.conect();
InputStreamReader isr = new InputStreamReader(con.openStream());
char[] buf = new char[1024];
int ch, i=0;
while(-1!=(ch=isr.read()))
buf[i++] = (char)ch;
String str = new String(buf,0,i);
tb.setText(str);
} catch(IOException e) {
tb.setText(""+e);
}
}
}
10数年ぶりくらいか・・・
「バカばっか・・・」
スーバーバッカーをなめるな
513 :
デフォルトの名無しさん:2007/10/13(土) 14:42:47
import java.io.DataInputStream;
import java.io.IOException;
import javax.microedition.io.Connector;
import javax.microedition.io.HttpConnection;
import javax.microedition.midlet.MIDlet;
import javax.microedition.midlet.MIDletStateChangeException;
public class GETTest extends MIDlet {
protected void startApp() throws MIDletStateChangeException {
try {
HttpConnection con = (HttpConnection)Connector.open("
http://www.nec-mfriend.com/en/ ");
con.setRequestMethod(HttpConnection.GET);
DataInputStream in = con.openDataInputStream();
int input;
while((input = in.read())!=-1){
System.out.print((char)input);
}
in.close();
con.close();
} catch (IOException e) {
e.printStackTrace();
}
}
protected void pauseApp() {
}
protected void destroyApp(boolean arg0) throws MIDletStateChangeException {
}
}
これだと結果がコンソールに出るから実機で使えないんだけど
どうすりゃいいの
Formにappendするとか
TextBoxにsetStringだよ
brackboadにohyeahだろ
517 :
デフォルトの名無しさん:2007/10/13(土) 19:35:19
誰か書き換えてみて
おねがい
wmならCMD.exe入れるとかいう技が出来るかも知れんがVMによってはOSから割り込みが入ったらVM止めるな。
520 :
デフォルトの名無しさん:2007/10/13(土) 20:39:29
できないから
こっちでやってもらえないからって質問スレにマルチするな
『上級Java講座』なんて早過ぎたんだ
522 :
デフォルトの名無しさん:2007/10/13(土) 21:02:23
できないの?
はい!ストーーーップ!!
教えてクンは全て釣りだ。
もうこれ以上はいいよ。
結局誰もわかんないのかぁ…釣りとか言って逃げる…いつ聞いてもこれだ
2chで一番スキル高いのってひょっとして俺なんじゃないの?それともまともなスキル持ってる人はこんなところにこないのか?
>>524 sageを入れている時点で別人だと識別できる。
詰めが甘いし、いつまでも同じネタを引っ張っても白けるだけ。
526 :
デフォルトの名無しさん:2007/10/13(土) 21:45:05
で、どうでもいいけどわかったの?さっさと解決してみせろよゴミクズ
527 :
デフォルトの名無しさん:2007/10/13(土) 21:50:49
自己解決しました
あの世へ引っ越すのでもう来られません
528 :
デフォルトの名無しさん:2007/10/13(土) 22:04:34
ホントに誰もわかんないんだw
もういいや
うん、さっぱりわかんない。
何しろレス読んでないからな。
何が起こったかも知りたくないが大体予想付くからいいやwww
>>513 今コンパイルしてるからちょっと待ってろ
おまいらどうして荒し耐性がないんだよ
黙ってスルーしとけって
馬鹿な客にこれくらい言えればなぁ・・・って願望を込めてるから。
533 :
デフォルトの名無しさん:2007/10/14(日) 00:29:19
できたわ
じゃあの
もうないぽw
536 :
デフォルトの名無しさん:2007/10/16(火) 14:10:53
MIDPでStringを"+"で連結しようとすると、
StringBuilderがどうのこうのでエラーが出てしまうんだけど
なんで?
昔は 文字列 + 文字列 ですぐに連結できたのに。。。
1.5用にコンパイルしてるからじゃね
-source 1.4 -target 1.4 とかコンパイルオプション付けてみれ
>>536 実はStringじゃなくてStringBuilderとか
540 :
536:2007/10/16(火) 18:15:17
>>537 助かった、サンキュ。
ってか分かる人にはすぐ分かるんだな。尊敬。
>>537 一応、CDC1.0とCLDCは1.3だぞ。CDC1.1は1.4.2だが。
>541
つ[JavaSE]
そりゃコンパイラ側の話だろ
一応1.4でも通るよ、ただ1.5からは文字列の連結処理はじめ根本的なところがいろいろ変わってるから
S!アプリを作成しています。
あるURLからデータを取得した後に
相対パスで画像も取得します。
リダイレクトされたら、以降はその相対パスにしたいのですが
以下のコードで
HttpConnection con = (HttpConnection)Connector.open(url, Connection.READ, true);
con.setRequestMethod(HttpConnection.GET);
code = con.getResponseCode();
なぜか911SHは200 OKなのです。
自動的にリダイレクト後のデータを取得してくれます。
iアプリや911Tやエミュレータなどは302が返され
Location:を得ることが出来ました。
その後に相対パスで画像などなど取得したいが
ベースになるパスがわからないので困っています。
私なりに検索したのですが同じ状況で
困っている人すら見つかりませんでした。
>545
何を言ってるのか意味がわからない
とりあえずurlの文字列を具体的に書いてくれ
>>545 にわかに信じがたい動作だな
マイナーなTならまだしもSHだし
ブラウザでもあるまいし、もしそうならバグに近いような・・・
>>546 HTTP302からお勉強しておいで
GW経由だからそう言う動作になるんじゃいかな。
Sは知らないけど携帯のブラウザでもLocationって勝手に処理されるでしょ?
>>548 どっちかというと、Locationをどこが処理するかというのが問題点。
ゲートウェイ・サーバーでやるのか、端末側でやるのか。
続き
この件では、HttpConnectionの動作を考えると、バグくさいかなあ。
サーバー側をいじれるなら、そっちでごにょごにょするという対処療法が(汎用性のためには)よさそう。
俺も信じられないけど
SoftbankのSH系以外では実際302を受け取っている。
開発中なので具体的なURLは提供できません。
たとえば、最初に
http://hoge.jp/hoge/test.php?code=bar&user=12
を取得し、次に
http://hoge.jp/hoge/image.gif
を取得する。
もし、最初のが
http://hoge.jp/bar/12/data.abc
へリダイレクトされていたら、次は
http://hoge.jp/bar/12/image.gif
を取得する。
というのを実現したい。
でも、SoftbankのSH系にかぎって
最初のが200 OKだから困る。
もうすこし頑張ってみます。
それでも駄目ならS!アプリとサーバで302を使わない仕組みにします。
>>547 返しがボケてるよ。説明が分かりにくいってツッコミでしょ。
「相対パス」と言ってる意味がおかしいし。
553 :
デフォルトの名無しさん:2007/10/18(木) 00:46:48
× 対処療法
○ 対症療法
546=552
545の説明は充分だと思うが。
その後議論も進んでいるし。
「相対パス」も何が変だと思うんだ?
何事もなく次の話へ
>>545 ブラウザのプロトコルスタックの上に MIDPのHTTP通信を
実装しているってことでしょう。
> なぜか911SHは200 OKなのです。
> 自動的にリダイレクト後のデータを取得してくれます。
であれば、特に問題はないように思いますが。。
302ならリダイレクト処理、200ならそのまま処理という
実装をすれば良いだけに思います。
302の場合は一時的な移動なので、元のURLを使い続けるべき。
301の場合は恒久的な移動なので、新しいURLを使うべき。
作法としてはこうだったかと。
実装上の問題であって作法の問題じゃないんじゃね?
鯖が302を返却してるのにAPIが勝手にリダイレクト先を取得しなおして200にしてしまう事が問題になってるんだろ
特に細かくHTTPを操作するのでなければ楽だし便利なんだろうけど
自力でHTTPをある程度操作しようと思ってると余計なお世話な上にアプリのみでは回避策が無いな
HTTPやPOPはCUIでコマンド手打ちが一番楽だったな・・・。
そんな15年前に策定されたお作法は形骸化してる。
サーバー側アプリでLocationと言えば302。
その15年前の仕様を無理やり拡張して未だに無理して使ってるんだよ。
何が消えてるって?
このスレは定期的に時間が止まるね
別に俺自身情報を欲してきているわけじゃないが、なぜか気になる存在
>>565 俺もココで指摘する住人のレベルが気になる
これを生業に出来るレベルの人ってココにいるの?
567 :
デフォルトの名無しさん:2007/10/23(火) 08:04:39
居るよ
>>567 居るよ
だけ言われても・・・・
生業にしている=公式に公開しているはずだろうから作品名位言わないとレベルがわからないだろ常考
569 :
デフォルトの名無しさん:2007/10/23(火) 09:35:17
社名ばれるから言うわけ無いだろ常考
同じく生業にしてるよ。
個人でなく仕事でやってるから晒す訳にも行かないけど。
つか、仕事でやってる奴ならiアプリとBREWも兼用だったりするんじゃないかね。
時折そういう話題も出るし。
多分あっちのスレでもランデブーしてるんだろうなw
まぁ質問したい時は質問させてもらってるし、持ちつ持たれつってことで。
他人のことをいちいち詮索する奴は、いずれストーカーになる。
574 :
デフォルトの名無しさん:2007/10/23(火) 11:58:21
>>572 別に詳しくな内容は知りたくない
専門校みたいな所から流れで就職したのか自分から作品アピールして入ったとかその辺純粋に聞きたかっただけ
>>573 ココ何かというとスレ違い発言だけどでは何を質問すればいいの?
CLDC+MIDP+携帯電話用Javaについて。
>>575 問題はその次
> 質問でも議論でも何でもこい、と。質問は公式資料をよく読んでからにしましょう。
この部分が曖昧
「CLDC+MIDP+携帯電話用Javaについて」の質問でも議論でも何でもこい
他の言語の話も就職相談もスレ違い、いい加減にしろ。
では質問があります!
ネットワーク関係なんだけど、
705SHとか905SH以降の機種ではOKで
703SHで903SHでセキュリティエラーがでちゃうですが、
何かこいつらむけに設定してやる必要がありますか?
jadの設定は?
>>577 すまない今入院中で途中のやつ作れなくて興奮気味だった
581 :
578:2007/10/23(火) 14:32:58
>>579 MIDlet-Permissions: javax.microedition.io.Connector.http,com.j_phone.io.Connector.StorageConnection.read,com.j_phone.io.Connector.StorageConnection.write
MIDlet-1: test, icon.png, test
MIDlet-Data-Size: 1024
MIDlet-Icon: icon.png
MIDlet-Jar-Size: (サイズ)
MIDlet-Jar-URL: test.jar
MIDlet-Name: test
MIDlet-Description:
MIDlet-Vendor: test
MIDlet-Version: 1.0.0
MIDxlet-API: JSCL-1.2.2
MIDxlet-Application-Security: Y
こんな感じに設定してあります。
x03世代以前とx05世代以降で何か変ったんでしょうか?
>MIDxlet-Application-Security: Y
この行を削除してみたら?
>582は名前欄間違えた。自分はただの名無しです。
あと別件だがjadの1行目は
>MIDlet-1: test, icon.png, test
の行でなければならなかったと思う。
>583だが、何か別のファイルかスクリプトと勘違いしたみたい。ワリィ
質問なんだが
810Tで開発してるんだが8x8の小さい画像を
createImageで連続でロードしてみたら
毎回、502枚でフリーズしたんだが
これは実機の仕様なんだろうか?
ちなみにそれより大きい画像で試してみたが
502枚でフリーズしてた
スレ違いや揚げ足取りは積極的なのに質問はスルーされがち
何かおかしい
特定の実機に対する話は、その実機を持っている人間しか検証できないんだから反応が無くても仕方がないだろ。
だからといってスレ違いの話をしようというのは、なにかどころか確実におかしな話だ。
くだらないことをいつまでグダグダ引っ張るな。
例え実機持ってても500枚以上リソース用意したテストアプリ作るのもねぇ・・・
使うなとしか言えんw
携帯で500枚も画像扱うほうがおかしい
>>590 そうか?
240x240の画面としてスプライトエンジンを8x8で自作したら1画面構築に使うチップ数は
240/8=30,30x30=900で最大900個
昔の携帯ならいざ知らず今の携帯なら8*8*4+α=256+α,256+α*900で250Kbyte程と考えれば
メモリ容量的にだって余裕がある
普通に使われる可能性が有る量だともうけどな>500ぐらい
普通drawRegion使うからなぁ
スプライト数は500いっても画像は普通500いかないだろ
今、本番のMACS繋がりますか?
出来る人がいたら確認して欲しい。。。
ちなみにラボは繋がります。
810T以外にも東芝の3GC機ならフリーズすると思われる。
これらの機種はcreateImageで512個より多いインスタンスを作成するとエラーが発生する。
昔俺も、この現象でアプリを作成しなおしたことがある。
ちなみに、端末仕様書には[オフスクリーンの最大生成数:512]と記述されているのを見たとき、俺は
「オフスクリーンじゃねぇ!!!!!」と心の中で叫んだ。
596 :
デフォルトの名無しさん:2007/10/25(木) 22:20:09
3G型とP7型のどちらでも使用できるアプリを作りたいんですが、
jadの設定はどのようにすればよいのでしょうか?
あと、P7で使用するAPIの中で3Gでは使用できないものって
どんなものがあるか教えていただけますか?
お願いします。
携帯のアプリだからjava使うことになったんだけど
何か大変だな
プログラムサイズを小さくすることを優先したり。
http通信でinputストリームだかなんだかを
byte [] work 経由でちょっとづつなくなるまで繰り返し
別のストリームにコピーしてtoByteArrayして
cteateImageとかに使うなんて何だか回りくどいね。
>>597 そろそろプログラムサイズに縛られなくてもいいようになってほしいとは思う
というか903iとか旧V社のメガアプリとかが当たり前になれば
>>597 前半は100歩譲って同意だが、httpの取り出し方はこうなっててもらわないと実用にならん
知ったかはヤメレ
600 :
586:2007/10/26(金) 11:31:43
>>595 やっぱりオフスクリーンの枚数制限に引っかかってるのか orz
512枚まで逝ってないから違う原因かもと思っていたんだが
見えないところで使ってるのかもしれん;;
返答サンクス
それとイメージ500枚も読んでるのは画像の部分描画してないせいなんだ
昔、iアプリで部分描画したらかなり処理落ちしたことがあったんでな
sアプリだし部分描画にするわ
>昔、iアプリで部分描画したらかなり処理落ちしたことがあったんでな
505iくらいまでは全体的に性能が低く、機種ごとの性能差も大きかった。
部分描画の他、透過画像の描画で差が出たり。
今時の端末なら単純な部分描画で処理落ちが気になるようなことはない。
が、描画に限らず極端に動作がトロいソフバン端末とかあるけどね。
前半で携帯もJavaも経験はあまり長くないこと(初心者)を示し
詳しく知っているふりなんてしてないけど何で『知ったか』って言われんだか。
見つけたWebからのコピーだけど
byte[] w=new byte[10240];
out=new ByteArrayOutputStream();
while (true) {
size=in.read(w);
if (size<=0) break;
out.write(w,0,size);
}
return out.toByteArray();
HTTPでContent-Lengthが取れれば
にしてByteArrayOutputStream,toByteArrayが省けるな。
とはいうものの
こんなことしなくてもメモリも速度も問題ないんだろうけど
気になっただけ。
この通信中って短い時間ではあるものの
ほかのスレッドが動いてくれないみたいだね。
ちょっとでも止まって欲しくないもんで
細かいことが気になったんですよ。
Content-Lengthに嘘っぱちな数字が入ってることもあるけどな
実際cgi経由ならContent-Lengthは好き勝手に改竄できるし
cgiはContent-Lengthを返さないものの方が多い
httpは実用的にAPIを組むなら順次読みながら終端を待つしかないよ
こんなのはhttpの初歩の問題であって回りくどいんじゃなくまともな実装だというべき
まぁ詳しくも無いのに薀蓄語ってる事を指して知ったかと言ってるんじゃない?
詳しく無い薀蓄っておかしなことだけどな
>>602 そこそこ他人に公開するアプリであれば
通信処理はSub Threadで実装するのが当たり前。
「ダウンロード中です」系のプログレスバーが実装されてるだろ。
で、それを実装するためには、Byte配列からの
取り出し(ループ処理)になっていないと困る。
通信中って決して短い時間ではない。
Content-Lengthの件は
>>603の通り。
通信してる関数の中で強引に描画してた気が・・・(´・ω・)
通信相手は限定されるんだから、Content-Lengthはちゃんと入れるか入れないか決めるだけないんじゃないの?
>>607 じゃあMIDPではブラウザみたいなアプリはiアプリみたくゲートウェイがないと作れませんね
確かにiアプリは自鯖にしか繋げられないから自鯖の設定なりゲートウェイのcgiなりで決め打ちできるがな
>>608 ???
Content-Length無くても問題ないよう作れば良いだけでは。
>>609 607は繋ぐ鯖が決まってるからContent-Lengthがあるかないか決め打ち処理できるだろと言ってて
608はんなわけあるかMIDPは本来どこの鯖にだって繋げられるんだから汎用的なAPIとしては現状のがまともな実装だ、DoJaなら確かにそんな処理でも問題ないがな
と言ってるだけだろ
>>605 よく見るとファイル1個取り込むごとにプログレス上げるとか
一度の通信量が制限されてる端末だとその制限量を落としきるタイミングでプログレス上げてる
というのが多いが
>>601 ファイルサイズが小さい場合はそれでいいけど
ゲームデータなどファイルサイズが大きい場合はそれだとアプリが止まって見える。
そうそう
止まって欲しくないんだ
止まってるように見えるほど描画速度に違いが出るものなのか
興味ある話だが大きい小さいじゃ分からないな
具体的な縦横サイズ(目安)を頼む
615 :
デフォルトの名無しさん:2007/10/28(日) 10:20:26
飛んでいる矢は止まっている
−ゼノン−
CLDC1.1+MIDP2.0+MEXA1.2です。
StringクラスでSJISコードの文字列を保持していて、
これをUTF-8に変換したいのですが、
いろいろ探しているのですが適切な関数が見つかりません。
スマートな方法をご存知の方がいればご教授願います。
>>614 なんで今までの話しの流れで端末の描画スピードの話しになるんだ?
ダウンロードスピードのことだろ…ハァ
>>616 Stringクラスにした時点で中身はunicodeだろ
getBytes("UTF-8")が通らないなら自力で変換するしかないんじゃね?
幸いStringからUTF-8への変換はそんなに面倒ではないよ
>>618 getBytes("UTFー8")で出来ました。
javadocの熟読が足らずすみません。。
助かりましたm(_ _)m
>>617 キミが流れ読めてないのかもしれんぞ。
>>601が
>>600の
>昔、iアプリで部分描画したらかなり処理落ちしたことがあったんでな
を引用したうえで部分描画の速さについてカキコ。
>>612が
>>601に対してファイルサイズによってアプリが止まって見えるとカキコ。
これが部分描画とファイルサイズの関連付けと受け取れる。
それを見て
>>614が詳細きぼん。
何か皮肉かツッコミに見えなくもないけど。
J2SE1.4.2_16、MIDP2.0、MEXA1.2で作ってるんですが、
810Tでのみソフトキーがきかないという現象が起こっていて困っています
他機種では問題なく動作しているんですが、
何か801Tでのみ気をつけないといけない機種依存バグなどがあるのでしょうか
どなたかご存知でしたらアドバイスいただけませんか
>>602のソースを見て思ったんだが
どっかのサイトでストリームからバイトデータを読み込む時は
バッファがあるだけ読み込めるとは限らないから
1byteずつバッファに読み込め
みたいな事が書いてあったんだが、これは本当なのか?
機種依存で読めない事はある。
DoJaの話だったと思うけど。
お前の記憶は当てにならない。
どこのサイトかをまず明確にしろ。
docomoが公開してるiアプリ開発ガイドpdfに書いてある
このスレかiアプリのスレか、たまに話題になるよな。
read()でサーバから画像ファイル読み込んでも表示できない、なぜだ?っての。
原因はread()1回でファイルサイズ分を取得しきれてなかったと。
で、read()は-1を返すまでループして呼び出すのが安全、として解決と。
>623
必ずしも1byteずつ読む必要はない。1KBずつでも10KBずつでもいい。
読み取り終わったことを見届けるのが大切ってことだろう。
ネットワークプログラミングをするならそれは常識だと思ってたんだがそうでもなかったんだな
常識を知らないやつがいるってだけだろう
Javaとかよく知らず何とか見よう見まねでAntとかつかって出来たが
客先の環境ではJConnectorを使えってエラーが出たらしい。
Antをどう書き直せばいいのかわからん。
orz
631 :
デフォルトの名無しさん:2007/10/31(水) 00:53:19
8割が知識をヒケラカス常識の無い典型的PGタイプやね。。。
>>630 内部で使用してるConnectorクラスをJConnectorクラスに修正して、
自分の*.classファイル群にJConnector.classを追加してビルドすればOKなはず。
>>632 どうもありがとう
色々設定変えたりしてjavacのエラーがなくなったものの
何度試しても駄目だったが
>>632を見て再チャレンジ
preverifyがwrong class nameでエラーになる。
(そもそもpreverifyがわからんのだけど)
JConnectだけpreverifyせずjarしたらできた。
あとでProGuardにも挑戦する予定
634 :
◆5cKTrS4ff2 :2007/11/01(木) 17:34:32
質問です。
今までDoJaでiアプリの開発は経験があるのですが、S!アプリを開発したいと思い環境を整えています。
ひとまずEclipseを入れて(DoJaではEclipseを使っていたので使いたい)、SoftBankのページから
MEXA SDK
Eclipse向けプラグイン
をインスコしてHelloWorldを試してみました。(これは正常に端末で動いた)
そこでいくつか質問です。
1)Eclipseから実行してエミュレータを呼び出すと、実行せずに落ちてしまいます
2)resourceフォルダに入れた画像を表示するアプリを作成しましたが、コンパイルしてもjarにresフォルダが入りません
WTKは肌に合わず、Eclipseだけですべて完結させたいと思っています。
対応策や解決方法をお教えください。
音声について皆さんに聞きたいんですが、iアプリやSアプリはmldやmmfなどの
軽いファイルが使用出来るからいいとして、オープンアプリの場合どうしていますか?
wavはめっちゃ重いですよね?しかもアプリ容量が最大300Kbだし…。
midiでは限界があるんですよ。
そもそもwavファイルって軽量化する事は可能なんでしょうか?
>>635 mmfって、オープンアプリでは使えないんだっけ?
>>637 オープンアプリはmidiとwavだけだったとオモ。
音声アリのアプリを作ろうとすると300Kbなんてあっという間な気が…。
300kじゃ足りないのでレコードストアに追い出したくても32kしか保存できないし
しかたないので随時ネットからダウンロードしようとしても1日3M制限がネックになるし
auはほんとクズだな
勘違いしてるようだがauにとってアプリとは、何を置いてもまずBREWアプリだぞ?
auにとってオープンアプリは「Javaアプリも動きます」って言えればいいだけのもの。
データ保存なし、通信不可、の仕様だったとしても不思議はなかったくらいだ。
俺が使ってるgeocitiesはJadアップロードできねーんだよな('A`)
>>640 しかし一般人にはBREWアプリ作れない罠
>>640 しってるさ、しかも公式サイトではオープンアプリ不可だしな
auはどんだけクァルコムとズブズブなんだと問い詰めたい
644 :
デフォルトの名無しさん:2007/11/02(金) 22:00:37
>>634 1)エラー状況をkwsk、jadにMIDxlet-API: JSCL-1.2.2とかないとか?
2)resフォルダを作る際、フォルダーじゃなくて
ソース・フォルダーとして作成すればおk
>>644 レスありがとうございます。
1)MIDxlet-API: JSCL-1.2.2はなかったなぁ。
端末で動いたからてっきりいらないのかと思った。
入れてみる。
エラーを吐き出さずにエミュレータが終了してしまう。
エラーログやSystem.outしてくれると助かるんだけど;
2)つまり、ソースの下にresフォルダを作成してぶち込むってこと?
>>644 ちなみにjadは下記のとおり。
3G携帯(MEXA)の場合はどう書くの?
MIDlet-Name: ImageEx
MIDlet-Vendor: vender01
MIDlet-Version: 1.0
MIDlet-1: ImageEx, , ImageEx
MIDlet-Jar-URL: ImageEx.jar
MIDlet-Jar-Size: 2331
連続してスレを汚して大変申し訳ない;
Untrustedでインストール
Trusted(3rd Party Domain)でインストール
ってなに?
Trustedって、DoJaでいうスクラッチパッドのこと?
これは酷すぎる・・・
>>648 申し訳ない;
Trusted、自己解決しました。
エミュレータは、「MIDxlet-API: JSCL-1.2.2」などを入れなくても起動するようになりました。
ありがとうございました。
650 :
644:2007/11/02(金) 23:13:31
>>646 1)MIDxlet-API: JSCL-1.2.2は、該当するAPI使ってなければいらない
以前に自分がハマったから書いただけ。
エミュレータ単体で起動して、エラー確認するしかない。
2)ソースと一緒に置いても構わないが(フォルダ作成せず)
気持ちが悪いと思うので、srcと同階層にリソース入れるフォルダを
新規で「ソース・フォルダーの作成」で作って、そこに入れる。
とりあえず、解決したならおk
651 :
デフォルトの名無しさん:2007/11/04(日) 10:35:46
質問です。
現在S!アプリでカメラを使ったアプリを作成しようとしています。
captureまではできたのですが、StorageConnectionでイメージオブジェクトを取得しようとすると
「java.io.IOException: invalid root」
というエラーが出てしまいます。
誰か原因がわかる方いらっしゃらないでしょうか?
652 :
デフォルトの名無しさん:2007/11/04(日) 12:20:15
S!アプリでフレームを機能を使ったカメラ撮影ができる機種というの
かなり限られているのでしょうか?
ソフトバンクの端末情報を見てみるとフレーム機能について言及していない機種が多く存在し、
困惑しております。
>>651 保存するためのフォルダがないと思われる。
エミュレータの設定でデータフォルダの保存先の設定があるから
該当する場所にフォルダが存在していることを確かめてみ。
654 :
デフォルトの名無しさん:2007/11/05(月) 08:18:22
>>653 ありがとうございます。
速くもとん挫気味ですが・・・。
再度詳細にご質問です。
camera.capture(); // デスクトップ上にあるテスト画像を選択
filename = camera.getFileName();
camera.close();
とした後に
StorageConnection storage = (StorageConnection)Connector.open("file:///"+filename);
(中身を取り出す操作)
とすると先ほどと同じエラーが出てしまいます。
この方法でも
>>652さんの仰った方法でできるでしょうか?
あとその設定する場所がわからなかったので教えていただけないでしょうか?
申し訳ございませんがよろしくお願いします。
>>654 "file://"でOK。スラッシュが多い
656 :
653:2007/11/05(月) 10:35:28
>>654 使用しているのがMEXAエミュレータと仮定して
プログラムを見る限り、リファレンスでStorageConnectionの項目を見ていないのではないだろうか?
データフォルダのパスだがデフォルトでは本体のデータフォルダが
C:\SOFTBANK_MEXA_EMULATOR11\resource\ms\Other documents
SDカードのデータフォルダが
C:\SOFTBANK_MEXA_EMULATOR11\resource\mc\Other documents
となっている。まず最初にこの二つのパスがあることを確認するべし。
次にファイルのオープンだが、指定方法は
string filename = "test.dat";
string msroot = file:///ms/Other documents/"; // 本体のデータフォルダのルート
string mcroot = file:///ms/Other documents/"; // SDカードのデータフォルダのルート
StorageConnection storage = (StorageConnection)Connector.open(msroot + filename); // 本体のデータフォルダにアクセスならこっち
StorageConnection storage = (StorageConnection)Connector.open(mcroot + filename); // SDカードのデータフォルダにアクセスならこっち
となる。
このファイル指定方法はリファレンスに書かれているのできちんと読んでおくように。
ルートに記載した"Other documents"は、端末のその他フォルダに該当し、3GC端末はこのフォルダ以下でないと
ファイルを書き込むことができない。
なお、画像フォルダにアクセスする場合は、"Other documents"を"Pictures"に変更することでアクセスできると思うが
読み込み、および書き込みが可能かどうかは試したことがない。
657 :
653:2007/11/05(月) 11:13:47
× string msroot = file:///ms/Other documents/"; // 本体のデータフォルダのルート
× string mcroot = file:///ms/Other documents/"; // SDカードのデータフォルダのルート
○ string msroot = "file:///ms/Other documents/"; // 本体のデータフォルダのルート
○ string mcroot = "file:///mc/Other documents/"; // SDカードのデータフォルダのルート
いや、ちょっと待て
そもそもカメラデータの取得になんでStrageConnectionなんだ??違うだろ
CameraのAPIリファレンス見た?
>654
少なくとも>655の指摘は正しいからまずその通りに修正。
エミュレータのフォルダ位置設定とかはその後の話。
>658
勘違いで問題を引っ掻き回さないように。
Cameraはエミュレータでは完璧な互換動作はしません
ま、654程度であれば大丈夫だと思う
で、file://の問題を修正しても動かないと思うけど、
ファイルを選択する時に
Softbank_mexa_emulator\resource\ms\pictures
の下にあるファイルを選択すればうまく動くはず
理由は面倒だからパス。
ここらへん、エミュレータの完成度が高いのか低いのか…
とりあえずカメラ撮影して表示するサンプルと
StorageConnection使うサンプルそれぞれ別に作って
実機でデバッグしたほうが早いに1000ポイント
662 :
デフォルトの名無しさん:2007/11/05(月) 20:43:42
皆様返信ありがとうございます。
自分はエミュレータでもcaptureした画像(自分のPCのどこにある画像でも)を
取得してデータを別フォルダに書き込みようなことができると勘違いしていました。
どうやらエミュではうまくいかないようですね。
ご迷惑おかけしました。
663 :
635:2007/11/05(月) 23:42:07
>>635にてオープンアプリの音声について質問させてもらった者です。
とりあえずwavファイルを極力軽くするために100Kb以上のファイルを
サンプリングレート:8K
ビット数:8Bits
チャネル数:モノラル
という設定にしてみたら10Kb程度にする事が出来ました。
しかし、実機で確認しようとした所音が鳴りませんでした。。
WTKでは正常に鳴るのでソース上は問題ないと思います。
オープンアプリプレイヤーの場合、wavなら何でも鳴る訳ではないのでしょうか??
664 :
635:2007/11/06(火) 00:07:47
連投すみません…。
WTKで音鳴ってると書きましたが一切鳴っていませんでした(汗)
そもそもWTKではWAVEやMIDI再生時に音は鳴らない物なんですかね??
暫くまた自力で頑張ってみます。
>>664 プログラムが間違っているという可能性はないの?
666 :
デフォルトの名無しさん:2007/11/07(水) 12:37:04
>>664 おまいさんのOSはVistaじゃないのか?
WTKって音鳴るんだっけ?
S!のを作る時はエミュレータで確認(mmfだから当然だけど)するから
WTKで音の確認をするっていう概念がなかった。
確かにwavとかmidiだから鳴ってもおかしくない、というか鳴るべきだと思うのだが
実際のとこどうなの?
>>667 midiとwavならエミュレータでも鳴るよ
ところで禿電のやつってmidiとかwavって使えないの?
669 :
デフォルトの名無しさん:2007/11/11(日) 19:18:24
ChoiceGroupにおいて選択した時点でそのアクションを実行するようにしたいのですが、
Commandで指定したボタンを押さないと実行できません。
何か良い案はありますでしょうか?
ChoiceGroupは要素を複数選択する使い方もあるわけだから
どれか1つ選択した時点でアクションが起こるようだと役に立たないんだが。
>>669 自分で似たようなのを作る。これが確実。
J2MEをインストールしたいのですが、Sunのアカウント取得するのに個人情報を入力しないといけないのですか?
>>673 ∧∧
ヽ(・ω・)/ ズコー
\(.\ ノ
、ハ,,、  ̄
675 :
デフォルトの名無しさん:2007/11/12(月) 15:08:45
1.3のWindows用J2SEってもう落とせませんよね....
677 :
は@c44.010.c3-net.ne.jp ◆cplnFO9T0I :2007/11/12(月) 17:53:42 BE:151308656-2BP(1000)
今のWTKてアカウントのレジスト必要になったの?
CDCで遊んでるから俺はレジストしてるけど。
ちなみにWTKのデバイスエミュレータで音鳴るよ。
そろそろ、まともに動くPhoneMEが出てホシィ
fillArc()で描いた円が左右非対称orz
911SHだと240x320、240x354
705SHだと240x260、240x294
の複数の画面サイズに対応していますが、
自動的に大きいほうの画面サイズを選択してくれるような
jadファイルの記述方法はあるのでしょうか?
クライアントの情報を調べて、返すjadを変更するようなCGIを組めばいい
683 :
681:2007/11/15(木) 23:40:16
ということはやはりアプリゲットでは無理ですね。
ありがとうございました。
アプリゲット側には機種ごとに複数のjadファイルを置いておいて、別のサーバーに置いたCGIで振り分けるってのはどうだろう?
わざわざ "別のサーバ" にする意味が理解できない
あれ?アプリゲットってCGI使えたっけ?
MIDlet-Application-Range: 0,0
MIDxlet-ScreenSize: 0,0
で良いのでは??
みなアフォ
687+Canvas#setFullScreenMode(true)
setFullScreenMode(true)にするとソフトキー部分が使えるようになるんですよね?
ということは905SHの縦モードでフルスクリーンにしても上端の黒い部分は、やっぱり使えないのでしょうか?
691 :
デフォルトの名無しさん:2007/11/18(日) 03:46:12
>>690 ∧∧
ヽ(・ω・)/ ズコー
\(.\ ノ
、ハ,,、  ̄
693 :
デフォルトの名無しさん:2007/11/18(日) 04:08:09
>>692 ∧∧
ヽ(・ω・)/ ズコー
\(.\ ノ
、ハ,,、
質問です
当たり判定で
if(スブライト.collidesWith(タイルレイヤー,false)){
VY=タイルレイヤー.getY()-1;
}
としても反応しないのですが理由わかる方いますか?
昨日からアプゲットの作者サイトでSアプリアップロードができないのですが
同じような状態の方はいらっしゃいますか?
ログインなどは普通にできるのですが、Sアプリのアップだけができません…。
696 :
695:2007/11/18(日) 22:16:27
解決しました…なんだったんでしょう…。
お騒がせしました。
確かにプロからみるとアフォすぎるw
プロなら払うもん払わないと仕事せんだろ常考
>>701 プロでない時代に誰にも頼ってないならいいが
大抵何かに頼ってたくせに自分が達成したからといい気になるやつ氏ね
>699
マジレスするとエスパーじゃないと答えられない。
質問するにしても>694だと説明の仕方が悪いんだ。
「反応しない」と言われても
キー入力を受け付けなくなったのか、画面の描画が止まったのか、
どういう状況を指しているのかわからない。
せっかくソースらしきものが書いてあってもどんな動作を期待してるのか伝わらない。
せいぜい「スプライト」「タイルレイヤー」の生成や値を見直して、くらいしか言えない。
int [][] MAP={
{1,2,3},
{4,0,5},
{6,0,7},
{8,9,10}};
MAP(省略してある)をTiledLayerでタイルレイヤー(本来はちゃんとしたな名前)生成
Spritでスブライト(前に同じ)生成して0の位置に置く
キーで下押すとVY増加スブライトが位置的に9に行く
if(スブライト.collidesWith(タイルレイヤー,false)){
ここでタイルレイヤーの上ギリギリの位置に修正するようにしたい
VY=タイルレイヤー.getY()-1;
}
こんな感じでは質問内容伝わりませんでしょうか?
スプライトクラス使えない携帯結構あるから使いものにならんだろ常考
処理遅い品
>>706 ソースそのものが携帯だと処理落ちする駄目なやつと言う事ですかorz
ては違う方法考えてみます
アドバイスありがとうございました
ソフトキーのキーコードを-21、-22(-6、-7)としてCanvas#keyPressedで処理するのはよくあることなのでしょうか?
というより特定の機種対策に見えるが。
712 :
709:2007/11/20(火) 22:05:06
とりあえずシャープと東芝で動けばいいのでこの方法でいこうと思います
ありがとうございました。
713 :
デフォルトの名無しさん:2007/11/20(火) 23:34:11
>>680 fillArc()は実装依存だけど重たいし綺麗じゃないから、円を描くんだったら
fillRect()をfillTriangle()x4(サイズが大きい場合はそれを更にx8)で囲むといいよ。
でもfillTriangle()も上下左右で微妙に非対称だったりするorz
ProGuardかけると
float a=1.0f;
System.out.println(a); -> 0
ってなることがあるんだけど、使い方間違ってる?
ソフトバンク MEXA1.2でアプリを制作しています。
MEXAでJAVAアプリ以外のBluetooth機器との通信を行いたいのですが可能でしょうか?
何らかの方法で可能となるのなら教えていただきたいのですが。
>>714 そのメソッドの引数名がaに変えられたとか、グローバル変数がaに変えられたとか?
「なることがある」っつうのが不思議だけど。
jad使って、デコンパイルしてみたら?
717 :
デフォルトの名無しさん:2007/11/22(木) 09:49:32
ぶっちゃけSアプリてメモリ何MBまで使えるの?
機種によっても違うのかな??
>>717 メモリってなにを指してるんだ?
ヒープかアプリサイズか?
ヒープなら、機種ごとに違う
アプリサイズなら、どの機種まで対応するかで変わってくる
3GCメガアプリ対応機だけでも2M〜8Mと色々。
ドコモのメガアプリ機はほぼ全て6M超積んでるから移植に苦労したわい。
720 :
デフォルトの名無しさん:2007/11/24(土) 11:35:46
721 :
デフォルトの名無しさん:2007/11/27(火) 09:36:25
Sアプリてダウンロードせずに動かせないんかねえ
アプリゲットにアップしようとすると制限でブツブツ言われるわ
まだ本当に実機で動くかどうかわからんものに長々とこういうアプリですと書くのも疲れるし
>>721 無理
それが出来たらSoftbankがパケ代稼げない。
特別バージョンのOSを施した端末なら転送できるみたいな事
書いてある資料見たことがあるような気がする
気がするだけかもしれんが
willcomへようこそ。
725 :
デフォルトの名無しさん:2007/11/27(火) 21:24:08
>>721 そもそもアプゲではじかれてるレベルの糞ソース書いてる時点で駄目だろ
実機どうのこうの以前の問題すぎる
文字描画で相談。
(1) g.drawString("あa", 40, 40, Graphics.LEFT | Graphics.TOP); と
(2) g.drawString("あa", 40, 40 + f.getBaselinePosition(), Graphics.LEFT | Graphics.BASELINE); は
同じ位置に描画されるだろうか。それとも「あ」と「a」の上下差に違いが出るだろうか。
Font#getBaselinePosition()の説明は
Gets the distance in pixels from the top of the text to the text's baseline.
1文字が占める四角形領域の上辺からベースラインまでの長さと考えてよいわけで、
それなら(1)(2)はどの端末でもその端末内で同じ位置に描画されるはず…
まぁベースラインにこだわって(2)の書き方をするより
直感的に分かりやすい(1)で行きたいなってことなんだけど、
DoJaと違ってアセント/ディセントが取れないのでイマイチ不安。
727 :
デフォルトの名無しさん:2007/11/28(水) 10:14:55
>>725 ソースの書き方の問題なのか?
データフォルダにアクセスしたいだけなのに弾かれるのは納得いかないんだが
データフォルダアクセスとhttp通信どっちもあるんじゃなくて?
糞かどうかは知らんけど。
んで、テストしたいだけなら制限かかる部分を端折ればいいんじゃないかと。
http通信のみ、データフォルダアクセスのみなら平気だし
一方ずつテストすればいい。
>721は個人作者がアプリゲット使うときの話だよね。規約よく読んでるか?
開発中のテスト用にUL/DLするならアプリの説明文は関係ないし、
制限されている機能も書いてある。
>727
MIDP-2.0の仕様とセキュリティの問題から、
端末内の情報にアクセスするのにある程度制限はあって当然。
データフォルダへのアクセスだけならオフィシャル作者登録すれば解除できる。
ただし通信機能との組み合わせはダメ。それも規約に書いてある。
というかland.to鯖みたいな鯖借りて.htta(ry等を自分で書いて、
アプリ作成も自分でやればDL/ULについては何も制限かからないのに、
アプリゲット1本にこだわる理由が全く分からない
>730
一般作者のSアプリがコンテンツアグリゲータ以外のサーバからDLできるのか?
すまん。
auのOAPととドコモの場合しか分からないけど書いた
softbankは何か規制があるのか?
auのBREWとOAPの中間みたいだな…
これはひどい
>>softbankユーザー
すまんかったorz
w-zero3の勝利だな。とか言ってみるw
W-Zero3だとiアプリみたいにブラウザと連携できないというか
アプリからブラウザ起動はOperaが起動してけっこう重いし
ブラウザからアプリ起動がまったくできないとちょっとアレなんだが
auとかはどうなんだろう?
auは開発者自身なら公開できない制約を除けばやりたい放題。
ただ転送がHTTP通信並みに遅いのと充電しながら転送できないのがちょっと。
それBREWじゃないの?
うん
BREWはいろいろできるけど、
使ってる機能についていちいち検証資料に
書かなきゃいけないのがメドイ
741 :
デフォルトの名無しさん:2007/11/29(木) 21:46:28
でっていう
742 :
デフォルトの名無しさん:2007/11/30(金) 14:44:55
S!アプリ(MIDP2.0)について質問です。
待ち受けアプリを作成しているのですが、特定の機種(820P、705P、706P)で
待ち受けアプリを起動すると、何も表示されずにアプリそのものが落ちてしまいます。
落ちた原因を調べるため、ソフトバンクの技術資料「MIDP2.0対応端末 Pert4,Pert6」で
記述されている端末個別仕様を確認すると、MIDlet属性の拡張項目の「MIDxlet-Resident」や、
MEXA Unit2(JSCL)項目の「com.j_phone.midlet.ResidentMIDlet」が「×」になってました。
これらの項目が「×」になっている端末では、待ち受けアプリを起動することが
できないのでしょうか?
ご教授いただけたら幸いです。
ご教示
744 :
デフォルトの名無しさん:2007/12/02(日) 00:50:59
aho
746 :
デフォルトの名無しさん:2007/12/09(日) 18:56:53
最近書き込み無くて寂しいな…
師走で忙しいんじゃない?
チラ裏
PCでのエミュレータで処理落ちしまくったやつダメ元で携帯にぶっこんだらスイスイ動いてビックリした
最近の携帯はどの位の能力あるんだろ?
748 :
デフォルトの名無しさん:2007/12/17(月) 11:46:34
SoftBankのMEXAエミュレータについて質問です。
ヘルプにSSL通信にはサーバの証明書が必要と書いてあるんですが、
通信先サーバごとに証明書を入手しなければいけないのでしょうか?
ブラウザのようにどことでもSSL通信を行うようにはできませんか?
質問の意図が分からん。
ブラウザだって、サーバ証明書が無ければSSL通信は出来ないよ?
>>748 通信先のサイトの証明書と同じルートCAのクライアント証明書が携帯に組み込まれている必要があります。
ちなみに、いわゆるオレオレ証明書がサイトのほうで登録されていると、
ブラウザの場合は、「照明されていないサイト」云々のダイアログがでて、ユーザの認識確認後に接続しますが、
アプリの場合、ソレができないので、携帯に登録されているCAをもつサイトとのみしか通信できません。
softbankの高速通信ってどうやるのでしょう?
多分、SocketConnectionを使うのだと思うけど探してみたけど情報はないですね。
ここには書けないような特別な契約をしないと使えないのかなぁ。
しないと使えないですよ
なるほど。ありがとう
MEXAのHttpConnectionに一回の通信で送受信出来るデータ量の制限ってあるのでしょうか。
どなたか教えて頂けませんか
Sアプリ開発ガイドに、MIMEタイプごとの受信制限が載ってるけど
参考になるかな。
それ以外のテキストデータとかの送受信はどうなんだろうね。
書いてないので制限が無い(アプリのメモリの許す限り。あとは
サーバしだい)と思っていいのか…。
j2seのCharacter#isDigitは全角数字もTrueを返しますが
midpの場合はFalseを返してしまいます。
仕様の違いなんでしょうか?
>>757 SEのjava.lang.Character#isDigit(char)が全角数字で true 返すのは仕様に明記してある。
CLDCのjava.lang.Character#isDigit(char)の方は仕様には明記してない。
明示的に全角でtrue返すようになったのって5.0からじゃなかった?
>>759 いや、1.1の頃から全角は入ってる。
むしろ 1.3まで明記されてたグルガ数字とか、タミル数字とかが
1.4から「そのほかにも多数の文字範囲に、数字が含まれます。」
みたいな記述に置き換えられて明示的には列挙されなくなった。
>>757 Characterのクラスの説明に
> by default the character property and case conversion operations in CLDC
> are available only for the ISO Latin-1 range of characters.
> Other Unicode character blocks can be supported as necessary.
って書いてあるね。
762 :
757:2007/12/20(木) 22:13:05
763 :
デフォルトの名無しさん:2007/12/21(金) 22:20:00
MEXAで、3Dサウンドの使い方を教えてください。
Environment3Dを色々いぢってみたものの
一向にリバーブがかからない、と言うより
どうやってPlayerと関連付けさせるのかがわかりません。
>>756 あれら以外は使っちゃいけない。
ちなみにテキスト (text/plain) は SB のプロクシで中身書き換えられることあるぞ。
何でも image/gif とか application/java でやり取りするのが妥当。
GraphicsUtil について質問があります。よろしくお願いします。
MEXA Emulater 1.1 を使っています。
jad の MIDxlet-API には JSCL1.2.2 を指定しています。
1:
GraphicsUtil.drawPseudoTransparentImage なんですが、
エミュレータでは指定したマスクデータ通りに表示されず
(どんなマスクデータを指定しても単なる画像表示しかしてくれず)、
実機で全く同じものを動かしてみたら期待通りに動作してくれました。
これってエミュレータのバグなんでしょうか?
何かエミュレータでも動かせるような対処方法などありますでしょうか。
2.
>>306さんが、
>GraphicsUtilはMEXA Unit2に該当するクラスだから
>東芝とシャープ以外の端末では使えない。
と書いておりますが、私の見解では JSCL-1.2.2 に対応している端末ならば
使えると思い込んでおりました。私個人が使用している端末がシャープなので
今は動いていますが、もしかして公開すると東芝シャープ以外の端末では
JSCL-1.2.2 以降の端末でも動かないアプリになってしまいますか?
3.
MIDP の drawRegion と、GraphicsUtil の drawRegion に
拡大縮小以外の違いはありますか?
速度的なものは自分でテストプログラムを作れ!といわれそうですが、
それ以外にも留意する点などありましたら教えてください。
以上、よろしければお答えください。よろしくお願いします。
766 :
306:2007/12/23(日) 11:28:28
2のみの回答
東芝シャープ以外の端末でJSCL-1.2.2 以降の端末というのは802Nと703Nの
2端末しかないのだが、こいつらは非常に危険。
中身はMEXAのUnit1の半分が対応しているくらいにしか考えないほうがいい。
http://developers.softbankmobile.co.jp/dp/tool_dl/java/tech.php このページの[端末情報 MIDP 2.0対応端末編 1.0.7 2007-12-21]をダウンロードして
47ページを見るとわかるが上記の2端末は、可能な描画編集機能の中のピクセル操作、拡大/縮小、
透過マスクパターン指定による描画の三つの機能に×が付いている。
切り出し、回転、反転は使用できると書いてあるが、これはMIDP2.0のGraphics#drawRegionでもできるので
GraphicsUtilが使用できるという保障ではない(この辺、端末でちゃんと調べてない)
余談だが、俺はこれらの2端末をJSCL-1.2.2の機能が全て入っていると考えてデータフォルダを使った
アプリを製作しリリースした。、その後ユーザーからクレームが来て初めてデータフォルダ内部でフォルダを
作成できないということを知った。まぁ、リリースする端末を全てチェックしないで出した俺がいけないんだけどさ。
>765
1: MEXAエミュレータのReadme_ja.txt
>■[制限事項]
>- MEXA Enhanced Graphics 機能
>アンチエイリアスの機能には対応しておりません。
>アンチエイリアス対応ライクな実装をしていますが、実際にエイリアス/アンチ
>エイリアスを切り替えて描画をおこなっても画像に変化はありません。
こんな具合だから、
制限事項に書いてなくともGraphicsUtil.drawPseudoTransparentImage()も同様かもね。
JSCLを使うならエミュレータもJSCL用のものを使う方が合理的。
それで動作しなかったら、まぁその程度の扱いのAPIだということで決着。
3:
描画先も描画元も、画像をはみ出す領域を指定したらどうなるか調べた方がいい。
落ちるのか、黒く塗られるのか、何も処理されないのか、とか。
768 :
748:2007/12/23(日) 17:26:26
>>749 >>750 >>751 遅レスすいません。
実機(PCのブラウザとかも)にはあらかじめ証明書が入っていますが、
MEXAエミュレータには何も証明書が入っていなくてSSL通信できないのです。
自分で買わなきゃいけないのかなあと。
ちなみに通信先のサーバはオレオレ証明書じゃなく、
ちゃんとした証明書を持っています(実機ならSSL通信できるので)
769 :
765:2007/12/23(日) 22:08:51
>>766,
>>767 ご丁寧にありがとうございました!
GraphicsUtil.drawPseudoTransparentImage のテストを
全て実機で行わなければいけないのは面倒そうですが、
そもそも GraphicsUtil を使わない方が吉と出そうですね。
drawRegion も MIDP で作りなおす方向で検討します。
良いメソッドだと思うんだけどなぁ・・・Pseudo・・・
770 :
756:2007/12/25(火) 14:35:55
S!アプリでアイコンを指定したいんだけど、うまくいきません。
Eclipse+MEXAエミュレータ上では、jadいじるときにアイコンを選択でき、それが表示
される。けど、実機に転送するとデフォルトアイコンになってしまう。
(Eclipse上ではResourceというディレクトリをソースフォルダとして作成したところ
jadを編集する画面でResourceフォルダ上の画像を選択できたし、生成したjarには
このフォルダはちゃんと含まれてた。指定したアイコンは24*24のpngファイル)
SoftBankの技術資料では、Jarの中にはManifestファイル、1つ以上のclassファイル、
必要があればResourceファイルを格納する旨あり、Resourceファイル内のアイコンを
Jadで指定するとある。
で、Resourceファイルとは何だと見ていくんだけど、アプリで使用するリソース(画像やら
音楽やら)を格納する以上の記述が無い。
アイコンをResourceから指定する以上Resourceファイルは決まったフォーマットの
はずなんだけど、アーカイブする手順等を見ても、*.mf、*.class、Resourceを
このコマンドラインでjarにアーカイブします、としかない。
アイコンを指定するためにResourceファイル作成からやりたいのですが、
Resourceファイルを作る方法はどのドキュメントにあるのか、分かる方教えて頂けませんでしょうか
>>771 アイコンファイル名にディレクトリ含むのは有効だったかしら?試したことない
あとなにか楽しい勘違いをしているふんいきですが、
Resourceファイル=[『リソース』ファイル=classとか以外のファイル(画像とかサウンドとか)
であり、そのファイルの作り方となると世の中に溢れ過ぎてて答えづらい
auのOAPの場合ならjarに格納してから、jadでもアイコンをアイコンとして指定する必要があったな
SBでも同じかどうか分からんが
>>771 Eclipse使ってないから、よく分からんが
画像表示してるアプリならプロジェクトのどこかに
その画像が入ってるフォルダがあるだろうから
それにアイコンファイル入れとけばいいんじゃね?
>>771 うちの場合、jadの「起動MIDletの選択」にあるアイコンに記述せず
ユーザ定義属性に「MIDlet-Icon: /icon.png」とか書いてる。
>>773氏の言うやりかただね。
リソースについては、ソースのあるフォルダにアイコンを含む画像等の
ファイルを全部ぶちこんでビルドすれば、別途アーカイブしたりする必要は
無いよ。
それで、ソースとそれ以外のファイルを分けたいなと思ったら、resとか
ディレクトリ作って、通常のビルド後にそのディレクトリのファイルを
jarに突っ込む(+jad内のファイルサイズ更新)ことになると思う。
776 :
デフォルトの名無しさん:2008/01/01(火) 18:32:13
Yes/Noの回答で良いのですが、
オープンアプリで、
png画像をサーバから取得
↓
保存領域へ保存
↓
保存領域からbyte配列で取得←ここまでは正常っぽい
↓
Image#createImage←ここでIllegalArgumentException
これはpngが悪い、で間違いないですかね
778 :
デフォルトの名無しさん:2008/01/01(火) 21:52:59 BE:763948984-BRZ(11979)
911Tの不具合報告が多い件
なにこの糞機種
779 :
デフォルトの名無しさん:2008/01/01(火) 22:09:55
Uhh...
Yes and No.
Please explain the problem in detail.
OR
Please say it in Japanese.
YesとNoで答えろって言われたから英語でかいてみた
>777
>ここまでは正常っぽい
その時点で本当に期待通り正常だったら
最後のImage#createImage()でIllegalArgumentExceptionは出ないよね
IllegalArgumentException:引数が不正
→byte配列がおかしいってこと
→pngデータが格納されてないってこと
→保存領域から正常なpngデータが取得できてないってこと
(データ自体が不正なのか、取得処理が失敗してるのか)
→pngデータをサーバから正常に取得できてないかもしれないってこと
こんだけさかのぼって考えられるんだけど
>>781 レスありがとうございます。
実機持ちではなく、iアプリからの移植でやってるので、容易に確認をすることができないのも原因究明に手こずってる一因ではあります。
書き忘れましたが、iアプリ→au OAP移植です。
JWT上では問題なく動作しています。
JWTもあまりあてにはできないようですが。
サーバから正常に取得できていないかもしれない
については、サーバから取得したデータ長の確認はしていて、1byte単位まで同じサイズだったので、
問題ないと判断しました。
読み書きについては、JWT上で動いているので、
何も起きてなければ大丈夫かなーと判断していますが、これは甘いということですかね。
いろいろ調べてOAPで使用できるpngの縛りに適合できてないのかな…と思っているのですが…。
>>777 pngをサーバからダウンロードするとき、Content-Typeは正しいものになっているか?
なっていない場合、ある特定の値が勝手に書き換えられることがある。
>>780 私の質問にイエスかはいでお返事下さい。
785 :
デフォルトの名無しさん:2008/01/02(水) 21:15:14
ProGuardのサーバのCGIおかしくなってる??
ダウンロードのリンクをクリックするとフリーズするんですけど…(T-T)
787 :
デフォルトの名無しさん:2008/01/03(木) 01:29:30
>>786 そうそう、まさにそのアドレスにアクセスした瞬間にフリーズするよ。
CGIが暴走した時のような感じで、他に動かしてるアプリケーションも小刻みな動きになる。。
なんでだろう??てか、ミラーサイトみたいな所ってないですよね?
>>787 もしvista+IE7とか使ってたら回線切って首(ry
使ってもいない癖に批判する人って嫌ねぇ。
(Vista+IE7でも落とせるっちゅーの)
自演ktkr
792 :
デフォルトの名無しさん:2008/01/04(金) 11:44:35
RecordStoreについて教えて下さい。
INT型の数値を保存して読み出そうとしています。
変数の中身が255までは正常に読み書き可能なのですが
256以降は変数の中身が違う数値に置き換えられてしまいます。
なぜでしょうか…。
>792
RecordStore#getRecord()で1byteしか読み込んでないから。
または2byte以上読み込んでるのに最初の1byteしか見てないから。
またはRecordStore#setRecord()で4byte正しく書き込んでないから。
目的の値がint型なら読み書きは4byte。
int型とbyte配列の変換がわからないならJavaスレで質問して。
これから初めてSアプリを作りたいのですが、
何からそろえればいいですか?
パソコンだな
>794
「Vアプリ 作り方」でググる。解決。
以上。
797 :
デフォルトの名無しさん:2008/01/06(日) 23:27:52
リソースフォルダにgif画像を置いておき、
それを読み込んでフレーム撮影を行うことってできるのでしょうか?
camera.setPictureFrame("/test.gif");
で試してみたのですが、うまくいきませんでした。
もしかしたら携帯のフォルダに画像を保存しなければできないのでしょうか?
3gc端末での質問です。
アプリからネイティブメーラーの送信メール作成画面を表示したいのですが、
一部端末でエラーとなってしまいます。
MIDlet m_MIDlet;
try{
m_MIDlet.platformRequest( "mailto:?subjectAAA&body=BBB" );
}catch(Exception e){}
810SHなどでは大丈夫なのですが、904SHでは
javax.microedition.io.ConnectionNotFoundException:
Unsupported url : mailto:?subjectAAA&body=BBB
とエラーになってしまいます。
端末により何か違いがあるのでしょうか?
>subjectAAA
「=」入ってないからじゃないのか
810SHはたまたま動いただけで
801 :
799:2008/01/10(木) 16:08:24
>>800 すみません、写し間違いでした。実際は下記の通りになります。
MIDlet m_MIDlet;
try{
m_MIDlet.platformRequest( "mailto:?subject=AAA&body=BBB" );
}catch(Exception e){}
公式資料のPDFで端末仕様を確認してみると、
804SH、904SH、905SH、
705SH、903SH、703SH/f
にて
JSCL1.2.2 メール送受信機能のサポート
アプリからメール送受信機能を実装しているか否か
・・・MMS/SMS:○ Email:×
となっているのですが、これは関係ありますでしょうか?
アプリ開発資料MIDP2.0にはm_MIDlet.platformRequest( "mailto" );
が使用できない可能性については書かれていないので、
3GCならどんな端末でも可能だと思っていたのですが・・・。
802 :
799:2008/01/10(木) 16:23:21
上記の、「JSCL1.2.2 メール送受信機能のサポート」に関しては、
MIDP2.0の命令を使用しているので関係なかったですね・・・。
混乱していました。
904SHのMIDP2.0 platformRequest対応可否 ネイティブメーラー起動機能
は○になっていました。
>>802 うちの904SHでも駄目だった。("mailto:"すら通らんのね)
ま、Unsupportっていわれてるんだから本当に対応してないんじゃない?
使えているという人の降臨を気長に待つか、シャープに問い合わせるか、
諦めたほうがよいかと。
804 :
デフォルトの名無しさん:2008/01/13(日) 14:18:15
著作権保護のない着うたフルをデータフォルダないしSDカードから再生できる音楽プレイヤーのようなオープンアプリって無理でしょうか?
auのオープンアプリはデータフォルダやSDに一切アクセス出来ません。
>>806 初歩的な質問なのに回答ありがとうございました。
OAP対応でJavaアプリ目覚めて
仕様を知りガッカリしてベンダー変更するやつ多そう
俺もその一人なんだけどね
ギャルゲ移植しようとOAP携帯買う
期待してPHASE3.0を移植
300KBで(・ω・`)
データを本体かSDに入れて…
アクセスできない('A`)
仕方ないからこまめにネット通信でデータをちまちま飛ばそうとする
30KB制限('A`)…
そして仕方ないからLOOX U購入
PhoneMEがもっとまともに動けば環境がないわけでもないんだけどね。
811 :
799:2008/01/15(火) 09:33:30
>>803 実際に確認もして頂いてありがとうございます。
やはり駄目でしたか・・・。
一部T端末の資料には「to」「cc」「bcc」がない場合
正常に動作しないことがある等注意事項が記載されていましたので、
それらも試してみましたが結果は同じでした。(まぁ今回はSH端末ですが)
いろいろ調べてみましたが、解決策を見つけることができなかった為、
SoftBankに問い合わせてみました。
返答が早いといいのですが・・・。
質問があるのですが
BGM等の音を鳴らしていない時に、
端末のボタン確認音が鳴る物があるのですが
これってアプリ側で制御することは出来ないですよね?
814 :
七誌:2008/01/16(水) 02:02:42
基本なのかも知れませんが、教えてください。。。
S!アプリ、MEXA Emulater、Eclipseで作成しており、HTTP通信をしたいのですがうまくいきません。
どこか間違ってますでしょうか?
--Source--
public class SndRcv extends Thread {
Data data;
public void run(){
try{
connectHTTP(data);
}
catch(CertificateException e){}
catch(IOException e){}
}
815 :
七誌:2008/01/16(水) 02:03:24
--JAD--
MIDxlet-API: MEXA
MIDxlet-ScreenSize: 240,294
MIDlet-Permission: javax.microedition.io.Connector.http
MIDlet-Permission-Opt: com.j-phone.system.DeviceControl.read,javax.microedition.io.Connector.socket
MicroEdition-Configuration: CLDC-1.1
MicroEdition-Profile: MIDP-2.0
--実行結果--
before
java.lang.SecurityException: javax.microedition.io.Connector.http was denied
at com.jblend.security.midp20.SecurityManagerImpl.checkPermission(+40)
at jp.co.aplix.cldc.io.j2me.http.HttpConnectionImpl.open(+86)
at com.jblend.io.ProtocolBase.createConnectionImpl(+7)
at javax.microedition.io.Connector.openPrim(+159)
at javax.microedition.io.Connector.open(+9)
at data.SndRcv.connectHTTP(+29)
at data.SndRcv.run(+8)
Permissionが間違っていると思っているのですが、何を追加してよいやら・・・分かりません><
816 :
七誌:2008/01/16(水) 02:04:16
連続で書き込み、申し訳ありませんが、
よろしくお願いします。<(_ _*)>
817 :
七誌:2008/01/16(水) 02:05:19
実際のメソッド部分が抜けてました(・_・、)
public void connectHTTP(Data data) throws CertificateException, IOException {
HttpConnection http = null;
InputStream httpsInStream = null;
String uri = "
http://www.yahoo.co.jp/";
try {
System.out.println("before");
http = (HttpConnection)Connector.open(uri, Connector.READ, true);
System.out.println("after");
data.setDetail("is Open");
httpsInStream = http.openDataInputStream();
}
catch(Exception e ){
e.printStackTrace();
}
finally{
if(httpsInStream != null){
httpsInStream.close();
}
if(http != null){
http.close();
}
}
}
>>814 コピペしたjadとconnectgHTTPメソッドを使って、うちの環境では動くんだけど。
ただし、エミュのUse Network設定を許可しないにしておくと同じエラーが出る。
ちなみにあなたは、「携帯でラジオ聞けるアプリ〜」の中の人?
yahooに繋いでいるからだとおも
それは一例だろjk…
DojaおよびMIDPでクラスを動的にロードする方法はありますか?
ネットワークより取得したクラスファイルのクラスのフィールドにアクセスをしたいのですが。
また、もし可能なのであれば、クラスファイルは事前検証済みの必要があるのでしょうか?
やりたいこととして、アプリ内に記述した固定値のテーブルを外部から読み込むのに、
独自のバイナリではなくクラスファイルを利用したいと思っています。
>DojaおよびMIDPでクラスを動的にロードする方法はありますか?
DojaおよびMIDPともにない
きっぱりあきらめて
自前でバイトコードインタプリタを書くしかない
jigブラウザのjigletみたいに
>>822-823 jigletは自前だったのですか。
非常に納得致しました。
どうもありがとうございました。
MEはスループットの理由から動的ロード無くしちゃったからね。KVMは。
826 :
デフォルトの名無しさん:2008/01/16(水) 19:50:19
オープンアプリからカメラを呼び出してQRコード読み取りってできないんですかね?
MIDPの仕様にはカメラ制御のAPIがなかったので無理っぽそうなんですが…。
OAPにMIDP以上のものを求めてはいけない
828 :
デフォルトの名無しさん:2008/01/16(水) 21:26:40
OAPはCLDCにMIDPだけ。
わかりやすく言うと画面と音とキーとHTTP/HTTPS通信と
わずかに割り当てられた独立セーブエリア以外には一切アクセスできない
音はmmf相当
ネットは1回(回って変な表現だが)30KB制限。1日では3MB制限
セーブ領域は32KB
831 :
七誌:2008/01/16(水) 23:20:47
>>818,819
すみません。本気で、yahooのHTMLを取ろうとしてました( TωT)
自分のサーバにアクセスしても、HTMLが取れないんで、
テスト用として、yahooのURIを利用していたのですが、
yahooだと繋がらないんですか??自分のサーバにもまだ繋がってないです。。。
何が足りないんでしょうか?ヽ(。_゜)ノ?
教えてくださいませ・・・
832 :
七誌:2008/01/16(水) 23:57:11
>>818 あ、ちなみに回答しておきます。
Use Network設定は、ONにしています。
実機に載せても同じく、deniedとなっています。
んでもって、「携帯でラジオ聞けるアプリ〜」の中の人ではありません^^;
│
│ ≡ ('('('('A`)
│≡ 〜( ( ( (〜)
↓ ≡ ノ ノ ノ ノ ノ サッ
>828
>829
やっぱりそうですか。諦めます。ありがとうございました。
ImageをByteに変換することってできますか?
>836
MIDP-2.0でImageをbyte配列にするなら
Image#getRGB()でint配列に格納、それをbyte配列に変換すればいい
1byteずつByteクラスで置き換えるかはキミの自由だ(一応ツッコミ)
>>837 レスありがとうございます。
その方法を試してみます。
>>838 レスありがとうございます。
Reosurceフォルダから取得したImageオブジェクトを
Byte[]に変換してカメラのフレームにセットしようと思っています。
イメージとしてはこんな感じです。
Image image = Image.createImage("/test.jpg");
Byte[] byte = // バイト配列に変換
camera.setPictureFrame(byte);
>839
CameraConnection#setPictureFrame(byte[] bytes)の引数は
Imageを直したものではなくてJPEGとかの画像そのままのデータでしょう。
だから>839のことがやりたかったらこっちを使うんじゃないかな。
CameraConnection#setPictureFrame(java.lang.String frameFileName);
それと>837で言われてるが、Byte[]じゃなくてbyte[]。
質問内容とは関係ないことだが違うものだから区別しよう。
>>840 ご回答ありがとうございます
リソースフォルダにある画像を
CameraConnection#setPictureFrame(java.lang.String frameFileName);
これでセットしようとしたらできませんでした。
一応ググったり過去ログみたのですが、わからなかったので
一度Imageオブジェクトにしてbyte[]にしようと思いました。
もしかしたらうまくセットする方法があるのでしょうか?
質問続き申し訳ございませんがよろしくお願いします。
>>841 setPictureFrameを試したあたりのソースとエラー内容を貼ってもらえる?
適当なjpeg使って試したらフツーに出来た(少なくとも例外は出ない)ので
セットしようとしている画像が悪いのか、それ以外の部分が悪いのか
判断しかねる。
843 :
七誌:2008/01/18(金) 03:04:43
>>842 resフォルダにtest.pngを保存して
camera.setPictureFrame("/test.png");
だと、画像を見つけられなくてできませんでした。
携帯の適当なフォルダに保存して、
camera.setPictureFrame("/ms/Pictures/test.png")
ならできたのですが、resフォルダの画像はセットできないのかなと。
カメラモードにして撮影した画像をフォルダに保存させない方法ってありますか?
>>843 JADの
MIDlet-Permission-Opt: com.j-phone.system.DeviceControl.read,javax.microedition.io.Connector.socket
の行を消してもダメかな?
説明サイトで書いてる所がないから言ってるだけなんだが(汗
>>844 実行しているjarに、test.pngはちゃんと入ってる?
MEXAはDoJaと違って、resディレクトリ作ってリソース置いただけじゃ
jarに格納されないよ?
>>843 エラーの内容から、設定か環境が原因だと思われるので、コピペせず
ゼロから最小構成の単機能を実装したテストアプリを作ってみる。
それでできなきゃあ、あとは環境見直してねくらいしか言えない。
>>847 Image#createImageでimageオブジェクトとしては取り出せてるので、
パスの指定方法が違うとかですかね?
他にもいろいろと試してみたいと思います。
ご回答ありがとうございました。
>>844 >>resフォルダにtest.pngを保存して
>>camera.setPictureFrame("/test.png");
スキーム無くていいの?
MIDPならリソース一緒に固めたら相対パスでいける。
camera.setPictureFrame("res:///test.png");
でいけるか?
848が誰かリアルでわかってしまった。
せっかく>842がソース出したら見るよつってんのに
>841は出さずにあれじゃできないこれじゃできない言ってるし
出せない理由があるなら断って
せめて>842にcamera.setPictureFrame()の行をどう書いたか教えてもらえば
それで解決じゃないか
>>848 camera.setPictureFrame("resource:///test.jpeg");
こんだけなんだけどなあ。
あとスキーム無しでも試してて、そっちもいけた。
それから もしうまくいったら、原因と対策を報告してくれると
みんなの為になると思うよ。
856 :
デフォルトの名無しさん:2008/01/22(火) 22:40:10
なぁ、誰か920SHをターゲットにしてるやついねぇ?
VCENTER|HCENTERでマーカー指定するとたまにバグらんか?
857 :
デフォルトの名無しさん:2008/01/23(水) 15:56:43
>>854 そのやり方でうまくいきそうなのにできないのでどこか設定ミスかもしれません
もしうまくいったら報告しますね
技術資料「基礎編.pdf」の最後のページによると
セキュリティ設定を変えることで、セキュリティに関わるAPIを
ユーザの許可をもらうことなくできそうなことが書いてあるんだが
実際のやり方が書いてない……
実際にそんなことってできるかどうか知ってる人いますか?
>ユーザの許可をもらうことなくできそうなことが書いてあるんだが
何処にどう書いてあるのかを詳しく
trustedの勘違いだと思うけど。
できたらスパイウェアつくり放題なわけで・・・
861 :
デフォルトの名無しさん:2008/01/27(日) 14:50:25
でもやってる会社あるらしいぜ。
SoftBank端末のセキュリティ設定を最初から[常に許可する]の
状態にすることができるらしい。
やり方は調べなかったので、暇なやつはSoftBankに問い合わせしてみるといい。
初心者から誘導されてきました。
端末のベンチを測りたくて、データフォルダの容量を0に
するようなアプリを作りたいのですが、
オープンアプリで作成可能でしょうか。
参考になりそうなサイトやアプリがありましたら
ぜひ教えていただきたいです。
829+バイブだな
>>863 つまりオープンアプリでなくて、
普通のMIDPアプリなら可能ってことですか?
>865
質問の意味がおかしいよ。意味が通じない。
「オープンアプリ」とはauの端末で動くJava(CLDC+MIDP)の勝手アプリのこと。
「普通のMIDPアプリ」って何だ?何を指してるのか分からない。
ケータイアプリから端末のデータフォルダへのアクセスに関しては
キャリアや端末シリーズによって制限がまちまち。
(アクセスできるのかできないのか、何バイト読み書きできるのか、といった制限)
「データフォルダの容量を0にするようなアプリを作りたい」と言われても
一口に「できる」「できない」とは答えられない。
ローカルファイルのアクセスはPDA Optional Packageだな
ほんの少しでも怪しいことは無理です
>>866 すいません、日本語になってませんでした
オープンアプリではなく、SoftBankで動くアプリなら
できそうですか?
ということを聞きたかったんです。
>>869 auのBREWアプリならその気になればできる。
auのOAP、DoCoMo、SB(一部除く)はできない。
SBならStorageConnectionでできるでしょ。
sアプリでiアプリみたいに、
アプリからアプリを起動させたり、ブラウザからアプリを起動させたりすることは可能でしょうか?
873 :
デフォルトの名無しさん:2008/02/05(火) 09:28:35
質問があります。
現在HttpConnectionを使用してサーバーにアップしているdeflate圧縮のファイルを取得し
その後にStorageConnectionを使用し内部にそのファイルを保存する。
というプログラムを作成しているのですが
サーバー上のファイルと取得して保存したファイルのサイズが明らかに変わっています。
サーバー上のサイズ 7070byte
保存後のサイズ 7441byte
どうやらHttpConnectionで取得しているでおかしいファイルサイズを取得しているようです。
エミュレータ上では正しくデータ取得出来て、端末上で以上のような状態になっています。
使用端末は903SHです。
同様の症状・解決方法はありますでしょうか?よろしくお願いします。
ヘキサダンプ吐いてみたら?
つ MIME Type
S!アプリをEclipseとMEXAで勉強中なのですが質問があります。
テキストボックスなどで入力したものがテキストボックスに反映されません・・・。
MIDP2.0携帯JAVAアプリ開発ハンドブックを読み進んでいるのですが、
4.5テキストボックスを使用するの部分で、
恐らく入力したものが画面に反映されると思うのですが、
上手く反映されてくれません・・・。
これはMEXAだからなのでしょうか。
行っていることは最初の画面でコマンドで入力というものを追加し、
入力が押されたら入力画面へ、
入力画面でテキストを入力したらコマンドでOKを押すことで元の画面に戻る。
そしてテキストが反映される・・・という動作になるのだと思うのですが。
入力画面ではテキストを入力出来ず、FIREキーを押すことでさらに違う画面に以降して、
数字などのテキストを入力可能になり、
もう一度FIREキーを押すと入力画面に戻るのですが全くの空欄です。
その本を持ってないと全く答えようがない質問だな
>>876 MEXAエミュレータのバグだったような・・・
たぶん実機だとうまくいく
879 :
876:2008/02/10(日) 16:23:34
ソース貼らせてもらいます
public class TextBoxForm extends Form implements CommandListener{
StringItem stringItem;
TextBox textBox;
Command[] command = new Command[2];
//コンストラクタ
public TextBoxForm(){
super("テキストボックス");
//コマンド
command[0] = new Command("入力",Command.SCREEN,0);
addCommand(command[0]);
setCommandListener(this);
//文字列アイテム
stringItem = new StringItem("","");
append(stringItem);
//テキストボックス
textBox = new TextBox("","",200,TextField.ANY);
command[1] = new Command("OK",Command.SCREEN,0);
textBox.addCommand(command[1]);
textBox.setCommandListener(this);
}
880 :
876:2008/02/10(日) 16:24:44
//ソフトキーイベント
public void commandAction(Command c,Displayable s){
//テキストボックスを開く
if(c == command[0]){
textBox.setString(stringItem.getText());
Display.getDisplay(TextBoxEx.midlet).setCurrent(textBox);
}
//テキストボックスを閉じる
if(c == command[1]){
stringItem.setText(textBox.getString());
Display.getDisplay(TextBoxEx.midlet).setCurrent(this);
}
}
}
881 :
876:2008/02/10(日) 16:26:11
>>878 MEXAのバグの可能性があるのですか・・・。
しかし、自分はまだ初心者で勉強しながらやっている段階ですので、
こちらの知識不足があるのかな・・・と思い質問させていただきました。
883 :
デフォルトの名無しさん:2008/02/11(月) 00:19:05
>>876 あーこれね
文字入力した後に反映されないって奴でしょ
確か文字入力した後に決定キーやFIREキーじゃなくて、CTRLキー?ALTだったかな
それを押してみればいけるはず
884 :
876:2008/02/11(月) 10:20:37
>>883 うぉ!!!!!
行けました!Ctrl+Altでした!
ありがとうございました〜。
今後のためにも・・・この情報はどこに載っているのでしょうか・・・?
885 :
876:2008/02/11(月) 10:52:09
たびたびすみません・・・これで最後にします。
>>883 普通にMEXAエミュレータのヘルプに載ってました・・・すみません。
どうやらCtrlだけで良いようです。
ありがとうございました!
携帯用アプリでゲーム作るとしたら
やはりスプライト重視が良いんですかね?
ハードウェアスプライトを積んでいるわけでもないので好きに汁
PhrasePlayer#getAudioTrackCount()
PhrasePlayer#getTrackCount()
これらで帰ってくる値のミニマムスペックが知りたいのだけど、その手の情報はどこかにまとまってないかな?
DoCoMoだとAPI自体にミニマムスペックについての注釈があるんだけど…
>>888 MEXA2.0のAPIに双方ともにゼロからってあるから、ゼロなんじゃない?
Sアプリ開発ガイドにサウンドメディアの多重再生可否って項目があって
4ch MIDI + 4ch Wave. 4ch Phrase + 1ch smaf-audio〜
みたいに端末毎にあるから、それが参考になるやも。
要するに、まとまった情報はない…のかな?
(おおむねTrackCount=4, AudioTrackCount=1っぽいけど)
やる気があるなら、まとめるの手伝うよ。
音系詳しくないんだけど、4Trackってことは1Track4和音だから、16和音までしかアプリでは使えないのか?
便乗
JACL1.1以降をつかってる場合に
Phrase.getUseTracks()って1以外を返すことってありえるの?
もし2とか返されても、どうPhraseTrack.setTrackすりゃいいのやら謎だし
4TrackまではC4の頃から保障されている。
3GCからは5Track使用できる端末もあったような気がするが
安定性を考えて4Trackで考えたほうがいい。
>4Trackってことは1Track4和音だから、16和音までしかアプリでは使えないのか?
Yes
>>892 >Yes
うわぁ、結構しょぼいナリぃ…
AudioPhraseの方も使えば32和音できるようだが…(それならMediaPlayer使えって話だなw)
894 :
デフォルトの名無しさん:2008/02/21(木) 19:19:08
ソフトバンクの開発ガイドを参考にメールからアプリ起動をやろうとしています。
814T、912Tではメールからアプリが起動できました。
しかし、821SH、913SH、810SHでは起動できません
(起動リンクを選択しても無反応)でした。
ソフトバンクのアプリでメールから起動している方や参考になるページなど
情報ありますでしょうか?
Eclipse関連で質問です
EclipseでSアプリの開発始めたのですが
プロジェクト>プロパティー>ライブラリー
に、自作のJavaライブラリ(mylib.zip)を設定してビルドしても、その中のクラスをJarに取り込んでくれません
よく見てみれば、その設定には(その中のクラスをJarに取り込まない)stubclasses.zipが含まれているわけで
ここに追加してもダメそうです
自作のJavaライブラリから(そのプロジェクトに必要な)クラスを取り出してJarに取り込んでもらうためには、どこに設定すればよいのでしょうか?
>>895 896じゃないけど。
正しいか分からないがEclipse3.2.0で次のような事が出来た。
プロジェクト → プロパティー → Java のビルド・パス
「ソース」タブの「ソースのリンク」で、参照したいJavaファイルの
あるディレクトリを指定。フォルダ名は適当に。
参照先のJavaファイルも一緒にコンパイルされて、classとして
参照元のclassファイルとともに出力されるみたい。
>>898 それだと全てのクラスが取り込まれてしまって、不必要なクラス分実行ファイル(Jar)が重くなってしまうんです
ProGuardとかかけるって手もありますが…
書き忘れとなってしまってとても申し訳ないのですが、目的の1つに
「まとまったライブラリの中から、インポートした(このプロジェクトに必要な)クラスだけを抜き出して、Jarの中に同梱して欲しい」というのがあるんです。
ソフトキーが押された判定を
public void commandAction(Command c, Displayable s)
でとっているのですが、これだと「ソフトキーが押されてる間○○しつづける」という処理ができそうにありません
単純にソフトキーが今押されてるか、放されてるかといった情報はとれないでものでしょうか?
>>899 どのクラスがプロジェクトにとって必要かは自動的に判断できない。
Class.forNameでクラス名が文字列指定されることもあるから。
>900
ソフトキーは本来の名の通りコマンド実行のきっかけとするためのキーだから、
押しつづけていることや放されたことを検出できるようにはなっていない。
「ソフトキーが押されてる間○○しつづける」というプログラムの設計を改める必要がある。
MIDPの仕様として、ソフトキーはそういう使い方をするキーではないということ。
大概の機種ならKeyPressとKeyReleaseでも捕捉可能。
>>903 ソフトキーに対応するキーコードって定数化されてたか??
Image.getGraphicsって、なんで新しいGraphicsを生成して返すんでしょうか?
Javaは基本的に
getXXXは唯一のインスタンスを
createXXXは新たに生成したインスタンスを
返すのが基本だと思っていたのですが…?
そんなの作者に聞け。って話かもしれませんが、気になったもので
私の基本だと思っていた〜が間違っているのでしょうか?
えーほんとにー?
>>906 getでも新しいインスタンスを返すことは往々にしてある
まぁそういうのが気持ち悪いというのはわからんでもないが
自分が作るクラスではそういう設計しないよう気をつけることだな
質問です
過去ログを探してもGameCanvasを使っての
g = getGraphics();
g.色々描画
g.flushGraphics();
に関する話が無いのですが、携帯JavaはGameCanvasが非対応だったりするんでしょうか?
それともダブルバッファリングが未対応(isDoubleBuffered()がfalseを返す)のでしょうか?
>>908 どうも
往々にしてあるんですか…
APIリファレンスをきっちり確認しつつ開発するしかないですね。ありがとうございます
>>909 ダブルバッファリングは実装によるよ。
w-zero3のJBlend[micro]ならする。
単に聞くほどのことでもないからじゃない?
>909
MIDP2.0端末ならGameCanvasに必ず対応している。
オープンアプリの実機で自作のゲームを試してたら黒が表示されなくて悩んでいた
よく見るとpng画像ファイルの黒の部分が透過色になっていた
のでgimpで透過色を保存してセーブしたがうまくいかなかった
ググってたらbrewのpngファイルは背景色が透過色になると書いてあったので
背景色を保存してセーブしたらうまくいった
PNGの透過色はtRNSチャンクで指定する事って何処かに書いてあったはず。
gimpが勝手に背景色をtRNSチャンクに指定してるだけと思われるので誤解なきよう。
そういやMIDP3.0のjavadocだとABGRのフォーマットが明示されてたな。
あの文書化された部分2.0でも共通なんだろうか。
Image#createRGBImage()やImage#getRGB()などの
RGBフォーマットは0xAARRGGBBで統一されている。
ただし、getRGBする時にはネイティブカラーにより
減色されてる実装もありえるらしい。
>だれか解説してくれませんか?
は?
開発ガイドを公開してくれてるんだから読めばいいじゃない
>>919 javaの仕様についてほとんどわからないんですよ。
芋のは
ServerSocket通信
secureSocket通信
SocketStream通信
が非対応になってますけど
このI/Oはどういうった時に使うのでしょう?
Streamというとニコニコみたいなストリーミングでしょうか?
次はsunのJSR嫁というレスがくる予感…読んでもライブラリまでは載ってないけどな!
MIDP2.0準拠って書いてあるけどサポートしてるオプションAPIは2.1ベースだな。
開発もWTK2.5使うし。
M3GとマスコットカプセルとJSR-239に対応してるのか。
要するに3DToolkit全部か。
ヒープサイズはw-zero3の方が1M多いな。
まあどうせこれもレジストリでヒープサイズ持ってるんだろけど。
JSR-172はvalidation parserなのか凄いな。PhoneMEですらnone-validなのに。
でも対応スキーマが書いてねぇ。
SVGはXLink対応w
今のところ対応APIも準拠レベルも最強だな。
これでjarサイズがもう少しあればいいのに。
UDP対応してるからネットラジオのプレイヤーとかつくれるな。
現在見えてる仕様の範囲だと
Docomoのトラステッドiアプリに近い気がする。
後はアプリ自体のレスポンスとか、
外部メモリの利用の可否とレスポンスとか、
その辺が気になる所だな。
pdfのP39-40を見ると外部メモリも内部メモリも
アクセス可能なようだが
お、UDP対応してるのか。まだ見てないが
TCP/IPも対応してたら神じゃのぉ、神じゃのぉ
WillcomかSBで配信中のアプリの移植による素早いコンテンツ供給を当てにしているのだろうが
今のイーモバのシェアでは、移植費用すらペイできるかどうか。
移植つーかMIDP準拠だから
普通にそのまま使えそう。
取り合えず流し読みしてみたがみんなが言ってる通り最新J2MEの範疇でかなり全部入りって感じだ
ネットワークの通信制限事項が書かれてないが1日Nbyteまでってのはないのかね?
まあそんなことするのOAPだけだが
資料見る限りトラステッドの魅力があんまりないな
とりあえず実行ファイルが吸い出せないなら仕事にはなるかもw
933 :
デフォルトの名無しさん:2008/02/29(金) 12:26:40
>>932 だから、willcomはだめなんだよな。
同じWM機だからファイラーでROM読めば何でも出来ると思うんだが。
イーモバイルの今度出るやつ、TOSIBA製のほうはWM搭載じゃないっぽいから、
そっちだけ対応にすれば大丈夫かも。
TOSIBA?
OAPスレでも書いたんだが、どうも認知度が低い見たいなので亀情報ですが。
いわゆるKCP+端末、つまりW54TとかはマイクロSDからアプリインストール可能。
PCフォルダの下にOAPフォルダを作って、そこにJar/Jadを入れる。
一度アプリをバックアップすればPCフォルダにOAPフォルダが出来てるからそこに。
通信せずともアプリインストールできるのでOAP対応の開発をする人には朗報かも。
w-zero3持ちには関係ない話だな
へええ。
でも54TはKCP+じゃないけどね。
どうやってバックアップするのか悩んじまったじゃねえか。
941 :
デフォルトの名無しさん:2008/03/11(火) 10:43:55
芋のアプリだけど、JAD使ってダウンロードすれば自動的にTRUSTEDになるのかな?
JARを直接ダウンロードしたらUNTRUSTEDになりますとか書いてあるから。
普通jadにパーミッション書くだろ
>>937 確かそれ不可能。
microSDにぶちこんでも認識しない。
バックアップ取るときに別形式に勝手に変換される。その形式しか認識しない。
945 :
デフォルトの名無しさん:2008/03/12(水) 22:56:50
SアプリでImageの拡大縮小しようと思って
GraphicsUtil.drawRegion() を使おうと思ったんだが、
透明色が反映されないのは仕様?
>>937 jadとマニュフェストのチェックはいつされるの?
オープンアプリの糞仕様変わらんかなー
BREWがあるからjavaはおまけ程度じゃね
KVMのバージョン1.1搭載端末ってもう出てるんすか?
>>937 >>944 どっちの情報が正しいんだろ?
本当にマイクロSDからインスコできるならW56Tに買い換えたい
AUショップの店員じゃその辺知らないだろな・・・
>>952 KCP+端末なら、OAPはSDからMIDletをインストール出来るよ。
いくつか制限事項があるけど、取り敢えずファイル名は短めに。
これ以上は言えん。
>>951 今の端末は、KVMってか、CLDCの1.1ですよ。
>
>>951 > 今の端末は、KVMってか、CLDCの1.1ですよ。
そういう意味じゃないと思うぞ。確かに
>>951の言い方も良くないが。
この春モデルから搭載され始めたOAPがver1.1で、ワイド画面が使えたりする。
端末はもう発売されてるよ。
W61Hの電子ペーパーってBREWからでも操作できないのかな。
模様が出るだけだったら無駄すぎるぜ。
カレンダーとか表示できれば便利だと思うんだけどなあ。
>>955 いや、模様が出るだけで制御できない。
W61Hのアレは最初から刻まれたパターン表示しかできない(昔のゲームウォッチの液晶みたいなもん)
つまり文字表示そのものが無理だ。
まぁ、自由に設定できたら著作権と面倒そうだからな。
W54SAで試してみた。できた。まあ953のいう通り。
>>958 今のところは著作権云々より単純にコストの問題だろう。
auは端末製造コストを相当削ってるみたいだから。
高性能化する携帯だが、背面液晶は昔から比べると随分寂しい情勢だな・・・。
961 :
デフォルトの名無しさん:2008/03/18(火) 21:36:23
どうしてもわからないので質問させてください
J2SE 1.4.2_17
Eclipse 3.3.2
MEXA 1.2 エミュレータ
Eclipseプラグイン for MEXA
J2ME Wireless Toolkit 2.2(patch済み)
EclipseME 1.7.8
(この2つは不要??)
上記のものをインストールして、MEXAエミュレータで動作するところまで確認したのですが
難読・最適化のためにProGuard 4.2をインストール、proguardgui.jarを実行し、
・Input/Output jarを設定
・Java\j2re1.4.2_17\lib\rt.jarを削除、SOFTBANK_MEXA_EMULATOR12\lib\stubclasses.zipを追加
・LibraryのみKeep
・Use mixed-case class namesのチェックを外す
・Optimization passesを9に
この設定で生成したところ、たしかにサイズは減っているのですがMEXAのコンソールにVerifyErrorが出ていて実行できないのです
それとEclipseでProGuardを実行しようともしたのですが、MEの設定が必要な事がわかり、
J2MEのDevice ManagementでWTK22ディレクトリからImportし終わってOKボタンを押すと
「An error has occurred. See error log for more details.」と出て、
.metadata\.logを見ると、!MESSAGE Problems occurred when invoking code from plug-in: "org.eclipse.jface".とあって
これは何なんだWTKかEclipseMEのバージョンがおかしいのでしょうか ・;(`ε()゙
何か知っている方がいましたら情報ください
よろしくお願いします
最後の顔文字さえなければ教えたのに・・
>>962 困ってる様だし、知ってるなら教えてあげてはどうだろう
おれは知らないけど・;(`ε()゙
俺はテキストエディタ派・;(`ε()゙
>>961 Proguardを実行してできたjarを解凍して
WTKのpreverifyかけてあげなきゃダメだよ
EclipseからProguard使うのは、バッチファイルを
プロジェクトのビルダーに登録して、コンパイル後に
動くようにしてるけど、みんなはどうやってるんだろう?
・;(`ε()゙
Ant
>>962 そんなこと言わずに教えてください・・
>>965 WTKのpreverifyというのがよくわかりませんがそれでMEを使わずに単独でProguardできるのですか
EclipseからProguard使うバッチファイルというのを調べてみます
Proguard使うって事は最終的な段階だし、WTKでビルドした方が安心感ない?
つー俺もテキストエディタ派・;(`ε()゙
もう次スレのスレタイにこれ入れちゃいなよ→・;(`ε()゙
MEXAエミュレータで10〜20FPSで動くプログラムなら実機でもこれぐらいの速度は出るんでしょうか?
実機でためせばいいじゃん
PCのクロックと端末機種、それに処理内容によるとしか。
フレームレート気にするってことはグラフィックの負荷が高いアプリだろうから
実機のほうが圧倒的に速いような気はする。
>>972 ありがとうございます。
グラフィックに関しては、drawStringを複数回呼んで太文字を表現するプログラムを7、8回行うだけでも速度が低下することだけが気になります。drawImageとsetClipを使った部分描画でもかなりの回数描画できるのですが…。
プログラムはタスクシステムで、リストへの追加や削除で時間を要する場合があるので、だいたいこれぐらいで動いてくれればいいなと思ってます。この場合、問題はヒープの方ですかね?
当然だけどエミュより実機の方が思い通りに動いてくれる場合が多いよね・;(`ε()゙
drawString()はdrawImage()とは比較にならないほど遅いメソッド。
実機でも非常に遅い。
それは重たいわな。もちろんBOLD指定は試したんだろうけど。
アルファ使えるんなら文字列部分は別イメージに描画しといて
それを使いまわしたほうがいいと思う。
リスト処理に時間が掛かる場合はUIとは別スレッドで。
drawStringってそんなに処理速度遅いかな
内部的にはわからんが数回程度じゃ目に見えて遅いなーという印象はない
ゲームのスコア表示とかに多用するけど
同じくそれほど遅いと感じたことは無い気がする
iアプリじゃ太文字描画はdrawString重ねが定番みたいだし
iアプリと比べるのも変か
不変の文字をいくつも常時描画するなら、文字を書いた画像を一枚描画するほうが早いのかね
まあやり方次第か
いや、iアプリでもdrawStringは重い・;(`ε()゙
たとえば長い説明文をスクロールさせたり、動く背景に重なってるスコアなど
毎フレーム再描画する必要がある文字列の場合、
素の状態の描画と、太字や縁取りの装飾をした描画で比べてみると遅さの違いがわかるよ。
キーを押したら”おはよう”を1行描くという処理と
キーを押したら”おはよう”を10行描くという処理では、ほとんど差はないと思うが。
drawStringというよりは、Stringクラスによる大量ヒープ消費→ガベージという流れ
・・・というオチではないよね?
>Stringクラスによる大量ヒープ消費→ガベージ
もちろん文字列の生成と連結がないうえでの話だろう
文字列の描画が速いと思える理由がわからんw
もっとも単純な方法としてすら、1文字ずつImageもっておいて描画する方式。
1文字ずつ細切れにdrawImageしてるようなもんだ。遅いだろ
一般的な文字の描画はアウトラインを解析しつつ1ドットずつ描画だ。
もっと遅い。
携帯は前者だろうな。文字の大きさがかなり限られてるから、いちいち後者の方式でやる利点が無い。
逆に後者でやってるなら、文字の大きさは自由自在のはずだし。