CLDC+MIDP+携帯電話用Javaスレッド part 2
レス数が950を超えています。1000を超えると書き込みができなくなります。
0001誰
NGNG質問でも議論でも何でもこい、と。
前スレ:
携帯JAVAのスレッド
http://pc2.2ch.net/test/read.cgi/tech/1011977260/
--
Java一般に関しては:
【初心者】Java質問・相談スレ37【大歓迎】
http://pc2.2ch.net/test/read.cgi/tech/1070159693/
NTT DoCoMoのiモード携帯電話用Java(iアプリ)については:
iモード携帯電話用Java(iアプリ) Part 4
http://pc2.2ch.net/test/read.cgi/tech/1067139509/
>>2あたりにリンク集
0002誰
NGNGhttp://www.google.co.jp/
Java 2 Platform, Micro Edition (J2ME)
http://java.sun.com/j2me/
Reference Documentation(仕様書やAPIリファレンス)
http://java.sun.com/j2me/docs/
J2ME Wireless Toolkit
http://java.sun.com/products/j2mewtoolkit/
EZアプリ技術情報
http://www.au.kddi.com/ezfactory/tec/spec/ezplus.html
Vアプリ技術情報(Vodafone Developers Support Site)
http://www.dp.j-phone.com/dp/
0003デフォルトの名無しさん
NGNG0004デフォルトの名無しさん
NGNG0005デフォルトの名無しさん
NGNGHttpConnectionでCGIにアクセスしたときに、サーバー側CGIで環境変数は拾える?
HTTP_REMOTE_HOSTとか。
0006デフォルトの名無しさん
NGNG0007デフォルトの名無しさん
NGNGMIDP2.0 なら、キャリア拡張仕様が無くても、かなりのことができるよ。
そして、JTWIなら...。
やめとこ、守秘義務が...。
0008デフォルトの名無しさん
NGNGMailTransportListener
の使い方が・・・いまいちわかりません。
もしよかったら、サンプルのある場所等ご存知でしたらお教えください。
0009デフォルトの名無しさん
NGNG時間はできたんだけどなぁ・・・・
0010デフォルトの名無しさん
NGNG0011デフォルトの名無しさん
NGNGサンクス
0012デフォルトの名無しさん
NGNGsmafData=new SmafData("/he.mmf");
player.setData(smafData);
player.play(true);
これで再生するとリピート再生になってしまうのですが、
解決方法を教えてください。。
*細かいところは省略してます。
0013デフォルトの名無しさん
NGNGplayer.play(false);
または
player.play(1);
にする。
カッコの中はboolean指定で繰り返し再生の有無。
数値で繰り返し回数。
0014デフォルトの名無しさん
NGNGレスサンクス。
が。また問題が発生。
再生を終了したら
player.stop(); を実行するようにするには
どうすればよいのでしょぅか?
いままでは
if(c==he){
if(select==0){player.play(false);select = 1;}
else{player.stop();select = 0;}
}
でボタンを再び押せば停止って感じだったんだけど、
player.play(false); で再生したら止まるようになったので・・・
0015デフォルトの名無しさん
NGNGアプリを実機で動かし、http通信をすると下記のようなresponseがきます。
<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml">
<wml>
<head><meta http-equiv="Cache-Contorol" content="max-age=0" forua="true"/></head>
<card><p>リクエストされたページは表示できません。</p></card>
</wml>
GETで、サーバ側のCGIが動きDBからデータをとってくるはずなのですが・・・
エミュレーターでのHTTP通信だと問題はありません。
なにかご存知の方いらっしゃいましたら教えてください。
0016デフォルトの名無しさん
NGNGMediaPlayerListenerを使えばいいのでは。
>>15
詳しくはわからないけど、エミュレータは、直接サーバに通信してるんじゃないかと。
実機だと、KDDIのサーバを経由するので、エラーチェックとかに
引っかかってると思う。
ドキュメントによると、WMLとかHDMLは送信できないとか、いろいろ制限があるみたいだけど。
0017デフォルトの名無しさん
NGNGインタフェースを2つ以上実装するにはどうすれば・・・
implements MediaPlayerListener,CommandListener,Runnable
だとエラーになるし・・・
0018デフォルトの名無しさん
NGNGで普通に通ってるけど。
0019デフォルトの名無しさん
NGNG0020デフォルトの名無しさん
NGNG16が書いているようにKDDIのサーバを経由するので、使えるデータタイプが
制限されてます。CGI で出してるデータの Content-type がなにになって
いるか調べてみてください。テキストだと text/plain、バイナリだと
application/octet-stream にしとくのが無難かと。
0021デフォルトの名無しさん
NGNGデータをhdmlのタグで包んで返さないといけないとかそういうことでは、
ないんですね。
0022デフォルトの名無しさん
NGNGダウンロードデータが正しくありません。
と表示されてうまくダウンロードできないのですが
どうすればいいでしょうか。
htmlの中身
<?xml version="1.0"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML Basic 1.0//EN"
"http://www.w3.org/TR/xhtml-basic/xhtml-basic10.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja">
<head>
<title>au</title>
<meta http-equiv="Cache-Control" content="no-cache"/>
<meta name="vnd.up.markable" content="false"/>
</head>
<body>
Hello<hr>
<object data="Hello.kjx" type="application/x-kjx" copyright="no" standby="download">
<param name="disposition" value="devkdj2" valuetype="data"/>
<param name="size" value="2337" valuetype="data"/>
<param name="title" value="Hello" valuetype="data"/>
</object>
</body>
</html>
0023デフォルトの名無しさん
NGNGサンクス。
メゾットが抜けてただけでした・・・。。
0024デフォルトの名無しさん
NGNGezgetというCGIがおすすめ。
0025デフォルトの名無しさん
NGNG選ばれたら確認画面→それをレコードに保存するには
どうすればいいのでしょぅか?
0026デフォルトの名無しさん
NGNGList→Alert→RecordStore
002725
NGNGpublic void paint(Graphics g)
で表示出来ない・・・
ってかオプションとか使わないとダメとか?
0028デフォルトの名無しさん
NGNG0029デフォルトの名無しさん
NGNG0030名無しさん
NGNG容量制限の関係で、ファイルを沢山もてません。
具体的には、1パターンの人間の画像をjarに入れておいて
服の色、頭の色違いで何パターンか元ネタから、プログラム内で生成し、
レコードストアに入れておきたいのですが。
やり方や、サンプルなどご存知の方がいらっしゃいましたら教えてください。
0031デフォルトの名無しさん
NGNGttp://jasrv.com/mob_e/tips/index.html
ttp://tech.millto.net/~pngnews/kndh/PngSpec1.2/PNGcontents.html
ttp://www.aya.or.jp/~sanami/peace/memorial/code21-30.html#CODE26
この辺。
0032デフォルトの名無しさん
NGNGttp://www.rarul.com/k-tai/java/1011977260.zip
0033デフォルトの名無しさん
NGNGありがとうございます。
0034デフォルトの名無しさん
NGNG003534
NGNGソースファイルが消えてしまったので・・・・
0036デフォルトの名無しさん
NGNGアキラメレ
KJXカッター
ezplusの実行形式KJXファイルを簡単にJADファイルとJARファイルに戻せる
↓
jarはzipと同じなので、適当なツールで伸張
↓
Java逆コンパイラ(沢山あるからググれ)にかける
0037デフォルトの名無しさん
NGNGで定義したものを
レコードストアから呼び出したものに置き換えたいのだが、
RecordStore rs=RecordStore.openRecordStore("test",false);
byte[] b=rs.getRecord(1);
まで呼び出したまではいいのだが、
modeにどうやって置き換えればいいんだ・・・
0038デフォルトの名無しさん
NGNGキャストしる。
mode = (int)b[0];
もしくは記録したのが4バイトなら
mode = ((int)b[0] << 24) | ((int)b[1] << 16) | ((int)b[2] << 8) | (int)b[3];
こんな感じ。
0039デフォルトの名無しさん
NGNGmode = (((b[0] & 0xff) << 24) | ((b[1] & 0xff) << 16) | ((b[3] & 0xff) << 8) | (b[4] & 0xff));
とかでよかったっけ?
004038
NGNG((int)b[0] << 24) & ((int)b[1] << 16) & ((int)b[2] << 8) & (int)b[3];
004238
NGNGbyte[0] = (byte)((mode >>> 24) & 0xFF);
byte[1] = (byte)((mode >>> 16) & 0xFF);
byte[2] = (byte)((mode >>> 8) & 0xFF);
byte[3] = (byte)(mode & 0xFF);
0043デフォルトの名無しさん
NGNGbyte の b は何処へいった?(w
int mode = 0;
だから1バイトじゃないのか?
0044デフォルトの名無しさん
NGNGそーゆーことをやってると、読み込むときに苦労する。
0045デフォルトの名無しさん
NGNG塗りつぶしを実装したいのだが
どのような方法が考えられますか?
俺が考えてみたのは
画面上の座標をチェックしながら
境界線となる色が見つかったら
その範囲内に直線を引いていく
というようなものだったのだが、画面上の
ドットを拾う方法がわからず・・・・
もう一つ考えたのは、配列(描画する大きさ分)
上に画面上のドットの色を保存しておいて
配列をチェックしつつ線を引いていく(塗りつぶす)
この方法で出来そうなのだが、そうするとLINE命令のような描画を
再現することができない(こともないとは思うが)
どんなカンジの処理をしたいかというと、
20年位前のAVGのような画面描画処理です。
サラトマ、スターアーサー、はーりぃふぉっくすみたいな。
線がちゃかちゃか描画されて、そのごとろい塗りつぶしが行われる。
そんなかんじの。
0046デフォルトの名無しさん
NGNGhttp://lee.phys.titech.ac.jp/~yasutake/PaintArea.html
0047デフォルトの名無しさん
NGNGう〜ん・・・
そこは、すでに昨日みたです。
塗りつぶしの方法については、まあ
いろんなアルゴリズムあるし、
高速である必要はないです。今回。
あえて、遅い方がらしさがでるようなきがするので・・・・
ぐぐってはみたんです、その上での質問です。
おそらく、わざとそんな昔のしょぼい描画を再現するなんて
需要ないだろうし、紹介している人もいないとは思います。
ですので、MIDPに詳しい方に方法として、どんなものが考えられるか
質問してみたのです。
ちなみに、MIDPのアンオフィシャルのAPIリファレンスのサイトと
MIDP解説本を参考に自分なりに考えてはみました。
JAVA SEでは、画面上のドットを取得するメソッドがあるみたいですが
MIDPのみでそのようなメソッドはないようですし、
見た目だけでも似た感じにできれば。。。と思っています。
長文の上、文章がへたですいません。
ならびに45さんありがとうございます。
004845
NGNGお礼は46さんですた・・・。
004937
NGNG書き込みの部分だが、
RecordStore rs=RecordStore.openRecordStore("test",true);
/*
ここにint modeの変換する処理・・・�@
*/
if (rs.getNumRecords()==0) {
rs.addRecord(b,0,b.length);
} else {
rs.setRecord(1,b,0,b.length);
}
rs.closeRecordStore();
と書いてあるだが、
�@に>>42をいれても文ではありません。とエラー。
うーん・・・ヨクワカラソ・・・
0050デフォルトの名無しさん
NGNGbyte[0] を b[0]に…
43 名前:デフォルトの名無しさん[sage] 投稿日:03/12/23 00:06
>>42
byte の b は何処へいった?(w
0051デフォルトの名無しさん
NGNG遅くしたいなら、ゆっくり描画すればいいのでは?
アルゴリズムはそこに出てるような感じでしょ
(スキャンラインシードフィルね)
0052デフォルトの名無しさん
NGNG一度削除したものを復活させるソフトがあるからそっちを試してみたらいいと思われ。
ttp://www.vector.co.jp/soft/win95/util/se192983.html
0053デフォルトの名無しさん
NGNG0054デフォルトの名無しさん
NGNGMIDP1.0では、Imageの pixelを取り出すことはできない。
そのうち出てくる MIDP2.0なら出来たと思う。
それから、EZアプリとVアプリのAPIでは、
Imageのpixel取れたと思うので、確認してみれば?
0055デフォルトの名無しさん
NGNGシンタックスエラーになってあたりまえ。
もう一度Javaの基礎を勉強しなおした方が良いかと。
50さんの指摘以外に、">>>" とかもエラー。
そんなのJavaにはありません。
005637
NGNGというか大体自分なりに書き換えて
成功したのでOKという方向で。
0057デフォルトの名無しさん
NGNG「>>>」を知らんのか?
それは、もう一度Javaの基礎を勉強し直した方がよいかと。
・・まぁオレも使わんけど。
0058デフォルトの名無しさん
NGNG0059デフォルトの名無しさん
NGNG0060デフォルトの名無しさん
NGNG0061デフォルトの名無しさん
NGNG本見たけど書いてなかったので・・・
0062デフォルトの名無しさん
NGNGUTF-8で書けば説明の項目に出るよ
0063デフォルトの名無しさん
NGNG何の本を読んだのか知らんが。
説明欄というのが、端末のプロパティから参照できるやつのことなら、
MIDlet-Description
0064デフォルトの名無しさん
NGNGレスサンクス
ちなみに
「携帯JAVAアプリケーション開発ガイド」
という本。
0065デフォルトの名無しさん
NGNGhttp://news6.2ch.net/appli/
0066デフォルトの名無しさん
NGNGsetDeviceActiveだとドキュメントにあると折りエラー...。
V601SHでメール作成画面等にあるときに着信音が鳴らない
(バイブレータも動かない)のをVアプリで補おうと思ったんだが...。
006766
NGNG0068デフォルトの名無しさん
NGNGメール作成画面時は常駐アプリが動いていなくて(一時停止)
そもそもイベントを取得できないと思うが。
0069デフォルトの名無しさん
NGNG設定で変更できるんじゃない?
007066
NGNGP5型でのみ使える MIDlet-Resident: S でいけるんじゃないかと
思っているんですが。ダメかしら。
>>69
それができないんですよ。取説にも書いていませんし、一応携帯板で
質問してみたんですが、やっぱりできなって話です。
0071デフォルトの名無しさん
NGNG継続起動待受アプリってやつだね。
こいつは、端末が折り畳まれていても実行され続ける、というだけのはず。
つまり、折り畳まれていても実行されている以外は、普通に実行されている状態と何ら変わらないのでは。
007266
NGNGそーゆーことですか。ありがとうございます。
となると、>>68 さんの言うように、なんにしろ目的は達成できそうに
ありませんね。
調べないでこの端末を買ったのが悪いんですが、ちと困ったな。
0073デフォルトの名無しさん
NGNGどうやればいいんでしょぅか・・・
0074デフォルトの名無しさん
NGNG・CameraConnection camera = Connector.open("camera:");
・いろいろ設定メソッドを呼び出す
・camera.capture();キャプチャする
007573
NGNGあと、P5用のパッケージがコンパイルで弾かれるんだけど
どうすればいいんだろう。。
いままで↓
javac -bootclasspath c:\J-PHONE-SDK\stubclasses.zip *.java -target 1.1
でコンパイルしてたけど
c:\J-PHONE-SDK\stubclasses.zipを使わなければいいだけ?
0076デフォルトの名無しさん
NGNGP5用のstubclasses.zipを使ってる?
007773
NGNGサンクス。
P4のままでした(汗
ってかカメラの起動〜保存までの書き方が分からない・・・。
誰かサンプルとか教えてください。。。
0078デフォルトの名無しさん
NGNGinfo= 0,1,2,3,4,5,6,7,8
だとして、
, で区切ったものを別々の変数?に分けるにはどうすれば・・・
例えば
a[2] → 2
a[3] → 3
のような形に・・。
0079デフォルトの名無しさん
NGNGhttp://pc2.2ch.net/test/read.cgi/tech/1072883528/
海外でよく使われていうる掲示板スクリプト
専用のオフラインリーダー作って下さい。
必要な条件はID、PASSを管理できること、
OpenJaneみたいな三面型の見た目。
簡単にローカライズできるように言語ファイルを採用
0080デフォルトの名無しさん
NGNG0081デフォルトの名無しさん
NGNGをsplitを使って , で分割するには
どのように書けばいいんでしょぅか?
008238
NGNG�@ 現在位置を保持
�A String#indexOf()で","の位置を取得
�B �Aで取得したところまでをString#substring()で抜き出す。
�C �Aで取得した位置に移動
�D �@に戻る
を文字列の終わりまで繰り返す。
008382
NGNG0084デフォルトの名無しさん
NGNGvbsですが、
info = "0,1,2,3,4,5,6,7,8"
result = Split(info,",")
これで result(LBound(result))〜result(UBound(result))に値が入ります。
008581
NGNGレスサンクス。
indexOF()で、もし , が無かったとき(-1)
にそこで処理を停止するに、
if文を使おうとしたのだが、
演算子 != は int,java.lang.String に適用できません。
と言われました。。
じゃあ何にすれば良いんだよと・・・・・
008681
NGNG0087デフォルトの名無しさん
NGNGコード片書いてちょ
0088デフォルトの名無しさん
NGNGコードは正直だ、おまいが悪い。
エラーになる部分のコード晒してみ。
008981
NGNGpublic void commandAction(Command c,Displayable s) {
if (c==soft1) {
info1=readText(url1);
int i0 = info1.indexOf(",");
if(i0 != "-1"){ // ここの部分でエラー
W01 = info1.substring(0,i0);
}
repaint();
}
public void paint(Graphics g) {
g.drawString(W01,0,80,g.LEFT|g.BOTTOM);
}
かなり省略してますが。。
readText(url1);は 0,19,41,0.02,0.07,0.10 という文字列が返ってきます。
それを , で分割してW01,W02,W03・・という感じで入れたいのです・・。
0090デフォルトの名無しさん
NGNG0091デフォルトの名無しさん
NGNGうはぁ・・・・脱帽
009281
NGNGperlと混ざって種。
スマソ。。
0093デフォルトの名無しさん
NGNG何で""が付いてんの?
> readText(url1);は 0,19,41,0.02,0.07,0.10 という文字列が返ってきます。
バイナリデータで返すように作ったら?
固定小数点でいいならゲタはかせて整数にすればいいし
0094デフォルトの名無しさん
NGNG0095デフォルトの名無しさん
NGNG0096デフォルトの名無しさん
NGNG0097デフォルトの名無しさん
NGNGどこに乗っているかご存知の方いませんか?
Javadoc(P5)には無いみたい
ちなみにclassの中を直接見ると
com/j_phone/media/ResourceOperatorになってました
0098↑
NGNGP5から使える機能化と思ってた
0099デフォルトの名無しさん
NGNGP5用のStorageConnection等の代替クラスを利用するノダ。
0100↑
NGNGStorageConnectionすげー
"フォルダ名/"にアクセスできるじゃん
でもP5型JSCL 1.2しか使えないんじゃなぁ
ちと勉強してみます
0101デフォルトの名無しさん
NGNG例として
int[] data;
data= new int[10];
data[0]=0;
.
.
.
data[9]=9;
みたいなのをレコードストアの1〜10までに保存したいわけですが・・・
どなたかご存知でしたら御教え下さい
0102デフォルトの名無しさん
NGNG間違ってたらスマソ。でも実際に使ってました。
int[] data = new int[5];
byte[] b;
RecordStore rs; // openRecordStoreを行う
for (i=0;i<5;i++) {
b=new byte[4];
b[0] = (byte)(data[i] & 255);
// 255迄しか数値を扱わない場合は以下3行削除
b[1] = (byte)((data[i]>>>8) & 255); // 65535
b[2] = (byte)((data[i]>>>16) & 255); // 16777215
b[3] = (byte)((data[i]>>>24) & 255); // 4294967295
rs.setRecord(b,0,b.length);
}
0103デフォルトの名無しさん
NGNG0104デフォルトの名無しさん
NGNG0105デフォルトの名無しさん
NGNG0106デフォルトの名無しさん
NGNGバカw
>>103
国内でもいくつかあるが、MIDPをキーにして探してみろ。
海外でソース置いてるとことか大量に出てくるぞ。
0107デフォルトの名無しさん
NGNGを 0.32 に、
String t02="001653";
を 16.53 にして画面に表示させるには
どうやればいいの?
0108デフォルトの名無しさん
NGNGStringとintに変換。
100で割る。
求めた2つのintを表示する。
0109デフォルトの名無しさん
NGNGint in1 = Integer.parseInt( t01 );
int ans1 = in1 / 100;
g.drawString(ans1,0,120,g.LEFT|g.BOTTOM);
ここまではやってみたが、
javax.microedition.lcdui.Graphics の drawString(java.lang.String,int,int,int) は (int,int,int,int) に適用できません。
細かいところを教えてください。。
お願いします。
0110デフォルトの名無しさん
NGNGg.drawString(""+ans1,0,120,g.LEFT|g.BOTTOM);
コンパイラが変換してくれます
0111デフォルトの名無しさん
NGNG数値が 0 になるのですが・・・。
0112デフォルトの名無しさん
NGNG0113デフォルトの名無しさん
NGNG後は・・・・・分かるな?
0114デフォルトの名無しさん
NGNG0115デフォルトの名無しさん
NGNG「レコードIDに対応するレコードをレコードストアから削除します。 そのレコードのためのレコードIDは再使用されません。」
すげー辛い仕様だよ
てっきり削除したら自動的に前詰するか、追加時に空いているIDを探してくれるモンかと思ったのに。。。。
「ハイスコアは最大100個まで」みたいなアプリを作るときは、
普通はどうするモン?
0116デフォルトの名無しさん
NGNG1レコードに全部ぶち込むとか。
0117↑
NGNG0118デフォルトの名無しさん
NGNGオレは、基本的に上書きしかしないようにしている。
初回起動時にてきとーに100個分埋めて、あとはスコア更新時に常時上書きって言う具合。
>>99
マジすか?
基本的に下位互換は完璧だと思ってたんだけど、甘かったか。
0119デフォルトの名無しさん
NGNGSMAFファイル等を経由しないで、直接内部音源鳴らせます?
音・長さ・タイミングなど指定して。
あと音が重ねられたらいいな。
こんなの可能ですか?
0120デフォルトの名無しさん
NGNGできません。。。
やるとしたら、SMAF Phraseでいろんな音程・長さのデータを持っておくとか、内部で作成するとか(できるかどうかは知らんけど)
0122デフォルトの名無しさん
NGNGこの方法だと、最初から最大容量を使っちゃうのがちょっとなぁ
いろいろ考えた結果、毎回ソートして順番を書き換える1レコード式で
ちょっと試してみます
サンクス
0123デフォルトの名無しさん
NGNG各種javaDocを見渡してみたのですが発見できなかったので
質問です。
jarに同梱してあるoutputの下に置いたデータファイルを
読みたいのですが、どうすればいいのでしょう?
Connectorをどうにかして使うものでしょうか?
Imageみたいな、FILEとか無いんですかねー
0124デフォルトの名無しさん
NGNGClass#getResourceAsStream() を使う
具体的には、
InputStream in = getClass().getResourceAsStream(<File Name>);
って感じ。
0125デフォルトの名無しさん
NGNG> >>119
> できるよ。
> http://www.itmedia.co.jp/mobile/0205/20/n_jjava.html
ウザイ
嘘はヤメレ
0126デフォルトの名無しさん
NGNGやっぱできないよね!?
0127デフォルトの名無しさん
NGNG基本的にできないよ。
ただ次の2点はできる
>> 音・長さ・タイミングなど指定して。
タイミング、長さは指定可能
>> あと音が重ねられたらいいな。
これは可能
0128119
NGNG音は指定できないの?
SmdPlayerのsetDataメソッドに、SMDデータのバイトデータ渡してあげればできるかな?
って思ったんだけど・・
0129デフォルトの名無しさん
NGNGレコードストアID1〜100まで保存しようとするとエミュレータがエラーを返すのですが・・・
レコードIDって1〜10までが限界なんですか?
ちなみに、RMSの最大値は30KBまでとってあります
0130129
NGNGレコードストアIDは複数作成できてるっぽいのですが、読みこみ時にエラーがでます
java.lang.ArrayIndexOutOfBoundsException
at KtaiCanvas.commandAction(+212)
at javax.microedition.lcdui.CommandMenuList.commandAction(+90)
at javax.microedition.lcdui.Displayable.commandAction(+18)
at javax.microedition.lcdui.List.dispatchUi(+96)
at javax.microedition.lcdui.List.dispatch(+29)
at javax.microedition.lcdui.UiEventDispatcher.dispatchUi(+127)
at com.jblend.io.j2me.events.EventDispatcher$EventWorkerThread.run(+387)
Application EMERGENCY termination. (-1)
0131129・130
NGNGで、読みこみ部分のソースは
if (c==soft2) { //データの読み込み
try {
//RecordStore
RS = RecordStore.openRecordStore("gra",true );
for(int i=0;i<100;i++){
i++;
byte[] rec = RS.getRecord(i);
i--;
hiScore[i] = rec[i];
}
//Integer.parseInt(new String(data));
RS.closeRecordStore();
} catch (RecordStoreException re ) {
}
wk= "read";
}
ですが
0132デフォルトの名無しさん
NGNG0133129・130
NGNGif (c==soft2) { //データの読み込み
try {
RS = RecordStore.openRecordStore("gra",true );
for(int i=0;i<100;i++){
i++;
byte[] rec = RS.getRecord(i);
i--;
data[i] = rec[i];
}
RS.closeRecordStore();
} catch (RecordStoreException re ) {
}
wk= "read";
}
とりあえず修正したら100までは読みこめるようになりました。
希望は1万まで保存&読みこみさせたいのですが・・・
recordstoreじゃないとなるとcommandactionあたりが悪いんでしょうか?
0134デフォルトの名無しさん
NGNG} catch (RecordStoreException re ) {
//この部分の意味わかってるか?
}
0135129・130
NGNG例外が生成された理由に関するメッセージを指定しないでインスタンスを構築します。
ってことなので・・・
エラー時の原因を表示しない・・・ってことでしょうか?
0136129・130
NGNG板汚し申し訳ありませんでした
0137119
NGNG0138デフォルトの名無しさん
NGNGやっぱ、演奏データの内部生成?
0139デフォルトの名無しさん
NGNGうpよろ
0141デフォルトの名無しさん
NGNGStorageConnectionと組み合わせて読み込みと保存を追加すれば、結構いけるな。
0142デフォルトの名無しさん
NGNGvodaphone拡張apiを使いたい。
↓
c:\WTK20\apps\(アプリの名前)\lib\に
stubclasses.zipを置く
↓
build
↓
ERROR: native methods should not appear
Error preverifying class java.lang.Class
Build failed
なぜですか?ユーザーガイドは嘘つきですか?
0143デフォルトの名無しさん
NGNGVodafoneの開発ガイドを読むべし。
0144デフォルトの名無しさん
NGNG0145デフォルトの名無しさん
NGNGなどに代入することは可能でしょうか?
可能でしたら、方法を教えて頂けるとうれしいです
0146デフォルトの名無しさん
NGNG0147142
NGNG>>145
言ってる意味がよくわからんけど、int i = getWidth();ってこと?
0148119
NGNG>>141
渡したデータはSMAFDataじゃなくて、SMDData。
SMDエディタで適当にファイルを作って
バイナリエディタで開いてみて、データを解析してみた。
SMDだと音が悪いからSMAFDataにしたいんだけど、ちょっとできないかも。
誰か解析して!
0149デフォルトの名無しさん
NGNGやってみた。圧縮は成功だけど、エミュレータではerrorになった。
java.lang.ClassNotFoundException
0150デフォルトの名無しさん
NGNGなぜ、MIDP2.0 の Wireless Toolkit を使ってるの?
>>146
海外のJava端末では対応してる機種はある。
日本のキャリアは実装してないので使えない。
>>147
そりゃ、そうだろ。
0151150
NGNG147 じゃなくて、149
0152142
NGNGMIDP1.0のも持ってますが、何となく。いかんのでしょうか?
そして解決したと思っていたが、buildしてエミュで動かすと
No such method getWidth.()I
などという謎のエラーで落ちる破目に・・ショボーン・・。
今いろいろ調べて追加圧縮が原因ででてるエラーみたい。八方ふさがりー。
0153145
NGNGコンパイルでエラーでちゃうんですよ。
getWidth()がintとサイズ違うんだかなんなんだかわかりませんけども・・・
画面サイズで表示サイズ指定したかったんですが、できないのかなぁ・・・
0154150
NGNGバージョン違ったらダメだろ。普通。
エミュと言ってるのは、WirelessToolkitのエミュのことか?
であれば、ボダの拡張APIのクラスファイルがないから動かないのは当然。
ボダ用のエミュレータなら、MIDP2.0のAPI使ってないか、確認しろ。
>>153
せめて、コンパイルエラーの文言ぐらい書いてくれ。
0155デフォルトの名無しさん
NGNGVアプリのエミュレーターを使って動作確認を
しているのですが、このP5型では無いエミュレーターでも
100k~256kのjarファイルを動作させることはできるのでしょうか?
おしえてエロイ人
0156デフォルトの名無しさん
NGNGJSCL1.2.1のAPIを使っていなければ
サイズのみ100〜200kのjarは可能
256kでは無いので注意
残りはレコードストアね
0157デフォルトの名無しさん
NGNG即レスありがとうです!
動作確認は取れるということですね。
jarが200kまでとは・・。もう一回仕様書読んできます。
ほんとにありがとうでした(^。^
0158142
NGNGapiは1.0の範囲で収まってると自信をもって言えます。
でも念のため今はWTK104でやってます。でも状況は変わってないです。
ちなみに圧縮方法変えてみたりしてみましたが。やはりNo such method getWidth.()I が。
あ、ちなみにエミュはvodafoneのj-sky application emulatorで、
WTK付属のエミュでやってみると
ALERT: Unable to load class com/jblend/media/MediaPlayerListener
です。ま、こっちは当然ですが。
vodafoneの拡張API使ったアプリを作っていらっしゃる皆々様はコンパイルのときいちいちコマンドプロンプト使ってるんですか?
まさか・・・ね。
0159142
NGNGmidpapiのjavax/microeditionにstubclassesのjavax/microeditionを
上書きして圧縮したらできました。
結局プログラムとは試行錯誤なんだなぁ、と。(違)
>>150,>>156両氏、レス感謝です。
0160デフォルトの名無しさん
NGNGコマンドプロンプトだけど何か?
つーか、普段使っているSolarisもコマンドプロンプトみたいなもんだから
違和感ないんだよね
0161デフォルトの名無しさん
NGNG0162デフォルトの名無しさん
NGNG描く→消す→描く→消すを繰り返す。
0163デフォルトの名無しさん
NGNGLoading JAD:
cannot run: helloworld
java.lang.ClassNotFoundException
Exception.........: e5f0560 'java/lang/ClassNotFoundException'
Application EMERGENCY termination. (-1)
0164163
NGNG0165デフォルトの名無しさん
NGNG「ClassNotFoundException」でググれば即解決。
0166163
NGNGありがとうございます。早速調べましたが私初心者なものでいまいちよく分かりません(**)
差し支えなければどういう意味か教えてはいただけませんか?
0167デフォルトの名無しさん
NGNG「クラスが見つからない例外」
・・・これで意味がわからなければ、Javaを基礎から勉強してみた方がいいかも。
0168デフォルトの名無しさん
NGNGどうすればよい?
普通に待ち受けアプリを作ってみたら、着信通知でもメールが
来たことになってしまった
エミュレータにもそれらしいイベントないし。。。。
普通のSKYメールと着信通知は、何を見分ければよいか
教えてプリーズ!>JAVAのエロイ人
0169デフォルトの名無しさん
NGNGMailListener
0170デフォルトの名無しさん
NGNG>単にHelloWorldと表示する
の前に、HellowWorldとログ出力するだけのでも作ってみ。
それから、Canvasに文字や図を書くのをやってみよう。
0171デフォルトの名無しさん
NGNGそのあたりの仕様が載っているサイトや本があれば教えていただきたいのですが・・・
0172デフォルトの名無しさん
NGNGVアプリのP5型のJavaDocを見たけど
MailListenerのトコには、それらしい記述が
無いのですが?
もうちっとヒントをお願いします
0173163
NGNGありがとうございます。少しずつ調べながらがんばってみます!
0174デフォルトの名無しさん
NGNGJARに含まれるファイルをとりだすことは可能。
しかし、レコードストアをJARに保存するできない。
というか、JARは書き換えられないのでは?
0175デフォルトの名無しさん
NGNG>このインタフェースを実装したリスナを、DeviceControlのsetMailListener()メソッドを呼び出して
>登録してください。 メール着信に関するイベントは、MailListenerインタフェースのreceived()
>メソッドに通知されます。
と思いっきり書いてあるのだが。
>>171
Vアプリなら、Connector.open("jar://Filename/Resourcename");
とかでRecordStoreに保存したJARの中身にアクセスできるとドキュメントに書いてあった。
ezは知らない。
>>174
レコードストアをJARに保存するのではなくて、JARをレコードストアに保存したいのだと思われ。
0176171
NGNG>Vアプリなら、Connector.open("jar://Filename/Resourcename");
>とかでRecordStoreに保存したJARの中身にアクセスできるとドキュメントに書いてあった。
ありがとうございます!!
ところで、そのドキュメントって具体的にはなんと言うファイルでしょうか?
VodafoneのPDF資料を見ていたんですが、それらしい部分を見つけられなくて・・・
詳しい制限等知りたいので、お手数ですが教えていただければ助かります。
0177174
NGNG>> 175
"jar://" スキームは、単にJAR内のファイルを読むだけでなかったけ?
0178デフォルトの名無しさん
NGNG今月いっぱいは試そうにも試せないから、質問者の人に試してもらうって事で。
0179デフォルトの名無しさん
NGNGbyte buf[] = new byte[65536];
InputConnection c = (InputConnection)Connector.open("jar://"+レコードストア名+"/"+ファイル名 , Connector.READ);
InputStream is = c.openInputStream();
is.read(buf);
is.close();
c.close();
0180デフォルトの名無しさん
NGNG現在
/** キー押下イベントが発生した時に呼ばれるメソッド */
protected synchronized void keyPressed(int keyCode) {
if(gameState != GAME_PLAYING ||
(gameState == GAME_PLAYING && isPaused)) {
//ゲーム中ではない、又はゲーム中で一時停止中の場合はreturn
return;}
int gameCode = getGameAction(keyCode);
switch(gameCode) {
case LEFT://左キー押下時
for(int i = 0;i < 8;i++){
doLeft();
try{
Thread.sleep(50);
}catch(InterruptedException e){}
}
以下上下右が入ります。
}
}
/** キー押下状態の時に繰り返し呼ばれるメソッド */
protected void keyRepeated(int keyCode) {
keyPressed(keyCode);
}
という様に拾っているのですが(do〜は移動描画をしています)押しっぱなし状態だと
一歩動いてその後押してた方向に動きっぱなしになってしまいます。
スレッドの扱い方が悪いのでしょうか?
ご教授おねがいしまつ。
0181デフォルトの名無しさん
NGNGキー入力がキューイングされてるためだと思う。
keyPressed()で重い処理をすると、どうしてもキーに遅れが発生する。
keyPressed()と描画が、N:1 にできるように作れば、大丈夫とおもう。
0182wikiのVアプリスレまとめサイト”管理”人 ◆zaLvCUpNTU
NGNG押されたり放されたりしたときにフラグを上げ下げするとか?
0183デフォルトの名無しさん
NGNGresさんきゅ
しかし、MailListenerのJavaDocを読む限りは、
recieveのSMSの種類ってやつは
通常ステーション着信
緊急ステーション着信
グリーティング
スーパーメール
リレーメール
スカイメール
ウェブ着信
しか無いんだよ
実機で試してみると、skyMailの着信通知のときは
スカイメールが帰ってきてるみたい
なんか、そもそものアプローチが何か間違ってる?
0184デフォルトの名無しさん
NGNGそもそものアプローチというか、何がやりたいのかわからんのだけどなぁ。
一応整理しておくと、
・RingStateListener
→(ユーザーへの)着信通知(端末側での呼出音鳴動など)の開始、終了の際に呼び出される。
・MailListener
→端末にメールが着信した場合に呼び出される。
・TelephonyListener
→端末に音声着信した場合、電話が切れた場合に呼び出される。
0185デフォルトの名無しさん
NGNG済まん、用語の使い方が間違っていたよ>おれ
知りたいのは、SkyMailを送信した後の「配信確認」というやつです。
配信確認の通知もreceived()に来るみたいなんですが、
その時のSMSの種類がスカイメールみたいなので
困ってます
という話でした(^^;
0186デフォルトの名無しさん
NGNGMIDPじゃ、Keyイベントはすぐに処理を終わらせないといけない。
50msecを8回も待つとかやっちゃダメ。
Vなら以下のメソッドを使うのがいい
DeviceControl#getDeviceState( KEY_STATE)
それか、 >>182 のいうようにKeyPressed/KeyReleasedイベントで方向フラグを立てる・下げるをやって、
別スレッドでそのフラグを参照しながら描画するか。
>>185
実機使って実際にイベント起こして、
int detailの値を調べてみるしかないのでは。
そもそもDocに載ってないから、返ってくる値の保証もないだろうけど。
(時間や日付によって違う・機種によって違う、など)
0187デフォルトの名無しさん
NGNG0188デフォルトの名無しさん
NGNG>>2
0189デフォルトの名無しさん
NGNG通信相手は自分で立てた外部アクセス可能なサーバで、
エミュレータからはうまくいったのですが実機からはダメでした。
これは、やはりサーバの設定に問題があるということなのでしょうか?
以下、仕様&ソースです。
0190189
NGNG・Tomcat+java servlet
実機
・SH-52
0191189
NGNGimport javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
import javax.microedition.io.*;
import com.jblend.micro.io.*;
import java.io.*;
public class httpTest2 extends MIDlet implements CommandListener
{
private Form myForm;
private TextField tf;
private Command cm1,cm2;
private String formStr;
private final String URL = "http://smlsgrp.u-aizu.ac.jp:8080/test/servlet/saveDataServlet2";
private HttpConnection conn;
private InputStream in;
int ch;
StringBuffer result;
0192189
NGNGinithttpTest();
Display.getDisplay(this).setCurrent(myForm);
}
public void inithttpTest() {
formStr = "Input File Name";
myForm = new Form("HTTP TEST");
myForm.append(formStr);
tf = new TextField("File Name",null,10,TextField.ANY);
myForm.append(tf);
cm1 = new Command("送信開始", Command.SCREEN, 1);
myForm.addCommand(cm1);
cm2 = new Command("終了", Command.SCREEN, 2);
myForm.addCommand(cm2);
myForm.setCommandListener(this);
}
0193189
NGNGint i;
if( c == cm1 ){
if(tf.getString()==null){
formStr = "Please Input File Name!!";
}else{
try{
i=5;
result = new StringBuffer();
conn = (HttpConnection)Connector.open(URL+"?name="+tf.getString()+"&data="+Integer.toString(i), Connector.READ, true);
conn.setRequestMethod(HttpConnection.GET);
in = conn.openInputStream();
while ((ch = in.read()) != -1) {
result.append((char)ch);
}
in.close();
conn.close();
}catch(Exception e){
}
}
}else if( c == cm2 ){
0194189
NGNGdestroyApp(false);
notifyDestroyed();
}
}
// エントリポイント
public void startApp() {
}
// アプリの一時停止
public void pauseApp() {
}
// アプリの廃棄
public void destroyApp(boolean unconditional) {
}
}
0195189
NGNGpublic void doGet(HttpServletRequest req, HttpServletResponse res) throws IOException, ServletException{
String fileName = req.getParameter("name");
int data = Integer.valueOf(req.getParameter("data")).intValue();
try{
res.setContentType("text/plain");
DataOutputStream dout = new DataOutputStream(new FileOutputStream(dir + fileName, true));
dout.writeInt(data);
OutputStreamWriter osw =
new OutputStreamWriter(res.getOutputStream());
PrintWriter pw = new PrintWriter(osw);
pw.print("true");
pw.flush();
pw.close();
dout.close();
}catch(Exception e){
}
0196189
NGNG0197デフォルトの名無しさん
NGNG0198デフォルトの名無しさん
NGNGアプリをダウンロード。※ダウンロードは成功。
その後に、ダウンロードしたぺージに戻りたいのですが、
なぜか、全然別のページに飛んでしまいます。
(EZWebのTopページだったり)
ダウンロードページは下記のような記述をしています。
<a href="device:data/dnld?url=http://www.aaa.com/appli/download.cgi&name=aaa.kjx&size=123&disposition=devkdj2&title=テスト">ダウンロード</a>
なにかわかるかたが、いらっしゃいましたらおしえてください。
0199デフォルトの名無しさん
NGNGこれが意外と不便。
0200189
NGNGレスありがとうございました。
mod_jk2でApacheとTomcatを連携させることで解決しました。
ついでに質問なんですが、
「連続的なデータを携帯アプリからサーバに送ってそれをservletがファイルに書き込む。」
みたいな処理をさせたいのですが、この場合streamを使うとうまいこといきません。
携帯のほうで
for(){
conn = (HttpConnection)Connector.open(URL+"?file_name="+xxxxx+"&data=xxxxx", Connector.READ, true);
}
のようにしても、途中で途切れてしまいます。
何かよいお知恵はありませんでしょうか?
0201デフォルトの名無しさん
NGNG0202デフォルトの名無しさん
NGNGVはまだいいんだがauの方で文字がでかくなりすぎるんだが・・。
0203デフォルトの名無しさん
NGNG0204デフォルトの名無しさん
NGNGVodafoneのC4アプリを書いてて、大分大きくなってきたので、噂のjargで縮めようと思ったのですが、
適用後のjarの挙動が変わってしまうのです。
スプライトの扱いが面倒だったので、そこだけ本体とは別クラスにしたのですが、
その別クラスの中にあるfor(int i=0; i<10; i++)みたいなベタなループが無限ループ化してしまって…。
こんなことって、あるもんなんでしょうか。
javac -encoding SJIS -g:none -O -target 1.1 -bootclasspath C:\V-appli_SDK_101\lib\stubclasses.zip src\*.java -d class
preverify -classpath C:\V-appli_SDK_101\lib\stubclasses.zip;.\class AppName
preverify -classpath C:\V-appli_SDK_101\lib\stubclasses.zip;.\class Main
preverify -classpath C:\V-appli_SDK_101\lib\stubclasses.zip;.\class Sprite
jar cfm bin\AppName.jar bin\MANIFEST.MF -C output .
java -jar jarg.jar -j2me-prev preverify.exe -j2me-cp C:\V-appli_SDK_101\lib\stubclasses.zip bin\AppName.jar
みたいなバッチを書いてビルドしてるんですけど…。
AppNameがMIDlet継承、Mainが実際の本体クラス、Spriteがスプライトの取り扱いクラスです。
うまくいかないのは漏れが童貞なせいですか?
ついでに、pause〜resumeの流れの中で、たまにPhraseTrackerがレジュームをサボりやがって
音が復元しないで止まってしまうのも、漏れが童貞なせいですか?
0205デフォルトの名無しさん
NGNGじゃないとムリですか?
表示できればいいのでImageオブジェクトで十分なのですけど、
Phase2.5ではそれすらできなくて鬱。
0206デフォルトの名無しさん
NGNGjargのバグかもよ
バイトコードの最適化を切ってみそ
0207デフォルトの名無しさん
NGNG自分のアプリで使ってみたよ
上の行をそのままDOS窓から叩いてみた
70kが68kになった
画像が多かったから、あまりお徳では無かったよー
動作は特に支障なし
ちなみに、童貞は卒業済み
0208デフォルトの名無しさん
NGNGスプライトは使っていない(実は使ったこと無い)
forループは満載
C出身なので、クラス分けも盛大にやってる
0209デフォルトの名無しさん
NGNGおれも使ってみよう
ちなみにまだ卒業してません(もうすぐ30歳)
0210デフォルトの名無しさん
NGNG魔法が使えるようになるまでもう少しだね。
0211デフォルトの名無しさん
NGNG0212デフォルトの名無しさん
NGNG0213デフォルトの名無しさん
NGNGretroguardじゃだめなの?
0214デフォルトの名無しさん
NGNGソフトキーのボタンが利かなくなってしまうのですが
どのように対応すればよいのでしょう?
0215204
NGNGもとい、>>206氏の指摘どおり -noboc でバイトコード最適化切ったら動くようになりました。
他のオプションもひとしきりためしたけど、動作が変わったのは -noboc だけですた。
似たような構造のほかのプログラムにも jarg かけたけど、普通に動いちゃったし、レアケースなのかなあ。
とにかく、マゾでありがとうございます。
ついでに 7zip かけたら、トータル 30KB が 25KB くらいまでダイエットされました。
漏れの童貞もらってやってください。
0216デフォルトの名無しさん
NGNGProGuardとかに乗り換えた方がいいのかな?
それと、7zipを使う場合はアーカイブするファイル数に注意
昔使ったとき、N503(4かも?)でアーカイブするファイル数が多いと起動出来なかった記憶がある
DTはイラネ。適当にその辺に捨ててくれ
不法投棄になりそうなら、業者に引き取ってもらえ
0217デフォルトの名無しさん
NGNGでもどうしてもSun ONE Studio4 Mobile Edition と
VodafoneエミュのIDE統合ができない。
http://zdn.zentek.co.jp
のサポートからダウンできる資料を参考にやってみたけど。
この通りやって実行すると「メインクラスがない」とか怒られて
うまくアプリが動作しない。何を勘違いしているのだろう。
だれか出来た人います? JBuilderではどうでしょう?
0218217
NGNG0219デフォルトの名無しさん
NGNGメインクラスがないって言われるのは、
きちんと大抵はCLASSPATHが通ってないか、
そんな理由ではなかったか?
0220217
NGNGどうやらそのようです。マニュアル通りにやるとDOSプロンプトから、
java -cp c:\J-PHONE-SDK\bin\jbmidp.jar;c:\J-PHONE-SDK\lib\stubclass.zip;c:\WTK104\lib\midpapi.zip com.zentek.jam.ControlPanel c:\test\test.jad
と呼ぶことに相当するようです。すると
ファイル名、ディレクトリ名、またはボリューム ラベルの構文が間違っています。
と例外が多数発生。
どうやら、javaVMにクラスパスを渡すのに失敗してるようです。
javaVMのヘルプにはクラスパスは ; で区切れと書いてあるのですが。
最初は ; の前後にスペースを入れるのかと思ってましたが、
入れると不正な処理が発生(汗
結果としては
java -cp c:\J-PHONE-SDK\bin\jbmidp.jar com.zentek.jam.ControlPanel c:\test\test.jad
とやると通るようなので、そうなるようにIDEを設定したら上手くいきました。
うーむ謎だ。エミュが起動すればよいから、これで良いのですかね?
0221217
NGNGこれらはIDEから使わないのか?なんで2つあるんだろう。
0222デフォルトの名無しさん
NGNGどっかで、Phrase()のコンストラクタにbyte配列を渡すとうまくいく、とあったんだけど
できない・・
InputStream in = getClass().getResourceAsStream("/test.mmf") ;
int size = in.available();
byte[] b_data = new byte[size];
in.read( b_data, 0, b_data.length) ;
in.close() ;
Phrase p = new Phrase(b_data);
size は0が返ってきてしまう・・
それで、pはnullだと・・
どこに問題があるの?
P4端末だと「com.jblend.media.smaf.phrase」を使用して問題なく動作したんだけどな・・
0223デフォルトの名無しさん
NGNGjavadoc読めよ
0224222
NGNGすまん間違ってた・・
byte[] b_data = new byte[1000];
in.read(b_data, 0, b_data.length);
in.close();
Phrase p = new Phrase(b_data); <<-- ここ
ここで、Phrase:checkfailedって言われて落ちる・・
十分な長さの配列宣言してるのに。
0225デフォルトの名無しさん
NGNG0226デフォルトの名無しさん
NGNGin.readで指定したサイズ分が読めるとは限らないので
戻り値に-1が帰ってくるまで読み続けるのが良いかと。
こんな感じか?
boolean bQuit = false;
int offset = 0;
byte[] b_data = new byte[1000];
while(bQuit!=true)
{
int readSize = in.read(b_data, offset, b_data.length);
if(readSize == -1)
bQuit = true;
else
offset += readSize;
}
in.close();
0227244
NGNGどうも、byte配列には読み込めてるみたい。
Phraseのコンストラクタに渡しているところで、データのチェックが失敗しているみたい・・
なんでだろう?
0228デフォルトの名無しさん
NGNGhttp://www.geocities.jp/p_java_lang/
0229デフォルトの名無しさん
NGNG読み込むファイルのサイズと、バイト配列のサイズが一緒じゃないとエラーになるぞ。
0230227
NGNGそうかと思ってやってみたんだけど、エラーになるなー。
バイナリエディタで開いてみたら、208Byteだったんで、やってみたけどダメだった・・
mmfファイルってC4端末で読めるんだよね?
0231デフォルトの名無しさん
NGNG0232デフォルトの名無しさん
NGNG.mmfはAudio Phraseだよ
Audio Pharse再生できるのはP型以降、よってC4型では再生不可かと
0233230
NGNGえ!?mmfってAudioPhraseなんだ!
スマン、入り口が間違ってた・・
みんなサソキュ。
0234デフォルトの名無しさん
NGNGと理解していたのだけど違う?
フルカラーのjpgやPNGを動かしたりできるかな?
なぜか
Image img = Image.createImage("/test.jpg");
g.drawImage(img, 0, 0, Graphics.LEFT | Graphics.TOP);
とやると、P4型エミュだと画像が表示されるのだが。(WirelessToolkit だと無理
これって公式な動作?
0235デフォルトの名無しさん
NGNGezplus(Java)で、HttpConnection (cgiファイルに対してGETリクエスト)
を利用して日本語のテキストを取得したいんですが、文字化けしてしまいます。
(通信は上手く言ってるようなのですが)
どこをいじればよいか色々調べたのですが、分からないのでどなたか教えてください。
というか、なにを調べたらいいかもよく分かりません。
推測ですが、『文字コード』という文字を解釈する約束みたいなのがあって、
その約束を上手く守れてないからでしょうか?
だとしたら、Java、cgi、どちらのコードに問題があるのでしょうか。
それとも見当ハズレの推測でしょうか?
ちなみに、英数字では思い通りの結果が得られます。
宜しくお願いいたします。m(_ _)m
0236235
NGNG宜しくお願いします。
0237235
NGNGCGIはパールです。
0238デフォルトの名無しさん
NGNGshift-jisしか駄目なはず。
IEでエンコードがどれになってるかを調べて、shift-jisになって
なかったらCGIが原因でしょう。
jcodeなりで変換してから出力しましょう。
0239235
NGNGどうもありがとうございます。
ところが
今IEで確認したのですが、
(表示)->(エンコード)
シフトJISになってました。
0240デフォルトの名無しさん
NGNGWTKはJPEG未サポートだったはず
>>235
その部分のソースコードさらしてみ?
0241デフォルトの名無しさん
NGNGimage = Image.createImage(b_image, 0, b_image.length);
あかんのか?
0242デフォルトの名無しさん
NGNGJPEGでも動くし、動くならそれでもいいような、、、
0243デフォルトの名無しさん
NGNG0244デフォルトの名無しさん
NGNG文字列化するときに、SJISを指定してる?
0245デフォルトの名無しさん
NGNGなので、変換をやってないと思われ
バイト列にSJISのデータを読み込んで、変換すればヨロシ
詳しくはCLDCのAPIマニュアルのStringクラスを参照の事
0246235
NGNGご意見を参考にして必死で考えたつもりなんですが、
次のようなコードを書くことしか出来ませんでした。
//受け取った最初の文字列
String oStr;
/* oStrを受け取る処理がありますが省略 */
//Shift_JIS の文字コードのバイト配列に変換(という意味なんでしょうか?)
byte[] b = oStr.getBytes("SJIS");
//bをShift_JISコードを指定して文字列に変換
String nStr = new String(b,"SJIS");
ここまでやってみたのですが、やはり文字はほとんどが"?"(バイトをそのまま出すと"63"になりました)でした。
全く見当違いなのか、惜しいところまで行ってるのかも分かりません。
出来ましたらぜひ更なるご教授をお願いいたします。
0247235、246
NGNGgetByte(String)
String(byte[],String)
で、文字コードを指定する引数は以下のものを試しましたが、
”SJIS" 以外、全て UnsupportedEncodingException が返されます
"SJIS",
"Shift_JIS","EUC_JP","EUC_JP" (この3つは例外が返る)
0248デフォルトの名無しさん
NGNG"EUC-JP"でした。。
0249235
NGNG1.Perl-CGIのコード : ez_sample.cgi
#!/usr/local/bin/perl
$title = "ez_sample";
&printData(); #このサブルーチンの呼び出しのみ
#表示する文字列を取得して、その長さを求める
sub printData(){
$text = &getText(); #表示する文字列の取得
$len = length($text); #文字列の長さ(i-mode に必要)
print "Content-type: text/html\n";
print "Charset: Shift_JIS\n";
print "Content-length: $len\n";
print "\n";
print "$text"; #本文の出力
}
sub getText(){
$text = "<HTML>\n<HEAD>\n\t<TITLE>$title</TITLE></HEAD>\n<BODY>\n";
$text = $text."日本語のサンプル<br>\n";
$text = $text."A sample in English.\n";
$text = $text."</BODY>\n</HTML>\n";
return $text;
}
0250235
NGNGtest 1/4
private boolean test(){
System.out.println("データ受信");
String url = "http://hpcgi2.nifty.com/zubora/ez_sample.cgi";
HttpConnection hc = null;
DataInputStream di = null;
String res = null;
byte[] bs = null;
String newString = null;
0251デフォルトの名無しさん
NGNGhc = (HttpConnection) Connector.open(url);
di = new DataInputStream(hc.openInputStream());
int ch;
while((ch = di.read()) != -1){
res += (char)ch;
}
}catch(Exception e){ }
finally{
try{
if(hc != null)
hc.close();
if(di != null)
di.close();
}catch(Exception e){ }
}
System.out.println("受信直後のデータ");
System.out.println(res);
0252235 test 3/4
NGNGbs = res.getBytes("SJIS");
}catch(UnsupportedEncodingException e){
e.printStackTrace();
}
try{
newString = new String(bs,"SJIS");
}catch(UnsupportedEncodingException e){
e.printStackTrace();
}
System.out.println("new String(getByte(res,\"SJIS\"),\"SJIS\")");
System.out.println(newString);
return true;
}
0253235 test 4/4
NGNG0254デフォルトの名無しさん
NGNG>while((ch = di.read()) != -1){
じゃなくて、バイト列に読み込んで、それを変換する
byte[] b = new byte[size];
for (int off = 0; off < size;) {
int r = di.read(b, off, b.length - off);
if (r == -1) break;
off += r;
}
String nStr = new String(b,"SJIS");
0255七誌
NGNGを使いたいのですが、なぜか一時停止から再生
を始めると、最初から再生が始まってしまうのです。
どうしてでしょうか?
0256235
NGNG>>254さん、ありがとうございました。
今度コーヒーでも奢らせてください。(*´∀`)
そのほかの皆さんも本当にありがとうございました。
0257デフォルトの名無しさん
NGNGresumeした時はフレーズデータの先頭から再生される仕様
0258デフォルトの名無しさん
NGNGclass DrawCanvas extends Canvas {
private static Font font = Font.getFont(Font.FACE_SYSTEM, Font.STYLE_PLAIN, Font.SIZE_SMALL);
protected void paint(Graphics g) {
g.setFont(font);
g.setColor(255,255,255);
g.drawString("てすと", 15, 135, Graphics.TOP | Graphics.LEFT);
}
}
こんな感じです。Font.SIZE_SMALLのところを変えても変化がありません。
Fontはpaintの外で作れとか書いてあったからそうしてます。
何か間違ってる?
0259258
NGNG0260デフォルトの名無しさん
NGNG用意して無いからじゃない?
0261デフォルトの名無しさん
NGNG機種ごとにフォントサイズが決められてて、
一部機種はsmall/large/mediumともすべて同じサイズに規定されてたりする。
なんで実質いじれないと思った方がいいかも。
サイズ一覧はdp.j-phone.comサイトにあったハズ(今サイト落ちてるみたい)
0262七誌
NGNGでは、Vアプリで一時停止・一時停止からの再生
はどのようにすればよいのですか?
0263デフォルトの名無しさん
NGNGMIDIだと途中で止めて状態保持したまま再開って面倒なんだけど
これはどうなんだろ
0264七誌
NGNG具体的にどのようにすればよいのでしょうか?
0265デフォルトの名無しさん
NGNGphraseでの途中からの再生は無理です、常に先頭からになりますね。
>264
C型ではあきらめましょう、P型だと一時停止した場所から再生可能な様ですが。
ここら辺は全てVアプリ開発ガイド 開発編に載っている情報です。
0266七誌
NGNGすいません、ありがとうございました。
0267七誌
NGNGを使って、Vアプリを開発したいのですが
コンパイルエラーを起こして、先に進めません(;_;)
どうすればよいでしょうか?
エミュレータ設定もちゃんとしたはずなのに・・・
0268デフォルトの名無しさん
NGNGぜんぜんきかないのですが、
C4型端末ってこういうものなんでしょうか。
過去W型端末のアプリを作った場合にもPNGの透明色
が上手く抜けないことがありましたが。。。。
それともPNGファイル側で何か工夫すべきなのでしょうか?
知恵をお授け下さいー;;
0269デフォルトの名無しさん
NGNGフルカラーPNGとかいう事はないよね?
256色じゃないと抜けないような
0270デフォルトの名無しさん
NGNGフルカラーのヤツだと、透過部がグニュグニュした青いのになるw(P型
早いとこサポートしてほしいよな。
0271デフォルトの名無しさん
NGNG機種依存だっかたも
http://news6.2ch.net/test/read.cgi/appli/1072876113/
>ゲームの類は、Vodafoneへの移植がいつもネックになります。
>特にC4アプリ。
>
>他のキャリアならdrawImage一発で済むところに
>透過PNGが使えない機種がありやがるばっかりに
>サイズに制限のあるスプライトをやりくりし倒すことになる。
>面倒くさいったらありゃしない。
0272デフォルトの名無しさん
NGNGC型はpng透過は使えません
スプライトにするしかない
0273デフォルトの名無しさん
NGNGhttp通信に関する詳しいmidpサンプルはないでしょうか。
やろうと考えていることは画像のダウンロードです。
一応探しては見て以下のサンプルは見つけたのですが
はじめて見る物ばかりで何をしているのか分からず困っています。
ttp://cgi.sinsen.org/midp/#d5
ttp://www.geocities.jp/morioka/computer/java/ezplus/lecture02.html
複数の画像を得るのに最低限必要なことを教えていただけないでしょうか。
テキストか何かの形で一気にダウンロードしてレコードストアに記録しておけばいいことは分かるのですが。
0274デフォルトの名無しさん
NGNGレスありがとうございます。
やはりパレットPNGでも機種依存ですか・・・。
とりあえず、それらの機種は無視するか、
スプライト使う方向で考えてみます。
0275デフォルトの名無しさん
NGNGiアプリの <A ista="#aaa" href="">起動</a> と同じ事なんですが。
0276デフォルトの名無しさん
NGNG当方業務アプリつくってるんだけどコンボボックスないとかなり不便。
0277デフォルトの名無しさん
NGNGみんな幸せに!
0278デフォルトの名無しさん
NGNGListをIMPLICITで動かせばComboBoxの選択画面のようなインターフェースを作れる。
でも、そんなListをFormのItemから呼び出してやるような方法は、なさそう。
GroupChoiceをIMPLICITでFormに追加してComboBoxのようにできれば、望みのようなことが出来るんだろうけど。
オレは、Stringを追加したIMPLICITなListから、
選択されたらさらにIMPLICITなListを表示して選ばせ、元のListに戻る、
てな感じで片づけちゃったけど。
DateFieldやTextFieldと混在させたいなら、がんがってItemからComboBoxを自作しる。
0279デフォルトの名無しさん
NGNG「クリア」ボタンって、何を使えばいいでしょう?
ちなみにCanvas.KEY_CLEARは無かった。
今は実測値を使っていますが、格好悪いんで。
こんな感じ final int KEY_CLEAR= -2147483646;
Vアプリです。
0280デフォルトの名無しさん
NGNG仕様上、0〜9、*、#、ソフトキー1〜3以外のボタンは未定義。
実際に使えるかどうかは別として。
0281デフォルトの名無しさん
NGNGPhraseTracker、たま pause からの復帰に失敗することない?
P4、P5では正常に動作するのに、C4だけ一時停止の後、音が戻らないことがある。
何が原因で起こるかわからないんだけど、エミュレータ上でも起こるので
機種依存の動作じゃないみたいだし…。
startApp() だの pauseApp() だの中では何も特別なことはしてないし、
Vodafone側の主張によれば、自動で戻るはずなんだけど…。
仕方ないので、あらためて
startApp() 内でPhraseTracker#play()、
pauseApp()内でPhraseTracker#stop()を呼ぶようにして
無理やり回避できるのは確認したんだけど、これっておかしいよね?
これやっちゃうと、P4、P5でも最初から再生しなおしになっちゃうし。
不思議すぎる…。
0282デフォルトの名無しさん
NGNGさんきゅ
やっぱりそうかぁ
Vアプリのエミュでは、メモとマナーボタンが無いので
カーソルキーの斜め下でそれぞれ代用してみた
皆はどうしてる?
それとも、Vアプリ固有実装は避けてる?
0283276
NGNGありがとう。
>オレは、Stringを追加したIMPLICITなListから、
>選択されたらさらにIMPLICITなListを表示して選ばせ、元のListに戻る、
>てな感じで片づけちゃったけど。
やっぱそれしかないよねー
がんばって自作します。
0284デフォルトの名無しさん
NGNG0285デフォルトの名無しさん
NGNG0286デフォルトの名無しさん
NGNGEZアプリでは 0 だったから割とスッキリだったけど
じゃあ if ( keyCode < 1 ) みたいなのどう?
0287デフォルトの名無しさん
NGNGうわっ気がつかなかったよー
ある意味 -2 じゃん
0288デフォルトの名無しさん
NGNGあってる
てか、負の2の補数は、絶対値のビットをすべて反転させてたものに1加えるって覚えとけ。
0289デフォルトの名無しさん
NGNGこれが本題なのだが
J-phoneで動いてるアプリって、jblend.*とかj_phone.system.*を
全て排除すればAUでも動きますか?
でもって、ぶっちゃけ後は何すれば良い?
0290デフォルトの名無しさん
NGNG>>289
CLDC+MIDPの範囲内では、基本的に同じ。
仕様を見比べてみると解るが、双方とも似たような拡張APIがあったりするので、
ものによっては、1日もかからずに移植&テストが終わったりすることもある。
0291デフォルトの名無しさん
NGNG( ´,_ゝ`)プッ
0292デフォルトの名無しさん
NGNGむしろpngが主戦力でつ
0293289
NGNGえっと、透過も平気ですか?
いま開発キット回りを見てきたけど、意外とまんどくせ
拡張子が謎だし
まぁ、ちこっと頑張って移植すれば、ユーザが2倍になるから
やってみるかな
0294デフォルトの名無しさん
NGNGhttp://www.saturn.dti.ne.jp/~npaka/midp2/faq.html
クレームも2倍だから、ほどほどに頑張るべし
0295デフォルトの名無しさん
NGNGでアプリ作っているんだけど、絵が読み込めないんだよね。
原因のわかる人いたら、教えてね。
0296q
NGNG0297デフォルトの名無しさん
NGNGhttp://www.dp.j-phone.com/dp/
0298289
NGNGやっと、されたね!!
誰か使った人いる?
でもって、P4型エミュと一緒のPCにインストールしても
競合しないで使えるもん!?
0299デフォルトの名無しさん
NGNG一度携帯のアプリを作ってみたいなと思って検索したりしたのですが、
ヒットしませんでした。
Vアプリを作るにあたって参考になるサイトがないのですが
どなたかご存知ないですか。
iアプリはある様なんですが。
なにぶん貧乏なのでネットで参考になるHPがあれば良いのですが・・・
よろしくお願いします。
0300デフォルトの名無しさん
NGNGhttp://www.itmedia.co.jp/mobile/0203/08/n_j1.html
正直、いちからちゃんと説明したいいサイトがない。
0301デフォルトの名無しさん
NGNG0302デフォルトの名無しさん
NGNGそれより、サンプルコードが嬉しい。
0303デフォルトの名無しさん
NGNG0304デフォルトの名無しさん
NGNGSH53でPDA並に使えるPIMが欲しい
0305デフォルトの名無しさん
NGNG>>300さん
レス、サンクスです。
サイトは無いですか。
実はこの本どうかなって思ってるんですがどうでしょうか。
「JBuilder MobileSet―携帯Javaアプリケーション開発ガイド」
ご存知の方おられますか?
iアプリならサイトもちらほら見かけるのになぁ…
0306デフォルトの名無しさん
NGNG出てる予感がしたからみたら本当にあった。。
>>301
まぁ遅いよな
0307デフォルトの名無しさん
NGNGStorageConnectionからInputStreamを取得しようとすると
at com.jblend.security.jscl.SecurityManagerImpl.checkPermission(+67)
at com.jblend.io.j2me.storage.Protocol.openInputStream(+11)
と怒られます。なぜ?
0308307
NGNGMIDlet-Application-Security: Y
が必要だったようです。どうもすみません。
0309デフォルトの名無しさん
NGNG0310デフォルトの名無しさん
NGNGフレームバッファにはスプライト以外は描画できない。
0311デフォルトの名無しさん
NGNGこれは、C4だけじゃなくて、P4でもダメ?
0312デフォルトの名無しさん
NGNGだめです。
0313デフォルトの名無しさん
NGNG0314デフォルトの名無しさん
NGNGV従量版のウィザードリィの表示文字ってなんであんなに小さいんでしょう?
サイズSMALLでもあんなに小さくならないですよね?
0315デフォルトの名無しさん
NGNGスプライトデータに文字を用意してそれを表示してるから
0317デフォルトの名無しさん
NGNG>実はこの本どうかなって思ってるんですがどうでしょうか。
>「JBuilder MobileSet―携帯Javaアプリケーション開発ガイド」
>ご存知の方おられますか?
その本はわかりませんが
「Java2ME MIDP ゲームクリエーターズガイド」
http://www.amazon.co.jp/exec/obidos/ASIN/4774114707/ref=sr_aps_b_/250-6819675-5916216
という本はなかなかよいですゾ。
0318デフォルトの名無しさん
NGNGhttp://www.itmedia.co.jp/news/articles/0402/24/news026.html
0319デフォルトの名無しさん
NGNG>>317さん
レスありがとう。
一回本屋で探してみますね。
とにかく凝ったものが作りたいとかではなくて、
プログラミングを少し覚えたので何か作ってみたいと
思って携帯のアプリでもどうかなと思いまして。
Vアプリを自分で作ろうと思ったのですが中々良いサイトや
本が見つからなくて困ってたんです。
0320デフォルトの名無しさん
NGNGJava自体も初心者?
0321デフォルトの名無しさん
NGNG色数減らせば出るんだけど、サイズ制限とかなんかあるのですか?
0322デフォルトの名無しさん
NGNG>>320さん
SCP-Jを取ったばかりの初心者です。
0323デフォルトの名無しさん
NGNG0324299
NGNGでも何となく携帯アプリに興味が沸いてきて
作ってみたくなったので…
0325デフォルトの名無しさん
NGNGSCP-J取れるくらいの予備知識があれば十分
0326289
NGNG12kだか14kくらいが上限だと思う
あと、16色以下が出なかったような気がする
0327デフォルトの名無しさん
NGNGなるほど、たしかに表示できるサイズはそれより小さかったです。
しかし、J-SH07のヒープの少なさはなんなんだろうか、
これじゃ、なんにも出来ないよ。
0328デフォルトの名無しさん
NGNGそういう意味でなくて携帯用のmidpも基本は一緒だから勉強は普通のjavaでやってアプリ作れるよと。
0329デフォルトの名無しさん
NGNGCanvas上での長文の改行の仕方なんですが、ビルドがうまくいくのに、実行できません。
長い文を表示するときに、フォントの幅から表示できる一列の文字数を割り出して、
それをsubstring()を使って表示していくんですよね。
なんでうまくいかないの??
0330329
NGNG0331デフォルトの名無しさん
NGNGこーゆー時は、解決法も書くべし
0332デフォルトの名無しさん
NGNGif(mode == 1){
talkingCommand = new Command("決定", Command.SCREEN, 1);
menuCommand = new Command("MENU", Command.SCREEN, 2);
}else if(mode == 2){
talkingCommand = new Command("確認", Command.SCREEN, 1);
menuCommand = new Command("中止", Command.SCREEN, 2);
}
this.addCommand(menuCommand);
this.addCommand(execCommand);
とするとラベルがどんどん増えてしまうし、最初に
this.removeCommand(menuCommand);
this.removeCommand(execCommand);
とするとそこでとまってしまうのですが…
0333デフォルトの名無しさん
NGNGif(mode == 1){
talkingCommand = new Command("決定", Command.SCREEN, 1);
menuCommand = new Command("MENU", Command.SCREEN, 2);
}else if(mode == 2){
talkingCommand = new Command("確認", Command.SCREEN, 1);
menuCommand = new Command("中止", Command.SCREEN, 2);
}
this.addCommand(menuCommand);
this.addCommand(execCommand);
とするとラベルがどんどん増えてしまうし、最初に
this.removeCommand(menuCommand);
this.removeCommand(execCommand);
とするとそこでとまってしまうのですが…
0334332
NGNGtalkingCommandはexecCommandに脳内変換お願いします。
0335デフォルトの名無しさん
NGNG毎回インスタンス生成するのは間違い。
CommandをMIDletやDisplayableのコンストラクタで生成して、インスタンスフィールドに保持しておく。
あとは、ソフトキーのラベルを変更したいときに、add/removeすれば良い。
0336332
NGNG毎回インスタンスを作るなっていうのはわかるんですが、
Command.getLabelはあるけどsetLabelはないですよね?
↓考え方としてはこんな感じかな、と思うんですが…
if(mode == 1){
execCommand.setLabel("決定");
menuCommand.setLabel("MENU");
}else if(mode == 2){
execCommand.setLabel("確認");
menuCommand.setLabel("中止");
}
this.removeCommand(menuCommand);
this.removeCommand(execCommand);
this.addCommand(menuCommand);
this.addCommand(execCommand);
0337デフォルトの名無しさん
NGNGexecCommand1 = new Command("決定", Command.SCREEN, 1);
menuCommand1 = new Command("MENU", Command.SCREEN, 2);
execCommand2 = new Command("確認", Command.SCREEN, 1);
menuCommand2 = new Command("中止", Command.SCREEN, 2);
:
this.removeCommand(execCommand1);
this.removeCommand(menuCommand1);
this.removeCommand(execCommand2);
this.removeCommand(menuCommand2);
if(mode == 1){
this.addCommand(execCommand1);
this.addCommand(menuCommand1);
}else if(mode == 2){
this.addCommand(execCommand2);
this.addCommand(menuCommand2);
}
こんな感じか
配列にしたり、上手いこと管理しないと破綻しそうだが
参照とか使えないのかな?(←良くわかってない)
0338332
NGNGthis.removeCommand(execCommand);
がそもそも通らない罠_| ̄|○
エミだけど例外がでません…
今のソースはこんな感じ。
長くなるんでmenuCommandは消しますた。
execCommand1 = new Command("決定", Command.SCREEN, 1);
execCommand2 = new Command("確認", Command.SCREEN, 1);
execCommand = execCommand1;
:
try{
System.out.println("--changeLabel");
this.removeCommand(execCommand);
System.out.println("remove command");
if(mode == 1){
execCommand = execCommand1;
}else if(mode == 2){
execCommand = execCommand2;
}
this.addCommand(execCommand);
System.out.println("add command");
}catche(Exception e){
System.out.println("ERR" + e);
}
0339332
NGNGで、実行すると--changeLabelが出力されたところでとまります。
例外はキャッチできません。
0340332
NGNGソフトキーを押した瞬間に問題が起こってるみたいです。
で、だめもとで実機でテストしてみたらうまくいきました。
が、イマイチすっきりしないので、もう少し追ってみます。
0341デフォルトの名無しさん
NGNGそれから、synchronized を使ってたりする?
たぶんだけど、デットロックが起きてるようにみえる。
0342332
NGNG自前のpaint関数で、modeに変化があったときに
上記の処理をしてました。
で、その自前のpaint関数はsynchronized使ってます。
0343デフォルトの名無しさん
NGNGたぶん、synchronizedを外してみれば、ちゃんと動くと思う。
0344332
NGNGpublic synchronized void myPaint(Graphics g)
から
public void myPaint(Graphics g)
にしてみましたが、症状変わらずです。
synchronizedの記述がここ1箇所だけなので、
canvasに対しては使ってないと思います。
というかsynchronizedがどういうものか把握していませんで…
不勉強ですみません。
0345343
NGNGほかに synchronizedを使ってないとなると、止まってしまう原因が分からない。
ちなみに、その自前の描画関数は、Canvas#paint()から呼んでるんだよね?
0346332
NGNGそうです。
こちらでも追っているのですが、手詰まり気味で…
今手元にあるのがW11Hだけなので、
明日にでも他の端末でも試してみることにします。
0347デフォルトの名無しさん
NGNG漏れとかはペイント側は完全に変数の解釈->描画だけに集中していて
ペイント側が実アプリ側には影響しないはずのドキュメントビュー構造を
徹底したにもかかわらず、どうも描画のリクエストが変なタイミングで
飛んできて絵が(たまに)壊れる等の理由で、結局
本体、描画コールバック双方を完全にSynchronizedした
同期型のプログラムで決着つけた。
機種依存の性か、音の出方に若干影響がでちゃったんだけど、
それはまあさておき。
基本的にペイント側は、元から出来上がってる情報を噛み砕いて
絵にする作業に徹してる限り(例えばペイント側が本体ルーチンに
参照される変数やオブジェの加工をするとかでない限り)、
デッドロックって起きようがないはずなんですよ。
こと、双方からsynchronized外して(挙動こそ変われど)デッドロック
状態を脱しないなら、スレッドが悪さしてる可能性を一度捨てて
コード全体を再検証したほうがいい。
時間が許すなら、各コンポネントの依存関係図とかも、ちゃんと書いた方がいいすよ。
ロックが起きる状況=アトミック(不可分な処理)の中でさらに他のコンポネントにチョッカイかけてるとか
アトミックと定義されてるオブジェクトの生成結果ではなく、途中の生成物に期待してる
オブジェがいるとか、その類なんだから。
0348デフォルトの名無しさん
NGNG0349343
NGNG多分デットドックかなと。>>338 で removeCommand() の前にある printlnが表示されて、
後にあるprintlnが表示されてないらしいので、removeCommandで動かなくなってる。
>>348
synchronizedしてる対象が問題で、synchronized自体が問題なのではない。
MIDPの仕様的には許されるはずだけど、
(いまは忙しいので後日)VMの動作を確認しておきます。
0350デフォルトの名無しさん
NGNGの数っていくつでしょうか?
まだエミュだけで開発してるもので。すみませんが。
0351デフォルトの名無しさん
NGNG初期化するコードが出るため、Stringで代用することを考えました。
しかし、String table = "\u0001\u0002・・・・";といった感じで初期値を与えたいのですが、
一部の値(\u000aや\u0022等制御コード?)があると、コンパイルできません。
こういった値を含んだ場合、文字列として初期化するにはどうしたらいいでしょうか?
0352デフォルトの名無しさん
NGNGMA3入ってる携帯は全部同じじゃないのかな?
40和音を信じるなら、10トラック持てる勘定だけど…。
漏れはC4でしか開発したことないので、よくわからんぽ。
実機持ってる神はいねーっすか。
0353デフォルトの名無しさん
NGNGオーディオフレーズのこと?
だったらトラックは1つ。メロディフレーズは4つ使える。
で、質問。BGMを12和音(3トラック分)で再生したいのだが、
メロディフレーズを重ねて再生するとズレませんか?
0354デフォルトの名無しさん
NGNGググりなさい
\\, \n, \r, \", \t
(\u005c, \u000a, \u000d, \u0022, \u0009)
0355デフォルトの名無しさん
NGNGAudioPhraseTrackはだめぽみたいだけど、
PhraseTrack使えば、4音ごとの同期再生はできるよ。
例えばこんな。
PhrasePlayer p = PhrasePlayer.getPlayer();
PhraseTrack pt = new PhraseTrack[p.getTrackCount()];
for(int i=0; pt.length>i; i++)
{
pt[i] = p.getTrack();
pt[i].setPhrase(4音区切りのPhrase);
pt[i].setVolume(PhraseTrack.DEFAULT_VOLUME);//お好みで。
}
//先頭のトラックに他のトラックを同期させる
for(int i=1; pt.length>i; i++)
pt[i].setSubjectTo(pt[0]);
//先頭を再生させると、先にsetSubjectTo()しといたトラックも同時に鳴り出す
pt[0].play();
pt[i]に設定するPhraseは、YAMAHAのSMAFツールでもって、4音刻みでspfを用意すれ。
0357デフォルトの名無しさん
NGNGサーバーからbyte列を持ってきて、String型に収めて表示するものなのですが、
テスター曰く文字列が長過ぎるのでは?とのこと。
Vodafone実機の中で、String型の長さの限界がある機種ってありますでしょうか?
0358デフォルトの名無しさん
NGNGあったんじゃないかなあ。
ちなみに、持ってきてるbyte数は?
HTTPConnection con = (HTTPConnection)Conncter.open("URL");
DataInputStream in = (DataInputStream)con.openInputStream();
byte b[] = new byte[(int)con.length()];
in.read(b);
String str = new String(b);
みたいなノリだとしたら、どこの何が例外だしてるかで
随分状況が変わってくるよ。
例外捕まえて表示するダイアログみたいなもの用意すれば
実機でも充分検証できるっすよ。
それと、T06、N04の端末固有バグについては調べた?
どっちも送信側の問題だけど、その結果受信がおかしくなるってのも
ありそうな話だしさ。
0359デフォルトの名無しさん
NGNGStorageConnectionで扱えますか?
どうもルートが「データフォルダ」という位置になっており、
それ以下は40KB以下のファイルしか使えないように制限がかかっているようですが。
何か回避方法ありませんか?
0360デフォルトの名無しさん
NGNG0361デフォルトの名無しさん
NGNGただ、PNGの展開には機種固有のバグが多いから、より詳しくはTips.pdfを
Vodafoneの開発ドキュメントサイトから落としてきて、よく読んどいた方がいい。
0363デフォルトの名無しさん
NGNGありがち(w
治ってよかったね。
0364デフォルトの名無しさん
NGNGヒープオーバーって、どーやって検出したの?
mallocみたいなのあるん?
0365デフォルトの名無しさん
NGNG実際に問題になれば例外飛ぶし、
Runtime#freeMemory()から残りのヒープ量も取得できるよ。
0366デフォルトの名無しさん
NGNG日本語にする方法を教えてください。
jadファイルのMIDlet-NameをUTF-8にしたり、
ファイルをUTF-8にしたりしてみたのですが、うまくいきません。
0367デフォルトの名無しさん
NGNGUTF-8にするので正解。
具体的にはMIDlet-NameがUTF-8になっていれば、
ちゃんとアプリ名でも2バイト文字は表示される。
ただ、16バイト=8文字が限界。
エミュレータが指摘してくれた気もするが、超えてしまってても
中途半端に通ってしまったような記憶もある。
いずれにせよ、規約は守らないと動作が保証されない。
何かの拍子で、化けた状態のファイルをさらに別のエンコードで
保存したとかでもって、文字列自体がぶっ壊れ状態になってるとかも、よくある話。
「最初からファイルをUTF-8で開いて」文字化けしてないか確認してみよう。
詳しくはVアプリ開発ガイドの概要編に載ってるJADファイルの項を読むべし。
それでも駄目なら、MIDlet-1 とかの左端の名前も日本語にすれ。
MIDletの構成が1個だけのアプリでも、こっちを見に行く端末が
ある様な気がして仕方ない。
0368デフォルトの名無しさん
NGNGありがとうございます。
漢字とカタカナはうまくいったのですが、ひらがなだけが駄目なようです。
0369デフォルトの名無しさん
NGNG0370デフォルトの名無しさん
NGNG0371デフォルトの名無しさん
NGNG0372デフォルトの名無しさん
NGNG0373332
NGNG5301Tでやっても同じように動作しました。
んで、自作のpaint関数の外にだしたらエミュでも正常動作。
removeCommandとaddCommandを実行するとrepaintが呼ばれるので、
デッドロックが発生してた、って認識でいいんですかね
で、そこまではいいとして。
removeCommandしてaddCommandすると、
どうしてもラベルが一回点滅します。
多分repaintが走ってしまうせいだと思うので、
paintを空実装にしたいんですが、
iAppliでいうgetGraphicsみたいなことは
ezではできないんでしょうか?
0374デフォルトの名無しさん
NGNGJava Blenderみたいなの。
0375デフォルトの名無しさん
NGNGremoveCommandとaddCommandと実行したからといってpaintするとは限らないみたいですよ。(5303と5403ではしないと確認)
ラベルが点滅するのはGraphicsとは別だと思う。addなどが呼ばれるとコマンドの並び替えみたいなの起こるので、
addとremoveの順番変えると並び替え少なくすむ場合もあるけど全く点滅しないのは無理だと思う。
MIDPのCanvasにgetGraphicsは無いけど、
一回paintの引数のGraphicsを適当な変数つけて扱ったら?・・と思ったけど
Graphics exg;
〜paint(Graphics g){
exg=g;
略
}
exg.draw〜
これではexgに変更があった時毎回必ず実際の画面も変わるという訳じゃなさそうなので使えないかも。
0376デフォルトの名無しさん
NGNGiモードのオブジェクトタグを使ってのHTMLからのアプリ起動のようなことはできますか?
0377デフォルトの名無しさん
NGNGVアプリ専用なのは知らないが、このスレに出てきた汎用のツールは
jarg
retroguard
ProGuard
http://imodoki.sourceforge.jp/manual/shrinker.html
によると、ProGuardとjargを組み合わせて使うといいらしい
jargにはバグがあるので注意>>215
0378デフォルトの名無しさん
NGNG>一回paintの引数のGraphicsを適当な変数つけて扱ったら?・・と思ったけど
>Graphics exg;
>〜paint(Graphics g){
> exg=g;
> 略
>}
>exg.draw〜
>これではexgに変更があった時毎回必ず実際の画面も変わるという訳じゃなさそうなので使えないかも。
公開されてるアプリでに、同じことやってる例は結構あるっぽい…
試した限り、エミュでも何でもこれで動作がおかしくなった事は一度もないけど、
本来これが動くかどうかって、実装依存だよな。
ごく小さなアプリ内で、プログラムが描画部と本体の2つに分かれてしまうのは面倒なんだけど、
潔くあきらめた方がスッキリするよ…。
その際、paint() をカラ実装にするよりは、paint()の中身の書き直しを考える必要があるかも。
ことVアプリに言えることなんだけど、suspend 時に仮想画面の中身が失われてしまうので
仮想画面含めた全画面の再描画の必要があるか、部分書き換えで済むかを
本体側で管理してやる必要が(主に速度面から)出てくるはず。
再描画の必要なし(描画コンテキストに更新が無いのにpaint()が呼ばれた)なら、
何もせずに抜ける、とか仕込んでやろう。
それでも出てくるラベルの点滅を抑えるには、ラベルのaddとremove自体を呼ばない様にするのが一番の薬。
0379デフォルトの名無しさん
NGNGgetGraphicsに関しては、こんな感じじゃ駄目か?
Canvasのチラツキ防止やレジューム時の再描画で手を抜く為に、オフスクリーンイメージを使ったような記憶が…
offscr_img = Image.createImage(120,120);
g = offscr_img.getGraphics();
:
paint(Graphics onscr_g){
onscr_g.drawImage(offscr_img,0,0,?);
}
0380デフォルトの名無しさん
NGNGpaint部のGraphicsを保存すれば、paint外でも描画可能。
これは全ての機種で動作確認済み。
paint外で保存しておいたGraphicsで描画を行い、paintを呼び出す。そうするとpaintが呼ばれた瞬間描画が反映される。
ただしi-modeのようにメインスレッドを無限ループさせていると、電源キーによる終了反応がにぶくなる罠。
まぁ鈍くなるだけなんで、はっきりいってスピーディーにアプリつくるならこれはよい方法。
>>ラベルのちらつき
どうしようもない。こればかりはあきらめれ。
0381378
NGNGいや、俺もつい手軽さに負けて、そうしたくなる…つーか、そうさせてくれ!と叫びたくなるし、
実際にエミュでも実機でも、普通に動いちゃうんだけどさ。
こうなんていうの?仕様的?に、これって許されるのかしら、と。
そういうレベルの話です。廃。
0382デフォルトの名無しさん
NGNGCanvasのpaintの引数のGraphicsは、paint内部以外では不定な扱いらしい。
Operations on this graphics object after the paint() call returns are undefined.
Thus, the application must not cache this Graphics object for later use or use by another thread.
It must only be used within the scope of this method.
てか、すべての実機で問題ないんなら、オレも使おうかな・・・
ところで、このスレで質問に正確に答えているような人たちみな、実機確認云々の話がすぐに出てくるけど、
それって手元に実機すべてあるってこと?ってことはメーカ・公式サイト系の人も多いんかな。
わたしゃヘタレ日曜プログラマです。
0383デフォルトの名無しさん
NGNGC4型端末では「destroyApp()内の処理は実行しない」と書かれています。
電源キー押下による強制終了への対処など、どのように実装すれば良いでしょうか?
0384デフォルトの名無しさん
NGNGあれ、困るんだよねえ。
強制終了については、あきらめる…が一番かな。
レコードストアへの保存処理は、アプリケーションの終了後に
フラッシュが行われるせいか比較的高速なので、アプリ内の
要所要所でマメに保存処理をすることで、無理やり対処しちゃたよ、漏れは。
0385デフォルトの初心者
NGNGVodafoneのP5端末なら、音声認識ってできるみたいなんだけど、
認識じゃなくって、音拾うだけって。
そんなのできない?
0386332
NGNGえーと
・ラベルのちらつきはどうしようもない
・getGraphicsはpaintのGraphicsを使うことで代用可能(仕様上は保障されてない)
・addCommandやRemoveCommandではrepaintは呼ばれない(呼ばれるとは限らない?)
ってことですね。
でも3番目のやつだとエミュでデッドロックっぽい動作が発生した説明がつかない…
エミュだとadd/removeでrepaintが呼ばれるのかな?
その辺は暇になったら検証してみます
ともかくありがとうございました。
>>382
一応他キャリアでは公式もやってます。
0387デフォルトの名無しさん
NGNG強制終了されても問題ないように作るしかないですか。
とりあえず、対象データが更新されるタイミングで毎回保存処理を行うようにしました。
#そもそも、RecoredStoreって起動時に変数に読み込んで操作するのと、
#直接操作するのとではパフォーマンス的にどれ程の違いがあるんだろ…。
#変数名=レコード名でIDは常に1としているので、構造上は問題ないし。
0388デフォルトの名無しさん
NGNG色数(256色以下)問題以外の制限ってあるのでしょうか?
ダウンロードしたpngを
imageBase = Image.createImage( dData, 0, size );
って感じで、.Imageにしているのだけど、
画像によって、
Illegal.ArgumentException:srcData:[B@1a4cfaa
と言われます。
直前でdDataを書き出してみたら正常なpngデータだったので
ダウンロードはできている感じなのですが、
例外報告のsrcDataとは異なった値でした。
createImageに入れたときに何か起きている
みたいなのですが・・・。
createImageが通る画像のときはsrcData=dDataになっています。
0389デフォルトの名無しさん
NGNG今J2MEでこんなプログラム作っているんです。
1、ネットで碁を打ってSGFファイルをテキストデータとして保存。
2、メール本文にその内容をコピペして相手にメール転送。
(この時、相手のj-phone携帯にそのV-appli(ソフト)が入っている。)
3、受信した相手側がメールの本文をクリップボード(?)にコピー。
4、受信した相手側がV-appli(コレのこと)を起動。
5、V-appliがクリップボード(?)を読み込んで、表示。
要は携帯版SGFビューワです。
クリップボード(?)を読み込む
クラスやメソッドのことがいくらググっても出てこないんです。
どなたかJ2MEで携帯のクリップボード(というのでしょうか?)
を読み込むjavaソースを教えてください。よろしくお願いします。
0390デフォルトの名無しさん
NGNG参考図書とかありますか?
0391デフォルトの名無しさん
NGNGJSCL1.2.0(P5型端末)限定なら、メールデータを直接扱えるようですが。
>390
Vアプリの基本。
ttp://www.dp.j-phone.com/dp/tool_dl/java/tech.php
MIDPでできることをきっちり学習したいならこの本。
アスキー出版局「J2ME ワイヤレスJavaプログラミング」
ttp://www.ascii.co.jp/pb/ant/j2me/
とりあえず何か動く物を作りながら…ならこの本。
技術評論社「Java2ME MIDP ゲームクリエーターズガイド」
ttp://www.gihyo.co.jp/books/syoseki.php/4-7741-1470-7
0392デフォルトの名無しさん
NGNGクリップボード機能は経由Javaでは使えない。
0393デフォルトの名無しさん
NGNG制限はないハズ。
それはエミュレータのピープサイズが足りてないんだと思う。
変更してみ。俺もそれで一時間ぐらいはまってたから。
0394デフォルトの名無しさん
NGNG制限無しなのですね、ありがとうございます。
スッキリした。
エミュレータは
JAVA_HEAP: 2048000
に設定してあります。
240*240*8の画像を数枚生成するぐらいなので、
多分足りていると思うのですが……
A5403CAでも試したのですが、
画像一枚分だけ多くImageが作れて同じエラーが出る_| ̄|○
0395デフォルトの名無しさん
NGNGガベージコレクタ、してるよね?
System.gc()
ってやつ。一枚生成するごとにしたほうがいいと思うよ。
あと画像はロードすると思った以上にメモリを食うから要注意だよ。
途中まで作れるってトコをみるとピープだと思うんだけどなぁ。
0396かぜたそ
NGNGありがとうございます
本は早速注文してみました
公式からエミュを落としてインストールしてみたんですが
起動しようとすると一瞬DOS窓が出てすぐ消えるだけでぜんぜん起動できませんorz
便乗ですが
vodafoneの独自機能(バーコード読み取り等)を扱う場合は
コンパイラはどうなるんですか?エミュの中に組み込まれてるんですか?
0397デフォルトの名無しさん
NGNGVアプリ独自のAPIは「j-phone-sdk\lib\stubclasses.zip」に全部入ってる。
コンパイル時のクラスパスに指定すればちゃんとコンパイルできるよ。
もっとも、MIDP-1.0基準で作ればJ2MEWTKでビルドもパックもチェックできるし、
ezの方にも簡単に移植できるけどね。
ttp://homepage1.nifty.com/cotton100/jphonejava.htm
↑ちと日付が古いが、(1)〜(5)までが参考になると思う。
開発環境集めたら「midp 入門」あたりでググってみるとよさげ。
0398デフォルトの名無しさん
NGNG生成するごとガベージコレクトしてみたのですが、
やはりダメでした。
で、データを少し減らし、
リソースに収まるようにして画像生成を試したところ、
IOException例外でInsufficient memory メッセージが出ました。
395のいうとおり、メモリ問題だったようで。
Imageを一気に作り貯めせずに
必要なときに生成していく方法に切り替えます。
ありがとうございました。
0399ディフォルトの名無しさん
NGNGよろしくお願いします。yournet規制まだぁー?(チンチンAA略
---------------------------------------------------------------------------
【板名*】 プログラム技術
【スレ名*】 CLDC+MIDP+携帯電話用Javaスレッド part 2
【スレのURL*】 http://pc2.2ch.net/test/read.cgi/tech/1070858996/
【名前】389
【メール欄】sage
【本文*】↓
>>391さん
情報ありがとうございます。
詳しくググッてググッてググりまくったところ、
寝太郎 the Webさんの所で解決しました
なんて素晴らしいページなんだと感激
携帯アプリ作ってる人は行って見ると良いと思います。
0400デフォルトの名無しさん
NGNGうまくエミュレートする方法ってありますか?
0401400
NGNG0402デフォルトの名無しさん
NGNG大量にメモリを食うって聞いたのですが、
生成し終わったImageのサイズは、
DIB換算した画像データサイズと同等ぐらいになりますか?
0403デフォルトの名無しさん
NGNGいっそエミュあきらめる、ってのはだめ?ケーブル使えばパケ料要らないし。
単にサイズだけの問題なら、フォントサイズさえ取得すればだいたい予想できると思います?
120×134でエミュのフォントサイズも実機の半分になるようにしたら、文字くらいしか使わないアプリなら・・。
>>402
Imageがどうメモリ使うかは機種によるみたいです。
フルカラーのファイルでもインデックス(256)くらいに落とされたりする可能性もあると思います。
5403ならヒープ1.6Mで画面の10倍くらい使えたからピクセルあたり2バイトかな?
0404デフォルトの名無しさん
NGNGau専用の命令を使ってなければ
ボーダのエミュでいけるかと。
0405デフォルトの名無しさん
NGNG合計、約6.5KBのPNG画像を10枚ほどresフォルダに入れてビルドしたところ
画像を入れる前のjarが約27KB、
入れた後のjarが約35KBになりました
計6.5KBの画像を入れて8KB増えたのですが・・
どうしてなのでしょう・・・
0406デフォルトの名無しさん
NGNG便利な世の中になったものだ。
0407デフォルトの名無しさん
NGNGヘッダーやらなにやらつけまくるのだから重くなって当たり前。
0410402
NGNGどうもです。うちの実機も5403だったので調べたところ、
やはり、おおよそ1ピクセルあたり2バイトでした。
これがエミュだと4バイト弱食っているようでした。
実機テストは大事だと実感。
0412デフォルトの名無しさん
NGNGある日突然治っちまって驚いた。
0413デフォルトの名無しさん
NGNG0414デフォルトの名無しさん
NGNGWebブラウザ作れ。
需要はあると思う。
0415デフォルトの名無しさん
NGNGRSSリーダ。需要は大きいかと。
0416デフォルトの名無しさん
NGNG0417デフォルトの名無しさん
NGNGうちもEZアプリエミュ、Vアプリエミュ共に動かなかったけど、
原因はJAVAがうまく動いてないような感じだった。
起動せずにアイコンを右クリック・プロパティ、
リンク先の部分の
-jar前を変えると、うまく動いた。自分でインストールしたj2se(だっけ?)のアドレスに変える。
↓こんな感じ。
「c:\jdk1.3.1\bin\javaw.exe(←ここまでを変える) -jar jdmidp.jar」
的はずれなこと言ってたらごめん。
0418かぜたそ
NGNGありがとうございます
試しにjavaw.exe経由でjdmidp.jarをファイルを開いたら英語表示で無事開けました
ファイルの関連付け関係がおかしいみたいですね。。。。
0419デフォルトの名無しさん
NGNGC4用のstubclasses.zipを読めてないからだと思うのですが、どうすればよろしいのでしょうか?
0420デフォルトの名無しさん
NGNG>>419
俺は諦めたw
設定ファイルで何とかなりそうなんだが、面倒くさいし、アレの出来がよくないので、
Antとかmakeとか使う方が早いと思われ。
0421デフォルトの名無しさん
NGNGstubclasses.zipでググって自分で調べてみよ。
他のツール使わない解決方法はあるぞ。
0422デフォルトの名無しさん
NGNGこのへん
http://www2s.biglobe.ne.jp/~yuuki_ki/java_basic2.htm
オレは、面倒なんでclasspath環境変数に設定してる。
0423デフォルトの名無しさん
NGNGメモリ不足になる場合をのぞいて。
0424419
NGNGありがとうございます!
結局、WTKは使わず、コンパイル→事前検証→jarのバッチ処理を自分で書いて解決しました。
WTKを使えないのは面倒ですが、しょうがないですね・・・。
0425デフォルトの名無しさん
NGNGcで言うところの、y=sin(x*rad)みたいなのって、どう書くもんなの?
y=FixedPoint.sin(xr);と書くとsinがstaticぢゃないぞーとか言われたし。。。
0426デフォルトの名無しさん
NGNGいちいちあげないと質問も出来ないのかお前は?
まず>>1を読め。
話は、それからだ。
0427デフォルトの名無しさん
NGNGよみこむのはだいじょうぶ。
ただし画面に表示できるかは、また別問題。
0428デフォルトの名無しさん
NGNGその調子だと、FixedPoint以外の使い方にも問題が出てませんか?
まずはJAVADOC嫁って感じだが、FixedPoint.sin()は、staticじゃないってのは、そのまんま。
少なくとも
y = y.sin(xr);
なら通るだろうに。
…なんでsin()がstaticじゃないのかは理解に苦しむが、単にオーバーヘッド考えてのことなんだろうな。
つーか初めてVodafoneのFixedPoint周辺のドキュメント読んだが、これ…酷いな…。
0429デフォルトの名無しさん
NGNG機種によっては表示できないのもあるのかなーって思ったんですが、
やっぱりあるんですかね。A5401だと、QVGAが出ませんでした。
A5404Sでは出ました。機種によって扱える大きさが決まってるんでしょうかね。
一つにまとめた方が容量少なくなるから、よくやるんですが、まずいのかな・・。
0430デフォルトの名無しさん
NGNGxとyが0じゃないと指定したサイズでクリッピングされないのだが。
俺だけ?
0431デフォルトの名無しさん
NGNGレスサンキュー
Javadocを読んでも漏れには意味不明でさっぱりだったので
質問させて貰いました
staticじゃない時点で、ウワーンでした
で、y=y.sin(xr)でコンパイルは通ったけど、結果が変かも
そもそも漏れのsinの使い方が変なのかもしれんので
ちと算数の勉強してきまつ
0432デフォルトの名無しさん
NGNG整数の65536倍の数であるということとか。
0433デフォルトの名無しさん
NGNGデータフォルダから画像ファイルを呼び出して編集、保存等はできますか?
0434デフォルトの名無しさん
NGNG仕様上無理です。
0435デフォルトの名無しさん
NGNGテキスト表示したいのですが、再描画されずに通信が開始されてしまいます。
高レベルAPIにおける再描画の条件について、どなたかご存知ありませんか?
あるいは、参考資料はないでしょうか?
0436デフォルトの名無しさん
NGNGIf the Form is visible on the display when changes to its contents are requested by the application,
the changes take place immediately.
That is, applications need not take any special action to refresh a Form's display after its contents have been modified.
とか書いてあるから、特に何もしなくても良い気がする。
もしダメなら、ItemStateListener使うとか。
0437デフォルトの名無しさん
NGNGcommandAction()とかで通信なんかしてないよね?
スレッドを立てて、そっちで通信してるんだよね?
0438435
NGNGException発生または受信したデータが不正であれば「失敗」と表示し、
そうでなければ「成功」と表示しているのですが、まずいでしょうか…。
0439437
NGNGcommandAction()の中で、StringItemの変更とHTTP通信の両方をおこなったらダメよ。
commandAction()中のForm操作は、commandAction()を抜けないと反映されない。
なので、スレッドを別に作って、そっちにやらせないと期待通りに動作しない。
0440デフォルトの名無しさん
NGNG0441435
NGNGありがとうございます、そういうことでしたか。
iアプリの方ではsoftKeyReleased()内で同様の処理を行い、期待通りの
動きをしていたのですが、仕様が違うのでしょうかね。
通信は別スレッドにして、結果の表示もそちらから行うようにしてみます。
0442かぜたそ
NGNGgetText()で値を取り出した場合返り値はstring形なんですよね?
たとえば
a=TB1.getText();
b=TB2.getText();
c=a*b;
と言う感じではできないんですよね
この場合c=(int)a*(int)b;
って感じで良いんですかね?
初歩的な質問でスマソ
0443デフォルトの名無しさん
NGNGそれだとコンパイルすら通らんだろう。
ここではInteger#parseInt(String s) にてintに変換するのが正道。
上の場合は
a=TB1.getText();
b=TB2.getText();
c=Integer.parseInt(a)*Integer.parseInt(b);
aおよびbに数字や - 以外が入ってると
NumberFormatExceptionが投げられるから注意がいるっすよ。
つーわけで、詳しくはjavadoc嫁。
0444デフォルトの名無しさん
NGNG0445デフォルトの名無しさん
NGNGエミュ上ではうまくいくものの実機だとIOExceptionが出てしますうんですが
cgiの方は↓のような感じで
print "Content-type: text/vnd.sun.j2me.app-descriptor\n\n";
print "APDATATEST";
アプリの方では↓のように受信させてます。
HttpConnection connection = (HttpConnection)Connector.open(url, Connector.READ, true);
connection.setRequestMethod(HttpConnection.GET);
InputStream in = connection.openDataInputStream();
// 読み捨てる
byte[] headbytes = new byte[6];
int size = in.read(headbytes);
ByteArrayOutputStream bout = new ByteArrayOutputStream(1000);
byte[] bytes = new byte[1000];
while((size = in.read(bytes)) > 0)
bout.write(bytes, 0, size);
in.close();
connection.close();
String Text = bout.toString();
エミュ上では問題ないんですが、どこかマズイ点などありますでしょうか?
0446デフォルトの名無しさん
NGNGコンテントタイプを変えてみたら?
0447デフォルトの名無しさん
NGNG0448デフォルトの名無しさん
NGNG0449デフォルトの名無しさん
NGNG0450デフォルトの名無しさん
NGNGってスレ立ててもいい?
0451デフォルトの名無しさん
NGNG0452デフォルトの名無しさん
NGNGと読んでました。
0453デフォルトの名無しさん
NGNG0454デフォルトの名無しさん
NGNG256個
しかし、ウィザードリィ#1の文字がスプライトだとすると、
他の画像はどうやって格納してるんだ?
ひらがなカタカナアルファベットでゆうに150くらい行くのだが・・・
0455デフォルトの名無しさん
NGNG0456デフォルトの名無しさん
NGNG0457デフォルトの名無しさん
NGNG例えば、縦シューとかで背景スクロールさせるとき、スプライトのマップチップを
並べてスクロールさせてるけど、他に良い方法あるかな?
0458デフォルトの名無しさん
NGNGkeyPressed
keyReleased
を使うしかないのでしょうか。
keyRepeatedはあまりにも遅いんですが・・・
0459デフォルトの名無しさん
NGNG拡張API使うとか。
0460デフォルトの名無しさん
NGNG少なくとも開発ガイドには上限の表記がない。
0461デフォルトの名無しさん
NGNGずぼらな私は、Eclipseを使用しようと苦戦中です。
どこかのサイトからVodafoneプラグインをインストールしたのはいいのですが、
コンソールにはコンパイルsuccessfullとでるにもかかわらず、
エミュレータで実行しようとすると、
エミュ自体は立ち上がるのですが、
何も表示されないまま、
すぐにウインドウを閉じてしまいます。
XML,Antの知識が殆どないことが
原因でくだらんミスな感じがする。
それともjargが良くないのか?
やっぱりコマンドプロンプトにもどれってことだよな・・・
0462デフォルトの名無しさん
NGNGデバッグはボーダ公式エミュ。
0463デフォルトの名無しさん
NGNGjavadocには書いてるぞ。
SpriteCanvasのコンストラクタ
0464デフォルトの名無しさん
NGNGEclipseのVアプリ用プラグインでコーディングして、ビルドはWTK使ってる。
拡張API使う場合はEzのツールでビルド。
0465デフォルトの名無しさん
NGNGわしゃPeggyProのマクロじゃ。
でも、エミュレータ起動はVアプリエミュを手動で。
0466デフォルトの名無しさん
NGNGベタデータで持たせてると、圧縮されること考えてもやたらファイルサイズが
でかくなりそうなんだけど・・・
0467デフォルトの名無しさん
NGNGスプライト一つあたり8x8=64なので、64バイト。
最大値の256個あるとして、16384バイト=16Kバイト
0468デフォルトの名無しさん
NGNG余計なこと考えずにベタでもってる。
どうせZIPの餌食だし、ちゃんと束ねとけば呆れるほど縮まるよ。
0469デフォルトの名無しさん
NGNGVなら、DeviceControlerから情報を取得して
別に作ったキーバッファに状態を保存しておけば?
ついでに押されてる時間も保存しとくと便利。
0470デフォルトの名無しさん
NGNGオレも、生のファイルでそのまま保持。
zipで1/3くらいになってるから、まぁこれで十分かなっと。
画素数がしれてるし、工夫したところでそこまで小さくなるとも思えん。
http://www.saturn.dti.ne.jp/~npaka/kvm/javapress/coolskiers/genkou.html
のSpriteConvertを使ってる。
コマンドラインから、jadファイル指定してVアプリエミュを起動とかできないの?
UEI仕様とかワカラン
0471デフォルトの名無しさん
NGNGemulator.exe -Xdescriptor:****.jad
で起動出来るみたいだなぁ。
0472デフォルトの名無しさん
NGNGデータベースを検索し結果を表示する機能について調べていました。
通常携帯からURLを打ち込んで、例えばホテルの予約案内を検索する場合は
Javaアプリをダウンロードして実行しているわけではないですよね?
あれはJavaで作成したものではないんでしょうか?
データベース検索はサーブレット+JDBCがイイみたいな解説を
見たものですから・・・
よろしくおねがいします。
0473デフォルトの名無しさん
NGNGそれは、サーバー上で動いているので、携帯電話と直接関係はない。
所詮フロントエンドくらいの機能しか持たせられないよ。
0474472
NGNGありがとうです。
そのフロントエンドをJavaで作成しVアプリにするメリットって
あるんでしょうか?
ふつうにURL打ち込んで接続するのと違いがあれば教えてください。
0475デフォルトの名無しさん
NGNGモノによるけどなあ。。。
グラフィカルな表示ができる(ように作れる)とか、Webのフォームで扱いづらいような検索フォームができる(ように作れる)とか、
0477470
NGNGthx、見事に起動しますた、しかもエミュコントロールパネルなしのエミュ窓のみで。
こりゃ便利、Makefileオンリーでいけそう。
*.jadに関連づけもしときますた。
エロい人、ホントにありがと
0478デフォルトの名無しさん
NGNG0479デフォルトの名無しさん
NGNG解像度ごとに違うアプリ作る。
0480デフォルトの名無しさん
NGNG0481デフォルトの名無しさん
NGNGSDとかメモリーカードへも読み書きできるのでしょうか?
たとえば、
String url = "datafolder://filename";
DataFolderConnection conn = (DataFolderConenction)Connector.open(url, Connector.READ);
で、メモリーカード用のurlがあるとかなのでしょうか?
0482デフォルトの名無しさん
NGNG画像ファイルを読み込んで、表示するという単純なプログラムなのですが、
WTKのエミュでは実行できるのですが、Vodaエミュ(P5)ではIOエラーがでます。
どこが間違っているのでしょうか?ファイルが読みこめてなさそうなんですが。
[TEST0004.java] import省略
public class TEST0004 extends MIDlet {
public TEST0004() {
Display.getDisplay(this).setCurrent(new DrawCanvas()); }
protected void startApp() throws MIDletStateChangeException {}
protected void pauseApp() {}
protected void destroyApp(boolean arg0) throws MIDletStateChangeException {}
}
[DrawCanvas.java] import省略
class DrawCanvas extends Canvas {
private Image img;
DrawCanvas() {
try {
img= Image.createImage("/7.png");
} catch (IOException e) {
e.printStackTrace(); }}
protected void paint(Graphics g) {
g.setColor(0x00FFFFFF);
g.fillRect(0,0,getWidth(),getHeight());
g.drawImage(img,0,0,Graphics.TOP|Graphics.LEFT); }
}
0483デフォルトの名無しさん
NGNGWTKで実行できて、Vodaのエミュで実行できないのは、コンパイルのミスが大半。
0484デフォルトの名無しさん
NGNGありがとうございます。
コンパイルミスですか。
試行錯誤してみます。
0485482
NGNG読み込むファイルの拡張子が、
JAVAファイルではpng
ファイル名ではPNG
だからでした。
報告まで
0486デフォルトの名無しさん
NGNGコンボBOXのサンプルないですか?
全くわからなく困ってます。
0487デフォルトの名無しさん
NGNG256kアプリver.2って・・・
0488デフォルトの名無しさん
NGNG現在ezplus(Phase3対応)のアプリを開発しているのですが、
データストレージ、またはダウンロードどちらかの利用に際してバグが発生してしまいます。
データストレージに読み込んだ画像が、エミュレータでは表示できるのに対して、
実機では表示できないという症状です。
というのも、画像が正確に読み込めていないようなのです。
・KJXに予め含まれたリソースは、エミュレータ・実機とも問題無く表示できます。
・ストリームの入出力処理はDataInputStream、DataOutputStreamクラスを使用しています。
・ファイルをダウンロードする際、数十個ある画像ファイルを20KBごとのdatファイルに分け、
6回に分けてダウンロードしています(data0.dat〜data5.dat)。
・ストレージには最初の0〜9バイトに必要な情報を格納し、
10バイト目から画像データのバイトが格納されます。
・画像ファイルの総容量は現時点で約120KBです。
最終的には180KBくらいまで膨れ上がる予定です。
・画像の読み込みはImage.createImage(byte[] b, int off, int size)を用いています。
エミュレータでは表示されるので、offの位置などが間違っていることはないと思います。
上には全く関係のない見当違いのことも書いているかもしれませんが、
何卒ご教授よろしくお願いします。
0489デフォルトの名無しさん
NGNGMP3再生とか出来ないかな?
0490488
NGNGMP3ですか、、、やってみます。
いろいろやってみたのですが、どうも別の場所で改めてストレージを呼び出した際、
10バイトのヘッダー情報のあとが、実機とエミュレータで1バイトずれているようです。
------------------------------------------------------
// 別ツールで作成したdatファイル(画像が入っている)を読み取り、画像の先頭アドレスを取得する
int[] imgw_GetAddressList(){
DataInputStream in;
int n;
int List[];
try {
in = Connector.openDataInputStream("storage:");
// ヘッダー情報取得(実際には何もしない。入力位置を参照するため)
byteb[]= new byte[10];
in.read(b, 0, 10);
// ここで、b[]の情報を表示したが、実機・エミュレータともに正常だった。
n = in.readShort();// 上記10バイト後にファイル数が格納されているので、それを取得
// ここでnの中身をチェックすると、実機とエミュで値が違う。
List = new int [n];// 戻り値の配列を作成
// ここで更に10バイト読み込み、それを表示させると、1バイトずれていた。
・・・
------------------------------------------------------
といった状態です。
0491489
NGNGうぉーーまじでやってくれるんですか?
A5403CAあたりがCPU的に最強だと思います。
閉じた状態でもアプリは動き続けるようですね。
ただし、その場合はサブディスプレイが点灯しっぱなしになるので
すぐに電池がなくなります。
ヘッドフォン付けてステレオでminiSD内のMP3が聞けたりしたら
いいと思います。協力できることがありましたらどうぞ。
0492デフォルトの名無しさん
NGNG面白いことになってるな。早く気づくといいね。
0493489
NGNGUNIX系の知識、ちょっと高度なWindowsの知識しかないです。
果たして役に立てるのか。。
とりあえず488氏に期待age
0494デフォルトの名無しさん
NGNG0495デフォルトの名無しさん
NGNG「n = in.readShort();」のところ、エンディアンの問題で引っかかってるのでは。
同じCPU上でwrite/readする分には特に意識しないが、
異なるCPU上でwrite/readするときはそれぞれのCPUがビッグ・エンディアンか
リトル・エンディアンか意識する必要がある。
readShort()は連続する2バイトを符号付きshort型整数として読み込むものだが、
01 02 03 04 … とデータが並んでいる場合、
n = 0x0102 = 258 と解釈されるか、n = 0x0201 = 513 と解釈されるかの違い。
489=493氏へ
>>488…画像の質問
>>489…488とは無関係にmp3の質問
>>490…489を488へのレスだと勘違い
>>491…490を489へのレスだと勘違い
が真相じゃないか?
0496デフォルトの名無しさん
NGNGMP3ですか、、、やってみます。
ってかいてるじゃん。
0497デフォルトの名無しさん
NGNGも し か し て
どうあがいてもminiSD内のMP3データ読めない?
0498デフォルトの名無しさん
NGNGJavaでは常に 0x0102 = 258 と解釈されるべき。
もしそうでないなら、バグ。
0499デフォルトの名無しさん
NGNGVアプリP5型エミュv1.0でFileUtilityを使おうとしてます。
FileUtility fu = FileUtility.getInstance();
fu.play("/ms/icon.png");
すると以下のようなショボーンなWinダイアログが出て、コレを閉じるとIOException(not supported)が出ます。
ネイティブ再生 ×
パス名 OK
/ms/icon.png
txtでもhtmlでもmmfでも同じのが出ます。そもそもエミュとしての機能がそんなもんなんでしょうか?
0500デフォルトの名無しさん
NGNGjadファイルの設定
0501デフォルトの名無しさん
NGNGhttp://hobby6.2ch.net/test/read.cgi/appli/1084877675/
0502499
NGNGMIDlet-Application-Security: ですか?
入れてみましたが変わりなし、そもそもFileUtilityはセキュリティ対象クラス・メソッドに指定されてませんし・・・
mmfならgetMediaPlayerから再生できるようなんですけど・・・
で、いろいろドキュメント読んでみたんですけど、
ひょっとしてFileUtility#playは動画再生のみサポートだったりします?
(開発編にあやむやに書かれてたり、Zentekサンプルがそもそも動画のみのものだったりで)
0503デフォルトの名無しさん
NGNGIMAP4MailConnectionを使用して送信しているのですが、送信する時に
確認画面が出て停止してしまいます。
この画面を出さずに送信する方法があれば教えて頂けませんか?
0504デフォルトの名無しさん
NGNG迷惑メール送信業者の悪徳協力者ですか?
死んで下さい。
0505デフォルトの名無しさん
NGNGたすけてください。
問題1 5MB級のファイルをロードできるのか。
問題2 どうやってスピーカーに吐き出すか。
0506503
NGNGおっしゃる通り、確認なしにメール送信を許せば迷惑メールに悪用できてしまいますね。
ただ、GPSの位置情報を定期送信したかっただけなんだけど、IMAP4MailConnectionは諦めます。
HttpConnectionでサーバー経由させるか・・・。
>>505
昔、Windowsでデコーダ作った事がありますが、仮に5MBのMP3ファイルを読み込めても
PCM取り出してそれを吐き出すデバイスを直接いじれる手段がないのでは?
ただ、Phase3から
・SMAF Humanoid Voiceデータ再生 他
って書いてあるからADPCMなら直接吐き出す方法があるんだと思います。
Voda用のニセ着うた変換ソフトを作りましたけど、正直、8KHzで4Bit程度じゃ
使う気もしないと思いますがw
0507デフォルトの名無しさん
NGNGレスどうもです。
ここは、焦点をPhase3に絞ったとしてもPCMを直接出力する手段が問題ですね。
スピーカーは糞としてもステレオヘッドフォンならそれなりの音質が得られると
思うので、何とかならないかとドキュメントあさり中です。
SMAF Humanoid Voiceってのは本体のROMに人間の声が事前に入っていて
それを再生するだけじゃなかったでしょうか?(よく覚えてないです
0508デフォルトの名無しさん
NGNGPCMアウトは無いよ。HVはデータをあらかじめ用意しとくか、スクリプトを使うかのどっちか。
0509デフォルトの名無しさん
NGNG0510508
NGNG0511508
NGNG0512デフォルトの名無しさん
NGNG>>511さんが言う方法って音質悪くならないかな?
0513デフォルトの名無しさん
NGNG文字列の正規マッチングとか、JDK1.4にいろいろ使いたい機能があるので、出来たらJDK1.4
使いたいので。
0514デフォルトの名無しさん
NGNGここで聞くことじゃない。auの技術支援サイトで質問しる。
推奨でないバージョン使うんなら何か不具合が起きても
誰もサポートできないってことくらいは当たり前に受け止めとけー。
0515デフォルトの名無しさん
NGNGCLDC+MIDPで正規表現なんて使えないと思うが・・・
自分でライブラリなり取ってきてkjxに入れれば使えるだろうけど。
0516デフォルトの名無しさん
NGNGJDK1.4 のものだったりする。
0517デフォルトの名無しさん
NGNGだからPCMアウトはねーつってんだろが。
音だしたきゃ>>510か>>511の方法しかねーんだよ。
ちなみに、データフォルダやSDからファイルを読む方法もねーんだよ。
0518デフォルトの名無しさん
NGNGファイル読み込めるし書き込めるよ
0519デフォルトの名無しさん
NGNGやり方教えて。
0520デフォルトの名無しさん
NGNG0521デフォルトの名無しさん
NGNG0522デフォルトの名無しさん
NGNGiアプリとVアプリでの違いというのかな。
そういうのをまとめてるサイトとかってありますか?
移植等は簡単に出来るんですか?
0523デフォルトの名無しさん
NGNGこの場合は、アプリのプログラムをどう工夫しようが端末の通常の通信速度よりも遥かに遅い速度が上限として決まっている
と聞いたのですが、この認識であってますか?
また、その速度は概略どの程度でしょうか?
0524デフォルトの名無しさん
NGNGオレはよくわからんが、JSCL関連何か載ってる
http://www.eclipsewiki.net/eclipse/index.php?cmd=read&page=J2ME
>>523
スループットなんて何も期待しない方がいいと思う。
地下入るだけで通信切れちゃったりするし。
0525デフォルトの名無しさん
NGNG0526デフォルトの名無しさん
NGNGデータフォルダやSDのデータ読める(書ける)のはVアプリですよね?
EZは公式のみかと思ってたんですけど・・。一般でも可能なら教えてほすぃ。
自分なりに考えた方法ではストリーム開くときセキュリティ例外。問題はJAD?
0527デフォルトの名無しさん
NGNGhttp://www.jblend.com/release/2003/PR031222.html
sumikara sumimade yome!
ima nihongoga tukaene-yo.
0528デフォルトの名無しさん
NGNGrepaintよびゃいいやん。
ホントにすぐにやって欲しい場合はserviceRepaints
0529デフォルトの名無しさん
NGNGEZじゃ無理。KDDIのPhase3用公式資料にかいてある
0531525
NGNGレスありがとうございました。
0532デフォルトの名無しさん
NGNG> 拡張され、データの書き込みや削除が可能になるとともに、連携可能なデータ種も追加されています。
それはともかく、Phase3用エミュレータ マダー?
0533デフォルトの名無しさん
NGNGもうとっくにでてるよ。
0534デフォルトの名無しさん
NGNG出てないねえ
0535デフォルトの名無しさん
NGNG一時期出てたけど、今は出てないことになっとる。
だから持ってる人は持っている。取り損ねた人は・・残念でした。
0536デフォルトの名無しさん
NGNGJ2MEWTK2.1を使用してRMS関連を操作するアプリを作成しているのですが、
RecordStoreのdeleteRecordメソッドを使用するに当たり困っています。
このメソッドは、RecordStore内の最終レコードしか削除できないのでしょうか?
RMS内に保存したデータを削除する際、記録した最終RecordIdを指定すると
何も問題なくデータが削除できるのですが、1とか2とかの途中のRecordを
削除しようとするとInvalidRecordIDExceptionが発生して該当Record内の
データが消えてしまいます。
それが仕様であるなら諦めも付きますが、お力をお貸し下さい。
宜しくお願いいたします。
0537536
NGNG問題は別の部分にあり、削除自体は出来てました。
削除したRecordIDのデータを再度読み込もうとしていて
例のエラーが発生していただけでした。
どうもお騒がせいたしました。精進します。
0538536
NGNG問題は別の部分にあり、削除自体は出来てました。
削除したRecordIDのデータを再度読み込もうとしていて
例のエラーが発生していただけでした。
どうもお騒がせいたしました。精進します。
0539デフォルトの名無しさん
NGNG0540デフォルトの名無しさん
NGNGその、intが格納されているであろうbyte[4]がどうやって作られたかによる。
writeIntで書いたんならreadIntで読めばいい。
intを1バイトごとシフトしながらバラしたんなら1バイトごと逆にシフトさせながら組み立てればいい。
ただしこの場合は符号に注意。webで検索すればいくつかサンプルソースが見つかる。
0542デフォルトの名無しさん
NGNG0543デフォルトの名無しさん
NGNG逆をInteger.parseInt(new String(BYTE))でやってるけど、どうだろう。
ストリング介してだけど、楽なんで、、、
0544デフォルトの名無しさん
NGNG基本的に間違ってる。
LittleEndianなら、
int i;
byte b[] = new byte[4];
i = 1234; //任意の値
b[0] = i >> 24;
b[1] = i >> 16;
b[2] = i >> 8;
b[3] = i;
でバイトに変換
int j = 0;
j |= (b[0] & 0xFF) << 24;
j |= (b[1] & 0xFF) << 16;
j |= (b[2] & 0xFF) << 8;
j |= (b[3] & 0xFF);
でintにもどす。
Little Endianの必要が無いなら、>540のとおりにすればいい。
0545543
NGNGすみません、JAVAもMIDPも初心者で見当違いなことを書いたようで。
シフトしながら読み込む事はどっかで読んだんですが、楽だから、
>>543の方法でやってたんですが、不具合がでるんでしょうか。
それとも、あまりに常識はずれな書き方ってこと?
0546544
NGNG通常、数字を文字で表現するよりそのままバイナリで扱ったほうが
データ量も少ないし処理が高速。
この辺はJAVAとかMIDP以前の問題で、初心者用のプログラミング
の解説書とか読んだ方がいいかも。
こういうのは高級言語の弊害なんだろうなぁ・・・。
0547デフォルトの名無しさん
NGNGインスタンスの生成(new)と、それに伴って引き起こされるガーベージコレクションのコストは、
実行のコストが高いので気をつけるべし。
特に携帯だとCPUがへっぽこだから、気をすり減らすぐらい気をつけた方が良さげ。
0548543
NGNG回答ありがとうございます。
これに限ったことじゃないんですが、明らかに汚い処理なのは
分かっていても、きれいな書き方を分かってないのでついつい、
自己流の変な方法で、誤魔化しています。
MIDPの資料って、本もネットでもなかなか見つけられくて、、、、
携帯JAVAで綺麗なソースを書くために、なにか具体的な
お勧め(サンプルソースとか、本とか)って教えてもらえませんか?
過去に読んだのは、Java言語プログラミングレッスン(結城浩)上・下
→JBuilder MobileSet携帯Javaアプリケーション 布留川 英一
→JAVA2ME ゲームエータズガイド 米川英樹(読んでいる途中)
ですが、具体的な書き方をもっと知りたいなあと思ってるんですが。
0549547
NGNGJ2ME Wireless Toolkit 2.1のサンプル
JavaOneで公開されたPDF文書
NokiaのMIDP向けドキュメント
http://www.forum.nokia.com/main/1,6566,1_0_10,00.html
Technical Articles and Tips
http://developers.sun.com/techtopics/mobility/midp/reference/techart/index.html
このあたりかな。
全部英語で、漏れにはコードだけしか読めない罠w
漏れは英語は読めないんだが
0550デフォルトの名無しさん
NGNG0551540
NGNGint→byte[]のとき
算術シフト(>>)ではなく論理シフト(>>>)を使う。
byte[]→intのとき
各byte型の値で最上位のビットが'1'の場合(負数)はそのまま左シフトしても
期待通りの値にはならない。この辺は2進数の扱いとbyteがintにキャスト
されてから演算される仕組みを調べてもらえば分かると思う。
(「unsigned byte型」がないのでコトがややこしくなっている)
自分は符号対策込みのシフトする方法でint→byte[]、byte[]→intをやってる。
0553デフォルトの名無しさん
NGNGintは4バイトだから1,2桁程度なら文字の方がデータ少なくて済むと思うし、
544で5行書くところを1行なので、考えようによってはこっちのがきれいだと・・
と言っているのは初プログラミングがMIDPのへたれですが・・
0554539
NGNGレスしてくれた方々どもです。
0555544
NGNG>>553
携帯JAVA以前の問題なんだって。
プログラムがどうして動くか知っていればそんなこと絶対やらないような間違え。
君たちの場合は、まず、なぜプログラムが動くのか理解した方がいい。
0556デフォルトの名無しさん
NGNG痒いところに手が届かないって言うか、
誰だこんな言語仕様考えたやつは!!
あと、携帯にメモリ管理が細かに出来ない言語を採用したやつでてこい!!
0557デフォルトの名無しさん
NGNGそんな貴方に、BREW!
なんでもありの諸刃の剣C++でスリリングで難解なプログラミングが楽しめますYO!
0558デフォルトの名無しさん
NGNG0559デフォルトの名無しさん
NGNG0560デフォルトの名無しさん
NGNG慣れればjavaの良さがわかってくるさ
0561デフォルトの名無しさん
NGNG遅い。ただそれだけでもうだめ。
どこからも参照されていないオブジェクトを開放してくれる便利システムも、System.gcの遅さで相殺。
0562デフォルトの名無しさん
NGNGポインタを使ったjavaのコード書いてみ
0563デフォルトの名無しさん
NGNGCanvas c = null;
0564デフォルトの名無しさん
NGNG0565デフォルトの名無しさん
NGNGさすが 2ch。いろいろな人がいるなぁ。
0566デフォルトの名無しさん
NGNG構造体ならコンパイル時に分解されることでJarサイズが変わらずに扱えるのではないか!
と好意的に解釈してみる。
0567デフォルトの名無しさん
NGNGそれをポインタだと思ってるお前はJAVAを勉強しなおせ。
0568デフォルトの名無しさん
NGNG563ではないが、ポインタ以外のなんだとういうんだ?
むしろ567。お前が説明してみ。
NullPointerException
Null 「Pointer」 Exeption
Objectは全てポインタで扱うものだろうが。
0569デフォルトの名無しさん
NGNGRandomAccessFile、seekが使えないようで。
ちなみにreadLineも使えないのかな。
外部ファイルの任意の1行を読み取るのはどうやったらいいんでしょうか。
行のサイズは可変長、固定どちらでも用意できますが、できれば可変長でやりたいです。
0570デフォルトの名無しさん
NGNGJava言語環境 第2版(7/10/96)
ttp://www.sun.co.jp/products/wp/JavaPS/index.html
P.28
2.3 C/C++から削除された機能
ポインタ
調査の結果によると、プログラマがコード中でバグを起
こす主な原因がポインタの使用にあることが分かってい
ます。ポインタ構造を排除し、代わりに配列と文字列を
オブジェクトとして用意すれば、これらの構文に対する
ポインタの必要はなくなります。したがってJava言語に
はポインタはありません。C言語での配列、構造体、ポイ
ンタの操作は、Java言語ではオブジェクトとオブジェク
ト配列を定義することにより、より簡単にしかも信頼性
をもって実行することができます。
0571567
NGNGThe Java Language Specification
4.3 Reference Types and Values
ttp://java.sun.com/docs/books/jls/second_edition/html/typesValues.doc.html#9317
参照って考えるのが妥当じゃねーの?
Exceptionの名前だけでそう判断するのはいかがかと。
0572556=558=564
NGNGうん、その通り。
classにするのは容量的に無理
ちなみに、Javaだからというわけでなく
携帯で使う場合ということでね。
かれこれ10年C/C++やってきたもんでね。
(JavaにClass以外の構造体があったらごめん。Javaはじめたばっかなもんで)
ちなみに、ポインタがないってのは、ポインタ演算が出来ないっていう意味でつ
0573デフォルトの名無しさん
NGNG何を勝ち誇っているのかしらんが、用語を変えただけで、実質はポインタ。
配列も配列オブジェクトへのポインタ。
文字列もStringオブジェクトへのポインタ。
操作できないポインタをポインタと呼ぶのはいかがなものかということで、
呼び方を変えただけ。
本質を理解せずにうわべだけしか見ない奴はプログラマとしてすぐ行き詰まるぞ。
あおりではなく親切心からの警告。
0574デフォルトの名無しさん
NGNGオブジェクトポインタと変数ポインタの区別もつかん馬鹿が多いだけだ。
0575デフォルトの名無しさん
NGNGガベージコレクタがコピーイングを用いるものだと、コピーイングの度に格納メモリの位置が変わるため、
藻前さんが言う単純なポインタではJavaのインスタンスを表現できない。
この場合は、ダブルポインタでないとJava のインスタンスを表現できないことはおわかり?
Java,C#等の言語ではポインタのように明示的に格納メモリの位置を表さない参照という、
新しい考え方を導入することで、このような内部の複雑な事情を隠すことができるのだ。
操作できない明示的な格納メモリの位置を表現する"ポインタ"を考えたところでこれらの問題は解決しない。
どこが本質を理解しているのやら。うわべだけの知ったか君ハズカシイ。
0576デフォルトの名無しさん
NGNG実質がどうとかじゃねえだろ。お前は定義を無視するのかと。
今までの概念ではポインタだろうけど、JAVAにはポインタはねーんだよ。
JVMが参照をポインタで表現することはあっても、JAVAにポインタは無い。
0577デフォルトの名無しさん
NGNGもちろん、ポインタに近いものではある。
0578デフォルトの名無しさん
NGNGポインタの話とかよそでやれYO!
>>569
ファイル入出力はストリーム使うしかないんじゃないかな?
ファイル丸ごと読んできて、バイト列からString生成した後、
改行文字で分割してString配列作って、各要素にアクセスとか。
0579デフォルトの名無しさん
NGNG指し示すもの」の有無がごっちゃになって議論されているから、混乱してるように
見えるのだが。
0580569
NGNGファイルが大きいわりに必要な部分が少ないので全部読むのは嫌だなあと思ってたんです。
CLDC1.0のdocをがんばって読んだら、こんなのを発見しました。
public ByteArrayInputStream(byte[] buf,int offset,int length)
public int read(byte[] b,int off,int len)
(off - データの開始オフセット
len - 読み込まれる最大バイト数)
開始バイト数と、lengthをなんとか計算することで、いけそうです。
Vdodaですけど、CLDC1.0のクラスってすべて使えますよね?(あまりよくわかってない。)
0581デフォルトの名無しさん
NGNGok
ちなみに、行ごとに読み込むメソッドはなかったと思う。
0582デフォルトの名無しさん
NGNG列を扱える便利なのはないですか、、、残念。
>>578さんを参考にしながらbyteでなんとかやってみます。
どうもありがとうございました
0583デフォルトの名無しさん
NGNG> 4.3.1 Objects
> An object is a class instance or an array.
> The reference values (often just references) are pointers to these objects,
~~~~~~~~~~~~~~~~~~~~~~~~~~
参照値はオブジェクトへのポインタである、とはっきり書いてますがな。
てーか、「Javaにポインタはない」はC/C++プログラマのJavaの理解を妨げる罠。
俺も何年も昔になるけど、Javaの Hoge hoge = new Hoge(); が
C++の Hoge* hoge = new Hoge(); と同じようなものだと気がついたときの
騙された感は最悪だった。
0584デフォルトの名無しさん
NGNGMIDPスレでやるな。うざい。
0585デフォルトの名無しさん
NGNG>C/C++プログラマのJavaの理解を妨げる罠。
大したことない頭だから理解できないだけ。
0586デフォルトの名無しさん
NGNG必死だな。
間違えたなら間違えたと認められないと、プログラマーとして進歩できないよ。
別に間違えたからどうってことはないんだし。
0587デフォルトの名無しさん
NGNGま、仕様書に書いてあるならしかたないが
> Javaの Hoge hoge = new Hoge(); が
> C++の Hoge* hoge = new Hoge(); と同じようなものだと気がついたときの
っていうのは、単純に笑えた。煽るためのネタだよね?
0588デフォルトの名無しさん
NGNGCLDC1.1とかMIDP2.0とか日本で出ないかね
あと今度出るvodaのT4Gネタとか
T4Gはどうですか?>プロの皆様
0589デフォルトの名無しさん
NGNG0590デフォルトの名無しさん
NGNG0591569,580
NGNGですが、行き詰ってしまいました。
>>580の方法がうまく行きませんでした。
●ByteArrayInputStream(byte[] buf,int offset,int length)
ファイルをすべてbyte[]に変換してから使う方法しか分かりませんでした。
直接データファイルの一部のみを読み込む方法が分かりませんでした。
●read(byte[] b,int off,int len)
このoffの値は、読み込む先のbyte[]の位置の指定でした。
読み込み元のファイルの位置だと勘違いしていました。
0592デフォルトの名無しさん
NGNGInputStream.skip(long n) を使えばイイ
0593デフォルトの名無しさん
NGNG>>587
が何を言っているのか分からない。
誰か解説してくれ。
0594デフォルトの名無しさん
NGNG簡単にいえば
オマエハバカ
0595デフォルトの名無しさん
NGNGT4G? それは...
MIDP2.0? それは...
まだ書けないな。もうちょい待ってな。
でも、今から勉強しておいても良いと思うよ。
SunのWTKは公開されてるんだから。
0596デフォルトの名無しさん
NGNG匿名掲示板で間違えたこと言ったからって、恥じはかきすてろ。
素直に認めて学習したほうがお前のためだ。
0597デフォルトの名無しさん
NGNG匿名掲示板で間違えたこと言ったからって、恥じはかきすてろ。
素直に認めて学習したほうがお前のためだ。
0598デフォルトの名無しさん
NGNG0599デフォルトの名無しさん
NGNG参照型の値がメモリ上のアドレスであることを定めた文章ではないのにね。
0600デフォルトの名無しさん
NGNG参照値を構成する要素の中のどこかにはある。
0601デフォルトの名無しさん
NGNG実装上は、どうにかしてメモリの位置にたどりつける必要があるから、どこかにアドレスはある。
0602デフォルトの名無しさん
NGNG0603デフォルトの名無しさん
NGNGJavaの参照はポインタである。ただし、Javaの参照はC言語のポインタとは異なり、
ポインタに対する演算と、基本データ型へのポインタの取得はできない。
こんなところでどうよ。
というか、ポインタという言葉を、Cのポインタやメモリのアドレスとイコールで結び付けてる人って
ちょっと了見が狭いよなあとか思ってみるテスト
0604デフォルトの名無しさん
NGNG結局、言語仕様と実装はわけて考えろということだな。
0605デフォルトの名無しさん
NGNG0606デフォルトの名無しさん
NGNG↓何事もなかったように携帯の話、どぞ。
0607デフォルトの名無しさん
NGNG0608デフォルトの名無しさん
NGNG0609デフォルトの名無しさん
NGNG0610デフォルトの名無しさん
NGNGそのおっきなデータって、ヒープに入りきらんの?
>>592
> InputStream の skip メソッドはバイト配列を作成し、n バイトが読み込まれるか、
> ストリームの終わりに達するまで繰り返しその中に読み込みます。
とJavaDocにかいてあるので、結局はスキップするところまで読み込んでることになるみたい。
0611デフォルトの名無しさん
NGNGそうなのか...
だとすると、 DataInput.html.skipBytes(int)も使えなさそうだな。
0612デフォルトの名無しさん
NGNGほとんどのサブクラスではもっと効率のいい実装がされていると思うぞ。
0613569,580,591
NGNG無事、>>592の方法で、指定位置のデータを読み取れました。
現在、1行固定バイトのデータに作り変えているところです。
>>610-612
InputStream の skipメソッドなら、skipするデータが大きくなると
遅くなっちゃうということなのかな。もしも、これ以外にできる方法が
あったら教えてください。
今回は、データサイズ的にはすべて読んでもいけそうですが、
なるべく効率的な書き方をしたいので。
0614デフォルトの名無しさん
NGNGそうでもない。ストリームなので先頭から順番にしか読めない。
0615デフォルトの名無しさん
NGNG0616デフォルトの名無しさん
NGNGこれって、MA3の音が使えるってことですか?
YAMAHAにはもうないようですが、何か問題でもあったんでしょうか・・。
かなり使いたいのですが。
0617デフォルトの名無しさん
NGNG0618デフォルトの名無しさん
NGNG0619デフォルトの名無しさん
NGNG公式とかなら分からんが、少なくとも一般(無料)アプリの作者は結構
質問とかされるの嫌いじゃないと思うよ。あまりに厨でなければ。
匿名である以外はここで書くのと、そうリスクに差は無いはず。
つか、当然のようにその作者様のほうが詳しいわけで、漏れらに聞かれても・・
0620616
NGNG失礼しました。
0621デフォルトの名無しさん
NGNGRecordStore rs = RecordStore.openRecordStore("RecordStoreName",true);
byte buf[] = new byte[65536];
InputConnection c = (InputConnection)Connector.open("jar://RecordStoreName/FileName", Connector.READ);
InputStream is = c.openInputStream();
is.read(buf);
is.close();
c.close();
rs.closeRecordStore();
としたのですが、なぜかエミュレータでしか正常に動作しません。
実機では、InputStreamを開く際に、 IOException:Not File Found: /FileName が吐き出されてしまいます。
どなたか原因をご存知でしたら、ご教授お願いします。
0622デフォルトの名無しさん
NGNGageてしまった・・・
逝って来ます
0623デフォルトの名無しさん
NGNGこのスレのどこかで見たような気がする。
RecordStoreをopenするのをやめてみたら?
0624デフォルトの名無しさん
NGNGRecordStoreをオープンする必要ないよ
0625デフォルトの名無しさん
NGNGとりあえず、RecordStore周りを外して実行してみました。
ただ結果は、変わらずInputStreamを開く際に同じExceptionで止まってしまいます。
エミュでは動いているのでプログラムではなく、jarファイルや他の設定の方に問題があるのかもしれません。
原因がわかるまで、しばらくいじってみます。ありがとうございました。
0626デフォルトの名無しさん
NGNGiαppli Development Kit
をインストールして、iアプリを作成しようと思ってます。
ソースを作って、resフォルダにコピーして、ビルドしても
ビルドできません。 どうしてでしょうか?
iαppliTool(DoJa2.0 Emulator),ver.1.03
Java2 SDK 1.5.0.beta2
パスも通ってます。
0627デフォルトの名無しさん
NGNG0628デフォルトの名無しさん
NGNGあっ! 私はアホです。
ご指摘ありがとうございました。
srcですね。 ビルドできました。
すいません。
0629デフォルトの名無しさん
NGNG0630デフォルトの名無しさん
NGNG0631デフォルトの名無しさん
NGNGiモード携帯電話用Java(iアプリ) Part 5
ttp://pc5.2ch.net/test/read.cgi/tech/1084246226/
0632デフォルトの名無しさん
NGNGうpきぼん
0633デフォルトの名無しさん
NGNGどんなのがある?iモーションメール以外で
0634デフォルトの名無しさん
NGNG0635デフォルトの名無しさん
NGNG0636デフォルトの名無しさん
NGNG0637デフォルトの名無しさん
NGNG動画を送ることってできるんじゃないかな。
あんまり大きなサイズになるとどうかわからないけど。。
0638デフォルトの名無しさん
NGNG0639ぼーけーふぉー
NGNGVisualJ#で開発ってできます?
0640デフォルトの名無しさん
NGNG0641デフォルトの名無しさん
NGNG0642デフォルトの名無しさん
NGNGCanvasで書いた画面で決定キーを押したら、Form画面に
行きたいんですが、どう書けば良いのでしょう。
↓のような感じで書いたんですが、行き詰ってしまいました。
(必要と思われる部分だけ抜き出してみました。)
public class Hoge extends MIDlet {
public Hoge() {
Display.getDisplay(this).setCurrent(new HogeCancas());
}
}
public class HogeCanvas extends Canvas implements CommandListener{
public void keyPressed(int keyCode){
int gameCode=getGameAction(keyCode);
if(gameCode==FIRE){
●●
}
}
public void paint(Graphics g) {
g.drawString("Hello World",120,60,g.TOP|g.HCENTER);
}
}
0643デフォルトの名無しさん
NGNG0644デフォルトの名無しさん
NGNGありがとうございます。
Display.getDisplay(Hoge.current).setCurrent(new HogeForm());でうまくいきました。
0645デフォルトの名無しさん
NGNG0646デフォルトの名無しさん
NGNGどっかに抄訳があった。
ほぼ完全なのは俺のHDDの中。
0647デフォルトの名無しさん
NGNGCLDC1.0はSunのサイトのどこかにあったはず。
0648デフォルトの名無しさん
NGNG「Japanese documentation for the J2ME CLDC V1.0」
http://java.sun.com/products/cldc/docs/CLDC1.0_ja_docs.zip
0649デフォルトの名無しさん
NGNG0650デフォルトの名無しさん
NGNGIDE使ううまみはそんなにないと思うけどなぁ。どうせエミュはIDEの外だし。
ant最強と言ってみる。
0651デフォルトの名無しさん
NGNGEclipse+ant最強
0652デフォルトの名無しさん
NGNGeclipseからリモートデバッグでいいのかな。
0653デフォルトの名無しさん
NGNGし,取得したデータをテキストファイルとしてPCなどの媒体に保存したい
のですが,これって可能なんでしょうか?
ttp://www.itmedia.co.jp/mobile/0104/12/kjava.html
0654デフォルトの名無しさん
NGNGSunのKVMの実装依存の部分に引っかかってbugがとれずリモートデバッグが
安定しない。antもR2.xだとメモリリークでかいしR3.0にしとくのが無難。
0655654
NGNGWSDD(Eclipseベースの商用環境)使うと連携がきれいにいくんじゃないかなあ。
9万円くらいしちゃうけどね。
0656デフォルトの名無しさん
NGNG無いみたいで出鼻挫かれちゃったんすけど、皆さんどやって解決してます?
0657デフォルトの名無しさん
NGNG以上。
0658デフォルトの名無しさん
NGNG0659デフォルトの名無しさん
NGNGそすか・・・、で、他に選択肢ってあるの?
>>658
ん〜、どなんでしょ?
V-appli Emurator for JSCL 1.2.1にインプリメントされてるやつなんですけど。
0660デフォルトの名無しさん
NGNGボーダフォン(Vアプリ) ドコモ(iアプリ) au(EZアプリ)
マスコットカプセル ver.1 50Kアプリ
マスコットカプセル ver.2 100Kアプリ DoJa2.0
マスコットカプセル ver.3 256Kアプリ DoJa3.0 EZアプリ(Java) Phase3
マスコットカプセル ver.4 256Kアプリ Ver.2 ??? ???
0661660
NGNGVアプリ iアプリ EZアプリ
マスコットカプセル ver.1 50K
マスコットカプセル ver.2 100K DoJa2.0
マスコットカプセル ver.3 256K DoJa3.0 EZ Phase3
マスコットカプセル ver.4 256K v2
0662デフォルトの名無しさん
NGNGともって、参考にしてた、ん・ぱかの人のところ見にいったら
なんかまとまってた。
0663デフォルトの名無しさん
NGNGにもあるけど、EZアプリではデータフォルダやSDのデータを読み書きできない
というのがファイナルアンサー?
526に対するレスはできるという人とできないという人がいるけど
できるなら、どのメソッドでできるんでしょうか
0664デフォルトの名無しさん
NGNG漏れも知りたい。あとSD読める場合は何MBの
ファイルまで読めるのかとか。
0665デフォルトの名無しさん
NGNG>>529
0666デフォルトの名無しさん
NGNG・フォルダにある画像、音楽ファイルなどのリストを取得。
・リスト内のデータに関する著作権とかの情報。
・著作権無し音楽(着うた不可)の再生。
はできるみたいです。(sterdustのコピペ・・
0667デフォルトの名無しさん
NGNGttp://www.au.kddi.com/ezfactory/tec/spec/ezplus.html
「EZアプリ(Java[TM])プログラミングガイド」をダウンロードしてこい!
0669デフォルトの名無しさん
NGNGViewerはあるけどな。誰もがWindowsを使っているわけではないが。
0670デフォルトの名無しさん
NGNG0671デフォルトの名無しさん
NGNG音がポーズかかるけど、どゆこと?>>W11K
知ってる神たのむ。
0672デフォルトの名無しさん
NGNGPhase3ではデータを書きこめるみたいな事が書いてあるな。
おれはPhase3の実機もエミュももってないので試せないが。
0673デフォルトの名無しさん
NGNG「データファイルからのファイル読み込み」の機能はau指定のサーバに登録されたアプリでのみ使用可能。
いわゆる勝手アプリではデータフォルダからのファイルの読み書き削除はできない。
オフィシャルのコンテンツプロバイダがau指定サーバに登録したアプリでのみ利用可能な機能ってこと。
0674デフォルトの名無しさん
NGNG○ 「データフォルダからのファイル読み込み」
0675526
NGNG音鳴らすのもストレージ読むのも結構CPU使うって事じゃね?
個人的な経験では音鳴らし中は再描画が遅くなったョ。
音鳴らし中に、記録>終了、ってしようとすると記録しないことあるらしいから注意
>>673
やっぱり・・。スッキリしました。�dクス。
0677652
NGNGV-appliの開発では無理なのかな・・・誰か出来てる人いる?
0678デフォルトの名無しさん
NGNG0679デフォルトの名無しさん
NGNGVodafoneのアプリ作ってます。
2回キーが押された場合、その間隔をミリ秒で取得したいんだけど、どうすればいい?
0680デフォルトの名無しさん
NGNGUEI対応なわけだからUEIサポートのIDEでリモートデバッグが
できない理由を思いつかない。試したほうが早いんじゃないか?
0681デフォルトの名無しさん
NGNGDateの差分
基本だけど、マイナスになっても大丈夫なようにね。
0682677
NGNGデバッグサーバーになれないように思うんだけど・・・
0683677
NGNG0684デフォルトの名無しさん
NGNGFelica 関連API使用出てきたよ
0685デフォルトの名無しさん
NGNG比較的自由に使えるのかね。
0686デフォルトの名無しさん
NGNG0687デフォルトの名無しさん
NGNGキャリア判別する方法無いでしょうか?
0688デフォルトの名無しさん
NGNGどうせ配布ファイルは異なるのだから、それぞれに作った方が楽だと思うけどね。
で、同じファイルで動くのなら、判別する必要なんて無いんじゃない?
0689デフォルトの名無しさん
NGNG0690デフォルトの名無しさん
NGNGjadかmanifestに何か書くと思うんだけど、、、
0691デフォルトの名無しさん
NGNGvodafoneの資料を読んでみよう。載ってるよ。
どっかで見た。たぶんpdf。
0693デフォルトの名無しさん
NGNGMIDP互換で作ったので海外の人にやってもらいたいのですが
0694デフォルトの名無しさん
NGNG約12時間ぐらい上げっぱなしのアプリって無謀?
通話なし、送受信が約40回〜50回レコード操作もありで
10時間で電池切れ。造りが甘いかもしれないとは思っているけど、
もっときちんと作れば、連続20時間使用できるというなら、作るが、無理なら餅が上がらん。
そんなアプリ作ったことある兄貴教えてください。
0695694
NGNG0696デフォルトの名無しさん
NGNGせめて待ち受けにしなさい
0697デフォルトの名無しさん
NGNGデバッガが見つからない。
誰か使いやすいデバッガがあったら教えてください。
0698デフォルトの名無しさん
NGNGイベントドリブンで作ればそんぐらい持つ、かもね。
本当に持つかどうかは自分で実験してくれ。
0699デフォルトの名無しさん
NGNGそのやり方分かる方いますか?
ちなみにVoda用です。
0700デフォルトの名無しさん
NGNGてきとーにHTTP通信で送受信したデータ量を元に2割り増しくらいで表示しているだけ。
やりとりしたパケット数がわかるわけではない。
0701デフォルトの名無しさん
NGNG速くする方法知ってる人いない?
勝手な推測だけど、iの場合、InputStream#read()とかで全データ一気に読めるのに対して
vodaは1byteずつ読まないとダメ(実機でエラーになる場合がある)っていう違いが原因だとは
思うんだけど…
0702デフォルトの名無しさん
NGNGThreadをスリープさせて、同じタイミングでpaintを呼び出してるんだけど、300ms以下のスリープだと、タイミングが次第にずれてきます(エミュで)・・
(完全にではなくとも)同じタイミングでイベント起こすのってムリ?
解答くださる兄貴募集です。
0703デフォルトの名無しさん
NGNG何と何のタイミングを同じにしたいのか、よくわからんのだが。
repaintを呼んでも非同期でしかpaintは呼ばれんぞ。
0704702
NGNGRunnableをインプリメントしたクラスで
/* run */
public void run(){
while (true) {
try {
Thread.sleep(××);//××ms後にrepaint
} catch (Exception e){}
repaint();
}
}
/* paint */
protected void paint(Graphics g){
//描画処理
}
こんな感じに、指定した時間スリープさせた後にpaintを繰り返し呼び出したし。
(一定の間隔で、paintしたい)
何か勘違いしてる?
初心者でスマソ
0705デフォルトの名無しさん
NGNGrepaint()の直後にserviceRepaints()を呼ぼう
0706デフォルトの名無しさん
NGNG0707デフォルトの名無しさん
NGNG(他部分の処理時間+Sleepミリ秒)が一回のループになってしまって、だんだんずれていくぞ。
0708デフォルトの名無しさん
NGNG0709デフォルトの名無しさん
NGNGlong t = 0;
while(true){
t = System.currentTimeMillis()+××;
//あれこれ処理
while(0<t-System.currentTimeMillis()) ;
repaint(); //※理屈の上ではxxms後に再描画≒フレーム安定
}
※は場合whileループ内に置くのが普通かな。
ただし以下の場合はダメ。
タイマーの精度がへっぽこ、もしくはxxとマッチしない
System.currentTimeMillis()の実装がへっぽこ
System.currentTimeMillis()自体が高負荷
repaint内容が高負荷
あれこれ処理が高負荷
もうとにかくへっぽこ
これらの環境の場合はsleepで妥協しる。
0711デフォルトの名無しさん
NGNG俺も一瞬そう思ったが、
} catch (Exception e){} ←閉じてる
repaint();
}
なので無問題
0713デフォルトの名無しさん
NGNGnanoxml liteってのがあるよ。6KB弱。
SAXだけなら4KB弱
http://nanoxml.cyberelf.be/
昨今の携帯ならこのくらい無問題でしょう
URLが変わってて見つけるの苦労したワ
0714デフォルトの名無しさん
NGNGP5型のエミュレータってJDK1.4+J2MEWTK2.0でも問題無いですか?
あと、Windows2000上でのJDK1.4とJDK1.3の共存ってどうやってますか?
もしJDK1.3を使う必要があるなら、
その都度JAVA_HOME変数をJDK1.3のパスに書き換えて使おうと思うのですが、これだけでいいのでしょうか?
みなさんはどうやってますか?もっと賢い方法があったら教えてくださいm(_ _)m
0715713
NGNGJDK1.3では動かないかと
1.3と1.4の共存だと、どっちかインストールして、
フォルダごと別のところにコピーして、もうかたっぽインストールしたら
あとはパスしだいで両方つかえますよ
ウチは通常1.4使って、必要なときにパス書き換えて1.3使ってますが
0716デフォルトの名無しさん
NGNGWTK2.0はJDK1.4以上対応なんですか。ありがとうございます。
とりあえずJDK1.3とWTK1.0をインストールして使ってみます。
Win2kは環境変数を書き換えた後再起動しなくていいのが楽なんですが、
たまーに再起動しないとパスが通らない事あるんですよね。そこがウザイ。
0717678
NGNGset JAVA_HOME=C:\hogeとか書いたbatファイル用意して、cmd.exe立ち上げた後に適用するだけの方が楽よ
>>713
thx, ちとライブラリじっくり見ることにします。
0718デフォルトの名無しさん
NGNGあーなるほど。参考になります。
0719677
NGNGVodaのサイトにあるマニュアルにsun one studio4との連携について
書かれているがコンパイル、実行までしか書いてないのはそういうことだろう。
JADファイルのMIDlet-Jar-Sizeの値を実行時に自動更新してくれるのは、
UEI対応してるからのようだが・・・
そもそもV-appliのエミュにリモートデバッグするためのオプションがないっぽい。
eclipseのプラグインも落としてきたが使い方よくわからんしあきらめた。
0720デフォルトの名無しさん
NGNG対応してないよ。
0721デフォルトの名無しさん
NGNG・mp3ファイルを読むことができない。
・mp3をデコードするにはCPUパワーが足りない。
・音声を出力することができない。
これにて終了。
0722デフォルトの名無しさん
NGNG0723デフォルトの名無しさん
NGNG(・∀・)GO BACK!!
0724デフォルトの名無しさん
NGNGVアプリを実機に落とすのってコンテンツアグリゲータに登録・うpしてからDLという形になるんですね。
ってことはV400,V300では自作のVアプリは遊べないってことですか?
友達がV401SHを使っているので、自作Vアプリを試してもらいたいんですが・・・。
iアプリはUSBコネクタなどで直接実機に落とせたのになぁ。
VアプリでなんとかUSBケーブルでデータのやり取りできませんかね?
あぁ最悪・・・orz
0725デフォルトの名無しさん
NGNG多分1円で買ったんだと思うけど…
あと数日でアプリ鬼性能のV602SHが出る
vodaは今日から解約祭り
一般人がアプリをケーブル転送出来るのはauだけ
0726デフォルトの名無しさん
NGNG携帯買うのにお金掛けたくなかったんで。それにV602SHにさほど魅力を感じなかったので。
iアプリってケーブル転送できませんでしたっけ?
前に出来たんだけどな・・・ドコモカップの特別仕様だったのかな?
auいいなぁ。BREWが出て来てなんじゃこりゃ、と思ってVにしたんだけど・・・失敗したみたい・゚・(ノД`)・゚・
0727デフォルトの名無しさん
NGNG0728デフォルトの名無しさん
NGNG最悪だな
0729デフォルトの名無しさん
NGNGアプリゲットとかいちいちメンドイし、作るアプリに制限かかるし、だめぽ
0730デフォルトの名無しさん
NGNGテストに(ダウンロードする)金がかかるというだけの話だが。
0731デフォルトの名無しさん
NGNG0732デフォルトの名無しさん
NGNGもうアホかと。
0733デフォルトの名無しさん
NGNG256kbのアプリをつくったら
1kb=1024b=8パケット
256×8=2048パケット×0.3円=614.4円
実機でテストをするごとに614円払うの?
0734デフォルトの名無しさん
NGNGだから、TVに映せるよ、音楽が聴けるよ、ってラインナップのうちの一つとして
ゲーム向けの機種もあるよ、ってだけにすぎない。
アプリを意識してDoCoMoやauに追いつくつもりなら256kbアプリ対応機種(というかP5型)をもっと出すはず。
それをしてこないならやっぱVodaはアプリが動く携帯電話で勝負する気はないってことなんだろう。
0735デフォルトの名無しさん
NGNG0736デフォルトの名無しさん
NGNGさすが3巨頭の中でのワースト。
週間雑誌界のチャンピオンみたいな存在だ。
0737デフォルトの名無しさん
NGNGおもちゃとしてもこのままDoCoMoのほうがいいのかな・・・
0738デフォルトの名無しさん
NGNG金が余ってるなら買ってもいいんじゃないの?
V602SHのアプリ性能はかなりの物だよ
ただキャリアが糞なのが問題
社員の大規模なリストラ、ユーザー解約祭りでこの先どうなるやら‥
voda解約祭り、全国のvoda店にて実施中!7千台目
http://hobby6.2ch.net/test/read.cgi/phs/1088578456/
auはauでJavaを捨ててBrewに移行する気みたいだし、日本のMIDP機はどうなるんだろ
0739デフォルトの名無しさん
NGNG>>737
おもちゃとしてならDoCoMoのほうがいいよ。
V601SH持ってるけど対して遊べるものがない。
搭載Vアプリでまともなのはぷよぷよ体験版だけど、90秒しか遊べない。
そのかわりメール関連は使いやすいと思う。
V602SHは601SHの基本性能がアップしただけっていうし、
メガピクセルカメラにこだわっていないのなら他の携帯にした方がいいと思う。
0740デフォルトの名無しさん
NGNGBREWってCだよね?あれが出てこなきゃauにしてたよ。
やっぱドコモ最強だな。個人向けの割引サービスがもっと充実すればいいんだけどなぁ。
0741デフォルトの名無しさん
NGNG0742デフォルトの名無しさん
NGNGVodaは知らんけど、au(BREWアプリ)とユビキタスは関係はないだろうと考えてみる。
ユビキタスは、どんな物からでも通信インフラやコンピュータの恩恵を受けられると
いう仕組みの発想だから、アプリを作って入れ替えが出来るという時点でVodaもauも基
準はクリアしている。
Vアプリの配信の手間やezアプリ(BREW)の問題は、iアプリでも生きていたフリー
ソフトウェアの文化から言えば逆行する仕組みだから、文句が出るんじゃないかね?
一発ネタアプリをBREWで作れるかと言ったら、間違いなくNOなわけだし
(それ以前に審査請求なぞ、ネタアプリで出す気力もないだろうし)。
…携帯系Javaスレで語る内容ではなかったな。
申し訳ない。
>738
auの公式ページでは、VCで開発と書いてあった気がするよ。
まあ、BREW上でのJavaVMもHPで開発することが決定しているらしいから、いつかは
BREW経由でJavaアプリも動かせるんじゃないかと、淡い期待を抱いてみたり。
0743デフォルトの名無しさん
NGNGBREW上のJavaVMは、BREWの開発元のQ社が既に提供してる。
0744デフォルトの名無しさん
NGNG実用にはほど遠いって事か?
0745デフォルトの名無しさん
NGNGhttp://www.umtschips.com/solutions/products/qvm.jsp
あとIBMのもすでに出荷状態。
http://www-306.ibm.com/software/wireless/wme/sysreqs.html
0746デフォルトの名無しさん
NGNGMicroChai on BREWについては既にHP的には黒歴史なんじゃないか?
HPのサイトで検索掛けてみたが、大昔のニュースリリースしか出てこんかった。
0747デフォルトの名無しさん
NGNGBREW(Binary Runtime Environment for Wireless) 2
http://pc5.2ch.net/test/read.cgi/tech/1076511398/
0748デフォルトの名無しさん
NGNG0749デフォルトの名無しさん
NGNGまぁ、またいつか復活するだろうけど。
0750デフォルトの名無しさん
NGNGauはそうしたいんだと
携帯電話のメーカーがどう考えてるかはしらんが
0751デフォルトの名無しさん
NGNGできたときにはじゃばあぷりうほっ!てなてるかはしらんがね
0752デフォルトの名無しさん
NGNG0753デフォルトの名無しさん
NGNG0754デフォルトの名無しさん
NGNG言語はjavaでもC++でもLispでも何でもいいけど、勝手に作れないのが問題
0755デフォルトの名無しさん
NGNG自分でゲーム作って遊べる奴で、お勧め(or 地雷)の機種があれば教えて下さい。
一応、AUにしようと思ってます。
0756デフォルトの名無しさん
NGNGJava P3対応のA540xCAにしとけ。間違ってもBREW機など買うなよ。
0757デフォルトの名無しさん
NGNG0758デフォルトの名無しさん
NGNG参考にします。ありがとうございました。
0759デフォルトの名無しさん
NGNGきちんと開放しる…。
0760デフォルトの名無しさん
NGNG単独で使えないのかよこれ
JavaTM2Platform Standard Edition Version 1.3ってのがHPのどこにあるのかわからない…orz
0761デフォルトの名無しさん
NGNGネタも提供しなくていいよ。
0762デフォルトの名無しさん
NGNGぐぐればよいが、たしかにsunのHPはどこに何があるかわかりづらく糞。
0763初心者
NGNG現在ezアプリを作っているのですが,com.jblend.graphics.m2dパッケージの
スプライト機能の使い方が解りません。
どなたかわかる方がいらっしゃいましたら
すみませんが教えていただけないでしょうか。
0764デフォルトの名無しさん
NGNGまずはその手の初心者サイトいって、描画くらいまではやってからおいで。
0765763
NGNG//resフォルダの中にあるpngファイルを指定
SpriteImage si = new SpriteImage("/res/*.png");
//ここでエラーが出ます。
java.io.IOException: cannot load /res/*.png
これをどうにかしたいのですが。
0766デフォルトの名無しさん
NGNGMascotCapsule Tool Kit for KDDI
ttps://www.mascotcapsule.com/toolkit/kddi/tool.html
2Dスプライト プログラミングガイド 2Dスプライトプログラマーズガイド(Java版)
上記ドキュメントをダウンロードして読んで。
これ以上ないほど詳細な解説と使用例が載ってる。
読めば>>765の間違いにも気付くと思う。
0767763
NGNGとりあえず解決しました。
本当にありがとうございます。
0768デフォルトの名無しさん
NGNG質問です。
現在、複数機種で待受けアプリを開発しているのですが、
EZやVodaに通常起動と待受け起動を判別する機能はないのでしょうか?
調べてみたところ、DocomoにはgetLaunchType()というメソッドあるようですが、
EZ・Voda(MIDP)にはそれに当たるようなものが見つかりません。
0769デフォルトの名無しさん
NGNGSystem.getProperty("jscl.system.wakeupmode")
通常起動 : "1"
待受起動 : "2"
タイマー起動 : "3"
ということだそうだ。JSCLのバージョンは未確認。
0771デフォルトの名無しさん
NGNG補足しておくとこの機能が使えるのはJSCL-1.2.x(つまりP5型)のみ。
0772デフォルトの名無しさん
NGNGKDDIのAPIドキュメント(Javadocとか書いてあるリンクの先)は落として読んだ?
Phase2.5からcom.kddi.matiukeパッケージが追加になってるから
そこいらへんを参考に。
0773772
NGNG失礼しますた。
0774768
NGNGレスを元にして調べてみたところ
Vodaの「System.getProperty("jscl.system.wakeupmode")」に対し、
EZにも「System.getProperty("kddi.system.wakeupMode")」というものがあるらしいのですが、
これには待受け状態の取得はないみたいですね。
0=通常起動、1=Cメール起動要求を受けて起動、2=アラーム起動
とのことで。
まとめると・・・
Docomo:Doja2.0以降で可
AU:不可
Voda:P5型のみ可
といったところでしょうか。
0775デフォルトの名無しさん
NGNGSystem.getProperty("kddi.system.wakeupMode")で取得できる値は"0"〜"10"で
"8"が「ユーザの待ち受け設定による自動起動」
0776768
NGNG"3"以上の値もあったんですね。
調べが足りなかったようで申し訳ありません。
訂正ありがとうございます。
Docomo:Doja2.0以降で可
AU:可(Phase2.5以降?)
Voda:P5型のみ可
0777デフォルトの名無しさん
NGNGmp3再生してくれるのかな?
>ファイルをネイティブアプリケーションで再生します。
と、あるけど。
0778デフォルトの名無しさん
NGNG0779デフォルトの名無しさん
NGNGそいつを叩く。とか。
0780デフォルトの名無しさん
NGNGどうやってやればいいんでしょうか?
0781デフォルトの名無しさん
NGNGこうしなきゃいけない、ってやり方はないから好きにやればいいよ。
ちょっと質問が漠然としてる気もするが、具体的な方針を説明すればよい?
メインのオブジェクトとは別に通信用のオブジェクトを用意して、
そこでスレッドを走らせればいい。
例えばメイン処理にMain.java、通信用にCom.javaを用意して、
comオブジェクト内のrun(){ 通信処理 } をmainオブジェクト側から起動させる。
結果の受け取り方も好きにすればいい。
通信結果を格納するpublicな変数をcomオブジェクト内に用意して
mainオブジェクト側でその変数を常時監視して、値に変化があったら取得するとか。
または、mainオブジェクト側にpublicな変数を用意して、comオブジェクトで
処理が済んだタイミングでその変数を書き換えるとか。
…もしも。
スレッド起動のやり方や通信のやり方が分からないということであったら
携帯アプリの作り方を説明した基本的な参考書でも読んでおくれ。
0782デフォルトの名無しさん
NGNGドキュメントにはV601SHは1229KByteって書いてあるけど、
601Tとかできれば2000KByteくらいあって欲しいなぁ・・・
>777
試してみた感じでは、ネイティブ実行してくれるのは動画だけのような感じだったんですが、どうでしょ?
エミュではMMFもPNGもTXTも「not supported」とかエラー吐きました。
0783デフォルトの名無しさん
NGNG違うのは機種の性能ってことでいい?
0784デフォルトの名無しさん
NGNG完璧に過疎ですか
無理やり盛り上げてもいいですか
おまいらキー入力まわりどうやって処理してますか
素直にイベントハンドラ内でやっちまいますか
キーリピートはどうしてますか
オブジェクト指向とかで書くようになりましたか
お話しようYO
0785デフォルトの名無しさん
NGNGあと趣味で作成しているのでスピードをあまり気にせずに激しくOOPしている。
イベントハンドラ中で書くと描画中にステートが変わる可能性があるのでやめた方がよさげ。
0786デフォルトの名無しさん
NGNGキー入力はやっぱりそうか
つぅか自然とそうなってイクよな
OOPはプロの場合はどうなんだろう
OOPな感じじゃないとデバッグマンドクサイんじゃないかと
常々おもったりおもわなかったししているんだYO
仕事でやってるヤシも教えてくれYO
0787デフォルトの名無しさん
NGNGそんなものは忘れないとお仕事のMIDPアプリは書けません。
クラスは二つ。MIDletのサブクラスとCanvasのサブクラス。それが全て。
ああ、OOPを完全に忘れちゃうとイベント取れなくなっちゃうからその辺はてきとーに。
(´-`).。oO(なんでJavaで書いてるのに、フィールドの名前の衝突気にしなきゃならないんだろう)
0788デフォルトの名無しさん
NGNG0789デフォルトの名無しさん
NGNGいまだにそうなのか・・ターゲットが256kアプリでも?
0790デフォルトの名無しさん
NGNGV2はJSCL-1.2.2仕様になっている為、カラオケ関連など使えるAPIが増えている。
0791787
NGNGPhase3.0用には(ほぼイコールQVGA機種ということもあり)
画像他差し替えて別バイナリ作るけど、
だからって流石に書き下ろしてられんしorz
ちなみにPhase2.0ではHTTP通信は同期だったり(……のはずだが)
だから独立スレッドは要らないのです(……と思うんだけど)
0792デフォルトの名無しさん
NGNG同期だとスレッド イラヾ('A`)ナイ の?そうなの?
非同期のときは必要なの?
通信てアタイよくわかんない。
暇な人いたら説明キボン。
で、256k専用アプリ扱ってるヤシの登場キボンヌ!
0793デフォルトの名無しさん
NGNGAUのKJX作成ツールで、java.lang.Mathを使用するには
どこにクラスパスを通せばいいのでしょうか?
>C:\EZAppli_SDK\bin\project\None\src\foo.java:140: シンボルを解釈処理できません。
>シンボル: メソッド cos (double)
>位置 : java.lang.Math の クラス
>
>double foo = Math.cos(arg);
0794デフォルトの名無しさん
NGNGなるほど サンクス
0795デフォルトの名無しさん
NGNGJ2MEでは浮動小数点やsin、cosはつかえんよ。固定小数点なら使えるのでがんばってや。
0796デフォルトの名無しさん
NGNGHTTP通信は同期メソッドだけど、別スレッドでやった方が良いと思う。
通信中と分かる動きのある表示を出した方がユーザビリティがある。
#面倒いのでやりたくないってのは分かりますけど...。
0797デフォルトの名無しさん
NGNG趣味プログラママンセー。
// というかHTTP通信まだ書いたことない
0798デフォルトの名無しさん
NGNGそうなんすか!サンクス。
0799デフォルトの名無しさん
NGNG--B:A
TEXT="アプリ起動"
ADF="http://demo.co.jp/test.jam"
"Param1"="1234"
"Param2"="abcd"
みたいなのって、
Vアプリ と Brew でできるんですかねぇ??
知ってる人教えてください。
0800デフォルトの名無しさん
NGNG0801デフォルトの名無しさん
NGNG外部からのアプリ起動で、何か言い方法は無いんですかねぇ...
0802デフォルトの名無しさん
NGNGで、256k専用アプリ書いてるヤシいないのかYO
0803デフォルトの名無しさん
NGNGP5型でのみ使える機能を使えば容量小さくても結果的に256KB専用アプリと言えるし。
>>802は何をもって256KB専用アプリと言っていて、それで何を聞きたいのよ?
0804デフォルトの名無しさん
NGNGOOPは利用されているかどうかを知りたいんだYO
(o゚∀゚o)
0805デフォルトの名無しさん
NGNG0806デフォルトの名無しさん
NGNG0807780
NGNGスレッド起動のやり方や通信のやり方は分かるのだが
通信開始の方法とかがわからんのです
簡単に説明すると
mainで接続命令
↓
comでtxtファイル読み込み
そこに書いてある情報を頼りに
jpgファイル読み込み
↓
mainに受け渡し&表示
という処理なのですが
接続命令をどうやればいいのかと・・・
0808デフォルトの名無しさん
NGNG0809デフォルトの名無しさん
NGNG256k専用書いてるヤシはイナイと・・(・A・)
プロはOOP禁止と・・
0810デフォルトの名無しさん
NGNG0811デフォルトの名無しさん
NGNG0812デフォルトの名無しさん
NGNGOopsの略
0813デフォルトの名無しさん
NGNGdestroyAppでRecordStoreへの書き込み処理を書きました。
P5型のエミュではちゃんと動くんですが、
実機V601Tだとどうも保存内容がおかしくなる、もしくは保存されていない、そんなようです。
destroyApp以外で全く同じ保存処理をやらせても問題ない。
終了時にdestroyAppが呼ばれないのはC4型のみ。
destroyAppに処理5秒も絶対かかっていないと言い切れる。
なんか心当たりないでしょうか。
0814デフォルトの名無しさん
NGNG処理が多いときdestroyAppで記録できないとかってのは
EZでもあるし、MIDlet全体でありうるんじゃない?
destroyAppで書いたこと全部やらないと終わんない、
っていう仕様っだったとしたらそれは問題だと思う。
0815813
NGNG> 5秒
開発ガイドTips編v1.0.4の1.1.3節に、
P型の場合destroyAppは呼ばれてから5秒後に強制終了される、
と書いてあるんで、この5秒に引っかかっていないってことをいいたかったんです。
やりたい処理自体は実機でも体感できないほど早いんですがねぇ。
結論としては、destroyAppにはあまり期待しない方がいいってことですかね?
保存されないならまだしも、変な値で保存されるっぽかったりと、もう大変で・・・
ユーザからのキー入力があるたびにRecordStore開いて保存しまくりなアプリの方が逆に安心できそうです・・・
0816デフォルトの名無しさん
NGNG電源断とかいう可能性もあるわけだし、データが壊れててもなんとかできるようにつくるのが
いいかもしれないが。
0817813
NGNGキー入力ごとに保存しまくりにすることにします。
どうせ、RecordStore内容はバッファリングされて、
不揮発メモリへの書き込みはアプリ終了後になるようですし、
あんまパフォーマンス気にしなくてもよさそうなので。
0818デフォルトの名無しさん
NGNGP5ならApplicationManager#flushRMS()で随時書き込み。
実装が機種依存かどうかまでは知らないが。
destroyApp()はハード側の都合による終了処理の真っ最中なわけだから
ソフト側としてはここに処理は書きたくないな、というのが正直なところ。
余計なお世話かもしれないが。
例えばソフトキーに終了機能を割り当てて、ユーザーのキー押下で
アプリ終了処理をし、notifyDestroyed()を呼び出すというやり方もある。
これなら終了処理にかかる時間を気にしなくて済むし、確実に終了処理を
させられるし、destroyApp()には何も書かなくて済む。
0819デフォルトの名無しさん
NGNG端末ではきちんと動くのは
どーゆーことですか?
0820781
NGNG「通信のやり方は分かるのだが通信開始の方法とかがわからん」
というのがどういうことなのか分かりませんが(^^;
通信処理はまずURLを指定してサーバへ接続することから始めます。
Connector.open()を使います。
その後、ストリームをオープンして、データを読み書きして、
最後にストリームと接続を閉じます。
使用するAPIはCLDCのAPIリファレンスで確認してください。
具体的なソースはネットで検索したりvodafoneのドキュメントを参考にしてください。
0821デフォルトの名無しさん
NGNG0822デフォルトの名無しさん
NGNG0823デフォルトの名無しさん
NGNGGraphicsを使いまわしているってことなら、結果は完全に実装依存だな。
できなかないが、何が起こるかはわからん。
0824デフォルトの名無しさん
NGNGin=c.openInputStream();
data=new byte[(int)c.getLength()];
for (i=0;i<data.length;i++) data[i]=(byte)in.read();
in.close();
c.close();
で通信してるのですが、
収得済みデータサイズを出したいのですが出せるのでしょうか?
100バイト中50バイト受信しました な感じの・・。
imonaにあるようなやつです。
0825デフォルトの名無しさん
NGNG容量制限が、UZeeeeeeeeeeeeee!!!
容量ダイエットのために、ソースの可読性を落とさなければならないなんて……ぐすん。
ソースの可読性をそのままに、コンパイルしてくれるプログラム、あったらいいのに。
例えば、ソースに含まれる public static final な定数を、
すべて生の数字に変えてからコンパイルを実行する、とかね。
それぐらいだったら、実現できそうだよね。難しそうだけど。
0826デフォルトの名無しさん
NGNGおーい。J2SE1.3.1over使ってるか?
最適化デフォルトならそれくらいはやってくれてるぞ。
jadかなんかでディスコンパイルすりゃ分かる。
あとProGuard使ってみるとか。
0827デフォルトの名無しさん
NGNGコンテンツサイズと受信ずみサイズをインスタンスフィールドにする
受信するごとに repaint()する
paint()でプログレスを自前で描画する
0828デフォルトの名無しさん
NGNG0829デフォルトの名無しさん
NGNG@IT iアプリを10Kbytesに収めるテクニック
http://www.atmarkit.co.jp/fmobile/rensai/doja07/doja07.html
とか参考に。
ProGuard http://proguard.sourceforge.net/ は有名だね。
0831824
NGNG解決しました
0832デフォルトの名無しさん
NGNG気持ちはわかるが、それは基本的には最後の手段だぞ。
単に容量落とすだけなら、いろいろ手段はある。
ProGuard類の使用でオビュファスケーション&最適化して削る、
C用のプリプロセッサ等を併用してマクロ&インライン関数の恩恵にあずかる、
7zip等の強力なアーカイバを使ってJARのサイズを削る、とか。
一定以上攻め込んだアプリ書こうとすれば、どうしてもクラスを削除したり
汚いソースを書かざるを得なくもなるが、それ以前にできる努力も馬鹿にならない。
がんばれ。
ところで、言いがかりだと思うんだけど、RetroGuardって、
クラスが(つーかJAVAファイルが)複数あると、機嫌損ねない?
時々実機はおろかエミュでも動かんJARが作られてしまう気がする。
ProGuardは大丈夫なのかな、その辺。
0833デフォルトの名無しさん
NGNG警告: Duplicate name in Manifest: MIDlet-Name
2004/07/25 14:42:55 java.util.jar.Attributes read
警告: Duplicate name in Manifest: MIDlet-Vendor
2004/07/25 14:42:55 java.util.jar.Attributes read
警告: Duplicate name in Manifest: MIDlet-Version
2004/07/25 14:42:56 java.util.jar.Attributes read
警告: Duplicate name in Manifest: MicroEdition-Configuration
2004/07/25 14:42:56 java.util.jar.Attributes read
警告: Duplicate name in Manifest: MicroEdition-Profile
2004/07/25 14:42:56 java.util.jar.Attributes read
警告: Duplicate name in Manifest: MIDlet-Data-Size
2004/07/25 14:42:56 java.util.jar.Attributes read
警告: Duplicate name in Manifest: MIDlet-1
コンパイルのときにこのエラーが出るのだが・・・
どーゆー意味?
0834デフォルトの名無しさん
NGNG0835デフォルトの名無しさん
NGNGttp://web.sfc.keio.ac.jp/~s01030na/personal/html/prog/MIDP/TextField_sample.html
com.jblend.micro.lcdui.LocalizedTextFieldも参照するとよいアル
0836デフォルトの名無しさん
NGNG前の開発で使ってた限りではだいじょぶだったYo > ProGuard
恐らく数十回はビルドを繰り返したが一度もその手のトラブルに
引っかかったことはなかった。
最初使ったときはうっかりベリファイ済みのclassファイルに適用して
「なんでじゃー!!」と頭を抱えたことがあるがw
>833
……読んで字のごとく、MANIFEST.MFに
同じMIDlet-Nameを複数書いてるんでないの?
見直ししる。
0838デフォルトの名無しさん
NGNGGraphics? Displayableを理解してないのか?
paintの引数のGraphicsはCanvas描画用のグラフィックで、えっとえっと・・・何からいえばいいんだろ。
0839デフォルトの名無しさん
NGNG>>642-644
0840デフォルトの名無しさん
NGNG見当たるところがない・・・。
考えられるのは
sh.info=1;
というのしかないのだが、
これで発生する可能性あるの?
ってか、もしこれだったら解決法よろ・・。
0841デフォルトの名無しさん
NGNGで、そのshって何よ?
0842840
NGNG0843デフォルトの名無しさん
NGNG0844834
NGNGサンクス
出来ました!
がその逆はどうすれば・・・。
Display.getDisplay(this).setCurrent(new HogeCancas());
だとエラーになるし。。。
0845デフォルトの名無しさん
NGNGどんなエラーなのかだそうよ。
0846デフォルトの名無しさん
NGNG0847840
NGNGtry {
NETWORKinfo=1;
c =(HttpConnection)Connector.open(url);
in=c.openInputStream();
NETWORKinfo=2;
data=new byte[(int)c.getLength()];
for (i=0;i<data.length;i++) {
data[i]=(byte)in.read();
repaint();
}
NETWORKinfo=3;
in.close();
c.close();
main.NETWORKinfo=0;
return Image.createImage(data,0,data.length);
} catch (Exception e) {
//例外
NETWORKinfo=0;
}
}
で通信、
0848840
NGNGg.drawString("接続中...",0,259,g.LEFT|g.BOTTOM);
}else if(net.NETWORKinfo==2){
g.drawString(""+DataALLSize+"/"+DataGetSize,0,259,g.LEFT|g.BOTTOM);
}else if(net.NETWORKinfo==3){
g.drawString("処理中...",0,259,g.LEFT|g.BOTTOM);
}
で表示してるのだが、
最初の通信の開始の時だけArithmeticExceptionが出る。
エラーメッセージは
java.lang.ArithmeticException occurred in main.paint(Graphics), ignored.
です。
0849840
NGNGスミマセン・・
自己解決しました
0850デフォルトの名無しさん
NGNGもしかして、
Display.getDisplay(this).setCurrent(new HogeCancas());
とか書くことが切替えだと本気で思ってんの?
setCurrentのカッコの中を対象のインスタンスを指す変数書けばいいのよ。
MIDletで
Form form = new Form(〜);
〜Canvas canvas = new 〜Canvas();
と書いたら(〜は自分の使う内容に合わせて)、切替えたいときMIDlet内で
Display.getDisplay(this).setCurrent( form );
とか
Display.getDisplay(this).setCurrent( canvas );
とかすりゃあいいのよ。
0851834
NGNGjavax.microedition.lcdui.Display の getDisplay(javax.microedition.midlet.MIDlet) は (main) に適用できません。
Display.getDisplay(this).setCurrent( from );
と言われるのですが。。
スレッドの中で処理してるのがいけない?
0852デフォルトの名無しさん
NGNGJavaの基礎がわかってないような気がする。
getDisplayの引数には、MIDlet(及びその派生クラス)を指定するんだよ。
0853かけだしJavarer
NGNGコンパイルは通るんですが、エミュレーターで実行しようと思うと、
NoClassDefFoundError: comp/./testapp
at javax.microedition.midlet.MIDlet.main(+38)
destroy Old Emulator....
って出て実行できないんです。
調べてみたらコンパイルの時点で、pathがどうこうって、書いてあるんですが、
よくわからなくて困ってます。
どうゆう事なんですかねぇ...(汗)
0854デフォルトの名無しさん
NGNG同じ質問をあちこちでするな。
PATHがつながってないんだよ。
ちゃんとエラーに書いてあるだろ?
0855かけだしJavarer
NGNG0856デフォルトの名無しさん
NGNGエラーメッセージすら読めないんだったらそもそもプログラマは務まらん。
0857デフォルトの名無しさん
NGNG0859デフォルトの名無しさん
NGNGわかんねぇんだろ?他のスレでわからないやつはだいたい
こんなメッセージ書きやがる。
0860デフォルトの名無しさん
NGNGうまくいかない原因を探して、対策を考えて、それを実行する。
その当たり前の手順が当たり前にできない馬鹿は、結局問題の本質を把握
できてないから、その場を乗り切ったとしてもまた同じような問題で引っかかる。
だから、自分で手と頭を使って調べたり考えたりすることが当たり前にできない
奴がプログラムを書こうとするのがまず間違い。周りに迷惑をかけるだけかけた
挙句、結局何も身につかずに終わるのがオチ。
なんでム板でこんなレベルの話をしなければならんのだ。
0861かけだしJavarer
NGNGいや、そんなに熱くならなくてもいいんですけど...(汗)
ただ、色々調べてもなかなか解決しないんで...
at javax.microedition.midlet.MIDlet.main(+38)
destroy Old Emulator....
ってやっぱり出るんですよねぇ...
0862デフォルトの名無しさん
NGNGド素人がどんなソース書いてんかなんて想像つかんのよ。
コンパイラ(機械)がエラー内容教えてくれてんのを無視するようなやつに
生身の人間が親切に教えてくれると思うか?ちょっと考えてみ。
NoClassDefFoundErrorなんてのはJavaでは(初心者が)よくやる間違い。
どんな環境でアプリ作ってんのか知らんけど
最初に実行するクラスがちゃんと指定されてない(JADのMIDlet-1)んだろ。
J2MEのWTKなら初っ端にプロジェクト名とクラス名あったと思うけど。
0863デフォルトの名無しさん
NGNGソースコードとjad、manifestをまとめてどっかのアップローダに
上げてみたら、良いアドバイスがくるかも。
0864デフォルトの名無しさん
NGNG0865854
NGNG>> 861
まずは、何を使ってビルドと実行をしているのかを言わないと対処方法は分からん。
WTKか?バージョンは?
それとコンパイル時に出てるメッセージがないと何が起きてるかワカンラン。
そもそもアプリはビルドできてるんか?
質問する時には、必要な情報を出すのが基本だぞ。
まったく、MIDP2.0端末の開発に忙しい時に...。
0866デフォルトの名無しさん
NGNGとにかく質問するときは、状況をこれでもかと詳しく書くこと。
特にエラーメッセージ書かずに「エラーがでてできません」なんて言われても困る
0867デフォルトの名無しさん
NGNG0868デフォルトの名無しさん
NGNGJAVAをインストロールできません
サンのページからダウンロードしてきたファイルをダブルクリックしたんですが、エラーが出ます。
いろいろやってみたんですがわかりません、困りました。
サンのサイトが壊れてるんでしょうか?
OSはWINDOUSでCPUはセレロンです。
ドコモのNのパカパカで動くFFみたいなRPGを作りたいです。
>867 さんよろしくお願いします。。。。。
0869868
NGNG「スレ違い」の一言で済むな。
0870デフォルトの名無しさん
NGNG867は「俺は質問するだけで、こたえねーから困らん」と言ってるんだが。
0871868
NGNGアプリゲットで動作確認用端末貸し出しサービスやるらしい。
http://ac-admin.appget.com/service.htm
0872867
NGNG0873デフォルトの名無しさん
NGNG0874デフォルトの名無しさん
NGNGJDK1.4、WTK2.1、P5型用のVodafoneエミュレーターで作れるんかな?
で、CLDC-1.0、MIDP-1.0、JSCL-1.2.1でいいんですかね?
Vodafoneのドキュメントにそこまで書いていないような・・・
あとはPathの設定とかでっかね?
0875デフォルトの名無しさん
NGNG0876デフォルトの名無しさん
NGNG0877デフォルトの名無しさん
NGNGメタプログラムをJavaで書いてみましたです。
おまいらはXMLとか使ってるですか。
0878デフォルトの名無しさん
NGNG0879デフォルトの名無しさん
NGNGヴぉだのサンプルもantでビルドな雰囲気だよな。
使ってみるかな。
0880デフォルトの名無しさん
NGNGボーダフォン用アプリの自作環境を作成中の者です。
ボーダフォン提供の「SpriteCanvasクラス」を使ったプログラムから、
コマンドラインにてJAR・JADファイルを作り、携帯の実機で実行するところまではできました。
ですが、プログラム変更のたびにJADファイル内の「JARファイルのサイズ」を
書き換えなくてはなりません。
それがめんどうなので「J2ME,Wireless Toolkit」を使って、ビルドのたびに
JADファイルを作ってもらおうと考えました。
ボーダフォン提供の「SpriteCanvasクラス」を使っていますので、
「J2ME,Wireless Toolkit」には(コンパイル・事前検証の際に)、
ボーダフォン提供のライブラリ「stubclasses」を見てもらはなければなりません。
「J2ME,Wireless Toolkit」のlibディレクトリに「stubclasses」をコピーしたり、
いろいろやってみましたが、ビルドに失敗します。
他の方々は、この「J2ME,Wireless Toolkitを使って、ボーダフォン提供のクラスを使った
アプリを作る」ということを、どうやって実現させているのでしょうか?
0881デフォルトの名無しさん
NGNGコマンドプロンプト用 jadファイル サイズアップデートツール(jadupd)
0882デフォルトの名無しさん
NGNGauのKJX作成ツール使うってのもいいんじゃない?
つか漏れはEZメインだから、KJXツールしか使ったことねぇ。
0883デフォルトの名無しさん
NGNGWireless Toolkitのlibディレクトリにmidpapi.zipってファイルがあるはずだ。
この中にstubclassesの中身を一緒に圧縮しなおせばOKなはず。
0884880
NGNG>881
さっそく試して使ってみたところ、JARファイル内「JADファイルサイズ」を更新してくれて
いましたので、自作用バッチファイルに組み込みました。心配していた環境作りは、
881さんのおかげで解決いたしました。ありがとうございました!
>882
au用のアプリは作ったことがないのですが、auの独自拡張APIである「KDDI Profile」を使うプログラムを、
Wireless Toolkitでビルドしてらっしゃるのでしょうか?
もしそうでしたら、Wireless Toolkit(のコンパイル・事前検証の際) に「KDDI Profile」を見てもらうのに
どうやってらっしゃるのですか?
その方法が、ボーダフォン提供のライブラリ「stubclasses」を見てもらうことの参考になればいいのですが。
>883
>397さんのレスからたどって、「+lacha」というツールを使ってみたのですが、
このツールを起動する際の「SHIFT+ダブルクリック」で出てくるウインドウが、
レスからたどった説明と違ってたので、行き詰まっておりました。
また、自分で考えた方法として、「stubclasses」 のファイル名を「midpapi」に書き換えて、
Wireless Toolkitのlibディレクトリ上のものと置き換えると、
ボーダフォン提供のクラスを使わないプログラムはビルドできたのですが、
使うプログラムは以下のように表示されてビルドできませんでした。
「ERROR: native methods should not appearError preverifying class com.jblend.io.
ConnectorImplcom.sun.kvem.ktools.ExecutionException: Preverifier returned 1
ビルドに失敗しました」
再圧縮の方法は、もう少しいろいろ試してみます。ありがとうございました!
0885882
NGNGWTKを使うわけではないです(のでWTKを使って、ではなく、以下参考までに)。
詳細は397の綿100号さんのサイト見てもらえば書いているんですけど、
KJXツールではWTKでビルドするのとほぼ同様の手順を
midpapi.zipに加えauの拡張API(kddip3.jar)を使ってやってくれます。
ここで使うAPIファイルは変更・追加できるので、
kddip3.jarの代わりにstubclasses.zipを使うように指定するだけでOK。
0886デフォルトの名無しさん
NGNGDiviceControl#setKeyRepeatState(int key, boolean state)て
バグってるぽ?
まったく制御できずリピートイベントが発生するのは
方向のみっぽいのですけんど。
情報求ム〜
0887880
NGNGご丁寧な説明、ありがとうございます!
そのツールは、代わりに指定できるということで、使えそうですね。
今度やってみます。そうなると、「まさか、au用のツールを使うことになるとは・・・」という
ことになるんですね。
とても参考になりました!
0888デフォルトの名無しさん
NGNGVアプリ開発ガイドTips編
JSCL - DeviceControl
注意:
・DeviceControl#setKeyRepeatState()の振る舞いは端末の実装に依存する。
0889デフォルトの名無しさん
NGNGんーんー・・
そか。ありが�d。
システムだよりのリピートは事実上使えないってとこかね〜
0890デフォルトの名無しさん
NGNGコンパイル、preverify、jarファイル作成、エミュレーターで動作確認後
アップして携帯実機で動かそうと思ったらダウンロードはできるんですが
実行(起動)するとエラーとなって起動できません。
どんな原因が考えられるでしょうか?
お助けを。
jadファイルやマニフェストファイルには間違いないと思うのですが・・・
0891デフォルトの名無しさん
NGNG画面サイズかな。
0892デフォルトの名無しさん
NGNGまずはTIPS参照だYO
それでもダメなら端末の種類とソース類アップだYO
ガンガレ ノシ
0893デフォルトの名無しさん
NGNG特にMANIFEST.MFの解釈とエラーメッセージの内容には
機種毎の差がアホほどあるから、まずは>>892から丁寧に逝ってみよう。
ぶっちゃけ、ある程度実機でのテストに慣れるまでは当たり前の様に
見舞われる現象で、かつ、一度目星さえ付いちまえば、十分自分で対処できるようになる
ネタでもあるので、餅突いてがんばれ。
0894デフォルトの名無しさん
NGNGJDK1.4、WTK2.1の環境でP5型対応のアプリを作ろうとしています。
が、WTKでビルドする際にstubclasses.zipをそのプロジェクトのlib
に入れてjarファイル作成するとstubclasses.zipまるごとjarファイルに
入ってしまいます。(ファイルサイズがデカクなります)
それをVodafoneのエミュで動かそうとしてもエラーが出る。
コマンドでjarファイルを作成するとjarファイルのサイズは問題なく
できるのですがVodafoneのエミュではやはり動かない。
エミュではat javax.microedition.midlet.MIDlet.main(+38)って
エラーが出ているんですけどね。
なんか説明もヘタですいません。
なんかヒントがありましたらお願いします。
自分でがんばろうとは思いますが・・・
easyなミスでしょうか??
0895デフォルトの名無しさん
NGNGなんでそう、中途半端なエラーメッセージしか書かないんだろうなぁ・・・
少なくとも、前者のjarに追加クラスがまとめて入ってしまうのはダメ。
0896デフォルトの名無しさん
NGNGレスありがとうございます。
エラーは・・・エミュのメッセージ表示画面には
それしか出てきません。。。
コマンドからjarファイル作成してもやはりエミュでは動きません。
今もずっとやってるんですけど。。。
0897895
NGNGんじゃ、適当にサンプルを実行してみてテストするとか。
http://www.saturn.dti.ne.jp/~npaka/kvm/midp/index.html
サンプルで動くなら→自作のやつのどっかが悪い
動かないなら→エミュのインスコとかpath設定がまずい。
0898デフォルトの名無しさん
NGNGjarの拡張子zipにして展開したら
そもそもクラスが入ってなかったとか
マニフェストファイルで存在しないクラスを指定しているというような
実行不能な場合に
エミュは
javax.microedition.midlet.MIDlet.main(+38)
を吐く。
easyミスの可能性99%です。
ガンガレ ノシ
0899コマンドライン開発の注意
NGNG-bootclasspathを指定していますか。
必要なクラスが生成されていますか。
�Apreverifyでクラスを検証
-bootclasspathを指定していますか。
確実に検証できていますか。
検証を忘れていると
エミュはat javax.microedition.midlet.MIDlet.main(+38)
を吐いて実行できません。
見た目上(ファイルサイズなどで)検証済みであるかどうか
わかるとは限りません。
�BMANIFEST.MFと検証済みclassと必要なリソースでJARファイルを作成
忘れ物があっても誰も教えてくれません。
不安があったら拡張子をzipにして展開してみましょう。
足りないものがあったら実行時にエミュが
at javax.microedition.midlet.MIDlet.main(+38)
を吐きます。
�Cその他の注意
MANIFESTファイルとJADファイルの以下の部分が共通ですか。
MIDlet-Name: HelloWold / MIDlet-Version: 1.0 / MIDlet-Vendor: orz
MANIFESTファイルの MIDlet-1: HelloWorld,,Test
は正しく指定されていますか。後ろの方はエントリのクラス名です。
不要な拡張子はつけていませんか。
その他不必要な項目はありませんか。
このあたりのことがカッタルイのは経験者ならよく知っている。
乗り越えて見た実機で動く高精細のHelloWorldは美しかったYO
ガンガレ ノシ
0900デフォルトの名無しさん
NGNGサイズが50k超える辺りで拒否られる。
なんでか教えてプリーズ
0901デフォルトの名無しさん
NGNGMIDlet-OCL: JSCL-1.2.0
>>900
jadファイルにJSCLのバージョンかいてみたら?
0902デフォルトの名無しさん
NGNGサンクス!
それで通った、ということは
アプリゲットは俺に断りもなく審査の仕様変更したわけだな
そうかそうか・・俺は放置ですか・・
過去に通したやつまで通らないから
おかしいと思っていたんですがね・・o..rz
0903デフォルトの名無しさん
NGNG一応いっておくが、MIDlet-OCLの記述は必須だから、
今まで問題なく動いていたのがたまたまの偶然ということになる。
・・・まぁオレも人のこといえんのだが・・・
0904デフォルトの名無しさん
NGNGたまたまの偶然などといい加減なことをいわないでください。
0905デフォルトの名無しさん
NGNGそれともsubstringWidthとかを使って自分でチェックするしかないのでしょうか?
0906903
NGNGそだったっけ?
少なくともC4型仕様が一般に公開された時点では、ドキュメントに必須って書いてあったと記憶してたんだが、
P4型のみの時は必須じゃなかったのか。
>>905
たぶんsubstringWidth使わないとダメ。
今んとこ等角フォントばっかりだと思うから、等角フォント前提にすれば位置探す処理を簡易化できる。
0907デフォルトの名無しさん
NGNG0908デフォルトの名無しさん
NGNG0909デフォルトの名無しさん
NGNG日本語を読めない人もいるんだな
0910デフォルトの名無しさん
NGNG0911デフォルトの名無しさん
NGNG0912デフォルトの名無しさん
NGNG0913デフォルトの名無しさん
NGNG「あるのでしょうか?」と聞けばよかったわけだな。
0914デフォルトの名無しさん
NGNGてな感じで現実的には使われてますけどね、
文章にすると違和感ありますでしょう。
0915デフォルトの名無しさん
NGNGら抜き言葉と同じでもう世間に広まっちゃって修正できないことかもな。
0916デフォルトの名無しさん
NGNG0917デフォルトの名無しさん
NGNGそれも日本語としてはおかしいぞ
0918デフォルトの名無しさん
NGNG清少納言が現代の日本語聞いたら
なんと言の葉の乱れたことよ、よよよ。
とさぞかし嘆くことでしょう。
食べられますか?なんて言ったら
国語の先生に「ら」が多いと怒られる日も
来るかもしれなくってよ?
ここは何のスレなんディスカ?
0919デフォルトの名無しさん
NGNG0920デフォルトの名無しさん
NGNGそう思うならスルーしる!!
0921デフォルトの名無しさん
NGNG愛国心はまだ衰えてません
0922デフォルトの名無しさん
NGNGVアプリ P5型でHTTP通信を行うためには、
・ポートは80番のみ
・サーバのMIMEタイプ設定ファイルに
application/java か application/java-archive の設定を追加する。
・実際の通信時にはCGIプログラムのHTTPヘッダに
application/java か application/java-archive を設定する
・アプリ側でも通信時にはHTTPヘッダに
application/java か application/java-archive を設定する
つなみに、VアプリP5型では、
iアプリのような"text/plain"形式のテキストを送受信する場合でも、
application/java か application/java-archive を設定する
のでしょうか?
どうかご教授いただけますとありがたいです。
0923922
NGNG上記の設定で間違いや足りない点等ございましたら、
ご指摘頂けますとありがたいです。
よろしくお願いいたします。
0924デフォルトの名無しさん
NGNG0925デフォルトの名無しさん
NGNGいくらなんでも自分のすることに「ご」をつけるのはおかしいと気づかないのか?
自分に対して尊敬語っていうのは相手に対して謙譲語と同じレベルだぞ?
0926デフォルトの名無しさん
NGNG空気を凍らせてしまっているようにも見える。
ここは難しいインターネッツですね。
0927デフォルトの名無しさん
NGNGそのようですね。
>925
ここで「ご」についてだけ書き込みするなら、いちいちうるさいですよ。
意味は通じてるはずですからね。
0928デフォルトの名無しさん
NGNGこれ読んでみて。
ttp://home.alc.co.jp/db/owa/jpn_npa?stage=2&sn=79
0929デフォルトの名無しさん
NGNG0930デフォルトの名無しさん
NGNG複数のモデルを描画したいんだけど、具体的にどんな手順を踏めばいいの?
ちなみに、1つのモデルを描画、2つのモデルを同一座標に描画はできました。
モデル自身が持っている座標を変える方法が分からなかったので、
ViewMatrixに平行移動を無理やり合成して、1つ描画するたびにViewを更新、
2回に分けて描画したら、2回目のほうによってしまいました。これは間違いだった模様・・
やはり、Figureの内部に座標を持っているとして、その座標をいじらないといけないのでしょうか?
それとも、低レベルライブラリを利用して自分で作らないと駄目?
教えてえらいひとー
0931デフォルトの名無しさん
NGNGiアプリでの経験だけど、
1)単位行列を用意
2)スケーリング
3)回転
4)平行移動
5)ビューポート変換
の順で変換行列を作って、Graphics3D#setViewTrans()でMicro3Dの変換行列
自体に設定した上でGraphics3D#renderFigure()してやることでできることはできた。
ただ、動くんだけど釈然としない方法ではあるので、他にもっといい方法があるかも。
0932デフォルトの名無しさん
NGNGありがとう、とりあえずは実績のあるその方法でチャレンジしてみるよ、ママン
0933デフォルトの名無しさん
NGNG例えば、PNGファイルを読み込んで、上下反転とか、画像サイズを2倍にしたりとかってことなんですけど、、、
どなたかサンプルキヴォンヌ
また、resフォルダにBMPファイルを入れて置き、
実行時に BMP -> PNG と変換して、表示させるようなことをしてる方はいらっしゃいますか?
0934デフォルトの名無しさん
NGNG>PNGファイルを読み込んで、上下反転とか、画像サイズを2倍にしたりとか
MIDP1.0の範囲内では無理。
読み込んだ画像に文字を入れる、くらいなら可能だけど。
(Image#getGraphics()でGraphicsインスタンス取って(ry )
BMPをPNGに変換するのは……やってできんことはないかもしれんが、
多分エンコーダで20kは食う。素直に開発機上でPNGにしなされ。
0935デフォルトの名無しさん
NGNGできるかできないかということなら、できないということはない、ってとこかな。
PNGのバイナリデータを直接いじる必要があります。
JSCL1.2ならImageに読み込んで、描画する際にいろいろできるけど。
わざわざBMPからPNGに変換してるような変な人はいないと思われ。
0936デフォルトの名無しさん
NGNG純粋なMIDP1.0だけではやはり無理ですか。
ただ、画像ファイルがいっぱいあり、どうにかしてアプリサイズを小さくしたくて、
実行時に画像ファイルを作り出すようなことをしようと思っております。
幸い、左右対称、上下対象な画像データが多いので、どちらか半分だけ画像データとしてもっておいて、
実行時に反転して読み込んで一枚の画像にしようかと、、、
その際、PNGデータを直接扱うよりかは、BMPの方が簡単そうなので、
BMPで元データを作って、実行時にPNGデータを作り出すのはどうだろうか?
と考えた付いた次第です。
みなさんは、大量にデータファイルがある場合にどうやってアプリサイズを小さくしているのでしょうかねぇ・・
0937デフォルトの名無しさん
NGNGVならとっととSprite使うのがいいな。
0938デフォルトの名無しさん
NGNGその質問は、Javaではなく、HTTPの質問ってこと?
設定するってのは、リクエストのAcceptヘッダと
レスポンスのContent-Typeヘッダのことだよね?
application/java や application/java-archive は Java。
テキストなら text/* 、イメージなら image/* などになる。
あと、VはDと違って、TCP/IP上のHTTPのはずだから、
特別なことはないと思う。でもゲートウェイが邪魔することはあり。
0939デフォルトの名無しさん
NGNGサイズを小さくするのに BMP を使うって、なぜ?
BMPの方がでかくない?
どんな画像データか知らないけど、プログラムで描けないの?
0940デフォルトの名無しさん
NGNG容量制限ギリギリの攻防でないならアプリサイズを小さくする努力はしない。
画像ファイルが多くて容量の関係からリソースに含めきれない場合、
アプリ起動後にサーバから取得してストレージ領域に保存する。
画像は基本的にPNGフォーマット。
いくら線対称な画像だろうと内部で生成することは考えない。
90度単位の回転、上下反転、左右反転で使い回せる画像なら
正位置の画像だけ持っておき、描画時にそれらの操作を指定して表示する。
もちろんauやVodafoneが用意している拡張Graphicsクラスを使ってだ。
自分の場合はMIDP1.0のみにこだわる必要がないのでこのようにしている。
0941デフォルトの名無しさん
NGNG透過属性がなくてもいいなら、
Image.createImage(w, h)
で動的に作り出せるよ。
あとスピードを求めないなら、左右対称とかは楽勝だけど。
1ドット幅づつ逆からdrawImageしていけばいい。
0942デフォルトの名無しさん
NGNG出来るのでしょうか?
出来るのなら方法を教えてください。
0943デフォルトの名無しさん
NGNGC型だとACanvas、P型だとSpriteCanvasでpaint()をオーバーライドすれば
Graphicsメソッドを呼び出せるらしいです。
注意点が幾つかあるようなのでガイドを参照した方が良いと思う。
0944デフォルトの名無しさん
NGNGhttp://developers.vodafone.jp
のVアプリ開発ガイド[開発編]
http://developers.vodafone.jp/dp/tool_dl/download.php?docid=302
です。
0945デフォルトの名無しさん
NGNGVアプリでも同様なことができるのでしょうか?
サンプルサイト等ご存知でしたら教えて下さい。
0946デフォルトの名無しさん
NGNGSpricateCanvasのpaintのGraphicsに対する描画は背景になされるので、
paintでGraphicsに描画後copyAreaで転送して、
フレームバッファでさらに加工してdrawFrameBufferすればOK
0948922
NGNGサンプルプログラムがあるサイトなど、
ご存知でしたらリンク貼って頂けますと助かります。
0949デフォルトの名無しさん
NGNGVODAのJAVADOC探してるんですが見つけられません。
0950デフォルトの名無しさん
NGNGありません。
0951933 & 936
NGNG>>937
>VならとっととSprite使うのがいいな。
残念ながら、SprintPCSなんです。
>>939
>サイズを小さくするのに BMP を使うって、なぜ?
>BMPの方がでかくない?
確かに元データはでかいですけど、JARにすれば小さくなるので、
ひとまずOKかな、と。
まずは実行ファイルサイズ容量をどうにかするのが先決なので、、
その後、ヒープが足りなーいとなるのかもしれませんが orz..
>>940
>画像ファイルが多くて容量の関係からリソースに含めきれない場合、
>アプリ起動後にサーバから取得してストレージ領域に保存する。
これが有力候補ですね。
>>941
>透過属性がなくてもいいなら、
残念ながら透過属性が必要なんですよ。。
0952デフォルトの名無しさん
NGNG普通に考えてBMPをJarに入れたとき、PNGより小さくなるとは思えないよ。
PNGの圧縮は効率が良くなるようにフィルタ処理も加わるから、大抵素の物をdeflateするよりは小さくなるの。
Jarの圧縮によっぽど優秀なdeflateツールを使って、PNGのツールがヘタレなら逆転するかもしれないけど。
0953946
NGNG機種依存になるかもしれないけど、
東芝機種はTextFieldなどでユーザに文字入力をしてもらっている画面でコピーができるので、
ユーザに手動でコピーしてもらえる環境を用意することはできる。
あんま使えんけど。
>>947
なら、CameraConnectionとStorageConnectionのクラス概要くらい嫁。
>>951
試しに、BMPをzip圧縮してみ。
どれだけ使えないかがわかる。
とっととPNGにしる。
0954デフォルトの名無しさん
NGNG>>953
携帯で使うサイズくらいならPNGファイルよりもBMPのときの方がいい場合が多いよ。
余計なヘッダないし。
0955デフォルトの名無しさん
NGNG0956デフォルトの名無しさん
NGNGそこが不思議なんだよな。
大きな画像1つにまとめた段階で、透過属性がなくなってしまうのだが…。
0957デフォルトの名無しさん
NGNG0958デフォルトの名無しさん
NGNGJARにディレクトリを指定し、その中の特定のファイルだけをアーカイブに
含めないようにしたいのですが、JARツールでこのようなことは可能でしょうか?
オプションを見る限り無理っぽいのですが、別のツールを使った方法などで
やり方をご存知の方いらっしゃったら宜しくお願いします。
具体的には以下の様なケースです。
res/aaa.gif ←
res/bbb.gif ←resフォルダ中のファイルはJARに含めたい。
res/ccc.gif ←
res/.svn/・・・ ←このディレクトリ以下のファイルはJARに含めたくない。
要はファイルをSubversionで管理しているのですが、その情報がディレクトリに
含まれてしまうのでJARから除去したいのです・・・
0959デフォルトの名無しさん
NGNGresフォルダをcopy、
コピったフォルダから.svnフォルダ削除、
jar -C コピッたフォルダ
削除 /Q コピッたフォルダ
むにゃむにゃ。元通り。jarゲット。なんてね
0960デフォルトの名無しさん
NGNG0961デフォルトの名無しさん
NGNG0962デフォルトの名無しさん
NGNGresOrgフォルダっての作って、そこをSubversionの対象にして
resフォルダは対象外にしてる。
で、バッチファイルでresOrgからresにコピーしてから、jarを作成するようにしてる
これじゃめ?
0963962
NGNGmake前にresフォルダ内をクリアしてるわ
やってることは、959とほぼ一緒でした。
0964デフォルトの名無しさん
NGNGantのjarタスクで、filesetのexclude使えば解決。
0965デフォルトの名無しさん
NGNG0966デフォルトの名無しさん
NGNGCLDC+MIDP+携帯電話用Javaスレッド part 3
http://pc5.2ch.net/test/read.cgi/tech/1091798483/
0967デフォルトの名無しさん
NGNG乙!
0968951
NGNGおっしゃる通りですね。BMPより強力なPNG圧縮かけたほうが、
サイズが小さくなりました。
>試しに、BMPをzip圧縮してみ。
1. BMP 474KB -> JAR 24KB
2. 1.のBMP無圧縮PNG 475KB -> JAR 25KB
3. 1.のBMP圧縮PNG 20KB -> JAR 20KB
素直に、最大限圧縮したPNGファイルを反転したファイルも含めて
JAR化してやった方がいいのかな・・
>>954
無圧縮PNGで実行時に画像ファイル作成されたんですね!
実機での調子はいかがでしたか?
メモリ使用量、読み込み、表示レスポンスなど、問題なかったでしょうか?
0970デフォルトの名無しさん
NGNG横からスマソだが
何かそれだと、オフスクリーンのImage持っといてそこに描いた方が
早そうに思えるんだけど……漏れ何か読み落としてマスカ??
0971954
NGNG俺の場合、リアルタイムに256*240の画像を作成する必要があって、
普通に1pixづつ描いていたら時間がかかるから、バイト配列→PNG
という手段にでただけ。なので、オフスクリーンとかは関係ない。
0972デフォルトの名無しさん
NGNGおかげさまで作成しているアプリがアプリらしくなってきました。
Vアプリでブラウザ起動がうまくいかないのですが・・・・
BrowserConnection brs;
String url2 = "http://www.yahoo.co.jp";
try {
brs = ( BrowserConnection ) Connector.open(url2);
brs.connect();
brs.close();
} catch (Exception e) {}
jadファイルはMIDlet-Network: Y 以外に必要なものとかありますかね?
なんかお気づきの点がありましたらお願いします。
0973デフォルトの名無しさん
NGNGString url2 = "http://www.yahoo.co.jp";
じゃなくて
String url2 = "url://www.yahoo.co.jp";
でやってみ。
0974デフォルトの名無しさん
NGNGありがとうございます!
いけました。
0975デフォルトの名無しさん
NGNGいらっしゃいますか?
0976デフォルトの名無しさん
NGNG0977デフォルトの名無しさん
NGNGeclipse用のプラグイン使っちゃえば簡単なんだけどさー、Eclipse重すぎて使う気になれないよ。
bin、src、class、buildなどのフォルダとbuild.xmlやマニフェスト、JADファイルを自動生成してくれる無料の軽快なツールないかなぁ。
これさえクリアすればあとはbuild.xmlをantに渡してやるだけなんだけど・・・・。
0978デフォルトの名無しさん
NGNGマニフェストなんてそんなに変更ないんじゃないかい?
JADは(大雑把に言えば)それにJARのサイズくっつけるだけだから
15分もあれば自動生成スクリプト書けるっしょ。(Javaで書けば
antのjavaタスクにできるけど、結局VMもう一個立ち上がるしなぁ)
フォルダ生成もantのタスクで可能なはずだし、
一回思い切って時間割いてbuild.xml書いてしまえば後々楽だぞい。
# 確かV用のbuild.xmlのテンプレどっかで公開してたな……
# 場所忘れたが。漏れはそれをあう用に手直しして使ってた。
0979デフォルトの名無しさん
NGNGそのV用のbuild.xmlはあるんだけど、それを使う前に
各種のフォルダ作成やマニフェストファイルを作成しなきゃいけなかったから、
プロジェクトごとにそんな下ごしらえをやるのはメンドイなーと思って。
15分で生成スクリプトが書けるなんて凄すぎだぜ。オレはまだまだ初級だなぁorz
とりあえずantの勉強から始めます。
0980デフォルトの名無しさん
NGNG>Javaで書けばantのjavaタスクにできるけど、結局VMもう一個立ち上がるしなぁ
どうせjavaで書くならantのタスクを書けばいいのに。
うちはサイズ取得はそうやってる。
0981デフォルトの名無しさん
NGNG0982デフォルトの名無しさん
NGNG0983978
NGNGそれはすごい。漏れはantタスク作れる技量がないんでOTL
>981
なーんも考えずに書いたらforkせんと動かない代物を作ってしまったので
マンドクセから諦めてforkさせてまつ。
0984デフォルトの名無しさん
NGNGレス数が950を超えています。1000を超えると書き込みができなくなります。