■プログラムに戻る■ 元のスレッド 全部 1- 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 最新50


iモード携帯電話用Java(iアプリ) Part14
1 名前:デフォルトの名無しさん :2007/03/16(金) 18:13:16
NTT DoCoMoのiモード携帯電話用Javaに関する話題を扱うスレッドです。

※DoCoMo以外は下記スレへ。
CLDC+MIDP+携帯電話用Javaスレッド part 6
http://pc11.2ch.net/test/read.cgi/tech/1155174514/

■ iアプリ特有ではなくJava一般に関する質問はこちらへ
【初心者】Java質問・相談スレッド99【大歓迎】
http://pc11.2ch.net/test/read.cgi/tech/1173026128/

■ iモード携帯電話用Java(iアプリ)まとめサイト
http://ton.my-sv.net/

■関連スレ
【日本携帯】Mascot Capsule/Micro3D【標準】
http://pc8.2ch.net/test/read.cgi/tech/1117773530/

過去スレ
Part13 ttp://pc11.2ch.net/test/read.cgi/tech/1164168601/


2 名前:デフォルトの名無しさん :2007/03/16(金) 18:13:57
過去スレ
Part 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/


3 名前:デフォルトの名無しさん :2007/03/16(金) 18:14:36
■ 開発環境

NTT DoCoMo - iアプリコンテンツの作成について
http://www.nttdocomo.co.jp/p_s/imode/java/index.html
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/p_s/imode/java/caution.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/


4 名前:デフォルトの名無しさん :2007/03/16(金) 18:15:37
■ 主なアプリ配布サイト

ギガアプリ
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/


5 名前:デフォルトの名無しさん :2007/03/16(金) 18:16:55
>>3
ミスった。
>NTT DoCoMo - iアプリコンテンツの作成について
× http://www.nttdocomo.co.jp/p_s/imode/java/index.html
http://www.nttdocomo.co.jp/service/imode/make/


6 名前:デフォルトの名無しさん :2007/03/16(金) 18:50:44
過去スレに13がないぞ。
Part 13 ttp://pc11.2ch.net/test/read.cgi/tech/1164168601/

7 名前:デフォルトの名無しさん :2007/03/18(日) 04:32:06
ヨサゲなフレームワークって存在しないの?

8 名前:デフォルトの名無しさん :2007/03/18(日) 10:46:36
前スレ>>997です

計算自体は理解してます。
P(r)=nCrpr(1−p)10−rのBINOMDISTなんで、EXELとかじゃ簡単にできます。
それをiアプリでどのように処理するか、というわけなんですが。
確率は理解してますが、javaは初心者の私には厳しいでしょうか。

9 名前:デフォルトの名無しさん :2007/03/18(日) 10:51:31
>>8
ためしにCombinationを四則演算に分解してみてみればいい

JavaにはCombinationは無くても四則演算は備わっているから、そこまで落とせれば大抵作れる
ただ、キャリアでは小数が扱えないとかあるので固定小数として作り上げたり、
整数演算では高々 10^8 までしか有効桁が無かったりするから面倒だったりするだけだ

ともかく原型は簡単に作れるよ


10 名前:デフォルトの名無しさん :2007/03/18(日) 11:11:03
ありがとうございます。
階乗とかn乗はfor文で無理矢理作るという事でしょうか。


ちょっと出かけますので返事は遅れちゃいます。

11 名前:デフォルトの名無しさん :2007/03/18(日) 13:49:40
>>10
まあ、ループでやるか再帰でやるかしかないんでないの?
多倍長演算わなきゃだめなくらいの桁数となると、結構面倒だね。


12 名前:デフォルトの名無しさん :2007/03/19(月) 11:38:59
前スレのだけど、
powってiアプリで使えたっけ?
ezとかなら使えたけど。

13 名前:デフォルトの名無しさん :2007/03/19(月) 13:17:12
C3DMath#pow なら有るけどオプションAPI。
まぁ使えようと使えまいと道桁が足らないので
多倍長演算しないとだね。

>>10
ポアソン分布使えば少しは計算楽になるかも。


14 名前:デフォルトの名無しさん :2007/03/19(月) 15:21:00
みなさんありがとうございました。
しかし、私のレベルがついていけないようです。
まさかこんな事がこれほど難しいとは思いませんでした。
階乗の計算くらい普通についていると思ってたのに。
挫折しそうです。

15 名前:デフォルトの名無しさん :2007/03/19(月) 19:00:27
何気にExcelがスゴイんだよな。
ケータイ用じゃない普通のJavaでも桁数の大きな計算は
特別なクラスを使ったりして面倒。
自信を失くさず頑張れ。

16 名前:デフォルトの名無しさん :2007/03/19(月) 21:17:54
excelは計算ソフトだから
しかもwysiwig

17 名前:デフォルトの名無しさん :2007/03/19(月) 22:02:06
正直これほど簡単な問題もなかなかない
iアプリやる前に色々とやるべきことがあるだろ

18 名前:デフォルトの名無しさん :2007/03/20(火) 00:04:37
と雑魚が申しております。

19 名前:デフォルトの名無しさん :2007/03/20(火) 00:13:52

double pow(double a, int w) {
double d = a;
for (int i = 1; i < w; i++) {
d *= a;
}
return d;
}

20 名前:デフォルトの名無しさん :2007/03/20(火) 00:14:53
doubェなくぃんやけど

21 名前:デフォルトの名無しさん :2007/03/20(火) 01:30:59
日本語でおk

22 名前:デフォルトの名無しさん :2007/03/20(火) 01:45:28
doubleもpowも使えない

23 名前:デフォルトの名無しさん :2007/03/20(火) 05:52:52
>>14の携帯の機種は?double使えるかも、powは無いけど

24 名前:デフォルトの名無しさん :2007/03/20(火) 06:12:01
>>9
> 整数演算では高々 10^8 までしか有効桁が無かったりするから
すいません↑よく分からないんですが

25 名前:デフォルトの名無しさん :2007/03/20(火) 10:04:23
floatの話でしょ。
floatに1/1000000000を突っ込んでもゼロになるって話。
あとはググれ


26 名前:デフォルトの名無しさん :2007/03/20(火) 10:09:58
>>23
私自身は変えたばかりなのでSH903なんですが、
できればみんなで使いたかったのでOPTIONは使いたくなったんですが。

言語は難しくても、計算はEXCELと同じくらいの簡単さかと思ってたのに、
まさか計算の方でこんなに苦戦するとは。

27 名前:デフォルトの名無しさん :2007/03/20(火) 10:19:49
整数演算って書いてあるのになんでfloatが出てくるんだ

28 名前:14 :2007/03/20(火) 11:09:26
いろいろ考えましたが、少数の方は問題なさそうです。
for文の間に桁合わせ用の*100とか入れとけば整数で何とか成りそうです。

29 名前:デフォルトの名無しさん :2007/03/20(火) 13:47:53
>>27
元々、前スレ997で
>3割バッターが100打席で 
>ヒットを30本打つ確率と、2割バッターがヒットを30本打つ確率の比較、 
>みたいのを計算しようとしたんですが、 
という話があって、
浮動小数点が使えないならどうするかって流れなのよ。

30 名前:デフォルトの名無しさん :2007/03/20(火) 15:38:41
(;´Д`)話のレベルが低すぎるぞ。
本気で計算したいなら、素直にNbit固定少数を扱うクラスでも作ってそれを使え。

ただたんに結果だけ欲しいなら、大学の数学教科書読んで数式ちゃんと作ればよろし。

31 名前:デフォルトの名無しさん :2007/03/20(火) 18:40:59
その数式作るのに揉めてるんだろw

32 名前:デフォルトの名無しさん :2007/03/21(水) 03:09:49
powが無いんだが累乗を求めるにはどうすれば?って言う話じゃないの?

33 名前:デフォルトの名無しさん :2007/03/22(木) 10:48:32
dojaのソフトキーってキーボードのどのキーに対応しますか?

34 名前:デフォルトの名無しさん :2007/03/22(木) 10:54:32
とりあえずAからZまで押して反応した所。

35 名前:デフォルトの名無しさん :2007/03/22(木) 11:20:37
>>33
ディフォルトならAとS

36 名前:デフォルトの名無しさん :2007/03/22(木) 11:42:50
>>31
>3割バッターが100打席で
>ヒットを30本打つ確率

こんなもん高校生レベルじゃねーか。ってか、その数式で揉めてるならスレ違いだろう。
0.3の30乗 * 0.7の70乗 * 30C100だろ。

37 名前:デフォルトの名無しさん :2007/03/22(木) 13:04:23
>>35
どもです

38 名前:デフォルトの名無しさん :2007/03/22(木) 20:04:37
>>36
落ち着いて話を聞いて欲しい。

まず>>8を読んでくれ。
すでに数式が出ているのがわかると思う。質問者はどう実装するか、という事を悩んでいるわけだ。
次に>>9を読んでくれ。
小数が扱えない(0.3の30乗)、整数演算の有効桁(100C30)という問題が指摘されている。
さて>>11>>13を読んでくれ。
有効桁の問題の解決策として多倍長演算が挙がっている。
そして>>28を読んでくれ。
どうやら質問者は固定小数を使うつもりのようだ、という事がわかると思う。整数演算の有効桁の問題をどのように解決するつもりなのかは不明だが、文面から考えている最中であろうと想像できる。

これを踏まえた上で>>36をよく読んでくれ。
ちょっと格好悪いね。
次がんばってくれ。


39 名前:デフォルトの名無しさん :2007/03/22(木) 20:23:20
プログラムのエラーじゃなくてdoja.exeにエラーが出るんですけど
どうしたらいいでしょうか?
サウンドを扱うようになってから出るようになった気がします



40 名前:デフォルトの名無しさん :2007/03/22(木) 22:06:56
まず状況と詳細と再現手順をここに書いて再インスコ

41 名前:デフォルトの名無しさん :2007/03/22(木) 22:08:50
サウンドを扱うようになってから出るようになったってことは
プログラムが悪いんだろ、見直せ

42 名前:デフォルトの名無しさん :2007/03/23(金) 09:08:33
サウンドボードが刺さってねーだけじゃねーの

43 名前:デフォルトの名無しさん :2007/03/23(金) 09:11:38
>>38
>>31に言ってやれよ「その数式作るのに揉めてるんだろ」って言ったのは奴なんだから。
全レス嫁なんて質問者しか思わない傲慢だぜ

44 名前:デフォルトの名無しさん :2007/03/23(金) 09:44:09
とりあえず質問者もいま実装中みたいだからもういいだろ
次はアルゴリズムスレにでも誘導するってことで

45 名前:デフォルトの名無しさん :2007/03/23(金) 17:18:44
質問の内容も分らないのに回答してる奴っているんだな

46 名前:デフォルトの名無しさん :2007/03/23(金) 17:47:52
今更煽るなんてねぇ( ´д)ヒソ(´д`)ヒソ(д` )空気読めない奴っているんだな

47 名前:デフォルトの名無しさん :2007/03/23(金) 18:03:27
>>43=>>46か?
嫌なら無視しろよ……
頼むからこれ以上スレの空気を悪くしないでくれ
もういいだろ

48 名前:デフォルトの名無しさん :2007/03/24(土) 00:17:23
連続演奏中に音量を変えるプログラムを組んだんですが
曲が終わって再演奏するときに音量がデフォルト(MAX)に
戻ってしまいます
なぜでしょうか?
(MIDIファイルがリセットするタイプだから?)
なんとかする方法はないのでしょうか?

49 名前:デフォルトの名無しさん :2007/03/24(土) 00:37:57
再演奏とセットで音量落とせば?

50 名前:デフォルトの名無しさん :2007/03/24(土) 01:08:41
セットでもうまくいきませんね
エミュに問題があるんですかね


51 名前:デフォルトの名無しさん :2007/03/24(土) 02:31:52
エミュではうまくいかなかったけど
携帯からだとうまく音量を調整できました
使ってるPCのサウンド機能の問題なんですかね・・・(?)

52 名前:デフォルトの名無しさん :2007/03/26(月) 02:47:42
iアプリゲーム開発テキストブックの購入を考えているのですが、
901i/900i/700i/506i/505i対応版に書いてある内容は、
903i/703i対応版にも書いてありますか?
ご存知の方よろしくお願いします。

53 名前:デフォルトの名無しさん :2007/03/26(月) 17:13:44
例えば計算結果aを表示させたい時、


add(new Label(a));
じゃうまくいかないんですが、
どのようにやればいいですか?

54 名前:デフォルトの名無しさん :2007/03/26(月) 17:30:17
それだけじゃさっぱりわからんよ

55 名前:デフォルトの名無しさん :2007/03/26(月) 17:41:42
すいません

add(new Label("a"));

だと、普通にaと表示されますが、
変数aの中身を表示するにはどうすればいいでしょう、と言う意味です。


56 名前:デフォルトの名無しさん :2007/03/26(月) 17:49:06
aがintとかでLabel(int)というコンストラクタが無いとか言われてるんだろ

57 名前:デフォルトの名無しさん :2007/03/26(月) 17:52:36
リロードしてなかった。
Labelのコンストラクタに与える引数としてaの型がないと言われてるんだ。
文字列を与えることができることを知っているのなら、
aの型をStringに変換して、それをコンストラクタに与えればいい。
変換の仕方は、aの型がが何かによる。

58 名前:デフォルトの名無しさん :2007/03/26(月) 17:58:28
aの型を変換しちゃだめだね。aの内容をStringに変換だ。
とりあえず、String.valueOf(a)で何とかなるだろ。
aが参照型のときは求めている表現になってないかもしれんが。

59 名前:デフォルトの名無しさん :2007/03/26(月) 19:51:52
クラスメソッド使ってもいいけど、
add(new Label(a + ""));
が一番楽だと思う

60 名前:デフォルトの名無しさん :2007/03/26(月) 20:15:26
>>59
確かにタイピングの量は少ないけど、バイトコードのサイズが大きくならない?
コンパイラとかの最適化次第だとは思うけど、
aをiloadなりaloadしてString#valueOfをinvokestatic一発で呼ぶようにまで最適化してくれそうにない。

61 名前:デフォルトの名無しさん :2007/03/26(月) 22:33:52
1.フォルダ内のファイル数をカウントするには?
Folder.getFiles()使えば何かできそうじゃね?
とか思ったけどその後が続かず・・

2.ObjectOutputStreamが理解できませんとなる
import java.io*;じゃ理解してくれない?

開発側が多忙によりなりゆきで仕事で使う端末評価用コンテンツを
自前で用意しなくてはならなくなったのだが、ズブ素人なので
>iアプリ特有ではなくJava一般に関する質問はこちらへ
にあたるかすらわからんので他適当なスレがあれば誘導お願いします

62 名前:55 :2007/03/26(月) 23:07:43
ありがとうございます。
質問の仕方が悪かったです。
>>59さんのやり方が知りたかったんです。
ありがとうございました。

63 名前:デフォルトの名無しさん :2007/03/26(月) 23:45:09
>>52
誰か知ってる人いますか・・・
お願いします

64 名前:デフォルトの名無しさん :2007/03/27(火) 01:26:31
>>52
amazonで調べてみたがページ数減ってるのな。
基本的にDoJaは上位互換なので、
新しいほうを一冊買っておけば十分じゃないかと思う。

>>61
1.返って来た配列の長さを見れば?
2.iアプリで使えるのはCLDCとDoJaで規定されたクラスだけ

65 名前:デフォルトの名無しさん :2007/03/27(火) 11:48:57
ボタンを押すとある一定の場所に3行くらいのコメント(色々と変わる)を表示させたいんですけど、

普通にラベルで張ると、ボタンを押すたび下にどんどんと書き込んで行って元のが消えません。
どんな方法がいいでしょうか。
setLocationだと、機種ごとになんか変な感じになりそうなのでいやなんです。
テキストボックスの枠とか消せますか?

66 名前:デフォルトの名無しさん :2007/03/27(火) 11:52:46
>>65
Panelで追加したオブジェクトを消したければ
Panelごと作り直すしかない。
そういう細かい制御をしたければCanvasで自力で描画するべき。


67 名前:デフォルトの名無しさん :2007/03/27(火) 12:40:09
>>66
入力もあるからテキストボックス使ってるのでpanelなんですが
パネル毎かー。
今まで簡単にここまで来たのに。


68 名前:デフォルトの名無しさん :2007/03/27(火) 13:12:04
http://flagame.net/login/rec.cgi?id=80032
↑エロゲータウンっていう携帯のサイト
俺ここでエロアプリ5つゲッツb
内容微妙やけど結構おもろかったぞ

69 名前:デフォルトの名無しさん :2007/03/27(火) 13:17:27
>>68
そりゃあソースも公開されているのか?

70 名前:デフォルトの名無しさん :2007/03/27(火) 14:08:20
>>65
コメントを変えるたびにLabelをnewしてPanelにaddしてないか?
LabelにはsetText()ってメソッドがあるぞ

71 名前:デフォルトの名無しさん :2007/03/27(火) 15:50:14
>>70
ありがとう。できました。
settextって勝手にテキストボックスだけかと思ってました。


72 名前:デフォルトの名無しさん :2007/03/27(火) 16:28:24
>>67
CanvasにもimeOnっていう、IME(入力窓)を呼び出す命令があるぞ

73 名前:デフォルトの名無しさん :2007/03/27(火) 16:46:17
携帯で精子が
http://news.ameba.jp/2007/03/3965.php

74 名前:デフォルトの名無しさん :2007/03/27(火) 19:58:08
リセットボタンのように
アプリを最初から起動し直す命令はありますか?


75 名前:デフォルトの名無しさん :2007/03/27(火) 20:06:14
自分で作るもんです

76 名前:デフォルトの名無しさん :2007/03/27(火) 20:34:25
reset();
と書き込んでもリセットできませんか?


77 名前:デフォルトの名無しさん :2007/03/27(火) 21:48:21
>>64
thx、javaは配列が自前で.lengthと長さを持ってると知って目から汗が出そうになりました

・今日のお題
FileEntityで読み込んだ画像ファイルをInputStreamでMediaManager.getImage(in)に
渡して返ってきたMediaImageを単純にMI.use()してもどうにも失敗してしまう

そもそもuse()に引数があるとは知らなかったのでそこらへんの話なのかなあ
と漠然と思ってるのですがリファレンス読んでも何言ってるかさっぱりです・・・
読み込んだ画像をFileDataInputとしてreadFullyメソッドでバイト列にしてから
MediaManager.getImage(data)したMediaImageはuse()できましたがどうにもまんどい

社内データを持ち出せないのでソース提示しにくいですが必要ならノートにメモります・・・

78 名前:デフォルトの名無しさん :2007/03/28(水) 01:30:42
>失敗してしまう
じゃなくてエラーメッセージくらい調べなさいよ

79 名前:デフォルトの名無しさん :2007/03/28(水) 17:10:21
>>77
目から汗を出すのはいいが、おかげで二次元配列とかつくるとめっさメモリー食うぜ…

固定長二次元配列(Cでいうint[64][16]とか)が作りたい場合、Javaでは1次元配列にして自前で掛け算せんと…


80 名前:デフォルトの名無しさん :2007/03/28(水) 20:31:41
プログラムに間違いはないのに
スクラッチパッドから画像データーを読み込むと
携帯で継続動作できない障害とか出ます
どうすればいいのでしょうか?


81 名前:デフォルトの名無しさん :2007/03/28(水) 21:58:33
80ですが・・・
まさかと思いますが、あんまり大きい画像は読み込みないんですか?


82 名前:デフォルトの名無しさん :2007/03/28(水) 23:12:57
GPSで位置測位をしたいんですが、エミュレータで試してみたら、
GPSLocationProviderのgetLocation()でLocationExceptionが発生します。

エクセプションのステータスはLocationException.UNDEFINEDとなってます。

エミュレータではできないということなのでしょうか?
それともADF等の設定が悪いのでしょうか?

83 名前:デフォルトの名無しさん :2007/03/28(水) 23:48:12
エミュレータに位置情報を設定してなかったせいでした。
お騒がせしました、すいません。

84 名前:デフォルトの名無しさん :2007/03/29(木) 00:08:21
サイズが大きい画像ファイルはエミュでは扱えるけど
携帯だと機種依存なのかもしれないけど 無理みたい
そういうことはちゃんと説明書に明記して欲しいよね
ざけんな

85 名前:デフォルトの名無しさん :2007/03/29(木) 00:50:02
描画領域サイズまでしか保証しないと説明書に明記してあります。

86 名前:デフォルトの名無しさん :2007/03/29(木) 08:37:58
エミュレーターの描画速度が遅い気がします
携帯のほうがいいCPUなんでしょうか?
ちなみにPCは1.4GHzもあります

87 名前:デフォルトの名無しさん :2007/03/29(木) 10:52:06
悪いがそのCPUだとエミュが遅くても仕方がない。もっと最近のを使うべき
あとJavaSDKが1.3より1.4を使ったほうが全体的に高速になった気がする
もう1.3なんて使ってないかもしれんけど

88 名前:デフォルトの名無しさん :2007/03/29(木) 11:05:36
アムロの反応速度が遅い気がします
Wゼロのほうがいいガンダムなんでしょうか?
ちなみにRX-78は分離もできます


89 名前:デフォルトの名無しさん :2007/03/29(木) 11:51:24
>>64
レスどうもです
ページ減ってるのはやっぱり不安ですよね・・・
でも903対応版買うことにしました
ありがとうございました

90 名前:デフォルトの名無しさん :2007/03/29(木) 13:57:25
>>86
うちは Pentium M 1.4G だけど、P901i 実機より遙かに速い。

91 名前:デフォルトの名無しさん :2007/03/29(木) 18:16:34
>>86
どんな描画処理をしてるのか気になる。

92 名前:デフォルトの名無しさん :2007/03/29(木) 19:31:26
端末エミュレータでニューロポインタの
動作確認したいけどどうやればいいの?

93 名前:デフォルトの名無しさん :2007/03/29(木) 20:40:07
エミュのスクラッチパッドに画像ファイルを書き込むにはどうすれば?


94 名前:デフォルトの名無しさん :2007/03/29(木) 21:00:50
86<<
画像を高速【sleep(1)】で移動させるプログラムだとその遅さがよくわかります
サウンド再生も曲の開始が遅い
CPUよりもグラフィックボードに問題があるのかもしれない

95 名前:デフォルトの名無しさん :2007/03/29(木) 23:17:34
そういえばDoJa5.0で.spファイルのフォーマットが変わってる
基本的にスクラッチパッドのイメージがファイルになっているだけだから
一度読み込んで画像ファイルを乗せてまた書き出せばよい

96 名前:デフォルトの名無しさん :2007/03/30(金) 01:26:51
ibisとかテキスト90度横に回転して描画できるけど
あれはどうやっているんだろうか…

97 名前:デフォルトの名無しさん :2007/03/30(金) 02:35:40
>>94
エミュだとsleepの時間解像度が1ms秒より大きいだけじゃね

98 名前:デフォルトの名無しさん :2007/03/30(金) 10:50:10
>>93
質問の意味が不鮮明。
普通に画像ダウンロードして普通に書き込み・・ってかなぜエミュ限定。

99 名前:デフォルトの名無しさん :2007/03/30(金) 11:38:12
>>96 Image実体を、オフスクリーンイメージとして別に確保しておいて
そのImageに文字列を描画。
あとはdrawImageで回転でも拡大縮小でもかけて実画面に描画すればよい。

100 名前:99 :2007/03/30(金) 11:42:12
これだと背景色が透過になりません、念のため。

101 名前:デフォルトの名無しさん :2007/03/30(金) 18:46:03
試してみます。
どうもありがとう!

102 名前:デフォルトの名無しさん :2007/03/30(金) 22:18:49
>>98
ネットに繋がずテストプレイしたくて




103 名前:デフォルトの名無しさん :2007/03/31(土) 00:40:40
>>102
Apacheでもいれれ。

104 名前:デフォルトの名無しさん :2007/04/01(日) 15:10:23
>>103
PCをサーバにしても「ネットに繋がず」って条件は満たされなくね?

105 名前:デフォルトの名無しさん :2007/04/01(日) 15:25:13
_, ,_
( ゚Д゚)……

106 名前:デフォルトの名無しさん :2007/04/01(日) 15:28:59
ごめん……よくわからない。


107 名前:デフォルトの名無しさん :2007/04/01(日) 16:36:41
エミュからサーバーに繋ぐ方法もいまいち分かりません。
詳しく説明しているサイトを知りませんか?


108 名前:デフォルトの名無しさん :2007/04/01(日) 17:44:16
>>89

この本の20ページによれば

3Dグラフィックス
3Dサウンド
Felicaチップ読み書き
ポインティングでバイス
指紋認証

などの昨日を利用したiアプリを開発したい場合には前著に詳しくかいてあるので
そっちをかいませう

とかいてあります。


109 名前:デフォルトの名無しさん :2007/04/02(月) 21:56:03
初心者的な質問で申し訳ないのですが・・・
アプリの動作上は、iとisってほとんど差はないんでしょうか?
中身はほとんどそのままのマイナーバージョンアップって感じですよね?

110 名前:デフォルトの名無しさん :2007/04/02(月) 22:14:28
>>109
iとisだとDoJa(iアプリの根底)の変化は無いから、仕様の差だけに注意。
つまり大して意識する必要はないハズ。
詳しくはDoCoMo公式サイトで。

111 名前:デフォルトの名無しさん :2007/04/02(月) 22:55:59
>>110
レスありがとうございます。
動作テスト用に古いのを買おうと思ったんですが、
isばかりでiがあまりオークションになかったので・・・。
isのほうにしてみます。

112 名前:デフォルトの名無しさん :2007/04/02(月) 23:02:27
目がアプリ

113 名前:デフォルトの名無しさん :2007/04/03(火) 00:25:39
(アフω゚リ)

114 名前:デフォルトの名無しさん :2007/04/03(火) 01:23:50
>>108
レスどうもです。
基本的なことは両書とも押さえられていそうですね。
3Dグラフィックに興味があるので903i対応版でないほうにしてみます。
ありがとうございます。

115 名前:デフォルトの名無しさん :2007/04/03(火) 03:12:24
Image.dispose()してもメモリ開放されない気がするんだけど、
そうだとしたら使う場面ってあるの?
MediaImage.dispose()だけでおけ?

116 名前:デフォルトの名無しさん :2007/04/03(火) 09:25:01
両方必要

117 名前:デフォルトの名無しさん :2007/04/03(火) 09:50:02
あー、createしたやつに使うか。
寝ぼけてた。

118 名前:デフォルトの名無しさん :2007/04/03(火) 19:45:02
MediaImage.dispose()だけしか使っていないが、困った試しはない。

Image.dispose()ってMIDPの仕様には書かれていないくらいだし、必要ないんでねーの?

119 名前:デフォルトの名無しさん :2007/04/04(水) 00:48:15
>>115
MediaImage.dispose()したら、そこから取り出したImageは勝手にdispose()される
ってAPIリファレンスに書いてなかったっけ?

>>118
MIDP??

120 名前:デフォルトの名無しさん :2007/04/04(水) 01:14:41
>>119
書いてあった・・・・・。
6年間気づかなかった・・・。

121 名前:デフォルトの名無しさん :2007/04/04(水) 04:26:26
実機が手元にないので、わかる方いたら教えてほしいんですが…
SDカードに保存できるファイルサイズ(暗号化なし)や、ファイル数の
上限て決まってますか?

122 名前:デフォルトの名無しさん :2007/04/04(水) 10:15:41
むしろImageの変数にnullぶっこんでgcで困ったためしがない。

123 名前:デフォルトの名無しさん :2007/04/04(水) 17:49:13
>>113
かわゆす
わろたw

124 名前:デフォルトの名無しさん :2007/04/04(水) 19:27:17
神は去ったか・・・

125 名前:デフォルトの名無しさん :2007/04/05(木) 14:58:24
>>119
すまん、APIリファレンスのどこにある?
MediaImageのところにはなさそうだが…。

確かN504あたりで、両方開放しないと不具合起こした記憶がある。
ちがったかな…MediaImageでunuseすると勝手にdisposeが呼ばれて、以降disposeすると例外投げるんだったかな。
他と同じ気持ちで
Imageのdispose
unuse
dispose
未使用フラグを建てる

ってやると、未使用フラグが立たなくて困った覚えがある。
まーN504iなんてもう相手にしないってのなら問題ないんだがw

126 名前:デフォルトの名無しさん :2007/04/05(木) 15:19:24
さすがにもうN504は相手にしねぇなw

127 名前:デフォルトの名無しさん :2007/04/05(木) 16:06:15
>125>116
MediaManagerの説明のとこかな。

>125
N504i/iSのは、MediaImageから取り出したImageをdispose()すると
勝手にMediaImage#dispose()されちゃって
MediaImage#unuse()のときに例外発生、ってな現象だったと思う。
過去スレでも何度か話題になった(確かこんな話)。

128 名前:デフォルトの名無しさん :2007/04/05(木) 16:07:22
× >125>116
○ >125>119

129 名前:デフォルトの名無しさん :2007/04/05(木) 21:38:54
long変数の値が計算した結果
9223372036854775807を超えたらどういう扱いになりますか?

超えたらエラー表示を出したいんですが。

130 名前:デフォルトの名無しさん :2007/04/05(木) 23:42:04
それはJava初心者スレで質問してくれ
>>1

131 名前:デフォルトの名無しさん :2007/04/06(金) 00:23:34
了解

132 名前:デフォルトの名無しさん :2007/04/07(土) 02:12:36
すいません質問があります。
jamの lastmodified の項なんですが、

4月を apl として記述されているとエミュでプログラムのロード時に LastModifiedの値が不正です
というエラーが出てプログラムをロードできないんですが、
(エミュレータはiαppliToolForDoja3.5を使用しています)

とりあえず jamをテキストエディタで開いて apl を apr に手動で変更すると正常にロードできるようなのですが、

みなさんどう対処されていますか?

133 名前:デフォルトの名無しさん :2007/04/07(土) 09:43:24
>>132
そりゃ、Aprが正しい綴りなんだから、そのように動作するでしょう。
エミュレータが勝手にAplって出力するってこと?

確かに初期の端末に、Aplって書かないと動かないやつがあったがw

134 名前:デフォルトの名無しさん :2007/04/07(土) 14:52:01
DoJa開発キット(iαppliToolForDoja3.5)はちゃんとAprって出力する

135 名前:デフォルトの名無しさん :2007/04/08(日) 01:13:46
もうここに神はいない

136 名前:デフォルトの名無しさん :2007/04/08(日) 04:28:15
色々と調べてみたんですが見つからないので質問させて下さい。

計算帳のようなアプリを作っているんですが、Panel上にいくつか配置したTextBoxに数字を
入力してもらい、それらをINT型に変換して計算するようにしているんですが、デフォルト値を
数字にしていても全角文字などを入力してくる強者に対しての処置で悩んでいます。
例えばTEXT_CHANGEDの中などで、入力された内容が数字かどうか判断して数字じゃなければ
ダイアログで警告を出しつつテキストの入力画面に戻す、といった操作は可能でしょうか?
要するに数字を入力するまで先に進めさせないようにしたいんです。

自分でなんとなく考えたのは、toIntの例外処理の中でダイアログ表示→テキスト入力画面に切り替え
のような感じかな?とは思うのですが…。
よろしくお願いします。

137 名前:デフォルトの名無しさん :2007/04/08(日) 05:09:01
>136
1文字ずつ入力チェックするなんて煩わしくないか?
警告出される側(ユーザー)も出す側(プログラマ)も

toIntってのが何かは知らないけど
Integer#parseInt()一発で例外処理してダイアログなり何なりでよいのでは

138 名前:デフォルトの名無しさん :2007/04/08(日) 06:09:21
i-modeで少々気になるバグを見つけたのでDoCoMoへ報告したいのですが、
連絡先というものはあるのでしょうか?

139 名前:デフォルトの名無しさん :2007/04/08(日) 10:07:43
Docomoショップ行けば?

140 名前:デフォルトの名無しさん :2007/04/08(日) 11:18:13
まず、ここに報告しろよ…

141 名前:デフォルトの名無しさん :2007/04/08(日) 11:30:20
僕の頭はバグだらけ><;

142 名前:デフォルトの名無しさん :2007/04/08(日) 11:45:23
つーか、ここに書くとばれちゃうじゃんw

143 名前:デフォルトの名無しさん :2007/04/08(日) 13:09:20
>>136
TextBoxはアプリユーザが自分でフォーカスをあてて選択キーを押さないと
テキスト入力画面に切り替えられないんじゃないかな。
Canvasを使えば技術的には可能だが、UI的にはオススメしない。

144 名前:デフォルトの名無しさん :2007/04/08(日) 14:08:18
オリジナルのプログラムをお持ちの方いらっしゃいませんか?
この度クレジット決済でスムーズにダウンロード売買が
できるサイトを立ち上げました。
つhttp//web-cart.jp/
※会員登録&商品のうp全て無料です!
クオリティの高い商品のうpをお待ちしてますw

145 名前:デフォルトの名無しさん :2007/04/08(日) 20:22:31
ははは、わら田

146 名前:デフォルトの名無しさん :2007/04/11(水) 01:12:38
神は死んだ

147 名前:デフォルトの名無しさん :2007/04/11(水) 07:12:51
何度でもよみがえるさ!

148 名前:デフォルトの名無しさん :2007/04/11(水) 22:45:43
あのなのですが、↓のようなソースで、

import com.nttdocomo.ui.*;
import com.nttdocomo.io.*;

public class Hello_iApp extends IApplication {

Panel p;
Label label;

public void start(){
p = new Panel();
label = new Label("てすと");

p.add(label);

Display.setCurrent(p);

setSoftLabel(SOFT_KEY_2,"終了");
}
}

「SOFT_KEY_2を解決できません。」っていわれるんだけど、
なして?
ちなみにEclipse 3.1でDoJa5.0


149 名前:デフォルトの名無しさん :2007/04/11(水) 23:00:07
>>148
Frame.SOFT_KEY_2

150 名前:デフォルトの名無しさん :2007/04/11(水) 23:01:49
「メソッド setSoftLabel(int, java.lang.String) が見つかりません」っていわれるんだけど、
なして?

と続くに一票。

151 名前:148 :2007/04/11(水) 23:14:31
>>150
正解orz

152 名前:デフォルトの名無しさん :2007/04/12(木) 00:53:31
p.

153 名前:デフォルトの名無しさん :2007/04/12(木) 00:56:20
MIDIファイルを使っても正常に動作するんですが
基本的にはMLDファイルを使ったほうがいいんですか?


154 名前:デフォルトの名無しさん :2007/04/12(木) 01:31:07
教えてください。。
PanelクラスとCanvasクラスの両方を持たせて、画面上のボタンクリックでそれぞれの
画面を切り替えるようにしてるんですが、「決定ボタンを押した」という情報まで
切り替え先に持っていかれてるようで、切り替え先のテキストボックスが勝手に
入力モードになってしまいます…。
これは一体どうしたもんでしょうか?お願いします。

155 名前:デフォルトの名無しさん :2007/04/12(木) 02:31:05
>>154
「押した」じゃなくて「離した」情報で入力モードになってるんじゃね?
決定ボタンを離した時に切り替えるようにすれば大丈夫だとおも。

156 名前:デフォルトの名無しさん :2007/04/12(木) 03:07:45
>>155
ありがとうございます!仰る通りでした。
助かりましたm(_ _)m

157 名前:デフォルトの名無しさん :2007/04/12(木) 03:31:02
更に質問をお願いします。
CanvasクラスとPanelクラスの両方で使用したい変数「event」があります。
2つ方法を試してみましたが駄目でした。

1つ目は、IAplicationクラスでstaticでeventを宣言し、Canvas、Panelクラス内の
メソッドからIAplicationクラス名.eventと指定しても、違う画面を切り替えると変数の
中身が0で初期化されていました。
2つ目はCanvasクラスでstaticで宣言し、Canvasクラスのメソッド内で変動するのですが
これをPanelクラスのメソッド内で、Canvas名.eventとしても「0」に初期化されています。
どちらのクラスから参照しても常に値を保持している変数として扱いたいのですが…。
根本的な理解度が少なくてすみません。よろしくお願いします。


158 名前:157 :2007/04/12(木) 05:46:58
すみません。157の質問について自己解決というか、もの凄く大きな勘違いに気付きました。

画面の切り替え→常に新しくPanelが作成される と思ってましたので、Panelのメソッドの入り口で
Canvasで使用しているevent変数で分岐処理をしてたのですが、常に初期値の処理しかしてくれず
上記の質問をしました。色々調べたら、起動時にパネルを作成して、それ以降は画面を切り替えても
既存のパネルが「表示」されるだけだったという事に気づきました。
すみませんでした。。

159 名前:デフォルトの名無しさん :2007/04/12(木) 14:24:35
>>158
解決おめでとう。
結局、static変数は期待通りに変化していたのかな。


160 名前:デフォルトの名無しさん :2007/04/13(金) 15:58:14
対応機種は
Doja3.5以上なんですが、
フォントサイズを設定するときsmallにすると
12*12になると思うのですが
全角って全機種等幅フォントでしょうか?
それとも機種依存なのでしょうか?


161 名前:デフォルトの名無しさん :2007/04/13(金) 23:31:55
>>160
505以降は全機種共通で、12*12と24*24の等幅フォントがサポートされている。
そのほかの大きさは機種依存

162 名前:デフォルトの名無しさん :2007/04/14(土) 01:55:35
まぁauとかキャリア対応まで考えると

面倒くさいわけだが・・

163 名前:デフォルトの名無しさん :2007/04/14(土) 02:11:19
>>160
>>3のん・ぱか工房のiアプリベンチを見ると、機種ごとのサイズが詳しく載ってる。

164 名前:デフォルトの名無しさん :2007/04/14(土) 20:26:13
スクロールバーを付けたいんですけど、どうやってつけるんでしょうか?

165 名前:デフォルトの名無しさん :2007/04/14(土) 21:06:02
>>164
そんなAPIはないからスクロールバーっぽく見えるようなものを自分で考えて実装する

166 名前:165 :2007/04/14(土) 21:08:55
補足
Panelを使って1画面に収まらないほどのコントロール(テキストボックスやラベルのこと)
を貼り付けた場合は勝手にスクロールバーが現れる

167 名前:デフォルトの名無しさん :2007/04/14(土) 23:10:54
>>165
それが難しい

168 名前:165 :2007/04/15(日) 01:05:07
方向キーを押したら画面内容をずらした位置に再描画して、
ずらした量に合わせた位置にバーのツマミを再描画する。

これだけのことだけど、難しいようならこれ以上はもう
アルゴリズムを思い付くことができるかどうかって話で、
プログラミングの勉強頑張ってな、ってことに。

もっとも、何か特殊な操作方法や考え方のスクロールバーなら
最初にそれを説明してもらわないと。

169 名前:デフォルトの名無しさん :2007/04/17(火) 19:02:09
age

170 名前:デフォルトの名無しさん :2007/04/17(火) 21:26:06
age

171 名前:デフォルトの名無しさん :2007/04/18(水) 01:13:11
アプリから、(通信ケーブルの)USBを制御する手段はありますか?
(PC⇔携帯で有線通信するイメージです)
唯一関係ありそうなクラス「PhoneSystem」では不可能みたいですが、
Javaからでは不可能なのでしょうか。

172 名前:デフォルトの名無しさん :2007/04/18(水) 02:15:04
>>171
不可能。

173 名前:デフォルトの名無しさん :2007/04/19(木) 01:28:28
jdk 1.6.0_01を入れたら、Dojaでビルドできなくなりました...アタタ。

174 名前:デフォルトの名無しさん :2007/04/19(木) 02:47:24
ポンポン新しいものをいれるからだよ。
なんていってる俺様は未だに jdk 1.3.1

175 名前:デフォルトの名無しさん :2007/04/19(木) 07:25:06
sun.tools.javac,

176 名前:デフォルトの名無しさん :2007/04/19(木) 07:26:31
>>173
メニューから「設定」、「sun.tools.javac.Mainを使用する」にチェックしてからコンパイルしてみ

177 名前:デフォルトの名無しさん :2007/04/19(木) 10:01:06
P902でバイブしたいんですが、全然震えてくれません。
エミュだとブルブルマークが出るので、コードは間違ってないはずなんですが・・・。
何かコツが必要なんでしょうか?
トレースも何も出てないので、どうしていいのかさっぱりです。

178 名前:デフォルトの名無しさん :2007/04/19(木) 10:11:47
携帯端末自体の設定とかは確認した?

179 名前:デフォルトの名無しさん :2007/04/19(木) 10:11:47
>>177
携帯の設定じゃね?
メニュー>設定>iアプリ設定の欄を調べてみれば?
振動は結構機種依存が多いから動作は色々な機種で試すべきだよ。
機種依存って言っても揺れないとかではなく、揺れ方がとかね。
機種によっては着信時の振動設定が適用されたりするから
バイブ完全に切ってある設定だと動かない機種もあったりする。

180 名前:デフォルトの名無しさん :2007/04/19(木) 11:14:36
>>173
jre 1.6.0, jre 1.3.1 を併存させているんですが...。
もちろん、eclipseでは1.3.1を設定してます。

181 名前:デフォルトの名無しさん :2007/04/19(木) 11:18:10
>>180
書き足りませんでした。とにかくEcliplseでbuildができません。
別のPCにjre 1.5を併存させているのもあるのですが、こちらは、正常に
buildして、エミュレータまで起動してくれます。

182 名前:177 :2007/04/19(木) 11:46:16
>>178,179

すいません、おっしゃるとおり、設定の見逃しでした。ありがとうございました。
着信設定は試してたんですが、アプリの設定でデフォルトでオフになってるとは思わなかった・・・。
揺れ方は着信時の揺れ方で、気持ち悪いですね。


183 名前:デフォルトの名無しさん :2007/04/19(木) 12:08:11
>>181
環境変数JDK_HOMEに、1.4以前のJDKのインストールパスを設定してみ。

    C:\Java\j2sdk1.4.2_13

こんな感じで。

184 名前:デフォルトの名無しさん :2007/04/19(木) 12:35:55
携帯ウイルスで死ぬ?
http://news.ameba.jp/2007/04/4306.php

185 名前:デフォルトの名無しさん :2007/04/19(木) 13:54:01
jdk1.4ってもうセキュリティーアップデート対象外だろ?

186 名前:デフォルトの名無しさん :2007/04/19(木) 18:57:40
>>181
プロジェクトのプロパティーのJava Compiler開いて
Compiler compliance level を1.4で出来ないかな

187 名前:デフォルトの名無しさん :2007/04/20(金) 13:48:04
iアプリでflash liteのswfを生成したいんだけど、サーバを介さずに表示する方法あるかな?
画面メモにファイルを書き出せたらいいんだけど…

188 名前:デフォルトの名無しさん :2007/04/20(金) 16:57:11
無理

189 名前:デフォルトの名無しさん :2007/04/20(金) 19:10:17
何らかのテクニックがありそうな気はするけど
画像フォルダに強制的に出力しても無理なの?

190 名前:デフォルトの名無しさん :2007/04/20(金) 19:48:23
>>189
無理だって言ってんだろ
しつこいんだよ
ボケが!!

191 名前:デフォルトの名無しさん :2007/04/20(金) 20:31:56
>>190
もちつけ、俺は187じゃねーよw

192 名前:デフォルトの名無しさん :2007/04/20(金) 22:13:22
>>190
てめーボケっていったやつがボケだ!

あ、やべっ、ボケッって言っちまった…



うわ、また言ったし(;´д`)
これじゃボケボケじゃん・・・





