iモード携帯電話用Java(iアプリ) Part15
レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん
2007/08/21(火) 15:32:26※DoCoMo以外は下記スレへ。
CLDC+MIDP+携帯電話用Javaスレッド part 7
ttp://pc11.2ch.net/test/read.cgi/tech/1180010672/
■ iアプリ特有ではなくJava一般に関する質問はこちらへ
【初心者】Java質問・相談スレッド104【大歓迎】
ttp://pc11.2ch.net/test/read.cgi/tech/1185493592/
■ iモード携帯電話用Java(iアプリ)まとめサイト
ttp://ton.my-sv.net/
■関連スレ
【日本携帯】Mascot Capsule/Micro3D【標準】
ttp://pc8.2ch.net/test/read.cgi/tech/1117773530/
0002デフォルトの名無しさん
2007/08/21(火) 15:35:00Part 1 ttp://piza2.2ch.net/tech/kako/975/975428633.html
Part 2 ttp://pc3.2ch.net/tech/kako/1000/10007/1000723476.html
Part 3 ttp://pc2.2ch.net/test/read.cgi/tech/1040898596/
Part 4 ttp://pc5.2ch.net/test/read.cgi/tech/1067139509/
Part 5 ttp://pc5.2ch.net/test/read.cgi/tech/1084246226/
Part 6 ttp://pc5.2ch.net/test/read.cgi/tech/1091286071/
Part 7 ttp://pc5.2ch.net/test/read.cgi/tech/1102844217/
Part 8 ttp://pc8.2ch.net/test/read.cgi/tech/1110946222/
Part 9 ttp://pc8.2ch.net/test/read.cgi/tech/1120411353/
Part 10 ttp://pc8.2ch.net/test/read.cgi/tech/1131603113/
Part 11 ttp://pc8.2ch.net/test/read.cgi/tech/1141796982/
Part 12 ttp://pc8.2ch.net/test/read.cgi/tech/1154336955/
Part13 ttp://pc11.2ch.net/test/read.cgi/tech/1164168601/
Part14 ttp://pc11.2ch.net/test/read.cgi/tech/1174036396/
0003デフォルトの名無しさん
2007/08/21(火) 15:36:47NTT DoCoMo - iアプリコンテンツの作成について
http://www.nttdocomo.co.jp/service/imode/make/
Java[tm] 2 Platform, Standard Edition v 1.4
http://java.sun.com/j2se/1.4/ja/
CLDC仕様書 日本語版
http://java.sun.com/products/cldc/docs/CLDC1.0_ja_docs.zip
Eclipse.org
http://www.eclipse.org/
■ 機種依存情報
ん・ぱか工房(iアプリ機種依存情報)
http://www.saturn.dti.ne.jp/~npaka/
NTT DoCoMo - アプリケーション作成上の注意点
http://www.nttdocomo.co.jp/service/imode/make/content/iappli/caution/index.html
Overflow! さかきけいのページ(504iまでの機種依存情報つきAPIリファレンスあり)
http://godwood.allnet.ne.jp/vioret/
■ アプリを省サイズ化するツール(ObfuscatorまたはOptimizer)
Java Blender
http://homepage.mac.com/t.sekiguchi/javablender/
jarg - Java Archive Grinder
http://jarg.sourceforge.net/
0004デフォルトの名無しさん
2007/08/21(火) 15:40:38ギガアプリ
http://g-appli.net/
アプリ★ゲット
http://appget.com/
ゲームチャンネルi
http://appli.channel.or.jp/pc/i/
■ 携帯関連ニュース
ITmedia:モバイル
http://www.itmedia.co.jp/mobile/
ケータイ Watch
http://k-tai.impress.co.jp/
Nekomaru What's New
http://snget.hp.infoseek.co.jp/news/news_index.htm
■ 関連板
携帯・PHS
http://hobby7.2ch.net/phs/
携帯機種
http://hobby7.2ch.net/keitai/
携帯コンテンツ
http://hobby7.2ch.net/chakumelo/
携帯電話ゲー
http://hobby7.2ch.net/appli/
0005デフォルトの名無しさん
2007/08/21(火) 21:15:31乙
0006デフォルトの名無しさん
2007/08/22(水) 08:51:26乙です。
そして新スレ質問第1号。
自分の美声(歌声)を再生するアプリを作ろうと思っています。
歌は演奏付で約1分30秒くらいです。
でも、3gppは904以降しか再生出来ないんですよね?
という事は従来の端末のユーザにも美声を聞いてもらう為には
mp3→mldかな〜?とも思ったんですが、サイズが…。
これは素直に諦めるか904以降のユーザにのみ美声を届ける
しか方法がないという事でしょうか?
0007デフォルトの名無しさん
2007/08/22(水) 12:38:46ただヒープの空き容量によっては90秒は無理かもしれない。
0008デフォルトの名無しさん
2007/08/22(水) 12:50:320009デフォルトの名無しさん
2007/08/22(水) 13:53:54try{
// こいつがエラー
mail = MailAgent.getLastIncoming();
}catch(SecurityException e){
mail = null;
}catch(IllegalStateException e){
mail = null;
}
こういう処理を記述したんですが,
getLastIncoming()が実行されたときに
SecurityViolation: 6 getLastIncoming 0
というエラーをコンソールに残してシステムがダウンしてしまいます
(DoJa5.0 Eclipse)
どこかの設定ファイルで許可が足りないのだと思いますが,
どのようにすればいいのでしょうか...?
0010デフォルトの名無しさん
2007/08/22(水) 14:53:33その辺は大丈夫?
00119
2007/08/22(水) 15:17:51プログラム組んでると基本的なことほど気付かなくて...
そもそも無理なものに四苦八苦してました...
ありがとうございます.
0012デフォルトの名無しさん
2007/08/22(水) 15:28:140013デフォルトの名無しさん
2007/08/24(金) 15:44:11んで、時間がかかるのは仕方ないとして、処理中だという事をユーザに教えてあげたい。
または、進捗状態を表示したいのだが、何か良いアイデアはないものかなぁ。
砂時計もどきとかプログレスバーみたいなのは大変そうだし・・・
0014デフォルトの名無しさん
2007/08/24(金) 16:20:230015デフォルトの名無しさん
2007/08/24(金) 16:27:33DoCoMoのソニー端末以外の端末は、タイマ解像度が10msだから
Thread.sleep(1)ってのはThread.sleep(10)と変わらない。
完全にフレームを固定したいなら、そもそもsleepを入れないほうがいい。
電力消費が激しそうだがな。
0017デフォルトの名無しさん
2007/08/24(金) 16:35:00フレーム数をチェックして多かったら少しずつ
sleep時間延ばしてやるとかしてる。
当然毎回sleep時間を大きく変えてると不安定になる。
0018デフォルトの名無しさん
2007/08/24(金) 16:39:14将来的な事を考えて1を指定しているだけで、
別に10msだろーが20msだろーが問題ないよう書いてあるよ。
滑らかなアニメーションは期待薄かもだけどね。
001915
2007/08/24(金) 16:56:05あ、別に>>999を否定するために言ったわけじゃないんだ。
否定するように見えたならあやまるよ。すまんかった。
>>17
sleep入れないって言ったのは、完全にフレームを固定したい場合のみだからね。
10msって0.01秒だから、その範囲で多少誤差が出ても体感として分からないし、sleep入れるのが普通だと思うよ。
ちなみに俺のFPS固定のソースは↓
private long backTime;
private int waitTime = 50; // 20FPS
public run() {
backTime = System.currentTimeMillis();
while (true) {
// 時間待ち
{
Thread.yield();
long time = waitTime - (System.currentTimeMillis() - backTime);
if (time > 0) {
try {
Thread.sleep(time);
} catch (InterruptedException e) {
}
}
backTime = System.currentTimeMillis();
}
// メインの処理を入れる
}
}
0020デフォルトの名無しさん
2007/08/24(金) 16:59:46タイマ解像度1000msの端末が有ったとして、
0.5秒目でsleep(1)したら1.5秒までsleepすると思ってない?
002115
2007/08/24(金) 17:12:04>0.5秒目でsleep(1)したら1.5秒までsleepすると思ってない?
やべぇ、ちょっとそう思ってた。
>Thread.sleep(1)ってのはThread.sleep(10)と変わらない。
俺のこの発言間違いだね。無視しちゃってください。
0022デフォルトの名無しさん
2007/08/24(金) 17:14:57>タイマ解像度1000msの端末が有ったとして、
>0.5秒目でsleep(1)したら1.5秒までsleepすると思ってない?
俺もそう思ってた!
WinAPIのsleepは確かタイマ解像度に依存していたと記憶しているが
Dojaの場合は違うのか
0023デフォルトの名無しさん
2007/08/24(金) 17:21:160024デフォルトの名無しさん
2007/08/24(金) 17:22:06俺はタイマ解像度1000msだったら、
1000ms以下は入れても無駄というか正確に測れない
ってことだと思ってた
0025デフォルトの名無しさん
2007/08/24(金) 17:23:150026デフォルトの名無しさん
2007/08/24(金) 17:27:34携帯内で1個だけ動いてる解像度1秒の時計をみんなで見てるなら、
秒が切り替わった直後に1秒スリープすると、
次に変わったって気づけるのは約2秒後って話じゃね?
動けば良いやで作ってるから、間違ってたらゴメンw
0027デフォルトの名無しさん
2007/08/24(金) 17:29:31002815
2007/08/24(金) 17:33:30>>20
>タイマ解像度1000msの端末が有ったとして、
>0.5秒目でsleep(1)したら1.5秒までsleepすると思ってない?
この場合は、2.0秒までsleepするであってるよな?
0029デフォルトの名無しさん
2007/08/24(金) 17:36:42あってるよ
0030デフォルトの名無しさん
2007/08/24(金) 17:40:39こういうもんだと理解してたんだけど
sleep( 1000 )で呼び出したとする
↓
スリープを開始
↓
タイマーを見て現在時刻を取得(多分ミリ秒単位)
↓
以降、一定時間ごとに時刻を取得して比較
現在時刻から1000ミリ秒以上経ってたらスリープ解除
この一定時間がタイマ解像度だと思ってた
0031デフォルトの名無しさん
2007/08/24(金) 17:43:140032デフォルトの名無しさん
2007/08/24(金) 17:49:150033デフォルトの名無しさん
2007/08/24(金) 17:53:040034デフォルトの名無しさん
2007/08/24(金) 18:02:36おげ、違うのか・・・?
タイマ解像度=100msとして
0ms(開始)
処理(20msかかった)
20ms
sleep(1)←タイマ解像度100msなので(1)でも100msまで進んでしまう
100ms
処理(50msかかった)
150ms
sleep(1)←タイマ解像度100msなので(1)でも200msまで進んでしまう
200ms
結局10FPSにならんの?
003534
2007/08/24(金) 18:07:35FPSを上げたければsleepいれなきゃいんだよね
0036デフォルトの名無しさん
2007/08/24(金) 18:09:17もう混乱してワケワカラン
0037デフォルトの名無しさん
2007/08/24(金) 18:31:55発生するということ。
>>34の例では、20msのあとでsleep(1)をした場合、sleepが終了
するのは、割り込みのタイミングに対してどの時点で命令を発行
したかに依存するので、待ち時間は1〜100msのいずれか。
ごめん、うまく説明できないな。
0038デフォルトの名無しさん
2007/08/24(金) 20:16:13基本的にはそれでOKだと思う。
ただ、液晶画面の応答速度を考えると
sleepを削除しても、1000FPSとかはでないと思わr。
0039デフォルトの名無しさん
2007/08/24(金) 20:16:5290ms(開始)
処理(20msかかった)
110ms
sleep(1)
200ms
かもしれないし、
40ms(開始)
以下略
処理(20msかかった)
60ms
sleep(1)
100ms
かもしれない。結局10FPSになるのは、まぁたぶんそうかもしれんが、保証はない。
sleep(1) は、最低 1 ミリ秒以上スリープする、というだけで、上限は定められてない。
0040デフォルトの名無しさん
2007/08/24(金) 23:12:52で、FPSの話に移るとして、大前提。
・FPS固定する理由が端末毎の処理速度差を吸収する目的であるとする。
とした場合、sleepがあろーとなかーと、他の部分を考慮しないとダメ。
他の部分ってのは、『処理が早すぎた場合』と『処理が遅れた場合』。
>>19 と前スレの >>993 のFPSクラスの場合、
早すぎた場合に関してはsleepで待っているので問題ない。
問題なのは『処理が遅れた場合』の方で、
メイン処理や描画が 1000/フレーム数ms 以上の場合に遅れを取り戻せない。
レースゲームなんかじゃ致命的で、
遅い端末と早い端末が同時にレーススタートすると、遅い端末が後でゴールする。
>backTime = System.currentTimeMillis();
ここを
backTime += waitTime;
とすれば軽い時にそのうち追いつくけど、追いかけてる最中高速アニメーションw
まだ遅れっぱなしの方がマシってくらい有り得ない。
0041デフォルトの名無しさん
2007/08/24(金) 23:18:06ここいくつかのレスを見る限り、
前スレ999のみが早すぎるケースにも、遅すぎるケースにも対応してる。
例え描画が1,2フレーム落ちても、mainLoop関数は秒間平均20フレーム回るので、
pos +=speed; と書いてあっても大丈夫。
ただ、999にも書いてあるけど長時間サスペンドや、
ダイアログでmainLoopを止めると対処がムズイ。
他は遅れっぱなしになるか、以下の制限付ければFPS固定になる。
・どんなに遅い端末でも、1フレームあたり1000/フレーム数ms 以上の時間が
かからないようにする。(最悪、遅い端末にフレームレートをあわせる)
・座標計算をこんな感じで…かなり面倒。
pos += (System.currentTimeMillis()-time) * speed / FLAMERATE;
・遅い端末は忘れる
で、話を戻してsleepが有るとか無いとか言ってる人。
タイマ解像度は currentTimeMillis() にも影響するので、実はあまり意味ない。
sleep使わないメリットは、sleepに与えた時間以上に休むのを防ぐことができるくらい。
0042デフォルトの名無しさん
2007/08/24(金) 23:55:17getMinTimeInterval()の話が出ないのも引っかかるんだが、
気にしなくていいのかな。
0043デフォルトの名無しさん
2007/08/25(土) 21:51:050044デフォルトの名無しさん
2007/08/26(日) 00:33:180045デフォルトの名無しさん
2007/08/27(月) 10:54:1325msとかで記述するのが面倒だから
1000msなり100msで具体的にどーなるかを議論している訳で、
iアプリベンチの値が実際のタイマ解像度と異なったとして、
上の議論には何の影響も無いでしょ。
どんなタイマ解像度の機種であっても、FPS固定できる事が理想なんだし。
0046デフォルトの名無しさん
2007/08/27(月) 14:27:14"FPS"って何だか分かってる?
0047デフォルトの名無しさん
2007/08/27(月) 15:20:14マスコットカプセルは右、下、奥が正の値の右手座標系って公式資料に書いてるけどこれって一般的?
俺は右手座標系というと右、上、手前が正だと思ってた。
0048デフォルトの名無しさん
2007/08/27(月) 15:26:120049デフォルトの名無しさん
2007/08/27(月) 15:39:05マスコットカプセルが特殊、あなたが正常
0050デフォルトの名無しさん
2007/08/27(月) 15:53:08だからその「実際のタイマ解像度」って何かなと思ったのよ。
System#currentTimeMillis()の戻り値が常に一定間隔であることが
すべての機種で確認されてるの?
Thread#sleep(1)を100回繰り返したらタイマ解像度×100の時間が経過するの?
納得して議論してるなら横槍入れてごめん。
0051デフォルトの名無しさん
2007/08/27(月) 16:24:58と思ってみたが、それを理由にして
パチスロアプリの仕事を断ったような覚えがあったw
パチスロってボタン押してから何ミリ秒以内に停止しないと
いけないとか法律で決まってるんだよね。
0052デフォルトの名無しさん
2007/08/27(月) 18:47:30sleep(1)=タイマ解像度よりも低い値を指定しているのでは正しく動作
しないのでは?という疑問から始まった話。
実際の動作は、タイマ解像度の性能が許す限り最良の待ち時間だけ待って
くれるので>>999のソースは少なくとも間違っていないっしょ。
で、途中から可変FPSにして見かけ上の動作速度を同じにするような、一昔前の
リフレッシュレートに関する論争みたいな話がでてきてどんどん脱線している
気がする。タイマの説明については>>37の解説がハードウェア的にはあってると
思われ。
0053デフォルトの名無しさん
2007/08/27(月) 19:15:05sleepでしょ?最良ねぇ...
0054デフォルトの名無しさん
2007/08/27(月) 21:42:46FPSの議論とは直接関係ないので興味のある人だけどうぞ。
http://akizakura.dyndns.org/i/TimerTest.html
QRコード http://akizakura.dyndns.org/i/TimerTest.png
D902iの場合
Timer#getMinTimeInterval() = 10
Timer#getResolution() = 10
System#currentTimeMillis()の間隔
min=1 max=1 avg=1.0
sleep(1) * 100 = 218ms.
sleep(2) * 100 = 314ms.
sleep(3) * 100 = 412ms.
iアプリベンチのタイマ解像度はTimerクラスを使わないかぎり
気にしなくていいのかもしれない。
0055デフォルトの名無しさん
2007/08/28(火) 10:25:14月額料金を払わなくていい売り切り、または無料で
将棋と比べるとほとんど見かけない
0056デフォルトの名無しさん
2007/08/28(火) 10:59:52コード組む話じゃないのならその質問は板違い。
0057デフォルトの名無しさん
2007/08/28(火) 14:52:16俺も試してみたよ。
N903iの場合
Timer#getMinTimeInterval() = 10
Timer#getResolution() = 10
min = 1
max = 10
avg = 1.01000908
sleep(1) * 100 = 100ms.
sleep(2) * 100 = 200ms.
sleep(3) * 100 = 300ms.
何回かやってみたけど、sleep(3) * 100 の結果に少しばらつきが有った。
316ms.とか。
0058デフォルトの名無しさん
2007/08/28(火) 18:46:01sleep精度がすごくいいね
>>54のはsleep1回につき1ms程度のオーバーヘッドがある感じなのかな
0059デフォルトの名無しさん
2007/08/28(火) 19:58:36前スレ>>353みたいにするのがいいのかもな
0060デフォルトの名無しさん
2007/08/28(火) 20:13:250061デフォルトの名無しさん
2007/08/29(水) 13:48:39特にサウンド関連なんかはちゃんと鳴るか自分で確かめたいし…。
俺は知り合いから古い携帯をもらって900シリーズはある程度集めたんだけど
901以降ってなかなかくれる人いないんだよね。。
てか、携帯の白ロム?っていうのかな、中身空のやつって店に売ってる?
0062デフォルトの名無しさん
2007/08/29(水) 14:00:53白ロム.com
ttp://www.sirorom.com/
006361
2007/08/29(水) 17:00:50サンクス。早速見てみた。
てか、白ロムってこんなに高いの??
てっきりワゴンセールみたいな感じで1000円くらいで売ってるのかと思った…
006462
2007/08/29(水) 17:10:26基本的に値段はあまりかわらない。
アプリ開発する会社とかが普通に購入するから
この値段で売っているんだと思うよ。
0065デフォルトの名無しさん
2007/08/29(水) 17:54:20NとかPとかNとかPとかn ('Д'#)イラネーヨ
0066デフォルトの名無しさん
2007/08/29(水) 20:03:14いらないならくれ!
まあヤフオク利用する手もあるわな。
0067デフォルトの名無しさん
2007/08/29(水) 21:28:100068デフォルトの名無しさん
2007/08/29(水) 23:49:01最近元カノと出かける用事があって携帯買い換えたらクレって言ったんだけど
「あんたデータ消しても蘇らせそうだから嫌」って言われたw
でも確かにヤフオクは怖いなぁ。。
とりあえず俺が集めたのは…
P900iv N900i D701i
って、3つしかないやんけw
まぁでも、あとSOとSHさえGETすればメーカーごとのwav確認は出来るからよしとしよう。
つーか、秋葉行けば手に入る?1000円くらいで買えるなら上京してでも…
0069デフォルトの名無しさん
2007/08/30(木) 02:19:32プログラマの常識的には右、上、手前=OpenGLで一般かもしれんが、
これもOpenGL以外にはそうないし一般的かは疑問。
モデルツールはツールで軸方向はいろいろ違うしさ
0070デフォルトの名無しさん
2007/08/30(木) 05:44:18ぶっちゃけ発想が古いと思うが、MascotCapsuleの出自を考えるとそんなもんじゃね。
俺はOpenGLが公開されるまで3Dゲーム作らんつもりなのでどうでもいい。
0071デフォルトの名無しさん
2007/08/30(木) 09:54:18なるほど。
すげー納得した。
その発想は出来なかった。
0072デフォルトの名無しさん
2007/08/30(木) 10:28:402chのカキコの半数は嘘と煽りの怪しいサイトでしょw
要は使いよう。
0073デフォルトの名無しさん
2007/08/30(木) 11:25:09右手座標系の意味をわかってて言ってる?
0074デフォルトの名無しさん
2007/08/30(木) 11:37:17void send() {
clearKeyState();
for (;;) {
repaint();
Thread.sleep(50);
int key = getKeyState();
if (key == Display.KEY_SOFT2) {
drawString("認証中", 50, 110);
//通信処理
//通信結果表示
}
}
}
このような処理を作成したのですが、思い通りに動作しない
場合があります。
やりたいこと:通信処理中はずっと画面に"認証中"と表示させたい。
問題点:たまに(2割位の確立で)"認証中"が表示されるも一瞬で消えてしまう。
・通信処理は実機,エミュレータ共に2秒くらい。
・"認証中"が一瞬で消えてしまったときでも通信処理自体は正常に動作している。
・repaint()ではダブルバッファリングを使用。
お分かりの方おりましたら、アドバイスよろしくお願いします。
0075デフォルトの名無しさん
2007/08/30(木) 12:20:57表示される気がするんだけど
0076デフォルトの名無しさん
2007/08/30(木) 12:50:200077デフォルトの名無しさん
2007/08/30(木) 12:53:42通信処理のところでブロックして、forループ回らずにいるんじゃないの?
どちらにしろ通信結果表示のところも怪しい。中でループしてんのかな。
それとも画面を背景色とかでフラッシュしてない?
通信が思ったより早く終わったとかそんなんじゃないのかね。
一瞬だけ表示されるのが嫌なら、最低何秒は表示させるって処理を
追加してはどうだろう。
007874
2007/08/30(木) 12:58:15すいません、説明不足でした。
getKeyState()等は以下のメソッドを記述していました。
int keyParam = -1;
public void processEvent(int type, int param) {
if (type == Display.KEY_PRESSED_EVENT) {
keyParam = param;
}
}
//キー状態の取得
int getKeyState() {
int ret = keyParam;
keyParam = -1;
return ret;
}
//キー状態のクリア
void clearKeyState() {
keyParam = -1;
}
申し訳ありませんが、あらためてアドバイスよろしくお願いします。
0079デフォルトの名無しさん
2007/08/30(木) 13:13:10通信処理は別スレッドで行ってる?
008074
2007/08/30(木) 13:51:36皆様からの貴重な意見ありがとうございます。
あきらかに情報不足のようですので、長々となってしまいますが
具体的にコードを乗せさせていただきます。
Graphics g;
//コンストラクタで G=getGraphics()を使用
void send() {
clearKeyState();
for (;;) {
repaint();
Thread.sleep(50);
int key = getKeyState();
if (key == Display.KEY_SOFT2) {
drawBox("認証中", 30, 100, 120, 60); //通信中
//通信処理メソッド
drawBox("結果", 20, 90, 140, 80); //通信結果
ctl;
}
}
}
//ボックス表示
void drawBox(String str, int x, int y, int col, int row) {
g.setColor(ピンク);
g.fillRect(x, y, col, row);
g.setColor(白);
g.drawString(str, ボックス中央);
g.setColor(黒);
}
008174
2007/08/30(木) 13:54:40//セレクトキーを押したら終了
void ctl() {
for (;;) {
int key = getKeyState();
if (key == Display.SELECT) {
return;
}
}
}
//ペイント
public void paint(Graphics g) {
//起動直後にpaintが呼ばれても大丈夫にする
if (state == 0) {
return;
}
this.g = g;
g.lock();
drawhaikei();
g.unlock(true);
}
//画面描画
void drawhaikei(){
//画面初期化
g.setColor(黒);
g.fillRect(画面全体);
//以降描画処理
}
だいぶ長々と書いてしまい申し訳ありませんが、よろしくお願いします。
0082デフォルトの名無しさん
2007/08/30(木) 14:19:55以上。
0083デフォルトの名無しさん
2007/08/30(木) 14:24:28なんだこれは
0084デフォルトの名無しさん
2007/08/30(木) 14:26:190085デフォルトの名無しさん
2007/08/30(木) 14:28:21それはdrawhaikei()で使うためじゃないかな
引数で渡せばいいと思うけど
0086デフォルトの名無しさん
2007/08/30(木) 14:35:110087デフォルトの名無しさん
2007/08/30(木) 14:38:200088デフォルトの名無しさん
2007/08/30(木) 14:47:37再描画しないで通信処理開始してるからじゃないの?
2割くらいの確率で描画されることもあるってのは
システム側が通信開始までの微妙なタイミングで(repaint要求なしでも)たまたま描画しただけで。
一瞬描画されても消えるってのは
paint()が実行されたときdrawhaikei(){}内のg.fillRect(画面全体);のとこで消しちゃってるからだろ。
プログラムの構造が変だよ。
drawBox()はdrawhaikei(){}内から呼び出すようにした方が
描画タイミングに一貫性があっていいと思う。
0089デフォルトの名無しさん
2007/08/30(木) 14:55:06repaint(); ←ここで通信前の画面が描画される
2.通信中、通信直後
drawString("認証中", 50, 110); ←repaintが呼ばれてないので画面には反映されない。
//通信処理
//通信結果表示
ctl(); ←ここまで、通信前の画面が表示されている。
3.通信完了後
repaint(); ←ここで「認証中」が描画される
Thread.sleep(50);
・・・
4.次のフレーム
repaint(); ←「認証中」が消される
どの辺がダブルバッファなのかという質問は無し?
0090デフォルトの名無しさん
2007/08/30(木) 14:56:320091デフォルトの名無しさん
2007/08/30(木) 14:58:28009274
2007/08/30(木) 15:04:07皆様からのありがたいお言葉ありがとうございます。
というか毎回情報不足&ダラダラと長文で分かりづらくて申し訳ありません。
明らかに自分の知識および経験が不足しているので、皆様の意見を参考にして
暫くは自力で頑張ってみます。
本当にありがとうございました。
0093デフォルトの名無しさん
2007/08/30(木) 21:04:04googleで探してもぜんぜん見つからないです
0094デフォルトの名無しさん
2007/08/30(木) 22:59:080095デフォルトの名無しさん
2007/08/31(金) 13:10:42とりあえず、んぱか逝っとくといいよ
ttp://www.saturn.dti.ne.jp/~npaka/mascotcapsule/index.html
0096デフォルトの名無しさん
2007/08/31(金) 15:13:57SecurityViolation: 37 <clinit> 0
と言われてしまいました。 エミュでもトラステッドじゃないとやっぱだめ?
0097デフォルトの名無しさん
2007/09/01(土) 10:46:46jamファイルにOpenGL使う設定を書くのを忘れてるか
どっちかじゃない?
0098デフォルトの名無しさん
2007/09/01(土) 16:52:4620 goto 10
画面中を「ばか」でいっぱいにするプログラムを組んだのですが
だめみたいです
どうすれば?
0099デフォルトの名無しさん
2007/09/01(土) 17:35:460100デフォルトの名無しさん
2007/09/01(土) 20:25:030101デフォルトの名無しさん
2007/09/01(土) 20:47:340102デフォルトの名無しさん
2007/09/01(土) 21:27:260103デフォルトの名無しさん
2007/09/02(日) 00:20:47よくif(a=1)と書いてしまう
0104デフォルトの名無しさん
2007/09/02(日) 08:23:21if(1==a)と書くようにすると間違って
if(1=a)としても文法エラーになるからおk、と書いてある本を見た希ガス
でも著者も変態チックな記述法なので自分もやんないって書いてたな
0105デフォルトの名無しさん
2007/09/02(日) 08:34:420106デフォルトの名無しさん
2007/09/02(日) 09:53:04Javaはそんな変なことをしなくてもif(a=1)の時点でエラーを返すはず
0107デフォルトの名無しさん
2007/09/02(日) 12:12:52そうそう、ちゃんとエラーになるから大丈夫。
でもVBみたいに文法エラーがあると先に進ませてくれない言語はキツイ…
「後でまとめて直そうと思っとるんじゃぁ!」って画面にツッコミ入れそうになるもの。
ちなみに俺の場合はVBから入ってC++やってJAVAに入ったんだが、もうVB忘れたw
そしてVBに戻って勉強しなおすとJAVAを忘れる事だろう…
0108デフォルトの名無しさん
2007/09/02(日) 12:14:42UIDってなんですか??
0109デフォルトの名無しさん
2007/09/02(日) 15:34:41使う側はスレ違い。
0110デフォルトの名無しさん
2007/09/03(月) 10:14:47jamのアドレスって携帯から調べることできるんですか?
0111デフォルトの名無しさん
2007/09/03(月) 10:58:51出来る。
0112デフォルトの名無しさん
2007/09/03(月) 11:48:35どうやって調べるんですか?
アプリの詳細情報だとファイル名しか出てなくて・・・。
0113デフォルトの名無しさん
2007/09/03(月) 16:16:48機種依存になるが過去の古い機種によっては
jamファイルのアドレスを表示する機種があった。
(503・504時代)
最近の機種はわからない・・自分の機種ではできんな。
0114デフォルトの名無しさん
2007/09/03(月) 21:27:160115デフォルトの名無しさん
2007/09/03(月) 21:46:12offなら見れない
N503, 504は例外
0116112
2007/09/03(月) 22:49:33N902iでは見れないみたいです。(AppTrace=off)
903は白ロム買って確かめてみます。
0117デフォルトの名無しさん
2007/09/04(火) 02:17:56DirectoryIndex対策か?
0118デフォルトの名無しさん
2007/09/04(火) 12:19:47遅レスすまん。
一応、iαppliTool for Doja-5.0 の『設定→トラステッド動作設定』 で、『OpenGl/ES機能の使用許可』をYesにしているけどだめです。
ADF設定のTrustedAPIDを入力しないとエミュでもだめなんですかね?勝手なんで、そんなものもらってないし。
0119デフォルトの名無しさん
2007/09/04(火) 12:37:12適当なの突っ込んどけばOKだった気がする。
0121デフォルトの名無しさん
2007/09/04(火) 14:42:38CGIが使えるようならPerlとかPHPでリモートホスト見て
jamを吐き出すスクリプト書けばいいんじゃない?
有料のアプリなんかは課金チェックや機種判別も含めて
そういう手法取ってるから
0122デフォルトの名無しさん
2007/09/04(火) 14:55:35マジで!?
ちょっと試して見るわ
0123デフォルトの名無しさん
2007/09/04(火) 15:04:13某ネットワークRPGアプリがAppTrace=onで出したから、シナリオが丸見えになった。
0124デフォルトの名無しさん
2007/09/05(水) 11:28:05あ、うごいたっぽい。
ありがとう。
0125デフォルトの名無しさん
2007/09/09(日) 04:16:08軽くてお勧めなのある?
0126デフォルトの名無しさん
2007/09/09(日) 22:31:26アプリで画像表示中に音楽(3GP)ファイルを再生したいんですが、
AudioTrackPresenterで間違いないですよね?
エミュレータだと代替音楽のような曲が鳴るんですが、
実機だと何も鳴らない…
もちろんマナーモードではないです。
0127デフォルトの名無しさん
2007/09/10(月) 01:01:54SH、D、Fのみ対応
非対応機種はUnsupportedOperationException
0128デフォルトの名無しさん
2007/09/10(月) 02:37:48ttp://www.horobi.com/xml/mobile/report.html
を参考にして
ttp://kxml.sourceforge.net/kxml2/
これを使ってる。
0129デフォルトの名無しさん
2007/09/10(月) 14:06:42BSDライセンスの場合は、サイト内のダウンロードページにライセンス条項を載せるだけでいい?
0130デフォルトの名無しさん
2007/09/10(月) 22:43:57もっと具体的に
0131デフォルトの名無しさん
2007/09/10(月) 23:24:01ありがとうございます!
Nで試してました…
VisualPresenterを使うとすると、
ネイティブのプレイヤーが起動するから、
画像のバックで音楽再生はできないんでしょうか?
0132デフォルトの名無しさん
2007/09/11(火) 01:35:42当方ゲームを作っているのですが、サウンドのループでつまずいています。
canvasのクラスにMediaListenerをimplementsしているんですが
曲の再生が終わっても(その他再生を開始たりしても)mediaActionに処理が
飛んでこないんです…。
ソースの概要はこんな感じです。
class game1 extends Canvas implements MediaListener{
各種処理
game1(){
各種処理
オーディオプレゼンター.setMediaListener(this);
}
public void mediaAction(MediaPresenter source,int type,int param){
System.out.println("処理が来た!");
}
}
よろしくお願い致します。
0133デフォルトの名無しさん
2007/09/11(火) 01:55:483gp形式などは不可。
機種別のMFi形式を使うしかない。
>>132
参考例
ttp://iappli.kajas.com/sec0205/
0134デフォルトの名無しさん
2007/09/11(火) 06:14:37audio.setAttribute( AudioPresenter.SYNC_MODE, AudioPresenter.ATTR_SYNC_ON );
audio.setMediaListener( this );
audioは取得したAudioPresenter。
SYNC_MODEを設定しないと同期イベントは発生しないかと。
0135デフォルトの名無しさん
2007/09/11(火) 09:59:17SYNC_MODEはあくまで同期であって、それを設定しないからといって
mediaActionに処理が来ないわけではない。
>>132はmediaActionに処理が来ないと言っている。
0136デフォルトの名無しさん
2007/09/11(火) 10:07:400137デフォルトの名無しさん
2007/09/11(火) 12:52:40曲が終わってから5分くらいしないとそこに行かないデータが前にあった
0138125
2007/09/11(火) 14:19:40返事遅くて済まん
そのページは知ってたんだが,
2002年の報告だから今はどうなってるのかなぁと思って聞いてみた,
ともかくサンクス
0139デフォルトの名無しさん
2007/09/11(火) 22:57:50ゲームの中で効果音(1秒くらい)として3gpを再生したいのですがなぜか
ap.play();をしてからどうしても1〜2秒のラグが出てしまいます。
携帯はSH903iなんですが、携帯に問題があるのか、ファイルなのか
仕様なのか何なんでしょうか?
にしてもiアプリの音楽再生に関する詳しいページって少ないですね・・・。
0140デフォルトの名無しさん
2007/09/12(水) 01:29:15そうすると()内に入れた秒数から音楽がスタートするから
タイムラグを解消できるのねんのねん。
機種依存命令だけど903シリーズなら大丈夫じゃまいか。
0141デフォルトの名無しさん
2007/09/12(水) 01:40:39メディアアクションはpublic voidじゃ機能しないよん〜〜〜
だってpublic voidは呼び出して機能させるしかないからねんのねん
public classを作ってメディアアクションさせなきゃだめよ。
つまり別のclassを作るってことよ。わかったかしらあん〜〜〜はあと
0142デフォルトの名無しさん
2007/09/12(水) 03:15:57言ってる意味がよくわからんが、俺も>>136が怪しいと思う。
あるいは別のAudioPresenterをnewしていて、そっちでplay()してるとか?
0143デフォルトの名無しさん
2007/09/12(水) 06:18:58以下のように、イメージを右に移動させる処理を組んでいますが、
イメージの移動した跡に残像が残り続けてしまいます。
while(true){
g.lock();
g.drawImage(image, x, y);
g.unlock(true);
x++;
//スリープ処理
}
ループ中に、g.clearRect(0, 0, getWidth(), getHeight());を追加すると解決したのですが、
参考とさせて頂いたこちら(ttp://www.doja-developer.net/_up/features/UE051011/index.php?id=71)の
サンプルソースでは、このような処理は行われていないようです。
サンプルソースでは、特に明示的に画面のリフレッシュを行っていないようなのですが、
同じように組んでも残像が発生してしまう理由を教えてもらえないでしょうか?
よろしくお願いします。
0144デフォルトの名無しさん
2007/09/12(水) 06:24:08MediaListener実装クラスがpublicじゃないと駄目ってことか?
0145デフォルトの名無しさん
2007/09/12(水) 06:28:37描画前に画面をクリアないと前の画面にそのまま上書きするからそうなる
サンプルでは68行目のfillrectで画面をクリアしてる
fillrectはsetColorで指定した色で塗りつぶす
clearRectはデフォルトの背景色で塗りつぶす
0146デフォルトの名無しさん
2007/09/12(水) 07:25:27即レスサンクス!
clearRectの先入観があってfillRectが目に入らなかった様です
要するに、実際のゲームアプリ等で応用する場合には
先に背景を再描画してしまって一度画面をクリアすれば良いわけですね
0147デフォルトの名無しさん
2007/09/12(水) 07:49:09全画面背景描くならクリアする必要ない
っていうか背景描いた後に画面クリアしたら背景消えちゃうぞ
0148デフォルトの名無しさん
2007/09/12(水) 09:26:27>146の頭の中では 背景を再描画する=画面をクリアする って意味なんだろう
まぁ>146の言い方が悪いんだけど初心者だしな
0149139
2007/09/12(水) 19:13:58今ちょっと試したんですが、やっぱり開始は遅く音が途中から再生されただけでした。
そもそもこの音はwavで作ってSoundEngineで無音部分を完全に切り取り、
3GP Converterで変換してるので一応ファイルの中にラグは無いはずなんです。
ただ3GP Converterで最初やったときなぜかデータが途中までになってしまい、
しょうがなくwavのケツにちょっとだけ無音を足して、途中で切れても音は聞こえるようにした。
という経緯があるので、ここが怪しいかな・・・?とは思ってるんです。
誰か同じようなことあった人居ますか?
0150デフォルトの名無しさん
2007/09/13(木) 04:35:44>>128で紹介されているライブラリの
kxml2-min-2.3.0.jar
をDLし既存のDoJaアプリに追加してみたんですが,
追加下だけのときは問題ないのに,
実際参照すると,start()を内包するクラスが見つからないと
実行時エラーが起こり,
携帯のエミュレータが一瞬だけ出現してきえてしまいます.
外部Jarの追加はプロジェクト右クリックの「ビルド・パスの構成」から
外部Jar追加ボタンで参照したのですが.
間違ってたり抜けがありますでしょうか.
どなたかお願いします.
0151デフォルトの名無しさん
2007/09/13(木) 10:08:390152デフォルトの名無しさん
2007/09/13(木) 15:50:53DoJaが外部Jarに対応してない気がする
0153デフォルトの名無しさん
2007/09/13(木) 15:53:410154デフォルトの名無しさん
2007/09/13(木) 17:43:37それは携帯での動作?
エミュだとPCによると思うけど処理速度ムチャクチ遅いときあるわよ
音楽に限らず画像の処理速度も携帯とPCじゃ大違いだわ
0156デフォルトの名無しさん
2007/09/14(金) 01:21:150157デフォルトの名無しさん
2007/09/14(金) 17:31:51ドコモとしては、効果音はmldを使え、勝手アプリ作者はシラネだろう。
0158155
2007/09/14(金) 19:21:57ADPCMだと3gpより容量食うくせに音質死ぬほど悪いんすよね。
Doja5携帯ってADPCM何Hzまで使えるんですか?
0159デフォルトの名無しさん
2007/09/14(金) 22:06:100160デフォルトの名無しさん
2007/09/15(土) 03:24:00ADPCMはたしか音源チップに依存していて、DoJa5.0でここまでという決まりはないはず。
でも勝手アプリなら、wav2mldやYamahaのツールの制限を考えて、モノラル、16bit、16kHzくらいじゃね。
0161155
2007/09/15(土) 13:30:59とあるスーファミソフトを移植中でして・・・忠実に再現したいんですよ・・・。
>>160
回答ありがとうございます。
そうですか・・・いっそwav2mldを自前で とも思ったんですが、ツールでやってみます。
お世話になりましたm(_ _)m
0162デフォルトの名無しさん
2007/09/15(土) 19:13:500163デフォルトの名無しさん
2007/09/15(土) 20:18:540164デフォルトの名無しさん
2007/09/15(土) 22:22:000165その1
2007/09/18(火) 12:11:17かといってエラーが出たりはしていません。クリアは指定された色でクリアするんですが。
なんかやんなきゃいけないことあります?
初期化メソッド内
float[] meshArray = new float[ 5*3 ];
meshArray[0*3+0] = 0; meshArray[0*3+1] = 40.0f; meshArray[0*3+2] = 0;
meshArray[1*3+0] = -40.0f; meshArray[1*3+1] = -40.0f; meshArray[1*3+2] = 0;
meshArray[2*3+0] = 40.0f; meshArray[2*3+1] = -40.0f; meshArray[2*3+2] = 0;
.. VertexBuffer = DirectBufferFactory.getFactory().allocateFloatBuffer( 5*3 );
VertexBuffer.put( 0, meshArray, 0, 5*3 );
...
0166その2
2007/09/18(火) 12:12:02GraphicsOGL gl = (GraphicsOGL)g;
gl.beginDrawing();
gl.glViewport( 0, 0, 240, 240 );
gl.glDisable( GraphicsOGL.GL_CULL_FACE );
gl.glDisable( GraphicsOGL.GL_DEPTH_TEST );
gl.glDisable( GraphicsOGL.GL_LIGHTING );
... gl.glClearColor( 0.0f, 0.0f, 0.0f, 0.0f );
gl.glClear( GraphicsOGL.GL_COLOR_BUFFER_BIT );
gl.glEnableClientState( GraphicsOGL.GL_VERTEX_ARRAY );
gl.glDisableClientState( GraphicsOGL.GL_NORMAL_ARRAY );
gl.glEnableClientState( GraphicsOGL.GL_COLOR_ARRAY );
gl.glDisableClientState( GraphicsOGL.GL_TEXTURE_COORD_ARRAY );
gl.glVertexPointer( 3, GraphicsOGL.GL_FLOAT, 3*4, VertexBuffer );
gl.glColorPointer( 4, GraphicsOGL.GL_FLOAT, 0, ColorBuffer );
gl.glMatrixMode( GraphicsOGL.GL_PROJECTION );
gl.glLoadIdentity();
gl.glMatrixMode( GraphicsOGL.GL_MODELVIEW );
gl.glLoadIdentity();
gl.glTranslatef( 100, 100, 10 );
gl.glDrawArrays( GraphicsOGL.GL_TRIANGLES, 0, 1 );
gl.glDrawElements( GraphicsOGL.GL_LINES, 2, GraphicsOGL.GL_UNSIGNED_SHORT, IndexBuffer );
gl.endDrawing();
}
0167165
2007/09/18(火) 20:12:440168デフォルトの名無しさん
2007/09/18(火) 20:36:400169デフォルトの名無しさん
2007/09/18(火) 20:39:080170デフォルトの名無しさん
2007/09/19(水) 01:28:28よく読んでないけど何がどう解決したのか知りたい。
0171デフォルトの名無しさん
2007/09/19(水) 01:44:56>gl.glMatrixMode( GraphicsOGL.GL_PROJECTION );
>gl.glLoadIdentity();
0172165
2007/09/19(水) 12:37:32・指摘されている通り、射影変換マトリクスが単位行列なら、Viewport変換のためにメッシュデータは[-1,...,1]に正規化されてなければなりません。
・DrawArray() と、DrawElements() の int count パラメータが、プリミティブ数でなく頂点数でした。
ついでにもう一つハマッタのが、glBindTexture, glTexImage2D やっただけではテクスチャーが貼られず、glTexEnvfやTexParameterfでテクスチャーステートを設定しないとだめ。
0173デフォルトの名無しさん
2007/09/22(土) 16:53:30機種依存ないつもりが、結構起動できない機種があるようなんです。
誰かご存じないですか。
ちなみにこんなアプリです。 ttp://wave.no-blog.jp/iapp.html
0174デフォルトの名無しさん
2007/09/22(土) 18:06:060175デフォルトの名無しさん
2007/09/22(土) 18:49:49灯台もと暗しですね。問題はGraphics2ではないみたいですね。
しかし、他に機種依存な部分は見あたらないんですが・・・。
もう少しソースを見直してみます。
0176デフォルトの名無しさん
2007/09/22(土) 19:20:081.0機種を対象OKにしてるとかそんなことないの?
つまりfloatとかdoubleとかMath使ってないか、ということだけど
0177デフォルトの名無しさん
2007/09/22(土) 20:33:570178デフォルトの名無しさん
2007/09/22(土) 20:37:360179デフォルトの名無しさん
2007/09/22(土) 21:46:350180デフォルトの名無しさん
2007/09/22(土) 21:54:00// http://www.mozilla-japan.org/
// シンプル プログミング ツール
// http://proforceone.web.fc2.com/
// 素因数分解サンプルプログラム
// Calculation processing にコピーして[RUN]
MAX=1000;br();
for(x=2;MAX>=x;x++){write(" "+x+" ⇒");
for(i=2;x>=i;i++){if(0==x%i){k=0;
for(j=2;(i>=j)&&(1>=k);j++){
if(0==i%j){k++;}
} if(1==k){write(" "+i);}
}} br();
} br();
0181デフォルトの名無しさん
2007/09/22(土) 23:00:350182デフォルトの名無しさん
2007/09/23(日) 02:31:41勘なんだけど、Javaヒープとネイティブデータヒープにメモリーが分かれてる機種って
リソース不足になりやすくてエラーが出るんじゃないかな?
なぜメモリーに余裕があるはずなのにメモリー不足になるのかは意味不明
考えられる対策は a[50000] まで使う配列なら余裕もって int a[]=new int[60000] と宣言してみるとか
ガーベッジコレクションを使う手とかあるけどこちらは重くなるから実用的じゃない
でもこれらで解決するかは不明
そもそも端末の仕様のバグなのにいつまでも修正しないメーカーが悪い
0183デフォルトの名無しさん
2007/09/23(日) 10:19:09公式には900の一部の機種までしか情報が開示されてないんだよね
0184デフォルトの名無しさん
2007/09/23(日) 11:12:38起動エラーとアプリ(aマーク)エラーは別なんじゃない?
プロファイル定義ミスで、ダウンロード対象から外れて怒られるとか
そういう類のエラーを想像してた
まあ173はもうちょっと自分で具体的に何のエラーかぐらいは突き止めんと無理だわな
0185デフォルトの名無しさん
2007/09/23(日) 11:13:57× >>178
○ >>182
0186デフォルトの名無しさん
2007/09/23(日) 13:06:15起動できないってあるからな
だとするとスクラッチパッドにlengthつけてないとかか?
いずれにしてもヒープフラグメントとかいうメモリの問題だけど
0187デフォルトの名無しさん
2007/09/23(日) 14:22:35この場合、�@対応していない命令が含まれていた。
もしくは�Aヒープメモリ関係。
が原因と言っていいんでしょうか。
0188デフォルトの名無しさん
2007/09/23(日) 14:37:490189デフォルトの名無しさん
2007/09/23(日) 15:18:390190デフォルトの名無しさん
2007/09/23(日) 15:33:19catchもできないんです。
0191デフォルトの名無しさん
2007/09/23(日) 15:40:03(SO903i,F904iでは起動時にエラー)
このアプリです。→ ttp://wave.no-blog.jp/FallS.html
0192デフォルトの名無しさん
2007/09/23(日) 18:02:21そりゃ当然catch入りバージョンをエラーの出る機種で動かさなきゃ意味ないでしょ
0193デフォルトの名無しさん
2007/09/23(日) 19:00:34それ次第って気がするが
0194デフォルトの名無しさん
2007/09/23(日) 20:44:09なんじゃねーかと告げてるw
0195デフォルトの名無しさん
2007/09/23(日) 20:51:410196デフォルトの名無しさん
2007/09/23(日) 23:00:29ソースの最初の部分はこんな作りですが、
どこか まずい所があるのでしょうか。
import com.nttdocomo.ui.*;
import com.nttdocomo.io.*;
import java.util.Random;
import javax.microedition.io.*;
import java.io.*;
public final class FallS extends MApplication{
public void start(){
Can ca=new Can();
ca.setSoftLabel(ca.SOFT_KEY_2,"help");
Display.setCurrent(ca);
Thread thread=new Thread(ca);
thread.start();
}
final class Can extends Canvas implements Runnable{
private int 〜;
private int[]x=new int[20];
〜//同様な配列宣言
private Random rnd;
public Can(){
rnd=new Random();
〜//変数初期値代入
load();
if(mem!=1){mem=1;psave=1;bg=1;balln=10;zn=0;}
}
〜〜〜
}}
0197デフォルトの名無しさん
2007/09/24(月) 02:17:01ここで大きい配列用意してるとか
トータルで大きい容量になっちゃってるとか
0198デフォルトの名無しさん
2007/09/24(月) 03:00:45「起動時にエラー」じゃ曖昧すぎる。
D902iだとFallSは普通に動くが、WaterPが「毎回、起動して5秒後」に落ちる。
0199デフォルトの名無しさん
2007/09/24(月) 18:32:51環境Eclipse3.2.0,Doja5.0
Inputは通常通りに開けるけれども,
try {
OutputStream out = Connector.openOutputStream("scratchpad:///0");
DataOutputStream dos = new DataOutputStream(out);
out.close();
}catch (IOException e) {
}
この処理で
java.lang.NullPointerException
at ClassName.closeIApplication(+6)
ClassName
ってなるんだが・・
SPsizeの設定とSPファイルの書き込みも許可墨
0200デフォルトの名無しさん
2007/09/24(月) 18:54:32196もだけど、ちゃんと原因の切り分けをしないとだめ。
ClassName.closeIApplicationのメソッドの中身を確認する。
あと、例のソースでは、outはcloseされるけど、dosがcloseされていないから、リークするかもしれない。
0201デフォルトの名無しさん
2007/09/24(月) 19:13:24自分なりに切り分けたつもりで検証した結果
OutputStream out = Connector.openOutputStream("scratchpad:///0");
の時点でぬるぽらしく,そのままcatchされている模様
ClassName.closeIApplicationの中身はすっからかんで
public void closeIApplication(){
saveIApplicationData();
IApplication.terminate();
}
という具合です
0202199,201
2007/09/24(月) 19:16:050203デフォルトの名無しさん
2007/09/24(月) 20:03:26スクラッチパッドのcloseし忘れがないか確認するとか。
0204デフォルトの名無しさん
2007/09/24(月) 20:56:440205デフォルトの名無しさん
2007/09/24(月) 22:09:52プログラマは種まいて見てるだけー
0206デフォルトの名無しさん
2007/09/24(月) 22:49:18メモリ周りしかないですかね。
自機でエラーが再現できない以上、とりあえず
白ロム買ってみようかと思います。
0207ラ�gたくまチャン
2007/09/24(月) 23:01:070208デフォルトの名無しさん
2007/09/24(月) 23:47:03はっきりいって規格を統一しないメーカーが悪いんだし
売り上げに響くからか ろくに機種依存情報も出さないし(901以降は全然出してない)
ハードに問題あるならどうしようもないよ
0209198
2007/09/25(火) 03:01:59900シリーズとかならともかく、最近の機種でメモリ不足って考えにくくないかな。
例外をcatchするバージョンを実機で試すくらいは手伝うよ。
そもそもD902iでWaterPが落ちるのと、FallSの問題は無関係かもしれないが。
0210デフォルトの名無しさん
2007/09/25(火) 04:55:05Canのコンストラクタにあるload()って何やってるの?
このタイミングでスクラッチパッドにアクセスしちゃダメだよ。
コンストラクタでは通信やリソースへのアクセスとかの複雑な処理をしちゃダメ。
機種依存で上手くいくこともあるけど基本的にはやらない。
コンストラクタはエラー返さないし例外が発生してもcatchしようがないから
これが原因ならシステム側でエラー処理されるよ。
0211デフォルトの名無しさん
2007/09/25(火) 10:47:51いやコンストラクタの中でだってcatchは出来るだろ
まぁ処理にしくじったら即terminate()呼ぶなり変数で場合わけして内部を状況表示に切り替えるなり色々やりようはある
俺としてはスレッド使ってるからちゃんとsynchronizedするのを忘れてて各種変数が壊れてるってのを予測してるけど
特に特定の割合や特定個所で出るけど例外補足に失敗するってパターンはそれが多いよ
自分ではスレッドを使って無くてもCanvas.processEvent()とかをsynchronizedで括り忘れると
実機ではもうどんなバグが出てもおかしくないし
まぁprocessEvent()系を全く使ってなかったら判らんけど
0212199
2007/09/25(火) 15:00:16�dクス!
read側で201同様DataInputStreamをcloseしてなかったのが原因でした
言い訳するとDoja3.xの頃に作った頃はこれで動いてたんです・・
0213デフォルトの名無しさん
2007/09/25(火) 23:32:00ありがとうございます。デバッグver.はほんの少し時間を取れたら作ります。
ところで、落ちたのは何か表示がされた後なのでしょうか?
>>210
load()はsaveした変数値を読み込んでいるだけです。(それほどボリュームはないかと。)
>>211
うむむ、key処理でprocessEvent()は使ってますが、synchronizedは全く使ってないですね。
0214デフォルトの名無しさん
2007/09/26(水) 00:40:39>saveした変数値を読み込んでいるだけです。
てことはスクラッチパッドにアクセスしてるんだよね?
>210はそれだとダメじゃないかと指摘している。
処理のステップ数や読み込む量は関係ない。
今回の問題の原因ではないかもしれないが、いかなるコンストラクタでも
デバイス機能の操作(スクラッチパッド、通信、音声、カメラ、描画更新など)は
しないのが常識だと自分では思ってたんだけど…どうなのかな。
0215デフォルトの名無しさん
2007/09/26(水) 02:22:42processEvent()をsynchronizedで括っておくのは基本
processEvent()がイベントごとに別個のスレッドで呼ばれるか同一のスレッドでキュー処理して呼ばれるかは実は機種依存
jguidefordoja5_x_070423.pdfの86ページ
イベントごとに別個のスレッドで呼ばれる機種の場合processEvent()処理中に再突入されることを考慮に入れなければならないし
またCanvasをThreadで処理してる場合processEvent()のスレッドと並走することになるのでprocessEvent()から呼んでるメンバは全て
synchronizedである必要がある(まぁこちらは当然処理してるとは思うが)
>>214
コンストラクタでやるのが悪いんじゃなく初期起動メソッド(start()やstartApp())の記憶違いじゃね?
コンストラクタそのものは何をやろうと関係ないよ
それも短くしなきゃいけないって決まってるのはMIDPの仕様(ディスパッチャ停止を避けるため)だったと思った
DoJaには関係なかったはず
0216デフォルトの名無しさん
2007/09/26(水) 04:28:56Javaの基本って事?それとも携帯アプリでの基本って事?
0217デフォルトの名無しさん
2007/09/26(水) 10:21:20ちょっと気になったんだけど、processEventがsynchronizedになっている場合
processEventから呼んでいるメンバは自動的にsynchronizedがかかっているのと
同じ挙動にならないの?
0218デフォルトの名無しさん
2007/09/26(水) 15:44:51ならない。
なぜなら、synchronized修飾子でロックされるのは指定したオブジェクト
(指定しない場合はthis)であって、メソッド本体ではないから
0219デフォルトの名無しさん
2007/09/26(水) 16:27:13いざ起動しようとすると、何も反応がありません。
エラーが出るわけでもなく、一瞬砂時計が出て、それっきりです。
誰か解決法のわかる方はいますか?
ちなみに、Doja3.5、Doja4.0は起動します。
java -version
java version "1.4.2"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.2-b28)
Java HotSpot(TM) Client VM (build 1.4.2-b28, mixed mode)
WinXP HomeEdition
0220デフォルトの名無しさん
2007/09/26(水) 17:06:03ストレージに保存したデータがどこに在るか知らない?
>>219
Doja3.5,4.0はアンインストール済み?
0221デフォルトの名無しさん
2007/09/26(水) 17:31:47アンインストール済みです
0222デフォルトの名無しさん
2007/09/26(水) 18:04:39一端アンインストールして、別ユーザーでログインしてそっちでインストールしてもだめ?
0223デフォルトの名無しさん
2007/09/26(水) 18:07:30公式資料によると、C:/iDKDoja5.0/lib/storagedevice/xxx
0225デフォルトの名無しさん
2007/09/26(水) 18:58:250226デフォルトの名無しさん
2007/09/26(水) 18:59:40別ユーザでやってみましたが、やはりダメですね。
0227デフォルトの名無しさん
2007/09/26(水) 19:09:53DoJa5.0のマイナーバージョンは?Eclipseの場合だけど、特定のバージョンだけ起動できなかったことがある。
0228デフォルトの名無しさん
2007/09/26(水) 19:16:54java -version
java version "1.4.2"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.2-b28)
Java HotSpot(TM) Client VM (build 1.4.2-b28, mixed mode)
これではないのですか?
あとDoJa5.0のマイナーバージョンは3.00です。
Eclipseは使ってません。
0229213
2007/09/26(水) 19:23:44processEventにsynchronizedを付けて、
トレースモードにしたアプリをアップしました。↓
ttp://wave.no-blog.jp/test/test.html
エラー情報頂けるとありがたいです。
(FallSでエラー出る方もいらっしゃれば・・・)
0230デフォルトの名無しさん
2007/09/26(水) 20:59:02D902iで、WaterP v4、WaterP2ともにαエラー発生。
ALERT: java.lang.OutOfMemoryError
FallS v1は問題なく動きますな。
0231229
2007/09/26(水) 23:31:03予想通りのエラーですね。
ということで、対策デバッグ版アップしました。(同ページにて)
・System.gc()を初期化後に実行する:WaterP3
・定期的に実行する:WaterP4
0232デフォルトの名無しさん
2007/09/27(木) 01:20:56processEventにはsynchronizedをつける必要ない設計するのがセオリーなんじゃないの?
と公式アプリつくってる者の意見でした。
0233デフォルトの名無しさん
2007/09/27(木) 02:32:440234デフォルトの名無しさん
2007/09/27(木) 03:13:02何か話が噛み合ってない気が…
以下2メソッドは同意。
public synchronized void processEvent(){
//...
}
public void processEvent() {
synchronized(this) {
//...
}
}
synchronizedを指定したオブジェクトに対して、別スレッドから参照が行われた場合、
synchronized対象のロックが切れるまで、別スレッドは待ち状態になる。
2つのスレッドからprocessEventが呼び出されたとして、
先に呼び出されたほうがthisをロックする。
後から呼ばれたほうはthisのロックが解除されるまで待ち。
thisのロックが解除されるのはsynchronizedスコープの後なので、
その間呼び出されるメソッドもロック中と同等の動作になる。
>processEvent()から呼んでるメンバは全てsynchronizedである必要がある
これはちとオーバーじゃないかね(´・ω・`)
0235デフォルトの名無しさん
2007/09/27(木) 18:05:22iアプリを作って配付する場合
microSDに入れて配付とかした場合、アプリを起動できないですよね?
ネット上から落としてもらうしかダメなんですかね?
0236デフォルトの名無しさん
2007/09/27(木) 18:16:550237デフォルトの名無しさん
2007/09/27(木) 18:29:16まあネット上に置いてあったからってだれかれ構わず見つけて落とされることはないと思うけど
できれば配付した人を特定しておきたいからminiSDなりmicroSDなりで配付したいんだけどなあ
0238デフォルトの名無しさん
2007/09/27(木) 18:31:25それくらいのCGIは書けるでしょ
0239デフォルトの名無しさん
2007/09/27(木) 19:08:26WaterP3は5秒でOutOfMemoryだが、WaterP4は落ちなくなってた。
ただ、2〜5秒ほど動いては1秒以上停止(おそらくGC)するので、
アニメーションがウリのアプリとしては致命的だろうな。
0240デフォルトの名無しさん
2007/09/27(木) 19:24:330241デフォルトの名無しさん
2007/09/27(木) 19:50:56doja.exeをダブルクリック等で直接起動させたときに動かないのか?
それとも、バッチファイルやコマンドプロンプトから -i や -j などの
オプションをつけて起動したときに動かないのか?
0242デフォルトの名無しさん
2007/09/27(木) 20:59:42先に配布予定者の端末IDを聞いておいて、それに適合する場合のにDL可能ってどうよ?
0243デフォルトの名無しさん
2007/09/27(木) 21:48:110244デフォルトの名無しさん
2007/09/27(木) 22:33:41やるならシリアルナンバーでも配るしかないな。
0245デフォルトの名無しさん
2007/09/27(木) 22:37:13SDにキーデータファイルを入れて、
それがなければ初回起動できないようにするとか。
0246デフォルトの名無しさん
2007/09/27(木) 23:08:37何も知らなければ全部コピーすると思わないのかい。
0247デフォルトの名無しさん
2007/09/27(木) 23:45:20そこまで自由度のあるSDへのアクセスそのものをiアプリからはできないわけだが
まぁ実用的に落とした人を断定しておきたかったら落とす場所を
携帯でアクセスしか出来ないようにした上にBASIC認証にでもして
落とせる人、一人一人にIDとパスを割り振った上でアクセスログを取って
明らかに不特定多数からそのIDとパスが使われてたらそのIDとパスを停止する形にするとかかな
むしろSDに入れて配布なんて方法の方が中身の全ファイルをzipで固めてどこかにアップされれば
完璧アウトな上に流通を止める手段がないよ
0248デフォルトの名無しさん
2007/09/27(木) 23:52:100249デフォルトの名無しさん
2007/09/28(金) 00:49:01iアプリでソケット通信をする事は可能ですか?
調べていると出来ないように感じたのですが、その場合自前で用意したサーバにアクセスするにはHTTPで接続しにいくしかないですかね?
0250デフォルトの名無しさん
2007/09/28(金) 01:06:57関係あるかどうか判らないけど。
うちは1.4.2でDoJa入れたら駄目で、
今は1.5.0_12でチャンと動いてる。
0251デフォルトの名無しさん
2007/09/28(金) 02:36:14はい
0252デフォルトの名無しさん
2007/09/28(金) 03:15:00DってJITしてあの速度? 冗談はよしてくれ。
0253デフォルトの名無しさん
2007/09/28(金) 03:38:31やっぱりそうですか。
ソケットを使って書いていたので、何かいい方法がないか、それともCGIやJSP等の方がいいのか検討してみます。
ソケット通信でも自分でHTTPヘッダを処理してやれば大丈夫なのかなぁ・・・。
色々調べてみます、ありがとうございました。
0254デフォルトの名無しさん
2007/09/28(金) 04:12:32これは嘘じゃね?
0255デフォルトの名無しさん
2007/09/28(金) 07:52:02iモードはソケット通信できないよ
HTTP通信はOK
HttpConnectorとか読んでみ
0256デフォルトの名無しさん
2007/09/28(金) 11:51:23ほかの機種もJITなんじゃね?
0257デフォルトの名無しさん
2007/09/28(金) 13:51:480258デフォルトの名無しさん
2007/09/28(金) 14:06:27>D505 i,D505 iS,D506 i,D900 iに実装している。
全部糞端末じゃねぇかw
0259231
2007/09/28(金) 20:54:05ありがとうございます。
もしかすると、メモリ使用量増加の原因が分かったかもしれません。
↓WaterP5で落ちるかどうか試してみてください。
http://www.i-paradise6.jp/~physics/test/test.html
(サイトがちょっとトラブっているので、別の所にアップしました。)
0260デフォルトの名無しさん
2007/09/28(金) 23:00:46WaterP5でもOutOfMemoryだった。
計算して線を描くだけならメモリ食わないと思うんだが。。。
0261デフォルトの名無しさん
2007/09/28(金) 23:55:16ビルドでエラーは出ず、JARファイルは生成されています。
DoJa5.0ツールで直接ビルド、起動した場合は正常に起動、動作します。j2sdkはは1.42です。
Eclipseを介してビルドした物はDoja5.0ツールから起動しても落ちます。
また少し前まではEclipseでも正常に起動していました。(ただし途中で落ちてました。)
何か設定を弄ってしまったのかもしれませんが、Eclipseに明るくなく、対処方法がわりませぬ。
思い当たる節があれば是非教えてください。
0262デフォルトの名無しさん
2007/09/29(土) 00:00:15str="";とstr=null;
ってどっちの方がメモリ節約できますか?
0263デフォルトの名無しさん
2007/09/29(土) 00:58:55ガベコレに拾ってもらう上で""(空文字)オブジェクトが生成されない
str=null;の方が節約って意味では確実なんじゃない?
str="";は結局str=new String("");って事だから古いstrの中身は消えるだろうけど
新しいStringオブジェクトが生まれてるよ
0264259
2007/09/29(土) 01:13:49そうでしたか。
getImageでImageをpaint内で生成しているのが原因かと思ったのですが・・・。
(描画の重ね合わせに、Graphics2.setRenderMode()と合わせて使用)
色々調べてみたところ、
さらにImageをdisposeしていないのがまずいような気がしたので、
getImage前にdisposeするようにしてみました。(WaterP6)どうでしょう。
あと、このgetImageをスイッチできるようにしました。
0265デフォルトの名無しさん
2007/09/29(土) 01:40:57文字列リテラルはクラスがロードされたときに生成されて、
str = "";
は str がそれを指すようになるだけ。
そのたびに新しい String オブジェクトが生成されたりはしない。
0266261
2007/09/29(土) 02:06:39デバッグの仕方を勉強して実行したたところ、
ALERT: java/lang/ClassFormatError: Bad version information.
が出てて、JRE1.5でビルドされているのが問題のようでした。コンパイル設定変えたら動きました。
1.4のbinフォルダにパス通したのはエミュレータ動作用だったのかな。
スレ汚しすまそ
0267デフォルトの名無しさん
2007/09/29(土) 02:07:103、4回、マイナーバージョンの違うDoJaを交互にインストール・アンインストールして直ったことがある
Eclipse 3.2.0 + Windows Vista + JDK 1.6
0268デフォルトの名無しさん
2007/09/29(土) 02:46:53D902iでWaterP6テスト。
blurをonにした瞬間、NullPointerExceptionで落ちることがあるのはご愛嬌として、
OutOfMemoryは起きなくなったみたい。
たしかに毎フレームGraphics2#getImage()はメモリ食いそうだなぁ。
0269デフォルトの名無しさん
2007/09/29(土) 03:46:10脱力系のオチかよ
0270264
2007/09/29(土) 09:01:18よかった。
getImageで上書きされるものと考えていたのが問題でした。
普通の使い方ならば、ガーベージ自動処理のタイミング的に大丈夫なのでしょうね。
他のアプリにも同様の処理をしているものがあるので、
アプリの機種違いによるエラーは、これで解決しそうです。
(アプリ_FallSのエラーは、現行ver.では起きないようなのでOKです。)
お手伝いいただき、ありがとうございました。
0271デフォルトの名無しさん
2007/09/29(土) 13:53:15Imageの描画コンテキストはGraphics2にキャストできないんだっけ?
0272デフォルトの名無しさん
2007/09/29(土) 14:42:06確かにその方法は良いと思います。
できるのであれば、どなたか教えてください。
0273デフォルトの名無しさん
2007/09/29(土) 15:29:39確かにその方法は良いと思ったんなら、まず自分でやってみろよ。
良いと思うほどなんだから実現の可能性があることは自分でも分かってるんだろ?
教えてくださいじゃなくて、コード書くのが面倒なのでかわりに書いてくださいじゃないのか?
0274デフォルトの名無しさん
2007/09/29(土) 18:36:190275272
2007/09/29(土) 19:26:02こうすれば良いのですね。
Graphics gi=image.getGraphics();
Graphics2 g2=(Graphics2)gi;//簡単な事なのに、これを思い付けませんでした。
で、この方法で組み直したところ、1つ問題が出てきました。
drawLine((i+1)*d,y[i+1],i*d,y[i]);//(d:1ラインの横方向の大きさ)
曲線を連続したラインで表現するため、↑のようにしていたのですが、
これだと、隣のラインと1ドット重なってしまい、
当然、加算していくとそこだけ色が変わって
・・・
1ドットずれた位置の変位yを計算する方法↓で自己解決しました。
drawLine((i+1)*d,y[i+1]+(y[i+1]-y[i])/d,i*d,y[i]);
(厳密には変位が大きくなるとラインが途切れることになりますが)
これでgetImage()よりは軽くなったはず。(多謝)
0276デフォルトの名無しさん
2007/09/30(日) 02:24:48さっぱり分からないが、動いたのならおめでとう。
それにしてもモーションブラーが実装できる時代になったんだなぁ。
0277デフォルトの名無しさん
2007/10/01(月) 16:08:11リアルタイムなゲームを作ってみようと思って色んなサイトを参考にしながら作ろうとしています。
で、現在はスレッドを一つ作ってその中で無限ループさせているのですが、一つ疑問が浮かびました。
スレッドの入り口(無限ループの外)にSystem.out.println("スレッド実行");と書いた場合、ひたすら"スレッド実行"
という文字が出力されていました。これはスレッド自体が無限ループのように呼び出されている、という事
なのでしょうか?
ソースの例は以下のような感じです…。
public class applitest extends IApplication{
public static testCanvas a_test;
public void start(){
a_test = new testCanvas();
Display.setCurrent(a_test);
a_test.start();
}
class testCanvas extends Canvas{
public void start() {
System.out.println("スレッド実行中");
while(true){
//メインループ
try{
Thread.sleep(30);
} catch(Exception e){
}
repaint();
}
}
}
}
0278デフォルトの名無しさん
2007/10/01(月) 16:10:250279デフォルトの名無しさん
2007/10/01(月) 16:31:08スレッドが作れて無いようだが?
基本的にThreadクラスから継承するんじゃないならRunnableインタフェースを実装しなきゃだし
スレッド実行開始はThreadクラスのstart()だがスレッドの実体はどっち方法で実装してもrun()だぞ?
後Canvasのpaint()はabstractだから省略できんだろ、例として書くならそこも簡単でイイから書きなさい
一応IApplicationのstart()とCanvasのイベントメソッドが別スレッドになるかも?というのを使って
IApplicationのstart()でCanvas内の無限ループメソッドを使ったメインループ作成方法はあるけど
これはスレッドを自分で作ってるとは言わないし機種に依存するはず(動く場合が多いけど)
0280277
2007/10/01(月) 17:35:39よく考えたらスレッドを作成して動かしてるのはVアプリ用の方でした。
こちらの方法はスレッドじゃないですね…失礼しました。
しかも279さんの仰る通り簡略化しすぎてました…。
とは言えせっかくなので教えて頂ければ幸いなのですが
(改行エラーが出たのでソースは次に書きます)
→ソース
という感じで作っています。この場合、自分は a_test.start(); によってtestCanvas内のstart()メソッド
が一回だけ実行され、その中の無限ループでグルグル処理をするっていうイメージで作ったんです。
しかし実際にはtestCanvas内のstart()メソッドが何度も実行されているようなのです。
物凄い勢いで”実行中”というトレースを吐き出します…。
質問自体分かりづらくて申し訳ないのですが、なぜtestCanvas内のstart()メソッドが何度も呼び出される
のか、ご教授願えれば幸いです。
0281277
2007/10/01(月) 17:36:30public static testCanvas a_test;
public void start(){
a_test = new testCanvas();
Display.setCurrent(a_test);
a_test.start();
}
class testCanvas extends Canvas{
public void start() {
System.out.println("実行中");
while(true){
//メインループ
repaint();
try{
Thread.sleep(30);
} catch(Exception e){
}
}
}
testCanvas(){
//色々処理
}
public void paint(Graphics g){
//描画
}
}
}
0282デフォルトの名無しさん
2007/10/01(月) 17:38:37Fの505,506,900でこれやると、processEventとmediaActionに処理こねぇ(ノд`)
0283デフォルトの名無しさん
2007/10/01(月) 17:41:250284デフォルトの名無しさん
2007/10/01(月) 17:58:10これ実機の話か?
取り敢えずDoJa5.0のエミュ上だと"実行中"は1度出力されるだけだ
a_test = new testCanvas();
の前に
System.out.println("起動");
a_test = new testCanvas();
ってやるとどうなる?
IApplicationのstart()がループしてるのか、Canvasのstart()がループさせられてるのか切り分けてみ
0285デフォルトの名無しさん
2007/10/01(月) 18:02:280286デフォルトの名無しさん
2007/10/01(月) 23:20:27マジ?
ずばりこのやり方で作りまくりなんだけど、、
Fの901以上とか700は大丈夫なの?
0287デフォルトの名無しさん
2007/10/02(火) 00:09:24この手法って機種依存じゃないの?
IApplication.start()がCanvas.processEvent()とは必ず別スレッドで呼ばれることが保証されてるってどっかドキュメントに書いてある?
0288282
2007/10/02(火) 02:51:23実は端末がなくて、そこまで調べていない。
とりあえずデバッグ時に、手元にあった上記の三つは動作しなかったので
直した。その他の端末は、修正後に検証センターで端末チェックしたので
その他のF機についてはわからない。
0290デフォルトの名無しさん
2007/10/02(火) 11:26:51リリース前にゃ全端末チェックして貰った事もあるけど
問題なかったなぁ。ユーザからクレームも上がってない。
んまぁ音鳴らすアプリが殆どない上processEvent使ってないし
気づかなかっただけかもだけど。
0291デフォルトの名無しさん
2007/10/09(火) 11:45:280292デフォルトの名無しさん
2007/10/09(火) 14:12:310293デフォルトの名無しさん
2007/10/09(火) 20:59:45全然分かりません
0294デフォルトの名無しさん
2007/10/10(水) 10:43:16ここからダウンロードして使ってえば。
ttp://www.nttdocomo.co.jp/service/imode/make/content/iappli/about/index.html
0295デフォルトの名無しさん
2007/10/11(木) 01:17:55http://www.rcdtokyo.com/man/doja/api/index.html
例文が全然ないから書式が全然分かりません
できるだけ詳しく教えてください
0296デフォルトの名無しさん
2007/10/11(木) 01:20:240297デフォルトの名無しさん
2007/10/11(木) 03:16:15まず初心者用のjavaの勉強から始めるべきだし
もしjavaの勉強のためにDoJaを使おうとしてるなら奨めはしないが
どうしてもというならiアプリ開発解説系サイトの初心者講座を見てhello worldからはじめるべきかな
その上でまずDevGuide.pdfとjguidefordoja5_x_070423.pdfを内容覚えるぐらいに読んでおく
APIリファレンスはリファレンス(参考書)であって入門書ではないからリファレンスだけを見ても
iアプリは作れるようにはならないよ?
もちろんjavaの事を既によく知っていてSwingとは言わんからAWTでいいから使ったことがあるとかなら
DevGuide.pdfとjguidefordoja5_x_070423.pdfを適当に流し読みした後にAPIリファレンスだけあれば
iアプリは作れるだろうけどね
0298デフォルトの名無しさん
2007/10/11(木) 22:08:04しかしDojaのAPIリファレンスは難解すぎて理解できません
もうやめます
0299デフォルトの名無しさん
2007/10/11(木) 22:59:520300デフォルトの名無しさん
2007/10/12(金) 00:44:16それはそれで根気があるが……
0301デフォルトの名無しさん
2007/10/12(金) 00:45:41数年前に一週間程度java勉強しただけの俺でも何とか分かる。
0302デフォルトの名無しさん
2007/10/12(金) 21:54:180303デフォルトの名無しさん
2007/10/13(土) 02:10:42―――――――――――――‐┬┘
|
____.____ |
| | | |
| | ∧_∧ | |
| |( ´∀`)つ ミ |
| |/ ⊃ ノ | |
 ̄ ̄ ̄ ̄' ̄ ̄ ̄ ̄ | ミ [本来の Java]
0304デフォルトの名無しさん
2007/10/13(土) 03:35:34携帯向けのJavaが偽物みたいにいうな禿
0305デフォルトの名無しさん
2007/10/13(土) 03:57:130306デフォルトの名無しさん
2007/10/13(土) 05:14:540307デフォルトの名無しさん
2007/10/13(土) 07:53:160308デフォルトの名無しさん
2007/10/13(土) 07:53:21#ifdefとか#defineとか入ってる奴?w
0309デフォルトの名無しさん
2007/10/13(土) 08:02:590310デフォルトの名無しさん
2007/10/13(土) 08:36:0730Kに収めようと思ったり機種依存APIを使うために場合分けが必要な場合(Unable to load class回避)には
必要に応じてプリプロセッサも使うけどな
まぁそれも初心者にはあまり関係ない話だ
0311デフォルトの名無しさん
2007/10/13(土) 08:53:40世界で使われている
0312デフォルトの名無しさん
2007/10/13(土) 12:13:120313デフォルトの名無しさん
2007/10/13(土) 12:19:52なったときには、純粋なJavaと決別しようと思ったさ。
0314デフォルトの名無しさん
2007/10/13(土) 12:48:260315デフォルトの名無しさん
2007/10/14(日) 00:05:44あ、でもなんか単位が違うなぁ
0316デフォルトの名無しさん
2007/10/14(日) 01:53:140317デフォルトの名無しさん
2007/10/14(日) 01:59:05こっちでは単に KB て入ったら 1024 bytes 以外の可能性はないなあ。
M が 1000^2 じゃなく 1024^2 であると示したい場合は MeB?
0318デフォルトの名無しさん
2007/10/14(日) 01:59:33キビバイトとかメビバイトとか言いにくいからかな
0319デフォルトの名無しさん
2007/10/14(日) 02:05:58http://ja.wikipedia.org/wiki/2%E9%80%B2%E6%8E%A5%E9%A0%AD%E8%BE%9E
0320デフォルトの名無しさん
2007/10/14(日) 02:20:100321デフォルトの名無しさん
2007/10/14(日) 03:32:02そろ信者と頭の古いsunのせいでそれはいるだろって機能でさえ
C#がでるまで入れようとしなかったくらいだから迷惑な話だよな
0322デフォルトの名無しさん
2007/10/14(日) 03:35:490323デフォルトの名無しさん
2007/10/14(日) 03:48:330324デフォルトの名無しさん
2007/10/14(日) 04:01:43組み方によるがプリプロセッサに頼った方が小さくなる
例えばstatic finalは#defineに置き換えれば大抵の場合クラスファイルを縮小できる
まぁ色々あるんで一概にどうこうとは言いにくいんだが読みやすさを損なわないレベルで小さくなる場合が多いのは事実だな
ただ初心者にはお奨めはしないけどな
Obfuscatorを2〜3個と7Zipも使ってもどうにもならない場合の最後の最後の手段だな
0325デフォルトの名無しさん
2007/10/14(日) 04:06:34言いにくいからというより、単純に通じないからだろうな。
メディアや様々なドキュメント類が一斉に変えない限り普及しないんじゃないだろうか。
現状、ドキュメントなら大抵「1キロバイト=1024バイト」とか注意書きがあるんで混乱しないし、
1キロバイトが1024バイトなのはファイルサイズやメモリ容量、
1000バイト(というか1メガバイト=1*1000*1000バイト)なのはストレージ(大抵HDDを指して)、
としてまず問題なく会話できるし。
0326デフォルトの名無しさん
2007/10/14(日) 07:31:010327デフォルトの名無しさん
2007/10/14(日) 07:45:38かなり減ると思うけどな。
0328デフォルトの名無しさん
2007/10/14(日) 18:14:450329デフォルトの名無しさん
2007/10/14(日) 19:38:040330デフォルトの名無しさん
2007/10/14(日) 21:29:29904iシリーズで追加されたオプションAPI、
「動作認識」を実装しようとしてるのですが上手くいかず困ってます。。
最初はとりあえず、ケータイの傾き(rolldata)を取得し、
その値を画面に表示させるコードを書こうとしています。
プログラミング初心者のため、かなり汚いコードだとは思いますが、
指摘いただけるとうれしいです。
0331330
2007/10/14(日) 21:33:46public class Gesture1 extends IApplication {
public void start() {
GestureCanvas c = new GestureCanvas();
Display.setCurrent(c);
c.exe();
}
0332330
2007/10/14(日) 21:35:22class GestureCanvas extends Canvas {
void exe() {
RollReader rollreader = RollReader.getRollReader(0);
Graphics g = getGraphics();
float zahyo[] = new float[2];
while (true) {
//動作認識処理
rollreader.start();
RollData roll = rollreader.getRollData();
zahyo = roll.getAccumulatedMotion();
rollreader.stop();
g.lock();
g.setColor(g.getColorOfName(g.WHITE));
g.fillRect(0, 0, getWidth(), getHeight());
g.setColor(g.getColorOfName(g.BLACK));
g.drawString("x座標 : " + zahyo[0], 5, 20);
g.drawString("y座標 : " + zahyo[1], 5, 40);
g.unlock(true);
0333330
2007/10/14(日) 21:36:04try {
Thread.sleep(200);
} catch (Exception e) {
}
}
}
public void paint(Graphics g) {
}
}
}
//長々とすみませんでした。。。
0334デフォルトの名無しさん
2007/10/14(日) 22:06:48確かDだけ何か違ったとか報告受けた覚えがある。
0335330
2007/10/14(日) 22:16:48エミュレータで試験できないので、実機にアプリをDLして実行してみているのですが、エラーの表示と共に強制終了されてしまい原因もわかりません。。。
0336デフォルトの名無しさん
2007/10/14(日) 22:28:070337330
2007/10/14(日) 22:32:37Dだけなにかが違うという件ですが、、
Dには加速度センサが、SHとPにはgesturetek mobileが搭載されているということだと思います。
前者ではその名のとおりセンサを使って、後者ではインカメを用いた画像検知によりケータイの動きを認識します。
ドコモ提供のAPIリファレンス(オプション・拡張編)
ttp://www.nttdocomo.co.jp/service/imode/make/content/download/kiyaku5_details.html
では、最後の章に加速度センサの、19章に動作認識(インカメ使用)の説明があります。
私は、shですので、インカメを用いた動作認識を実装したいと考えています。
0338330
2007/10/14(日) 22:35:00Main :com.nttdocomo.device.gesturereader.GestureException Gesture1
com.nttdocomo.device.gesturereader.GestureException
at com.nttdocomo.device.gesturereader.RollReader.getRollData(+80)
at Gesture1$GestureCanvas.exe(+22)
at Gesture1.start(+17)
com.nttdocomo.device.gesturereader.RollReader
このようなエラーが出ますが、未熟者のため解決できず。。。
0339デフォルトの名無しさん
2007/10/14(日) 22:35:14m_RollReader.start();
m_RollReader.recenter();
はwhile() の上に出して1回だけにした方が良さそう
それでもダメなら
m_RollData.getImmediateMotion();
の方のパラメータも変なの来てるか確かめれ。
もちろんExceptionもなw
0341330
2007/10/14(日) 22:48:11一つ質問なのですが、
rolldata.start()
をwhile外に出すとすると、
rollreader.stop();
の位置が問題になると思いますが、
一回一回の処理ごとにstopかける必要はないのでしょうか?
というか、もしかしてstop()自体なくても、動作に支障はないのですか?
0342デフォルトの名無しさん
2007/10/14(日) 23:32:23枚フレームする必要は無いな。
まぁ、経験上カメラとか外部のインターフェース使う奴は
動作が遅いのが普通だから毎フレーム呼び出しは
無理な場合が多い。
0343デフォルトの名無しさん
2007/10/15(月) 00:40:550344デフォルトの名無しさん
2007/10/15(月) 04:12:01アプリや本体の挙動を制御するための機能なんだから
0345デフォルトの名無しさん
2007/10/15(月) 11:07:19JSや加速度センサは、start()時の位置を(0,0(,0))として、
次フレームでゼロ地点からの相対位置を元に何かを求めるモノなので、
基本動きっぱなしを想定してる。
なので止めちゃダメ。
あとDoJa5.0 Ver3.0のiαppliToolで、エミュレーションにも対応してる。
ツール→動作認識データ編集と、ツール→加速度センサデータ編集がそれ。
使い物になるかは少々疑問だけど、とりあえずの動作確認だけならエミュで十分なハズ。
パラメータを設定しなくても、エミュで例外は出ない。
ゼロが帰ってくるだけ。
たしか移動量の定義がShake以外不明だったと思うんで、
実機でやってみないとわからない部分が多いと思うがガンガレ。
0346デフォルトの名無しさん
2007/10/15(月) 11:20:19JS→ジェスチャーテックのことで略してJSと何処かに書かれてて
そう覚えてしまった(´д`) ゴメン。
帰って→返って
ちとマグロでも釣ってくるわ。
0347デフォルトの名無しさん
2007/10/15(月) 13:12:400348デフォルトの名無しさん
2007/10/15(月) 13:31:43俺の仕事じゃなかったから適当に聞いてたんでうろ覚えw
0349デフォルトの名無しさん
2007/10/15(月) 13:36:290350デフォルトの名無しさん
2007/10/15(月) 14:07:36http://www.nttdocomo.co.jp/binary/pdf/service/imode/make/content/iappli/about/jguidefordoja5_x_070423.pdf
「4.4.5 FOMA 携帯電話によるVisualPresenter でのiモーションの再生」
を熟読するんだな
0351デフォルトの名無しさん
2007/10/15(月) 14:17:48Doja5.0では500kbまでしかだめだ
って書いてあるようなないような
0352デフォルトの名無しさん
2007/10/15(月) 15:11:300353330
2007/10/15(月) 15:42:57ありがとうございます。
エミュレータの動作認識設定を行い、何とかエミュ上で立ち上がるまでになりました。
しかし、実機に移すと、エラーが起こり、アプリが立ち上がりません。。。
どうしてでしょうか。。。。。
0354330
2007/10/15(月) 15:44:30ソースは以下のとおりです。
(また、長々とすみません・・・)
public class Gesture1 extends IApplication {
public void start() {
GestureCanvas c = new GestureCanvas();
Display.setCurrent(c);
c.exe();
}
0355330
2007/10/15(月) 15:45:22class GestureCanvas extends Canvas {
void exe() {
RollReader rollreader = RollReader.getRollReader(0);
Graphics g = getGraphics();
float zahyo[] = new float[2];
rollreader.start();
rollreader.recenter();
while (true) {
RollData roll = rollreader.getRollData();
zahyo = roll.getAccumulatedMotion();
g.lock();
g.setColor(g.getColorOfName(g.WHITE));
g.fillRect(0, 0, getWidth(), getHeight());
g.setColor(g.getColorOfName(g.BLACK));
g.drawString("x座標 : " + zahyo[0], 5, 20);
g.drawString("y座標 : " + zahyo[1], 5, 40);
g.setPixel((int) zahyo[0]/2+120, (int) zahyo[1]/2+120);
g.unlock(true);
0356330
2007/10/15(月) 15:45:54try {
Thread.sleep(1000);
} catch (Exception e) {
}
}
}
public void paint(Graphics g) {
}
}
}
0357デフォルトの名無しさん
2007/10/15(月) 15:47:41ソースよりもまずエラーの内容を書かないと始まらない
0358330
2007/10/15(月) 16:28:37指摘ありがとうございます。
エラーの内容ですが、実機だとただ単に強制終了されてしまうため、
どのようなエラーが発生しているのかもわからない状態なのです。。。
エミュレータではエラーは出ないのですが・・・
何度も質問ばかりで申し訳ありません。
0359デフォルトの名無しさん
2007/10/15(月) 16:42:16それと roll の null チェックはした方がいいな。
機械動かす以上すぐにパラメータが取れるとは思えない。
0360345
2007/10/15(月) 21:09:43これだからNTT回線は…
>>330
たぶんRollData#getRollData()をtry〜catchで囲んでないからだと思うよ。
パラメータ取得失敗時に、普通に例外吐く仕様だったはずだから。
ぬるぽチェックはzahyoの定義で初期化してるから要らないと思うけど、
例外キャッチした時に前のパラメータが残るのだけ注意。
相対座標として扱うと計算ミスる。案外使ってて違和感感じるから。
で、例外についてはリファレンス読んでくださいな。
0361デフォルトの名無しさん
2007/10/16(火) 02:45:25実験しています。どうも画像が歪むのでテクスチャを格子模様にしてどういうときに
歪むのかチェックしたのですがいま一つ条件がわかりませんでした。uvwhのぞれ
ぞれが2のn乗になっていない時かなとも思いましたが64*64でも1ドットだけずれて
表示されたりしたのでよくわかりません。
WEBでサンプルソースを見つけたのでそちらも試したのですが、一見ちゃんと表示
されているようでも右端と下端のドットが表示されていませんでした。
ポリゴンでフィールドを表示しておいてその上にdrawImageで各種情報を表示する
ような(フィールド側は拡縮可能)構成を考えていたのでちょっと悩んでいます。
なぜ歪むのか原因、もしくはプログラム上/データ上のチェックポイントがわかる方
がいらっしゃいましたらご教示願えないでしょうか。
0362デフォルトの名無しさん
2007/10/16(火) 09:58:29昔同じようなことやったことあるが、マスコットカプセルの
ソフトウェアレンダリング(901時代とか)は、内部で2pxとか4px単位で
処理してるのか画面上とテクスチャの大きさをあわせても
そのままdot by dotのマッピングにはならないと判断した
最近のハードウェアレンダリングする機種では結果違うかもしれんよ
0363361
2007/10/16(火) 12:52:53情報ありがとうございます。
エミュと実機両方で試しましたが、同じような表示になりました。
矩形の枠の一か所だけ1ドット飛び出したような表示になったりしたのですが、その
飛びだす位置が同じだったので同じアルゴリズムなのかなどとちょっと感心しまし
たが。
書き忘れましたが900i以降対応させるのでDojaのプロファイルは3.5です。
試した実機は対応する機種のミニマムスペックに近いF900iやN901icなどの古めの
ものです。
ポイントスプライトをやめて三角形や矩形のポリゴンにしたらどうかな、などと考えて
ましたがソフトウェアレンダリングによる歪みというか誤差だとするとだめっぽいです
ね。やりたいことの性質上、きっちり1ドット単位で表示できないと困るので面倒だけど
drawImageとdrawScaledImageでやろうかな。D900iを非対応にすればGraphics2で
半透明使えるし、回転はほとんどないからなんとかなるかも。
0364デフォルトの名無しさん
2007/10/16(火) 13:07:530.5を足してから整数化するとか。
0365デフォルトの名無しさん
2007/10/16(火) 13:10:36どっちを回してる?
スプライト側のピクセル毎に回転後座標を求めてキャンバスに打つより、
キャンバス側で「スプライトのどのピクセルが来るか」を基に打つといいよ。
0366デフォルトの名無しさん
2007/10/16(火) 13:41:50機種依存じゃなかったっけ?
0367361
2007/10/16(火) 14:16:27小数は使っていません。今のところ拡縮などはしないで等倍のスプライトを表示して
実験しているだけなので。その段階で361のような状態なのでちょっと悩んでいたの
です。
>>365
自力での描画処理は行っていません。もし行うとすればたしかに365さんのおっしゃ
るようにディストネーション側のピクセルからソースの色を引っ張ってこないと拡大
したときに隙間とかができてみられたものじゃなくなりますね。そもそも自前描画で
速度は足りるものでしょうか。以前30Kアプリでプログラムサイズが全く足りなくて、
一部ルーチンをスクリプト化してスクラッチパッドに逃がしたことがあったのですが、
以外と速度は大丈夫でした。しかし描画処理となるとそれとは比較にならないほど
演算量が増えるのでやるとするとまた実験が必要ですね。
>>366
情報ありがとうございます。そうなるとちょっと辛いですね。機種情報調べてみます。
0368デフォルトの名無しさん
2007/10/16(火) 23:39:400369330
2007/10/17(水) 11:54:56助言ありがとうございます。。
AppTrace=on にして、RollData#getRollData()をtry〜catchで囲み、、、
そして、これが重要な問題だったと思うのですが、
RollReader rollreader = RollReader.getRollReader(0);
のカメラIDを(0)から(1)に変更したら、実機で動きました!
インカメのIDは1なんですね。
皆様色々とアドバイス本当にありがとうございました。
助かりました。
0370デフォルトの名無しさん
2007/10/17(水) 12:15:050371デフォルトの名無しさん
2007/10/17(水) 13:15:44ウチはとりあえず数回まわして初期化して取れた奴使うってやってた。
0372デフォルトの名無しさん
2007/10/17(水) 18:56:21使えるメモリ少ないのにメモリ上に全部展開とかって出来ないファイルとかどうすればいいんだかねえ
これ標準クラスのソースなんて公表されてないんだよな?
0373デフォルトの名無しさん
2007/10/17(水) 20:56:230374361
2007/10/18(木) 03:01:39マスコットカプセル4だとDoja4.0からなので今回は使えないです。
あれから機種情報を調べたり実験したりしていました。
まずdrawImageの半透明ですがDoja4.0の機種で使えないものが何機種かあった
のでダメでした。3.5だとD900i以外大丈夫だと思ったのですが、4.0でこんなに非対
応の機種があっては採用できません。ためしに実装したものを手元にあるN901ic
で実行したところやはりダメでした。
ポイントスプライトの実験をやり直していたところどうやら縦横が2のn乗であれば
大丈夫らしいことがわかってきました。以前の64*64で駄目だったのは私の見間
違いだったようです。縦横が2のn乗であれば正方形である必要はなく8*16等でも
いけました。今回の場合、画像素材がすべて一辺8の倍数で描かれていたので
8*8に分割して描画してやれば大丈夫そうです。
その場合、プリミティブ数が増えるのでそっちの方がちょっと心配ですが(240*240
の画面だと全面埋め尽くすと900個のポイントスプライト)半透明で描画する可能性
のある画像はごく一部なのでdrawImageと併用して凌げると思います。
iアプリは2年に一回くらいしか作る機会がなく、作る度に何かしら苦労してます。
0375デフォルトの名無しさん
2007/10/18(木) 03:53:100376デフォルトの名無しさん
2007/10/18(木) 22:57:500377デフォルトの名無しさん
2007/10/22(月) 03:37:41PointingDeviceクラスの説明には
>端末によってサポートされていない場合があります。
>未サポートの場合、メソッドが呼び出された時点で
>UnsupportedOperationException が発生します。
とあるのですが、isAvailable()で使用可否を取得するだけでも発生するのでしょうか?
未対応端末なら通常通り十字キーで使用できるように判定したいのですが・・・
0378デフォルトの名無しさん
2007/10/22(月) 10:47:44例外出ようが何だろうがキャッチすりゃ良いだけでない?
0379デフォルトの名無しさん
2007/10/22(月) 10:52:35特に考える必要は無いな。
0380デフォルトの名無しさん
2007/10/22(月) 11:15:23DoJa-3.0な機種とかだと全ヶ所をtryで括っていても
PointingDeviceのジョイスティックモード(DoJa-3.5以降なので)用のメソッドを含んだclassがあるだけで
Unable to load classを吐いて強制終了する端末がある(クラスローダーが例外を発するのでtryで止められない)
100Kアプリなら問題ないけど30Kアプリだと問題になる
(30Kアプリでニューロジョイスティックモード対応機種はN700i,N701i)
もし古い機種にも対応した上でニューロも対応したいなら
jarを2個提供する方が安全だと思う
DoJa-3.5以降でも同様の実装の機種があるかどうかの確認はしてないんで知らない
後メソッドが呼び出されたら例外と書いてあるんだからDoJaの仕様にちゃんと則ってれば
isAvailable()を呼んだだけで例外が起きるPointingDevice関連は全部tryで括るべき
0381デフォルトの名無しさん
2007/10/22(月) 12:20:24try-catchした方がいいと思われ
0382デフォルトの名無しさん
2007/10/22(月) 23:03:29mediaActionが全く呼び出されないんですが
原因は何が考えられるでしょうか…?
0383デフォルトの名無しさん
2007/10/22(月) 23:30:400384デフォルトの名無しさん
2007/10/22(月) 23:33:350385デフォルトの名無しさん
2007/10/23(火) 08:49:500386デフォルトの名無しさん
2007/10/23(火) 14:48:31実際は呼び出されているのに、それがわからない状態。
0387デフォルトの名無しさん
2007/10/27(土) 14:10:31実機で実行したら「ソフトに継続動作出来ない障害が発生しました。」
って出るんだけど原因は何でしょうか。
0388デフォルトの名無しさん
2007/10/27(土) 14:43:161、メモリが足りない
2、その機種では使用できないオプショナルなor上位DoJaのAPIを使ってしまった
3、synchronizedが必要な個所でsynchronized抜け
4、他
0389387
2007/10/27(土) 15:30:58import com.nttdocomo.ui.*;
import java.util.*;
import javax.microedition.io.*;
import java.io.*;
これしかないんだけどオプショナルなAPIがこの中に含まれてたりしますか?
0390デフォルトの名無しさん
2007/10/27(土) 15:56:12つーか細かく聞きたいならソース公開しろ
はっきり言ってこんな質問してる段階でプログラムの出来とかには誰一人期待もしてないから
どんな下らんソースアップしても笑うやつは居ないよ
それ以上は自力でどうにかしろ
0391デフォルトの名無しさん
2007/10/27(土) 16:10:180392387
2007/10/27(土) 16:23:55http://zif.hp.infoseek.co.jp/tmp/tori2.zip
0393デフォルトの名無しさん
2007/10/27(土) 16:27:27実機だと Display#setCurrentした瞬間にpaintが呼ばれる。
なのでIApplication#start()後に画像読み込み、paintで描画処理としていると、
先にpaintが呼ばれるため落ちる。
0394393
2007/10/27(土) 16:33:30しかし随分パワーアップしたな…
0395デフォルトの名無しさん
2007/10/27(土) 16:50:50読むの断念。
仕事に戻る。
0396デフォルトの名無しさん
2007/10/27(土) 18:05:57危なっかしいコーディングがいくつか見受けられるがあまりそれが問題だとは考えたくは無いかな
start()でメインルーブを作ってるの以外機種依存な部分は見受けられない
メモリが足りてないんじゃないか(ヒープコンパクション関連も含め)とは思うが
しかし巨大な配列を作ってるわけでもないしデータはリソース読みみたいだからサイズ的にも多寡が知れてるので
ちょっと原因が不明だな実機でのappTraceの結果はなんとなってる?
あと実機の機種名がなんなのかもだな>N900i,N901i,P900i,P901iはヒープコンパクション問題があるが
どこまで実行が進んでるのかを見るためにappTrace=onにして
System.out.println("0");
toriMain ten=new toriMain();
System.out.println("1");
Display.setCurrent(ten);
System.out.println("2");
ten.exe();
みたいにしてみて根本的に実機で起動そのものが出来てるのかの確認をしてみ
0397デフォルトの名無しさん
2007/10/27(土) 19:19:450398387
2007/10/27(土) 19:23:1010KB分容量大きくなっちゃうけど諦めようorz
みんな色々調べてくれてありでした。
0399デフォルトの名無しさん
2007/10/27(土) 19:48:15今ならProGuardをかけてからjarg -nobcoでjargにpreverifyもやらせればかなり縮む
その後7Zipで潰せば良い
あと気になったところ
一応安全のためにCanvas.eventはsetとgetをメソッドで保護してメソッドは1つのオブジェクトでsynchronizedにしておくべき
それ以前にIApplication.start()そのものでメインループを作る場合はprocessEvent()が呼び出されることは保証されてない(機種依存となる)
Calendar.getInstance()を何度も実行してるが1つ目と2つ目の間で日や月を跨ぐ可能性を考慮してないので
Calendar.getInstance()は1度にしてそれを1つ目と2つ目で使いまわすべき
定期的にSystem.gc()を呼んだ方が良い
0400387
2007/10/27(土) 21:51:14アドバイス色々ありです。
class myEvent
{
int event;
synchronized void setEvent(int ev){event=ev;}
synchronized int getEvent()
{
int n=event;
event=-1;
return n;
}
}
setEventはprocessEvent()から呼び出して
getEventはループ内から呼び出すってことでいいのかな?
0401デフォルトの名無しさん
2007/10/27(土) 22:28:32別にクラスを分けなくてもメソッドそのものはCanvas(toriMain)に統合してても問題は無いけどね
(Canvasという一つのオブジェクトで保護すればいいってことだから)
まぁint 1つなら保護する必要性の有無は疑問ではあるがしないよりはしておく方が安全
結局の所start()というスレッドと携帯端末が作成したprocessEvent()を呼び出してるスレッドが並列動作時の問題だから
0402デフォルトの名無しさん
2007/10/28(日) 01:22:26ちょっとまった、うちのゲームは全てstartで無限ループしているが、1回たりとも機種依存でダメだったことはないぞ
機種依存って資料かなにかに書いてあった?
0403デフォルトの名無しさん
2007/10/28(日) 02:00:49じゃあ聞くがIApplication.start()とCanvas.processEvent()が別スレッドで呼ばれることが保証されてると書かれた資料を示せ
少なくともjguidefordoja5_x_070423.pdfの86ページにはCanvas.processEvent()がどのようにスレッド割り当てされるかは機種依存とある
0404デフォルトの名無しさん
2007/10/28(日) 07:50:22をまとめてるサイトって誰かご存知ないですか?
0405デフォルトの名無しさん
2007/10/28(日) 07:59:52をゲイツに聞いてみろ。
0406デフォルトの名無しさん
2007/10/28(日) 10:02:49仕様として機種依存にできることは書いてるけど、
402実際に制限のあった実装してる端末が今のとこなかった、ということでしょ
保証を出せとか言い出して少し落ち着けよ
0407デフォルトの名無しさん
2007/10/28(日) 12:36:29確かにスレッド割り当て〜はあるから「シングルスレッドで実装されてたらダメ」だね
資料Thx
一応商業的に作ってても、今のところ「startで無限ループしたらやばかった」って機種は無かったよ
将来的な保証を考えて、普通にスレッドでやったほうがいいかもね
0408デフォルトの名無しさん
2007/10/28(日) 15:04:57それは今の所の実装がそうであるってだけじゃん。
もし動かない端末が現れた場合、客にどう言い訳する?
仕様は守っとこうぜ。
0409デフォルトの名無しさん
2007/10/28(日) 15:18:02でおk。
言い訳の必要が見当たらん。
0410デフォルトの名無しさん
2007/10/28(日) 17:04:16現実の実装についての>>402の情報はスゲーありがたい。
0411デフォルトの名無しさん
2007/10/28(日) 17:39:12一応既に>>282って発言もあるみたいだけど?
趣味な人間としちゃ自分の周りで持ってる人と自分が持ってる機種でしか直接確認できないから
その辺どうなのかは確かに気になるな
0412デフォルトの名無しさん
2007/10/28(日) 17:40:29仕様外でも動く数がここまできたらもうDoJaの仕様の方を変更する規模だよ
知らずに作ってる人だって多いだろ。俺も知らんかったし
影響を無視して仕様を強行するより、現実の動作に互換を合わせて
マイナーアップで仕様を変更する方が現実的。まあ1プログラマの予想だけどね
で、仕様通りに作れてなかったソフトが、1発目に動かなければ非対応になるか、
409の通り別料金か修正すればいいだけ。
理由が仕様に載ってようがいまいが、存在しない機種のための動作保証なんてしないのが普通。
言い訳をする必要はなく謝って修正すればいい話。
0413デフォルトの名無しさん
2007/10/28(日) 18:12:17昔からPCは技術者を育成した、しかし、携帯は中国・インド・イスラエルに仕事を
与えるだけだ。
0414デフォルトの名無しさん
2007/10/28(日) 18:19:52行間が空き過ぎてて読み取れません(´・ω・`)
0415デフォルトの名無しさん
2007/10/28(日) 18:26:48>仕様外でも動く数がここまできたらもうDoJaの仕様の方を変更する規模だよ
>知らずに作ってる人だって多いだろ。俺も知らんかったし
単にドキュメント読んでないだけだろう。
動作保障外の組み方しておいて、今までたまたま動いてたからって
それを仕様としろなんて普通ありえない。
>理由が仕様に載ってようがいまいが、存在しない機種のための動作保証なんてしないのが普通。
とりあえず仕事として、将来的にも機種対応をしていくつもりで組んでいるのであれば、
ある程度は動作を見込んで実装するのが普通。
0416デフォルトの名無しさん
2007/10/28(日) 18:39:20熱意に溢れてるなw
ウチの会社で中国人と一緒にアプリ作らないか?w
携帯アプリに関わった人どんどん辞めて奴隷不足なんだ。
0417デフォルトの名無しさん
2007/10/28(日) 18:58:32ちょっと聞くけどさDoJa1.0の頃からドキュメントに記載されてたの?もしそうなら
> 単にドキュメント読んでないだけだろう
って言う貴方の意見が絶対的に正しいんだけどさ
0418デフォルトの名無しさん
2007/10/28(日) 19:09:32jguide010514.pdf(DoJa1.0のドキュメント2001/06/22発行)の65〜66ページにもちゃんと書いてある
誰でも確認できることなんだから自分で確認してから書いたほうがいい
0419デフォルトの名無しさん
2007/10/28(日) 19:15:05こんな事わざわざ確認するのがめんどくさいから聞いたんだけど
0420デフォルトの名無しさん
2007/10/28(日) 19:50:11仕様を縮小解釈するのなら、実装を拠り所にしてもいいけど、
仕様を拡大解釈するのはマズいんじゃないかな。
0421デフォルトの名無しさん
2007/10/28(日) 20:35:51生まれて初めてのjavaというかプログラミングに挑戦したいと思って
いるのですが、開発環境すら整備できていません、
ネットで読み漁ったところ
java2SDK,Standard Edition
j2sdk-1_3_1_11-windows-i586.exe
をゲットする所から始めないといけないようですが、
SUNのサイトにいくとSolarisむけの開発環境しか手に入らないぽいです。
(プロ向けに有償サポートなら手に入りそうな文面ですがそこまでは、、)
皆さんはどういった開発環境で行われていますか?
今でも環境を整えられる方法があれば知りたいです。
長文すみません。
0422デフォルトの名無しさん
2007/10/28(日) 20:52:55ここら辺から適当にダウンロードしてみ。
http://java.sun.com/products/sjwtoolkit/ja_download-2_5_2.html
http://java.sun.com/javase/downloads/index_jdk5.jsp
0423デフォルトの名無しさん
2007/10/28(日) 21:05:10505i以降
http://www.nttdocomo.co.jp/service/imode/make/content/iappli/about/tool_505i.html
900i以降
http://www.nttdocomo.co.jp/service/imode/make/content/iappli/about/tool_foma2.html
903i以降
http://www.nttdocomo.co.jp/service/imode/make/content/iappli/about/tool_foma5.html
一応自分の携帯電話にあわせたやつ使え、それが確実だ
70xiの場合は機種によるんで安全のために505i用を使えば確実だ
java2SDKは
http://java.sun.com/j2se/1.4.2/ja/download.html
これ(j2sdk-1_4_2_16-windows-i586-p.exe)使え一番確実だ
0424デフォルトの名無しさん
2007/10/28(日) 21:10:32うぉおありがとうございます。
とりあえず参考にしようと思ってるサイトさんのファイルに一番近そうな
>>java2SDKは
>>http://java.sun.com/j2se/1.4.2/ja/download.html
>>これ(j2sdk-1_4_2_16-windows-i586-p.exe)使え一番確実だ
をDLしてみます。!
回線遅いのでアレですが、、、
ありがとうございます。
0425デフォルトの名無しさん
2007/10/29(月) 02:09:28がんばれ
0426デフォルトの名無しさん
2007/10/29(月) 12:47:26HSPとか簡単なスクリプト言語でサクサクっと手軽に出来るようになるから今無駄に努力する必要はないよ
0427デフォルトの名無しさん
2007/10/29(月) 12:51:130428デフォルトの名無しさん
2007/10/29(月) 13:06:38アセンブラはもう使わなくて良い時代になってきたな。
0429デフォルトの名無しさん
2007/10/29(月) 14:06:250430デフォルトの名無しさん
2007/10/29(月) 16:11:28何だそりゃ?
ちょっと任天堂にメールで聞いてみる。
0431デフォルトの名無しさん
2007/10/29(月) 16:34:330432デフォルトの名無しさん
2007/10/29(月) 16:59:440433デフォルトの名無しさん
2007/10/29(月) 20:55:330434デフォルトの名無しさん
2007/10/30(火) 00:30:06いや、普通にF505もF506も動いたよ
F900も問題無し
F系はそれ以前にくだらねえ問題がちらほらあるから好きじゃないな!w
0435282
2007/10/30(火) 10:30:29startで無限ループじゃなくて、IApplicationを継承したクラスの
コンストラクタで無限ループしたらアウトだったわ。
startでは試したことなかった。ってか俺startの中身は空だわ^^
0436デフォルトの名無しさん
2007/10/30(火) 11:23:23290にも同じ事書いたばかりだけど、
ウチでもstart無限ループで問題になってる機種は無い。
先ほど調べたらFOMA全機種対応の
MediaListener使ってるアプリも評価パスしてるわ。
思うに、保証されてはいないものの、どの機種も問題ないのではないかと。
だからと言って推奨はしないけど。
0437デフォルトの名無しさん
2007/10/30(火) 11:27:45流石にそれは間違えすぎだろw
流石にコンストラクタで無限ループなんてするなよ!
コンストラクタで全て初期化してから、start()に処理が回ってくる仕様なんだからさ
0438デフォルトの名無しさん
2007/10/30(火) 11:42:16君の指摘により何人が検査やり直したと思ってるんだ?w
はい俺も完璧に釣られますた(=´∇`=)
0439デフォルトの名無しさん
2007/10/30(火) 11:50:23検査やり直しとかする気も無い(`・ω・´)
かれこれ4年間改良を続けて来たものだしな。
0440デフォルトの名無しさん
2007/10/30(火) 20:45:410441デフォルトの名無しさん
2007/10/30(火) 21:34:33俺のN88BASICから始まる合計15年分の経験則は
その思い込みこそがプログラムにおけるもっとも危険な思考だと警告してる
0442デフォルトの名無しさん
2007/10/30(火) 21:56:30一時の思い込みで過去完璧に動いてきたプログラムをいじるのは、予想してるよりはるかにリスクが高い。
といいつつ、絶対に間違いのないプログラムなど決してない。
0443デフォルトの名無しさん
2007/10/30(火) 22:07:02リスクが高いと理解するのと自分が作ったものを盲信するのは次元が違うと思うがな
0444デフォルトの名無しさん
2007/10/30(火) 23:08:230445デフォルトの名無しさん
2007/10/30(火) 23:47:55自信を持つのは別に悪くは無いがそれを盲信するのは問題だろう
まず最初に疑うべきは自分自身とそのソースコードだ
それを理解した上で自分の知識と知恵と経験を総動員することこそがプログラムの醍醐味ではないのかね?
0446デフォルトの名無しさん
2007/10/31(水) 00:39:17コードの実績を信じる、という感じかな?
ぜーんっぜん関係なさそうな箇所の違いが、いままでの
実績の前提条件を崩してたのに気づく、とかいうことはあるな。
こういう熟成されたコードに修正を入れなきゃいけない問題が
出たら「あー、カビ生えちゃった」とか言わない? 言わないか・・・。
0447デフォルトの名無しさん
2007/10/31(水) 00:43:060448デフォルトの名無しさん
2007/10/31(水) 01:56:190449デフォルトの名無しさん
2007/10/31(水) 03:28:51最近環境整えた。
J2SE SDK 1.4.2
Eclipse 3.2.1
Doja 4.0
古い J2SE と古い Eclipse を探すのに苦労した。
どうせインストールするなら最新版をインストールしたかったな(´・ω・`)
0450デフォルトの名無しさん
2007/10/31(水) 04:08:280451デフォルトの名無しさん
2007/10/31(水) 10:12:020452デフォルトの名無しさん
2007/10/31(水) 13:12:40(すいません、N900iは Doja 3.5 でしたorz)
改めて質問・・・
Doja 3.5 は、Java6、Eclipse Europa(3.3.3)に対応していますか?
以下のサイト
http://www.nttdocomo.co.jp/service/imode/make/content/iappli/about/tool_foma2.html
を読むと、J2SE 1.3.1、Eclipse 2.1.1 にしか対応していないような書き方がされているのですが・・・
サイト側の情報が古いだけで、最新版でも問題ないのですか?
0453デフォルトの名無しさん
2007/10/31(水) 13:14:070454デフォルトの名無しさん
2007/10/31(水) 13:21:59どうせなら最新版インストールしたかったので・・・
とりあえずやってみます。結果報告は1週間後かもですがよろです。
0455デフォルトの名無しさん
2007/10/31(水) 13:42:46テキストエディタだけで作っちゃうからなぁ(´・ω・`)
0456デフォルトの名無しさん
2007/10/31(水) 13:46:280457デフォルトの名無しさん
2007/10/31(水) 14:19:35DoJa3.5のiαppliToolだと環境変数弄らんとJava6使うの面倒だったと思う。
5.0なら6使っても自動でコンパイルオプション付けてくれるから平気。
ついでにEclipse3.3でも5.0のプラグイン使える。
コンパイルは5.0ので平気だけど、3.5以降の拡張API使うとアウト。
気になるなら3.5もインストールして、
Eclipse側のライブラリのパスを書き換えとけばおk。
ちなみにEclipseでコンパイルするとアプリサイズが大きくなるんで、
最終的にiαppliToolで吐き出す前提で書いる。
Eclipseのみでよければ上記の制約は幾つか無くなる。
0458デフォルトの名無しさん
2007/10/31(水) 14:54:35DoJa5.0SDKのエミュレーター環境設定のビルドの設定でターゲットプロファイルをDoJa3.5にしておけば
4.0とかのAPIを使えばコンパイル時にエラー出してくれるよ
ただエミュレーターそのもので動かす際には5.0までのAPIが使えちゃうのと
微妙にだが5.0SDKでターゲットプロファイルを弄って吐かせたコードと
3.5SDKで吐かせたコードが異なる場合があるみたいなんで
完全に安全を期するなら3.5SDKも入れておいて普段は5.0SDKとそのプラグインで作って完成してから
3.5SDKでコンパイルして動作確認撮ればいいはず
0459デフォルトの名無しさん
2007/10/31(水) 18:58:20getKeypadState()メソッドを使って複数キーの同時押しにも対応させたつもりです。
エミュレーター上では、全ての同時押しを取得しそれぞれ表示できそうなのですが(ビープ音が鳴る個数以上は検証出来ない)
実機(N904i)では2個までしか取得できないでいます。(3個目は2個のうちどちらかが離されないと表示されない)
3個以上の同時押しキー取得はiアプリの仕様で無理なんでしょうか?
0460457
2007/10/31(水) 19:00:54Eclipse3.3でDoJaプラグイン試してないわ。
プラグインはEclipse3.0/3.1用とあるけど、3.2では動いた・・・の間違い。
0461デフォルトの名無しさん
2007/10/31(水) 19:02:00iアプリというより端末の仕様だな。
0462デフォルトの名無しさん
2007/10/31(水) 19:17:21同時押し前提のアプリは作らん方が良いよ。
0463デフォルトの名無しさん
2007/10/31(水) 19:51:45でなけりゃD504i,D505i,D505iSとか仕様に則ってないことになるぞ
つーか同時押しそのものに関しての記述がdocomoの資料にはない
0464デフォルトの名無しさん
2007/10/31(水) 20:29:350465デフォルトの名無しさん
2007/11/01(木) 04:47:58ぶっちゃけ無限プチプチのiアプリ版を作ったのですよ。
無限プチプチで2個までしか押せないとかヒドスw
端末の仕様か…もうどうしようも無いから開発終了orz
0466デフォルトの名無しさん
2007/11/02(金) 06:08:47私もstartでループしまくってるよ。スレッドを使うのは通信処理だけ。
ゲーム作ってるんだけど、音も出してるしprocessEventも使ってるけど問題ないよ。
全機種チェックして問題でなかったしユーザからもクレームは来てない。
ただ、これが正攻法ではないとは思うけどね。10Kアプリからの名残というか。
docomoもそこら辺わかってるから、このまま動かしてくれるんでないかな。
MIDPは2つスレッド作ってるけど。
数週間分まとめて読んだけど、上の件、結論出てたのか・・
しかしP900とN900の不具合はひどい。どれだけ悩んだか(1日だけど)・・対象外にしたいくらい。
あと、MLD。さっさと統一してほしいもんだ。
0467デフォルトの名無しさん
2007/11/02(金) 16:09:520468デフォルトの名無しさん
2007/11/02(金) 16:19:34YAMAHA音源のほうが合ってるのにね
0469デフォルトの名無しさん
2007/11/02(金) 16:59:02マジですか。
ちょっと悲しいけど、しょうがないな。
0470452
2007/11/02(金) 23:08:37だいぶ勘違いしていました。
DoJa 3.5 のアプリを作るには、DoJa 3.5をインストールしておいて、
開発環境は Java6 + Eclipse 3.3.3 + DoJa 5.0 で
拡張APIに注意しながらコードを書いて
(Eclipse側でライブラリのパスをDoJa 3.5のものに書き換えればOK?)、
その後、DoJa 3.5 SDKでコンパイルして動作確認する、と・・・
ところで、以前、DoJa 3.5のアプリを作ろうと思って J2SE 1.4.2 をインストールしたのですが、
Java 6 をインストールしたら、この J2SE 1.4.2 は削除してしまっても問題ないのでしょうか?
0471デフォルトの名無しさん
2007/11/03(土) 01:05:010472デフォルトの名無しさん
2007/11/03(土) 19:42:350473デフォルトの名無しさん
2007/11/03(土) 20:00:160474デフォルトの名無しさん
2007/11/03(土) 20:13:45MLDファイルをアプリ上で動的に再生成して、上手いことやれないのかな。
0475デフォルトの名無しさん
2007/11/03(土) 20:19:59音付きのエミュレータアプリがあるくらいだから出来ると思うけど激しく重そう
0476デフォルトの名無しさん
2007/11/03(土) 20:21:460477デフォルトの名無しさん
2007/11/03(土) 20:38:46国内他キャリア考えると、これはこれでめんどい話だ
0478デフォルトの名無しさん
2007/11/04(日) 00:18:13ADFのDrawAreaが240x320のアプリをデバックする際にDoja5.0の端末のデフォルトが240x240らしく、
「DrawArea の値が不正です」というエラーが返ってきます。
0479478
2007/11/04(日) 00:20:33見当違いなところをずっと探してました・・・
0480デフォルトの名無しさん
2007/11/04(日) 01:58:450481デフォルトの名無しさん
2007/11/04(日) 02:04:20ttp://www.n-keitai.com/pickup/n905i/
FUETRECは、あまり情報を公開してくれないから嫌い
0482デフォルトの名無しさん
2007/11/04(日) 23:23:02ADPCMは再生可能。
0483デフォルトの名無しさん
2007/11/05(月) 00:32:270484デフォルトの名無しさん
2007/11/05(月) 15:32:33MLDが統一されていないのはdocomoが主導してハードの上に1枚被せるようにしなかったのが悪い。
foma切り替え時にでもやれただろに。
0485デフォルトの名無しさん
2007/11/05(月) 15:45:45価格差や設計の難易度に響くからできないんでしょ。
mdlの差分がどーのこーので困るって一部の開発者の都合だし。
その視点でものを言えば
そもそもDoJaとMIDPとBREWが存在すること自体ウザイ訳でw
0486デフォルトの名無しさん
2007/11/05(月) 17:06:270487デフォルトの名無しさん
2007/11/05(月) 17:47:450488デフォルトの名無しさん
2007/11/05(月) 17:49:19DojaとMIDPはなんとかなってもBREWはどうしようもないもんなぁ・・・
0489デフォルトの名無しさん
2007/11/05(月) 17:55:14Canvas1(タイトル画面)→Panel(入力画面)→Canvas2(メイン画面)という構成のiアプリを作成しています。
PanelとCanvas2をsetCurrent()メソッドを使用して、相互に画面を切り替えられるようにしたのですが、
Canvas2でキー操作を行ったあとで、Panelに画面を切り替えると、
Canvas2で行ったキー操作が、なぜかPanelでも反映されてしまいます。
どなたかこの問題を解決する方法を教えていただけないでしょうか。
よろしくお願いします。
0490デフォルトの名無しさん
2007/11/05(月) 18:00:310491デフォルトの名無しさん
2007/11/05(月) 18:15:36キーイベント受けてから少し待ってsetCurrent
0492デフォルトの名無しさん
2007/11/05(月) 18:59:36見当違いなことを聞いていたらすみません。
少し待つというのは、たとえば、Thlead.sleep(1000)
とすればいいのでしょうか?
待ってみてもやはりキー操作が反映されてしまいます。
0493デフォルトの名無しさん
2007/11/05(月) 19:17:45おしい
0494デフォルトの名無しさん
2007/11/05(月) 21:09:380495デフォルトの名無しさん
2007/11/05(月) 22:25:590496デフォルトの名無しさん
2007/11/06(火) 00:04:02すみません!
Thread.sleep()ですね。
でもできませんでしたorz
0497デフォルトの名無しさん
2007/11/06(火) 01:11:370498デフォルトの名無しさん
2007/11/06(火) 02:28:44組んで新しい携帯用のプロファイル作るって話はどうなった?
0499デフォルトの名無しさん
2007/11/06(火) 02:43:26つーかそんな内容だったっけ、もう忘れちゃったよ
0500デフォルトの名無しさん
2007/11/06(火) 05:00:08というかsun側が正式にDoJaをプロファイルの一つに入れるとかじゃない限り
今更DoJaの既存クラス大幅変更なんてできないだろ
旧メソッドを残して上位互換としてクラスを変更してくってのもまたデバグとかの面でかなり面倒だし
0501デフォルトの名無しさん
2007/11/06(火) 10:19:12processEvent内でThread.sleepは無効と思っとけ。
前スレの後の方にprocessEvent使わないサンプルあるから使ってみれ。
>>497
キーアップでもパネルにキーイベントが残る端末があったような。
0502デフォルトの名無しさん
2007/11/06(火) 14:33:13Java EE 6 (java_ee_sdk-5_03-preview2-windows.exe)でも Doja 3.5 アプリの開発できますか?
Windows XP sp2 です。
ここさえ乗り越えれば、アプリ作り放題の日々が待っているんです。
0503デフォルトの名無しさん
2007/11/06(火) 14:43:36前回、457を読んだ時はレベルが高すぎて・・・もう少し環境整えたら
もう一度再読しようと思ってたんだっけ・・・。
Java 6 で i アプリを開発する場合は、DoJa 5.0 を入れて DoJa 5.0 のコンパイルオプションを利用する、
でしたね。
Java EE は、 Java SE も含んでいるから・・・問題ない、と。
すみません、解決しましたm(._.)m
端からみると、同じような質問を繰り返してるようにしか見えませんねorz
0504デフォルトの名無しさん
2007/11/06(火) 18:35:280505デフォルトの名無しさん
2007/11/06(火) 18:58:570506デフォルトの名無しさん
2007/11/06(火) 23:06:43現在Doja5.0でマスコットカプセルを使って
COMMAND_RENDER_QUADS(四角形ポリゴン)をコマンドリストで描画させているのですが、
テクスチャBMPの(0.0)の座標に置いてある「16ドット四方のグラフィック」を単純に画面左上に等倍の大きさで貼り付けたい場合、
4つの頂点座標は平行投影で
( 0, 0) (16, 0) (16,16) ( 0,16)で、
その場合UVをおなじく
(0,0) (16,0) (16,16) ( 0,16)
にすると、右側1ラインと下側1ラインが1ドットずれてテクスチャマッピングされてしまいます。
この場合UV指定は16ではなく15にしないといけなかったりしますか?
0507506
2007/11/06(火) 23:15:39テクスチャ座標 ( 0, 0) (16, 0) (16,16) ( 0,16)
UV座標 ( 0, 0) (16, 0) (16,16) ( 0,16)
だと、 スクリーン上の16ドット四方の領域に 15ドット四方のテクスチャがマッピングされている、といった感じになってしまいます。
とすると
テクスチャ座標 ( 0, 0) (16, 0) (16,16) ( 0,16)
UV座標 ( 0, 0) (17, 0) (17,17) ( 0,17)
にすればいいのでしょうか・・う〜ん
0508デフォルトの名無しさん
2007/11/07(水) 00:13:440509デフォルトの名無しさん
2007/11/07(水) 06:20:00>361と同じ話か?
0510デフォルトの名無しさん
2007/11/07(水) 11:47:11http://www.polpe.com/m/rq?h=X4ER5I32J3OqiXX0gUcIg4qKPh9GA815
0511デフォルトの名無しさん
2007/11/07(水) 14:17:53いくつなんですかね?
もう公式発表されてましたっけ?
0512デフォルトの名無しさん
2007/11/07(水) 15:10:29705iは知らんが、905iは5.1かね。
5.1の開発ガイドとエミュはすでに一般公開されてる。
0513デフォルトの名無しさん
2007/11/07(水) 17:38:580514デフォルトの名無しさん
2007/11/07(水) 17:42:28え・・・ストリームからデータを読み込むときに戻り値で把握できるはずなんだが
なんで「どれくらい通信が済んでいるか」を取得したいと考えたのかそれが不思議
0515デフォルトの名無しさん
2007/11/07(水) 17:50:12ストリームから読み始められる時。つまり
HttpConnectionのconnect()が制御を返した時って、既に通信は全て終わっていませんか?
ストリームからどれくらい読み出せているかを表示したいのではなく(それは一瞬だと思いますので)、通信があとどの程度で終了するのかを表示したいのです
0516デフォルトの名無しさん
2007/11/07(水) 17:56:44一瞬で終わるのなら終わりでいいだろうに・・・
というかそもそも1回の通信で150kbしか受信できないのは知ってる?
0517デフォルトの名無しさん
2007/11/07(水) 17:59:05何バイト受信したかをリアルタイムで知りたいってんだろ?
答え:不可能。
以上。
0518デフォルトの名無しさん
2007/11/07(水) 18:05:08いくらなんでも読解力無さ過ぎ
0519デフォルトの名無しさん
2007/11/07(水) 18:05:15受信バッファを仮に1024byte分用意して、byte[] buf = new byte[1024];
それで細切れに読み込んで、今何回目の読み込みかで計測するくらいはできる。
でもそれで描画処理まで挟むのは面倒臭いと思う。
1ファイル完了ごとに(=1回の通信をクローズするごとに)バーを進めるくらいならまぁ。
0520デフォルトの名無しさん
2007/11/07(水) 18:07:470521デフォルトの名無しさん
2007/11/07(水) 18:09:15不可能ですか。ありがとうございました
>>519
ストリームからの読み込みは超速いので描画処理挟むのは微妙ですよね。
1ファイルを小さくすれば細かくバーを進められますね。
接続準備時間がもったいないから絶対やりませんけどw
150KBをDLしきるのはそこそこ時間かかるので、その間バーを(正しく)進めたかったんですけどね…
勝手にちょっとずつ伸びてく偽バーで「進んでるように見せる」のはアホらしいですよね…
0522デフォルトの名無しさん
2007/11/07(水) 18:35:37いや、アホらしいんじゃなくてそれが普通。
ダウンロード中のバイトサイズまできっちり制御できんのはBREWくらい。
0523デフォルトの名無しさん
2007/11/07(水) 19:33:040524デフォルトの名無しさん
2007/11/07(水) 19:37:37計算できないこともないけど、よくある例としては
・進んでるように見せるバー(IEとか某フルブラウザとか)
・アニメーションするバー(Windows起動時とかiTunesとか)
・アニメーションする画像(古いIEの地球儀アイコンとか)
0525デフォルトの名無しさん
2007/11/07(水) 19:41:35UNIXとかWindowsとかでも>>519見たいに細切れに読みながらバーを進めるのが普通のやり方のはずだが・・・
0526デフォルトの名無しさん
2007/11/07(水) 20:03:23[受信サイズ/contentlength]を表示すればよいだけじゃないの?
ファイルが複数ならそれも考慮すればいいだけだし。
おれはそうやってるが。
0527デフォルトの名無しさん
2007/11/07(水) 21:51:21526は、Java側で処理した量の話
0528デフォルトの名無しさん
2007/11/07(水) 21:52:1010Kくらいずつならファイル分割してもいいんじゃないか
0529デフォルトの名無しさん
2007/11/07(水) 22:00:41仮に終わってるような短時間の通信であればそんなのを考慮する意味がない
0530デフォルトの名無しさん
2007/11/07(水) 22:00:51最低でも5.0LEかな
L705i,L705iXが500Kアプリ
NM705iが30+200Kアプリであることと
それ以外がメガアプリ対応であることが判明してる
0531デフォルトの名無しさん
2007/11/07(水) 22:04:45L705i,L705iX,NM705i以外は最低でも5.0LE
0532デフォルトの名無しさん
2007/11/07(水) 22:11:21ソース出せよって煽りじゃなくて
関係者情報リークだったら無茶すんなって意味でw
0533デフォルトの名無しさん
2007/11/07(水) 22:19:43ttp://www.nttdocomo.co.jp/product/foma/705i/l705i/spec.html
ttp://www.nttdocomo.co.jp/product/foma/705i/l705ix/spec.html
ttp://www.nttdocomo.co.jp/product/foma/705i/nm705i/spec.html
上記以外は自分でurl調べてサイトの方みてくれ
全部メガiアプリになってるから
0534デフォルトの名無しさん
2007/11/07(水) 22:24:31実際の500K(500K以内であればJARとスクラッチパッドのサイズ比は自由)アプリか100+400Kアプリかどうかは判別できない
0535デフォルトの名無しさん
2007/11/07(水) 23:38:16う話がありましたが、仕様を満たすには、start()のメインループ部分を
別スレッドにしちゃうとかで解決できるんでしょうか?
この場合、IApplicationにRunnableを実装して、run()にメインループを押
し込んじゃえばいいんでしょうか?
Canvasを使うの初めてなんで、どうせ創るなら仕様を満足した方がいい
かと思って。
0536デフォルトの名無しさん
2007/11/08(木) 00:29:14個人的考えだけど、携帯Javaは今後携帯電話向けFLASH+AS3かFLASH+AIRの
つなぎとして生きて消えていくしかないよ
ドコモも「共通仕様? 利益にならんでしょ」と言っちゃう会社だしな
サンは知らんが、当のドコモはもうやる気ないだろうし、アプリ関係はアドビに任せたいだろ
BREWの進化の早さっぷり見てれば、数社で独自仕様をさっさと進化させて
金に換えれる方がいいじゃないか。MIDPの停滞ぷりをみよ
0537デフォルトの名無しさん
2007/11/08(木) 01:02:56resフォルダにでかい画像ファイルなんかを入れて再コンパイル
ソースを適当に組み替えて再コンパイル
のどちらかの方法で一応実行できる様にはなる
どうやら最近あったwindowsアップデートの影響らしいんだけど
皆はどうですか?
0538デフォルトの名無しさん
2007/11/08(木) 03:04:42| ノ\ ヽ |
/ ●゛ ● | |
| ∪ ( _●_) ミ j
彡、 |∪| | J
/ ∩ノ ⊃ ヽ >>536
( \ / _ノ | |
.\ “ /__| |
\ /___ /
0539デフォルトの名無しさん
2007/11/08(木) 03:07:18でなければかなり偏ってる
いずれにしろ参考にならない
0540デフォルトの名無しさん
2007/11/08(木) 10:05:09Bindingにしかアクセスできないんだけど調査不足?それとも気のせい?
全部をダウンロードさせるのって結構面倒なんだけど
0541デフォルトの名無しさん
2007/11/08(木) 12:47:190542デフォルトの名無しさん
2007/11/08(木) 13:25:42前スレをみて少しやり方を変えたら問題が解決しました。
ありがとうございました。
0543デフォルトの名無しさん
2007/11/08(木) 14:08:53905はdoja5.1って書いてあるな。
これが公式発表みたいなもんかね。
0544デフォルトの名無しさん
2007/11/08(木) 19:19:00しかもそのまま使いつづけていくと劇的に処理速度が低下していき、FPS60なんて保ってられず・・・
みなさんどのように対策してますか?
同じアプリでもN903iやF903iは問題なく開放されました
・開放されてない
System.getRuntime().getFreeMemory() で空きを調査して、空きが増えることは一切なく減る一方
String str = "ほげ";
str = null;
System.gc();
をループさせるだけでも、どんどん"ほげ"がメモリーリーク(と呼んでもいいかも)していきメモリーがガンガン減っていく
・ループ
IApplicationのstart()内で無限ループしている状態
0545fr
2007/11/08(木) 19:20:26ポケモンが熱い
http://62.xmbs.jp/yosukeapuri/
0546デフォルトの名無しさん
2007/11/08(木) 19:59:15そもそも、文字列リテラルの代入だけではピープは消費しない
携帯でなくても、Java SEで試せばわかる
それなのにピープの空き容量が変わるということは、どこか別のところに問題がある
やるならこう
String str = new String("ほげ");
0547デフォルトの名無しさん
2007/11/08(木) 20:29:06ごめん、思い出しながらコード書いたもので間違えた
とりあえず、newしたものをnullいれて、System.gc()しても空きメモリーが回復しないのは確かでした
他携帯なら問題なかった(903だけではなく、いろんな901や902でも試した)ので、コードに問題があるとはあまり思えないところです
0548デフォルトの名無しさん
2007/11/08(木) 21:23:240549デフォルトの名無しさん
2007/11/08(木) 21:24:52何を覗くんだ?
0550デフォルトの名無しさん
2007/11/08(木) 21:30:15System.gc()のあとにThread.sleep()入れても意味ないかな。わからんが。
どうにもならなかったら
高速性を要求されるところでは、なるべくメモリを動的に確保しないようにする
で対策なのかな。(対策って言うんかこれ)
0551デフォルトの名無しさん
2007/11/08(木) 22:25:11問題は、高速性を要求されなくなったから「さあ溜まってたゴミを捨てようか」と思っても捨てられないこと
N904に正式に対応する場合、起動時に全て静的にとるなんていう馬鹿コードになる可能性が・・・
0552デフォルトの名無しさん
2007/11/08(木) 22:34:21FPS60がどのくらいまで落ち込むの?止まるの?
0553デフォルトの名無しさん
2007/11/08(木) 22:53:55はっきりいってボロボロです
耐久テストしてるので明日また報告します
0554デフォルトの名無しさん
2007/11/08(木) 22:56:070555デフォルトの名無しさん
2007/11/08(木) 23:40:240556デフォルトの名無しさん
2007/11/08(木) 23:48:06その機種が壊れてるんだよ
初期出荷の携帯はシステムにバグが多い
アップデートする必要があるかもしれないからDSに聞いてみるといい
0557デフォルトの名無しさん
2007/11/09(金) 00:19:10その可能性もありますね
OSアップデートで修正される(初期出荷時には間に合わなかった?)かもと
正直こんな仕様じゃ、既存リリースのアプリが何一つまともに動きませんからね
・Thread.sleepを入れてみる
・IApplication#start()の中で無限ループするのをやめてみる
・OSをアップデートしてみる
明日これらを試してみますが、他にもアイデアがあればよろしくお願いします
0558デフォルトの名無しさん
2007/11/09(金) 01:35:080559デフォルトの名無しさん
2007/11/09(金) 09:19:34メモリー量を画面に表示していたのですが、その際
g = img.getGraphics();
g.drawString(略);
g.dispose();
を行なっており、原因はこれです
N904iはgetGraphicsしたGraphicsを、きちんとdisposeしてもリークさせるようです
解決策としては一度作ったGraphicsは生成しなおさないということになりますが、複数持ちたい場合困りますね・・・
0560デフォルトの名無しさん
2007/11/10(土) 12:10:00絶対バグありまくりだよ
0561デフォルトの名無しさん
2007/11/10(土) 13:37:10そんな症状は出ない
0562デフォルトの名無しさん
2007/11/10(土) 14:39:00imgも一緒に開放(dispose)してもリークする?
0563デフォルトの名無しさん
2007/11/10(土) 20:15:58長く使うと携帯は壊れるものなのかもしれない
0564デフォルトの名無しさん
2007/11/10(土) 23:31:420565クリフト
2007/11/12(月) 14:08:21タッチアクションの処理をボタンの長押しにするには下のソースコードをどう変形すればよいでしょうか?
// タッチアクションの処理
public final void touchControlAction (TouchControl source, int type, int x, int y) {
// Rightボタンの押下
if (source == rightButton && type == TouchControlListener.CLICKED) {
i++;
0566デフォルトの名無しさん
2007/11/12(月) 14:14:55使ったこと無いけどメインループ作れって事で。
if( source == rightButton ) {
bRight = type == TouchControlListener.CLICKED;
}
メインループ
if( bRight ) {
i++;
}
0567クリフト
2007/11/12(月) 18:42:51ありがとうございます。
うまくいきませんね。もうチョイがんばってみます。
0568デフォルトの名無しさん
2007/11/12(月) 19:40:41うまくいかないって touchControlAction の中に
ループ作ってるってオチじゃないよな?
0569デフォルトの名無しさん
2007/11/12(月) 19:57:52http://polpe.com?g=12jfasd345sdf
http://polpe.com?g=1h5g6dh564hdf
http://polpe.com?g=4h6d54h64h6sr
http://polpe.com?g=4ty6r4t64f8m8
0570デフォルトの名無しさん
2007/11/13(火) 01:22:29携帯Javaの利点ってなんでしょう?私も組み込みプログラマ
の端くれでCでitronやLinuxで開発しています。で、結構
速度の要求だけは顧客から来るので、省メモリコピーなどに
腐心していて、C++ですら使いたくても使えないような状況なんです。
組み込みJavaの利点って、汎用のフレームワークがあるから
という、単なるプラットフォームの問題だけなのかな?
だとしたら、ソフトバンクやGoogleなんかが提唱しようとしている、
OpenKODE(OpenGL/ES)ベースのプラットフォームが、無償で提供されて、
高速だったりすると、そっちのほうがよかったりするのかな。
素朴な疑問です。
0571デフォルトの名無しさん
2007/11/13(火) 01:32:58スレ一覧よく見てください
0572デフォルトの名無しさん
2007/11/13(火) 02:01:40int foo[5]; みたいな配列で foo[10]=8; とかやったらどうなるかって事
0573デフォルトの名無しさん
2007/11/13(火) 03:11:04そんなにスレ違いとも、おもわないんだが。
0574デフォルトの名無しさん
2007/11/13(火) 04:30:340575デフォルトの名無しさん
2007/11/13(火) 07:58:14Javaにどんだけ利点があろうがなかろうがウンコだろうがiMODEで商売しようと思ったら
Java使うしかないんです><
汎用フレームワークがあるっていうかそれしかないっていうか
0576デフォルトの名無しさん
2007/11/13(火) 09:20:44面白いぞ、たとえ実用性は二の次でも。
0577デフォルトの名無しさん
2007/11/13(火) 09:42:22そんな現状動かないものを考慮してもしょうがない
携帯アプリを作る選択肢が携帯JavaかFlashかJSしかない
ただそれだけ
0578デフォルトの名無しさん
2007/11/13(火) 11:15:110579デフォルトの名無しさん
2007/11/13(火) 13:00:030580デフォルトの名無しさん
2007/11/13(火) 15:29:39セキュリティを管理するOS が無かった昔の携帯電話で、
セキュリティの問題なくアプリを動かすには
(a) Java 等のサンドボックスで守る方式
(b) BREW等の検証済みの公式アプリしか使わせない方式
のどっちかが必要だったわけです。
いまでも実際には似たようなもんで、ネイティブコードのアプリを実行
できる式の携帯電話は大抵ハックされてるよね。
0581デフォルトの名無しさん
2007/11/13(火) 20:13:46GoogleのアンドロイドSDKが公開されましたね。
http://code.google.com/android/what-is-android.html
予想通りOpenGL/ES採用しているっぽい。JavaのVM(Dalvik)が、
OpenGL/ESと並列で並べられているということは、携帯Java
を追い落とそうという意志が感じられないでもない。
0582デフォルトの名無しさん
2007/11/13(火) 20:23:330583デフォルトの名無しさん
2007/11/13(火) 20:33:360584デフォルトの名無しさん
2007/11/13(火) 21:29:26適当に作っても平気なのはかなりのメリットだな。
javaもC/C++に比べれば全然簡単だし、
学生が遊び感覚で作れるのはいいとおもう。
0585デフォルトの名無しさん
2007/11/13(火) 21:39:53OpenGL/ESはドコモもすでに採用してるわけだが
JavaとOpenGL/ESを無料に関連付けて何がしたいんだろう?
0586デフォルトの名無しさん
2007/11/13(火) 21:45:11エミュのバグでしょうか。
sleep(10)=16
sleep(20)=31
sleep(30)=31
sleep(40)=47
sleep(50)=63
sleep(60)=62
sleep(70)=78
sleep(80)=94
sleep(90)=94
sleep(100)=109
ちなみに実機だと正しくスリープしてました。
0587デフォルトの名無しさん
2007/11/13(火) 22:00:56制度そんなに高く無いお
0588デフォルトの名無しさん
2007/11/13(火) 22:09:22げっ、アンドロイドのアプリケーションフレームワーク部って
結局、全部Javaなんか・・・。
0589デフォルトの名無しさん
2007/11/13(火) 22:21:09そーゆーもんなのか
ここまで違うとゲームの難易度に差が出て調整がしずらいな
自分の携帯はソフトバンクだから実機動作は友達に頼むしかないorz
一応実機
sleep(10)=10
sleep(20)=22
sleep(30)=31
sleep(40)=42
sleep(50)=52
sleep(60)=61
sleep(70)=71
sleep(80)=82
sleep(90)=92
sleep(100)=102
0590デフォルトの名無しさん
2007/11/13(火) 22:35:32実機テストを一機種でしかしてないのにリリースするのはあんまり良くないし。
正直、ソフトバンクが人気でMNPで人が流れて行ってるのが不思議なくらい
あそこはまともじゃない企業なんだが・・・
0591デフォルトの名無しさん
2007/11/14(水) 07:44:11Windowsのタイマーの精度が15.525msだから
0592デフォルトの名無しさん
2007/11/14(水) 10:25:28sleepの精度は端末に依存だからちゃんと経過時間を計ってやらないとだめだよ
0593デフォルトの名無しさん
2007/11/14(水) 10:57:18ちなみに、30kダウンロードすると約50円だから
友達無くさんようにな。
0594デフォルトの名無しさん
2007/11/14(水) 11:49:430595デフォルトの名無しさん
2007/11/14(水) 11:57:45sleep時間が難易度に影響するような構造がそもそもおかしいんじゃ
0596デフォルトの名無しさん
2007/11/14(水) 12:44:43sleep()じゃなくてSystem.currentTimeMillis()使った方がいいってのが
以前にスレで出た気がする。
0597デフォルトの名無しさん
2007/11/14(水) 14:31:41byte配列に置いた文字列を随時読み込んで画面表示したいです。
Stringのコンストラクタなら文字コードも指定できて良い塩梅と思っていたら
作っているうち、newを連発しているのが気持ち悪くなってきてしまいました。
最終的にStringBufferにappendできれば良いかと考えて、byte[]をchar[]に
変換しようとしたところで詰まってまs。
byte[]に文字列を置いた場合は、どういう方法で変換・表示するのが格好良い?
0598デフォルトの名無しさん
2007/11/14(水) 15:26:34newを連発する意味がわからないな。
Stringのコンストラクタで文字列にしたら後はそれを保持してればいいのでは。
byte[]の中身が変化するというなら、その都度newするのは当然。
「new連発が気持ち悪い」と気にする必要はないよ。
それでも何かこだわりがあるならJava一般スレ行って聞いてみて。
0599デフォルトの名無しさん
2007/11/14(水) 16:19:38スクラッチパッドに有る圧縮した文章を、こまめに伸張しつつ
ブックリーダ的に表示できないかな、と思っていたので、数秒
に一度は新しくStringを読んでくることになりそうです。
スレのちょっと前を読んでいたら、503iを試した時にSystem.gc()
がうまく動かないのと四月問題が嫌になってiアプリから離れた
記憶が蘇ってしまい、ちょっと疑心暗鬼気味になってしまった
ようです。
今のDoJaは大丈夫だから、どんどんnewすりゃいいじゃん、と
言われれば、本当にその通りだと思います。質問しておいて
なんですが。
0600デフォルトの名無しさん
2007/11/14(水) 16:34:24newがオブジェクトを確保することだと思ってないとか?
0601デフォルトの名無しさん
2007/11/14(水) 16:35:520602デフォルトの名無しさん
2007/11/14(水) 16:52:26DoJaがサポートするのはSJISのみ
0603589
2007/11/14(水) 17:09:35こんな感じでいいのかな?
long sleep1=0,sleep2=0;
int hosei=0;
wihle(true)
{
処理
int myTime=50; //50msスリープする
str.Millis=System.currentTimeMillis();
sleep1+=myTime-str.Millis+hosei;
if(sleep1>0)Thread.sleep(sleep1);
if(str.Millis-sleep2>myTime)hosei--;
if(str.Millis-sleep2<myTime)hosei++;
sleep1=sleep2=str.Millis; //現在の時間を記録
}
0604デフォルトの名無しさん
2007/11/14(水) 17:25:14InputStreamReaderとByteArrayInputStreamの組み合わせで解決したようです。
ありがとうございました。
配列をストリームとして読む発想が無かったようです。
0605デフォルトの名無しさん
2007/11/14(水) 17:27:14いやsleep()に指定した時間分きちんとsleepすることが保障されてないわけだから
sleepがどうこうは関係なくて経過時間分の処理をする
time = 0
white(true) {
start = System.currentTimeMillis();
処理(移動などの処理はtime時間分の計算をする)
time = System.currentTimeMillis() - time;
}
こんな感じ
0606デフォルトの名無しさん
2007/11/14(水) 17:28:58アニメ処理等でなるべくきっちり合わせたいときは、ちょっと少なめにSleepしてから
ビジーループで目的時刻を待つと良いよ。
0607605
2007/11/14(水) 17:29:04time = 0
white(true) {
start = System.currentTimeMillis();
処理(移動などの処理はtime時間分の計算をする)
time = System.currentTimeMillis() - start;
}
0608デフォルトの名無しさん
2007/11/14(水) 17:35:36全部にtimeを掛けてたら大変だし。
0610デフォルトの名無しさん
2007/11/14(水) 17:42:13どうやって固定にするん?
0611デフォルトの名無しさん
2007/11/14(水) 17:50:11前スレのFPS固定ロジックでいいんでないの?
sleepが嫌なら while(time > System.currentTimeMillis() ); みたいな感じで済む話だし。
座標計算だけならいいけど、sprite使ったアニメーションにまでtime掛けて管理とか、
どうしてもメインスレッドをsleepしたい場合やサスペンド対応考えると
time一個でどうにかすんのはムズいんじゃないかな。
まぁ時間で管理したほうが確実なんだけどさ。
0612デフォルトの名無しさん
2007/11/14(水) 19:35:15げ、エミュって内部でタイマーなんて使ってんのか
System.currentTimeMillisですら16ms単位くらいで値よこすから、エミュだとデバッグしづらくなってきたんだよなぁ
ちなみに仕事では当然のようにビジーループ
「sleepにすると電池の消費が少なくなる」なんてのはP504iだけだったと記憶してる
0613589
2007/11/14(水) 20:07:29ビジーループで時間計ったけどsleepの時と変わらなかったのは
System.currentTimeMillisでも16msだったからか
0614デフォルトの名無しさん
2007/11/14(水) 20:09:550615デフォルトの名無しさん
2007/11/14(水) 20:10:450616デフォルトの名無しさん
2007/11/14(水) 20:12:590617デフォルトの名無しさん
2007/11/14(水) 20:16:10実機でログ取るべき。
大抵は10msec単位またはもっと正確な値が取れる。
0618デフォルトの名無しさん
2007/11/14(水) 21:57:30いままでiアプリではGIFとJPEGしか扱えないと思っていたのですが、PNGもいけるのでしょうか?
(これは実機で確かめればいいとしても)
対応画像形式一覧みたいなものをMediaImageの項などで探してみたのですが、見当たりません
どの資料かにまとまってますでしょうか?
0619デフォルトの名無しさん
2007/11/14(水) 22:33:28別のプロセスを立ち上げておけばいいんでない?
自分で作るのが面倒ならメディアプレイヤーで何か再生してやるとか
sleepの実装がWin32APIのSleepを呼んでるなら1ms単位になるはず
0620デフォルトの名無しさん
2007/11/14(水) 22:44:20iアプリ開発ガイド詳細編を読もう
0621デフォルトの名無しさん
2007/11/14(水) 23:28:01sleepにしてもバッテリ消費にはあまり影響ないのね。
描画(2D)を減らしたら消費減るのかな、とか興味があって、
1度検証してみたいとは思ってたけど結局やってないなぁ。
0622デフォルトの名無しさん
2007/11/15(木) 00:38:25なんでいつまでたってもPNG対応しないんでしょう。SoftBank版と互換したいのに
0623デフォルトの名無しさん
2007/11/15(木) 00:46:58大人の事情だろう
0624デフォルトの名無しさん
2007/11/15(木) 00:49:030625デフォルトの名無しさん
2007/11/15(木) 01:15:30制限あるけど。
0626デフォルトの名無しさん
2007/11/15(木) 02:27:390627デフォルトの名無しさん
2007/11/15(木) 02:47:34最初の方のフレーム制御関係を参照したかったんですが。
0628デフォルトの名無しさん
2007/11/15(木) 08:38:580629デフォルトの名無しさん
2007/11/15(木) 09:08:290630デフォルトの名無しさん
2007/11/15(木) 09:46:49対応に関してのコストはどこから出るのでしょうか
0631デフォルトの名無しさん
2007/11/15(木) 11:38:050633デフォルトの名無しさん
2007/11/15(木) 16:18:350634デフォルトの名無しさん
2007/11/15(木) 18:45:13過去ログ読もうとしたらよむ方法かかれてるでそ?
0635デフォルトの名無しさん
2007/11/15(木) 19:27:56画像を表示させるってのはできるのかな?
ロゴとかをずっと表示させときたいんだけどさ
0636デフォルトの名無しさん
2007/11/15(木) 19:36:430637デフォルトの名無しさん
2007/11/15(木) 21:16:40それ意味無い
おそらくエミュはShortTimer使ってる。もう完全にアホの仕事
ちなみにMSNMessengerがtimeBeginPeriod(1)してくれてるぞ。豆知識な
0638デフォルトの名無しさん
2007/11/15(木) 21:44:160639デフォルトの名無しさん
2007/11/16(金) 00:35:35ProGuardってマイナーなのかな?
ProGuard3.7を使ってて特に問題なさそうなのだけどトラブル経験ある人いるんかな。
4.0、4.1と出てるけどどうなんだろ。
0640デフォルトの名無しさん
2007/11/16(金) 00:54:31他の2つは2年以上更新されてないから心配。
0641デフォルトの名無しさん
2007/11/16(金) 01:02:21おいw
0642デフォルトの名無しさん
2007/11/16(金) 03:26:36特に900以降の場合サポートされていないので、現在では使用していない。
今俺がやっているのは
ProGuard(3.10)→Jarg(バージョン忘れたが最新)→7-Zipだな
0643デフォルトの名無しさん
2007/11/16(金) 07:27:22ただし圧縮率を上げまくると実機で動かない場合が出たが・・・
もしも購入出来る金があるのであればお勧め。
0644デフォルトの名無しさん
2007/11/16(金) 10:41:47大きくなるケースがあるな。
具体的な不具合が出ない限りは小さくなるバージョン使ってるがw
0645デフォルトの名無しさん
2007/11/16(金) 11:11:57プレイヤーは正直思いつかない
0646デフォルトの名無しさん
2007/11/16(金) 21:52:323.8と比べて2kくらいは減る。3.9/3.10は3.8よりでかくなる。
もうこれでないと100kにおさまらねぇwww
0647デフォルトの名無しさん
2007/11/17(土) 09:05:18ちなみにエミュでは正常に動く。
ちゃんと初回起動時に
PhoneSystem.setAttribute(PhoneSystem.DEV_KEYPAD, 1);
した。あと、実機はN904i
0648デフォルトの名無しさん
2007/11/17(土) 09:49:15公式にある資料くらい見ろ。
(各機種オプションAPI・拡張API実装状況のPDF)
903/904/703/704ではクリアキーが実装されている機種はない。
そもそも、クリアキーはKEY_IAPPと同一キーではないのか?
0649452,470...
2007/11/17(土) 11:50:12理解しないと気がすまなくなってきた…
いや、そんなことを言いにきたのではなくて
Googke で「doja 5.0 N900is」で検索かけたら、
このスレの俺の発言が1ページ目に表示された。orz
Eclipse+Doja5.0でDoja3.5アプリ作れるかどうか報告するといっておいて
実はまだ実行まで辿りつけないんです・・・スマソ
ここまで、考えられるエラー全て見てきた気がする。orz
一度、eclipse は忘れて、Doja だけで作ってみよう。
0650649
2007/11/17(土) 15:17:34Doja-5.0 DK で HelloWorld プロジェクト作ったら、正常に動いた。
始めて成功して感動した。
あとは、N900iS でも動くように、Doja-3.5 アプリを効率よく作る環境を整えるだけなのだが・・・
とりあえず、Doja-3.5 と Doja-5.0 の API リファレンスは用意した。
リファレンス見比べながら、3.5にない API を使ってしまわないようにしながら、
Doja-5.0 の機能を利用できればいいわけか・・・。
独り言はここまでにしときます。
ただ、Doja-5.0 DK でコンパイルしたとき、何故か JDK 1.5 compile ... と表示されたのが気になる。
確かに、うちのPCには、Java 1.5.0 と 1.4.2 と 1.6 が入ってるけれど・・・
JDK 1.6 の JAVA_HOME も設定したし、JDK 1.6 の Path も通したし問題はないはず。
(まだ問題が起きていないだけか)
ま ぁ い い や 。
エミュレータを動かせたので大満足。次はアップロード先を探さなきゃ・・・
チラ裏スマソ
0651デフォルトの名無しさん
2007/11/17(土) 15:26:31頑張ってるみたいなんでもうひとつアドバイス。
・JDKインストール
・OS再起動
・Eclipseインストール(pleiadesのどれか適当に)
・iαppliToolインストール
・Eclipseを立ち上げてワークスペースをiαppliToolのappsに設定
・helloWorldプロジェクト作成
・srcフォルダにソースを作成
・実行→構成および実行でDoJa5.0アプリケーションのフィルタを作って実行
・動いたら apps/helloWorld/bin/ にある
helloWorld.bin,helloWorld.jam,download.htmlの3つをサーバへアップロード
・携帯からdownload.htmlへ接続、アプリをダウンロード
・携帯でアプリ実行
で、どーよ?
0652デフォルトの名無しさん
2007/11/17(土) 15:58:17原因はなんでしょうか。
System.gc()で終了したので消してみたら
次はImageのuse()の16回目の呼び出しで終了しました。
catchも呼び出されません。
0653デフォルトの名無しさん
2007/11/17(土) 16:13:020654デフォルトの名無しさん
2007/11/17(土) 16:29:52proguardをかけた後、逆アセしてコード見てればいいんじゃねぇ?
時々変なコードに変換されているときあるから。
それでそれがローカル変数で問題になら、その変数をクラス変数に替えることで
正常に動作するというときもある。
0655デフォルトの名無しさん
2007/11/17(土) 16:50:560656デフォルトの名無しさん
2007/11/17(土) 16:59:520658654
2007/11/17(土) 19:49:16逆アセって言い方が悪かったのかな?デコンパイルって言えばいいのかな?
jad.exeの引数にクラスファイル指定するだけだから簡単にできる。
出力されるソースも、ほぼjavaのソースと同じだ。
0659デフォルトの名無しさん
2007/11/17(土) 20:14:210660デフォルトの名無しさん
2007/11/17(土) 20:42:06>>658は、頭悪い上司を持つと苦労するタイプだろうw
0661デフォルトの名無しさん
2007/11/17(土) 20:51:06神!ty!
あと2時間でサーバーへアップロードしないと
次の作業まで2週間待ちになってしまう。。。
とにかくも651に感謝m(。_。)m
0662デフォルトの名無しさん
2007/11/17(土) 21:27:51なんで動いたかよくわからないけど、今日はもう時間がないため
とりあえずアップできるサーバーを探さなければ・・・。
651の内容のうち、前半は既に済んでいたので、以下のみ行った。
・Eclipseを立ち上げてワークスペースをiαppliToolのappsに設定
iαppliTool で指定している作業フォルダを設定した。
・helloWorldプロジェクト作成
helloWorldプロジェクトは既にあったので、別名のプロジェクトを作成した。
プロジェクトを作成した後、ウインドウ−設定 で、Doja-5.0 のインストールフォルダを指定した。
(これを設定しないと、クラスがうまく作れなかった)
・srcフォルダにソースを作成
Eclipse でクラスを作ったら、自動的に作成された。
クラスは、スーパークラスを com.nttdocomo.ui.Application とした。
・実行→構成および実行でDoJa5.0アプリケーションのフィルタを作って実行
無事、動いた。
残りは、以下の作業だ。携帯が手元にないので;; とりあえずサーバーへアップロードしたら
場所移動して携帯でチェック。報告は明日以降になりますm(。_。)m
---残りの作業
・動いたら apps/helloWorld/bin/ にある
helloWorld.bin,helloWorld.jam,download.htmlの3つをサーバへアップロード
・携帯からdownload.htmlへ接続、アプリをダウンロード
・携帯でアプリ実行
0663デフォルトの名無しさん
2007/11/17(土) 22:09:280664デフォルトの名無しさん
2007/11/17(土) 23:13:17-dontoptimizeつけてみるとか
0665652
2007/11/17(土) 23:51:16jadファイル自分の力と気力じゃ解読不能みたいでした。
>>664
それはもうつけました。
とゆうよりつけないと圧縮できませんでした。
0666デフォルトの名無しさん
2007/11/18(日) 01:30:010667デフォルトの名無しさん
2007/11/18(日) 01:57:43うお、これでうまくいったよ!ありがとう!
つーかそんなとこに割り振られてるなんて気づかなかった・・・
0668652
2007/11/18(日) 10:49:180669デフォルトの名無しさん
2007/11/18(日) 13:31:16それはProGuardの後にpreverifyをかけてなかっただけじゃないのか?
0670デフォルトの名無しさん
2007/11/18(日) 13:41:51裏アプリをやってみませんか?
ポケモンやドラクエ、マリオなど懐かしいゲームが携帯のアプリになって再登場(
゜∇゜)
やりたい人はURLを (・o・)ノ
http://62.xmbs.jp/yosukeapuri/
0671デフォルトの名無しさん
2007/11/18(日) 21:17:110672デフォルトの名無しさん
2007/11/20(火) 02:42:560673デフォルトの名無しさん
2007/11/20(火) 03:48:55リモート制御機能とはなんですか
0674672
2007/11/20(火) 06:20:30APIリファレンスに書いてあるんだけど、
開発ガイドには全く書いてない。
public class PushManager
プッシュ機能の管理オブジェクトを定義します。
リモート制御におけるプッシュ機能により、
サーバから i アプリにパラメータとパラメータを送信した時刻(パラメータ更新時刻)を渡すことができます。
渡されたパラメータとパラメータ更新時刻は、JAM が受信して保持します。
i アプリからは、JAM が保持するパラメータと パラメータ更新時刻を取得することができます。
また、i アプリ起動中やサスペンド中に JAM がパラメータを受信した場合には、
ParameterPushListener により定義されたリスナが呼び出されます。
エミュレーターのトラステッド動作設定にもリモート制御の項目が無いし、気になったもので、、。
0675デフォルトの名無しさん
2007/11/20(火) 11:02:07それはマイボックス用のAPI
0676デフォルトの名無しさん
2007/11/20(火) 15:20:31サンクス、
そんなサービスがあるとは知りませんでした。
0677デフォルトの名無しさん
2007/11/22(木) 09:18:11勝手アプリで設定しとくと、
実機じゃ正常動作できませんか?
0678デフォルトの名無しさん
2007/11/22(木) 10:52:110679デフォルトの名無しさん
2007/11/22(木) 20:18:31そりゃそうなんですけど。
TrustedAPIDの正誤をいつどこで確認してるのか気になったのです。
DL元ホスト(IPアドレス)とAPIDを一意に結び付けて、
DL時にdocomoのサーバに問い合わせるとか…?
くらいしか思いつかなかったのですが。
今試してみたらTrustedAPIDを書いてるとDL自体出来ないみたいです。
0680デフォルトの名無しさん
2007/11/23(金) 15:02:22まあ、そんな仕組みだと思うけど。
0681デフォルトの名無しさん
2007/11/26(月) 09:59:07コンパイルするとresディレクトリにある「.svn」ディレクトリもバイナリに含んでしまいます。
コンパイルオプションで特定のディレクトリ以下のファイルは含まないとかできないんですかね?
0682デフォルトの名無しさん
2007/11/26(月) 11:20:27コンパイルはbatで行なってるんでしょ?
直前に.svnを別のところに退避させて、コンパイル終わったら戻すようにしたら?
0683デフォルトの名無しさん
2007/11/26(月) 11:29:01IDKかANTかと思ってたが。
0684681
2007/11/26(月) 15:23:11コンパイルはbatじゃなくてふつーにIDKでやってます。
とりあえず開発時はそのままやってて、実機テスト&リリース時は別ディレクトリに移してコンパイルしてる状態。
この手間がちょっと面倒なんで改善できたらなぁと。
0685デフォルトの名無しさん
2007/11/26(月) 15:41:48普通に出来ますが
0686デフォルトの名無しさん
2007/11/26(月) 15:42:14俺は画像格納用のフォルダをresとは別に用意しておいて、
resフォルダはsvnの管理から外してる。
(spに詰めるバイナリ生成ツールがそこにあるからでもあるが)
まぁ、どっちにしても手間なんだけど
バッチ使いも結局バッチを書く手間はあるわけで、
自分にとってベターな方法を模索するのがいいんじゃないかと。
0687デフォルトの名無しさん
2007/11/26(月) 21:24:50サンクスコ
いろいろやってみます。
0688デフォルトの名無しさん
2007/11/26(月) 21:28:310689デフォルトの名無しさん
2007/11/26(月) 22:54:38というのは仕事としてやってる人の考え方だったのかな
IDKってコンパイルオプション指定なんてできたっけ?(JAM指定呼び出しでしかエミュレータ呼び出さないもんでw)
0690デフォルトの名無しさん
2007/11/26(月) 23:05:090691デフォルトの名無しさん
2007/11/26(月) 23:09:500692デフォルトの名無しさん
2007/11/26(月) 23:21:27batの指定というよりビルドの前後にコマンドの指定ができる感じだな
とはいえオブファスケートしちゃうとコンパイル以外idkが自動でやってくれたのは全部やりなおしになるから存在意義が・・・
0693デフォルトの名無しさん
2007/11/27(火) 00:00:54途中で間違う可能性もあるし。
0694デフォルトの名無しさん
2007/11/27(火) 00:11:06何十個っていったい何をそんなにわけてるの?
その状況が想像できないのだが…
0695デフォルトの名無しさん
2007/11/27(火) 00:32:45相当昔の端末までサポートしてるなら不思議じゃないけど
0696デフォルトの名無しさん
2007/11/27(火) 01:45:15例えばSystem.getProperty()で取れないような機種別情報が必要なら
何十個もjarを作るかもしれんな。具体的にどんな情報かは知らないが。
それなら機種名を渡してサーバ上に用意した関連情報を引き出す
作りにすればグッと数を減らせるだろうけど、
通信できない(しちゃいけない)事情があるとか。
0697デフォルトの名無しさん
2007/11/27(火) 02:20:020698デフォルトの名無しさん
2007/11/27(火) 04:35:24mova含めたら19種類、FOMA限定なら6種類かな?
http://www.hundredsoft.jp/wav2mld/
0699デフォルトの名無しさん
2007/11/27(火) 08:36:160700デフォルトの名無しさん
2007/11/27(火) 08:36:31うちはもうfoma限定だなぁ。
サウンドは通信で取得するかアプリ上で分けるかだな。
0701686
2007/11/27(火) 13:55:28一応俺もプロなんだがサイズに困るほどのアプリが殆どない。
圧縮するにしても100k超えることは滅多にないし
904で無圧縮状態でテストしてOKだったら圧縮して動作確認しておしまい。
毎度圧縮する必要性を感じないからIDKのみで十分。
>>700
たまーに勘違いな営業さんが「全キャリア全機種対応」とかほざいて
一応話聞いてみるとmovaも入ってたりするよね。
帰ってもらうけど。
0702デフォルトの名無しさん
2007/11/27(火) 13:56:03com.nttdocomo.ui.UIExceptionが出てるんですけど
これは機種の問題ですかね?
0703デフォルトの名無しさん
2007/11/27(火) 15:15:59mova含めないとサウンドデータだけで十数個のセットならないし
何十個もある端末用の個別のファイル作る必要性も微妙だし(1機種1ファイルのレベルになる)
0704デフォルトの名無しさん
2007/11/27(火) 23:25:27Graphics2において、アフィン変換かけてgif画像を回転させて描画させているのですが、ジャギが気になります。
OP_ADDでアルファブレンドしたら若干マシにはなるのですが、描画数が多いので負荷が気になります。
もっと良い解決策はないでしょうか?
0705デフォルトの名無しさん
2007/11/28(水) 00:18:320706デフォルトの名無しさん
2007/11/28(水) 00:27:07DDT
0707デフォルトの名無しさん
2007/11/28(水) 00:41:58回し方の問題じゃないから。
0708デフォルトの名無しさん
2007/11/28(水) 03:27:290709デフォルトの名無しさん
2007/11/28(水) 04:46:22jarの話?アプリ全容量の話?
0710デフォルトの名無しさん
2007/11/28(水) 07:38:02画像や音声は全部通信でとってくるし、うちもJARは100K超えることはないかな。
今は音声だけカテゴリ分けしてるけど、VGA機種向けに画像も分けるようにしないと
いけなくなるんだろなぁ。
mova除外だけだと、FOMA701とか702なども対象になるけどそこら辺は含めるんかな。
30Kは物によっては相当きついよね。事前に収まるかどうか予測できるプロならいいけど
私にはできん。
0711デフォルトの名無しさん
2007/11/28(水) 10:18:150712デフォルトの名無しさん
2007/11/28(水) 10:26:270713デフォルトの名無しさん
2007/11/28(水) 10:32:16制限的にはドコモが一番マシなんだが・・・
0714デフォルトの名無しさん
2007/11/28(水) 10:36:28Docomoかauのオープンアプリになるわけだが、
auのオープンアプリの制限は半端じゃない('A`)
0715デフォルトの名無しさん
2007/11/28(水) 10:40:12公式資料が豊富だからまだ良いが
0716デフォルトの名無しさん
2007/11/28(水) 10:47:27変な日本語書いて申し訳ない。
jarの話。
>>710
30Kはアプリ仕様からソースがどの程度の規模になるか推測して、
ソース5000行程度を目安にしてる。
まぁ感覚だからアテにできないけどねw
100Kの壁に苦しんでる人たちはどうしてるんかな。
0717デフォルトの名無しさん
2007/11/28(水) 10:49:500718デフォルトの名無しさん
2007/11/28(水) 20:24:43うちだとログとか見る限り7割のユーザーが903i,904iだから最悪メガアプリにして切捨てになるんじゃないかな
まぁまだ100Kの壁に当たってないけど
0719デフォルトの名無しさん
2007/11/28(水) 22:35:35さらに定期的に更新してるんで毎回どきどきですよ。
0720デフォルトの名無しさん
2007/11/29(木) 00:48:360721デフォルトの名無しさん
2007/11/29(木) 01:02:40結構サクッと100KiBの壁にぶつかるんだ、コレがorz
0722デフォルトの名無しさん
2007/11/29(木) 10:13:340723デフォルトの名無しさん
2007/11/29(木) 13:11:200724デフォルトの名無しさん
2007/11/29(木) 13:32:080725デフォルトの名無しさん
2007/11/29(木) 13:33:420726デフォルトの名無しさん
2007/11/29(木) 13:37:32まさかとは思うけど文字列とかデータ配列とかはjarに入れてないよね?
0727デフォルトの名無しさん
2007/11/29(木) 13:45:06クラス数200オーバーで画像リソース200kくらい混みで
Jarサイズが600kだった('A`)
0728デフォルトの名無しさん
2007/11/29(木) 16:15:26はやくFOMA以下を切り捨てたい・・・・orz
0729デフォルトの名無しさん
2007/11/29(木) 17:19:12FOMA以下ってことはFOMAも捨てるってことでおk?w
0730デフォルトの名無しさん
2007/11/29(木) 17:27:47どっかサンプル置いてるとこないですかね?
sampleから理解するのは得意なんですけど
0731デフォルトの名無しさん
2007/11/29(木) 19:05:370732デフォルトの名無しさん
2007/11/29(木) 20:29:33質問をよく見るんだ!
createImageの使い方ではなく、作り方を聞いている!
0733デフォルトの名無しさん
2007/11/29(木) 20:48:32public static Image createImage(int x, int y) {
return null;
}
}
0734デフォルトの名無しさん
2007/11/29(木) 20:49:56GJだ!
0735デフォルトの名無しさん
2007/11/29(木) 21:04:23完璧だな
public class Image {
public Image() {
}
public static Image createImage(int x, int y) {
return new Image();
}
}
の方が良い気はするが
0736デフォルトの名無しさん
2007/11/29(木) 21:20:26コマンドプロンプトから DoJa.exe を実行した場合に
System.out.println の結果が表示されないようです。
また doja.exe -version 等、何らかの出力が期待されるオプションをつけて起動しても、
コンソールに何も出力されません。
これはエミュレータのバグでしょうか?それとも何か出力を受け取る方法があるのでしょうか?
0737デフォルトの名無しさん
2007/11/29(木) 22:57:08エミュのバグだと思われる。
たぶん直感アプリのために使っているのだろうけれど
基本的には、Ver3.00を使わないか、Doja5.1のエミュで間に合わせる。
どうしてもVer3.00でなければならない場合、あらかじめエミュを立ち上げておいて
アプリの実行位置にプロジェクトの場所を合わせておき、コンパイルの後に
エミュの起動ボタンで実行するようにする。
0738デフォルトの名無しさん
2007/11/29(木) 23:01:43画像データとサウンドデータと表示座標データとテクスチャ座標データと文字列データ
を切り離しても100Kに収まらず、アプリ連携で機能も切り離して、
それでも100Kぎりぎりな今日この頃。
0739デフォルトの名無しさん
2007/11/29(木) 23:38:51企画が悪いんだろう
iアプリ100KBに向かないアプリを無理に作ってるとしか
0740デフォルトの名無しさん
2007/11/30(金) 00:27:042年以上バージョンアップを繰り返してるからねぇ。まぁしょうがない。
0741デフォルトの名無しさん
2007/11/30(金) 00:50:08たいした機能が無くてもアプリサイズが増えるね。
保守性にかかわるから、クラスは気にせず作りたい…。
0742デフォルトの名無しさん
2007/11/30(金) 02:07:50常に速度が要求されないなら高度なスクリプトエンジンを組んでコードごとSP側に退避するべし
0743デフォルトの名無しさん
2007/11/30(金) 05:08:43でリソース内のmldを読み込んでいるのですが、
メモリ内に存在するmld形式のバイナリデータを getSoundに渡す方法ってありますでしょうか?
0744デフォルトの名無しさん
2007/11/30(金) 05:20:290745デフォルトの名無しさん
2007/11/30(金) 09:47:28わかるひと教えてください。。
0746デフォルトの名無しさん
2007/11/30(金) 11:32:040747デフォルトの名無しさん
2007/11/30(金) 11:36:20g.setFont(font);
ってことじゃないのかい?
0748デフォルトの名無しさん
2007/11/30(金) 19:54:24フォントサイズを設定したいのかそれともフォントイメージの拡縮をしたいのかによって変わるが
前者なら747だし後者なら一回Imageに描画して自力で拡縮しなさい
ちなみに「文字のサイズを変換」という日本語だとどちらかといえば後者の意味に取れる
前者の意味の日本語は「文字のサイズの設定」や「文字のサイズの変更」だな
VGA対応機種以外ではSIZE_LARGE,SIZE_MEDIUM,SIZE_SMALL,SIZE_TINY以外のフォントサイズを作るなら後者の方法で作り出す必要がある
VGA対応機種ならFont.getSupportedFontSizes()で対応フォントサイズの配列を取得できる
後は自力で拡縮する以外にもリソースなどの画像データとしてフォントイメージを持ってしまうという手もあるにはある
0749デフォルトの名無しさん
2007/12/01(土) 15:06:35仕様としては240*240 or 480*8nn(機種による)の2択だと思うんだが、
ちょっとN905i(480×854)で試してみたところ、240*427で全画面描画ができた。
縦横比はそのままに、2倍で拡大表示してくれている。
以前はこういうこと、できなかったと思うんだが・・・。
ただ、このままだとソフトキーが浮いてしまうので
(画面最下部よりちょい上にソフトキーラベルが表示されて、
アプリが描画するコンテンツと被る)、
ちょっと縦を切り詰めて240*320くらいにしたら、ソフトキーも
被らず、ちょうどいい感じに。
デフォルトの240*240だと縦横比1:1なので、全然こっちの方がいい。
とりあえず全機種905iはxyを1/2した上で110ほど縦を切り詰める
DrawAreaにしたら、D905iのユーザから拡大表示されず240*330が画面真ん中に
ちょこんと表示されるというメールがきた。
N905iは特殊で、やっぱり240*240 or 480*8nn(機種による)の2択しかないんでしょうか。。。
0750デフォルトの名無しさん
2007/12/01(土) 18:32:11「新規構成の起動
Reason:
Check the details」とメッセージがでて
実行ができません。アドバイスお願いします。
0751デフォルトの名無しさん
2007/12/01(土) 18:36:05ここ、具体的に何をどう操作したのか詳しく
0752デフォルトの名無しさん
2007/12/01(土) 20:33:10お騒がせしました。解決しました。環境変数の設定をしていなかったようです。
0753デフォルトの名無しさん
2007/12/02(日) 06:01:28N904iは前から出来たが?
480x704だから240x352の解像度表示が可能だよ>N904i
もちろんハード側が自動で2倍拡大してくれる
0754デフォルトの名無しさん
2007/12/02(日) 10:56:410755デフォルトの名無しさん
2007/12/02(日) 11:56:570756デフォルトの名無しさん
2007/12/02(日) 14:03:25P905iを買ったので自作のアプリをWVGA対応しようとしてるんだけど、
480x640だと上下にスキマ(WQVGA機で240x240のを動かした時に出る
のと同じような枠)ができて、しかも上下でスキマのサイズが違う。
かといって高さを640より大きくするとピクト(電波とか電池とか時計とか)が
消えてしまう。
できれば、上下スキマなしでピクト消えないようにしたいんだけど、
どうすればいいか、どなたかご存知ないですか。
0757デフォルトの名無しさん
2007/12/02(日) 14:03:59ごめん。かなり書き間違えた。
>480x704だから240x352の解像度表示が可能だよ
240*240 or 480*8nn or 480/2*8nn/2
↑の3択までは分かるんだけど
240*240 or 480*8nn or 480/2*8nn/2 or 480/2*((8nn/2)-n)
の4択がN905i(480*854)では可能だった。240*330が拡大表示される。
D905iでは4番目ができなかった。
0758デフォルトの名無しさん
2007/12/02(日) 14:49:250759デフォルトの名無しさん
2007/12/02(日) 15:26:120760デフォルトの名無しさん
2007/12/02(日) 15:40:070761デフォルトの名無しさん
2007/12/02(日) 16:11:02DoJa-5.1API iappli Development Kit ユーザーズガイドの
P322のリモートJavaアプリケーションの設定ができないのと、
P311の作業をして折りたたみ状態を閉じるにすると
Connecting to 127.0.0.1 on port 2800
Waiting for debugger on port 8000
assert: offScrId != 0: invalid offscreen id
と記録され固まりますアドバイスお願いします。
0762デフォルトの名無しさん
2007/12/02(日) 16:34:39C と C++ を一緒にするなよwwwwwwww
0763デフォルトの名無しさん
2007/12/02(日) 18:32:58> たまーに勘違いな営業さんが「全キャリア全機種対応」とかほざいて
たまーに、どころか良く居るよ。
で、BREW版と同時開発した場合の問題点とか話してやると「プログラマ的には
JavaとCの違いは大きな問題ではないが…」って辺りで理解できなくなるようで、
逆切れされたり、あいつはCを知らない!なんて陰口言われたり。
面倒なので最近はFLASHお勧めwwwで逃げてる。
0764デフォルトの名無しさん
2007/12/02(日) 18:35:01http://news.ameba.jp/economy/2007/12/9050.html
0765デフォルトの名無しさん
2007/12/02(日) 19:15:38vc++になればswingの100倍は難しいよな
0766デフォルトの名無しさん
2007/12/02(日) 19:17:56びっくりしたよ。C#もそうだけど
最新の言語は習得が楽でいいよね
0767デフォルトの名無しさん
2007/12/02(日) 19:20:43習得のしやすさはスクリプトレベルだから
初心者が集まりやすいよね
0768デフォルトの名無しさん
2007/12/02(日) 19:21:20ライブラリの差に依るような気もするが
0769デフォルトの名無しさん
2007/12/02(日) 19:22:29C++(BREW)で実用的なJava実行環境(MIDP/iアプリ)は実装できるけど、逆は無理だからね。
C++>>>Javaなんだよな。
C++が使えればJavaでできることはすべてできるし、同じ処理を何十倍も高い性能で実現できる。
JAVAてC++と比較するとホント低能な言語だよな
0770デフォルトの名無しさん
2007/12/02(日) 19:22:410771デフォルトの名無しさん
2007/12/02(日) 20:36:02PSクラスのゲームならほとんど移植可能だろ
0772デフォルトの名無しさん
2007/12/02(日) 21:35:37今C勉強してるんだけど、一通り終ったらjavaで簡単なアプリ作ろうと思うんだ。
0773デフォルトの名無しさん
2007/12/02(日) 21:40:56それはだいぶ違う感じだと思うよ
0774デフォルトの名無しさん
2007/12/02(日) 21:43:50なにか死亡フラグっぽいな
0775671,662,650
2007/12/02(日) 23:41:00またダウンロードできず(⊃Д`;)
よくよく調べてみると、対応しない端末?でダウンロードを試みたときに出るエラーが出てました。
まぁ、notapplicable.html を作っていなかったので、エラーページすら見つからないというエラーでしたが・・・。
>>662 のように i アプリを作り、その後、端末 F900iS でダウンロードしようとすると
notapplicable.htmlエラーが表示されるらしい。
Eclipse は 3.3.1.1を使ってます。
Eclipse 3.3.1.1 + Doja-5.0 でコンパイルすると F900iS(Doja-3.5)ではダウンロードできなくなってしまうのかな。
i アプリの内容は、ダイアログボックスに「helloworld」と表示させるだけの簡単なものです。
一応中間報告。
2週間も間が空きすぎてしまっているので、この後、もっかい原因究明して、
脳みそを i アプリ開発モードに切り替えねば。
0776デフォルトの名無しさん
2007/12/03(月) 00:46:240777デフォルトの名無しさん
2007/12/03(月) 00:48:07せめて少しでいいからC++も知っておく方が良い
別にSTLを使いこなせとかは言わんから
C++でクラスの概念と継承やメンバ関数やインスタンスの概念を知ってるだけで全然違うから
0778デフォルトの名無しさん
2007/12/03(月) 03:06:35ウザイ。
何か報告したい問題点や質問があるなら要点をまとめて書きなさい。
だらだらと日記を書くのはブロク作ってそっちでやりなさい。
0779デフォルトの名無しさん
2007/12/03(月) 06:37:36そーなのかー。
ども。
>>774
似せたつもりは無いんだ。
気付かなかった
>>777
了解。終ったらC++一通りしてみるか。
ありがとうございます。
0780デフォルトの名無しさん
2007/12/03(月) 11:47:56つうか、なんで素直にJavaやらないんだ?
0781デフォルトの名無しさん
2007/12/03(月) 15:03:45先にCはじめたからかな。
2言語同時進行はつらいよな
0782デフォルトの名無しさん
2007/12/03(月) 16:43:14setTitle()で表示するタイトル文字サイズの変更ってできますか?
いろんなサンプルためしても905シリーズだと字がちいさすぎるみたいなので
0783デフォルトの名無しさん
2007/12/04(火) 05:49:05無理だった筈
N904iでもVGA表示するとタイトルが小さくなりすぎて結局俺の場合canvasで自力描画した
まぁ容量的余裕があったのとpanelで表示してたのがTextBoxだけだったってのが大きいが
容量的余裕が無いなら諦めるしかないと思う
panelのコンポーネントのsetFontはそのコンポーネントにしか干渉しないし
0784デフォルトの名無しさん
2007/12/04(火) 09:59:09ありがとうございました
やっぱり無理なんですね...
なにか他の手考えます
0785デフォルトの名無しさん
2007/12/04(火) 12:50:44コンストラクタで↓こんなことしたアプリでは、
super();
Font f = Font.getFont(Font.FACE_SYSTEM | Font.STYLE_PLAIN | Font.SIZE_MEDIUM); //24x24
Font.setDefaultFont(f);
setTitle("タイトル");
タイトルは12x12のフォントサイズで、TextBoxやLabelは24x24サイズで表示される。
ところが2回目以降にnewしたものはタイトルが24x24のサイズで表示される。
エミュレータでも実機でもそうなる。不思議。
0786デフォルトの名無しさん
2007/12/04(火) 17:26:30Panelから継承したクラスのコンストラクタでのことなら
Panelのコンストラクタでデフォルトフォントのフォントオブジェクトを取得してるってことなんじゃない?
それならその挙動はいたって普通で不思議でもなんでもないと思うのだが?
Panelオブジェクトを生成する前にFont.setDefaultFont()でタイトルに使用するフォントをセットしておけばいいってことだよな
デフォルトフォントの設定をIApplicationのstart()とかで行ってしまえば以降ずっとタイトルもフォントサイズが変更されるってことでしょ
0788785
2007/12/04(火) 19:40:30>デフォルトフォントの設定をIApplicationのstart()とかで行ってしまえば
>以降ずっとタイトルもフォントサイズが変更されるってことでしょ
そうなった。勘違いだったようだ。thx
じゃぁこれで>782も解決ってことかな。
0789デフォルトの名無しさん
2007/12/05(水) 02:40:52int z = sb.indexOf("BC");
とすると二行目で「シンボルを解決できません」となるんだけど
もしかして全部のメソッドは使えない?
0790デフォルトの名無しさん
2007/12/05(水) 03:23:06CLDCのAPIリファレンス見れ。
0791デフォルトの名無しさん
2007/12/05(水) 11:58:13使われるアイコンは作れて表示できたんだけど、
大きく表示されるほうのアイコンがiアプリのマークのまま。。。
モバイルナナコのアプリはちゃんとカードのアイコンに変わってるんだよね。
どなたか情報持っていませんか?
0792デフォルトの名無しさん
2007/12/05(水) 14:02:11今時の学生さんは・・・
0793デフォルトの名無しさん
2007/12/05(水) 14:04:080794デフォルトの名無しさん
2007/12/05(水) 18:39:40J2SEとDoJaのSDKは入れたけど、そっちは未チェックだった
サンクスコ
ぼちぼちやるわ
0795デフォルトの名無しさん
2007/12/05(水) 19:51:06iアプリコンテンツ開発ガイド最新版のP217、
エミュ付属のDevGuide.pdf P65。
ADFの項目のAppMainTitleで設定できる。
項目名で惑わされるが、ここには画像のファイル名を入力する。
AppIconと同様に、160x160のGIF/JPEG画像resフォルダに入れてビルドすればOK。
AppIconと違って、DoJa-5.1プロファイル専用なので注意。
0796デフォルトの名無しさん
2007/12/06(木) 08:31:34毎回更新が面倒なので自動化したい
0797デフォルトの名無しさん
2007/12/06(木) 08:36:11batなりantなりお好きにどうぞ
0798デフォルトの名無しさん
2007/12/06(木) 14:16:41ありがとう〜画像名入れても出来ないからどうやるんだろうと思ってたけど
画像サイズがどうも違っていたみたい。
試してみるね
0799デフォルトの名無しさん
2007/12/06(木) 17:58:42よくよく見たら載ってた。ありがとう。
試してみたら出来ました。
0800デフォルトの名無しさん
2007/12/06(木) 22:25:44使いたいんだけど、古いEclipse置いてある高速ミラーサイトってない?
本系のhttp://www.eclipse.org/だと、速度が15K/secくらいしか出ない・・・orz
0801デフォルトの名無しさん
2007/12/06(木) 22:58:08毎回タスクマネージャで優先度最低にして凌いでる。
どうにかならんか。
0802デフォルトの名無しさん
2007/12/07(金) 01:00:180803デフォルトの名無しさん
2007/12/07(金) 01:41:44どのようにして取得すれば良いでしょうか?
メールは、PhoneSystem.getAttribute(PhoneSystem.DEV_MAILBOX)
で未読の有無を取得してるんですが、
不在着信では似たようなものが見つかりません。
試行錯誤してたらこんな時間になってしまい、
携帯のバッテリーも切れてしまいました。
よろしくお願いします。
0804デフォルトの名無しさん
2007/12/07(金) 07:42:30いやいや、そのコンパイルするところがわからんのよ。
iアプリ用のライブラリをリンクするっていう情報をmakeファイルか何かに
書かないといけないんじゃないの?きっと。よくしらんけど
0806デフォルトの名無しさん
2007/12/07(金) 09:34:02javacのコンパイルオプションを調べれ。
iアプリに関係なく、Javaレベルでの話。
0807デフォルトの名無しさん
2007/12/07(金) 09:44:25初めてなればこそ、HelloWorldと画像1枚描画する程度くらいまでは
EclipsなしでDoJa開発キットだけでやり始めた方がいいと思う。
Eclips絡みの余計なトラブルを抱え込まなくて済むわけだし。
0808デフォルトの名無しさん
2007/12/07(金) 21:12:04教えていただきたいことがあります。
初めてJavaでiアプリを作ろうと考えているのですが、端末に保存したデータを
通信によりパソコンに送り、そしてパソコン内でそのデータを処理することは
できるのでしょうか?
例えば、シューティングゲームの過去5回のスコアと倒した敵の数をパソコンに
送り、パソコンでスコアと倒した敵の数の平均を求める。
という感じに。
よろしくお願いいたします。
0809デフォルトの名無しさん
2007/12/07(金) 21:32:23それをパソコンから見ることになるでしょう
0810デフォルトの名無しさん
2007/12/07(金) 21:39:14iアプリは、そのiアプリをダウンロードしたサーバとのみ通信できる。
HTTP/HTTPS で GET/POST。
詳細は>3の公式サイトから「iアプリ開発ガイド詳細編」を取ってきて熟読してな。
いま疑問に思ってることの答えは全部書いてあると思う。
0811デフォルトの名無しさん
2007/12/07(金) 21:51:41アドバイスありがとう。
でも、開発環境に早く慣れるようにeclipseで行こうと思います。
JAVAは初めてで、今日はListVeiwのクラスを書いてたんだけど、オーナードロウが不可能なことに気付いた。
JAVAは関数のポインタは渡せないんですよね。
こんな場合はListVeiwクラスを継承して特殊な処理をするしかないんでしょうね。
0812デフォルトの名無しさん
2007/12/08(土) 02:15:10小学生?
0813デフォルトの名無しさん
2007/12/08(土) 02:19:350814デフォルトの名無しさん
2007/12/08(土) 12:07:53いえ、中二の美少女です。
0815デフォルトの名無しさん
2007/12/08(土) 22:58:09初めてiアプリを作っていて良くわからないことがあります。
java.util.VectorをimportしたコードをiAppliTool DoJa-5.0からコンパイル
してビルドも問題なくできているのに、F904やSH704に落とすときに、不正な
ソフトですというメッセージが出てダウンロードできません。もちろんjamの
中のappsizeには間違いはありません。Vectorはサポートされないのでしょうか?
よろしくお願いします。
0816デフォルトの名無しさん
2007/12/08(土) 23:06:43PVmicroではちゃんと出るのにエミュでも実機でも裏表っつうか頂点ぶっ飛んでるっつうか
変な風になるんだが・・・全然わかんないんです><教えてください!!
0817デフォルトの名無しさん
2007/12/08(土) 23:17:240818デフォルトの名無しさん
2007/12/08(土) 23:47:15コンバートに失敗してんじゃね?
0819デフォルトの名無しさん
2007/12/09(日) 09:15:28Spriteを使ってアニメーションをさせたいのですが、
sprite[n]に格納した画像を順番にforで一枚だけisVisible(true)にして、
drawSpriteSetで描画すると、前回描画し、今回はisVisible(false)にしたスプライトも残ったままになります。
背景を最描画し、その上に再度drawSpriteSetすると一応アニメっぽくはなるのですが、背景を再描画しなくてよい方法などございますでしょうか?
ご教授よろしくお願い致します。
0820デフォルトの名無しさん
2007/12/09(日) 11:08:35描いたものはプログラマが(上描きや塗り潰しによって)消さない限り消えない。
0821デフォルトの名無しさん
2007/12/09(日) 13:34:35シナリオはオリジナルより面白かったしwwwキャラも愛着持つほど魅力的ww
『アプリゲームじゃなぁ』なんて思ってただけに、出来の良さにビックリwwww
ダウンロード方法
☆FOMA900シリーズ/ソフトバンク/
「EZトップページ」→「ゲーム」→「RPG」→「アトラスweb site」→「グローランサーオルタナティブ」
☆au
「EZトップメニュー」→「カテゴリで探す」→「ゲーム」→「ロールプレイング」→「女神転生」→「グローランサーオルタナティブ」
0822デフォルトの名無しさん
2007/12/09(日) 16:56:01アプリは仕事で作ってるだけ。
0823デフォルトの名無しさん
2007/12/09(日) 17:09:020824デフォルトの名無しさん
2007/12/09(日) 17:36:070825デフォルトの名無しさん
2007/12/09(日) 17:53:330826デフォルトの名無しさん
2007/12/09(日) 20:32:53仕事で作ってると嫌になる時がある。
0827デフォルトの名無しさん
2007/12/09(日) 20:53:12なぜなら最初の段階ではバグだらけでまともに動かないし、まともに動くようになると飽きている。
まあバグつぶしていって段々動くようにしていくこと自体が一番面白いっちゃー面白いんだけどね。
0828デフォルトの名無しさん
2007/12/09(日) 21:07:30携帯アプリのやたら規模の小さいプロジェクトは
ソースコード、リソースの管理のミニマムケースとしての
実験にはもって来いの環境だし、
プロジェクトに関わる人数も少ないから、コード規約とか
作成環境のテストにも非常に向いてるんだぜ?
ゲームは糞だが、ソースは美しい、それ以上は望まねぇw
0829デフォルトの名無しさん
2007/12/09(日) 22:02:050830デフォルトの名無しさん
2007/12/09(日) 22:24:250831デフォルトの名無しさん
2007/12/09(日) 22:46:46マスター前日くらいにやると面白いと感じる
それまではバグ取りばっかでプレイなんかしたくない
0832デフォルトの名無しさん
2007/12/10(月) 00:31:180833デフォルトの名無しさん
2007/12/10(月) 01:16:100834デフォルトの名無しさん
2007/12/10(月) 02:35:05ありがとうございます。
スプライトって当たり判定にしか使えないんじゃ…
0835デフォルトの名無しさん
2007/12/10(月) 03:29:13円を描いた透過画像が斜めに衝突するとき、
画像は接触してないけど矩形が接触してるから「衝突してる」
行列操作で形が変わってるとき、
画像は接触してるけど元の矩形が接触してないから「衝突してない」
0836デフォルトの名無しさん
2007/12/10(月) 11:34:120837デフォルトの名無しさん
2007/12/10(月) 23:27:36待ち受けアプリ作ってるんだけど、sleep();の後も実行続けるのね。
sleep();したらそのまま端末に制御が移るのかと思って2時間悩んだよ。
0838デフォルトの名無しさん
2007/12/11(火) 09:47:02sleep()中は一部のイベントが発生する以外は、何の命令も実行されない
そもそも、sleep()するには、その前に、制御を端末に移す(非活性化状態にする)、deactivate()を発行しないといけないはずなんだが…
何を悩んだんだ?
0839デフォルトの名無しさん
2007/12/11(火) 11:33:38ずっと "\uxxxx" てやってたよ。
全機種大丈夫かちょっと心配だけど。
0840デフォルトの名無しさん
2007/12/11(火) 19:55:57sleep()を実行するとすぐに端末に制御が移り、省電力モードに移行するのかなと。
それで、sleep()の後のコードが実行されているとは思わず悩んでました。
実際は省電力モードに移っても良い事を端末に知らせるだけで、
その後もコードの実行は続いてるって事だよね。
つまり、sleep()を実行しないでdeactivate()だけで処理を終えても電池の消耗の早さが違うだけで、
アプリの挙動は変わらないって事でいいのかな。
0841デフォルトの名無しさん
2007/12/11(火) 20:48:09>実際は省電力モードに移っても良い事を端末に知らせるだけで、
>その後もコードの実行は続いてるって事だよね
えーと Java のライブラリのメソッドや Windows の API や unix のシステムコールの
sleep や Sleep というのは、省電力等の話の場合の「スリープ」とはあまり関係なくて、
単に「今することないからしばらくこのスレッドやプロセスのコードの実行を停止して」
というような意味で、実際の動作もそんな感じです。
全てのスレッドが sleep や何かのイベント待ちになっていると、OS はそれを契機に
CPUなどを省電力モードに移行させるかも知れませんが、それはまた別の話。
0842デフォルトの名無しさん
2007/12/11(火) 21:16:520843デフォルトの名無しさん
2007/12/11(火) 21:55:31>つまり、sleep()を実行しないでdeactivate()だけで処理を終えても電池の消耗の早さが違うだけで、
>アプリの挙動は変わらないって事でいいのかな。
アプリの内容にもよるけど、かなり違う。
sleep()が発行されると、休眠状態になり、すべての処理は一旦停止、キューにたまっているイベントもすべて破棄される。
その後、端末を開くなどして、システムイベントが発行されると、非活性化状態に変わって、
sleep()の次の命令からアプリが再開される。
時計なんかで常時書き続けなければいけないアプリでsleep()発行すると、時間が進まない。
deactivate()呼ぶだけなら問題ない。
(分単位の時計ならsetWakeupTimer()で解決するけど)
0844デフォルトの名無しさん
2007/12/11(火) 22:16:32sleep()ってiアプリだけじゃなかったんだね。
iアプリの入門書読んだら終了するみたいに書いてあったから勘違いしてた。
>>843
一応止まってたんだね。
WakeupTimerセットしてたから、スルーしてると思った。
と言う事は、sleep()で止まってる時にWakeupTimerのイベントが発生すると、
まずsleep()の次が実行されて、その後端末に処理を戻さない限り
processSystemEvent()が発生しないのかな?
0845デフォルトの名無しさん
2007/12/11(火) 23:34:37processSystemEvent()の実行も、sleep()の続きの実行も、
並行に両方とも行われる。
0846デフォルトの名無しさん
2007/12/11(火) 23:51:57まずはiアプリコンテンツ開発ガイドに目を通して、
「活性化状態」「非活性化状態」「休眠状態」の違いを
理解したほうがいいと思う。
0847デフォルトの名無しさん
2007/12/12(水) 11:14:55この問題なんだが、737は「Doja5.1エミュ使え」って言ってるけど、エミュ5.1でも同様にprintlnの結果が出力されない
誰か5.1(でも5.0でもいいから)でコマンドラインからのエミュ実行した状態でprintln出力できた人いないか?
0848デフォルトの名無しさん
2007/12/12(水) 17:07:15リダイレクト。
0849デフォルトの名無しさん
2007/12/12(水) 17:59:34ありがとう。ファイルに出力するのはできた
でも
doja.exe 〜色々オプション〜 >&1
とやってプロンプト自身に出力させようとすると、
ハンドル 1 のリダイレクト中に
ハンドルを複製できませんでした。
と出てしまった。プロンプトに出力することはできそう?
0850デフォルトの名無しさん
2007/12/12(水) 21:07:20問題は一応解決したけど、なんかモヤモヤしてます。
もう一度ガイドを読み直してみます。
ありがとう。
0851デフォルトの名無しさん
2007/12/13(木) 01:03:18他の機種ではどうですか?
機種依存の機能ではないみたいだから不具合かな?
0852デフォルトの名無しさん
2007/12/13(木) 03:26:130853デフォルトの名無しさん
2007/12/13(木) 11:17:12doja.exe いろいろ | more
0854デフォルトの名無しさん
2007/12/13(木) 18:37:02一応playSound()を使ってるらしい他の人が作ったiアプリも試してみたんだけど、
反応は全く同じなんです。
もちろん、他の音は出るのでハード的な故障ではないと思います。
それで、ここならiアプリでplaySound()を使って試せる人がいると思って質問しました。
0855デフォルトの名無しさん
2007/12/14(金) 00:50:13マナーモードとかだったら殺す。
0856デフォルトの名無しさん
2007/12/14(金) 02:23:160857デフォルトの名無しさん
2007/12/14(金) 07:48:44playSound(SOUND_ALARM);
などとするだけで、組み込みの効果音が出るメソッドです。
試しにN902iでやってみましたが音が出ました。
もちろんマナーモードじゃないです。
静かなところで聞くと、かすかに雑音が出ている事に気が付きました。
0858デフォルトの名無しさん
2007/12/14(金) 08:26:50調べるのダリー
0859デフォルトの名無しさん
2007/12/14(金) 11:28:570860デフォルトの名無しさん
2007/12/14(金) 11:57:48PCから、沢山のファイルやフォルダを転送したときに
それをSD Bindで直接扱いたいんですが
いろんな制約があって簡単にはできないんですよね?
だから全部7zで固めてそれを一つのフォルダ用に
扱えたらと思っているのですが。
zipはできる(?)っぽいのでそれでもいいんですけど、
一般的に7zの方が圧縮率高いし、個人的に好きだし、
すでに7zで固めてるあるし・・・
7zが使えるライブラリがないのなら、
なんか7zのJava実装があるみたいなんで、
それをiアプリ用に実装してみようかと思っていますが、
もしかったら無駄なので。
http://www.7-zip.org/ja/sdk.html
(Javaだから、まさかそのまま使えたりするんだろうか?)
0861デフォルトの名無しさん
2007/12/14(金) 13:59:04用途次第では効果があるかもしれんがjar領域を消費してSD-BIND領域を空ける必要性というのを考えた時に意味が無くないか?
普通はSD-BIND領域を消費してでもjar領域を空けるように設計するべきだと思うんだが?
もちろん設計におけるトレードオフは他にもあるだろうが
スクラッチパッド領域ならまだダウンロードサイズ削減と全体容量削減のためという名目が立つ可能性がゼロではないが
ベタの差分画像が大量にあるとかいう前提でならjar+zip>jar+7z展開コード+7zになる可能性は有るが
それならそれで差分データを差分のみ保存する等してzip側の圧縮効率を上げるほうが良い可能性もあるしな
後コンパイルしたわけじゃないがざっと見た感じ7zのjava実装はCLDCでも素通りしそうな感じはするな
0862デフォルトの名無しさん
2007/12/14(金) 15:09:39前提条件として、パソコンで使用している(大量の)ファイルやフォルダを
携帯アプリでも使いたいってことなのです。
あとは、USBケーブルでファイルを送ってiアプリから触ることができる
唯一の方法であるSD Bindingの制約を知って唖然としてください。
http://blog.livedoor.jp/tonogata/archives/50988364.html
・ファイル数が英数8文字まで
つまり、拡張子を抜いたら4文字しかままならねーのですが。
・PCからのファイル作成を受け付けない
一度携帯アプリ側でダミーファイルを作り、そこにPCから内容編集&上書き保存というマニュアル・オペが必要
・サブフォルダが作れない
もういいよ。ほんと・・・
・アクセスが遅い、らしい
設計段階で躓いたので、携帯でみてねーけど。
0863デフォルトの名無しさん
2007/12/14(金) 15:22:23全ファイルの展開が必要なんて初耳なんですが?
0864デフォルトの名無しさん
2007/12/14(金) 18:16:28あえて非ソリッド書庫で保持してるというならなおさらにzipとの圧縮率の差は微々たる物にならないか?
それこそ1割未満だろ
この大容量時代にあえて容量をあまり気にしないでよい部分で1割気にするってどうよ?
後一応俺SD-BIND対応アプリ組んだこともあるし
SD-BINDの制限ぐらいは知ってるが今の話題とはなんら関係ないんじゃねーか?
それとファイルネームの制限は8.3までだよファイル名の本体8字まで拡張子3字まで
ちなみに今有る端末が8.3形式ってだけでAPI自体はロングファイルネームも対応してるよ
SDHC対応機種でロングファイルネームが使えるかの確認はしてないけどね
またそこには書かれてないがファイルをアプリから生成する場合も0byteのファイルはアプリ終了時に削除されてしまうので
最低でも1byteの中身があるファイルを生成しておく必要がある
これはDoJaのエミュだと0byteでもファイルが残ってくれるんだけど実機だと残ってくれない
SDBINDで重くなる原因の最大のモノはSD-BINDの初期化作業もだがFolder.getFiles()がかなり重い
readやwriteのアクセスよりもファイル数が多くなるとFolder.getFiles()処理の方が圧倒的に重くなるので
ファイル名をある程度決め打ち処理する方が速度的には良いかな
0865デフォルトの名無しさん
2007/12/14(金) 18:26:09まぁ偽装画像技術はテキストビューアーやエミュぐらいにしか使われてはいないけどな
それでも基本的には渡すデータはどんなものでも渡せるし速度もSD-BINDと比べたらスクラッチパッドには負けるかもしれんが十分に速いよ
この辺もまぁ用途次第だな
詳しく知りたいならreateとかでググればよろし
確か2ch発祥の不思議なダンジョン系アプリで偽装画像技術でデータを保持するタイプのアプリがあった気がするが
あれって完成したのか?
0866デフォルトの名無しさん
2007/12/14(金) 18:26:550867デフォルトの名無しさん
2007/12/14(金) 18:43:02http://e-words.jp/w/82E3E5BDA2E5BC8F.html
xxxxxxxx.zzzで合計したら.を混ぜて12文字までのファイル名のことな>8.3形式
まぁMS-DOSで使われてた形式だ
xxxx.zzzじゃ4.3形式になっちゃう
0868デフォルトの名無しさん
2007/12/14(金) 19:01:12俺が言う1ファイル展開に全ファイル展開が必要ってのは
a.7z(中身は3ファイル:0.txt 1.txt 2.txt)
b.zip(中身は3ファイル:0.txt 1.txt 2.txt)
とあった時に
1.txtのみを展開するのに7z(ソリッド書庫)では0.txtと1.txtと2.txtの全部を展開してその後1.txtだけを取る必要があるのに対して
zipなら1.txtだけを展開できるってことな
別にa.7zとb.7zの2ファイルがあった時にa.7zの中身を1個取り出すのにb.7zまで展開の必要があるってことじゃないからな
もちろんa.7zがソリッド書庫なら中身を1個取り出すためにa.7zの中身を全部展開する必要はあるけどな
0869デフォルトの名無しさん
2007/12/14(金) 19:24:10そこまで噛み砕いて教えてやるとは優しいのう
0870デフォルトの名無しさん
2007/12/14(金) 21:26:03禿げ上がりそうな遅さになりそうな気もする。あとメモリが足りんとか
7zipのドキュメントに展開時に必要なワークメモリ量が書いてあったよね
0871デフォルトの名無しさん
2007/12/14(金) 21:46:43まぁデコーダを書く手間と考えたらそれほど面倒ではないだろうが
0872デフォルトの名無しさん
2007/12/14(金) 22:04:51携帯Javaではその数百分の1ってとこか。
この手のものの利用はポーティングの手間とかメモリ量とか速度とかGPLとか考えることが多すぎて
結局、符号化方式から自作してしまったよ。
0873デフォルトの名無しさん
2007/12/14(金) 22:25:11まぁDoJa以外への移植も考えてならしょうがないけど
S!は一応DeflaterがあるからZIPヘッダの処理部分だけ書けばZIP展開はできるんだよな
0874デフォルトの名無しさん
2007/12/14(金) 22:27:32凄い!
その通りでした。
でも、情報通知音がキー確認音と何の関係が有るのか理解できない。
前使ってたN902iはキー確認音とは無関係だったのに。
それに、無音ではなく雑音が出るのも変だな。
バージョンアップで直ればバグだし、そのままなら仕様ってやつか。
ありがとう。
0875デフォルトの名無しさん
2007/12/14(金) 22:51:59SD-bindingを使ってSDカードに保存した画像は
携帯ネイティブの画像一覧から参照できない
ということで間違いないでしょうか。
0876デフォルトの名無しさん
2007/12/14(金) 23:44:32yes
0877875
2007/12/15(土) 00:14:46素直にマイピクチャに保存します。
0878デフォルトの名無しさん
2007/12/15(土) 01:03:12便利な機能がたくさんあるのになぁ
0879デフォルトの名無しさん
2007/12/15(土) 01:16:40無理
0880デフォルトの名無しさん
2007/12/15(土) 03:15:33携帯の画面上で以下のような図を表示し、
______
| �@ | �A |
| ̄ ̄ ̄ ̄ ̄ ̄|
| �B |
 ̄ ̄ ̄ ̄ ̄ ̄
携帯の数字キーから�@と�Aに数字を打ち込むと、�Bに�@+�Aの合計を表示する
プログラムを作りたいのですが、どのようにプログラムを書けばいいのか教え
てください。
よろしくお願いします。
0881デフォルトの名無しさん
2007/12/15(土) 03:57:06ご飯の食べ方教えてって言われて、箸の持ち方から教えるとかやってらんない。
「初めてのプログラミング」とか「初めてのiアプリ」とかいった、
初心者は何から手を付ければいいのか説明してる本を読んで。
初心者向けにiアプリの作り方を説明したサイトを10ヶ所くらい読んでみるのもいいし。
0882デフォルトの名無しさん
2007/12/15(土) 11:25:48> 禿げ上がりそうな遅さになりそうな気もする。あとメモリが足りんとか
> 7zipのドキュメントに展開時に必要なワークメモリ量が書いてあったよね
http://www.7-zip.org/ja/sdk.html
> 展開に要するメモリ量: 8-32 KB
> 展開のためのコードサイズ: 2-8 KB (最適化レベルにもよります)
最新機種なら十分じゃね?
スクラッチパッドとあわせて1MB
0883デフォルトの名無しさん
2007/12/15(土) 12:50:05それは・・・・
まず自分でそのソフトを練習として作るレベルのものだと思われ。
それきいてたら 完
0884デフォルトの名無しさん
2007/12/15(土) 13:06:05LZMAデコードエンジンだけのサイズでソレって事だし
7zのファイル処理(ヘッダ部の処理や暗号部分等)は別途必要になるんでコードサイズはもう少し肥大化すると思うぞ
目安の一つとして7zCon.sfx(コンソールの7z自己展開エンジンだと思うんだが)をzip圧縮すると69kbyte程になるので
最初の設計の指針としてjarの肥大化は30〜50kbyteは考えておく方が安全だ
まぁ最初からメガアプリ専用で100kbyteの壁を考えないなら微々たる問題かもしれんがね
iFDとかTree!Explorer VPとかみたいなファイラーみたいなアプリを作りたいのかね?
0885デフォルトの名無しさん
2007/12/15(土) 13:06:480886デフォルトの名無しさん
2007/12/15(土) 14:57:00ファイルとフォルダがたーくさんあって、
それがすでに7zで固めてあって、
その中の任意のファイルをiアプリから読み込みたいだけです。
ないならないでいいんだよ。作るから。
0887デフォルトの名無しさん
2007/12/15(土) 15:17:110888デフォルトの名無しさん
2007/12/15(土) 15:47:29最新のiアプリの仕様でも出来ないんですか?
0889デフォルトの名無しさん
2007/12/15(土) 16:40:050890デフォルトの名無しさん
2007/12/15(土) 16:43:54そういうのをファイラーっていうような気がするんだが……俺の勘違いかな?
まぁあくまでトレードオフの話だから
趣味で自分がやるってのを止めるわけではないよ
LZMAデコーダーはそのまま使えそうだから頑張って7zファイルを処理するコード書いてみると良いよ
実際DoJaのzip処理にも内部の日本語ファイル名が展開できるかどうかは機種依存とかパスワード付きzipは展開できないとか
拘りだすと汎用なzip展開処理としては問題がある点もあるからね
独自コードでメモリ上でzipファイルにパッチ当てでもやってるのか無理矢理それらを処理するiFDみたいなiアプリだってあるし
>>887
だなぁ
iアプリ上で7zを処理する仕組むを組むよりもPC上にある全7zファイルをzipファイルに変換してしまう処理を組む方が多分ラクだし早いな
まぁ俺が元々携帯でのjavaよりもPC上でのCやC++の方が得意だというのも有るんだろうけど
7zが全部ソリッド書庫だというなら中にあるファイルの種類によっては携帯のjavaの方を組む選択にするかも知れんけど
ベタ画像の差分モノ(もうこの時点で種類が極端に限られるけど)なら7z→zip処理でサイズが膨れ上がりすぎるんで
javaの方でどうにかする選択肢になるかも知れんな
まぁその場合でもサイズが大きすぎて携帯のヒープでは前方からのスライドショー程度しか出来なくなりそうではあるが
速度を度外視するならSDをテンポラリにすればなんとかなるか?
携帯じゃあまりテンポラリディレクトリって概念は使われないがSD-BINDがあるなら出来なくはないか
どっちにしても程度の問題かなbmp+7zをjpg+zipに変換するプログラムを組むって選択肢も有るし
0891デフォルトの名無しさん
2007/12/15(土) 16:46:16905iの音声認識はマイクに喋った言葉を音じゃなく文字として拾うものなので
(「明日」とマイクに喋ったら"あした"という文字列を取得できる)
音として記録するのは今の所無理だね
自分が喋った生音じゃなくてもよければ音声認識と音声合成を使って無理矢理処理する方法もなくはないけどあんま現実的ではない
0892デフォルトの名無しさん
2007/12/15(土) 21:41:00自作のiアプリをテストしてたら、メールを作成する時に「メモリ不足です」と出ます。
電源OFF,ONで直ります。
0893デフォルトの名無しさん
2007/12/15(土) 21:55:03iアプリの問題というよりも端末そのもののバグって気がするが>それ
実行中にオブジェクトのリソースが残ることがあるかって点ではdispose()があるものは
dispose()で明示的なオブジェクトの開放を行わないと駄目だが
iアプリそのものが終了後にネイティブリソースが開放されずに残るってのは端末のバグだと言えると思う
0894デフォルトの名無しさん
2007/12/15(土) 22:14:52機種はF905です。
PCと違って行儀悪くても終了したら全部開放される事にはなってるんですね。
バグだとしたら致命的だなぁ
0895デフォルトの名無しさん
2007/12/15(土) 22:35:15アプリ終了してもリソース開放されないならバグだな
0896デフォルトの名無しさん
2007/12/15(土) 23:31:29いやいや待てよマルチタスクでiアプリ実行中にメールを起動したとしようや
その状態でメール側にしろiアプリ側にしろメモリ不足なんて干渉が起きる時点で明らかに設計上のバグだろ
これがアクセスできないリソースへのアクセスを止めるワーニングメッセージならともかくだが
例えばiアプリがSDを使用してる場合はマルチタスクでネイティブのSDアクセス部分が動かないようにワーニングを出すとかならまだ理解できる
0897デフォルトの名無しさん
2007/12/16(日) 01:36:08で、F905の板とか関連を見てみたら、他でも返信メールを打とうとしても、
画面が切り替わらないという症状があるらしい。
多分、一瞬だけ「メモリ不足です」が出てると思う。
やっぱりバグかな。
0898デフォルトの名無しさん
2007/12/16(日) 09:06:050899デフォルトの名無しさん
2007/12/16(日) 10:32:54PとSH以外でまともな携帯求めるほうが間違ってるといいたいw
0900デフォルトの名無しさん
2007/12/16(日) 12:08:52Javaヒープとメールやiモードのヒープが、共有されているだけじゃね。
0901デフォルトの名無しさん
2007/12/16(日) 16:12:02みんなPとSHを使えばいいのに。
0902デフォルトの名無しさん
2007/12/16(日) 16:23:340903デフォルトの名無しさん
2007/12/16(日) 17:34:14それによる機種依存もあるんだよねー
0904デフォルトの名無しさん
2007/12/16(日) 17:56:14みんなMacを使えばいいのに。
0905デフォルトの名無しさん
2007/12/16(日) 18:05:440906デフォルトの名無しさん
2007/12/16(日) 20:21:060907デフォルトの名無しさん
2007/12/17(月) 08:46:21構造体をリストに保持したいんだけど、javaだと、どうやって実現します? vectorとか?
0908デフォルトの名無しさん
2007/12/17(月) 09:35:330909デフォルトの名無しさん
2007/12/17(月) 11:07:55try{
switch(PhoneSystem.getAttribute(PhoneSystem2.DEV_DISPLAY_STYLE)){
ほげ
} catch (UnsupportedOperationException e) {
}
とかしてみたんですけどエミュレーター上は問題なく動いて実機だと
実行時例外が発生して
UnsupportedOperationException
がcatchできないみたいなんですけどなにか勘違いしてますかね?
ちなみにP905です
0910デフォルトの名無しさん
2007/12/17(月) 11:51:01各機種オプションAPI・拡張API実装状況
0911デフォルトの名無しさん
2007/12/17(月) 11:52:03他のとこの UnsupportedOperationException エラーでした
ソースは大丈夫そう
...Canvas2部分があやしい模様
エミュレーターだとエラーでないんだよなorz
0912デフォルトの名無しさん
2007/12/17(月) 13:24:17>>910の資料ちゃんと読んだほうがいいぞ
公式資料のくせにきちんとした表になっててわかりやすいし
0913デフォルトの名無しさん
2007/12/17(月) 14:30:46Canvas2は5.1以降の拡張APIだから公開されてる実装状況の資料にはまだ載ってないよ
多分だけどF905i専用のAPIじゃないの?
0914デフォルトの名無しさん
2007/12/17(月) 17:02:23> ArrayList<HogeClass>
ありがとうございます。
構造体の代わりにクラスを作ってArrayListに格納ってことですか。
ところで、クラスってインスタンス一個作る毎に、どのくらいメモリを消費するんでしょう?
数千単位だと、結構無視できない量になる? それともCの構造体程度?
0915デフォルトの名無しさん
2007/12/17(月) 17:48:04F905専用かもしれませんね
APIで簡単に回転させようと思ってたんですが
P905でも使える他のクラスあるのかなぁ
ちなみにP905の横オープンですが
PhoneSystem.getAttribute(PhoneSystem2.DEV_DISPLAY_STYLE)
してみた所
ATTR_DISPLAY_STYLE_REVERSE
となぜか実機はREVERSEの値返してきました
ATTR_DISPLAY_STYLE_HORIZONTAL_RIGHT
あたりかと思ってたのに回転関係は結構機種依存度高そう
0916デフォルトの名無しさん
2007/12/17(月) 20:07:09iアプリに関する話?Java一般の話?
実装依存だから何とも言えない。
たいていはCの構造体と同じくらい
0917デフォルトの名無しさん
2007/12/17(月) 21:27:17画面そのものとキー配置とディスプレイ位置の関係上はリバース位置になるんじゃない?
実際横に開いて縦に使う事だってできるんだし
あと904iまでは画面回転させるなら表示する内容を一回全部Canvasと同じサイズのImageに書いて
(90度,270度の場合には縦横の解像度を入れ替えてImageを作る)
Canvasへ描画する際にGraphics.setFlipMode()で指定した回転状況でImageを表示するって感じになる
もちろん全部の描画処理をラップして画面回転させながら描いてもいいけど
文字列の描画とかの手間を考えるとImageに一回描いてGraphics.setFlipMode()してCanvasへ表示がベストだと思う
0918デフォルトの名無しさん
2007/12/17(月) 22:04:41このパターンだとHORIZONTAL_RIGHTになってたりするのかな?
0919デフォルトの名無しさん
2007/12/17(月) 22:40:04ArrayListってiアプリ(というかJAVA ME)で
使えるようになったのか?
0920デフォルトの名無しさん
2007/12/17(月) 23:38:360921デフォルトの名無しさん
2007/12/17(月) 23:59:47わけわからんから 寝て起きて直ってたらいいなー
0922デフォルトの名無しさん
2007/12/18(火) 00:12:20('(゚∀゚∩ なおるよ!
ヽ 〈
ヽヽ_)
カレーも一晩置いた方がうまいじゃん。
0923デフォルトの名無しさん
2007/12/18(火) 09:10:220924デフォルトの名無しさん
2007/12/18(火) 09:24:42プログラムは確かに直らんが頭が治るとバグを見つけ出せたりして結果的にプログラムも直る場合はあるぞ
まぁだからといって毎回そうすればよいという話ではないけどな
煮詰まった時に一歩引いてみるのは手として有効だ
0925デフォルトの名無しさん
2007/12/18(火) 09:34:53/ ヽ ./ .∧ ニコ
/ `、 / ∧ ニコ
/  ̄ ̄ ̄ ヽ
( ̄ ̄ ̄ ̄ ̄デスマ  ̄ ̄ ̄)
/ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ .\ 仕事が終わってから
/:::::::::: ⌒ ⌒ / ゆっくり逝って^H^Hねむってください。
ヽ:::::::::: /// \__/ /// /
ヽ__::::::::::::: \/ /
/\\ //\
| \\ // |\
0926デフォルトの名無しさん
2007/12/18(火) 10:16:120927デフォルトの名無しさん
2007/12/18(火) 12:35:21Fで使えないのになぜ追加したんだ…紛らわしい…
0928デフォルトの名無しさん
2007/12/18(火) 17:17:02俺のとこでは、寝かせるときに横にビン入りの水をおいとくとたいてい直ってるよ!
どうもこのビンに秘密があるみたいなんだ。よく効くよ。よかったら安く売ろうか?
0929デフォルトの名無しさん
2007/12/18(火) 21:08:44その前に一つ上のレスを読んだ方がいいぞw
0930デフォルトの名無しさん
2007/12/20(木) 04:43:08メガアプリでフルブラウザ作らないか?
ダウンソフトでいうIrvineみたいな名作ができたら、
みんなにも有益だと思うんだが。
0931デフォルトの名無しさん
2007/12/20(木) 04:48:570932デフォルトの名無しさん
2007/12/20(木) 05:39:11結局905のDrawAreaはどう対応したら良いんだろう?
できれば 480/2*8nn/2 のパターンで対応したいけど機種毎の挙動がわからん
0933デフォルトの名無しさん
2007/12/20(木) 09:56:48iアプリ共同製作支援スレ その1
http://pc11.2ch.net/test/read.cgi/tech/1165049332/
0934デフォルトの名無しさん
2007/12/20(木) 14:06:12scopeを画面最大でニューロ対応みたいな感じにしてくれ
0935デフォルトの名無しさん
2007/12/20(木) 17:01:33可能ですか?
0936デフォルトの名無しさん
2007/12/20(木) 17:16:190937デフォルトの名無しさん
2007/12/21(金) 19:12:20「DojaX.X Environment」
のなかにサウンド設定がありますが、
eclipseで開発すればmldやら3g2やら再生すると音が出るんでしょうか?
0938937
2007/12/21(金) 21:53:12お騒がせしました
0939デフォルトの名無しさん
2007/12/23(日) 09:34:30ユーザーが任意のサイズを落とせるようにするなら
480x864(F,D,SO)
480x854(N,P,SH)
480x734(SO)
480x650(N)
480x640(F,D,P,SH)
と各1/2サイズで良いんじゃないの?要するに10個解像度を準備
0940デフォルトの名無しさん
2007/12/24(月) 17:33:13ADFアドレスが127.0.0.1では不正だと言われました
0941デフォルトの名無しさん
2007/12/24(月) 17:37:020942デフォルトの名無しさん
2007/12/24(月) 19:06:31できました
ありがとうございます
0943デフォルトの名無しさん
2007/12/24(月) 19:10:020944デフォルトの名無しさん
2007/12/24(月) 21:00:03SDのファイル名8.3形式以外のロングファイルネームは対応してるんでしょうか?
実機がないので試せないorz
0945デフォルトの名無しさん
2007/12/24(月) 21:52:33DLサーバにVirtualHost設定しとかないとJar抜かれる。
気をつけて。
0946デフォルトの名無しさん
2007/12/25(火) 02:45:19どういう流れか知らないが、
普通にVirtualHostを設定しただけじゃPCから見えると思うぞ
0947デフォルトの名無しさん
2007/12/25(火) 15:33:16画面が一瞬パチってなるんだけど、それを起こらなくすることって出来ますかね。
0948デフォルトの名無しさん
2007/12/25(火) 16:56:21PCから見えなくても
IPでのアクセスが可能になってると
抜ける。
0949デフォルトの名無しさん
2007/12/25(火) 17:30:420950デフォルトの名無しさん
2007/12/25(火) 17:51:25Jarの位置がわかる。そこにアクセスすればJarが落とせる。
なので携帯のIP範囲外だったら表示しないようにする。
サーバで設定するかページごとにチェックするかはお好みで。
0951デフォルトの名無しさん
2007/12/25(火) 19:12:00無理
setBackgroundColorで誤魔化せるけど
0952デフォルトの名無しさん
2007/12/25(火) 20:03:37IPアドレス制限するくらいは誰でもやってると思うんだけど
>>945
>>948
は、「jarをIPに対応してない別サーバに置かなきゃjar抜かれるよ」って言ってるように読める。
0953デフォルトの名無しさん
2007/12/25(火) 20:39:310954デフォルトの名無しさん
2007/12/25(火) 20:49:28お前もか
俺も念の為に聞いてみただけ
0955デフォルトの名無しさん
2007/12/25(火) 21:54:310956デフォルトの名無しさん
2007/12/26(水) 00:12:09ユーティリティを作成しようと思っていますが、
なかなか良案が思かず、みなさんのご意見を伺いたいと思います。
・HTTP通信でリソース取得を行い、SCPに書き込みとしたい(SDは使用しません)
・独自メソッドでファイル名を引数に渡せばbyte[]で返してくれる様にしたい
※上記ができればImage,MediaSound,JarInflater等を
各オブジェクトで返してくれるメソッドも作成する
現在検討している内容は下記ですが、
この後、どうやってファイル名でデータを取得するかが検討つかずボツになりそうです。
�@ファイル名を記載したテキストリストからBufferdReaderで1行読み込んでURLと繋げる
�A通信で取得時にLengthを取得してファイル名、書き込み位置、ファイルサイズを記憶
以後繰り返し。
上記と全く違う方法でも構いません。
CPや一般のアプリ作者様の管理方法等、情報がありましたら教えてください。
よろしくお願いします。
0957デフォルトの名無しさん
2007/12/26(水) 08:36:06iモードはほとんど関係ない一般的な内容な気もするが…
とりあえずその段階で悩むようなら、まず考えた案で実装してみることをお勧めする。
そうすれば、何が必要かなんて一発でわかる。
0958デフォルトの名無しさん
2007/12/26(水) 09:26:47無理か〜。
タイミングによっては出ないんだけどね〜。
ごまかすってのは白か黒で塗りつぶすみたいな?
なんにせよありがとう。
0959デフォルトの名無しさん
2007/12/26(水) 17:12:09危険ばっかりだし
端末によってはCanvas破棄してもうまく開放してくれなかったりするし。特に古いN
0960デフォルトの名無しさん
2007/12/26(水) 18:04:010961デフォルトの名無しさん
2007/12/27(木) 10:20:22どうすればいいですかあ?
0962デフォルトの名無しさん
2007/12/27(木) 11:38:350963デフォルトの名無しさん
2007/12/27(木) 13:24:41jamの内容見られたら終わりですよね
0964デフォルトの名無しさん
2007/12/27(木) 13:26:400965デフォルトの名無しさん
2007/12/27(木) 13:27:55別のところにjamをあげられて勝手にアプリダウンロード出来てしまうよね
0966デフォルトの名無しさん
2007/12/27(木) 13:30:46今のところhtaccessのみでやってるけど心配になってきた
0967デフォルトの名無しさん
2007/12/27(木) 14:06:40このスレをみると原理的には可能っぽいのですが
存在しないのはDL制限の問題ですかね?
http://namidame.2ch.net/test/read.cgi/campus/1198498661/
0968デフォルトの名無しさん
2007/12/27(木) 14:28:31でも逆コンパイルされる心配はないですよね?
0969デフォルトの名無しさん
2007/12/27(木) 14:33:23自分のサイトのアプリが他所で勝手に再配布されるのを防ぎたいのです
0970デフォルトの名無しさん
2007/12/27(木) 16:11:04端末によってはアプリ情報でjamのURLが見られるって書き込みがあったような。。。
コンテンツへのアクセス許可をiモード限定とすることで、
html、jam、jarの直接的な閲覧が制限され、
各URLの秘匿およびアプリの逆コンパイルを阻止できる。
▽ダウンロード用htmlへのアクセスをiモード限定にする
・jamのURLを秘匿するため
▽jamへのアクセスをiモード限定にする
・PackageURLを秘匿するため
▽jarへのアクセスをiモード限定にする
・逆コンパイルを阻止するため
iモードのIPアドレスはこちら
ttp://www.nttdocomo.co.jp/service/imode/make/content/ip/
0971デフォルトの名無しさん
2007/12/27(木) 16:44:09http://news.ameba.jp/research/2007/12/9797.html
0972デフォルトの名無しさん
2007/12/27(木) 17:28:140973デフォルトの名無しさん
2007/12/27(木) 17:52:46トレースがONだと見れる端末は有るよ>jarアドレス
0974デフォルトの名無しさん
2007/12/27(木) 17:56:590976デフォルトの名無しさん
2007/12/27(木) 22:46:52そんなサービスが!!
ネットランキング用のcgiにGETでアクセスするようなアプリだと
イタズラし放題なのか。。。
0977デフォルトの名無しさん
2007/12/27(木) 23:45:37ここまでの流れ、静観しようかと思ったけどやっぱり書く。
接続元IPアドレス、いわゆるリモートホストで弾くだけでは不十分。
アプリ置くサーバにはバーチャルホスト使えって書いた人を笑ってた人がいたけど、
バーチャルホストにするのは有効だと思う。
理由はこのスレだったか前スレだったかに書いてた人がいたね。
0978デフォルトの名無しさん
2007/12/28(金) 04:30:46jamの在りかがバレたらアウト
ダウンロードページを携帯でしかアクセスできないようにすればいい
htmlのソースが見える携帯があるとすればダメだが
0979デフォルトの名無しさん
2007/12/28(金) 06:50:06ウェブセキュリティの定石ですな。
アドレスバーを隠してセキュアにしようとするのは駄目。
通信内容は見られる前提でシステム組んでおかないと。
iモードアクセス履歴検索サービスなんてもう2年近く前からあるのに。
0980デフォルトの名無しさん
2007/12/28(金) 08:51:060981デフォルトの名無しさん
2007/12/28(金) 09:09:310982977
2007/12/28(金) 12:27:55違うんだってば。
リモートホスト使って携帯からしか見られないようにしてあっても、
HTMLのソースもjamもjarも「ぶっこ抜く」方法があるんだよ。
対策はいくつか考えられるけど、詳細を言わずに対策だけアドバイスするって意味で、
バーチャルホスト使えっていうのはうまい言い方だと思う。
元のレスはどこだったかな…。
0983デフォルトの名無しさん
2007/12/28(金) 12:42:37参考までに抜ける公式サイトURL教えてくれ。
0984デフォルトの名無しさん
2007/12/28(金) 12:55:11公式サイトに試したことないので、わからない。
でも、さすがに公式のは対策してるんじゃないのかな。
その方法がバーチャルホストかどうかは別にして。
元のレスが見つからない…。
前スレのログ持ってる人がいたら確認してもらえないかな。
0985デフォルトの名無しさん
2007/12/28(金) 13:07:38ホストで規制してたら駄目
0986デフォルトの名無しさん
2007/12/28(金) 13:18:39おー、やっぱ前スレでしたか。ありがとうございます。
ホストで規制ってのは、端末側じゃなくてサーバ側の(言い換えると、リクエストヘッダのHost)だよね。
てことで、すまないけど、詳細知りたい人は前スレを探してください。
0987デフォルトの名無しさん
2007/12/28(金) 13:23:55でも対策として、バーチャルホストを使えば有効な理由が分らない。
詳細きぼん。
0988987
2007/12/28(金) 13:26:390989987
2007/12/28(金) 13:27:390990デフォルトの名無しさん
2007/12/28(金) 13:35:00ごめん、書き方不正確だった。
ネームベースのバーチャルホストじゃないと意味ない。
IPアドレスベースのバーチャルホストを想定してた人がいたらごめん。
0991デフォルトの名無しさん
2007/12/28(金) 13:44:23http://pc11.2ch.net/test/read.cgi/tech/1198816379/
0992デフォルトの名無しさん
2007/12/29(土) 02:30:260993デフォルトの名無しさん
2007/12/29(土) 09:36:260994デフォルトの名無しさん
2007/12/29(土) 09:52:040995デフォルトの名無しさん
2007/12/29(土) 10:03:320996デフォルトの名無しさん
2007/12/29(土) 10:57:490997デフォルトの名無しさん
2007/12/29(土) 12:24:430998デフォルトの名無しさん
2007/12/29(土) 13:37:110999デフォルトの名無しさん
2007/12/29(土) 13:38:041000デフォルトの名無しさん
2007/12/29(土) 13:39:37゚+.ヽ(≧▽≦)ノ.+゚゚+.ヽ(≧▽≦)ノ.+゚゚+.ヽ(≧▽≦)ノ.+゚゚+.ヽ(≧▽≦)ノ.+゚゚+.ヽ(≧▽≦)ノ.+゚゚+.ヽ(≧▽≦)ノ.+゚゚+.ヽ(≧▽≦)ノ.+゚゚+.ヽ(≧▽≦)ノ.+゚゚+.ヽ(≧▽≦)ノ.+゚゚+.ヽ(≧▽≦)ノ.+゚゚+.ヽ(≧▽≦)ノ.+゚゚+.ヽ(≧▽≦)ノ.+゚゚+.ヽ(≧▽≦)ノ.+゚゚+.ヽ(≧▽≦)ノ.+゚
゚+.ヽ(≧▽≦)ノ.+゚゚+.ヽ(≧▽≦)ノ.+゚゚+.ヽ(≧▽≦)ノ.+゚゚+.ヽ(≧▽≦)ノ.+゚゚+.ヽ(≧▽≦)ノ.+゚゚+.ヽ(≧▽≦)ノ.+゚゚+.ヽ(≧▽≦)ノ.+゚゚+.ヽ(≧▽≦)ノ.+゚゚+.ヽ(≧▽≦)ノ.+゚゚+.ヽ(≧▽≦)ノ.+゚゚+.ヽ(≧▽≦)ノ.+゚゚+.ヽ(≧▽≦)ノ.+゚゚+.ヽ(≧▽≦)ノ.+゚゚+.ヽ(≧▽≦)ノ.+゚
゚+.ヽ(≧▽≦)ノ.+゚゚+.ヽ(≧▽≦)ノ.+゚゚+.ヽ(≧▽≦)ノ.+゚゚+.ヽ(≧▽≦)ノ.+゚゚+.ヽ(≧▽≦)ノ.+゚゚+.ヽ(≧▽≦)ノ.+゚゚+.ヽ(≧▽≦)ノ.+゚゚+.ヽ(≧▽≦)ノ.+゚゚+.ヽ(≧▽≦)ノ.+゚゚+.ヽ(≧▽≦)ノ.+゚゚+.ヽ(≧▽≦)ノ.+゚゚+.ヽ(≧▽≦)ノ.+゚゚+.ヽ(≧▽≦)ノ.+゚゚+.ヽ(≧▽≦)ノ.+゚
10011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。