やべ2回m

193 名前:デフォルトの名無しさん :2007/04/20(金) 23:33:48
>>183
レスありがとうございます。残念ながら、buildできませんでした。
pathを通してみたり、いろいろやってみましたが、ダメみたいですね。
jdk 1.6を併存してiAppliをeclipseでbuildできた方はいらっしゃるんでしょうか?

194 名前:デフォルトの名無しさん :2007/04/20(金) 23:39:38
普通にできてるよ

195 名前:デフォルトの名無しさん :2007/04/21(土) 01:49:13
>>193
逆にどうやったらできなくなったのかが知りたいくらいなのだが…。

196 名前:デフォルトの名無しさん :2007/04/21(土) 03:44:13
>>195
ま、それが分かれば苦労はないわけでして...。
Jdk SE 1.6.0_01+Jdk2 EE, とjdk 1.3.1_16を入れています。
後から、1.3.1を入れたため、コントロールパネルにplug-inの設定iconが表示されて
いません。順番が逆なら、うまく行ったのかもしれません。別PCの方は、1.5.0で問題は
出ていません。

197 名前:デフォルトの名無しさん :2007/04/21(土) 04:53:19
>>195
うまく動いていた方に、JDK 1.6をインストールするとeclipseの設定画面がうまく
でなくなりました。やはり無理があるのでは? アンインストールすると正常に
戻りました。

198 名前:デフォルトの名無しさん :2007/04/21(土) 10:10:43
最近アプリでゲームをすると止まって動いてとカクカクに動く
んですがばぐってるんですかね?アプリには2つゲームが
入ってるんですが、2つともそんな動きです。

199 名前:デフォルトの名無しさん :2007/04/21(土) 10:49:52
>>193
俺はコンパイルは出来るがエミュレータが速攻落ちる。
start()後にSystem.out.printlnしてもプリントされない。エラーや例外は何もなし。


200 名前:デフォルトの名無しさん :2007/04/21(土) 12:45:12
>>189
ローカルのファイルを指定してブラウザ起動できないからな

201 名前:デフォルトの名無しさん :2007/04/21(土) 14:42:58
1.6ってクラスファイルの構造変わったの?

202 名前:デフォルトの名無しさん :2007/04/21(土) 15:09:01
>>197
1. 何かすごいレアなバグに当たった。
2. すごく寒いミスをしている。
3.ハードウェアの故障。

…のどれかかなあ?
分かんないわ。

203 名前:デフォルトの名無しさん :2007/04/21(土) 19:47:59
>>198
iチャネルに加入すると断続的に通信が行われるので
そのときに画面のカクカクが起きるね
でもたまにだけど
頻繁に起こるなら携帯の電源を一度切ってまた入れなおすと
余計なメモリーが解放されて動きがよくなることもある

204 名前:デフォルトの名無しさん :2007/04/21(土) 20:45:43
メモリリーク起きてるの?

205 名前:デフォルトの名無しさん :2007/04/22(日) 02:38:56
>>202
jdk, jre 1.6.0をインストールするだけで、Dojaの作動が不安定になるようですね。

206 名前:デフォルトの名無しさん :2007/04/22(日) 04:16:57
基本的な質問なんですが、全く同じアプリでもDLするサイトが違うと「バージョンアップ」と
は見なされないんでしょうか?
全く同じサーバの全く同じフォルダからDLすると「バージョンアップしますか?」と表示され
既にDLしてあるアプリに上書きされるんですが・・。
しかも同じサーバ内でもフォルダが違うだけで新規でダウンロードしてしまいます。
どのサイトからDLしてもスクラッチパッドの内容を使いまわしたいのですが、不可能でしょうか?


207 名前:デフォルトの名無しさん :2007/04/22(日) 10:44:28
一度電源を切ってやってみたら普通にできるようになりました!
ありがとうございます。

208 名前:デフォルトの名無しさん :2007/04/22(日) 14:22:10
>>206
たぶん無理じゃないかなぁ

たとえば違うアプリなのに(サイトが違うのに)
同一ファイル名というだけでダウンロードが重なってしまうのは
それこそ重篤な携帯そのものエラーになるわけだから




209 名前:デフォルトの名無しさん :2007/04/22(日) 18:45:39
>>205
このスレでは現象出てる人の方が圧倒的少数で、まともに動いている人の
書き込みもあるのに、憶測とはいえその一般化した書き方はどうかと思うが。

210 名前:デフォルトの名無しさん :2007/04/22(日) 18:52:44
>>206
>全く同じアプリでもDLするサイトが違うと「バージョンアップ」とは見なされないんでしょうか?
みなされない。全く無関係でたまたま同名のアプリがあったらどうなるのさ。
端末にとってはURL+jamファイル名が一致するものだけが同じアプリ。

>全く同じサーバの全く同じフォルダからDLすると「バージョンアップしますか?」と表示され
>既にDLしてあるアプリに上書きされるんですが・・。
1つのアプリを同じ場所から2回DLするってことでしょ?
だったらバージョンアップ(すでにDLされています)の確認が出るのは当たり前。
それに上書きは強制じゃなくてユーザーの判断で決められるでしょ。

>しかも同じサーバ内でもフォルダが違うだけで新規でダウンロードしてしまいます。
繰り返すが、端末にとってはURL+jamファイル名が一致するものだけが同じアプリ。

>どのサイトからDLしてもスクラッチパッドの内容を使いまわしたいのですが、不可能でしょうか?
端末にとって別アプリと扱われる以上、不可能。


211 名前:デフォルトの名無しさん :2007/04/22(日) 21:28:07
カーソルキーの右下にあるボタンをeventで拾いたいんですが、
PhoneSystem.setAttributeによる定義で、
左下のMAILやCLEARキーは拾えるようになったものの、HONE_BOOKだけなぜか拾えません。

PhoneSystem.setAttribute(PhoneSystem.DEV_KEYPAD,Display.KEY_PHONE_BOOK >> 5 );
PhoneSystem.setAttribute(PhoneSystem.DEV_KEYPAD,Display.KEY_MAIL >> 5 );

こんな感じでやってます。
上記のコード以外にも色々試してみたんですが、
MEMOやCLEARは拾えても、なぜかPHONE_BOOKが拾えません。

上手くやる方法をご存知な方いらっしゃいませんか?

212 名前:デフォルトの名無しさん :2007/04/22(日) 23:03:59
↑機種依存で使えないんじゃない?

213 名前:デフォルトの名無しさん :2007/04/22(日) 23:09:45
言葉足らずですみません。
エミュレーター上でとりあえずやってみたんですが、
無理だったので質問させていただきました。

エミュレータがダメな可能性ってそういえばあるのかな・・ちょっと実機でやってみます。

214 名前:デフォルトの名無しさん :2007/04/23(月) 10:41:03
>>211
KEY_PHONE_BOOKってリファレンスにのってないな4.0と5.0見たが。
3.5までならあるっぽいがそこにはこの定義でイベントを発生させるなと書いてある。
何に使うのか知らないけど使わない方が良いかと思われるぞ。

215 名前:デフォルトの名無しさん :2007/04/23(月) 10:41:06
・CドライブがIDKでうじゃうじゃするのがウザいので別パスにインストール
・カスタムでEclipseプラグインインストール
・Eclipseのウィンドウ→設定→DoJaのインストール先を修正

『C:/iDKDoJa5.0[lib[bluetooh.propertiesの保存に失敗しました。』

(ノ ゜Д゜)ノ ==== ┻━━┻


216 名前:デフォルトの名無しさん :2007/04/23(月) 10:45:34
iDKも派遣の素人が作ってんのか?w

217 名前:215 :2007/04/23(月) 10:57:59
Eclipseを再起動したら使えますた。

('д')ぇー


218 名前:デフォルトの名無しさん :2007/04/23(月) 14:15:09
>>206
何がしたいのかな。
サイト1からDLしたアプリAと、サイト2からDLしたアプリAが
別アプリとして扱われて何か困ることでも?

それともサイト1からDLしたアプリAのスクラッチパッドを、
サイト2からDLしたアプリBで引き継ぎたいとか?


219 名前:206 :2007/04/23(月) 14:58:12
色々とご回答ありがとうございます。
やっぱり不可能ですよね。
なぜ別々のサイトからDLしたアプリを同アプリと見なしてほしかったかというと
218さんの仰る通りで、スクラッチパッドに保存したデータを引き継ぎたいからなんです。
ちょこちょことバージョンアップをしていく予定なのですが、バージョンアップを
するたびにそれまで保存したデータが使えなくなってしまっては意味がありませんので…。
他の方法を考えてみます。ありがとうございました。

220 名前:デフォルトの名無しさん :2007/04/23(月) 14:58:48
206じゃないけど思い当たる所はあるな。
可能性ありそうなのが

サイト移転した時
HPのフォルダ構造の変更
サーバー側でドメインが変更になったとかでも起こる?

とかかな。継続的にデータを使用し続けるアプリで
バージョンアップでデータ消えるのは確かに辛いな。
そういう意味では機種変更はもっと辛いことになるがな・・。

221 名前:デフォルトの名無しさん :2007/04/23(月) 15:49:30
偽造GIF

222 名前:デフォルトの名無しさん :2007/04/23(月) 16:09:29
ユーザが何度もバージョンアップしてでも使ってくれるアプリになって、
サイト移転に巡り合ってから悩むんでも遅くなくね?


223 名前:デフォルトの名無しさん :2007/04/23(月) 16:39:50
バージョンアップ版を同じURLで公開するのはダメなの?

224 名前:デフォルトの名無しさん :2007/04/23(月) 17:38:56
データ構造を変更しなければOKだと思うけど。


225 名前:デフォルトの名無しさん :2007/04/23(月) 22:15:17
セーブデータにそのデータのバージョン番号入れればいい。
構造変えたらデータバージョン番号変更。
保存されてるデータバージョン番号と、アプリ側のデータバージョン番号が違ったらコンバート。


226 名前:デフォルトの名無しさん :2007/04/24(火) 10:17:35
>>224
>>225
質問の内容とレスが異なってるべw

質問内容はなんらかの理由でアプリのダウンロードのURLが
変更になった場合アプリのバージョンアップでは対応できず、
ダウンしたら別アプリ扱いになってしまい以前のセーブデータを
どうにかして引き継げないか?だと思うが。

上で出てるけど偽造GIFで無理矢理持っていくか
同じサーバー上であるならば限定だが(移転には対応できず)
サーバーにデータをアップして管理するシステムをつくるかぐらいしか思いつかんな。

227 名前:デフォルトの名無しさん :2007/04/24(火) 11:12:10
素直に、サーバー側にセーブもてよとしか思えんぞ

228 名前:デフォルトの名無しさん :2007/04/24(火) 22:35:12
まさかとは思うけど、バージョンアップするたびにurl変えるの?

一応
・引き継ぐデータが小さいこと(文字列で250文字くらい)
・引き継ぎたい(バージョンアップ前の)urlがわかる
なら、アプリ連携利用で引き継ごうと思えばできなくはない

229 名前:デフォルトの名無しさん :2007/04/25(水) 00:17:24
アプリからアプリを起動するんだと同一ホストでないとパラメータ渡せないから、
旧アプリ→ブラウザ起動(パラメータを url に仕込んで)→ブラウザ連携で新アプリ起動
って回り道すればできそうか。


230 名前:デフォルトの名無しさん :2007/04/25(水) 01:46:56
902iS以降でいいんだったらSD-Binding使えるんだがな。

231 名前:デフォルトの名無しさん :2007/04/25(水) 13:31:40
doja-5.0 の bluetooth.properties に登録機器を登録したいのですが、どーやればよろしいのでしょうか?

232 名前:デフォルトの名無しさん :2007/04/25(水) 14:04:22
>>231
DoJa5.0開発キット付属の
「DoJa-2007_1st_Emulator_DevGuide3.00.pdf」
258ページ参照。


233 名前:デフォルトの名無しさん :2007/04/25(水) 14:45:09
>>228-229
ちょっとディレクトリ構成が変わる程度ならmod rewriteで十分。
ドメイン変更なら偽装gifかサーバ経由で引継ぎ。
この程度できないなら外に出せって事でもうこの会話止めにしない?


234 名前:231 :2007/04/25(水) 16:57:05
>>232
見逃してました、すいません。

235 名前:デフォルトの名無しさん :2007/04/25(水) 22:34:59
ADFのPackageURLにaspファイルを指定して
jarファイルを取得したいんだけど、
肝心のaspの書き方がよくわからんのです...

知ってる方いたら、教えてくれませんか つД`)

236 名前:デフォルトの名無しさん :2007/04/25(水) 23:44:20
HTMLを書いて拡張子を.aspにする

237 名前:デフォルトの名無しさん :2007/04/26(木) 01:07:02
tintin

238 名前:小額性 :2007/04/27(金) 00:24:13
厨房以前の質問かもしれないのですが、
以下のプログラムをエミュにて実行したら
OKなんですけどなぜか携帯では動作しない理由が
わかりません。(TдT)
限界ですぽ・・・。
誰か愛の手を・・・。
ttp://www.geocities.jp/takerururu/key001.html
まだiアプリを制作1日目なので全く素人の
童貞レベルですが・・・。

239 名前:デフォルトの名無しさん :2007/04/27(金) 00:46:57
Graphics.がひっかかるけど、AWTもしくはAppletViewerなくても動くのかな、ケータイならMIDlet?
com.nttdocomo.ui.Graphicsかぁ、ブラウザ・ヴューアか、もしくはAWT、どっちだろう。
アプレットヴューアの場合、WEBサーバにアクセスするとWEBサーバからアプレットクラスは落ちてくるけど、スタンドアローン内での動作でしょう?、その場合だとアプレットクラスは入れてないと動かないけれど。
的外れだったらゴメン。


240 名前:デフォルトの名無しさん :2007/04/27(金) 02:18:09
>>238
動作しないって、具体的にどうなるのよ?
それを説明しないで何をしてほしいんだかw

241 名前:デフォルトの名無しさん :2007/04/27(金) 03:52:49
起動したら直ぐ落ちるのでは?
仕事でも、脳のブレーカーも一緒に落ちる人がよくいるw

242 名前:デフォルトの名無しさん :2007/04/27(金) 04:41:19
try{
Thread.sleep(100);
}catch(Exception e){
}


243 名前:デフォルトの名無しさん :2007/04/27(金) 04:54:48
public void paint(Graphics g) {
 …
 while(true){
  …
 }
}

この構造が問題なんじゃねーの

244 名前:デフォルトの名無しさん :2007/04/27(金) 04:57:43
もしかしてマジレス禁止ですか?

245 名前:デフォルトの名無しさん :2007/04/27(金) 05:04:46
言いたいことがちょっと違った
public void paint(Graphics g) {
 …
 while(true){
  …
  try{ Thread.sleep(100); }catch(Exception e){}
 }
}

paint内でsleepしながら無限ループって構造が問題なんじゃねーかと思う
sleepと無限ループをやめてprocessEventでrepaintすればとりあえず動くかも?

246 名前:デフォルトの名無しさん :2007/04/27(金) 10:04:36
paint内でループってすげーな…。
昔仕事で、paint内で通信しているソース提出してきた会社があったが…。

247 名前:デフォルトの名無しさん :2007/04/27(金) 10:09:15
既に実装されてて定期的に呼ばれる部分が
paintだったんだろうな('A`)y-~~

248 名前:デフォルトの名無しさん :2007/04/27(金) 10:39:13
百歩ゆずってたまたま動いてたとして
そもそも paint の中の sleep で例外発生してただろうに
その原因を考えずに単純に握りつぶしてるんだもんな



249 名前:デフォルトの名無しさん :2007/04/27(金) 12:07:05
>>238
paintは処理抜けないとprocessEventが呼ばれなかったと思う。
こんな感じでどう?

public class KeyTest003 extends IApplication {
public void start() {
MainCanvas main = new MainCanvas();
Display.setCurrent( main );
main.start();
}
}

class MainCanvas extends Canvas {
public void start() {
Graphics g = getGraphics();
while(true){
// paint内のループをココへ
}
}
public void paint(Graphics g) {
// この際何もしなくていい。
}
}

IApplication#start()はiアプリの場合スレッドなので
そこにメインループを作っても大丈夫。


250 名前:デフォルトの名無しさん :2007/04/27(金) 12:25:53
paintの中だけでどれほどのことができるかの挑戦と見た(`・ω・´)

251 名前:デフォルトの名無しさん :2007/04/27(金) 13:27:02
昔のSOならpaintとprocessEventが別スレッドで実装されてたから動くかもね。
今のは知らんが。


252 名前:デフォルトの名無しさん :2007/04/27(金) 15:40:46
>>249
あー、うちの会社それだわ。
やっぱりその形が安定する。

しかしRunnable継承したときのこと考えると、名前がstartなのはいただけないな。mainとかにしておこうぜ

253 名前:デフォルトの名無しさん :2007/04/27(金) 18:02:17
mainもエントリポイントの意味があるからやめたほうが

254 名前:デフォルトの名無しさん :2007/04/27(金) 21:07:17
paint内でループしてても全然問題ないと思う
repaintしてもpaintの先頭からじゃなくループ内の処理が継続されるから
なぜかは分からないが


255 名前:デフォルトの名無しさん :2007/04/27(金) 22:42:37
>>238はまず機種を書くべきだったな

256 名前:デフォルトの名無しさん :2007/04/28(土) 20:53:19
iアプリをパソコンでやれるようにってできねぇかな
iモード自体は簡単にできるけど結局ダウンロードすると使えないじゃん
どこをご認識させたら動くようになるのよ?

257 名前:デフォルトの名無しさん :2007/04/28(土) 21:48:41
ソースをもらってくる

258 名前:デフォルトの名無しさん :2007/04/29(日) 01:18:17
>>256は板違い。
家電製品−携帯コンテンツのとこでも行けばいいよ。

259 名前:デフォルトの名無しさん :2007/04/29(日) 01:21:25
>>256
エミュがあるだろ

260 名前:デフォルトの名無しさん :2007/04/29(日) 12:24:20
ドコモに限ったことではないんだけど
携帯とPCをUSB接続して電話帳などのデーターを引っ張ってくる、ということを
したいんだけど、なんてググったらいいんでしょうか?

これができたらできること増えそうでおもしろそう。


261 名前:デフォルトの名無しさん :2007/04/29(日) 13:21:16
俺は仕事でiアプリ作ってるだけで、
携帯はauだから知らんなぁ(・ω・)

262 名前:デフォルトの名無しさん :2007/04/29(日) 14:00:58
>>260
PC側のソフトからは可能
iアプリからは出来ない


263 名前:デフォルトの名無しさん :2007/04/29(日) 14:01:34
>>260
IrOBEX

264 名前:260 :2007/04/29(日) 14:28:34
レスさんくす!

>>236
IoOBEXググってみたら、赤外線でのデータ通信なんですね。
ひとつ勉強になりました。

>>262
PC側から制御するための言語や、仕様はどこで公開されているのでしょうか?


265 名前:デフォルトの名無しさん :2007/04/29(日) 16:33:10
今日アプリ作成に試みました・・
doja内ではちゃんと表示されています
いざサイトにうp!
するとサイトにダウンロードの文字が!
ついにできた、と思ったら、、
ダウンロード準備・・・
「指定されたサイトがありません」
orz
よくわからん説明ですが
原因などわかるかたいらっしゃいましたら
アドバイスいただけないでしょうか?;;

266 名前:260 :2007/04/29(日) 16:47:30
おれもよくわかってなくて多分だけど

例として、
Test.jam
Test.jar
Download.html
が同じディレクトリにある状態で Download.html の中が

<OBJECT declare id="Test" data="Test.jam" type="application/x-jam"></OBJECT>
<BR>
<A ijam="#Test" href="Download.html">DOWNLOAD</A>

ってな具合になってたらうまく落とせると思う。


267 名前:デフォルトの名無しさん :2007/04/29(日) 17:53:37
>>266
ありがとうございます^^
やってみます!

268 名前:デフォルトの名無しさん :2007/04/29(日) 18:58:26
>>264
IrOBEX

269 名前:デフォルトの名無しさん :2007/04/29(日) 23:02:04
>>264
>PC側から制御するための言語や、仕様はどこで公開されているのでしょうか?

公開されてるなんて話は聞いたこと無いから公開されてないんじゃないかな?
っていうか完全にスレ違い

270 名前:デフォルトの名無しさん :2007/04/29(日) 23:08:19
>>269
IrOBEX

271 名前:デフォルトの名無しさん :2007/04/29(日) 23:32:22
>>266
アドバイスありがとうございました
無事成功しました
本当に感謝です><

272 名前:デフォルトの名無しさん :2007/05/02(水) 09:29:38
>>270
苛めるなよ。その単語でぐぐる気があるなら、こんなところで質問続けてないだろ

273 名前:デフォルトの名無しさん :2007/05/02(水) 09:37:33
無視しなきゃ教えてもらえるところだったのにな馬鹿め

274 名前:260 :2007/05/03(木) 12:15:49
無視したわけではないです!PC環境から離れていました。
先日、IrOBEXでググった際には送受信キットというページをまず開いてしまい、
そこで終了してしまいましたが、今wikiページで理解しました。
一歩目がわかったので色々調べてみようと思います。
ありがとうございました。

275 名前:デフォルトの名無しさん :2007/05/03(木) 19:52:50
勝手アプリ作者でギガアプリに登録してる人いる?
以前までは新しいアプリを登録申請して、登録完了したら、
ギガアプリから登録完了のメールが来たんだけど、
最近は何も来ないんだよな。
他の人はちゃんとメールきてますか?

276 名前:デフォルトの名無しさん :2007/05/03(木) 23:45:29
何かもう・・・
>>260
マジレスするとIrOBEXは赤外線通信のインタフェースで、
PCと接続するには色んなハードル越えないとダメ。
それ以前にiアプリではアドレス帳のデータが取得できないのでダメ。
S!もアドレス帳にアクセスするにはCPじゃないとダメ。
auはS!より敷居が高いので問題外。

PCとUSB接続している奴は、
各携帯キャリアから接続用のインタフェース仕様を貰って
全携帯用のドライバを開発している。
殆どの携帯で内部構造がバラバラで、
更に各種OS用のドライバを作るから地獄の思いをするらしい。

ともあれUSBの仕様的にPCが親で携帯が子になるんで、
PC(親)から携帯(子)に対してデータ取得コマンドを投げるのが正しい姿。
子から親に対して接続要求やら、データの送信をするんじゃない。
よってアプリ関係ない。完全にスレ違い。


277 名前:デフォルトの名無しさん :2007/05/03(木) 23:53:51
赤外線とUSBがまざってるのでよくわからんが
べつに赤外線でも電話帳データのやりとりできなかったっけ?
それはIrOBEXに基づいてると思うけど。
詳細な仕様はしらんw

278 名前:デフォルトの名無しさん :2007/05/04(金) 00:42:30
なあ、そもそも電話帳もブックマークもスケジュールも、
アプリ側からは新規登録しかできなくね?

つか、>>260 は、普通にケーブルと専用ソフトのセット買ってきたらよくね?


279 名前:デフォルトの名無しさん :2007/05/04(金) 02:19:26
>>277
ああ、すまん。iアプリじゃ無理だわな。
普通の機能で、IrOBEX使った電話帳転送ができるということが言いたかった。

280 名前:260 :2007/05/04(金) 10:47:42
たくさんのレスサンクスです!
とにかく、非常に難しいことは分かりました。
おとなしく、自己マンアプリ作って過ごします ノシ

281 名前:デフォルトの名無しさん :2007/05/04(金) 12:01:31
>IrOBEXは赤外線通信のインタフェースで

これが激しい思い込み
全然違う

282 名前:デフォルトの名無しさん :2007/05/04(金) 12:13:26
>260は結論出してるのにスレ違いの話でし引っ張らなくていいよ

283 名前:デフォルトの名無しさん :2007/05/05(土) 05:32:18
>>278
PhoneBookのAddEntryでいけないかな

トラステッドかしれんけど

284 名前:デフォルトの名無しさん :2007/05/05(土) 10:15:15
どうみてもトラステッドです本当に(ry

285 名前:デフォルトの名無しさん :2007/05/06(日) 13:10:05
マルチになってしまいますが…。

構造体的なクラスをつかわなかったり、メソッドをインラインで書いたり、
1クラスでガリガリ書くコーディングってやっぱり今も主流なんでしょうか?

今はiアプリは100kbまで利用出来ますが、
実行ファイルサイズや、ヒープの使用量以外に、
速度的なメリットはあるのでしょうか?



286 名前:デフォルトの名無しさん :2007/05/06(日) 15:17:11
逆になぜ、どういう組み方が主流かなんて気にする必要があるの?
仕事で組み方を制限されてるならその通りにやればいいし、
個人的なものなら、速さか容量か、それとも他の要素か、
何を重視するか決めて好きにすればいいじゃない。

287 名前:デフォルトの名無しさん :2007/05/06(日) 15:43:18
>>286
レス有難うございます。
プログラミングは個人でやってます。
アプリCPUエミュレーションをやっていて、必要なのは速度です。
速度に影響がなければ当然メンテナンスしやすく書きたいです。

文脈で誤解されてしまいましたが、
どんな組み方が主流か、を気にしてるわけではなく、
今流通してるターゲット上で、速度が必要な場合、
どのような組み方が速いのか。を知りたいと思いました。

Webでiアプリ作成ノウハウを探してみたのですが、
少し前の、サイズを減らすような組み方のアプローチに関しては
多くの情報があったのですが、速度に関してはあまり言及している本や、
サイトがありませんでした。。

サイズ制限が緩和された今で、速度面でのメリットでもなければ、
1クラスでガリガリ…な書き方をする必要も無いし、
もし必要ならば速度面に影響があるのではないか?と思い
>やっぱり今も主流なんでしょうか
…という書き方になってしまいました。

簡単なクラスで、幾つかパターンを試して実測してみようと思います。
有難うございました。

288 名前:デフォルトの名無しさん :2007/05/06(日) 16:14:49
速度は機種で大きく違いすぎるから、
みんな考えるのを止めちゃったんだと思われw

289 名前:デフォルトの名無しさん :2007/05/06(日) 16:17:10
ゲームのような常時ループモノ以外だと速度の上昇=計算量の低下につながり、
バッテリーの持ちがよくなり環境にもやさしい、、、、かは微妙だ。

290 名前:デフォルトの名無しさん :2007/05/06(日) 16:32:51
初回起動時のみとかで、10秒間スレッドを何回まわせるか計測して…とかやってるの?
俺めんどくさいしやってね

291 名前:デフォルトの名無しさん :2007/05/06(日) 16:34:39
定期的にフレームレート計ってスリープ値は変えてるな。

292 名前:デフォルトの名無しさん :2007/05/06(日) 16:41:41
携帯がデスクトップの速度を上回る日はもうそこまで来ている

293 名前:デフォルトの名無しさん :2007/05/06(日) 16:42:31
おまえ視力どんだけいいんだよ

294 名前:デフォルトの名無しさん :2007/05/06(日) 18:35:22
っていうかJavaじゃん

295 名前:デフォルトの名無しさん :2007/05/06(日) 20:55:13
>>289
膨らんだり爆発するかもれない物が多いのにそんな気遣いはないなw

296 名前:デフォルトの名無しさん :2007/05/06(日) 22:15:46
むしろバッテリーを爆発させるようなアプリを作ってみたいなw

297 名前:デフォルトの名無しさん :2007/05/06(日) 22:28:16
質問です。
アプリ内でボタンに対する音階を鳴らしたい場合には
それぞれの音階のmldを用意しなければいけないのでしょうか?


298 名前:デフォルトの名無しさん :2007/05/06(日) 22:33:44
あたぼう

299 名前:デフォルトの名無しさん :2007/05/06(日) 22:51:13
フォーマットが分かればプログラムで生成もできる。>MLD
MIDIシーケンスファイルとやってる事は大体同じ。
実際、MLDで音を鳴らしてる、作曲iアプリなんかもある。

単音鳴らすだけなら、あらかじめ〜数十バイト程度のデータを用意して、
数バイト書き換えるだけで音程や音色は変えられる。

面倒だからやらないほうがいいけど。

300 名前:デフォルトの名無しさん :2007/05/07(月) 03:18:02
>>287
今も昔もインライン展開したほうが速いんじゃないかな。
ただ、そこまでしなくても十分な速度が出るなら保守性を選ぶべきだし、
速ければ速いほどいいなら保守性を捨ててでも速いコードを書けばいい。
結局、アプリの要件次第だな。

ちなみに1クラスにガリガリ書けばそれだけで速くなるわけじゃないんだぜ?

301 名前:デフォルトの名無しさん :2007/05/07(月) 09:42:04
でも30クラスとか作っちゃうのは容量の問題で泣けるぜ

302 名前:デフォルトの名無しさん :2007/05/07(月) 10:10:39
>>300
レス有難うございます。
参考にしているプログラムのソースでは、
privateメソッド含め殆どインラインで書いてます。

私は、数ステップ程度のPrivateメソッドなら、
コンパイラに期待してメソッド宣言してしまっています。

やっている事がアプリでのCPUエミュレーションなので、
速度はかなり重視されます。

>>ちなみに1クラスにガリガリ書けばそれだけで速くなるわけじゃないんだぜ?
このあたりのノウハウを教えて頂けないでしょうか・・・。

303 名前:デフォルトの名無しさん :2007/05/07(月) 11:50:59
それはもうiアプリの話じゃなくてJava一般の話じゃないのか?
iアプリ特有の高速化テクニックとかそんなにあるんだろうか。

ところで趣味のアプリでCPUのエミュレーションって
家庭用ゲーム機のエミュレータでも作ってんのかね。

304 名前:デフォルトの名無しさん :2007/05/07(月) 11:59:30
一部の機種ではCPUが2個乗ってるとか、
そういうのに対応するテクニックはあるかもしれんけど、
基本的にはJava一般の話だな。

305 名前:デフォルトの名無しさん :2007/05/07(月) 12:50:29
FAQだとは思うのですが、GraphicsのdrawStringで〜(WAVE DASH)を
を描画したい場合は、どうすれば良いのでしょうか?
所謂、Unicodeの波ダッシュ問題だと思うのですが、回避策が分かりません。
どなたかご教示お願い致します。

306 名前:デフォルトの名無しさん :2007/05/07(月) 13:03:25
>>305
質問状況がよくわからないよ。
通信でテキストデータを受信してそれを描画すると文字が化けてるとか、そういう状況?

アプリ内で単に表示するだけなら g.drawString("〜", 20, 20); で画面に出るけど。
端末内で扱う文字コードはS-JIS

307 名前:デフォルトの名無しさん :2007/05/07(月) 13:10:56
>>306
いえ。単にソースに
Graphics g = getGraphics();
...
g.drawString("〜", ...
してるだけです。エミュレータ、実機共に、「・」か「?」になったような記憶があります。
開発環境はEclipse 3.1.2とiDKDoJa5.0(3.00)です。

> 端末内で扱う文字コードはS-JIS
とはどういうことでしょうか? ソースはShift-JISですが、そういう話ではないですよね?

308 名前:306 :2007/05/07(月) 13:40:47
DoJa-3.5エミュレータと実機P900iで問題なく「〜」出てるよ。

> 端末内で扱う文字コードはS-JIS とはどういうことでしょうか?
もし文字列を入れたbyte配列をいじるような処理してるんだったら
そこでコードを勘違いしてて壊してないか?ってことで書いてみた。

309 名前:デフォルトの名無しさん :2007/05/07(月) 18:30:03
>>305
JDK 1.4.0以前: Shift_JIS = MS932
JDK 1.4.1以後: Shift_JIS = SJIS
となっていて、この違いから特定の文字で文字化けが起きるようです。

詳細は「java SJIS エイリアス」でググると色々見つかると思います。

対策としては
・エンコーディングに Windows-31j を指定する
・文字列の中に文字コードを直接書き込む("\u301c")
あたりでしょうか。(私は下の方法でやってます)

他にいい方法あったらよろしく。


310 名前:デフォルトの名無しさん :2007/05/07(月) 22:27:28
>>302
>私は、数ステップ程度のPrivateメソッドなら、 コンパイラに期待してメソッド宣言してしまっています。
Javaはコンパイル時の最適化はほとんどしない。実行時に最適化できるから。
しかし実装依存だから、携帯のVMでインライン展開しているかどうかはわからない。
おそらくしていないと思うが。

311 名前:デフォルトの名無しさん :2007/05/11(金) 16:05:24
RemoteDevice.connect に指定するプロファイルって、具体的には何を指定すればよろしいのでしょうか?



312 名前:デフォルトの名無しさん :2007/05/11(金) 20:05:11
携帯電話持ち忘れて不安にならない人は全体の2.8%
http://news.ameba.jp/2007/05/4615.php

313 名前:デフォルトの名無しさん :2007/05/12(土) 06:39:59
アプリで安定して60FPS出す方法ってないでしょうか。
なんか揺らぐ。垂直同期?に綺麗に合わせるようなことはできないのかな。
16.6msとか計りたいのだけど…

314 名前:デフォルトの名無しさん :2007/05/12(土) 08:56:20
>>313 無理。タイマの精度も高くないし垂直同期とかも取れないから。

315 名前:デフォルトの名無しさん :2007/05/12(土) 09:21:21
PCで30に調節しても携帯で動かすと20しか出なかったりする

316 名前:デフォルトの名無しさん :2007/05/12(土) 09:33:29
そもそも液晶の応答速度がそんな出ないんじゃない?

317 名前:デフォルトの名無しさん :2007/05/12(土) 14:19:05
902以上で2Dゲームなら60FPS余裕なのにもったいないなぁ。
とりあえず16msで回してるけど、時々カクッとなったり、画面が揺らいだりする。
16msと17msで交互に回すと(平均16.5ms)余計にカクカクした。
16ms回して我慢しておきます…。目立たない部分は30fpsにしとこう。

318 名前:デフォルトの名無しさん :2007/05/12(土) 17:16:05
>>313
タイマ解像度についてはiアプリベンチのサイトに載ってる。
ttp://onosendai.jp/npaka/bench2/bench.jsp

Timer#getResolution()の値らしい。


319 名前:デフォルトの名無しさん :2007/05/12(土) 17:20:01
>>317
たぶんタイマーの精度がそんなにない。10msとかそんなもんで機種毎に違うハズ。
だからタイマーを監視して1フレーム分の16msとかのウェイトを作ってるとカクっとなる。

ためしに10msとか20msで回してみな。

320 名前:デフォルトの名無しさん :2007/05/12(土) 17:45:29
902以降のSystem.currentTimeMillisで1ms単位までなら数値でてるよ。
一応それで回してる。

321 名前:デフォルトの名無しさん :2007/05/12(土) 18:17:41
1つ質問よろしいですか?
当方、パズルゲームを現在作成中なのですが
processEventでキーを取得する処理にしているんですが
たまに受け取らないことがあるみたいなんです。
50FPSで処理させているのを25FPSにすると安定するのですが
ゲームで25FPSはちょっと……。
確実に毎フレームとってくる方法なんてのは無いのでしょうか?
なるべくprocessEventを使用した方向で回答をお願いします。

322 名前:デフォルトの名無しさん :2007/05/12(土) 18:35:57
固定せずに、可変フレームレートの方が良くない?

323 名前:デフォルトの名無しさん :2007/05/12(土) 18:40:23
アプリが4フレーム出てれば良かった頃の人間からすると
えれぇ進化だな('A`)y-~~

324 名前:デフォルトの名無しさん :2007/05/12(土) 18:51:36
>>321
普通にgetKeypadState使った方がいいんじゃない?
あと、901以前だと25FPSすら出ない機種の方が多いとおも。
古い機種にも対応させる必要があるなら、10FPSで遊べる内容に調整しないと。

325 名前:デフォルトの名無しさん :2007/05/12(土) 18:58:07
>>322
実機が手元に無いのでどんな感じになるか分かりませんが
試してみたいと思います。

>>324
D800iDSなので、キーを受け取るっていうより
タッチしたか、してないかをみたいんですよね。
書き方が悪くてすいません。

実際のところ10FPSで動くようなゲームってどんな感じでしょう?
PCゲームプログラミングに慣れているもので、感じがつかめないです。

326 名前:デフォルトの名無しさん :2007/05/12(土) 19:13:54
10フレームでもゲームになってりゃゲームだよ('A`)y-~~

フレームレート上げれるとイベント取りこぼすようになるのは
仕様と思って諦めた方がいい。
BREWとかもそうだし。

327 名前:デフォルトの名無しさん :2007/05/12(土) 19:25:01
25フレームとか贅沢もいいところだ

328 名前:デフォルトの名無しさん :2007/05/12(土) 20:02:08
>>326
やっぱりそうですか。
対策について一日中考えていたのですが、ちょっと残念です。

329 名前:デフォルトの名無しさん :2007/05/12(土) 23:37:28
素直にgetKeypadState使えば解決しそうだが

330 名前:デフォルトの名無しさん :2007/05/13(日) 00:38:01
D800iDSのタッチパネルってPointingDevice扱いなんよ。

331 名前:デフォルトの名無しさん :2007/05/13(日) 01:32:14
>>329
D800iDSには
「通話」
「クリア(?)」
「電話切る」
の三つしかないんで、getKeypadStateしてもしょうがない。

332 名前:デフォルトの名無しさん :2007/05/13(日) 01:48:57
D800iDSのタッチパネルってテンキー表示のとき数字キーのとこをタッチすると
他の機種と同じようにprocessEvent()でDisplay#KEY_1とか上がってくんの?

333 名前:デフォルトの名無しさん :2007/05/13(日) 15:38:32
900i以降で、画面の大きさ以上のイメージは読み込めないという機種はあるんでしょうか?

334 名前:デフォルトの名無しさん :2007/05/13(日) 15:42:09
定額じゃないから@アプリをPC経由で携帯にUSBでDLしたいんですけど、
PCでDL出来るサイトって無いですか?

335 名前:デフォルトの名無しさん :2007/05/13(日) 16:03:26
良く分からんがあるならとっくに使ってる。

336 名前:デフォルトの名無しさん :2007/05/13(日) 16:25:18
jam/jarファイルのリンクをローカルにでも作って「対象をファイルに保存」でダウンロードは普通にできると思うが?


337 名前:デフォルトの名無しさん :2007/05/13(日) 16:32:25
>>336
PCでアプリをダウンロードして、携帯になにかしらの媒体でコピーして
そのアプリを携帯で使いたいってことでしょ?

それなら無理ってことでしょ。

338 名前:デフォルトの名無しさん :2007/05/13(日) 20:46:09
public void keyPressed(Panel,int){}
十字キー押してもこの中に処理が入りません。
数字キーではちゃんと入ります。助けてください。

339 名前:デフォルトの名無しさん :2007/05/13(日) 21:29:31
>>338
Panelでは十字キーとかは取れない。Panelが使っちゃうからな。

340 名前:デフォルトの名無しさん :2007/05/13(日) 22:56:49
そーだったんですか。ありがとうございます。

341 名前:デフォルトの名無しさん :2007/05/15(火) 07:15:14
60FPS近くで処理を終えても、液晶の性能が低く実質30FPSの機種もあるな。

342 名前:デフォルトの名無しさん :2007/05/15(火) 10:26:59
実質902以降は15フレーム近辺ってイメージだと思うんだがどうよ?

343 名前:デフォルトの名無しさん :2007/05/15(火) 10:33:54
AudioPresenter#getCurrentTime()は、当てにならぬ。機種依存が大きい。
よい子は使っちゃだめよ。

344 名前:デフォルトの名無しさん :2007/05/15(火) 13:08:11
>>320
もしかしてこういうこと?

    while(System.currentTimeMillis() < wait);
    wait += 16;

バッテリー食いそうだなあ。

345 名前:デフォルトの名無しさん :2007/05/15(火) 19:13:00
>>344
残り数ミリ秒まではsleepしてるよ。
最後はおっしゃるとおり空回し。

346 名前:デフォルトの名無しさん :2007/05/15(火) 21:07:21
sleep()でも電力消費はほとんど変わらないという噂。

347 名前:デフォルトの名無しさん :2007/05/15(火) 22:43:24
Σ(;´Д`)

348 名前:デフォルトの名無しさん :2007/05/15(火) 22:59:58
タイマーで回しているのは俺だけのようだな

349 名前:デフォルトの名無しさん :2007/05/16(水) 02:17:07
sleepと殻回しはどうちがうの?

350 名前:デフォルトの名無しさん :2007/05/16(水) 02:18:05
空回しってスリープ無しの事?

351 名前:デフォルトの名無しさん :2007/05/16(水) 02:27:42
>>345 さんの意見だと
sleep の中身は空回しじゃないって言う意味でそ
じゃあどうちがうの?って



352 名前:デフォルトの名無しさん :2007/05/16(水) 02:31:25
ああ。どうなんだろうね。

353 名前:デフォルトの名無しさん :2007/05/16(水) 08:26:01
解ってて言ってるだろww
つまりsleepで9割ぐらいのとこまで待機して、
後は344で正確な値になるまで待つ。

Thread.sleep( wait - System.currentTimeMillis() - 3 )
while(System.currentTimeMillis() < wait);

354 名前:デフォルトの名無しさん :2007/05/16(水) 10:48:25
から回しってのは
while(System.currentTimeMillis() < wait)
;

のことだわな。
で、sleepするとバッテリーの消費抑えられたのはP504iなどの昔の超優良真面目機種だけ。
今はまったくかわらん。
というか、などのっていったけどP504iとP504iSだけじゃないか?

355 名前:デフォルトの名無しさん :2007/05/16(水) 22:20:57
ソースは?

356 名前:デフォルトの名無しさん :2007/05/17(木) 01:40:28
オイスターで

357 名前:デフォルトの名無しさん :2007/05/17(木) 04:38:47
FileReaderクラスが見つからないんですが
ファイルからの入力って何を使ってやるんですか?

358 名前:デフォルトの名無しさん :2007/05/17(木) 06:56:11
>>357
スクラッチパッドの好きな場所から好きなように入力して下さい。
SDカードのファイルだったら開発ガイドの外部メモリの項目見れ。

359 名前:デフォルトの名無しさん :2007/05/17(木) 23:24:29
パレットの使い方が全然分かりません
画像名.setEntry(色番,色);
とやっても、シンボルを解決できないと出てしまいますぅ
画像は普通のImageです
PalettedImageのロードのしかたも分かりません
ネットのAPIリファレンス見ても理解不能

360 名前:デフォルトの名無しさん :2007/05/18(金) 00:16:52
>>359
普通のImageではパレット使えない。
PalettedImageはcreatePalettedImageってファクトリメソッドがあるでしょ。

361 名前:デフォルトの名無しさん :2007/05/18(金) 00:48:43
Image gazou;
PalettedImage gazou2;

MediaImage pMImage=MediaManager.getImage("resource:///aaa.gif");
try{pMImage.use();}catch(ConnectionException ce){}
gazou=pMImage.getImage();

gazou2=createPalettedImage(gazou);


↑とやってもエラーが出てPalettedImageが作れません。
どうしてでしょうか?!

362 名前:デフォルトの名無しさん :2007/05/18(金) 01:40:09
>ネットのAPIリファレンス見ても理解不能
理解できなきゃもう辞めればぁ?

363 名前:デフォルトの名無しさん :2007/05/18(金) 02:37:46
>>361
型が違うから。
Javaについてその理解度だと厳しいだろうな。。。

364 名前:デフォルトの名無しさん :2007/05/18(金) 12:09:37
対象機種はFOMAで、音声(PCM)をiアプリから鳴らそうとしているのですが、
WAVからMLDファイルに変換するツールとしては、wav2mld(シェアウエア)しか
ないのでしょうか?

W2MFiなんたらというのが開発者向けにありますが、エラーが出てmldが
作成されません。インストール時点から既にエラーが出てるし。。

PCMをiアプリから使う方法として最適なのはどういった方法なのでしょうか?


365 名前:デフォルトの名無しさん :2007/05/18(金) 19:03:15
iアプリゲームの作成支援ソフトでお勧めのものがあったら教えてください!

366 名前:デフォルトの名無しさん :2007/05/18(金) 19:07:33
>>365
eclipse マジオヌヌメ。

367 名前:デフォルトの名無しさん :2007/05/18(金) 19:44:48
>>365
マルチすんな
http://www.nttdocomo.co.jp/service/imode/make/content/iappli/about/tool_foma5.html
http://java.sun.com/j2se/1.5.0/ja/download.html
http://www.eclipse.org/

368 名前:デフォルトの名無しさん :2007/05/18(金) 19:50:15
>>363
おまえは質問の悪口ばかり書き込んでるんじゃねえよ
おまえみたいのを荒らしって言うんだ覚えておけ
二度とこのスレに来るな
害虫野郎

369 名前:デフォルトの名無しさん :2007/05/18(金) 19:51:27
>>362
おまえは質問の悪口ばかり書き込んでるんじゃねえよ
おまえみたいのを荒らしって言うんだ覚えておけ
二度とこのスレに来るな
害虫野郎

370 名前:デフォルトの名無しさん :2007/05/18(金) 20:05:13
>>368>>369
レス番間違えてますよ

>>363じゃなくて>>368
>>362じゃなくて>>369

まあサンプルでも提示しろってこった

371 名前:デフォルトの名無しさん :2007/05/18(金) 20:19:23
>>370
いいからおまえはもう来るなって
おまえの不愉快なレスのせいでここが閑散としちまったことに
いいかげん気づけよ
知識があってもマナーのない奴はここには必要ねえんだよ

372 名前:デフォルトの名無しさん :2007/05/18(金) 20:21:58
Java初心者を嘲るつもりは全然ないんだが、
>>361はもっと勉強しないといかんと思うぞ。

Imageクラスはbyte配列でもInputStreamクラスでもない。
まずはコンパイルエラーの内容をよく読むんだ。頑張れ!

373 名前:デフォルトの名無しさん :2007/05/18(金) 21:03:14
>>364
ドコモが仕様公開しないから完全無料のはまずない。
最適なのはPCMを使わないこと。可能なら動画なし3gpで再生。
最悪ドコモやめる方法も。

374 名前:デフォルトの名無しさん :2007/05/18(金) 21:57:43
もしかしてスクラッチパッドってiアプリ更新してもリセットされない?

375 名前:デフォルトの名無しさん :2007/05/18(金) 21:58:05
されない

376 名前:デフォルトの名無しさん :2007/05/18(金) 22:01:29
PsmPlayerがあるだろ

377 名前:デフォルトの名無しさん :2007/05/18(金) 23:47:06
>>371
無能が吠えんなよwwwwww

378 名前:デフォルトの名無しさん :2007/05/19(土) 00:46:34
わかってたことだけどVista+JDK6でエミュ動かしたら結構大変なことになった
1つだけ言うとすれば、欲張ってカスタマイズしようとするな、ということだった
とにかくデフォルトで使うようにするとしっかり動く

379 名前:デフォルトの名無しさん :2007/05/19(土) 14:31:49
メソッド内にそれ以上書き込んだらビルドはできるけど実行するとエミュに
Maximum byte code length (32kB) exceededって表示されて実行できない状態になってしまった。
やっぱメソッドを削る以外方法はないんでしょうか。

380 名前:デフォルトの名無しさん :2007/05/19(土) 15:24:56
iDK for DoJa 5.0を4/23リリースのバージョン3.00に入れ替えてからの
話なんだが。
エミュでアプリ起動するとプロセスdoja.exeが生成されるんだけど、
アプリ終了すると高確率でこのdoja.exeが残る。で、つぎにアプリ
起動しても何も起きない。残ってたdoja.exeを殺すとまたアプリが
起動するようになる。こんなのうちだけ?

381 名前:デフォルトの名無しさん :2007/05/19(土) 15:32:46
>>379
縮めろ

>>380
そのバージョンは入れてないから何とも言えんが過去のDojaとかでもたまーに起きた。
エミュ終了時にPCが重いとプロセスが残る可能性が高まる気がする。

382 名前:デフォルトの名無しさん :2007/05/20(日) 02:12:39
>>377
負け犬はおまえだろ
質問の悪口しか書き込めない奴はここに来るな
ネットマナーを勉強しろ

383 名前:デフォルトの名無しさん :2007/05/20(日) 02:43:09
32KBを超えるメソッドって一体何行あるんだ…
もしかしてこういう形で巨大な配列を初期化してない?

  int[] array = new int[]{0,1,2,3,4};

384 名前:デフォルトの名無しさん :2007/05/20(日) 03:10:30
2ちゃんでマナーとかワラタ

385 名前:デフォルトの名無しさん :2007/05/20(日) 03:19:58
final int data[] = { 1,2,3〜};
をどっかに置いておいてもなるね。

386 名前:デフォルトの名無しさん :2007/05/20(日) 04:22:03
>>380
Doja 4.1でもたまになってるよ。
数ヶ月前までは滅多になかったんだけど、ここ1ヶ月では数日に1回はなってる。
WindowsUpdateとの関連性があるのだろか。

387 名前:デフォルトの名無しさん :2007/05/20(日) 09:48:45
>>385
え?その一行入れるだけでなるの?

388 名前:デフォルトの名無しさん :2007/05/20(日) 10:18:40
>>387
巨大な場合だぞw

389 名前:379 :2007/05/20(日) 10:51:03
>>383
int[] array = new int[]{0,1,2,3,4};はそんなに巨大じゃないけど
一応メソッドの外に出してみます。
一応ソースの一部
http://zif.hp.infoseek.co.jp/app/tmp/toriMain.java
シューティングっぽいやつだけど素人のプログラムでちょっと恥ずかしいね。

390 名前:デフォルトの名無しさん :2007/05/20(日) 10:56:25
docomoから画面も広くて回線も早い携帯が出ますよね
Nだったかな
それ専用の2chブラウザ作って欲しい
他のブラウザと違う所は絵や写真のうpをブラウザで表示できる事
PCのブラウザでは普通だけど今までの携帯ではできませんよね?
iアプリを作ってスレを探せなかったのでここにレスしました

391 名前:デフォルトの名無しさん :2007/05/20(日) 11:13:55
>>384
消えろ

392 名前:デフォルトの名無しさん :2007/05/20(日) 11:30:46
>>389 巨大な配列は、長い文字列にコード化して持っておくと結構小さくなるよ。
初期化時にInteger.parseInt()などで数値化する。

393 名前:デフォルトの名無しさん :2007/05/20(日) 11:32:38
>>389
exe()が長すぎ。3000行もあるじゃん。

メソッド分割してみなよ。
ってスタックに変数乗せてるこの構造だと分割も面倒そうだね(苦笑

とりあえず「ゲーム画面」のところだけでも別のメソッドに移せれば…

394 名前:デフォルトの名無しさん :2007/05/20(日) 11:39:21
うわん、読みにくいコード
でも他人のは参考になる

395 名前:デフォルトの名無しさん :2007/05/20(日) 11:47:17
>>390
自分にレスだけどW2Chで出来たみたい。スマソ

396 名前:デフォルトの名無しさん :2007/05/20(日) 11:50:08
W2Chなんてものあったのか
iMonaしかしらねーや

397 名前:379 :2007/05/20(日) 15:49:00
みんなレスやアドバイスサンクス
>>392
int[] array={1,10,100};を
String array="1,10,100";にすればいいんでしょうか。

>>393
がんばってメソッド分割に挑戦してみます。

>>394
ゲームの基本的な構造は
http://www.saturn.dti.ne.jp/~npaka/apptsuku/index.html
この本を参考にして後は自己流で行ったらどんどん読みにくくなってってしまった。

398 名前:デフォルトの名無しさん :2007/05/20(日) 19:49:00
>>397
がんばれ

399 名前:デフォルトの名無しさん :2007/05/20(日) 20:26:53
>>396
消えろ

400 名前:デフォルトの名無しさん :2007/05/20(日) 21:49:46
>>397
構造ってよかコメントとか行間の取り方の問題の気がする。
つーか、プリプロセス済みソースみたいだしw

その辺は経験かね。

401 名前:379 :2007/05/21(月) 00:54:36
>>400
ソース公開するつもりはなかったから自分だけ分かればいいや
って感じで適当にコメントしてしまった。
後から考えたら変なコメントばっかでちょっと恥ずかしくなったw
まあゲーム内容も恥ずかしいけどね。

402 名前:デフォルトの名無しさん :2007/05/21(月) 02:56:46
そんなどうでもいいとこ恥ずかしがる前に
きみは「初めてのプログラミング」みたいな本を読んだ方がいいよ

403 名前:デフォルトの名無しさん :2007/05/21(月) 07:10:57
ソース公開したら、ここ見てる会社の同僚に
1発で俺ってばれるから駄目だなw

404 名前:デフォルトの名無しさん :2007/05/21(月) 16:17:52
本を読むより生きたコードを読むほうがいいんじゃね?
こういうやり方もあるのか!みたいな感動をたくさん味わってほしい

405 名前:デフォルトの名無しさん :2007/05/21(月) 20:19:18
それは基礎知識があってのことだろう
1つのメソッドで3000行も書くようではやはり
他人のソースを読み解くより先に基礎知識を身に付けるべきだろう

406 名前:デフォルトの名無しさん :2007/05/21(月) 22:16:45
でも普通にプログラミングの本、特にオブジェクト指向の本なんて読まれた日には・・・
お願いだ。iアプリにクラスを30個も作らないでくれ・・・

407 名前:デフォルトの名無しさん :2007/05/21(月) 22:22:01
その辺のさじ加減はC/C++/Javaができる人がうまい気がする。
そんだけできれば上級者だからってだけかもしれんけど。

408 名前:デフォルトの名無しさん :2007/05/21(月) 22:40:42
今44クラス8インナークラスありますが何か?

409 名前:デフォルトの名無しさん :2007/05/21(月) 22:42:00
903まで行ったら結構クラス作っても大丈夫。
iアプリでJavaもどき使うようになって、
初めてJava使って書いたって気がしたよ('A`)

410 名前:デフォルトの名無しさん :2007/05/21(月) 22:47:59
よほど多機能なアプリじゃない限り、100kあればオブジェクト指向っぽくいけるかな。
30kだときびしい。

411 名前:デフォルトの名無しさん :2007/05/21(月) 23:10:15
しかし
au移植などもふまえるとクラスの数がぐっと少なくなる罠

412 名前:デフォルトの名無しさん :2007/05/22(火) 00:00:00
というかむしろ最近はauから移植することが多くなった

413 名前:デフォルトの名無しさん :2007/05/22(火) 00:08:04
さらにau新規の話が来ない

414 名前:デフォルトの名無しさん :2007/05/22(火) 00:10:00
つまり話をまとめると・・・・?

415 名前:379 :2007/05/22(火) 00:33:31
みんなアドバイスありがとうございました。
一応JAVA入門だか読んだけどメソッドは2回以上呼び出し
がないと作る意味ないと思ってたからどんどん長くなってしまった。

416 名前:デフォルトの名無しさん :2007/05/22(火) 02:35:43
すっ飛んだ思い込みは禁物だぜw
今回は勉強になったろ、これからも頑張れー

417 名前:デフォルトの名無しさん :2007/05/22(火) 07:48:20
>>413
それは公式コンテンツはオープンアプリ不可だから。
一般の人にとってどうでもよさそうなところをねちねち制限しまくるauうざい

418 名前:デフォルトの名無しさん :2007/05/22(火) 19:54:57
浮動小数点計算が含まれてたら実行エラーって・・・
俺が何したって言うんだ。

419 名前:デフォルトの名無しさん :2007/05/22(火) 20:00:08
浮動小数点演算。

420 名前:デフォルトの名無しさん :2007/05/22(火) 20:40:07
Graphics.drawString()に文字列定数渡して描画してるだけで
じゃんじゃんヒープ食うんだけど、これ仕様? エミュレータだけ?

421 名前:デフォルトの名無しさん :2007/05/22(火) 21:02:13
>>420
仕様。
というか何もしないでループまわしてるだけでもヒープ減っていくでしょ。


422 名前:デフォルトの名無しさん :2007/05/22(火) 21:40:29
N903iでは減らない
N901iS以前はじゃんじゃん減る

423 名前:デフォルトの名無しさん :2007/05/22(火) 22:35:31
リークしてるって話?
それともSystem.gc()で済む話?

424 名前:デフォルトの名無しさん :2007/05/23(水) 02:22:10
>>423
消えろ

425 名前:デフォルトの名無しさん :2007/05/23(水) 02:40:45
>>423 後者

426 名前:デフォルトの名無しさん :2007/05/23(水) 08:25:24
後者だけどsystem.gc()自体
端末によって実装が違うからな

system.gc()かけても内部では無視される端末とかある

427 名前:デフォルトの名無しさん :2007/05/23(水) 11:55:13
カンマ区切りの文字列を配列で取得しようと思っていたのですが
iアプリではsplitが使えないことに今気付いてしまいました。
それに代わる関数やセオリー書式のようなものはありますか?

428 名前:デフォルトの名無しさん :2007/05/23(水) 12:04:49
indexOf(),substring()

429 名前:427 :2007/05/23(水) 12:08:06
>>428
即レス感謝です。
各要素のバイト数を揃えさえすればそれでいけますね。
ありがとうございました!

430 名前:デフォルトの名無しさん :2007/05/24(木) 11:52:24
ところでおまいらDoJaを何て読んでる?
ドジャ、ドージャ、ドゥージャ等。

431 名前:デフォルトの名無しさん :2007/05/24(木) 11:55:08
どーじゃ

432 名前:デフォルトの名無しさん :2007/05/24(木) 14:11:59
ディオージェイエイ

433 名前:デフォルトの名無しさん :2007/05/24(木) 14:57:49
じゃばでどーじゃば?

434 名前:デフォルトの名無しさん :2007/05/24(木) 19:58:42
環境:eclipse3.1.1 + Doja5.0

InputStream pinput = Connector.openInputStream("scratchpad:///0;pos=0");

実行時に上記の部分で
java.io.IOException: Illegal position
が発生しました。
スクラッチパッドへアクセスできないようなのですが、
何が原因なのでしょうか・・・?
何かしらの設定が必要?

435 名前:デフォルトの名無しさん :2007/05/24(木) 20:00:31
必要

436 名前:デフォルトの名無しさん :2007/05/24(木) 20:01:40
ADFのスクラッチパッドサイズ(SPSize)を設定汁

437 名前:434 :2007/05/24(木) 20:08:40
SPSizeに値を入れると「スクラッチパッドの作成に失敗しました。」
となります。
これはプロジェクトの新規作成時に
デフォルトコンテンツを指定しなかったことが原因のようなのですが、
なので、直接jamを編集すると、今度は
「SPsize の指定可能サイズは -5341677Byte なので、それ以下の値を設定してください」
となって起動すらできなくなってしまうのです・・・。

438 名前:デフォルトの名無しさん :2007/05/24(木) 22:03:40
Dojaの作るスクラットパッドとeclipseのスクラットパッドは別物だからそれが関係してるんかな。
もしくはspフォルダが書き込み禁止になってるとか。
これくらいしか思いつかん。

439 名前:デフォルトの名無しさん :2007/05/24(木) 22:05:24
スクラットパッド

440 名前:デフォルトの名無しさん :2007/05/24(木) 22:07:58
お前ら、ちゃんと書き込む前に確認するんだぞ。

特に俺とか

441 名前:デフォルトの名無しさん :2007/05/24(木) 22:37:17
コードアシストがないと生きられない身体なのさ・・・

442 名前:デフォルトの名無しさん :2007/05/24(木) 23:30:41
たぶんものすごく初歩的な事なのですが、聞くは一時の恥という事で質問させて下さい。
エミュレータで実行しようとすると、pac内にStartAppが無いと怒られるのですが、
startとの違いは何なのでしょうか?
メインのクラスはIApplicationを継承していて、それによって自動でstartメソッドが追加されている状態です。
なのでstartで良いのだと思っていたのですが・・・

環境はeclipse3.2とDoja5.0です。

443 名前:デフォルトの名無しさん :2007/05/25(金) 00:32:45
>442
まず君は、ネットや本にあるサンプルを、
とばしたりせず手順通りに実行してみるべきだと思うんだ。


444 名前:デフォルトの名無しさん :2007/05/25(金) 01:51:50
eclipseとか使うなってw

445 名前:デフォルトの名無しさん :2007/05/25(金) 07:08:18
Doja5.0のエミュ落としたら会社で使ってるのとデザイン違ってて驚いたw

446 名前:デフォルトの名無しさん :2007/05/25(金) 15:10:55
iαppliTool for DoJaの、コンソールのフォントを、変更できないものでしょうか?
ここが等幅フォントでないと、たとえばコンパイルエラーメッセージの「    ^」の
位置が合わなくてあまり愉快でないとか、いろいろあるんですが。

447 名前:デフォルトの名無しさん :2007/05/25(金) 22:37:36
eclipseを使いやすいように設定し、完全に使いこなせるようになるのい数週間は掛かる。
ちょっとした物なら適当なテキストエディタを使って組んだ方が早い。

448 名前:デフォルトの名無しさん :2007/05/25(金) 23:25:23
そして、eclipse使うほどの規模のものになってくると容量詰め込みのために
プリプロセッサを使い始め、eclipseを使う理由の70%を失う。

449 名前:デフォルトの名無しさん :2007/05/26(土) 03:40:33
プリプロセス通した後のをEclipseでデバッグというのはやった。

450 名前:デフォルトの名無しさん :2007/05/26(土) 07:39:18
>>447
数週間ってどんだけスペシャリストにするつもりなんだ。
1日あれば最低限の機能は問題なくつかえるようになる。


451 名前:デフォルトの名無しさん :2007/05/26(土) 10:29:17
>1日あれば最低限の機能は問題なくつかえるようになる。

それは正しくインストールと設定ができてて、さぁ使ってください、な状態での話でしょ。
ビルドできない、○○エラーが出る、よくわからないけど動かない、
とか問題の切り分けができない初心者はeclips使うなよ、と思う。

公式のビルドツールだけで最低限アプリは作れるんだから、
まずそれでアプリを作れるようになって、
その上で使いにくさとか感じるようになってからeclipsなりantなり好きに導入しろよと。

452 名前:デフォルトの名無しさん :2007/05/26(土) 11:10:12
それは一理ある

453 名前:デフォルトの名無しさん :2007/05/26(土) 14:15:37

public class test extends Canvas {
int a[];
public test( Canvas c ) {
a = c.getGraphics().getRGBPixels( 0, 0, 240, 320, null, 0 );
}
public void paint( Graphics g ) {
g.setPixels( 0, 0, 240, 320, a, 0 );
}
}

DoJaエミュだと、呼び出した(newした)側のコピーで別canvas描けてるんだけど、
実機(SH903i)だとうまくいかない(画が乱れる・・

回避する方法とか知ってる方いますか?

454 名前:453 :2007/05/26(土) 14:34:59
newした側の内容がimageだと起こるようです、
文字列描画だけのcanvasだと実機でもできました


455 名前:デフォルトの名無しさん :2007/05/26(土) 14:57:53
setRGBPixel()かな

456 名前:453 :2007/05/26(土) 15:07:47
>>455
setRGBPixelでいけました、
ありがとうございます

457 名前:デフォルトの名無しさん :2007/05/26(土) 18:53:58
>>451
>それは正しくインストールと設定ができてて、さぁ使ってください、な状態での話でしょ。

インストールからやらせてるけど、何の問題もないよ?もちろんアプリ作成初心者にやらせてる。
iアプリ専用ツールで作業するより、
・他のキャリア開発でも同じ環境で作業できる
・eclipseのコード入力支援をうけられる
という利点のほうが大きい、とうちでは判断してる。
実際何の問題もおきてないし、むしろJAVAに対するフォローを入れる機会が減ってる。

あぁもちろん仕事での話だ。個人なら好きなのでいいんじゃない?


458 名前:デフォルトの名無しさん :2007/05/27(日) 02:15:03
今はCLASSPATHを理解しなくてもそんなに困らないからな

459 名前:デフォルトの名無しさん :2007/05/27(日) 23:00:56
DrawStringで文字を描画したときiαppliTool for DoJa-5.0(FORM)と実機(P902iでのみ確認)とでは
文字の位置がずれてるのですが機種によって描画位置がずれるのですか?
それともエミュのほうがずれてるのですか?

教えてくださいお願いします。

460 名前:デフォルトの名無しさん :2007/05/27(日) 23:05:52
縦方向にずれるって言うんなら
Fontの『アセント』と『ディセント』について調べてみてくれ。
それが機種によって違う。

461 名前:デフォルトの名無しさん :2007/05/27(日) 23:26:30
>>460
回答ありがとうございます。
しかし実機では右上の方にずれるので原因は違うようです。
アセントとディセントについても調べてみます。

462 名前:デフォルトの名無しさん :2007/05/28(月) 10:49:55
便乗ズレ質問お願いします。

getWidth()/2とgetHeight()/2でスクリーンの中心(点o)を取った場合についてです。
fillPolygonで点oを中心とした図形(直線や多角形)を使って描いた場合と
画像(imgA)を点oから横方向にimgA.getWidth()/2、縦方向にimgA.getHeight()/2だけマイナスして配置した場合とでは
実機で表示すると中心が縦方向にズレてしまいます。
これを回避する方法はあるんでしょうか?
環境はDoJa3.0で、エミュでは中心がズレることなくきちんと表示されています。

463 名前:デフォルトの名無しさん :2007/05/28(月) 11:04:35
単純にどの機種か分からんけど実機の仕様という気がする。

464 名前:462 :2007/05/28(月) 11:14:14
>>463
レスありがとうございます。
試した機種は手元にあるP505iのみです。
検索しても同種の問題はヒットしないので困っていましたが
仕様であれば、何とも仕様がないですね(シャレではなく)。

465 名前:デフォルトの名無しさん :2007/05/28(月) 12:13:00
動画なし3gpを再生するのってどーすればいんですか?
VisualPresenterPanelクラスを使っていけばいいのでしょうか?

教えてくださいお願いします。




466 名前:デフォルトの名無しさん :2007/05/28(月) 19:08:33
ためせばわかる

467 名前:デフォルトの名無しさん :2007/05/28(月) 21:50:57
>462
単純に、実機とエミュレータでgetHeight()の値が違うだじゃないか?
エミュレータのコンフィグファイルで画面サイズを実機と同じにしてやれば
意図通りの位置に表示されるはず。

468 名前:467 :2007/05/28(月) 21:53:44
画面の中心に画像を表示したい、ってだけなら
x = (getWidth() - imgA.getWidth()) / 2;
y = (getHeight() - imgA.getHeight()) / 2;
g.drawImage(imgA, x, y);
で済む話だけど。

469 名前:デフォルトの名無しさん :2007/05/28(月) 21:53:59
と言うかセンタリングとかさせてないの?
画面サイズがばらばらな実機達なのに座標0.0に描画?
俺の読み間違えかな・・・

470 名前:デフォルトの名無しさん :2007/05/29(火) 00:52:25
>459

文字の座標って、Y軸が文字の底辺なんですよ。
だから0,0だと0,−16に表示されてるように見えてしまうんです。



471 名前:462 :2007/05/29(火) 14:05:40
>>467-468
レスありがとうございます!助かりました。
>エミュレータのコンフィグファイルで画面サイズを実機と同じにしてやれば
>意図通りの位置に表示されるはず。
まさにその通りでした!画面サイズの調整できちんと表示されるようになりました。
ただ、
>単純に、実機とエミュレータでgetHeight()の値が違うだけじゃないか?
とすると、例えば、画面の中心でなくとも
g.drawString("A",100,100);
g.drawImage(imgA, 100, 100);
とした場合、もしズレが生じるのであればフォント「A」とimgAは同時にズレるのではないのでしょうか?
今回おかしいなと思ったのは、imgAは本来のx=100,y=100の位置から表示されるのに、
フォント「A」は通常よりも縦方向にだけマイナスの位置から表示されてしまうからです。
もちろんこれも画面サイズを合わせれば解決しましたが、ちょっと腑に落ちないんですよね。

472 名前:462 :2007/05/29(火) 14:12:12
と思ったら、文字に関しては>>470
>文字の座標って、Y軸が文字の底辺なんですよ。
で解決かも。
画像は左上から描写されるのに対して、(機種によっては?)文字列は左下から描写されるから
文字だけ縦方向にズレが生じたように見えるんですかね。
でも、fillPolygonで図形を描写する際も縦方向にズレるのはなぜなんだろうか・・・。

>>469
fillPolygonで描写と図形と
同じような図形のGIFイメージとをセンタリングで配置したのに
fillPolygonで描写した図形だけが縦方向にズレるのはなぜ?という質問でした。

473 名前:デフォルトの名無しさん :2007/05/30(水) 12:30:24
DoJa4.0以降の3Dアプリ制作を始めたところですが、固定少数でやるべきか、
浮動少数でやるべきか悩んでいます。 901i以降の端末がハードウェアで
浮動少数演算と、またGPU(もどき?)で4x4行列によるベクトルの変換を
サポートしているなら浮動少数にしようかと思うのですが、現状、ハードウェアの
サポートはどういう感じでしょうか?またそういうスペック的な情報のある
サイト等ありましたら教えてください。


474 名前:デフォルトの名無しさん :2007/05/30(水) 17:35:44
ダウンロードしたiアプリを起動してる時って通信料とられてますか?

475 名前:デフォルトの名無しさん :2007/05/30(水) 18:05:25
もう少しアプリよりの話をよろ

476 名前:デフォルトの名無しさん :2007/05/30(水) 18:37:01
がっぽりととられてますよ


477 名前:デフォルトの名無しさん :2007/05/30(水) 18:41:29
と言うか「起動してる時」の条件が不明すぎる。
起動時に通信してるかどうかくらい分かるだろうに。

478 名前:デフォルトの名無しさん :2007/05/30(水) 19:00:41
じゃあ点滅してないからとられてないんだ

479 名前:デフォルトの名無しさん :2007/05/30(水) 19:20:33
>>466
さっそく試してみた。
なんかプレイヤーみたいのが出てきて再生は出来ました。
が、
アプリのBGMとして再生したのですが、どうしたらいいでしょうか?
アプリを起動しながら、BGMとして動画なし3gpを再生する方法を
ご存知でしたら教えてください。

480 名前:デフォルトの名無しさん :2007/05/31(木) 08:31:23
無理

481 名前:デフォルトの名無しさん :2007/05/31(木) 10:51:04
>>473 com.nttdocomo.ui.util3d.FastMathというのが存在しますが、
FastMathと比較して何かベターなものはあるか、という質問でしょうか?

482 名前:デフォルトの名無しさん :2007/05/31(木) 21:10:23
現在iモードで3Dのプログラムうをしているのですが、
Doja5.0に減算処理はないのですか?
加算はありました。


483 名前:デフォルトの名無しさん :2007/05/31(木) 21:25:34
>>482
よ〜し特別に答えちゃうぞ〜







『何を』減算するのかくらい書けませんか?
それともエスパーの降臨をお待ち?もしそうだったらごめんなさい。

484 名前:デフォルトの名無しさん :2007/05/31(木) 22:33:07
>>483
煙等の表現に3Dオブジェクトの減算合成をしたいのですが、
ブレンドモードにNORMAL・ALPHA・ADDの3種類しか見当りませんでした。
プリミティブのポイントスプライト等で使用できればと思ったのですが…。
と思いつつ調べているとオプションAPIリファレンスに減算合成ができるような事が書いてありました。
こちらでもd4dの表示ができるのかわかりませんが、一回やってみようと思います。


485 名前:デフォルトの名無しさん :2007/05/31(木) 22:44:58
>>484
マスコットカプセルの方かな?それなら無理
API側で無い場合は、対象範囲を白黒反転させて加算合成、もう一度白黒反転で
元に戻すとかやったりするもんなんだが、反転処理も無いから無理だな
OpenGL側ならブレンドモードで反転設定できるから、それ使えって意味なのかもしれんよ

煙なら薄いのから濃いのまでテクスチャ描いて通常アルファブレンドでもいいと思うぞ

486 名前:デフォルトの名無しさん :2007/05/31(木) 22:54:45
>>484
オプションAPIの3DはDoJa3.5以前(MascotCapsule v3)との互換のために残されているものであって
まぜて使ったらだめだよ。

487 名前:484 :2007/06/01(金) 01:23:36
>>485
>>486
ありがとうございます。
とりあえず通常アルファブレンドでやってみようと思います。
拡張APIの3Dを同時に使用できるのか少し疑問だったので助かりました。
OpenGLの方も少し資料を探してみようと思います。


488 名前:デフォルトの名無しさん :2007/06/01(金) 12:26:39
Graphics3Dとか、FastMath辺りって糞設計ですな。こんな糞設計はRenderer関係では過去に見たことがないです。
言い出したらきりないけど、いちいちパラメータをfloat->fixedに変換して計算したりとか、んだったら最初っから固定少数でやれって話しだし。
だいたい、12ビット固定少数って三角関数を表すには不十分な精度。三角関数だけ下駄はかせるのか?
テクスチャー座標もなんで[0,1.0]に正規化しないの? どんな糞サンプリングアルゴリズムか知らないけどさ、正規化しないならなんのためにテクスチャサイズが2の累乗なんだよ。意味ねーじゃん。マジ使いにくいよこれ。
トレステッドアプリしかOpenGLESを使わせてくれないってのは、これを使えってことで、これを使えってことは死ねってことだよなw


489 名前:デフォルトの名無しさん :2007/06/01(金) 13:06:51
>>488
正しいことやりたきゃ、偉くなれ


490 名前:デフォルトの名無しさん :2007/06/01(金) 13:44:38
今作っているアクションゲームが重いので相談したところ、
描画に paint を使用するのをやめると、
軽くなるかもというアドバイスを受けたんですが、どの程度効果があるものなのでしょうか

491 名前:デフォルトの名無しさん :2007/06/01(金) 13:50:35
>>490
やってみろ。


492 名前:デフォルトの名無しさん :2007/06/01(金) 14:09:07
>>491
ですね、もっともです。
が、やるのはいいんですが、もうほとんど完成しちまってるんで、
改造に時間かかりそうなんですよね
それがほんとに効果があるのか疑問だって言う人もいるんで、
処理を見直していって軽くするのとどっちがいいかと

493 名前:デフォルトの名無しさん :2007/06/01(金) 14:40:49
専らlock-描画-unlockループで
paint()の中に何か書いたことなんてないや。

494 名前:デフォルトの名無しさん :2007/06/01(金) 15:16:53
いったいどんなソースなら変更に時間がかかるのか(´・ω・`)
・・・・・あんなか('A`)

495 名前:デフォルトの名無しさん :2007/06/01(金) 15:46:28
>>488
俺も個人で作ってるけど、
嘆いててもしょうがないので、その場その場でベストになるようにがんがってる。

TEXTUREが絶対座標ってのが痛いね。これ辞めてくれるだけでだいぶ楽になるんだけど…

496 名前:デフォルトの名無しさん :2007/06/01(金) 17:55:34
まだまだあるぞ。FastMathがかんたんに、しかも何も言わずにオーバーフローするとか、
Textureに指定できるのが256色bmpだけとか

497 名前:デフォルトの名無しさん :2007/06/01(金) 21:02:18
>>492
メインループ内からrepaint()を繰り返し呼び出してるのかな?
getGraphics()したGraphicsオブジェクトを使いまわすほうが速いと思うが、
現状の重さがどの程度かわからないので答えようがない。

498 名前:デフォルトの名無しさん :2007/06/01(金) 23:25:56
>>491
別に今あるのを改造せんでも、確認のためだけなら適当に比較アプリ
つくりゃいいんじゃないの

499 名前:デフォルトの名無しさん :2007/06/02(土) 06:51:22
>>488はケータイに何を求めてるんだw

500 名前:デフォルトの名無しさん :2007/06/02(土) 07:42:18
なんでOpenGLESを勝手アプリで使わせてくれないんだろう?
C言語相当のメモリアクセスができるメソッドがあるから?

501 名前:デフォルトの名無しさん :2007/06/02(土) 10:45:41
公式の立場がなくなるからではw

502 名前:デフォルトの名無しさん :2007/06/02(土) 13:25:50
だが、公式CPもメガアプリのみでペイできるような企画など中々立たないので結局使わない。
まったく持ち腐れだ。

503 名前:デフォルトの名無しさん :2007/06/02(土) 14:44:26
そういうところから反撃をはじめてみるというのはどうだろうか

504 名前:デフォルトの名無しさん :2007/06/02(土) 22:51:48
描画処理が重いのであればpaint内に書くよりも
getGraphics()で取得したものに描画する方が速度が向上する


505 名前:デフォルトの名無しさん :2007/06/03(日) 19:55:25
Javaもi-appliも初めてなので、右も左も分からないのですが、
ArrayListとかって使えないものなんですか?
可変の配列を使いたいだけなのですが、Nodeを加えるごとに
配列を作り直すとかしたくないのですが、定石とか教えてください。

506 名前:デフォルトの名無しさん :2007/06/03(日) 20:17:45
定石は「使えるか分からない物は使わなくても別の方法で結構実装できる」かな。

507 名前:デフォルトの名無しさん :2007/06/03(日) 20:22:43
それは自前で双方向リストとか作るのが吉ということですか?

508 名前:デフォルトの名無しさん :2007/06/03(日) 20:28:00
ここにCLDCのリファレンスがあるから見れ。
ttp://java.sun.com/javame/reference/apis.jsp

最近のならだいたいMIDP2.0でCLDC1.1の奴が使えるとかいう話。
使いたいのが無かったら自作。

509 名前:デフォルトの名無しさん :2007/06/03(日) 20:32:45
>>508
ありがとうございます。
勉強してまいります。

510 名前:デフォルトの名無しさん :2007/06/03(日) 21:32:36
>>505
Vector

511 名前:デフォルトの名無しさん :2007/06/03(日) 22:14:04
>505
使えないものなんですか?じゃなくてさ、
わかんなかったら「Java 可変長配列」とかググるくらいしようよ。

>>510が教えてくれてるVectorクラスのこととか、
Javaの説明サイトとか見付かるんだからさ。

512 名前:デフォルトの名無しさん :2007/06/03(日) 22:35:24
ArrayListって1ノード加える毎に配列作り直してるのか?
そんな効率悪いことしてる?
普通プールしてると思うけどなぁ


513 名前:デフォルトの名無しさん :2007/06/03(日) 23:23:35
iアプリを作成しはじめたばかりのものです。

上のほうで、paint() メソッドでは何もしなくていいような書き込みがあるのですが、
Windowsアプリでいう WM_PAINT のようなものとは本質的に異なるのでしょうか?

例えば、端末が閉じられたときや、何らかの別画面が表示された後に、失われた部分を
再描画するのにpaintメソッドが呼ばれると思っていたのですが、paintメソッドを無視して
いいということは、画面の内容は常に保持されていて、一度描いた内容はアプリ側で画
面を描きかえなければ、消えることはないということでしょうか?

514 名前:デフォルトの名無しさん :2007/06/03(日) 23:29:35
paint() メソッドでは何もしなくていいんじゃなくて何もしてはいけないんだよ

515 名前:デフォルトの名無しさん :2007/06/04(月) 00:26:06
>>513
実際の表示面の内容は保持されないから、再描画する必要はあるよ
またWM_PAINTのようにダーティエリアが設定される事もない
Windowsで言えばメッセージループのアイドルタイミングにあわせて
GetDC - GDIAPI描画する作り方をイメージするのがよいかと
アイドルタイミングで常に画面が更新して、paintでわざわざ描画しないようなもん

516 名前:513 :2007/06/04(月) 00:49:25
>>515
画面の更新の必要がないときにでも、定期的に別のところで再描画するということだったんですね。
やっと理解することができました。どうも、ありがとうございました。

517 名前:デフォルトの名無しさん :2007/06/04(月) 02:13:08
Canvasを使用する場合はpublic void paint(){}がないとエラーが出る
paint()なんて使いたくないからいらないと思っても
組み込まないとエラーが出るからとりあえず入れとくしかない
これはドコモジャバの約束事だからしかたない


518 名前:デフォルトの名無しさん :2007/06/04(月) 02:27:07
そもそもMIDP1.0で既に
protected abstract void paint(Graphics g)
だし(´・ω・`)

519 名前:デフォルトの名無しさん :2007/06/04(月) 02:40:11
>>517-518
キミ達ちょっと流れとズレてるぞ

520 名前:デフォルトの名無しさん :2007/06/04(月) 02:59:51
APIリファレンスを活用できるようになって欲しいという親心?('-'*)

521 名前:デフォルトの名無しさん :2007/06/04(月) 11:20:37
904iのオプションAPI対応リストってどっかにないですか?
公式行っても903までの対応状況しかないんだけど。

522 名前:521追記 :2007/06/04(月) 11:27:07
getAudioTrackPresenter()
使いたいんだけど、904で対応してるキャリア増えてるかなって思って。

手元にはFしかないからわからんのよね・・・

523 名前:デフォルトの名無しさん :2007/06/04(月) 14:38:37
Transform#transVectorが容易にオーバーフローするので、ほとほと困っています。
Vector3D v = new Vector3D(128,0,0);
Transform tr = new Transform(); //単位行列
tr.transVector(v,v);
System.out.println(v.getX());
こうすると、正負がひっくり返って-128.0を出力します。
推測するに、transVectorは内部のどこかでaxbxcを単精度で計算しているようです。


524 名前:デフォルトの名無しさん :2007/06/04(月) 17:48:19
>>523
TranformってFastMath使ってるよね?
だったら、float値は12ビット固定少数(1:符号, 19:整数部, 12:少数部)に変換されるんじゃない?
それにしても 128.0x4096 = 7+12ビットなので、楽勝なはずだが。



525 名前:デフォルトの名無しさん :2007/06/04(月) 18:15:46
そのとおりなんですが、おそらく、内部で3つのFastMath値の積をFastMath精度で計算しているらしく、
計算途中で整数部7bit x 3 = 21bitの値が現れ、それが原因でオーバーフローになる…
と推測したわけです。

526 名前:デフォルトの名無しさん :2007/06/04(月) 19:39:02
>>525

うわw そうかもw 
掛け算する場合は、乗数のビット数+被乗数のビット数 <= 32bitでなければならないってことかwダサっw
普通、固定少数の積は 基数のビット幅の倍に拡張して、
return (int32)((int64) a * b >> 小数部ビット数);
とかやるけど、やってないんだw
FastMathとかTransformとかGraphics3Dまわりってどこが書いたの?
何回も言うけどクソ杉。


527 名前:デフォルトの名無しさん :2007/06/04(月) 22:04:25
エイチアイはクソ、それを採用したドコモ等もクソ。


528 名前:デフォルトの名無しさん :2007/06/04(月) 22:10:33
だからこそのFastMath。

529 名前:デフォルトの名無しさん :2007/06/04(月) 23:33:21
iアプリからインターネットランキングに登録したいので
パスワードと得点をURLから送信しようと思ったけど、
それだとアプリを解析されて不正登録ができてしまうと思った。
そこまでして不正登録をする人はいないと思うけど
不正登録のできない得点の送信方法があったら教えてもらえますか?

530 名前:デフォルトの名無しさん :2007/06/05(火) 00:28:11
しかしJavaからならFastMathよりfloatで直接計算するほうが速度出る罠(実機確認済)

531 名前:デフォルトの名無しさん :2007/06/05(火) 00:54:28
>>529
アプリ自体が解析されるのを懸念するのであれば、何をしても無駄では?
とりあえずそこは置いておいて、アプリからHTTP(?)で送信するデータの
加工等を考えてみたらどうかな。
短めのデータであれば、自分なら復号可能でチェックサム付きの簡単な
暗号化機能を作ると思う。

というか興味あるので識者の意見求む。

532 名前:デフォルトの名無しさん :2007/06/05(火) 01:04:51
アプリがPCからダウンロードされるのを防ぐ方法が前に出てたと思う
それを探せば解析される心配はなくなる、たぶん

533 名前:デフォルトの名無しさん :2007/06/05(火) 01:09:31
>>529
アプリの解析についてはiモード網内からだけダウンロードを許可にすれば良い。
>>531にある通り、データの加工は必要に応じて自分で検討すれば良し。
通信内容はPOSTでやり取りするべし。
GETだとiモード履歴情報サービスを使われると、通信内容が分かってしまう。
欲を言えばHTTPSだが、そこまで必要ないでしょ。

534 名前:デフォルトの名無しさん :2007/06/05(火) 13:11:02
ちょっと漠然とした質問で申し訳ないんですけど、
iアプリからWebサービスを呼び出して利用する事って可能なんでしょうか?

ちょっと試してみようかなと思ったんですが、Dojaの資料を読んでも
どこにも載っていなかったので。。

535 名前:デフォルトの名無しさん :2007/06/05(火) 17:31:27
>>534
アプリをダウンロードしたドメイン以外とは通信できなかった気がするので、
アプリのダウンロード元にプロキシCGIを置いておいて、
アプリはそこ経由で通信すると良いんじゃなかったっけっか。

識者フォロー頼む。

536 名前:529 :2007/06/05(火) 17:55:10
>>531-533
レスありがとうございました。
PCからのダウンロードを禁止する方法を調べてみます。

537 名前:デフォルトの名無しさん :2007/06/05(火) 18:11:54
Eclipse(+プラグイン)使って開発してるんだけど、プロジェクトをsubversionで
管理してると、Eclipseからエミュレータ起動したときに、res/ 内の.svn/ まで
突っ込んだjarを作ってくれやがる。
除外設定を色々してみるも変わらず。
どなたか対処法ご存じありません?

538 名前:デフォルトの名無しさん :2007/06/05(火) 21:54:26
AudioTrackPresenterで、オーディオトラックのみで
構成された3gpを再生させようとしているのですが、
エミュレータで動作確認したところ、再生しようとした音源とは
異なる音が再生されています。

これはエミュレータだから、音がおかしくなっているんでしょうか?
自分の携帯が902なので実機では確認できないのですが、
何かご存知でしたら教えてください。

539 名前:デフォルトの名無しさん :2007/06/06(水) 15:21:55
ソフトキーのラベルって、初期は全角2文字(半角4文字)までが基本だったと思うんですけど、最近のは全角で3文字とか4文字とか入るみたいですね。
そこで、どの機種で何文字まで入れられるか知りたいんですが、どこかまとめてあるサイトなどありませんか?
最悪、どのシリーズ以降は何文字が保証されてるなどの情報でもいいのですが。
どなたか知っていたら教えて下さい。

540 名前:デフォルトの名無しさん :2007/06/06(水) 18:27:21
DoJa3.5の機種で3文字だっけ?

541 名前:デフォルトの名無しさん :2007/06/06(水) 19:15:48
PanelのアプリでPopupメニューってできるものです?

542 名前:デフォルトの名無しさん :2007/06/06(水) 22:01:50
はい

543 名前:デフォルトの名無しさん :2007/06/06(水) 22:14:51
数年ぶりに携帯を変えたので、
初めてのiアプリに挑戦しています。
http://janis.or.jp/users/segabito/f904/

プログラム自体はあらゆる解像度に対応しているため、
F904iの画面を横にすれば快適にプレイできるだろう、と期待していたのですが、
実機で動かしてみると、縦でも横でも240x240の枠の中でしか動きません。

ワイド画面をフルに使うには、特別なAPIが必要なのでしょうか。

544 名前:デフォルトの名無しさん :2007/06/06(水) 23:08:27
>>542
まじで?

545 名前:デフォルトの名無しさん :2007/06/06(水) 23:49:07
>>543
たしか240x240以上はjamのDrawAreaに直接サイズを指定する必要があったはず。

546 名前:デフォルトの名無しさん :2007/06/06(水) 23:50:30
>>543
ttp://www.nttdocomo.co.jp/service/imode/make/content/spec/iappli/index.html
>※4: ADFのDrawAreaキーに指定がない場合は、描画領域が横240×縦240となります。

547 名前:にくちゃんねる ★ :2007/06/07(木) 07:32:57
>>545-546
DrawAreaを変更したら一発でうまくいきました。
ありがとうございます。これで快適になりました。

適当に移植してから軽量化を考えようと思っていたのですが
そのままでも十分な速度で動いてしまったので驚いています。

548 名前:デフォルトの名無しさん :2007/06/07(木) 08:43:05
パソコンでJAVAやってたんなら画像処理速度は携帯のほうが上でしょうな
画面小さいし常駐ソフトも少ないから当然といえば当然ですが

549 名前:デフォルトの名無しさん :2007/06/07(木) 10:13:39
>>547
なんでキャップ??

550 名前:デフォルトの名無しさん :2007/06/07(木) 12:47:23
エミュはJava上でJ2ME用インタープリタが走っていていて遅いとかなんとか

551 名前:デフォルトの名無しさん :2007/06/07(木) 16:41:03
なるほど。

552 名前:デフォルトの名無しさん :2007/06/08(金) 14:42:22
基本的すぎて申し訳ないのだが、iアプリから携帯電話ネイティブの画像ファイルを削除する方法はないよね?
addEntryした画像を削除出来ないのはキツイです ...


553 名前:デフォルトの名無しさん :2007/06/08(金) 16:23:33
アプリからネイティブデータ消し放題ってそれ何てマルウェアやねん。
標準機能のカメラにしてもwebブラウザにしても、撮影した画像や
ダウンロードした画像の保存はするけど、削除するのはデータフォルダ
機能からであって、それぞれのアプリケーションではないよね。

554 名前:デフォルトの名無しさん :2007/06/08(金) 23:38:15
>addEntryした画像を削除出来ないのはキツイです
これ何で?
わざわざユーザがaddEntryしといて削除するかどうかはユーザが決めることじゃないか
たしかに端末によっちゃ手間がずいぶんかかるやつもあるけどさ

あれか。最近流行りのデータフォルダに偽装してデータを置くとかいう

555 名前:デフォルトの名無しさん :2007/06/08(金) 23:44:32
でもあれ一部の端末で無理になったんじゃなかったっけ

556 名前:デフォルトの名無しさん :2007/06/08(金) 23:44:53
FastMathとTransformがあまりにクソ仕様で,クソ精度で,クソ遅いので、
すべてのメソッドを自作したら50倍くらい速くなった。エミュ上だけど。
でもGraphics3dのラスタライザ自体がクソなのね。
OpenGL ESを一般公開するか、俺にGraphics3dも書き直させてほしい。


557 名前:デフォルトの名無しさん :2007/06/09(土) 00:11:12
エミュ上かよ……。


558 名前:デフォルトの名無しさん :2007/06/09(土) 01:35:53
質問があります。
C言語には、void *といったなんでも入る型がありますが、
javaいもこのようななんでも入れられる型はあるのでしょうか?

559 名前:デフォルトの名無しさん :2007/06/09(土) 01:37:54
javaいも
って美味しそう

voidはある

560 名前:デフォルトの名無しさん :2007/06/09(土) 01:42:42
>>558
つObject

561 名前:558 :2007/06/09(土) 01:50:00
>>560
こんな便利な型が有ったとは知りませんでした。
有り難うございます。

562 名前:デフォルトの名無しさん :2007/06/09(土) 02:02:19
次はメソッドが無くなっちゃったとか言って来そ。

563 名前:デフォルトの名無しさん :2007/06/09(土) 02:31:28
ドコモのF901isなんですが無料で遊べるチェスのアプリはないでしょうか?


564 名前:デフォルトの名無しさん :2007/06/09(土) 03:19:12
板違い

565 名前:デフォルトの名無しさん :2007/06/09(土) 04:12:14
またまたGraphics3dだけど、これzソートかよw
16bit深度バッファで112kb位けちるなよ。
おまけに1モデルあたりのサーフェース数が最大255面って正気?w
Primitiveクラス内部で、int[] vertexBuffer = new int[255*3*3]とかハードコードされてんだw
想定外にボロイんで、俺のバグだと思って悩んじゃったじゃないか。
あと、頂点座標が12bit固定少数扱いされてない気がするんだけど気のせい?
マジで萎えるなこれ。


566 名前:デフォルトの名無しさん :2007/06/09(土) 09:19:01
GIFがPNGに比べて容量が大きくなってしまうんですが、
どうにかできないでしょうか。だいたい1、2KBくらいでかくなってしまいます。


567 名前:デフォルトの名無しさん :2007/06/09(土) 12:16:02
スレ違いな気がするけど
どうしようもない

568 名前:デフォルトの名無しさん :2007/06/09(土) 14:16:57
Jar圧縮しておくと若干縮む場合もあるけど、期待するほどじゃない。

569 名前:デフォルトの名無しさん :2007/06/09(土) 14:18:45
>>565
そろそろうざい

570 名前:デフォルトの名無しさん :2007/06/09(土) 14:23:40
>>566
1〜2kbが気になって仕方のないサイズであるなら、色数を減らす等の対処をすればいい。
それが嫌ならプログラムを削減すればいい。
それも無理ならどうしようもない。

>>567
iアプリ開発の話だろ。たぶん。

571 名前:デフォルトの名無しさん :2007/06/09(土) 15:29:46
画像の色数が多いならJPEGにすれば?
透過できない点に注意が要るけど

572 名前:566 :2007/06/09(土) 17:03:54
みなさんありがとうございます。
確かによく考えたらスレ違いでした。すいません。
減色とか劣化は試してるんですが、満足行く結果は出ないです。汚いのにPNGと容量一緒とか。
減色ソフトを買ってみます。

573 名前:デフォルトの名無しさん :2007/06/09(土) 18:12:18
>>565
頂点バッファサイズというより、インデックスバッファがバイト型で
なおかつ固定番号の処理してるんじゃない?

>>569
俺としては現状の問題点を洗い出すという点で悪くないと思ってる

574 名前:デフォルトの名無しさん :2007/06/09(土) 19:22:30
空気嫁てない

575 名前:デフォルトの名無しさん :2007/06/09(土) 20:03:43
たぶん君が空気だと思ってるのは君だけだ

576 名前:デフォルトの名無しさん :2007/06/09(土) 20:11:29
↓をのっとっちゃえば?
どうせ過疎&糞スレだし。

【日本携帯】Mascot Capsule/Micro3D【標準】
http://pc11.2ch.net/test/read.cgi/tech/1117773530/

577 名前:デフォルトの名無しさん :2007/06/10(日) 00:31:29
>>俺としては現状の問題点を洗い出すという点で悪くないと思ってる

御意。
自分が使ってないからって「空気よめてない」とか自己中なことよく言えるよな。
そもそもおまえの空気なんかしらねーよw 興味ないならスルーすりゃいいだろ?
ひょっとして糞クラスライブラリ制作会社関係者?
128.0fでオーバーフローするっていう情報だって、知らなけりゃハマリバグになってたかも。
Graphics3d, FastMath, Transformは糞クラスなので、糞っぷり情報は貴重。


578 名前:デフォルトの名無しさん :2007/06/10(日) 01:57:18
>>565
> またまたGraphics3dだけど、これzソートかよw
> 16bit深度バッファで112kb位けちるなよ。

ソフトウェアレンダリングだと大抵Zソートじゃない? 最近だとFlashのPapervision3Dもそうだし。
ZバッファはピクセルごとにCPUが一番嫌がる分岐が必要になるっしょ。

まあ3Dの実装がカスなのには同意するとして、エイチアイに退場願いたければ
ATIやNVIDIAがとっととケータイに食い込んでくれるのを祈るのが一番だろうな。

579 名前:デフォルトの名無しさん :2007/06/10(日) 02:43:57
煽り口調を何とかして欲しいと思う。
情報は有難いんだが…

580 名前:デフォルトの名無しさん :2007/06/10(日) 04:16:34
もし同じ症状になった人がいれば教えてほしいんですが。。。

Iapplicationの派生とCanvasClass派生とは別にClassを作成して、
そのClassが突然作成不能になっちゃったんです。
解説すると長くなりそうなので簡潔に。

・アプリは起動する
・そのclassのインスタンスを作成したり、staticフィールドにアクセスしようとした瞬間アプリが落ちる
・Throwableで囲んでもキャッチに飛ばない
・ただし落ちるのは900のみ
・もしかしたら900isも落ちるかもしれないけど実機がなくて試してない
・901は大丈夫
・メモリエラーかとも思ったが、同じメモリの機種でも900じゃなければ大丈夫

Javaってエラーキャッチできないこともあるんですね。。。

581 名前:デフォルトの名無しさん :2007/06/10(日) 04:22:20
背面カリング無い方が萎える。

582 名前:デフォルトの名無しさん :2007/06/10(日) 10:51:02
>>580
VMが落ちたらcatchできない
JavaでもPHPでもPerlでも同じ

583 名前:デフォルトの名無しさん :2007/06/10(日) 11:12:53
>>580
その別のクラスってなに?
そのクラスのコードは、その携帯電話の中に本当に存在してるの?
症状からNoClassDefFoundErrorな気がするんだけど。

584 名前:デフォルトの名無しさん :2007/06/10(日) 11:28:29
>>580
>>583の指摘を具体的に言うと、900はCLDC1.0、901以降はCLDC1.1で違うってこと。
その独自クラス、例えば浮動小数点使ってたりしないか?
DoJa-3.5用(900用)のエミュレータで動かしてみると原因がわかるかもしれない。

585 名前:デフォルトの名無しさん :2007/06/10(日) 13:30:50
すいません。 誰か教えてください。


DoJa-3.5用(900用)のエミュレータを使ってHelloWorldを出すという、初歩の初歩でつまずいてるのですが、ビルドを実行すると

javac:ターゲットリリース1.1がデフォルトのソースリリース1.5と競合しています。

とでて、ビルドが失敗してしまいます。
どうすればよいのでしょうか? Javaスレの神様どうかお教えください。お願いします。 

586 名前:デフォルトの名無しさん :2007/06/10(日) 13:43:13
マルチ乙
http://pc11.2ch.net/test/read.cgi/tech/1180419689/378


587 名前:デフォルトの名無しさん :2007/06/10(日) 15:37:44
>>580さん
>>583さん

本当にありがとうございます。。。
動きました。
原因は浮動小数点でした。。。
Dojaのターゲットプロファイルを3.5まで下げてコンパイルして
何もでなかったので安心してました。。。

そういえば小数点使えるじゃんとか昔に調子乗って作って、
途中から900対応にしたので忘れてました。。。
出直してきます。。。

ありがとうございました!!!!!!!

588 名前:デフォルトの名無しさん :2007/06/10(日) 15:39:51
…そして、レス番号も間違えてしまいました。
>>583さん
>>584さん

でした。
ご無礼お許しください。

589 名前:552 :2007/06/11(月) 11:46:46
>553
>554

業務アプリで、1日辺り数十枚の写真を取り貯めしてセンタへ一括送信するってのを作った。
その際、スクラッチパッドはデータが一杯なのでネイティブ領域に撮った写真を保存してた。

携帯電話の機種によっては、iアプリで撮った写真は専用のフォルダに入れるくらいだから、
iアプリが自分で保存したエントリィぐらい削除できても良いのに、ってチラ裏ですまん ...

やっぱ、普通に考えても削除はまずいよな ...

590 名前:デフォルトの名無しさん :2007/06/13(水) 00:23:21
graphics3dなんだけど、こうやって↓ビットORして使う定数なのに,
Primitive.NORMAL_PER_FACE | Primitive.TEXTURE_COORD_PER_VERTEX
排他的に使う以下の定数が、
NORMAL_PER_FACE = 3
NORMAL_PER_VERTEX = 2
と、3, 2で定義されているってどういうつもり? 普通、2^n数列だろうが。
両方同時に指定された場合を考えてるのか?ならその場合、throwすべきだろ。


591 名前:デフォルトの名無しさん :2007/06/13(水) 00:25:31
ヒント:ビット節約

592 名前:デフォルトの名無しさん :2007/06/13(水) 11:32:21
つまりNORMAL_PER_FACEのときはビット1が必須だってことだろ

593 名前:デフォルトの名無しさん :2007/06/13(水) 11:55:23
NORMAL_PER_FACE と
NORMAL_PER_VERTEX は同時に指定しないだろ・・

594 名前:デフォルトの名無しさん :2007/06/13(水) 12:44:16
排他的だから 2と3なんだろ。
2と4だったら、排他的な関係とはいえないだろ。



595 名前:デフォルトの名無しさん :2007/06/13(水) 13:05:52
愚痴ばっかり書くから…

596 名前:デフォルトの名無しさん :2007/06/13(水) 21:33:49
携帯ではArrayListって使えないんですか?
どうやっても上手くいかないのはなぜなんだろう?
絶対出来ないのなら、リンクリストみたいなのを自分で作ろうと思うのですが……。

明日までに仕上げたいものなので、出来れば早めのレスをよろしくお願いします。

597 名前:デフォルトの名無しさん :2007/06/13(水) 22:07:37
>>596
少なくともCLDC1.0には無いみたいね。
APIリファレンスぐらい見ようよ。
Vectorならあるけど駄目?

598 名前:デフォルトの名無しさん :2007/06/13(水) 22:11:56
Vectorがありましたね……すいません。
もうちょっと調べればよかったです。
ご迷惑をおかけしました。

599 名前:デフォルトの名無しさん :2007/06/13(水) 23:23:16
>>594

よく読め。
>>両方同時に指定された場合を考えてるのか?ならその場合、throwすべきだろ。

だからさ、そのNORMAL_PER_FACE とNORMAL_PER_VERTEXをユーザー側で利用する場合を考えてみ。
そのPrimitiveが 面毎法線なのか、頂点毎法線なのか調べるのに、
flags & NORMAL_PER_FACE ってやるだろ普通だったら。
なぜなら、ビットORして使用するような定数列の場合、2^nで定義するって<常識>だから。
その定数が幾つで定義されているかなんか知る必要がないの普通は。


600 名前:デフォルトの名無しさん :2007/06/13(水) 23:25:55
ところが、このクソライブラリの場合、
まず、System.out.println()で、NORMAL_PER_FACEとNORMAL_PER_VERTEXの値が
それぞれ幾つなのか調べる。2^n列で無いことを発見。
((flag & (NORMAL_PER_FACE | NORMAL_PER_VERTEX) ) == NORMAL_PER_FACE )
で、やっと動作。



601 名前:デフォルトの名無しさん :2007/06/13(水) 23:31:35
しかもなにこのラスタライザ。クソ遅いし。
おれのBREW2.1対応のポリゴンラスタライザ(任意矩形クリッピング+テクスチャマッピング+
パースペクティブコレクション+Gouraudシェーディング+カラーモジュレーション)
の5倍以上遅い。俺のはサンプラーとスキャンライン周りはアセンブリで書いているものの、
graphics3dもラスタライザ自体はネイティブだろうから、BREWとさほど変わらないはず。


602 名前:デフォルトの名無しさん :2007/06/13(水) 23:35:08
>>599
内部動作とリンクしてるフラグ指定なら常識ともかぎらんよ
たとえば下位ビットは法線があるかどうか、上位ビットは面毎か頂点毎か
という意味で処理してんなら2と3が指定されてるのは自然だ
そして法線が無い場合は0というのも納得がいく

まあカラー指定のビットの方はそうはなってないんだけどな・・

603 名前:デフォルトの名無しさん :2007/06/13(水) 23:42:50
>>602
いや、いいほうに解釈しすぎ。
だから、ユーザーからするとそれぞれの値は基本的に見えないんだよ?
ノーマルがあるかどうかを調べたいならそれこそ(flags & (PER_VERTEX| PER_FACE))
って"やるべき"。こんなの基本中の基本だって。社内ライブラリならどうぞご勝手にって感じだけどね。



604 名前:デフォルトの名無しさん :2007/06/14(木) 00:01:53
graphics3dではテクスチャサイズが正方2^n指定なのに、なんでテクスチャサイズの値域
(サイズが128x128だったら、[0,...,127])でUV指定するんでしょうか?許せません。
ちなみにおれのラスタライザはOpenGL|ESと同じ1:15:16の固定少数フォーマットだけど、
テクスチャ座標はちゃんと、[0.0,...,1.0]([0,...,0x10000])に正規化してます。
テクスチャサイズを2^nに決めているので、パフォーマンスのペナルティないんで。
あと、テクスチャーサンプラーでは乗除算を一切使ってません。


605 名前:デフォルトの名無しさん :2007/06/14(木) 00:07:13
>>603
APIリファレンスに値書いてあるとおもうけど。
わざわざprintlnしたの?w

606 名前:デフォルトの名無しさん :2007/06/14(木) 00:12:53
>>581
凸包モデルしかテストしてなかったので、バックフェイス刈らないって気付かなかったw
マジで? どういうつもり? 渡された頂点列を、World->View変換後に外積計算して
外積のz成分の符号を見るか、もしくはWorld変換後、視線ベクトルとの内積の符号を見れば
裏か表か判るんですが。。。やり方判ったら、そんぐらいやってもらえませんか?
だめだこりゃ。。。orz
docomoさま、OpenGL|ESを一般公開してください。



607 名前:デフォルトの名無しさん :2007/06/14(木) 00:13:43
>>605
うん。

608 名前:デフォルトの名無しさん :2007/06/14(木) 00:23:24
具体的には、頂点座標v1, v2, v3の順に渡されたとし、
World->View変換後の頂点座標をv''1, v''2, v''3とすると、
O = (v''2-v''1)X(v''3-v''1) Sign( O.z )が視点に対する面の向き。
また、World変換後の頂点座標をv'1, v'2, v'3とし、視線ベクトルを
sとすると、Sign( (v'2-v'1)X(v'3-v'1)・s )が視点に対する面の向き。
X: 外積,・:内積

graphics3dにバックフェイスカリング入れてください(CULL_NONE, CULL_COUNTERCLOCKWISE, CULL_CLOCKWISEでフラグ指定)。
バックフェイスカリングはリアルタイムレンダリング界の常識です。


609 名前:デフォルトの名無しさん :2007/06/14(木) 00:28:46
というかBREW版のMCV4はわりとまともに機能がそろってるので
DoJa版インターフェースを作ったヤツがタコだったんだろうな

610 名前:デフォルトの名無しさん :2007/06/14(木) 00:50:04
>>609
BREW版 MascotCapsul v4の場合、下位層がOpenGLだからまともなだけ。
てか、OpenGLつかえるなら、MascotCapsulなんかそもそもいらん。
じゃまなだけ。


611 名前:デフォルトの名無しさん :2007/06/14(木) 00:54:51
ちなみにOpenGL使えるauの端末は、ハードウェアラスタライザー搭載機のみ。
型番でいうと、43とか以降かな。


612 名前:デフォルトの名無しさん :2007/06/14(木) 01:04:38
作ったやつ(ら?)は、外積とか携帯では計算が重すぎるから・・とか思ってそうだなw

613 名前:デフォルトの名無しさん :2007/06/14(木) 01:21:31
テクスチャーマップドポリゴン描画処理 >>>> 越えられない壁 >>>> ベクトル外積計算1回


614 名前:デフォルトの名無しさん :2007/06/14(木) 02:39:57
ユーザーが意識する必要のない定数の値に
なんでイチャモンつけてるんだ?
で、5倍以上遅いっていうのは同じ端末での比較?

615 名前:デフォルトの名無しさん :2007/06/14(木) 03:02:52
>>614
>なんでイチャモンつけてるんだ?

その定数がクラスライブラリ内部で使用されるだけという思い込み、もしくは希望を抱いているとそういう疑問を持つんでしょうな。
公に公開されるクラスライブラリを設計する会社が、もしそのような思考力・設計力しかないのならDoJaの一クラスなどという、
そんな大きな仕事を請ける資格はないです。公のクラスライブラリ設計者は、クラスライブラリを使用する
ユーザーの使用法,心理や思考の一歩先を読んで設計するもんです。良いクラスライブラリはユーザーを逆に啓蒙する力があります。
このクラスライブラリは失格です。技術的正当性はどこにもありません。
末端アプリ制作しているだけなら誰も文句いいませんけどね。はっきりいって迷惑です。


616 名前:デフォルトの名無しさん :2007/06/14(木) 09:45:14
てか
定数のビット構成に縛られるようなプログラミングしたらだめだろ・・

こういう事いうプログラマは
端末ごとに変わる実装にもぶちぶち言ってるんだろう

617 名前:デフォルトの名無しさん :2007/06/14(木) 11:55:08
ちんちんとまんまんは仲良くしないといけないんたよ

618 名前:デフォルトの名無しさん :2007/06/14(木) 12:54:50
うぜぇ

619 名前:デフォルトの名無しさん :2007/06/14(木) 16:42:05
>>616
フラグが立ってるかどうかの判定がややこしくなってるみたいですが・・・

620 名前:デフォルトの名無しさん :2007/06/14(木) 16:58:55
>>615
師匠!
今度からはコテハンでお願いします!

621 名前:デフォルトの名無しさん :2007/06/14(木) 21:21:55

【eclipse 3.2 + DoJa 5.0】

エクリプスで開発されていらっしゃる方々へ。

最新のエクリプスだと、どうやらi-appliのエミュレーター(DoJa 5.0)
が作動しないみたいですが、この問題を解決できた方、いらっしゃいましたら
ご教示ねがえませんでしょうか。

エクリプスを3.1にしようかなと思ってeclipse.org捜してみたのですが、
既に削除済みでした^^;

どうかよろしくおねがいします。

622 名前:デフォルトの名無しさん :2007/06/14(木) 21:46:53
graphics3dは欠点を挙げていくとキリが無いよ。
素人が作ったライブラリとしか思えない。

623 名前:デフォルトの名無しさん :2007/06/14(木) 22:02:11
>>621
3.2系列でどうなのかってのは自分も知りたいけど
3.1系列もは普通に公式サイトにある。1.0すらあるよ。

624 名前:デフォルトの名無しさん :2007/06/14(木) 22:03:19
>>621
自分は探してないけどSourceForgeかどっかに無い?

625 名前:デフォルトの名無しさん :2007/06/14(木) 22:48:50
>>623
いえ、all versionsって所をクリックしても出てこないし。
"3.1"で検索かけるてもno resultでしたorz

626 名前:デフォルトの名無しさん :2007/06/14(木) 22:55:25
>>625
よく読みな。
http://download.eclipse.org/eclipse/downloads/
のどっかにリンクがある。

627 名前:デフォルトの名無しさん :2007/06/14(木) 23:08:29
eclipse3.2+Doja5.0で何の問題もなく動いております。よ?

628 名前:デフォルトの名無しさん :2007/06/14(木) 23:27:55
>>626
どうもありがとう!そのページのここをクリックしたらありました!

 >For access to archived builds, look here

>>627
へ?え?・・・・^^;
JAVA_HOMEの設定もした上ででしょうか?

629 名前:デフォルトの名無しさん :2007/06/15(金) 08:00:40
>>628
動作しないっていうのは、eclipseから実行やデバックしようとすると、
jarが作れないよーって感じのエラーメッセージが英語で出てくるやつ?
これのことだったら3.1にしても同じだったような記憶が・・・

とりあえずJDKのbinフォルダにパスを通すと上の現象はなくなる。

630 名前:デフォルトの名無しさん :2007/06/15(金) 13:39:28
>>629
おお!
ありがとう。
エクリプスインスコして、i-modeのエミュ解凍してってんじゃだめ
なんだなw

DoCoMo、もうすこし丁寧にインストールマニュアル書けよ。
JAVA_HOMEではなくて、PATHの問題だったんだ。
いや、失礼しました。でも、みなさん、ありがとう!!!

631 名前:デフォルトの名無しさん :2007/06/15(金) 13:41:09
>>630
いや、それ、ふつーに書いたあった気がするけど。

632 名前:デフォルトの名無しさん :2007/06/15(金) 14:16:55
無理を承知で聞くが
class Dのコンストラクタで落ちる。ので
なぜ落ちるのかを予想してくれ。
class A{
public A(){
container = new Vector();
}
}
class B extends A{
public B(){
super();
container.add(obj);
}
}
class C extends B{
public C(){
super();
for(int i=0; i<10; i++){ setElementAt(obj); }
}
}
class D extends C{
public D(){
try{
super();
}catch(Exception e){
e.printStackTrace();//表示されない
}
}
}
関係あるか分からんけどJavaBlenderで下のエラーがでる。
コード検証に失敗しました。(Phase=2)


633 名前:632 :2007/06/15(金) 14:19:25
ちなみにエミュレーターだと正常に動作するけど
実機で落ちる

634 名前:デフォルトの名無しさん :2007/06/15(金) 14:50:08
>>631
やっぱり書いてないですね。
環境変数っていじりたくないんだけどね・・・・
ttp://www.nttdocomo.co.jp/service/imode/make/content/iappli/about/tool_foma5.html

635 名前:デフォルトの名無しさん :2007/06/15(金) 14:56:30
>>634
アーカイブに含まれている
DoJa-2007_1st_Emulator_DevGuide3.00.pdf
のp.287に書いてあるような内容でなくて?
ちゃんと読もうよ。

636 名前:デフォルトの名無しさん :2007/06/15(金) 14:58:00
>>632
ExceptionだけじゃなくてErorrもcatchしてみてはどうか。

637 名前:632 :2007/06/15(金) 15:11:55
>>636 こうか?

try{
try{
super();
}catch(Exception e){
e.printStackTrace();//表示されない
}
}catch(Error er){
er.printStackTrace();//表示されない
}
やってみたけどやはり何もでない。
docomoはテストにパケット代がかかるからいやなんだよなぁ。

638 名前:デフォルトの名無しさん :2007/06/15(金) 15:27:44
>>635
いや、できました!ありがとう!!!
eclipseのフォルダーの指定のところで、eclipseの一つ上の
(同じディレクトリで解凍させた時にできる)フォルダーを
選んでいたのがダメでした。

そのPDF、今見ましたけど、PATHの設定のところの日本語
おかしいですね。i-appliは自動でjdkのbinを検出しています。
なんて書いてあって、でもPATHはbinまで張れとも書いてあるし。

639 名前:デフォルトの名無しさん :2007/06/15(金) 15:31:29
>>638
Eclipse 環境では自動認識しないってことなんじゃないかと。

640 名前:デフォルトの名無しさん :2007/06/15(金) 15:58:19
>>639
なるほど・・・・

こういうインストールが問題なく、ひとつづつちゃんと行えるっていうのは
大切な技能ですよね。力不足を実感しました。orz
あと、インストールの説明書の書き方も難しい。実に・・・・
>>639さんはベテランのプログラマーですね。私、これから当分の間は
Java MEを専門にして喰っていこうと思うのですが、アドバイスあったら
ください!

641 名前:デフォルトの名無しさん :2007/06/15(金) 16:12:13
P903iなどのBluetooth機能搭載機での話ですが、
Bluetooth機能を持ったPCなどとSPPを用いて
シリアル通信するiアプリを製作することは出来るのでしょうか?
API見てたらトラステッドがどうのこうのとかあったんで出来ないんですかね?

Bluetooth携帯持ってないので試せないんです。
誰か知ってたら教えてください。

642 名前:デフォルトの名無しさん :2007/06/15(金) 16:18:47
>>641
DoJa 5.0では、どうやらBTのAPIって標準装備でOPTION
じゃないでしょ?

通信については、プロトコルの問題であるから、十分可能なはず。

643 名前:デフォルトの名無しさん :2007/06/15(金) 16:19:23
>>632
new D();をtry〜catchしてみた?
コンストラクタじゃないとするとクラスのロードが怪しい
static変数の初期化に失敗してるとか、preverifyが実行されてないとか

644 名前:デフォルトの名無しさん :2007/06/15(金) 16:37:43
>>642
レスサンクス
やってみるよ

645 名前:デフォルトの名無しさん :2007/06/15(金) 16:55:31
>>644
やるのはいいけど、MIDPと違って参考文献が無きに等しいでしょ?
DoCoMoの開発ガイドにもサンプル無いし。
MIDPの情報だったら、教えてあげられるけどね・・・・

で、実際どうやるの?かなり大変だと思うよ。

646 名前:デフォルトの名無しさん :2007/06/15(金) 17:05:29
>>643
親クラスのコンストラクタにprintlnを入れてみたけど表示されないから
コンストラクタに入る前に落ちているようだ。

>クラスのロードが怪しい
>static変数の初期化に失敗してる

雰囲気として上のが怪しいようなので調べてみるよ。
ありがとう。

647 名前:デフォルトの名無しさん :2007/06/15(金) 18:30:07
APIリファレンスあればどうとでもなるでそ?(・ω・)

648 名前:デフォルトの名無しさん :2007/06/15(金) 18:43:12
>>646
まさか
apptrafe=onしてないなんてことはないよな

649 名前:デフォルトの名無しさん :2007/06/15(金) 18:54:29
>>648
さすがにそれはない。

650 名前:デフォルトの名無しさん :2007/06/15(金) 23:05:59
>>647
さすがにそれはない。

651 名前:デフォルトの名無しさん :2007/06/16(土) 08:01:43
ちょちょっと!
ゲームチャンネルが新規受付停止するって書いてあるんだけど!
個人アプリ発表の場がどんどん少なくなっていく〜〜〜;;

652 名前:デフォルトの名無しさん :2007/06/16(土) 09:43:34
俺様勝手サイト作ればいいじゃん。

653 名前:デフォルトの名無しさん :2007/06/16(土) 10:05:06
リニューアルって書いてあるぞ
ttp://mobile-money.channel.or.jp/tool/pub/select_new.php?cp_level=3

しかし流行ってるのかここ?

654 名前:デフォルトの名無しさん :2007/06/16(土) 14:41:18
しかし一ヶ月以上もアクセス不可って…。
ほんとにリニューアルする気あるんだろうかorz


655 名前:デフォルトの名無しさん :2007/06/16(土) 15:12:12
別にアプリゲットでいいじゃん、なんか不都合あるの?

656 名前:デフォルトの名無しさん :2007/06/18(月) 21:58:35
あるよ

657 名前:632 :2007/06/18(月) 23:43:48
>>632の問題が解決したので報告します。
実機はSO506iでエミュレータはDoja5.0でビルドしてました。
Doja3.0のエミュレータを落としてビルドすると

java.lang.NoClassDefFoundError にアクセスできません。
ファイル java\lang\NoClassDefFoundError.class が見つかりません。
とエラーが。

if( Class.class != o.getClass() )return false;

上のコードが問題だったみたいです。
該当行を消すと正常に動きました。


658 名前:デフォルトの名無しさん :2007/06/19(火) 07:35:35
>>656
どんな?

659 名前:デフォルトの名無しさん :2007/06/19(火) 08:44:28
有償提供?

660 名前:デフォルトの名無しさん :2007/06/19(火) 23:09:20
iアプリでペイントのようにドットに絵を描いてそれのプレビューを
エンコードしてケータイに保存するアプリを作っています。
エンコードの部分は
ImageEncoderクラスを使っています。
GIFで保存したかったのですが、
ImageEncoder w_ie = ImageEncoder.getEncoder("GIF");
とやると実機ではエラーになってしまい、うまくいきません。
もし他にGIFエンコード、GIF出力をするやり方やヒントなど知っている方がいたら教えてください。



661 名前:デフォルトの名無しさん :2007/06/20(水) 00:12:46
ImageEncoderの対応形式で保障されているのはJPEGのみ。GIFなら自前でやることになる。
幸いググれば日本語の資料が出てくる。

662 名前:デフォルトの名無しさん :2007/06/20(水) 00:29:52
○○ソフトって、某大手キャリアには保有株式の含み損を負わせ、3rdパーティには
クソAPIで大迷惑をかけ、社長は社長で、株価吊り天井だった上場早々のクソ株
掴まされた株主に、うんこ株を投げ売りして顰蹙買うわで、どんだけ周囲に迷惑をかけて
生きていくんだろうね。
クソAPIにクソ株のクソ会社。こんな会社は無い方が世の中のためになる。


663 名前:デフォルトの名無しさん :2007/06/20(水) 11:32:45
どこか知らんが、さすがにそれはスレ違い

664 名前:デフォルトの名無しさん :2007/06/20(水) 16:05:38
doja5.0にてアプリからURL指定でブラウザを立ち上げると
HTMLソース丸見えのjavaのブラウザがでます。
IEを立ち上げることはできないのでしょうか?

665 名前:デフォルトの名無しさん :2007/06/21(木) 19:18:58
iアプリはVGAの機種でも画面240×240とかしか使えないのでしょうか?

666 名前:デフォルトの名無しさん :2007/06/21(木) 19:31:24
>>664
javaのブラウザが出るとか、IEを立ち上げるとか、何言ってるか理解できないけど
Jarそのものではなくbinディレクトリの自動的に生成されたindex.htmlにアクセスする。
>>665
そんなわけない。ADF(JAM)で画面サイズを明示的に指定する。

667 名前:デフォルトの名無しさん :2007/06/21(木) 20:03:14
NのナビVGAつかっとろーが

668 名前:デフォルトの名無しさん :2007/06/23(土) 18:54:45
チャットアプリを作っていて画像を送信できるようにしようと思っているのですが
画像とテキストをいっしょにサーバーへ送信することは出来ないでしょうか?
画像を送ってから、次にテキストを送るのではなくて同時に送信したいです。

669 名前:デフォルトの名無しさん :2007/06/23(土) 23:18:59
>>668
まとめて送ればいいんじゃねーの?
iアプリがどうこうって話じゃないな

670 名前:デフォルトの名無しさん :2007/06/23(土) 23:49:50
画面にデータを描画する場合一般的にどちらが高速なんでしょうか?

1.画像からint型の配列作ってsetPixels()
2.画像をdrawImage()で描画

自分で両方書いてみたのですが、エミュレータ(Doja4.1)だとsetPixels()が激遅なのですが、
携帯だと割とまともに動いていたりして混乱しています。


それと、透過処理をする場合、

1.setColor()で透過色を設定してfillRect()
2.int型の配列作って自前で加算合成してsetPixels()

だとどちらが高速でしょうか?
自分でやってみた限り同じ面積を処理する場合では、
2の方が速そうだと思ったのですが、皆さんはどう思われますか?
ちなみに自分はSH902iで動かしているのですが、
機種毎に上記処理の速さが逆転したりもするんでしょうか?

671 名前:デフォルトの名無しさん :2007/06/24(日) 00:08:55
>>669
その方法を聞いてんじゃねーの?

672 名前:デフォルトの名無しさん :2007/06/24(日) 03:10:59
>>670
setPixels()が速いというのは意外だな
計測用アプリをどこかに上げてくれれば協力するぜ
当方D902iユーザー

673 名前:デフォルトの名無しさん :2007/06/24(日) 09:51:05
>>671
だからまとめて送ればいいだけだろ。
個別に送るのが嫌だってことは送信自体はできるんだろ?
あとは送るデータの問題であってiアプリとは関係ない話。

>>668
もし理解できないなら、そもそも画像ってどんなデータなのかテキストってどんなデータなのかから
勉強してくださいな。

674 名前:デフォルトの名無しさん :2007/06/24(日) 14:27:36
もっと違う視点の質問じゃねーの?
画像とテキストを、せーので同時に送信できないかっていう。
当然サーバや受信側の仕組みが頭に無いからこういう発想の質問が出ちゃうというオチ。

675 名前:670 :2007/06/24(日) 20:08:59
>>672
すみませんが計測用アプリという形ではコードを書いていないのです。
自分で作ってるゲームの中でどちらが速いかと書いてみただけなので…。

ただあれから色々考えてみてsetPixels()が速いという訳でも
ないのかなと思うようにもなってきました。
如何せん自作ゲームの中で描画モードを変えて試しただけなので
決め付けるには早計だったかなと。

676 名前:デフォルトの名無しさん :2007/06/25(月) 10:06:20
>>673
「送信自体は出来るんだろ?」って、だから、ソレを聞いてるんじゃねーのかって言ってんだよ馬鹿。
頭悪い上に日本語もよく分かってねー野郎がいちいちチャチャ入れにしゃしゃり出てくんじゃねーよ。
すっこんでろ。

677 名前:デフォルトの名無しさん :2007/06/25(月) 11:33:07
つーか、そんな基本的なことでもめるくらいならマニュアル嫁。
もっと根本的な問題があるだろうに。

678 名前:デフォルトの名無しさん :2007/06/25(月) 13:08:49
うだうだ長くレス伸ばすのうざいから、やり方教えて終わりにしようぜ。

今回のやり方はヘッダーに、画像とテキストのデータサイズを
それぞれ4バイトで保存して、データを一つにまとめるやり方。

画像がbute[] ibuf、テキストが String text に入っていると仮定しよう。
その場合

----------------------------------------------------------------------------------
int ilen = ibuf.length;
int tlen = text.getBytes().length;
byte[] buf = new byte[ilen + tlen + 8]; // 送信するバッファ

// 画像のサイズを入れる
buf[0] = (ilen >> 24) & 0xff;
buf[1] = (ilen >> 16) & 0xff;
buf[2] = (ilen >> 8) & 0xff;
buf[3] = (ilen ) & 0xff;

// テキストのサイズを入れる
buf[4] = (tlen >> 24) & 0xff;
buf[5] = (tlen >> 16) & 0xff;
buf[6] = (tlen >> 8) & 0xff;
buf[7] = (tlen ) & 0xff;

System.arraycopy(ibuf, 0, buf, 8, ilen); // 画像のバッファをコピー
System.arraycopy(tbuf, 0, buf, 8 + ilen, ilen); // テキストのバッファをコピー
----------------------------------------------------------------------------------

後は、bufを送信し、受信側で画像とテキストに分解して使用する。
なお、コンパイルしてないので、タイプミスとかあるかも。

679 名前:デフォルトの名無しさん :2007/06/25(月) 13:10:01
ミスった。
× System.arraycopy(tbuf, 0, buf, 8 + ilen, ilen); // テキストのバッファをコピー
○ System.arraycopy(tbuf, 0, buf, 8 + ilen, tlen); // テキストのバッファをコピー

680 名前:デフォルトの名無しさん :2007/06/27(水) 21:29:53
>>670
今作ってるアプリで透過を試してみたよ(200x100くらいの矩形)
素朴に各ピクセルのアルファブレンドでは実機(F902i)で10f/sしか出なかった。orz
まあ、当たり前か。


681 名前:デフォルトの名無しさん :2007/06/28(木) 00:29:50
半透明色ってどうやって使うんですかああ?


682 名前:デフォルトの名無しさん :2007/06/28(木) 06:44:23
オバQ

683 名前:デフォルトの名無しさん :2007/06/28(木) 10:04:00
>>680
それは、アルファテーブルを使用した場合?
それとも普通に計算した場合?


684 名前:デフォルトの名無しさん :2007/06/29(金) 09:18:52
誰かギガアプリで作品提供してる人いる?
ダウンロード数を見ると、俺のような素人が作った作品なのに
多い日は1日200件以上、1ヶ月トータルで1500以上ダウンロード
されてるんだよね。
あの作者用のダウンロード数は正しいのかな??
ちょっと不安になって聞いてみました。

685 名前:デフォルトの名無しさん :2007/06/29(金) 10:30:51
サイト側で、ギガアプリ用URLだけ別にして、カウンタを付けたりアクセスログを確認すればいい。

686 名前:デフォルトの名無しさん :2007/06/29(金) 11:02:09
FOMAカード入ってないとアプリ起動できないんですか?
プリインストールのものは起動できるんですが、仕様でしょうか?

687 名前:デフォルトの名無しさん :2007/06/29(金) 11:16:20
仕様だな。
落とした時に使ったFOMAカードじゃないと
起動できなかったと思った。

688 名前:686 :2007/06/29(金) 11:19:29
>>687
ありがとうございます。
んー、いちいちカード差し替えるのは嫌だなー。

689 名前:デフォルトの名無しさん :2007/06/29(金) 11:41:00
有料のアプリのことを考えたらそうせざるをえない

690 名前:デフォルトの名無しさん :2007/07/01(日) 02:45:23
半透明色ってどうやって使うんですかああ?





691 名前:デフォルトの名無しさん :2007/07/01(日) 06:11:28
http://www.yodobashi.com/enjoy/more/kichijoji/index.html

ヨドバシ 吉祥寺 オープンセール 13%ポイント還元
ソフトバンク携帯 大安売り 9800円のみ
しかも 13%ポイント還元 1274ポイント還元 バック

おまけに 980円ホワイトプラン 基本料金 24ヶ月無料 
23520円分無料 以下ついてくる

ホワイトプラン 1日 20時間 ソフトバンク同士無料通話
ホワイト家族で 家族間 24時間無料通話

つまり はじめに 9800円 払うが 基本料金980円が2年間無料なので
携帯電話機本体 ただ 14ヶ月間+ポイントバック1274円分バックで 15か月分
無料でホワイトプラン内で通話は 電話代がただになる。

つまり 15000円ほど 無料となる。 行くしかない。
 
しかも家族内通話も24時間無料。台数限定なので 売り切れ必死

他のヨドバシで やっていない 吉祥寺のみ限定

台数限定なので 無くなるのは早い 




692 名前:デフォルトの名無しさん :2007/07/01(日) 11:07:50
>>691
オープン6/29やん。
もう無くなってるな、残念。

693 名前:デフォルトの名無しさん :2007/07/01(日) 11:24:20
iアプリのスレでチョソバンクの携帯を薦めるってバカですか?信者ですか?

694 名前:デフォルトの名無しさん :2007/07/01(日) 11:58:17
漏れはタダでもバンクのは欲しくない

695 名前:デフォルトの名無しさん :2007/07/01(日) 13:47:54
はげどう!

696 名前:デフォルトの名無しさん :2007/07/01(日) 22:08:17
個人の力では携帯専用サイトの情報をパソコンに送るのって不可能なのかな?
丸2日悩んだんだけど、できなかった。
ダウンロード元しか接続できないって、なんだよこれ orz
Flashみたいに、許可与えれないのかな。

697 名前:デフォルトの名無しさん :2007/07/01(日) 22:21:01
酔っ払った俺には>>696の言ってる事が理解できなくて
なんかムカツク。

698 名前:696 :2007/07/01(日) 22:22:11
と思ったら、プロキシCGIを用意すればいけるかもって上に書いてあるね。
やってみる。これでいければ俺の休日も無駄にならないんだがなぁ。

699 名前:696 :2007/07/01(日) 22:24:11
>>697
すんまそん。ようするに
UserAgentとかの偽装では表示されない携帯専用サイトのhtmlソースを
パソコンで取得したいわけ。

700 名前:デフォルトの名無しさん :2007/07/01(日) 22:27:39
NULLGWDOCOMOを突破しようと?

701 名前:696 :2007/07/01(日) 22:39:00
>>700
なるほど、それで固体識別するのね。
となると、やっぱり携帯で直接アクセスしないといけないのか。
でもそうすると、他のサイトにアクセスできなくなるしなぁ。
ん、でも
http://oshiete1.goo.ne.jp/qa2698033.html
の情報だと
”公式サイトの場合、コレを付加することによって”と書いてあるから
ある程度のサイトならプロキシCGIで見れるようになるのかな。

702 名前:デフォルトの名無しさん :2007/07/01(日) 22:43:42
公式サイトをパソコンで見れたら大問題になる

703 名前:696 :2007/07/01(日) 22:46:56
>>iアプリDXが作成できれば、余裕でできるんだけどなぁ。
まぁ、公式サイトとはいかないまでも、
NULLGWDOCOMOを採用してない所ぐらいは見れそうだけどねぇ。

704 名前:696 :2007/07/01(日) 22:59:46
連投ですまん。
多分できないとは思うのだが、夢は持たせてくれよ。
なんかできそうな気がするから質問してみただけなんだわ。

705 名前:デフォルトの名無しさん :2007/07/01(日) 23:35:27
まー、不正アクセス禁止法で捕まらん程度に頑張れや('A`)ノ
つーか、iアプリ関係無いやん。

706 名前:696 :2007/07/01(日) 23:51:49
うはwww

>>つーか、iアプリ関係無いやん。
ほんとだ、まぁ、iアプリがダウンロード元ドメインにしかつながらんぞ!問題から
発展したってことで。んでは、おやすみ。

707 名前:デフォルトの名無しさん :2007/07/02(月) 14:35:08
普通は携帯からしか繋がらないように設定してるから、Webサーバの脆弱性をついたりしないかぎり無理だろ。

708 名前:デフォルトの名無しさん :2007/07/02(月) 15:17:44
携帯かどうかをIPのみで判断してるところなら大方入れるな。

709 名前:デフォルトの名無しさん :2007/07/02(月) 15:53:22
>>708
kwsk

710 名前:デフォルトの名無しさん :2007/07/02(月) 16:46:18
>>709
前提:相手がIP、UAのみでアクセス規制していて、ホストによる規制をしてない。(バーチャルホスト等含む)
相手のIPが調べられる。
1.自鯖を用意する。サブドメインでいいので自由にIP変えられれるようにしとく。
2.ネット(当然自ホスト)に繋いで任意のデータを取得するiアプリを作る。取得したデータはminiSDなりSP入れといて後でCGIにPOSTなりで外部に出せるようにしとく。
3.携帯に作ったiアプリをDL。
4.自鯖のIPを繋ぎたい先に変更。
5.好きなだけDL。
6.あらかじめ用意しといた方法でデータをPCに転送。CGIの場合はIP戻すこと。

応用すればiアプリ本体を取得してプロトコル解析したあとネットランキングに不正なデータポストして荒らすとかも可。悪用厳禁。

711 名前:デフォルトの名無しさん :2007/07/02(月) 18:36:03
3D座標を2D座標に変換する関数というのはあるのでしょうか?
Google等で調べたのですが見当たりませんでした。
こういった変換は自前で作るしかないのですか?
どなたかご存知の方がいましたら教えていただけないでしょうか。
よろしくお願いします。

712 名前:デフォルトの名無しさん :2007/07/02(月) 21:09:50
>>711
それは射影するってことだろ?
射影する方法なんか無限にあるんだから自分で作る以外ありえないと思うんだが。

713 名前:デフォルトの名無しさん :2007/07/02(月) 21:14:59
>3D座標を2D座標に変換する関数というのはあるのでしょうか?

3Dのオブジェクトを平面に投影した図形の座標を得たいという意味なら
アフィン変換を理解すればいい。

レイトレーシングとかポリゴンレンダリングの原理を勉強すれば
3DCGのことが大分わかるようになるよ。

714 名前:デフォルトの名無しさん :2007/07/02(月) 23:44:04
今日からiアプリ開発を始めようと
環境構築を行っているのですが、
Doja5.0のインストールで
Java(TM) 2 SDK, Standard Editionが見つかりません。
とエラーが出て失敗してしまいます。

環境変数にはJAVA_HOMEにD:\jdk1.5.0_04
Pathに%JAVA_HOME%\binとして設定してあり
コマンドプロンプトからjavacと入力すると
javacの使い方以下が出てくる為、
問題なく設定されていると考えております。

このスレのお仲間にさせて頂きたく
お手数をおかけしますがアドバイスをお願いします。

715 名前:711 :2007/07/03(火) 01:13:06
>>712
>>713
レスありがとうございます。
3Dオブジェクトのスクリーン座標上の位置が知りたかったので、アフィン変換
で調べてみます。


716 名前:デフォルトの名無しさん :2007/07/03(火) 01:28:47
半透明色ってどうやって使うんですか?


717 名前:デフォルトの名無しさん :2007/07/03(火) 10:09:02
>>716
public static int getColorOfRGB(int r,int g,int b,int a)


718 名前:デフォルトの名無しさん :2007/07/03(火) 11:13:06
FastMath.atan2()は、なぜこんな変な仕様になっているんだ。
Cのatan2と引数が逆だし、yが負だと受け付けないし、返り値が-180°を返さないし(-179°はOkなのに)。
ちょっと場合わけでひと手間かけるだけで済むはずなのに。

719 名前:デフォルトの名無しさん :2007/07/03(火) 11:23:50
× 返り値が-180°を返さないし(-179°はOkなのに)
○ 返り値が180°を返さないし(179°はOkなのに)
サーセン

720 名前:デフォルトの名無しさん :2007/07/03(火) 15:12:39
ちょっと場合わけでひと手間かけるとFastじゃなくなるからだろう

721 名前:デフォルトの名無しさん :2007/07/04(水) 18:57:49
http://itpro.nikkeibp.co.jp/article/NEWS/20070704/276747/

722 名前:デフォルトの名無しさん :2007/07/04(水) 19:24:35
>>718
なぜCのatan2との比較なのか?

723 名前:デフォルトの名無しさん :2007/07/04(水) 20:45:40
携帯のJavaって浮動小数点数扱えるようになったの?

724 名前:デフォルトの名無しさん :2007/07/04(水) 22:12:25
(^ω^;)

725 名前:デフォルトの名無しさん :2007/07/05(木) 10:12:26
>>723
今頃きづいたの?

726 名前:デフォルトの名無しさん :2007/07/05(木) 11:15:27
うん

727 名前:デフォルトの名無しさん :2007/07/05(木) 19:14:51
直感ゲームってやつも作れるんですか?

728 名前:デフォルトの名無しさん :2007/07/05(木) 22:34:27
DoJaがJava5に対応してないのが糞すぎる


729 名前:デフォルトの名無しさん :2007/07/05(木) 22:59:35
>>728
DoJaはたしかにくそだが
コレしか食べるものがないんだよ
ガマンしてお食べ

730 名前:デフォルトの名無しさん :2007/07/05(木) 23:53:05
俺は逆に1.4で止まってるから、5の文法になると混乱するかも。
じゃなくてJavaSEのAPI全部使わせろって話か?

731 名前:デフォルトの名無しさん :2007/07/06(金) 00:37:43
>>717
できましぇえんん
半透明色ってどう使うんですかぁぁ?

732 名前:デフォルトの名無しさん :2007/07/06(金) 02:01:15
>>716
Graphics2のsetRenderMode()で。
んぱかさんのとこ見れ。
http://www.saturn.dti.ne.jp/~npaka/kvm/javapress/stardiversion/genkou.html

733 名前:デフォルトの名無しさん :2007/07/06(金) 03:39:33
>>728
どこが対応してないか具体的にお願いします

>>730
5の文法???

734 名前:デフォルトの名無しさん :2007/07/06(金) 08:58:34
ジェネリクスだろなんかこんなの<>で囲む奴
おれ1.4.2から進歩してないからわからん

735 名前:デフォルトの名無しさん :2007/07/06(金) 08:58:48
>>733
アフォ
Java 5 でぐぐれ

736 名前:デフォルトの名無しさん :2007/07/06(金) 10:09:32
>>732
Graphics2では加算合成と減算合成はできても
半透明はできなくねぇか?

737 名前:デフォルトの名無しさん :2007/07/06(金) 10:44:55
>>736
加算でも、結果的に半透明と同じ効果ならいいんじゃないかと。
getPixel()setPixel()はリアルタイムでは使い物にならんだろうし。
それとも最近は他に方法できた?

738 名前:デフォルトの名無しさん :2007/07/06(金) 10:48:05
Image.setAlpha()

739 名前:デフォルトの名無しさん :2007/07/06(金) 11:03:19
>>738
そんな便利なものができたのか。

740 名前:デフォルトの名無しさん :2007/07/06(金) 17:54:09
>>739
今頃きづいたの?

741 名前:デフォルトの名無しさん :2007/07/06(金) 19:08:10
でも903以降では?


742 名前:デフォルトの名無しさん :2007/07/06(金) 19:51:16
未だに505対応をやらされている状態じゃ暫く用は無さそうだな('A` )
904出たんだからいい加減900以降のFoma限定にしようよ・・・('A` )
それでもだいぶ古いけどな('A` )

743 名前:デフォルトの名無しさん :2007/07/06(金) 22:56:35
70x も斬り捨てさせてください。


744 名前:デフォルトの名無しさん :2007/07/06(金) 23:03:27
jarファイルが30KB以内のやつを切ってほしいわけだよね。
俺も、切ってほしいよ。
うちもいまだに 505〜。

745 名前:デフォルトの名無しさん :2007/07/06(金) 23:17:40
いつもは金金金金いってる人達も、下位機種対応の対費用効果や、アプリのスペックを
下位機種に合わせ、上位機種でしょぼく見えてしまう&機能を生かしきれないことによる
機会損失よりも、対応機種リストを長くして得られる自己満足のほうが魅力的なようだ。

746 名前:デフォルトの名無しさん :2007/07/07(土) 00:49:00
>>736
リファレンスの説明みてみろ

setRenderMode( OP_ADD , alpha , 255 - alpha );

で再現可能。737が言ってるのはこのことかと思われる

747 名前:デフォルトの名無しさん :2007/07/07(土) 13:59:22
脱出ゲームもJavaで作るんですか?

748 名前:デフォルトの名無しさん :2007/07/07(土) 14:08:39
javaでも作れます

749 名前:デフォルトの名無しさん :2007/07/07(土) 14:51:36
え?iアプリってC言語でも作れるんですか?

750 名前:デフォルトの名無しさん :2007/07/07(土) 14:58:56
作ろうと思えば

751 名前:デフォルトの名無しさん :2007/07/08(日) 08:56:29
GPS機能を使用したiアプリって作成可能なんですかね?
自分の位置情報を取得して、緯度経度くらいを画面に表示したいんですが…

752 名前:デフォルトの名無しさん :2007/07/08(日) 11:26:31
>>751 要DX

753 名前:デフォルトの名無しさん :2007/07/08(日) 21:04:42
どうやってC言語でJAVAアプリ作るんですかぁ?

754 名前:デフォルトの名無しさん :2007/07/08(日) 21:12:57
>>753
よしやさしいオジサンが手取り足取り教えてあげよう♪(グヒヘェ
ま、まずは

755 名前:デフォルトの名無しさん :2007/07/08(日) 21:38:56
C言語からJavaに変換するプログラムを作る所から始めて見ようか(・ω・)

756 名前:デフォルトの名無しさん :2007/07/08(日) 22:49:35
JavaVM上で動くC言語エミュレータを作るんだろ?

757 名前:デフォルトの名無しさん :2007/07/09(月) 01:37:57
>>756 は酷いことを言ってるようで、じつは一番親身になってくれてる凄くいいやつだ。
>>753 がサジェスチョンに従って一生懸命努力してJavaVMで動くC言語エミュを作成したとする。
もちろん出来上がってもそんなものは実際には役に立たない。しかし、ふと気が付くのだ
「もうC言語で記述する」こと自体が不要なほどJavaに精通してしまっていることを・・・
ありがとう >>756 ほんとうにありがとう。そう涙する日が必ずくる。

758 名前:デフォルトの名無しさん :2007/07/09(月) 01:58:44
CをJavaのバイトコードに変換するコンパイラ書けば良いんじゃね?

759 名前:デフォルトの名無しさん :2007/07/09(月) 03:33:21
C言語エミュレータってなんだろ?
Cインタープリタ?

760 名前:デフォルトの名無しさん :2007/07/09(月) 05:24:31
うんこしてくる

761 名前:デフォルトの名無しさん :2007/07/09(月) 06:47:45
>>758
むりじゃね?
コンピュータアーキテクチャちがうんじゃね?

762 名前:デフォルトの名無しさん :2007/07/09(月) 19:59:14
スレ違いすぎ

763 名前:デフォルトの名無しさん :2007/07/09(月) 20:01:54
コンピュータアーキテクチャ(大爆笑

764 名前:デフォルトの名無しさん :2007/07/10(火) 00:03:41
おまいらはこのスレをちゃんと読めよ
http://pc11.2ch.net/test/read.cgi/tech/1175061694/

765 名前:デフォルトの名無しさん :2007/07/15(日) 16:29:24
Rhinoはまだ使えないのかよ

766 名前:デフォルトの名無しさん :2007/07/15(日) 17:08:05
画面全体をイメージファイルに取り込む命令とかないんですかぁ?


767 名前:デフォルトの名無しさん :2007/07/15(日) 17:45:25
ないあるよ

768 名前:デフォルトの名無しさん :2007/07/15(日) 18:26:34
 _く彡川f゙ノ'ノノ ノ_ノノノイシノ| }.: '〈八ミ、、;.)
  ヽ.:.:.:.:.:.;=、彡/‐-ニ''_ー<、{_,ノ -一ヾ`~;.;.;) 逆に考えるんだ
  く .:.:.:.:.:!ハ.Yイ  ぇ'无テ,`ヽ}}}ィt于 `|ィ"~
   ):.:.:.:.:|.Y }: :!    `二´/' ; |丶ニ  ノノ    「画面全体の大きさのイメージオブジェクト」
    ) :.: ト、リ: :!ヾ:、   丶 ; | ゙  イ:} 
   { .:.: l {: : }  `    ,.__(__,}   /ノ   を保持して、それを画面に表示するんだ

769 名前:デフォルトの名無しさん :2007/07/16(月) 10:19:46
EncodeImage.encode()を使って現在のCanvasの内容をjpeg形式に落とし、
getImage()を使ってMediaImageとして保持。
さらにImageStore.addEntry()を使えば、それを本体フラッシュメモリのどこかに落とせるはず。

エミュレータでは、エラーにならずに動作したが、保存はされなかった。
実機では、まだ試したことがない。

770 名前:デフォルトの名無しさん :2007/07/16(月) 10:41:31
一度スクラッチパッドに保存してから、メディアイメージで取り込むという方法が常套手段のようですね。


771 名前:デフォルトの名無しさん :2007/07/17(火) 16:15:06
ところで、なんでVectorはパソコン版サイトでは成功したのに
モバイルでは大失敗したんだろう?
しかも、ゲームチャンネルから未だ連絡が来ないのだが…。
本当に8月1日にリニューアルオープンする気なのかしら??

772 名前:デフォルトの名無しさん :2007/07/17(火) 21:25:28
携帯アプリは規模が小さいから
他のアプリパクって実装するのもチョロイしなw

無料アプリとの差別化も難しくて有料に旨みも無いからやりません。

773 名前:デフォルトの名無しさん :2007/07/18(水) 04:04:40
画像をパクるのはできないけどな

774 名前:デフォルトの名無しさん :2007/07/18(水) 10:39:08
更に上手い人に頼めばクオリティーアップできるやん

775 名前:デフォルトの名無しさん :2007/07/18(水) 13:37:33
Imageに対してgetRGBPixelって出来ないですよね
なんとか出来るようにする方法ってないもんですかね?

776 名前:デフォルトの名無しさん :2007/07/18(水) 13:53:18
createImageしたオブジェクトに対して描画してからgetRGBPixel

777 名前:デフォルトの名無しさん :2007/07/18(水) 14:24:28
>>776
ありがとうございます

もうひとつ質問なんですが、int n = g.getColorOfRGB(*, *, *)); と取得した場合に
nからRGBを逆算する方法ってあるんでしょうか?

778 名前:デフォルトの名無しさん :2007/07/18(水) 15:02:02
出来ないこともないけどデバイス依存なので
基本的にいじるべきでないと思う。


779 名前:デフォルトの名無しさん :2007/07/18(水) 15:56:00
>>778
ありがとうございます
あきらめます


780 名前:デフォルトの名無しさん :2007/07/18(水) 16:22:36
あらかじめGraphics.getColorOfRGB(0〜255, 0〜255, 0〜255)して戻り値をとっておいて、一致するものを探せば可能

781 名前:デフォルトの名無しさん :2007/07/18(水) 17:04:25
それは逆算というより逆引きだな
1677万色分のテーブル持つのも馬鹿らしい

782 名前:デフォルトの名無しさん :2007/07/18(水) 17:38:15
そもそもgetColorOfRGBの戻り値を使いたい理由って何なんだぜ?

783 名前:デフォルトの名無しさん :2007/07/18(水) 17:55:37
>>777
setPixelしてgetRGBPixelすればいけるかと

784 名前:デフォルトの名無しさん :2007/07/18(水) 18:33:40
>>783
無理じゃないですか?

785 名前:783 :2007/07/18(水) 20:02:03
>>784
エミュでやってみたらちゃんと取れたよ。実機だと機種によっては丸め込まれるかもしれないけど、少なくとも、内部表現→RGB→内部表現とすれば同じ値が得られるRGBが得られるはず。

786 名前:デフォルトの名無しさん :2007/07/19(木) 14:06:29
なんで無理だと思ったんだろうな

787 名前:デフォルトの名無しさん :2007/07/19(木) 14:59:31
>>786
getColorOfRGBがRGB88に対してほとんどの機種の画面が
RGB565だから>>785の言っているように丸め込まれるということで
無理と判断したんじゃないか?


788 名前:デフォルトの名無しさん :2007/07/19(木) 20:50:37
         ☆ チン     マチクタビレタ〜
                         マチクタビレタ〜
        ☆ チン  〃  Λ_Λ   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
          ヽ ___\(\・∀・) < OpenGL ESの一般公開まだ〜?
             \_/⊂ ⊂_ )   \_____________
           / ̄ ̄ ̄ ̄ ̄ ̄ /|
        | ̄ ̄ ̄ ̄ ̄ ̄ ̄|  |
        |  愛媛みかん  |/


789 名前:デフォルトの名無しさん :2007/07/20(金) 19:18:25
質問なんだけど
scratchpad:///x

xって何番まで使えるの?
それと、ひとつの番号あたりの容量制限とかはないよね?
0番しか使わなくても0〜3番まで使っても例えばDoja3.5では合計400KBまででしょ?
誰か教えてちょ

790 名前:デフォルトの名無しさん :2007/07/20(金) 22:10:52
開発ガイド詳細編に教えてもらうといいよ

791 名前:デフォルトの名無しさん :2007/07/21(土) 12:09:45
>>790
サンクス!おかげで詳しく知ることが出来たよ!
更にlengthオプションの存在も知った。これだよ俺が求めてたのは…!
ありがと!

792 名前:デフォルトの名無しさん :2007/07/21(土) 19:58:56
いや、ここで聞く前に自分で調べろって意味だろ

793 名前:デフォルトの名無しさん :2007/07/21(土) 21:52:46
技術系の資料はだいたいその手の資料に載ってるからね

794 名前:デフォルトの名無しさん :2007/07/22(日) 01:52:03
近所の本屋に行ってもiアプリ開発の本は全然無いんだよね
とりあえず中身確認して知りたい情報があるか確認しないといけないから
通販じゃ買えないし遠くまで出かけるのも面倒くさい
まったく近所の本屋ってリサーチしないよな
消費者が求めてる本をリサーチして店に置けっての
だから売り上げが上がらず倒産するんだよ

795 名前:デフォルトの名無しさん :2007/07/22(日) 08:09:36
いあ、むしろ消費者のニーズが細分化し過ぎてて
売上げが上がらないんだろう。

iアプリ開発本なんてほとんど読まなかったし、
今だともうネットだけで十分じゃね?

796 名前:デフォルトの名無しさん :2007/07/22(日) 10:02:50
仕事で日本の携帯電話3キャリア向けのアプリを作ってたが
本なんざ一切読まないでやったぞ。
そもそも某社のアプリはアプリ開発系の本が一冊くらいしか出てないで
ネットにも情報が少なくて死ぬかと思った。
ITmediaありがとう。

797 名前:デフォルトの名無しさん :2007/07/22(日) 12:17:08
未だにDoJa-3.5使ってるからそろそろ最新版に移行しようとおもう
何か注意とか不安定だとかないよね?

798 名前:デフォルトの名無しさん :2007/07/22(日) 13:00:15
>>792
そんなの当たり前だろw
何を見ればいいか教えてくれてるわけだから礼を言ったまでさ〜
一応自分なりに調べてみたつもりだけど見落としてたみたい

799 名前:デフォルトの名無しさん :2007/07/22(日) 14:51:25
>>797
Doja4.0以前のエミュレータとDoja4.1以降のエミュレータでは
動作が違う部分がちょくちょくある。

新しいエミュレータにした場合、作成するアプリがDoja4.0等にも
対応する場合、Doja4.0のエミュレータとDoja4.1以降のエミュレータの
両方で動作チェックを行うのを忘れないほうがいい。

なお、俺は現在DoCoMoでプリミティブ描画を行っているのだが
Graphics3D#flushにて、Doja4.0以前のエミュレータではフリーズし
Doja4.1以降のエミュレータでは正常に動作しているという現象を
食らっている。
原因追求したいのだが、他の仕事が入って全然調べられん。
同じ現象になって解決したやついたら、教えてくれ。

そのほかでは、通信の際にuid=NULLGWDOCOMOでuidを取得するあれにて
ミスで、uid=http:// なってしまったときに
通信は当然ミスったが、動作をそのまま続けたエミュレータと
通信時にフリーズするエミュレータがあった。
どっちがどっちエミュレータかは、忘れた。


800 名前:デフォルトの名無しさん :2007/07/22(日) 15:20:49
壊れたMLDをuseするとException吐かずにエミュが落ちる

801 名前:デフォルトの名無しさん :2007/07/25(水) 02:25:50
夏休みでアプリ挑戦してみようと思う大学生ですが、
ドコモのツールってJavaの5.0には対応してないんでしょうか?

802 名前:デフォルトの名無しさん :2007/07/25(水) 08:58:28
対象のバージョン、書いてあっただろ。

803 名前:デフォルトの名無しさん :2007/07/25(水) 10:03:50
>>799
どうも親切にありがとう

804 名前:デフォルトの名無しさん :2007/07/26(木) 00:14:15
資料がpdfだけというのはやめてもらえんだろうか。
使いづらくてたまらない。

805 名前:デフォルトの名無しさん :2007/07/26(木) 00:42:53
DoJaが足を引っ張ってJava5を入れられない・・・・

806 名前:デフォルトの名無しさん :2007/07/26(木) 03:32:51
>>805
Java 6のjavacでも-sourceと-targetと-bootclasspathを指定すれば、
ちゃんとコンパイルして実機で実行できるよ。

807 名前:デフォルトの名無しさん :2007/07/26(木) 04:09:32
PDFの資料なんか、最初に全部読んどいて忘れたときに開く程度だし別にいいだろ。
APIマニュアルはHTMLだし。

808 名前:805 :2007/07/26(木) 05:39:39
>>806
コンパイルはコマンドプロンプトからオプションつけてやればいいという事でしょうか?DoJaのビルトだとオプションとかつけれなかったような。

809 名前:デフォルトの名無しさん :2007/07/26(木) 07:42:35
別にDoJaからコンパイルする必要はない。
クラスパスを指定して普通のJavaソースと同じようにコンパイルするだけ。

810 名前:デフォルトの名無しさん :2007/07/26(木) 12:40:58
つか、最新の開発ツールだと -source 1.3 付けてくれてるみたいだぞ。久々にいじったのでいつからかわからんが、これでjdk1.4とはおさらばできそうだ。

811 名前:デフォルトの名無しさん :2007/07/26(木) 22:24:49
新しいコンパイラなら最適化も素晴らしくなっているだろう……と思いきや
最近のjavacはJITの存在を念頭に置いてて、あまり最適化しない、むしろ
JITが扱いやすい型にはまったバイトコード生成をするという話も聞く。

812 名前:デフォルトの名無しさん :2007/07/26(木) 22:56:29
javacがするのは、定数折りたたみ、意味のない式や制御構造の削除とかの簡単なもの。
JITの性能が上がりすぎて、コンパイル時の最適化が効果が薄くなった。
コンパイル時の最適化を期待するにはjavac以外のツールが必要。

813 名前:805 :2007/07/27(金) 04:42:59
>>809>>810
ありがとうございます。
そういや、最近DoJa5.0はVer3になりましたもんね。
それでできるようになったのかな?
以前は1.5だとエラー出てたけど。

814 名前:デフォルトの名無しさん :2007/07/27(金) 11:17:31
何か今時の話題のようなので報告。
JDK1.5.0_12+iαppliTool 5.0ver3.00 でコンパイル成功してます。
環境変数等、インストールした時のまんまなので標準環境だと思ふ


815 名前:デフォルトの名無しさん :2007/07/28(土) 02:35:09
DoJaの開発環境は地味ながら継続的に改良されているよね
もうちょっと宣伝すればいいのに

816 名前:デフォルトの名無しさん :2007/07/28(土) 23:59:39
DXなしでGPSを使用したアプリって作成不可?
端末の位置情報を取得するくらいならできるのかな

817 名前:名無しさん@そうだ選挙に行こう :2007/07/29(日) 08:31:24
無理

818 名前:デフォルトの名無しさん :2007/07/30(月) 01:53:36
F904i(マーガレット機種)でjamのDrawAreaの設定について教えてください。
F904iは描画領域が240×432なんですが、
DrawAreaもそれに合わせて240×432にしたところ、
y=392〜411のあたりにソフトキーラベルが浮いて表示されると
ユーザから指摘を受けました。
で、DrawAreaを240×391にしたところ、
今度は「描画領域が相変わらず240×432になっている」と指摘されました。
F904iのDrawAreaの挙動って、何か特殊な対応が必要なんでしょうか?
なんとかソフトキーラベルが画面表示に被らないようにしたんですが。。。


819 名前:デフォルトの名無しさん :2007/07/30(月) 02:55:07
>>818
DoJa-5.x用の開発ガイド詳細編を読んでみるといいよ。
DrawAreaで検索かけて掛かったところ全部。

DrawAreaは任意の値で領域サイズを変えられるわけじゃない。
サポートしているサイズが端末ごとに決まっている模様。

ソフトキー描画を非表示にするメソッドが使える場合もあるとも書いてある。
全画面表示を指定した場合のソフトキー表示が気に入らなかったら、
ソフトキーを非表示にしてアプリでソフトキーを描画する方法になるだろうね。

820 名前:デフォルトの名無しさん :2007/07/30(月) 03:12:20
Frame.setSoftLabelVisible(false)

821 名前:デフォルトの名無しさん :2007/07/30(月) 09:58:28
さらに突っ込むなら
現時点でFrame#setSoftLabelVisible(false)を使用して全画面表示が
可能なのは、端末資料を見る限りだとFシリーズの903i以降と703i以降だ。

なお、F機はフルスクリーンにしないと端末資料に書かれている
最大画面サイズを使用できない。

822 名前:デフォルトの名無しさん :2007/07/30(月) 21:19:04
勝手直感ゲームまだー?(・∀・ )っ/凵 ⌒☆チンチンチン


823 名前:818 :2007/07/31(火) 02:20:57
>819-821
ありがとうございます。
ずっと、任意の領域に変えられるものだと思ってました。。。

>可能なのは、端末資料を見る限りだとFシリーズの903i以降と703i以降だ。
Fと、Dの903/703もいけそうでした。

>Frame.setSoftLabelVisible(false)
今自分が作っているアプリの場合だと、
クライアントアプリ内で端末名判断してやることになりそうです。
ソースにベタで。
新しく同様の機種が出るたびにリビルド。。。



824 名前:デフォルトの名無しさん :2007/07/31(火) 03:42:43
703でも903のアプリは動きそうなんですけどダメですか?


825 名前:デフォルトの名無しさん :2007/07/31(火) 04:21:26
どちらとも言えない。アプリによって答えは違う。
そのアプリが動くかどうかは作った人に聞け。

826 名前:821 :2007/07/31(火) 10:08:25
>>823
>Fと、Dの903/703もいけそうでした。
D端末の端末資料には全画面表示非対応となっているが
いったい端末資料のどこを見て全画面表示が可能だと判断したんだ?

俺が言っているいる全画面表示(フルスクリーン)というのは
Frame#setSoftLabelVisible(false)によってソフトキーの表示を消し
その領域まで使用できることだぞ。

240x320など、240x240以上の領域がDrawAreaで指定可能であるのと
全画面表示が可能であるのは、別の話。
F以外の903以降の端末(PとN903iを除く)の端末はソフトキーを消さずに
240x320以上の領域が使用できるということだ。


827 名前:デフォルトの名無しさん :2007/07/31(火) 11:08:39
>>822
トラステッドおんりー

828 名前:デフォルトの名無しさん :2007/07/31(火) 11:34:52
GestureReaderであれば普通に使えるでしょ?
大して面白い機能でも無いから使わんけど。

829 名前:デフォルトの名無しさん :2007/07/31(火) 17:38:25
>>821さ、誤解を招くようなおかしい文章を自分が書いといて何で噛み付いてんだい。

>Frame#setSoftLabelVisible(false)を使用して全画面表示が可能なのは、
setSoftLabelVisible()はソフトキーの表示/非表示を切り替えるためのメソッドだ。
でもあんたの説明では全画面表示の切り換えに使うメソッドのように読み取れる。

>>823が書いた「Fと、Dの903/703もいけそうでした。」はもちろん
Dの903/703でもsetSoftLabelVisible()はサポートしてるようでした、の意味だ。

830 名前:デフォルトの名無しさん :2007/07/31(火) 20:41:46
サポートしてなくても、とりあえずThrowableをcatchしとけばいいんでない?

831 名前:デフォルトの名無しさん :2007/07/31(火) 22:31:39
質問させてください。
アプリから、端末に保存している曲データ(MFiやSMFではなく、圧縮音声データ)
を再生したいと思っています。

単純に思いつくのは、MovieStore.selectEntry()でiモーションデータ取得する方法
ですが、このクラスはNとSHの端末でしかサポートされていないようです。
(今回はFをターゲットにしているので、この方法は使えません)

曲データはサイズがでかいので、アプリ同梱や通信でとってくる方法も出来れば
使いたくありません。
あくまで、あらかじめ端末に保存されている曲データを再生したいと思っています。

他に良い方法はあるでしょうか?


832 名前:デフォルトの名無しさん :2007/07/31(火) 23:35:49
偽装gifして読み込む

833 名前:デフォルトの名無しさん :2007/08/01(水) 00:05:33
903以降のFって、偽装GIFのコメントヘッダを勝手にとっちゃうから使えないって聞いたけど…

834 名前:デフォルトの名無しさん :2007/08/01(水) 21:58:21
偽装jpgという手もあるぞ
F903iXだけどgifdeladでjpg偽装したテキストが
iアプリのテキストリーダーで読めたからいけるはず

http://www.moeracode.net/software/gifdelad/

835 名前:831 :2007/08/01(水) 23:27:54
>>831-834
情報dクスです。
偽装なんとかについては詳しくないので、一度研究してみます。

836 名前:デフォルトの名無しさん :2007/08/02(木) 11:18:52
DoJaってLinkedList持ってないよな?
リスト構造が必要になった時って皆どうしてるんだ?

837 名前:デフォルトの名無しさん :2007/08/02(木) 13:03:04
無いなら作れ

838 名前:836 :2007/08/02(木) 15:10:32
Vectorで代用することにしたよ。
使えるらしいし。

839 名前:デフォルトの名無しさん :2007/08/03(金) 01:18:47
>>838
LinkedListとVectorじゃ、計算量的な特徴は全く違うけどね。

840 名前:デフォルトの名無しさん :2007/08/03(金) 01:38:22
サスペンドイベントと終了イベント(MIDPで言うところのpauseApp()とdestroyApp())が
取れないことがわかって絶望した。
アプリ終了されたときにセーブか何かするってできんやん……

841 名前:デフォルトの名無しさん :2007/08/03(金) 03:10:33
サスペンド発生のタイミングは基本的に着信やバッテリー残量不足など
即座にアプリから端末へ制御を渡さなければならない状況。
そのためアプリに余計な処理をさせないようにしてある。

終了イベントをアプリで受け取れるようじゃ端末として問題ありだろう。
電源キーで強制終了しようにも、わざと(またはバグで)無限ループ、
バッテリー抜くまで終了できないアプリが作れちゃう。

で、セーブデータ保存タイミングだけど、アプリ実行中にこまめに保存するしかない。
ゲームなら1ステージクリアごととか、タイトル画面へ戻る度にとか。

842 名前:デフォルトの名無しさん :2007/08/03(金) 03:23:20
841だが何かズレたこと言ってるな自分
暑さのせいだ、スルーしといてくれ

843 名前:デフォルトの名無しさん :2007/08/03(金) 04:43:50
もしかしてMIDP準拠のアプリで、destroyAppで無限ループすると操作効かなくなるの?

844 名前:デフォルトの名無しさん :2007/08/03(金) 09:23:09
Maximum byte code length (32KB) exceeded
というエラーがいきなり出るようになったんですが
なんなんですかこれは?
ネットで調べても見つかりません

845 名前:デフォルトの名無しさん :2007/08/03(金) 10:37:53
英語の意味のまんま。
直訳してみ?

846 名前:デフォルトの名無しさん :2007/08/03(金) 10:51:52
バイトコードが32KBを越えた
意味不明

847 名前:デフォルトの名無しさん :2007/08/03(金) 10:56:00
だからそのままだって。
1メソッド32KBの制約に引っかかったから普通のプログラム組めってこと。


848 名前:デフォルトの名無しさん :2007/08/03(金) 11:10:41
>>843
実機依存かもしれないが、イベントハンドラから一定時間リターンしなかったら
強制終了、だったような。

849 名前:デフォルトの名無しさん :2007/08/03(金) 11:54:49
>>844
ネットで何を調べたんだ?

850 名前:デフォルトの名無しさん :2007/08/03(金) 20:28:57
>>844
っていうかこのスレくらい検索しようぜw
ソースうpしてくれ。
>>379のときは見れなかったんだ。興味あるw

851 名前:デフォルトの名無しさん :2007/08/04(土) 15:45:48
ボタンを一ドット単位で配置設定なんてことできないよね?

852 名前:379 :2007/08/04(土) 21:12:12
メソッドのサイズを削るために
メソッド内の変数を外に出したらクラスの容量が一気に増えて
今度はクラスの容量が32KBオーバーになっちゃったみたい。
メソッドのサイズ削るよりクラス削るほうが難しそうです・・
ちょうど話題に上がってたみたいなのでもう1回うpしてみました。
http://zif.hp.infoseek.co.jp/tmp/tori2.zip

853 名前:デフォルトの名無しさん :2007/08/04(土) 22:06:16
クラスに32Kの容量制限があるなんて初耳だ

854 名前:デフォルトの名無しさん :2007/08/04(土) 23:08:03
500シリーズとか700シリーズの話じゃね?
30kだっけか。


855 名前:デフォルトの名無しさん :2007/08/04(土) 23:15:05
おそらく暗黙的に宣言される static {} のサイズが32Kを超えたと思われ。
単純な配列データは別ファイルにしてリソースとして読み込むようにして、
その他のものは幾つかのクラスに分散すべし。

856 名前:379 :2007/08/05(日) 00:32:23
>>855
レスありがとうございます
リソースとして読み込むってのがよく分からないけど
とりあえず変数は別のクラスに分散させてみます

857 名前:デフォルトの名無しさん :2007/08/05(日) 03:53:49
>>856
855さんが言ってるのは、配列の初期化だと思われ。
byte[] a = { ....};
ってやつね。

858 名前:デフォルトの名無しさん :2007/08/05(日) 09:28:20
>>854
jarのサイズでなく、プログラム的に1メソッドのサイズ制限だと思われ。
どっかのpdfに書いてあった気がするが忘れたし暑くて探す気がしないから調べといて。

859 名前:デフォルトの名無しさん :2007/08/05(日) 12:26:58
>>851
できちゃうんだな、これが。

860 名前:デフォルトの名無しさん :2007/08/05(日) 15:45:13
クラスのメンバ変数は、バイトコード上ではすべて特別なメソッドに置かれる。
そのメソッドが32kBを超えたからコンパイルエラーになった。

855のリソースにして読むというのは、大きな配列はスクラッチパッドやネットワークとかのクラス外に置いて、実行時に動的に読み込めということだろう。

861 名前:379 :2007/08/05(日) 21:17:15
>>860
普通のメソッドは3000行書いても大丈夫だったのに
クラスのメンバ変数はちょっと書いただけで32KB超えたってことは
メンバ変数にすると容量を大量に消費するってことかな

大きな配列は別クラスに移してあるのでリソースにしなくても大丈夫かな

862 名前:デフォルトの名無しさん :2007/08/05(日) 22:07:33
int[] a = { 10, 20, 30, 40 };
とかっていうのは
a = new int[4];
a[0] = 10;
a[1] = 20;
a[2] = 30;
a[3] = 40;
って書いたのとほぼ同じだから、相当に容量を食う。

863 名前:デフォルトの名無しさん :2007/08/05(日) 22:11:59
byte[] a = { 10, 20, 30, 40 };
に至っては
a = new byte[4];
a[0] = (byte)((int)10);
a[1] = (byte)((int)20);
a[2] = (byte)((int)30);
a[3] = (byte)((int)40);
と言う感じでintの即値をbyteにキャストするから、さらに食う。

864 名前:デフォルトの名無しさん :2007/08/05(日) 23:34:03
>>863
byteの配列ってそんな実装なんだ。
知らなかった。勉強になったよ。
まさか想定の4倍食ってるとは……。

865 名前:デフォルトの名無しさん :2007/08/06(月) 00:49:26
ヒント : javap -c

866 名前:デフォルトの名無しさん :2007/08/06(月) 01:39:33
どちらにせよ、データは外出ししておいた方が、管理しやすいし入れ替えやすいし良いよ。
理想的には、プログラムをいじらなくても敵キャラやステージを追加できるくらいにすべき。

867 名前:デフォルトの名無しさん :2007/08/06(月) 12:16:36
iアプリで音楽再生するプログラムを書いています。
サンプルを参考にして、MIDIから変換したMLDファイルの演奏はできました。
変換はフリーソフトを使いました。
次は効果音を鳴らしたいんですが、効果音はMIDIではないですよね。効果音は
どのように作成すればいいのでしょうか。
プログラムの話とは少し違いますが、iアプリで鳴らせる音について調べても
良く分からなかったので質問しました。

いろんなサイトを見ても、MLD形式のファイルがMIDIだと書いてあるのに、
着ボイスの拡張子もMLDだったりでよく分かりません。あと、YAMAHAのサイトで
変換するツールのようなものを見つけたのですが、NEC端末用と書いてあったので
違うのかもしれません。

お願いします。


868 名前:デフォルトの名無しさん :2007/08/06(月) 13:17:38
>>867
waveからmldに変換するツール探すといいよ。
多分殆どはシェアウェアで、
フリーのは2秒制限とかの制約がつくものが多いと思う。

mldは機種ごとにフォーマットが異なるので、
対応させる機種分mldファイルを用意しないとならない。
Nだけ対応すれば良いのなら、YAMAHAのでもいいかもね。


869 名前:デフォルトの名無しさん :2007/08/06(月) 13:22:11
>>859
どーやって?


870 名前:デフォルトの名無しさん :2007/08/06(月) 14:23:35
>>860
ちと試してみたけど、以下のケースでNGだった。
32KB制限云々に限って言えば、
メンバ変数の初期化はコンストラクタ内で実行されるのと同意なんでない?

class app{
 static byte buf[] = {0,1,2,3,4,・・・}; // ←バイトコードで16KB以上、32KB未満になる配列
 app() {
  byte buf2[] = {0,1,2,3,4,・・・}; // ←バイトコードで16KB以上、32KB未満になる配列
 }
};

>>861
前にも指摘されてるけどさ、
そもそも「3000行の普通のメソッド」なんて有り得ないから。
cだけどこの辺読んでみるといいかも。
ttp://www.pro.or.jp/~fuji/mybooks/cdiag/

まー、その場しのぎで良いならクラス2つに分けて、
変数部分だけごっそり移動すれば解決するんじゃないかね。
0から作り直したほうが早いと思うけど。


871 名前:デフォルトの名無しさん :2007/08/06(月) 14:31:31
一昔前のiアプリじゃいかにメソッドを作らないかを
試行錯誤したもんだが、随分とヌルくなっちまったな。


いいことだ(・∀・)

872 名前:デフォルトの名無しさん :2007/08/06(月) 14:34:00
インスタンス変数はコンストラクタで、static変数はstaticイニシャライザで初期化される

873 名前:デフォルトの名無しさん :2007/08/06(月) 15:04:36
インスタンス変数とコンストラクタが<init>で、スタティック変数とstatic{}内が<clinit>というメソッド名になる。
>>867
MLDは、MIDIのような情報、Wave(ADPCM)のような情報どちらも扱える。
>>863
配列の初期化のときの代入は、iastoreとbastoreの違いだけで、
バイトコード上でのキャストはなかったはず。

874 名前:379 :2007/08/06(月) 16:45:56
>>870
メソッド少なくしたのはどっかのサイトにメソッドは少ないほうが
容量少ないって書いてあったからです。
次作るときはオブジェクトに分けるのを試してみたいです。

配列がバイトコードになったときのサイズどうやって調べたんですか?

875 名前:デフォルトの名無しさん :2007/08/06(月) 18:41:46
キーリビートってどう実装したらいいんですか?

876 名前:デフォルトの名無しさん :2007/08/06(月) 18:59:38
>>869
レイアウト管理オブジェクトを無効にして、
自分でコンポーネントの座標を設定する。

877 名前:867 :2007/08/06(月) 19:15:42
>>868
ありがとうございます。
wav2mldというソフトを見つけて体験版を試してみたのですが、長さは
2秒もない音声ですがエミュレータ上では再生できませんでした。
そんなに高くなかったので製品版を購入してもう一度試してみようと思います。
他にも変換ソフトがあるようでしたら教えてもらえると嬉しいです。フリーじゃ
なくてもいいです。自分の端末はSOなのでYAMAHAのものではダメのようです。

>>873
ありがとうございます。
WAV形式のMLD形式(?)があって、どちらも拡張子がMLDということでよいでしょうか。
wav2mldというソフトの製品版を使ってみようと思います。

878 名前:デフォルトの名無しさん :2007/08/06(月) 21:05:30
>>875
毎フレームgetKeypadState()して、過去数フレームと見比べる。


ところで、Java->C, J2ME->BREW自動変換をうたうツールやベンチャーをたまに見かけるが、
GCをどう解決してるかについて何も言ってないのは詐欺認定でいいよな?

879 名前:デフォルトの名無しさん :2007/08/06(月) 22:31:40
>>875
俺はボタンが押されたら別スレッドでループを回して
離れたらスレッドを切るようにしてる

880 名前:831 :2007/08/06(月) 23:19:16
>>831で質問した者です。
偽装JPEGファイル経由で音声iモーション(AACファイル)再生できたので、
やり方など残しておきます。

・ImageStore.selectEntry()でImageStore取得
・ImageStore.getInputStream()でInputStream取得
・InputStream.read()で不要なデータ読み捨て
・MediaManager.getImage(java.io.InputStream in)でMediaImage取得
・MediaManager.use()
・AudioPresenter.getAudioTrackPresenter()でAudioTrackPresenter取得
・AudioTrackPresenter.setSound(MediaImage sound)でiモーションセット
・AudioTrackPresenter.play()で再生

再度、>>831-834に感謝。

881 名前:デフォルトの名無しさん :2007/08/07(火) 08:06:06
>>880
おーすごい、レポ乙でつ(`・ω・´)ゝ

882 名前:デフォルトの名無しさん :2007/08/07(火) 11:05:55
>>880
俺偽装ファイル扱うの知らないんだが、最後から2番目の
MediaImage sound
てどこから出てくるん? MediaManager.getSoundの間違い?

883 名前:デフォルトの名無しさん :2007/08/07(火) 11:36:22
AudioTrackPresenterのリファレンス参照しる
> 動画のオーディオトラックは MediaImage オブジェクトであるため、
> setSound(MediaImage) メソッドにて設定する必要があることに
> 注意して下さい。

884 名前:デフォルトの名無しさん :2007/08/07(火) 12:30:48
>>877
>>376でも言った気がするが、PsmPlayerがあるだろ。無料で使えてwav変換も出来るぞ。

885 名前:デフォルトの名無しさん :2007/08/07(火) 15:26:18
PsmはN用に変換してもN903iで再生できなかった

886 名前:821 :2007/08/07(火) 15:49:06
NはYAMAHAのサウンドを使っているから他と同じにしてはだめ。

今まで各端末メーカごとのサウンド作成する必要がったが
903から統一されて一つのサウンドでよくなった。
しかし、Nだけ903用のサウンドを使用しても鳴らず
N902i用のサウンドを使う羽目になった。

887 名前:デフォルトの名無しさん :2007/08/07(火) 17:08:35
IアプリからSOAP経由でWEBサービスを利用する事ってできるんでしょうか?
BREWアプリなら可能なんですが…。

888 名前:デフォルトの名無しさん :2007/08/07(火) 17:25:00
>>887




889 名前:デフォルトの名無しさん :2007/08/07(火) 18:46:59



890 名前:デフォルトの名無しさん :2007/08/07(火) 18:54:40
>>886
ごめん、それもっと詳しく教えてくほしい

891 名前:886 :2007/08/07(火) 20:07:50
すまん、前提が違っていた。
俺がmld変換に使っているツールはpsmではなく
DoCoMoの公式CPに配信されるツールとプラグインなのよ。

ところで、俺はpsmについてはあまり詳しく知らないんだけど
これって505の世代までしか対応していないんじゃないかな?
そうだとすると、903とは世代が相当違うから
鳴る保障はほとんどないのでは?

892 名前:デフォルトの名無しさん :2007/08/07(火) 20:42:49
MFiToolsか…

893 名前:831 :2007/08/07(火) 22:39:16
>>882
AudioTrackPresenter.setSound(MediaImage sound)の括弧の中は、
単なる引数を書いてるだけなので、AudioTrackPresenter.setSoundに
MediaImageオブジェクトを渡すってことです。
("sound"は単なる引数名)

894 名前:デフォルトの名無しさん :2007/08/08(水) 23:08:34
Javaを勉強するぞおおぉ!

895 名前:デフォルトの名無しさん :2007/08/09(木) 22:34:11
やっぱりあんまりメモリ気にしなくて良いのは楽だなぁ。
自分で弄れた方が良い場面もあったが、最近は殆ど関係無いから
やっぱJavaって良いわ。

896 名前:デフォルトの名無しさん :2007/08/10(金) 13:39:35
>886

>今まで各端末メーカごとのサウンド作成する必要がったが
>903から統一されて一つのサウンドでよくなった。

これのソースが知りたい…
(ソースと言ってもプログラムじゃなくて情報源のほう)

897 名前:デフォルトの名無しさん :2007/08/11(土) 00:11:05
たぶんサウンドというのはMIDI音源のことじゃなくて
PCM音源のことを言っているんだと思う
PCM音源だと機種によっては実装していない


898 名前:デフォルトの名無しさん :2007/08/11(土) 01:03:29
MFiTools(?)の吐くmldが1種類になったってことだろ

899 名前:デフォルトの名無しさん :2007/08/11(土) 02:08:43
音源がなければMLDに変換してもWAVE再生は不可能ということじゃないの?


900 名前:886 :2007/08/11(土) 02:58:10
898の言っているのが正解。一種類で済むようになったって話。
ただしNは例外。
イロイロ調べてみたけど、一般の資料では、この辺の事書いてあるやつないんだな。
ってなわけで、この件について俺はもう語らん。

901 名前:デフォルトの名無しさん :2007/08/11(土) 03:08:37
>>896
903が発売されたころ公式CPにはサウンドの互換性一覧
みたいなのが公開されて滝がする。俺は部署違うので、中身
見てないし、知ってても言えないんだけどそれじゃないのかなあ。
# 知ってはいないが経験的にはN以外全部一緒で鳴る

そうでなくとも、SH/D/FについてはFUETREKのPCM音源を
積んだSH-Mobile G1だと報道発表されているので当然全く
同一の仕様で確定。NがMA-7なのは変わらず。Pだけは音源が
不明だけど、実際に鳴るってことは少なくともROHMからFUETREKの
音源に乗り換えたんじゃないのかな。と思ってる。

902 名前:デフォルトの名無しさん :2007/08/11(土) 11:23:13
ドコモとFueTrekは去年くらいに近業務提携したはずだから、それの影響?
wav2mldのサイトを見ると、903シリーズ以降は、[P F D SA]、[SH SO]、Nの3種類みたいだね。
1種類になったってことは、N以外は全部同じになるのか。
そのうちフォーマット公開されないかな

903 名前:デフォルトの名無しさん :2007/08/12(日) 04:28:38
サーバーサイドにあるPHPにアクセスして、
ネットワークごしに画像をダウンロードする方法で戸惑っています。

// PHP側
<?php
 $img = imagecraetefromgif("img.gif");
 header("Content-Type: image/gif");
 imagegif($img);
?>

// Java側
void downloadImage(String url) {

904 名前:903 :2007/08/12(日) 04:42:27
サーバーサイドにあるPHPにアクセスして、
ネットワークごしに画像をダウンロードする方法で戸惑っています。

// PHP側
<?php
 $img = imagecraetefromgif("test.gif");
 header("Content-Type: image/gif");
 imagegif($img);
?>

// Java側
void downloadImage(String url) {
 try {
  HttpConnection hc
   = (HttpConnection)Connector.open(path, Connector.READ, true);
  hc.setRequestMethod(HttpConnection.GET);

  hc.connect();
  InputStream in = hc.openInputStream();

  byte[] data = new byte[(int)hc.getLength()];
  in.read(data);
  
  ...
}

このような関数で、引数urlでphpのスクリプトにアクセスして画像をダウンロードしたいと思っているのですが、
これだとhc.getLength()が-1で、明らかに正常にアクセスできていません。
ちなみに、urlでgif画像の直リンクを張った場合は正常に動作します。
PHPの出力方法に問題がありそうな気がするので若干スレ違い気味ですが、原因がわかる方がいましたらお願いします。

905 名前:デフォルトの名無しさん :2007/08/12(日) 07:00:26
> 原因がわかる方がいましたらお願いします。
ヘッダーにコンテントレングスをセットしていないから。


906 名前:デフォルトの名無しさん :2007/08/12(日) 07:13:22
Content-Lengthの出力はサーバ側の設定によるもの。
アパッチのコンフィグで設定するなり何なり。

一方、iアプリ側はgetLength()が-1になることも考慮した組み方をしておく。
Content-Lengthを設定しておらず、自分でもいじれないサーバではアプリ側で対処するしかない。
if ((int)hc.getLength() == -1){〜} else{〜} てな記述。
具体的な記述内容はググればいくらでも例が見付かる。

907 名前:デフォルトの名無しさん :2007/08/12(日) 10:43:49
>>904
>これだとhc.getLength()が-1で、明らかに正常にアクセスできていません。

getLength() が -1 でも正常にアクセスできててデータの中身はちゃんと読める。

908 名前:904 :2007/08/12(日) 12:06:52
>>905
PHP側でContent-Typeを出力する前に
 header("Content-Length : " . filesize("test.gif"));
を追加してみたのですが、connect()の段階で止まってしまうのです。

>>906-907
-1でも正常にアクセスできているのは、初耳でした。
確かにレスポンスコードは200だったのですが・・・、ありがとうございます。
以下のコードで、正常に動作することを確認しました。

// Java側 hc.openInputStream()以下
 ...
 byte[] data;
 if ((int)hc.getLength() != -1) {
  data = new byte[(int)hc.getLength()];
  in.read(data);
 }
 else {
  ByteArrayOutputStream bs = new ByteArrayOutputStream();
  while (true) {
   int temp = in.read();
   if (temp == -1) {
    break;
   }
   bs.write(temp);
  }
  data = bs.toByteArray();
 }
 ...

909 名前:デフォルトの名無しさん :2007/08/12(日) 12:17:17
公式資料に書いてあるっての

910 名前:デフォルトの名無しさん :2007/08/12(日) 14:17:20
>908
そして第2のはまりポイント
in.read(data); は一度で全部読み込めるとは限らないから
-1が返るまでループ処理してバッファに追記していくこと

911 名前:デフォルトの名無しさん :2007/08/12(日) 14:17:53
ってゴメン
それはちゃんと書いてあるね

912 名前:デフォルトの名無しさん :2007/08/12(日) 14:25:07
いや、getLength() != -1 のほうの

  data = new byte[(int)hc.getLength()];
  in.read(data);

これは良くない
↓のようにするか

data = new byte[(int)hc.getLength()];
int i = 0, n;
while ((n = in.read(data, i, data.length - i)) >= 0) {
i += n;
}

面倒かったら↓で

data = new byte[(int)hc.getLength()];
new DataInputStream(in).readFully(data);

913 名前:デフォルトの名無しさん :2007/08/12(日) 14:52:40
>>908
>connect()の段階で止まってしまうのです。
こりゃ実際に出力しているデータサイズが違うんじゃないの?

たとえば
ContentLength: 100を設定しておいて、データは90バイトしか送ってないとしたら
携帯側は残り10バイトが届くまで受信待ちの状態になってるだろうさ

914 名前:デフォルトの名無しさん :2007/08/12(日) 17:59:27
だな。鯖側の処理おかしいもん。
こんなんでどうよ?

<?php
$fname = "test.gif";
$fdata = file_get_contents($name);
$fsize = strlen($fdata);

header("Content-Length: ". $fsize );
echo $fdata;
?>

915 名前:914 :2007/08/12(日) 18:04:08
あー、ちなみに何がおかしかったかというとimagecraetefromgif()でイメージリソース
として取得したデータを、PHPで出力時にGIFに再変換しているから元のデータと微妙に
変わっているということ(画像としては同じになるけどヘッダとか違う)。
で、出力サイズは元ファイルのを出しているから、正しいサイズになってない。
そもそもgd呼ぶような面倒なことはしないで、そのままバイナリ吐いてやればよかった。

916 名前:914 :2007/08/12(日) 18:05:49
ごめ。2行目の引数は「$fname」な。
 - $fdata = file_get_contents($name);
 + $fdata = file_get_contents($fname);


917 名前:904 :2007/08/12(日) 21:18:41
>>912
ネット上で調べた文献の多くがこの方法だったので・・・、迂闊でした。
一回のread()で読み切れない場合があるってことですかね?
今ひとつ理解できていませんが、直しておきます。

>>913-916
この方法を使ったら、普通にgetLength()で取得できるようになりました。
file_get_contents()でリソースを取得すれば良かったのですね。

ありがとうございます、おかげ様で理想通りに動作するようになりました。


918 名前:デフォルトの名無しさん :2007/08/12(日) 21:24:49
>>917
InputStream#read は 「1バイト以上読む」 っていう仕様なので。
1バイトでも読めたらそれで返ってくることが許されてる。

919 名前:デフォルトの名無しさん :2007/08/12(日) 23:44:44
女の子にもてもてになるiアプリの作り方を教えてください。

920 名前:デフォルトの名無しさん :2007/08/12(日) 23:51:52
エロゲーでも参考にして作ればいいと思うよ

921 名前:デフォルトの名無しさん :2007/08/13(月) 02:30:50
>>919
女の子にモテモテになってからiアプリを作ればおk

922 名前:デフォルトの名無しさん :2007/08/13(月) 04:41:14
俺の女性の知り合いはみんなau_| ̄|○ il||li

923 名前:デフォルトの名無しさん :2007/08/13(月) 05:46:13
じゃあ、オープンアプリを作ればいいじゃない

924 名前:デフォルトの名無しさん :2007/08/13(月) 06:01:14
オープンだとウイルス入ってそうで怖い

925 名前:デフォルトの名無しさん :2007/08/15(水) 01:03:27
スクリプトのパースメソッドだけで500行行きそうです

926 名前:デフォルトの名無しさん :2007/08/15(水) 18:09:32
質問させて下さい!
ショートタイマーを使ったリアルタイム処理のゲームを作っています。
複数の端末で実機テストを行った所、一切エラーは発生しなかったのでユーザに配布したのですが
同じ機種でもエラーが発生する場合と発生しない場合があり、しかも特定の箇所ではなく毎回違う
場所でエラーが発生するそうなんです。
携帯側に処理を渡してないからかなと思い、至る所にスリープ処理を入れたのですが、それでも
エラーが発生するそうなのです。

そこで一つ質問なのですが、現在のソースを見るとショートタイマーの発生時間は20に設定しています。
ループ内のスリープ時間の合計を見ると上記の20を超えておりました。
例えばショートタイマーイベントでの処理が終わっていないうちに次のショートタイマーのイベント発生時間に
なった場合、強制的に2つの処理が同時に行われてしまうのでしょうか?
それが原因でエラーが発生しているのかな?と思いましたので。
自分の端末でエラーが出るなら確認しやすいのですが、なにせ自分の端末ではエラーが発生しないので…。

長文で申し訳ありませんがよろしくお願い致します。

927 名前:デフォルトの名無しさん :2007/08/15(水) 18:41:13
ループ内のスリープ時間ってなによ
何かループしてんの?

928 名前:デフォルトの名無しさん :2007/08/15(水) 19:39:41
while(true)で回して中でsleepじゃなくて
timerでタイマーイベント取得して、更にその中でsleep?

929 名前:デフォルトの名無しさん :2007/08/15(水) 21:26:36
個人の携帯の使い方に問題があってエラーが出る事も多いから、
いちがいにプログラムが悪いとも言えない。


930 名前:デフォルトの名無しさん :2007/08/15(水) 22:34:28
タイマー分解能やタイマー精度、CPU負荷の問題で、きっちり20msecずつwaitすることはまずない。
タイマーイベントは同時に起こらないはず。心配ならsynchronizedすればいい。ただしイベントがたまりすぎると変になる機種もある。

931 名前:デフォルトの名無しさん :2007/08/15(水) 22:39:37
とりあえず何のExceptionが出てるんだ?
それはそうと、リアルタイムのゲームを作るならタイマイベントで
処理するよりも、while()ぶん回したほうがいいと思うけど。

932 名前:926 :2007/08/16(木) 03:55:22
説明が分かりにくかったようで申し訳ありません…

えっと、while(true)でぶん回す事も考えたのですが参考にしたサイトでは
ショートタイマーでイベントを取得するように書かれていたので、そのようにして
おります。20msecおきにタイマーイベントを取得して処理を行っているのです
が(その事自体をループと書いてしまいました)そのタイマーイベントの中で
Thread.sleep()を含んでいます。この合計が20msecを超えてしまっている
という事です。というか書きながら思ったのですが、タイマーイベントを使用して
いるのにThread.sleepを入れる必要性はないですね…。while(true)で無限
ループを作っている訳ではないのに…(汗)
ただ、どちらにしてもそのタイマーイベントの中で時々forループで約5秒程の描画
処理が入る場合があるんです。なのでタイマーイベントの処理が20msec以内に
終わらない事が多々ある事は変わりません。
とりあえず質問したかった事はタイマーイベント処理が終わっていない時に次の
タイマーイベント発生時間が来た場合、後ろをすぐ追いかけてくるような感じで
同時に処理が行われるのか?という事だったんですが930さんのご回答で
解決したように思います。


933 名前:926 :2007/08/16(木) 04:02:25
連投&回答&再質問させて下さい…
>>931
それがエミュレータでも自分の持っている実機でも一切エラーは発生しないんです。
なのでどこでどうエラーになっているのか皆目検討もつかないという感じです。。
ただ、友達の端末で試した所、エラーにはならないものの、画面のチラつきが激し
かったんです。描画時には必ずlock〜unlockをかけているにも関わらずです。
なので、もしかしたら処理が同時に行われてて描画→描画が変なタイミングに
なっているのかなぁなどと思った次第です。もちろんエミュレータや自分の持ってる
実機では一切画面のチラつきなどはありません。
とりあえずタイマーイベント処理の中から意味不明なThread.sleepを外して、イベント
発生時間を1000msecとか極端に伸ばしてみながら確認してみようと思います。
皆さん、色々ありがとうございました。

934 名前:デフォルトの名無しさん :2007/08/16(木) 13:37:23
だからエラーってなにさ。


935 名前:926 :2007/08/16(木) 16:01:17
>>934
だからわかんねぇつってんだろハゲ!
もっと文章読めや
ソース公開してもいいかと思ったが
ひとつ上のレスすら読めねえんじゃ無駄だわ

936 名前:デフォルトの名無しさん :2007/08/16(木) 16:24:57
今日も暑いねぇ。

937 名前:デフォルトの名無しさん :2007/08/16(木) 16:35:30
>>935
読み難い長文書いておいて、「もっと文章読め」ってのは、質問する
立場としてどうよ。
>>934は、お前さんの書き込みじゃ情報不足だってことを指摘してるだけでしょ。

大体お前さんは、ユーザーのところで起きている「エラー」というのがどういう
現象なのか、それを把握しているのかどうかを書いていないと思うが。

938 名前:デフォルトの名無しさん :2007/08/16(木) 16:39:27
別人じゃろうて。。。

939 名前:デフォルトの名無しさん :2007/08/16(木) 17:30:31
しかし説明するか泣きを入れるかどっちかにして欲しいのは確か

940 名前:926 :2007/08/16(木) 19:01:37
すみません、935は私ではありません…。
読みづらい文章を書いて偽者が発生する原因を作ってしまった事をお詫び致します。。

ちなみに、ユーザからの問い合わせでは突然「アプリエラー」と表示されて終了する場合が
あるという情報だけです。それも特定の箇所とかじゃなく完全に不特定だそうで…。
自分の実機やエミュでは一度もエラーが発生した事はありません。ちなみに数名から上記
のエラー報告を頂いたのですが機種もバラバラなんです。同じ機種でもエラーが発生する
人としない人がいるという、何とも対応しがたい現象なんです。しかも全ユーザから見る
とエラーが発生する人はほんの数名だけ…(報告してないだけかもしれませんが)

ただ今日ネットで調べまくって「もしかしたら」というものを見つけたので書いてみます。
@画面のチラつきが関連しているかもしれない
→全てPaintにぶち込んでrepaint()ではなくpaint(getGraphics());に変えてみます。
Atimer処理を一時停止した後のタイマーstart()が二重になっていないか?
→全てのタイマーstart()の前に念のためタイマーstop()を入れてみます

というか毎回情報不足&ダラダラと長文で分かりづらくて申し訳ありません。
偽者も出てきたので皆に迷惑をかけるといけないので暫く自力で頑張ってみます。

本当にありがとうございました!

941 名前:デフォルトの名無しさん :2007/08/16(木) 19:20:01
まあたぶん携帯のメモリー不足でエラーが出やすいんだと思うけど


942 名前:デフォルトの名無しさん :2007/08/16(木) 20:11:11
アプリで例外をcatchしない場合もαエラーなんじゃないっけ?

943 名前:デフォルトの名無しさん :2007/08/16(木) 21:16:50
すみません。質問させてください。

当方、iアプリでパチスロの収支管理ソフトを作ろうと思っています。
ですが、java自体初めてなものでScratchPadの保存ができても、一覧がうまくつくれません・・・
本を買ったのですが・・一覧だけはのってなくて・・
他の部分もこれでいいんだろうか・・という書き方になってしまっています。

一度、一覧を使った全体のサンプルソースを参考にさせて頂きたいです。
かなり、探したんですが見つかりません。

ご存知の方、教えて頂いたら幸いです。
家計簿でもなんでも、一覧を表示しているものであれば・・

未熟な質問で申し訳ない。宜しくお願いします。


944 名前:デフォルトの名無しさん :2007/08/16(木) 21:26:02
酔ってます(@ω@)


一覧って意味がわからんのですお。
プログラムとしてはデータを読んで、表示するだけですお。

ついでに言うなら、パチは辞めた方がいいんじゃねーか?
2ch的にも人間としても(・∀・)

945 名前:デフォルトの名無しさん :2007/08/16(木) 23:55:18
>943はiアプリのわからないところを質問するって段階以前の話だな
「初めてのプログラミング」とかそういう書籍を読むところから始めてくれ

946 名前:デフォルトの名無しさん :2007/08/17(金) 03:06:25
はじめまして、Javaを勉強しはじめて五日目になります。
wikiを見てもまだ理解が出来る次元ではないので少しお邪魔します。
理由は、ゲームを作りたいからという動機なのでお仕事でやってる方には申し訳ないと思いますが
初心者歓迎の文字を見て入らせていただきました。
(ソフトはiαppliTool DoJa-3.5を使っております)
現在iアプリを作成中で、音楽を鳴らしているのですが音量を再生する場合に
SoundPlayer.playTrackSound( 0, 0, 100 ); //トラック,リピート,音量(100max)
と、置いているのですが、音量を変える時にソフトキーから切り替えで
Int volを作りvolに数字を代入して
SoundPlayer.playTrackSound( 0, 0, 100 - vol);
としたところ、音楽が最初から再生されてしまいました。
これを現在流していたところまでの音楽から音量を途中で切り替わるようにしたいのですが
どうしたら良いでしょうか、説明不足でしたら申し訳ございません。
どうか宜しくお願いします。



947 名前:デフォルトの名無しさん :2007/08/17(金) 10:57:07
SoundPlayerって自分で作ったクラス?

948 名前:デフォルトの名無しさん :2007/08/17(金) 11:38:53
>>947
そうですね、サウンドの管理は別のクラスでしています

949 名前:デフォルトの名無しさん :2007/08/17(金) 11:49:12
>>943
収支管理かぁ昔つくったなぁ・・・練習作品としては悪くないけどな。
他の人も言ってるが「一覧」ってのが一体何を指すのか判らんからアドバイスはできないぞ。
画面に並べて表示する仕方がわからない!って意味なら表現方法なんて無限なんだから誰にもわからん。
ソース晒した方がよっぽどアドバイスもらえるかと。
ついでにいえばスロはもう終わりだから辞めとけw依存症になるまえに!

>>946
まず誰もSoundPlayer.playTrackSound()ってのが何なのか判らないとおもうが。
自作メソッドなら中身見ないことにはどうにもならんが・・・どこかから拾ったものか?
頭から再生されるのはそのメソッドが内部でplayメソッドを使っているからだと思うが。

音量の設定はAudioPresenterクラスの
setAttributeメソッドで音量を指定してセットする。

950 名前:デフォルトの名無しさん :2007/08/17(金) 12:26:16
>>949
ありがとうございます。
setAttributeだけをいじったら音量だけ変わりました。
別のファイルで作っていたので見落としていたみたいです。
私の為にお時間いただいてありがとうございました。

951 名前:デフォルトの名無しさん :2007/08/17(金) 19:17:35
>>944
よってらっしゃる・・
ありがとございます。
すみません。一覧っていうのは縦のグリッド表示の意味だったんですが、
iアプリじゃ無理のようですね。
わかりにくくてすみません。
パチスロは確かに2ch的には完全になかったかもです・・
でも、他に作れそうなものが、思いつかなくて・・;;

>>949
ありがとうございます。
ソースはとてもじゃないですが、晒せるほどのものじゃ・・
実際DOJAで動かしてみたら、

ラベル1 □□□□  ←テキストボックス
ラベル2 □□□□
ラベル3 □□□□


となるはずが

ラベル1 □□□□ラベル2 □□□□ラベル3
 □□□□

みたいな画面になって散々でした;;
HTMLLayout を使ってるんですが、何故か改行されませんね・・
DOJAじゃ反映されないのかな・・
この業界も長いので、ついサンプルに頼りがちで申し訳ない
勉強になるとおもってもう少しがんばってみます。
パチスロは実は5号機になってからほとんどいってません


952 名前:デフォルトの名無しさん :2007/08/18(土) 00:21:54
サウンドの話を蒸し返して申し訳ないですが…
結局waveから変換したmldを再生させるゲームを作るには
@各端末用のmldデータをネット上に置く
Aアプリ内で端末情報を取得して、それに応じたmldをダウンロードして再生する
っていう感じになるのかな?
そもそも端末情報(機種)って取得出来るの?

953 名前:デフォルトの名無しさん :2007/08/18(土) 00:29:43
できるよ。

954 名前:デフォルトの名無しさん :2007/08/18(土) 19:50:01
System.get…なんだっけ?
開発資料PDFの後ろの方にまとめてある

955 名前:デフォルトの名無しさん :2007/08/18(土) 21:43:16
System.getProperty("microedition.platform")

ただしdoja2.0以降だったと思った
まぁADPCMなMLDな時点でdoja3.0以降ぐらいになるとは思うけど

956 名前:デフォルトの名無しさん :2007/08/18(土) 23:33:32
アプリゲットのダウンロード数ってどうやって調べてるんですか?

957 名前:デフォルトの名無しさん :2007/08/18(土) 23:43:20
>>952
あらかじめjam/jarごと機種別データを用意しておいて
ダウンロード時にUserAgent見て判別したほうがいいよ
場合によっては、アプリ本体も機種別処理を書かないと
いけない場合があるから。NとかFとかDとかな…orz


958 名前:デフォルトの名無しさん :2007/08/19(日) 02:40:14
リソースを変えるだけなら、アプリ側だけで済ます方が簡単だろ

959 名前:デフォルトの名無しさん :2007/08/19(日) 22:03:12
ちょっと皆に質問!
ボタンの連打対策ってどうしてます?

例えば無限ループで回してるシューティングゲーム等の場合なんだけど
一時的なアニメーション処理をforループで表示させてるんですよ。
その場合、forループでの処理中にボタンが押された場合、ループを抜けた直後に
ボタンのイベントが開始されてしまいますよね?
ループ前とループ後にフラグを立てて、ボタンイベントの入り口でフラグ判別を
してみたんだけど、ループ中のフラグじゃなくループ後に拾うはずのフラグの方に
分岐してしまう。。
これはforループ中は「ボタンが押された」っていう情報を待機させておいて、実際に
ボタンのイベントに飛ぶのはループを抜けた直後からって事だからだと思うんだけど。

要するにforループでの処理中はボタン押下の処理を行わせたくないって事なんだけど
皆はどういう感じで組んでるのか教えて下さい。。

960 名前:デフォルトの名無しさん :2007/08/20(月) 00:51:29
getKeypadState

961 名前:デフォルトの名無しさん :2007/08/20(月) 02:02:52
ループの中にスリープを入れてますかぁ?




962 名前:デフォルトの名無しさん :2007/08/20(月) 06:27:36
>>960
早速getKeypadStateについて調べてみます!
ありがとうございます。

>>961
それが入れてるけど駄目なのですよ(T-T)
ループ中にガンガン連打してみると、ループ明けに3回分くらいのボタン押下処理が行われた形になってしまう…

963 名前:デフォルトの名無しさん :2007/08/20(月) 12:19:21
イベント処理の中でループしてんじゃないでしょうね?

964 名前:デフォルトの名無しさん :2007/08/20(月) 17:40:19
質問させてください。

「Illegal protocol」と出てしまいサーバに接続できません。
どのように対処したらよいのか全くわかりません。
どこかにプロトコルを設定する箇所があるのでしょうか。
ご存知のかたおりましたら、アドバイスをお願いします。

以下、設定内容
・UseNetWorkのhttpチェック済
・PackageURLにサーバからのパスを設定済
・トラステッド動作設定で通信許可URLに「*」設定済
・通信部分ソース
HttpConnection conn = null;
conn = (HttpConnection)Connector.open(サーバURL, Connector.READ, true);
conn.setRequestMethod(HttpConnection.GET);
conn.connect();


965 名前:デフォルトの名無しさん :2007/08/20(月) 18:26:03
URLが「http://」とか「https://」で始まっていないとか

966 名前:964 :2007/08/20(月) 18:35:02
早速のご回答ありがとうございます。

>始まっていないとか
packageURLを""で括っていたので、もしやと思い外したらうまくいきました。
非常に助かりました。ありがとうございました。

967 名前:デフォルトの名無しさん :2007/08/20(月) 21:17:00
>>963
えっと、こんな感じです。

void paint{
  メイン描画処理
}
processEvent{
  ショートタイマー{
    repaint();
  }
  決定キー{
  分岐にて各種処理
  ※ここで場合によってfadeout()へ飛ばしています
  }
}
void fadeout(){
  forループで描画処理
}

かなり簡略化して書いてみました。
自分は元々Cから入ったのでついつい関数と呼んでしまうんですが
fedeout()関数の入り口と出口にフラグを立てて決定キーイベント中で判別しても
ループ中に溜まってたボタン連打分がループ抜けしてから一気に押し寄せる感じです。
もちろんループ中にスリープは入れているのですが…


968 名前:デフォルトの名無しさん :2007/08/20(月) 21:51:34
スリープ入れるとか関係ないし
あるイベントを処理してるあいだ次のイベントが飛んでこないのはあたりまえ
イベント処理の中でループしないというのが正しい方法

969 名前:デフォルトの名無しさん :2007/08/21(火) 05:58:47
SDカードへの保存について質問です。

MediaManager.getImage("http://www.〜〜"); で取得したMediaImageをSDカードに保存したいのですが、
StorageDevice sd = StorageDevice.getInstance("/ext0");
Folder folder = sd.getFolder((AccessToken)DoJaStorageService.getAccessToken(0, DoJaStorageService.SHARE_APPLICATION));
File file = folder.createFile("test.jpg");
FileEntity fe = file.open(File.MODE_WRITE_ONLY);
OutputStream os = fe.openOutputStream();
とし、OutputStreamを取得できるのは分かったのですが、ここへMediaImageを書き込む方法が分かりません。

writeメソッドでは、byte配列を書き込むようなのですがMediaImageをbyte配列へ変換する方法があるのでしょうか?

970 名前:デフォルトの名無しさん :2007/08/21(火) 11:20:23
>>968
まぁまぁ、知らないものはしょーがない。

>>967
processEventは大半が単一スレッドで実装されているものなので、
スリープすると他のイベント処理も一緒に停止する。
Win32の実装も同じだったと思うけど、そういうもの。
なので、根本的に作り変えないとダメ。

メインループ作るなら、IApplication#start() が別スレッドなので、
ここで無限ループ作る方法が楽だよ。
タイマーなんて不安定なもの使うより確実。

>>969
httpでダウンロードできるファイルなら、
素直にhttpConnectionでダウンロードすりゃいいんでない?
MediaImageから変換する方法が無いでも無いけど。


971 名前:970 :2007/08/21(火) 15:24:54
970踏んだのでテンプレ更新してるんだが・・・
>>1のまとめサイトが全く更新されてないので消しても良いだろうか。
wikiさえも役に立ってねぇ


972 名前:デフォルトの名無しさん :2007/08/21(火) 15:38:27
とりあえず残しておいた(´・ω・`)
次スレ

iモード携帯電話用Java(iアプリ) Part15
ttp://pc11.2ch.net/test/read.cgi/tech/1187677946/


973 名前:デフォルトの名無しさん :2007/08/21(火) 23:32:06
>>969
970さんが言っているように、HttpConnectionでjpgファイルをダウンロードするのが吉。
もし、どうしてもMediaImageからbyte配列にしたいんだったら、
MediaImageからgetImageでImage取り出して、それをImageEncoderにぶちこむ。
結果として得られるEncodedImageからはInputStreamが取れる。

974 名前:967 :2007/08/22(水) 00:48:14
>>968 >>970
ありがとうございました!
根本的な作り方がよろしくないようですね。。
とは言え、なんとか自己解決しました!
解決方法はこの間のソースを例にとると…

void paint{
  メイン描画処理
}
processEvent{
  getKeypadState();で決定キー押下の場合{
    keywaitフラグが0ならばkeywaitフラグに"1"を立て、メイン処理を実行    ←追加
      分岐にて各種処理
      ※ここでfadeout()へ飛んだりする    ←移動してきた
    }
  }
  ショートタイマー{
    repaint();
    keywaitフラグが"2"の場合に"0"に戻す  ←追加
  }
  決定キーRELEASE
  keywaitフラグに"2"を立てる    ←追加
}
void fadeout(){
  forループで描画処理
}

このような感じで問題ありませんでした。多分、相当な回り道だと思いますが(笑)
これなら、ループ中にいくら連打しても"一度タイマーイベントを通らないと"次の決定キー
が有効にならないためうまくいきました。

975 名前:デフォルトの名無しさん :2007/08/22(水) 02:57:29
>>970 >>973
ご教授ありがとうございます。
MediaImageで取るほうが楽に見えて、HttpConnection使おうとすらしていませんでしたorz
何でもやってみないとダメですね。
お手数おかけしました。

HttpConnectionで取得しようとした際に、
setRequestMethodでHttpConnection.GETを指定し、
setRequestPropertyでContent-Typeにimage/jpegを指定してconnectすると、
Illegal headerと言われてしまいうまく取得出来なかったのですが、
setRequestPropertyを消すとちゃんと取得できました。

>>973
MediaImageで取得した際の方法も教えて頂いてありがとうございます。

976 名前:デフォルトの名無しさん :2007/08/24(金) 10:44:27
umeるか

977 名前:デフォルトの名無しさん :2007/08/24(金) 11:25:33
うめ

978 名前:デフォルトの名無しさん :2007/08/24(金) 11:35:38
うめ

979 名前:デフォルトの名無しさん :2007/08/24(金) 11:40:02
public class ume extends Canvas{

980 名前:デフォルトの名無しさん :2007/08/24(金) 11:57:04
ただうめるのもつまらんな。
なんか情報残して埋めるか。

Doja5.0のエミュレータを起動する際に -u オプションを使用して
ADFへのURLを設定する際、そのURLが有効でないと起動時に落ちる


981 名前:デフォルトの名無しさん :2007/08/24(金) 11:58:16
Doja5.0のVer3.0.0のエミュレータはコマンドプロンプトから
起動した場合、DOS画面にSystem.out.printlnの出力を吐き出さないため
デバッグ情報が見れない。
なおVer2.0.0以前なら見れる。


982 名前:デフォルトの名無しさん :2007/08/24(金) 12:40:48
んじゃ俺も。

processEventのトラブル多いので、Canvas継承クラス貼り付け。
見た目の都合、全角スペースを沢山含んでいるので要削除。
多少問題もあるけどそこそこ動くと思う。
有識者の方適当に修正よろ。


983 名前:デフォルトの名無しさん :2007/08/24(金) 12:44:04
class appMain extends Canvas {
  private int  keyDown; // キーが押された瞬間にビットが立つ
  private int  keyArea; // キーが押されっぱなしならビットが立つ
  private int  keyUp;  // キーが上がった瞬間にビットが立つ

  public appMain() {  // コンストラクタ。お好きにどーぞ
  }

  // TODO IApplication#start()で以下を呼ぶ
  public void appStart() {
    try {
      while(true) {
        keyUp = keyArea;
        keyArea = keyDown | getKeypadState();
        keyUp = keyUp & (~keyArea);

        mainLoop();

        keyDown = 0;
        paint(getGraphics());

        Thread.slepp(100);  // 好きな時間で調節
      }
    }catch(Exception e){
      // TODO 強制終了前に何か一言
    }
  }


984 名前:デフォルトの名無しさん :2007/08/24(金) 12:46:15
  public void paint(Graphics g){
    // TODO 描画処理
  }

  public synchronized void processEvent(int type, int param) {
    if (type == Display.KEY_PRESSED_EVENT ){
      keyDown |= 1 << param;
    }
  }

  public void mainLoop() {
    // TODO キーイベント処理など。以下例
    if(keyUp & (1<<Display.KEY_UP) != 0 ) {
      // 上キーが上がった
    }
  }
}

今使ってるものからかなりいじってたんで、
コンパイル通らなかったらゴメンナサイ。


985 名前:デフォルトの名無しさん :2007/08/24(金) 13:19:27
ファイル名を指定してリソースを読み込むメソッド

byte[] loadResFile(String file) {
  byte[] b = null;
  
  DataInputStream dis = null;
  ByteArrayOutputStream out = null;
  try {
    dis = Connector.openDataInputStream("resource:///" + file);
    byte[] buf = new byte[10 * 1024];
    out = new ByteArrayOutputStream(buf.length);
    int ret;
    while ((ret = dis.read(buf)) != -1) {
      out.write(buf, 0, ret);
    }
    b = out.toByteArray();
  } catch (Exception e) {
  } finally {
    try {
      out.close();
    } catch (Exception e) {
    }
    try {
      dis.close();
    } catch (Exception e) {
    }
  }

  return b;
}

986 名前:デフォルトの名無しさん :2007/08/24(金) 13:38:54
スクラッチパッドの番号を指定してそのデータを全て読み込むメソッド

byte[] loadScratchpad(int num) {
  byte[] b = null;
  int size = 0;
  try {
    DataInputStream dis = Connector.openDataInputStream("scratchpad:///" + num);
    int ret;
    while ((ret = (int)dis.skip(100 * 1024)) > 0) {
      size += ret;
    }
    dis.close();

    b = new byte[size];
    dis = Connector.openDataInputStream("scratchpad:///" + num);
    dis.read(b, 0, size);
    dis.close();
  } catch (Exception e) {
    try {
      dis.close();
    } catch (Exception e2) {
    }
    return null;
  }

  return b;
}


987 名前:デフォルトの名無しさん :2007/08/24(金) 14:27:35
/**
Jarファイルからの画像のロード
@param fname ファイル名
@return Image 失敗の場合はnull
*/
private Image LoadImage( String fname )
{
Image img = null;

//バイナリデータのロード
try{
//Jarサイズの取得
DataInputStream din = Connector.openDataInputStream( "scratchpad:///0;pos=" + OFFSET_JAR_SIZE );
int size = din.readInt();
din.close();
//JarInflaterの取得
din = Connector.openDataInputStream( "scratchpad:///0;pos=" + OFFSET_JAR_DATA + ",length=" + size );
JarInflater ji = new JarInflater( din );

//画像の読み込み
MediaImage mi = MediaManager.getImage( ji.getInputStream( fname ) );
mi.use();
img = mi.getImage();

ji.close();
din.close();
}
catch( IOException e ){ DBGPRINTF( "Load " + e ); }
catch( Exception e ){ DBGPRINTF( "Load " + e ); }
return img;
}


988 名前:デフォルトの名無しさん :2007/08/24(金) 14:52:44
>>985
動かしてないけど・・・10KBまでしか読めない?


989 名前:デフォルトの名無しさん :2007/08/24(金) 14:54:01
ごめん、気のせいだった。
10KB単位で読み込むのね、りょーかい。


990 名前:デフォルトの名無しさん :2007/08/24(金) 15:35:14
FPSを保つコード需要ある?

991 名前:デフォルトの名無しさん :2007/08/24(金) 15:41:04
張っておけば喜ぶ人もいるんじゃない?


992 名前:デフォルトの名無しさん :2007/08/24(金) 15:44:47
ある
つか急激に良スレ化

993 名前:デフォルトの名無しさん :2007/08/24(金) 16:00:01
えらそうなこといってあれなんだが、実機ではいまいち正確に保ってくれないんだ
まぁ一応置いておく、誰か改変きぼう

public class FPS {

private static final int FLAMERATE = 30; //フレームレート。
private static final int FLAMETIME = 1000 / FLAMERATE; //1周期あたりの_秒

private boolean isFix; // FPSを固定するか
private long oldTime; // 一つ前の時間(Control)
private long beforeTime; // 一つ前の時間(Draw)
private long fpsCount; // 計測用FPS
private long fps; // 表示用FPS(1秒に一度更新)

FPS()
{
isFix = true;
beforeTime = 0;
oldTime = 0;
}



994 名前:デフォルトの名無しさん :2007/08/24(金) 16:00:34
あ、コンパイル通らねぇw

>>984
× if(keyUp & (1<<Display.KEY_UP) != 0 ) {
○ if((keyUp & (1<<Display.KEY_UP)) != 0 ) {

他にもありそうだなぁ(=´∇`=)

で、残り7レス。


995 名前:デフォルトの名無しさん :2007/08/24(金) 16:01:09
続き

/**
* スレッドのループ内に置くとFLAMERATEを調整してくれる
*
*/
public void control()
{
if(!isFix) return;

long nowTime = System.currentTimeMillis(); //経過時間。

long difTime = nowTime - oldTime;

if( difTime >= FLAMETIME ) //時間が余っている場合。
{
oldTime = nowTime;
return;
}

difTime = FLAMETIME - difTime;

//余り時間分待つ。
try
{
Thread.sleep( difTime );
}
catch( Exception e ){};

oldTime = oldTime + FLAMETIME;
}

996 名前:デフォルトの名無しさん :2007/08/24(金) 16:01:43
ラスト
/**
* FPSを計測して描画する
*
*/
public void draw(Graphics g)
{
long time = System.currentTimeMillis();

// FPS の計測
if(time - beforeTime >= 1000)
{
// 1秒経ったところで表示用のFPSに代入
fps = fpsCount;

// 初期化
beforeTime = time;
fpsCount = 0;
}
fpsCount++;

g.drawString("FPS:" + fps, 5, 15);
}
}


997 名前:デフォルトの名無しさん :2007/08/24(金) 16:04:54
余り時間計測する前に
Thread.yield();
を呼んで、他のスレッドの処理を入れてやるのが吉

998 名前:デフォルトの名無しさん :2007/08/24(金) 16:09:24
さぁうめるざますよ!

999 名前:345 :2007/08/24(金) 16:17:39
>>993
こんな感じでメインループを空回ししてフレーム固定させてる。
ダイアログ出したりサスペンドの処理は長くなるので割愛。
  public void appStart(){
    long bt = System.currentTimeMillis();  // 処理基準時間
    long nt = 0;   // 次に処理する時間
    long t, ct = 1;
    while( true ){
      t = System.currentTimeMillis() - bt;
      if( nt > t){
        try{
          Thread.sleep( 1 );
        } catch( Exception e){}
        continue;
      }
      // スキップしたフレーム数分メインループを回す
      for(int i = (int)(( t - nt ) * FLAMERATE / 1000); i >= 0; i--)
      {
        keyUp = keyArea;
        keyArea = keyDown | this.getKeypadState();
        keyUp = keyUp & (~keyArea);
        mainLoop();
        ct++;
        keyDown = 0;
      }
      nt = ct * 1000L / FLAMERATE;
      paint( getGraphics() );
    }
  }


1000 名前:デフォルトの名無しさん :2007/08/24(金) 16:18:51
345って・・・orz
983でした。ってことで1000


1001 名前:1001 :Over 1000 Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。


プログラムに戻る 全部 最新50
DAT2HTML 0.32lpp Converted.