iモード携帯電話用Java(iアプリ) Part19at TECH
iモード携帯電話用Java(iアプリ) Part19 - 暇つぶし2ch196:デフォルトの名無しさん
09/03/03 12:30:40
真面目な話、高精度のatan2実装コードの書き方を教えてほしい。
なんかよくわからないけど、六角形からどんどん角をとっていって円を求めるような超絶面倒臭そうな感じなんだが。

197:デフォルトの名無しさん
09/03/03 15:08:30
DoJa-5.1で作成しています。

背景Panel上にTextBoxを貼り付け、そこへ注意書きのようなものを表示しようと思っています。
そこで質問があります。縦スクロールバーをつけたいと思うのですがその方法が分かりません。
教えて頂ければと思います。
infoTextBox.setEditable(false); としています。

また、別の質問ですがもしTextBoxのフォーカスを不要にしたいと思った場合どうすればいいのでしょうか。
infoTextBox.setEnable(false); では、TextBox自体が薄く表示されてしまいます。


198:デフォルトの名無しさん
09/03/03 16:00:07
>>196
真面目な話「atan 自前実装」でぐぐったらトップにソースつきで解説があったわけだが

199:デフォルトの名無しさん
09/03/03 19:42:46
>>197
パネル関係で融通が利かないと思ったら、おとなしくCanvasを使っていくことをオヌヌメするぜ。
スクロールバーは端末依存だし、フォーカスはそれがおそらく規定の動作だ。
まあ、ちょっと待ってな。俺がCanvas用のコードを書いてやらーな。

200:デフォルトの名無しさん
09/03/03 23:12:45
21世紀にもなって、Panelを使ってる人がいることにびっくりだぜ

201:デフォルトの名無しさん
09/03/03 23:40:22
すみません、2009年からiアプリを始めたんですがPanelってダメなんですか?
テキストボックスとかリストボックスとかを使うならPanelなんだと思ってました。

202:デフォルトの名無しさん
09/03/04 01:01:19
適材適所、Panelでいいならいい。

203:デフォルトの名無しさん
09/03/04 09:08:29
Panel 上にも三年

204:デフォルトの名無しさん
09/03/04 11:59:51
パネルの貧弱な表現力で問題がないのならパネルでいいが・・・

205:デフォルトの名無しさん
09/03/04 20:33:00
通信制限がいまだに下り150kbってのは本当?starでも?

206:デフォルトの名無しさん
09/03/04 20:39:17
iアプリからYoutubeなどの2Mバイト外部ストリーミング(rtsp://~)を再生できないでしょうか。
ネイティブアプリにURLを引き渡して起動なんかでもいいのですが、うまい方法が見つかりません。
いいやり方がありましたらお願いします。

207:デフォルトの名無しさん
09/03/04 23:09:18
自鯖変換

208:デフォルトの名無しさん
09/03/05 10:55:27
>>207
レス遅れてすみません。容量的に制限があるとマニュアルにあったので。
ダメっぽいのであきらめてみました。。。

209:201
09/03/11 02:50:19
証券会社のiアプリでSBIのものや楽天のiアプリを見ると、
Panelでやってるように見えてCanvasを使っているのではないかと思いました。
これは各社がPanel用のGUIコンポーネントを作成しているのでしょうか。
フリーで利用できるライブラリーみたいなものはありませんか?
2万円くらいまでなら有料でもいいかなと思っていますがないでしょうか。

210:デフォルトの名無しさん
09/03/11 09:18:30
Panelなんてつかっとらんわw
あくまでビジネスチックな雰囲気を出すため見た目をそれっぽくしているだけで、中身はCanvasだ。
それにPanel用のGUIコンポーネントなど作れん

211:201
09/03/11 09:36:54
>>210
レスありがとうございます

Panel用のGUIコンポーネント

Canvas用のGUIコンポーネント

の間違いです。すみません。

やっぱりPanelじゃなくCanvasなんですね。
自分の携帯で表示されるPanelコンポーネントの見た目が
あまりにもシンプルすぎるのでびっくりしました。

ライブラリーも見つからなかったので、
やるなら自分で作るしかなさそうですね。

212:デフォルトの名無しさん
09/03/11 16:44:21
Panelに毛が生えた程度のライブラリを作って売れば結構儲かるかもわからんね

213:デフォルトの名無しさん
09/03/11 22:25:07
>>211
ライセンスがCPLのカスタムパネルってのがあるよ
URLリンク(www.itmarks.co.jp)

そのままでもそれなりに使えるけど、部品配置が文字単位固定、
オプションキーでのフォーカス移動非対応、使い方によって画面に
ゴミが残るなどの問題もあり
まあソース付なので自分は拡張・改修して使ってますわ

214:201
09/03/12 00:14:35
>>213
ありがとうございます!!!早速見てみます!!!

215:デフォルトの名無しさん
09/03/12 02:10:55
>>212
売るならSwing位の種類と機能がないと買ってくれないんじゃね?

216:デフォルトの名無しさん
09/03/12 15:27:00
SH-04Aの qwerty
Canvas#processEvent()で捕まえられないんだけど
他に情報を取得する方法ある?


217:デフォルトの名無しさん
09/03/12 18:09:34
もう一台携帯を用意して、それのカメラで qwerty を打っている様を
撮りながら、画像処理で指の動きを検出する。

218:デフォルトの名無しさん
09/03/12 18:46:29
知らないならレスしないでください

219:デフォルトの名無しさん
09/03/12 18:54:57
知らないなら調べてください

220:デフォルトの名無しさん
09/03/12 22:22:47
iアプリ(doja5.1)の開発をしています。
サーバーと通信をしてデータを取得するものを作っています。
そのサーバーのURLは、接続するとセッションIDを拾ってリダイレクトされます↓


URLリンク(localserver​)<) にリダイレクトされる。

エミュレータで検証しているのですが、ADF設定でADFのURLを ​URLリンク(localserver​) に設定して、

url = getSourceURL();
http = (HttpConnection)Connector.open(url,Connector.READ, true);
http.setRequestMethod(HttpConnection.GET);
http.connect();

とすると、http.connect();でエラーになって接続できません。
(PCブラウザ上ではきちんとリダイレクトされます。)
なんとか、リダイレクトされるURLに接続する方法はないのでしょうか?

221:デフォルトの名無しさん
09/03/12 23:33:05
そのサーバがリダイレクト先のURLをアプリに返すようにすりゃいいやん

222:デフォルトの名無しさん
09/03/13 09:48:16
>>220
上のURLの中で下のURLへHTTPリクエストを投げて、その結果をアプリに返すとかでどうだろう。

223:デフォルトの名無しさん
09/03/13 12:57:43
>>162
マジレスだけど、無理に決まってるだろ。VK定数無いってことはそもそもキーボード入力は想定してないし、VMにキーをマップすらしてないよ、たぶん。
今後starが拡張されれば目はあるかもしれんが、どちらにせよ今のSSH-04aじゃむりだろ。あきらめれ

224:デフォルトの名無しさん
09/03/13 13:30:07
>>216
Canvas#getKeypadState(int group)は試した?

225:デフォルトの名無しさん
09/03/13 16:59:42
>>224
試した
ダメだった

>>223
MIN_OPTION_KEY, MAX_OPTION_KEY あるから期待してたんだけどね
> VMにキーをマップすらしてない
この可能性は高いね

qwerty目的でSH-04A買ったのに残念


226:デフォルトの名無しさん
09/03/13 17:13:40
端末仕様書見たけどそれっぽい記述は無いな。

227:デフォルトの名無しさん
09/03/13 22:47:55
>>221 >>222
レスどうもです。
リダイレクトするサーバーへの接続は、
1.アプリからサーバーへ接続
2.サーバーからリダイレクト先のurlが返される
3.アプリ側でurlを取得し、そのurlへ再接続する
だと思っているのですが、どうなのでしょうか?
そして、今困っているのが1の接続ができないとゆうことです。
何か考え方が間違えているのでしょうか?

228:デフォルトの名無しさん
09/03/18 21:13:30
Doja5.1で作成したiアプリに、FOMAカード動作制限機能が勝手に付加されてし
まうのですが、この制限機能が付く条件が分かりません・・・
外部ストレージを使用するようADFを設定しているのでこの辺が怪しいとは思う
のですがSDカードも使いたいしFOMAカード動作制限は付いて欲しくないという
状況です

229:デフォルトの名無しさん
09/03/18 21:37:37
>>228
プリインストールアプリ以外ダメじゃない?

230:デフォルトの名無しさん
09/03/21 17:01:22
VistaにStarの開発環境をインストールしたんですが、ミニアプリが試せません。
ウィジェットビューから選択すると「mini.exeは動作を停止しました」と出て起動できません。
JDK6でダメだったからJDK1.4.2も入れてみたんですがそれでもダメ。
ちなみにフルアプリは普通に動きます。
どなたか何かわかる方いませんか?

231:デフォルトの名無しさん
09/03/21 19:47:42
>>230
分からん・・・が、ウチの環境(Vista+JDK6)では普通に動いてる。

232:デフォルトの名無しさん
09/03/22 00:30:15
javaで作ったGameをiアプリに移行させるのは簡単ですか?

233:デフォルトの名無しさん
09/03/22 00:57:21
Gameのつくり次第です

234:デフォルトの名無しさん
09/03/22 09:38:47
>>232が天才ならどんなGameも簡単です。


235:デフォルトの名無しさん
09/03/22 16:44:24
>>234
意味わからん カス

236:デフォルトの名無しさん
09/03/22 22:58:46
>>231
動きますか…
ありがとうございます、また調べてみます。

どうでもいいけどDocomoはいい加減正式に最新の環境に対応させて欲しいぞ。

237:デフォルトの名無しさん
09/03/23 12:32:53
最新の機種のAPI実装もいい加減公開しろと

238:デフォルトの名無しさん
09/03/23 17:42:46
Googleカレンダーと同期がとれるカレンダーアプリないですかね


239:デフォルトの名無しさん
09/03/24 01:16:05
resフォルダから画像等の取得はできるんだが
テキストファイルの読み書きがいっこうにうまくいかない・・・
res/sample.txt を用意して以下を実行する。

InputStream is = null;
try{
  is = Connector.openInputStream("resource:///sample.txt");
}catch(IOException e){
  e.printStackTrace();
}

すると「No such resource」と言われる。無いはず無いんだが・・・
大変初歩的な質問で恐縮なんだがどなたかご教示願いたいです><

240:239
09/03/24 01:16:53
あ、読み書きじゃなくて読み込みでした

241:デフォルトの名無しさん
09/03/24 01:37:24
resource:///sample.txt を resource:////sample.txt

242:デフォルトの名無しさん
09/03/24 01:48:53
>>241
ありがとう大変助かります。
しかし不正な指示だと怒られた

Main :java.lang.SecurityException: Illegal url FileIO
java.lang.SecurityException: Illegal url
at javax.microedition.io.Connector.open(+9)
at javax.microedition.io.Connector.open(+6)
at javax.microedition.io.Connector.openDataInputStream(+5)
at javax.microedition.io.Connector.openInputStream(+4)
at IOCanvas.<init>(+32)
at FileIO.start(+8)
javax.microedition.io.Connector: Illegal url

243:239
09/03/24 02:31:25
念のためにと思ってTeraPadでテキストファイルを作ったら読み込めた /(^0^)\ナンテコッタイ
エンコーディングの問題だったというのか。いやいやでも No such resource とか言ってくれるなよ・・・
練習のつもりでもメモ帳なんか使った俺が浅はかでした。精進します

244:デフォルトの名無しさん
09/03/24 02:35:49
メモ帳だと・・・

245:デフォルトの名無しさん
09/03/24 10:21:13
F906iでテストしています。
ディスプレイの縦横(スイング?)を検出して画面のサイズなどを
変えたいと思っていますが
Canvas2を入れるとエラーが起きるようです。
1.Canvas2はF906iでは、使えないのでしょうか?
また、
2.F906iなどでディスプレイの縦横を検出して画面のサイズなどを変えたい場合
どの様にすればよいでしょうか?
どこかにサンプルプログラムなどはありませんか?


246:デフォルトの名無しさん
09/03/24 10:35:14
Canvas2の実装状況ワラタ

247:デフォルトの名無しさん
09/03/24 11:14:04
245です
ディスプレイの縦横を検出までは出来ました。
テキストを表示したいのですが、
というかテキストアプリ(グラフィックの反対の意味)を作成したいのですが
drawStringではテキストの文字方向が制御出来ないようです。
どの様にすればよいのでしょうか?


248:デフォルトの名無しさん
09/03/27 01:03:09
よろしくお願いします。

現在iアプリでHTTP通信中、Canvasに
「通信中」という文字を点滅表示させたいと思っています。
しかし、HTTP通信はブロッキングされている為、
通信が終わってからしか描画(paint)されず困っています。

やはりネットワーク通信処理を
スレッドで行うしか方法が無いのでしょうか?


249:デフォルトの名無しさん
09/03/27 06:19:15
描画をスレッドでやる方法もあるぞ

250:デフォルトの名無しさん
09/03/27 13:13:37
基本的なことかと思いますが、

1. iαppliToolに外部jarをクラスパスに追加してコンパイルすることは
できないのですか?

2. Google Data API 使用のためJDK1.5は外せないのですが、JDK1.5だと
iαppliToolではコンパイルすることはできませんか?

よろしくお願いします。

251:デフォルトの名無しさん
09/03/27 17:58:32
>>248
processEvent()は早く処理を終わらせなければならない
通信などの処理をするのは避けるべき
>>250
1.は詳しい人頼む
2.は可能、試してないの?

252:デフォルトの名無しさん
09/03/28 03:55:17
外部ジャーは使えるけど、
iαppliToolを使って自分で作成しなおさなきゃダメじゃないだろうか

おれも拾ってきたJ2ME向けのjarを使おうと思って登録したけど、
情報が足りません的なメッセージが出て使えなかったから、
ソースをコピってjarを作り直したよ

253:デフォルトの名無しさん
09/03/29 19:52:56
>>248参考ソース
//通信中なら点滅しながら文字列を表示するクラス
public class busing implements Runnable{
public busing(Graphics g,String message,int xpos,int ypos){
this.x=xpos;
this.y=ypos;
this.g=g;
this.mess=message; }
private void repaint(){
if(blink)g.setColor(Graphics.getColorOfName(Graphics.WHITE));
else g.setColor(Graphics.getColorOfName(Graphics.BLACK));
g.drawString(mess, x,y);
blink=!blink;}
private Thread th=new Thread(this);
private int x,y;
private String mess;
private Graphics g;
private boolean blink=false;
private boolean alive=true;
public void exit(){
alive=false;}
public void kick(){
th.start();}
public void run() {
try{
while(alive){
repaint();
Thread.sleep(1000);}}
catch (Exception e){
}}}これを適宜作ってkick()して、終わったらexit()すりゃいい感じ。

254:デフォルトの名無しさん
09/03/29 20:00:09
コメント無いからあれだけど、例えばCanvas内で
public void processEvent(int type, int param)
{
if(type==Display.KEY_PRESSED_EVENT)
{
b=new busing(getGraphics(),"押した",100,100);
b.kick();
}
else if(type==Display.KEY_RELEASED_EVENT)
{
b.exit();
}
}
こんな感じで使う。上記の例だと
・キーを押したら文字列点滅開始
・キーを離したら文字列点滅終了
個人的には、文字じゃなくてGIFアニメっぽいもの流したほうがいいように思う。

255:デフォルトの名無しさん
09/03/30 11:59:35
HttpConnectionて、PackageURLと同一ホストじゃないとダメなんですよね。
天気予報とか取得してる勝手アプリって、どうやってるんでしょうか。

256:デフォルトの名無しさん
09/03/30 12:02:01
いったん自分のサーバーに取り込んでるはず

257:デフォルトの名無しさん
09/03/30 12:26:45
PHPならgetFileContentsでいっぱつ。
まあ、プロキシみたいな動作になるからサーバに弾かれるかもだけれど。

258:255
09/03/30 18:24:04
>>256, >>257

#! /usr/bin/perl
print 'Location: ' . $ENV{'QUERY_STRING'} . "\n\n";

なるサーバプログラム書いて動かしてみたんだけど、HttpConnection の
connect() のときに、ConnectionException の HTTP_ERROR(=10) が出ます。
HTTPの戻りみてみたら、302 Found. The document has moved 。

サーバプログラムが悪いのでしょうか。

PackageURLはサーバプログラムがおいてあるホスト名+XXXXX.jar
にしてあります。

259:デフォルトの名無しさん
09/03/30 19:22:48
リダイレクトしてるだけやん。手を抜くなw

それだとクライアント(iアプリ)にレスポンスを返して「ここに行け」って言ってるのと同じ。
結局、別のサーバーに接続しにいくことになる。
天気データを取得した後、静的ファイルにして外部から読み取れるところに置いておくか、
アクセスがある度に天気データをとりにいって、Perlなりで動的にデータを返さなきゃ。

動的にやると相手に負荷がかかるから、一定の時間間隔で静的ファイルを作るか、
動的にやるにしてもキャッシュするかにしなさい。

260:258
09/03/31 17:15:27
>>259
リダイレクトするだけじゃダメなんですねw

> アクセスがある度に天気データをとりにいって、Perlなりで動的にデータを返さなきゃ。
やってみましたが、できませんでした orz

Perl勉強して出直してきます。

261:デフォルトの名無しさん
09/03/31 17:46:31
GETじゃなくてPOST

262:デフォルトの名無しさん
09/04/02 03:03:31
多分超重いけどシェルスクリプトでwgetしちまえ

263:デフォルトの名無しさん
09/04/02 18:50:08
えーw

264:デフォルトの名無しさん
09/04/02 19:44:15
シェルスクリプトに穴があってクラックされるわけですね。わかります。

265:デフォルトの名無しさん
09/04/03 12:59:10
そして見るに耐えかねたやさしいクラッカーさんがcurlで書き直してくれると

266:デフォルトの名無しさん
09/04/03 19:36:29
そいつは助curl

267:248
09/04/04 00:14:39
248です!!
みなさん回答ありがとうございます。
返事が遅くなって申し訳ありません。

>>253-254
サンプルありがとうございます。


ネットや本で調べたところCanvasに対して
(1)メインループ→単なるメソッドで行う、描画→paintメソッドを使う。
(2)メインループ&描画→implements Runnableしてスレッド内で全て行う。

の2通りくらいですかね・・・
私の場合、(2)のように作ったところ、通信中の描画処理でハマってしまった訳です。

メインループやHTTP通信を考慮すると、
みなさんはどのような作りにしているのでしょうか?


268:デフォルトの名無しさん
09/04/04 03:22:39
おお、StarのAPI対応状況が出てる。
さりげなく今のリファレンスに載ってないシンボルがありますな。
次のバージョンでは、バッテリの残り時間や充電の残り時間が取得したり、
ピンチ(2本指)操作したりできそう。

あら、F-01AはKEY_CLEAR, KEY_PAGE_UP, KEY_PAGE_DOWNが取れるのに、
何故か×になってる。。

269:268
09/04/07 22:58:35
04/07版で次バージョンっぽい部分が消されてる...。
04/04版(jguideforstar1_x_opt_impl_09323.pdf)には書かれてたのに。。

270:デフォルトの名無しさん
09/04/08 00:50:40
kwsk

271:デフォルトの名無しさん
09/04/11 22:19:24
>>270
URLリンク(www28.atwiki.jp)
↑参照。ってこれも消されたりしてw

ところでPointingDeviceの挙動を調べているのですが、
N-01A(タッチパネル)やSH-01A(光タッチクルーザー)のマウスモードはどんな動きでしょうか?
とりあえず実機で確認できた3台はこんな感じでした。
・タッチパネル(D800iDS)
  押した時にPOINTER_MOVED_EVENT(param=0)→KEY_PRESSED_EVENT(param=KEY_SELECT)
  離した時にKEY_RELEASED_EVENT(param=KEY_SELECT)
・ニューロポインター(N903i)
  カーソルを動かし始めた時だけPOINTER_MOVED_EVENT(param=0)
・フィンガーポインター(F-01A)
  カーソル位置が変わるたびにPOINTER_MOVED_EVENT(param=0)

272:デフォルトの名無しさん
09/04/13 05:51:59
iアプリでは、Java Speech が動くのでしょうか?
言い換えると、J2ME 上で動く Java Speech の実装はあるのでしょうか?

言語は英語でOKです。日本語はないでしょうから。

ちなみに、iPhone では 「Speak EZ」というアプリで実現しているので、
speech SDK を使用することができるのだと思います。

273:デフォルトの名無しさん
09/04/13 17:17:13
カメラを使ったアプリを作ってます
takePicture()でカメラを起動したまま放置するとエラーが発生してアプリが勝手に終了してしまいました
N904iとF906iで試しましたが両方同じでした

try ~ catch(Exception e)でエラーメッセージを表示しようとしましたがダメでした
catch(Error e)もcatch(Throwable e)もダメでした

解決方法があったらお願いします

274:デフォルトの名無しさん
09/04/13 20:20:27
doja5.0ってeclipse3.4で動くのか?

275:デフォルトの名無しさん
09/04/13 21:32:28
>>274
Doja-5.1 + Ganymede-SR2 を問題なく使えているので
5.0 でもいけるんじゃないかな


276:デフォルトの名無しさん
09/04/13 22:16:50
>>273
セキュリティ的にまずいとか消費電力的にまずいとか
そんな理由でシャットダウンされるんじゃないの?
と適当に想像してみる。

>>274,275
dojaエミュレータとeclipseのpluginがコネクタでつながってるだけだからね。

277:デフォルトの名無しさん
09/04/13 23:59:53
表計算ソフトみたいなUIを実現させてみたいんですが、
スプレッドシートを擬似的にでも実現させる方法を、解説しているサイトか書籍ってありますか?
ググってみると、iアプリそのものは見つかるんですが…

278:デフォルトの名無しさん
09/04/14 00:06:48
見えてる所を表示するだけだよ

279:デフォルトの名無しさん
09/04/14 01:36:24
>>273
F-01Aでやってみたら、
「一定時間操作が無かったためカメラを終了します。」
と表示されてカメラは終了したけどアプリは落ちなかった。
多分勝手にキャンセル扱いになったからだと思うけど、
そのあたりの実装って機種依存なんだろうか。

280:デフォルトの名無しさん
09/04/14 01:48:14
APIリファレンス見た?

281:273
09/04/16 14:39:48
解決しました

エラー処理の中で
メディアイメージをdisposeしていたのですが、
エラーのタイミングから
中身がnullのオブジェクトに対してdisposeをしようとしていただけでした

お騒がせしました

282:デフォルトの名無しさん
09/04/16 20:47:16
これがほんとのぬるぽ

283:デフォルトの名無しさん
09/04/17 21:35:39
PanelとHTMLLayoutで画面を作っています。

テキストボックスを入力コンポーネントの先頭におくと、
画面を開いたときにテキストボックスが編集状態(文字入力モード)になるんですが、
これって仕様なんでしょうか。APIリファレンスを見ても見つかりませんでした。

コンストラクタでTextBoxオブジェクトを生成して、addしてるだけなんですが・・・

284:デフォルトの名無しさん
09/04/17 22:54:31
Panelに切り替えるのを「決定キーを押した」でやっていると、
画面切り替え後に「決定キーを離した」が来るから、
テキスト編集画面になった、とか?

285:デフォルトの名無しさん
09/04/17 23:14:50
>>284
うおおおおおおお!!!
まるでこの目の前のソースを見たかのような指摘、
すげええええええええええ!!!ありがとうございます!

ボタンは基本「離した」するのが普通なんでしょうか。
長押しは「押した」と「離した」両方使って判断してますが、
普通のクリックは「押した」でやってます。
たびたびすみませんが、お時間あったら教えてくださいm(_ _)m

286:デフォルトの名無しさん
09/04/18 01:19:52
>>285
自分も似たようなことで悩んだことがあったもので。

キー関係は、押した瞬間に反応が欲しい場合以外は「離した」でやった方が無難です。
「押した」でダイアログや別画面を開く機能を使ってしまうと、
切り替え後の画面に「離した」イベントが届いて誤動作することがあります。
Display.setCurrent()、Dialog#show()、Canvas#imeOn()あたりが怪しい。

長押しは「押した」でタイマーを起動して時間をチェックしないと、
短押しと区別が付かなくなりませんか?

287:デフォルトの名無しさん
09/04/18 01:34:46
>>286
わざわざありがとうございます。「離した」が無難なんですね。
長押しはおっしゃるとおりタイマーを使っています。

メニューなどCanvasでリストっぽいのを表示させるのに使ってますが、
こちらは短押しは「押した」、長押しは「押した」「離した」でやると、
個人的にしっくりくる動きをします。

リスト移動の短押しを「離した」でやったら、
移動するときに引っかかるような感じがしましたので、
画面遷移をする選択キーとソフトキーに関して「離した」を使うようにしました。

大変お世話になりました!

288:デフォルトの名無しさん
09/04/18 22:49:53
Windowsなんかもマウスのボタンを離した時に発火するよね

289:デフォルトの名無しさん
09/04/20 12:06:58
247ではないですが、当方も文字列の回転でこまっています。
どなたか教えていただけますか?

290:デフォルトの名無しさん
09/04/20 14:09:16
>>289
画像は回転できるでしょ
Image.createImageに描いて回転させれ

「文字背景の透過ができないじゃないですか!」とか言ったら、呆れる

291:デフォルトの名無しさん
09/04/20 14:34:15
takeMovieで動画を取ろうと思うのですが
ファイルのデータサイズは指定できないでしょうか?
(500kになったら撮影終了、とかしたい)

APIリファレンスで
画像の縦横のサイズを指定する方法(setImageSize)は見つけたんですが
データサイズの指定は見つけられませんでした

できる、ここに書いてあるとか
隠しパラメータでこの機種ならできるとか
あったらお願いします


292:デフォルトの名無しさん
09/04/20 15:53:32
そういう「隠し」は絶対無い。Javaの仕様上あったらすぐばれるので、隠す必要がない

圧縮するまでサイズわからんのだから、サイズできるのはまぁ無理だろ

293:デフォルトの名無しさん
09/04/20 22:48:13
>>289
前スレに貼ったやつがまだ生きてるよ。
URLリンク(aryarya.net)

294:デフォルトの名無しさん
09/04/20 22:52:52
290
ありがとうございます。
なにせ高校生ではじめて作っているので正直わかりません。
どこかサンプルとかないでしょうか?

295:デフォルトの名無しさん
09/04/20 22:58:34
学生と言えば許されるとでも思ってるのか?

296:デフォルトの名無しさん
09/04/20 22:58:43
289
ありがとうございました、参考にします。

297:デフォルトの名無しさん
09/04/20 23:16:39
すみません、293でした。

298:デフォルトの名無しさん
09/04/21 23:50:10
質問させてください。

ドコモの公式サイトを作成したことがないので、お聞きしますが、
「uid=NULLGWDOCOMO」で取得できるuidと
iアプリので取得できるPhone.USER_ID(もしくはPhone.TERMINAL_ID?)は
同一の端末識別番号でしょうか?

ネットで調べてもUSER_IDとTERMINAL_IDの違いがイマイチわかりませんでした。
よろしくお願いします。



299:デフォルトの名無しさん
09/04/22 00:55:46
USER_IDはSIMのID。機種変更(買い増し)してもSIMが一緒なら変わらない。
TERMINAL_IDは端末自体のID。端末を変えれば絶対変わる。

300:デフォルトの名無しさん
09/04/22 15:20:07
質問させてください。タッチパネルを使いたいのですが、うまくいきません。
シミュレーター上では動くのですが実機SH-03Aではタッチパネルが反応しません。
いろいろ端折っていますが関係ありそうなところだけ書きます。
import com.docomostar.opt.ui.TouchDevice;
public class TP extends StarApplication {
public void started(int launchType) {
try{
if(TouchDevice.isAvailable()){
TouchDevice.setEnabled(true);
}
}
catch(Exception e){}
}
}
class myCanvas extends Canvas{
int a = 10;
public void processEvent(int type, int param){
try{
if(TouchDevice.isEnabled()){
if (type == Display.TOUCH_PRESSED_EVENT) {
int TouchX = TouchDevice.getX();
if(TouchX < getWidth()/2){
a++;
}
repaint();
}
}
}
catch(Exception e){}
}
}

301:デフォルトの名無しさん
09/04/22 15:33:13
しりたいこと

1.started() 内で isAvailable() は true を返しているか
2.processEvents() はTouchDevice 関連のイベントを受け取っているか

302:300
09/04/22 15:47:45
上記の2つを中心に調べて見ます。
ありがとうございました。

303:300
09/04/22 15:50:31
というか、素人が手を出すものではないのですね。
iアプリ。
正直意味が半分しか解りません。スレ汚し失礼しました。

304:デフォルトの名無しさん
09/04/22 16:55:20
最初は誰でも素人なんだから頑張って壁を越えれ

305:デフォルトの名無しさん
09/04/22 18:53:53
最大の敵は実機

306:デフォルトの名無しさん
09/04/22 19:04:52
だが禿端末(特にT)程じゃない

307:298
09/04/23 21:10:42
>>299
回答ありがとうございます!

USER_IDとTERMINAL_IDの違いがわかって、スッキリしました。
感謝です!!


308:デフォルトの名無しさん
09/04/27 21:55:27
gif画像の画面更新について質問いたします。

canvasにgifをpaintメソッドにて表示。
キー操作で動かしてるだけのプログラム。
手元にあるSH706ieとN906iで動かしている。
どっちの機種も、電話切断キーでの「終了しますか?」ダイアログで「いいえ」を選んでアプリに戻ると、gif画像が動かない。
drawString、setColor等のメソッドは普通に画面更新される。
lock unlockでダブルバッファリングしている。

わかりません...

309:デフォルトの名無しさん
09/04/27 23:36:46
タイマーかスレッドでキー入力を監視しているのに、
Display.RESUME_VM_EVENTで何もしてないとか?

310:デフォルトの名無しさん
09/04/28 06:52:07
>309
解決しました!
まだまだ知らないことだらけで、大変勉強になりました!


311:デフォルトの名無しさん
09/04/28 11:13:36
>>310
どう解決したのかも書いてよ


312:デフォルトの名無しさん
09/04/28 23:11:40
複数のサウンドを再生するにはどうすればいいんですか?
またMIDIサウンドの再生中に他のサウンドを再生すると必ずエラーが出るのですが仕様ですか?


313:デフォルトの名無しさん
09/04/28 23:12:55
無茶しやがって

314: ◆2237831232
09/04/29 01:54:01
>>310
お役に立ててなにより。
ちなみにエミュレータでは発話→終話と押すと同じ状態になるので、
毎回実機で試さなくても大丈夫。

>>312
900i以前でもない限りは4つまでいけるはず。
ポート指定はしてる?

315:デフォルトの名無しさん
09/04/29 18:02:01
すみません、ネットワークのことで質問させてください。

現在サーバーからデータを取得して表示するアプリを作っています。
データが小さいと問題ないのですが、9Kバイトほどのデータを取得すると、
エミュレーターの実行が止まってしまいます。例外もはきません。

----- ソース一部 -----
try {
conn = (HttpConnection)Connector.open(pUrl, Connector.READ);
conn.setRequestMethod(HttpConnection.GET);
conn.connect(); ←##### ステップ実行でもここで止まる #####
reader = new InputStreamReader(conn.openInputStream(), "UTF-8");

WebサーバーにはApache2.2を使っており、
パケットサイズは8Kバイトとあったのでこのあたりが関係しているように思いますが、
ここから先がわかりません。たぶん何かを待っているのだと思うのですが・・・

HTTPヘッダーのContent-LengthとContent-Typeが必須とのことですが、
PCのブラウザからリクエストした限りでは両方とも返されています。
実機(SH903i)では問題ないのですが、ほかの端末はよくわかりません。

何か心あたりがありましたらよろしくお願いします。

316:デフォルトの名無しさん
09/04/29 18:09:52
一度に8K全部落とせて無いんじゃね?

317:デフォルトの名無しさん
09/04/29 18:16:10
>>316
レスありがとうございます。
8Kまでは大丈夫だと思うんですが、それ以上がダメなのかなあと思っています。
たまにうまく取得できることもあるので、それでまた混乱しています。

318: ◆2237831232
09/04/29 18:21:42
Connector.open()の第三引数にtrueを指定して、
タイムアウトを設定したらどうでしょう?

319:デフォルトの名無しさん
09/04/29 18:55:15
>>318
ありがとうございます。
第3引数に「true」を指定して20分ほど待ったのですが例外が出ません。
もう少し調べてみようと思います。

320:315
09/04/29 19:54:22
レスをくださった方、ありがとうございます。

iアプリ開発環境のネットワーク設定にプロキシを指定できるようでしたので、
どのような通信をしているのか「Paros」というローカルプロキシサーバをインストールし、
レスポンスデータをキャッチしようとしたところ、現象が完全に再現しなくなりました。
プロキシを通さないと再現します。

今回は自サーバーを立てたのですが、
プロバイダから無料でもらえるホームページスペースにデータを置くと、
全く問題なく取得できます。プロバイダのWebサーバーは不明です。

とりあえず開発を進めつつ検証してみます。


HTTPレスポンスヘッダの主な違い(一応)

プロバイダの方には「Age」がある
Content-Typeはプロバイダ→text/plain、自サーバ→text/xml(text/plainになるよう変更してもダメ)
自サーバの方には「Connection: close」がある


321:デフォルトの名無しさん
09/04/29 20:57:49
ポート指定とは同期のことですか?


322: ◆2237831232
09/04/29 22:57:02
AudioPresenter.getAudioPresenter(int port)のポート。
別のポートを指定して取得したAudioPresenterは同時再生できる。
# 指定しなくても同時再生可能数までは再生できるはずだけど。

ところでエラーってError?それともException?
再生時ならUIException#getStatus()が分からないとどうにも。

323:デフォルトの名無しさん
09/04/30 17:43:05
卒業制作で携帯電話シュミレータを作ろうと思っているのですけど、
何がいいですか?
Java?Flash?

324:デフォルトの名無しさん
09/04/30 17:49:12
携帯電話シュミレータって何?

325:デフォルトの名無しさん
09/04/30 17:59:41
何かさ、Mac上にはiPhoneアプリ開発のための
iPhoneシュミレータってソフトがあるんですよ

それにみたくWin上で携帯電話のシュミレータができたら面白くないですか?
機種変更前にPC上で触れることもできるし・・・

326:デフォルトの名無しさん
09/04/30 18:06:13
DocomoもSoftBankもauも開発用のエミュレータなら
既にあるわけだが、それで遊ばれちゃ金にならないんで、
ちゃんと売り物のアプリはPCからのアクセス
鯖がはじくようにしてある。

327:デフォルトの名無しさん
09/04/30 18:24:22
あるんですか!?
申し訳ないんですが、リンク貼って頂けません?

328:デフォルトの名無しさん
09/04/30 18:29:20
>>3

329:デフォルトの名無しさん
09/04/30 18:32:52
いや、これではなく、本物の携帯電話のようなシュミレータの事です!
電源が落とせたりetc
スレチすいません。。。

330:デフォルトの名無しさん
09/04/30 18:51:14
とりあえず>>3 に実装されてない機能で、
君が必要と思う機能を列挙してくれないか。

1. 電源が落とせたり。

331:デフォルトの名無しさん
09/04/30 19:14:10
ラジバンダリ

332:デフォルトの名無しさん
09/04/30 19:23:54
>機種変更前にPC上で触れることもできるし・・・

現行機種と全く同じインターフェース、機能を備えたものが欲しいの?
無茶な要求、っていうか不可能だろ

333:デフォルトの名無しさん
09/04/30 19:26:25
やっぱり基本の通話機能だろう。
それとワンセグなんかどうだ。

334:デフォルトの名無しさん
09/04/30 19:30:00
万歩計とGPSは必要だね

335:デフォルトの名無しさん
09/04/30 19:43:20
使われ方を考えると三種の神器機能は

メール
ブラウザ
カメラ

じゃないだろうか

メールと通話、どちらかを選べとせまられたら
メールを選ぶやつの方が多いと思う

336:デフォルトの名無しさん
09/04/30 20:09:16
使われなさを考えると三種の遺物機能は

テレビ電話
プッシュトーク
2in1

かもしれんな。

337:デフォルトの名無しさん
09/04/30 20:12:34
文字だけって・・・
ポケベルってのが昔あったな

338:デフォルトの名無しさん
09/05/01 01:16:09
ポケベルって文字っつーか数字だけってイメージ

339:デフォルトの名無しさん
09/05/01 01:59:52
シミュ、な。

340:デフォルトの名無しさん
09/05/01 09:21:27
ポケベル時代がもうしばらく続けば、会話全部を数字で表現できるように
日本人が進化したかもしれないな。14106


341:デフォルトの名無しさん
09/05/01 09:56:37
ポケベル打ち⇔文字の変換アプリを作れと?

342:デフォルトの名無しさん
09/05/01 10:18:12
最終的にShift_JISで会話するんですね

343:デフォルトの名無しさん
09/05/01 13:15:06
誰だ1ビット落として転送してんの

344:デフォルトの名無しさん
09/05/01 19:06:36
>>322
com.nttdocomo.ui.UIException: Can't set media sound while playing
というエラーが出ます


345: ◆2237831232
09/05/02 00:04:12
それはThrowable#getMessage()のような気が...。
とりあえずメッセージから考えられるのは次の3つ。
・setSound()してない
・再生中にサウンドがunuse()かdispose()された
・再生中にsetSound()した(ちょっと自信ない)
同じAudioPresenterにsetSound()→play()→setSound()→play()
とすると3番目に引っかかるはず。
getAudioPresenter(0)とgetAudioPresenter(1)で2つのAudioPresenterを取得、
それぞれにsetSound()して、それぞれplay()すれば同時再生できない?

346:デフォルトの名無しさん
09/05/02 00:33:16
Star対応端末を中古品などで格安に入手するには
どうしたら良いでしょうか?
Starのテスト端末にしたいのです。


347:デフォルトの名無しさん
09/05/02 03:18:12
スレ違いかも解りませんが教えて下さい。
PanelとKeyListenerの関係の様に
   xxxPanel extends Panel implements KeyListener
PanelのサブクラスににKeyListenerをインプリメントすると
キーが押された時に以下の関数がコールされますよね
void keyPressed( Panel panel, int key )
この時にkeyPressedをコールしているのはPanelの内部でだと思うのですが
このPanelのソースではkeyPressedをどの様にコールしているのでしょうか?
ヒントだけでもお願いします。


348:デフォルトの名無しさん
09/05/02 05:32:53
>この時にkeyPressedをコールしているのはPanelの内部でだと思うのですが

システム側から呼ばれるんでないの?
CanvasのprocessEvent()のように。

349:デフォルトの名無しさん
09/05/02 06:11:53
>>347
自己解決しました。
if ( this instanceof KeyListener ) {
 KeyListener pKeyListener = (KeyListener)this;
 pKeyListener.keyPressed( this, Display.Key0 );
}


350:デフォルトの名無しさん
09/05/06 19:37:12
ソフトキーを表示しないアプリを作っているのですが、エミュ上では水色のラインが表示されてしまいます。
画面いっぱい使うのでこれを表示させないようにできますか?

351: ◆2237831232
09/05/06 20:40:28
>>350
DoJa-5.1とStar-1.0の開発キットを使ってるけど問題ない気が。
全画面アプリでも電波マーク部分やソフトキー部分が見えるのは仕様。
それ以外でラインが出るのなら自前で描画してるとしか。。

352:デフォルトの名無しさん
09/05/06 22:08:38
>350
DoJa5.0以降のオプションAPIでsetSoftLabelVisible()
ソフトキーを表示しないってこういうことかな?

353:デフォルトの名無しさん
09/05/10 19:50:53
URLリンク(www.kittpeak.co.jp)
>mobile2PCは、特許出願中の技術により携帯電話からPCへのアクセスをダイレクトに行えます。
こういうのってどうやってるのかね

354:デフォルトの名無しさん
09/05/10 20:02:45
Trusted使ってるんじゃ無いなら、ダウンロード先が偽装して
通信先PCからダウンロードしたように見せるくらいしか思いつかんね。

355:デフォルトの名無しさん
09/05/10 23:20:18
投げっぱなしの>>350って何なんだろうな
解答もらっても解決したともしないとも言ってこない

356:デフォルトの名無しさん
09/05/11 15:54:58
>>353-354
別に、PC側にサーバーとしての機能もたせて、ドメイン名つけて、HTTPアクセスで制御するだけだろ。
特許「出願中」なんて、いくらでもできるぜ

357:デフォルトの名無しさん
09/05/11 16:01:00
でも資料見るとアプリのダウンロードはPCからじゃ無いんだぜ

358:デフォルトの名無しさん
09/05/11 16:26:24
ダイナミックDNSというキーワードがあるから、IPの向き先を変えるんだろう。
たとえばiアプリでブラウザを作れば、どんなドメインでもアクセスできるのかと勘違いしたが、
どうもそうではないようだな。iアプリ作者としてはほとんど意味はないような。

359:デフォルトの名無しさん
09/05/11 16:58:58
TrustedAPIDを発行してくれちゃたりして

360:デフォルトの名無しさん
09/05/14 21:17:49
>>345
dekimasita
arigatou

361:デフォルトの名無しさん
09/05/17 22:54:07
Doja5.1の3Dグラフィックスのブレンドモードが加算・アルファブレンドはあるのに
減算合成はないのなんでですか?マスコットカプセルは減算合成もサポートしているっぽいのに・・

362:デフォルトの名無しさん
09/05/18 00:08:03
反転加算しろってことかも

363:デフォルトの名無しさん
09/05/18 11:52:51
マスコットカプセルは
ハードで実装しているところはハードで
ハードで実装していないところはソフトで

処理してるぞ。
だから減算合成はソフトのはず。

「ハードソフトの切り替えがキッチリしてる」「ソフト部分も、Javaで作るよりは早い」
という保証はあるものの、あまり過信すると「●●って端末の時だけ、ゲームにならないくらい遅いんですけど!」とか客に言われかねん

364:デフォルトの名無しさん
09/05/18 16:25:05
減算合成欲しいよな、キャラの影とか半透明よりやっぱ減算の方が綺麗になるし

365:デフォルトの名無しさん
09/05/18 18:15:05
今時のDSPで減算がないというのは信じられないのだが…

366:デフォルトの名無しさん
09/05/19 10:39:26
信じられないもなにも、明らかに使いでが少ないじゃねーか
そんなもんより法線マップとか積んでくれたほうが100倍嬉しいわ

367:デフォルトの名無しさん
09/05/19 10:56:42
どうせアプリ機能なんて拡充しても
端末売れないんだからやらねーってw

368:デフォルトの名無しさん
09/05/19 22:36:48
GraphicsOGLってどうやって使うんですか?ドキュメント見ても
インターフェースしか載っていなくてインスタンスが取得できないように思えます。
個人でもエミュレータ上でなら動かせる・・んでしょうか?できれば実機でも動かしてみたいんですが、
個人ではiアプリDXの申請ができないかもしれませんし。

369:デフォルトの名無しさん
09/05/20 00:10:01
GraphicsOGLはよくしらんが、個人ではiアプリDXの申請は無理。

さらに法人格でもiMenuに登録されているのが必須なので、かなりハードルは
高め。

370:デフォルトの名無しさん
09/05/20 10:37:21
INBOXにファイルを保存するアプリを作ろうと思うんですが
各機種のINBOXの容量の一覧みたいなものってありますか?
ドコモのページや資料では見つからなくて・・・

そもそもファイルの保存先ってINBOXでいいですか?
(microSD等外部メモリを除く)


371:368
09/05/20 22:59:23
>>369
そうですか・・OpenGL使ったアプリの公開はあきらめます。
でもHTTPサーバー自分で立てれば実機で実行できるって見たような・・
気のせいでしょうか

それでGraphics3Dの方を使おうとしたんですが、
import com.nttdocomo.ui.*;
してるにも関わらず
Graphics3D g3;
でシンボルが見つかりませんと出ます。何故でしょうか?

最初はDoja5.1でGraphics3D使ってるサンプルプログラムを見つけようとしたんですが
見つかりませんでした。

372: ◆2237831232
09/05/20 23:02:00
>>370
Nは「INBOX」だけど、FやDは「データ交換」みたい。
容量は、docomoのスペック表に「着うたフル/着うた最大保存容量」
として記載されている数字のはず(つまり内蔵メモリ)。

Star-1.1が出たので適当にまとめ。
URLリンク(www28.atwiki.jp)
今回の目玉は次の4つかな?
・電池残量表示の細分化
・充電時間&使用可能時間取得
・タッチパネルのピンチ操作対応
・コンテンツのダウンロード&保存

373:デフォルトの名無しさん
09/05/21 00:27:03
>>371
iアプリDxに関してはここで検証しているかな。
URLリンク(d.hatena.ne.jp)

まあ、個人研究の範囲っぽいんで、何か抜け道はあるかもしれないけど。

374: ◆2237831232
09/05/21 01:25:04
>>371
import com.nttdocomo.ui.*;

import com.nttdocomo.ui.graphics3d.*;
だと思う。*はその階層しか見えないので。
Eclipseだと「Graphics3D」と打った後にCtrl+Spaceして
候補を選ぶと、設定によっては勝手にimportまで入るはず。

ちなみに同じ名前の↓もあるので注意。
com.docomostar.opt.ui.j3d.Graphics3D

375:370
09/05/21 10:10:25
>>372
ありがとうございます
今1個ずつ調べてます

というか相変わらず一覧はないし、
機能比較で出した一覧の着うたフル®/着うた®の欄に最大保存容量はないし
古い機種はページそのものがなくなってるし
ドコモのページはかゆいところに手が届かない
と愚痴ってみたり


376:デフォルトの名無しさん
09/05/21 21:11:31
star1.1が出たのはいいんだが、
そもそもstar1.0アプリが全然出回ってないという……
同人でもなんでもいいから、star1.0で作られたstarらしいアプリを公開しているところはないのかしら。

377:デフォルトの名無しさん
09/05/22 10:08:04
starらしいアプリってどんなん?

378:デフォルトの名無しさん
09/05/22 10:14:50
Flashと組み合わせるとか?

379:デフォルトの名無しさん
09/05/22 10:47:55
ミニアプリとかタッチパネルとか

380:デフォルトの名無しさん
09/05/22 17:11:28
そんなの作っても流行らない

381:デフォルトの名無しさん
09/05/22 17:18:56
流行るのなんてゲームくらいだろ。お手軽系のやつ。
ツールアプリもネタっぽいのばっかだから、
新しい機能をほんとうに生かすのは難しいと思う。

382:デフォルトの名無しさん
09/05/22 19:37:13
ウィジェットとか起動糞遅すぎてロクなもんじゃないし。
あんなもんマトモに使えん。

383:デフォルトの名無しさん
09/05/22 21:46:58
<a href="URLリンク(mt9.jp)">自分だけのまちを作っていく育てゲーム「まちつく!」、無料だよ。</a>

384:デフォルトの名無しさん
09/05/23 07:06:55
以下のようなプログラム
(tFolder等はそれなりのものが入っているとして)で、

tFile = tFolder.getFile( tFileName );
System.out.println( "[Is_BaseExist] tFile=" + tFile );

iαppliTool for DoJa-5.1(FOMA)エミュレータでは、
常に、ファイルが取得出来てしまいます。
無い場合は、サイズ0のファイルが出来る。

ファイルがすでに存在しているかを確認するには
どの様にすればよいのでしょうか?


385:デフォルトの名無しさん
09/05/23 07:23:13
>384です
自己解決しました。
tFolder.createFile( tFileName )
で失敗を確認するようにしないと
駄目なのですね、、


386:デフォルトの名無しさん
09/05/23 23:34:51
iアプリDXについてはびっくりしたんだけど特許庁のサイトにドコモ提出のドキュメントがあった。
JAM->SDF(Secure Descriptor File)->JARの流れ。

TrustedAPIDからSDFファイルの場所を特定。
SDFってのはドコモサーバー内に存在するJAMファイルみたいなものらしい。
SDFとJAMファイルの内容(PackageURL等)が一致していればダウンロード実行。

つまりTrustedAPIDをどう解析しようがSDFを設置するサーバーがドコモ網内なのでむりぽってことみたい。

387:デフォルトの名無しさん
09/05/23 23:50:46
脱獄は不可能

388: ◆2237831232
09/05/24 02:34:43
>>386
ちょっと興味がわいたので調べてみた。
多分コレかな。長いので後でゆっくり読もう…。
・特許公開2003-202929
URLリンク(www.j-tokkyo.com)

「ドコモ ADF」や「ドコモ アプリ」で検索すると、
iアプリ関連の特許で実装済みのものが出てきて面白いかも。

・特許公開2002-163111
  ADFによってJAMのDLを制御
・特許公開2005-354529
  FeliCa領域の扱い
・特許公開2004-302963
  CPがトラステッドではなくなったときのアプリ起動?
・特許公開2008-204175
  フォルダでアイコン表示の時の挙動?

389:デフォルトの名無しさん
09/05/24 03:21:44
むかし亀が主人公で敵を倒してライフアップのアイテムとか技が増えるアクションRPGのゲームの名前覚えてない?ちなみに無料

390: ◆2237831232
09/05/24 18:40:39
何とかごまかせないかと全部読んでみたけど無理みたい……。
DLの流れはSDF→ADF→JARで、普段はADFのURLを書くところにSDFを書く模様。
SDFはドコモ網内にある&ADFに未公開の情報を設定する必要があるから、
TrustedAPIDをどう頑張っていじっても無駄orz

SDFにはAPID、ADFのURL、公開鍵、APIごとの使用可否が載っている。
ADFにはAPID、JARのURL、JARのハッシュ、秘密鍵が載っている。
1. リンクのクリックを契機にSDFをDLして、APID、ADFのURL、公開鍵を取り出す。
(SDFはドコモ網内にあり、携帯との経路は専用線なので改竄は無いものとし検証しない)
2. ADFのURLからADFをDLして、APID、JARのハッシュ、秘密鍵を取り出す。
3. 公開鍵と秘密鍵、それぞれのAPIDの一致でADFを検証し、NGならADF異常で終了。
4, JARのURLからJARをDLする。
5. DLしたJARとADFのJARのハッシュでJARを検証し、NGならJAR異常で終了。
6. JARのインストールを完了する。
7. トラステッドAPIの実行可否は、SDFのAPI使用可否を参照して決定する。

この方式だと、SDFを経由してセキュリティを確保しながらも、
コンテンツ提供側はADFとJARを自由に更新できて便利な訳か。
検証の部分は省略したり別の方法を使ってもいいみたいだけど。

391:386
09/05/24 19:05:47
>>390
ミスリードやで坊や。

最初にADF->TrustedAPIDと紐付けされているSDJ->ADFとSDF比較->JAR
ADFのPackageURLには普通にJARを指定する。

上記は実際にデラックスのアプリを見たから間違いない。

392: ◆2237831232
09/05/24 20:19:31
>>391
実物は見たことが無いので助かります。

あれは↓をベタに解釈したものだとでも思ってください。
URLリンク(www.j-tokkyo.com)

ただ、【0033】を見る限り、トラステッドは最初にSDFをDL、
非トラステッドは最初にSDF以外(たぶんADF)をDLしていると書いてあるような。
別の特許なんだろうか……。

393:デフォルトの名無しさん
09/05/24 20:49:31
Panelを継承した場合、チェックボックスって使えますか?
1画面に複数の画像とチェックボックスをセットで表示して、
チェックボックスで任意の画像を選択させるという処理を行いたいと思ってます。

394:386
09/05/24 20:54:41
>>392
何でそんなアフィサイト見るんだわさ。
「図5」って書かれてなんじゃそらとか思わない?
SDFをもしURLで指定していたら万が一にもそれを取得されてしまうって言うリスクもあるべさ。

特許庁サイトにきちんとしたファイルがあるよ、

395: ◆2237831232
09/05/24 22:17:08
>>393
ListBoxをCHECK_BOXで生成すればチェックボックスになる。
でも画像とチェックボックスを並べて表示したいのなら、
ImageButtonを使って、自前でチェックあり/チェックなしの
画像を切り替えるほうがいいかも。

>>394
アフィサイト? 製品は載ってるけど製品へのリンクが無いし、
掲載内容と趣旨にも「販売や取引の仲介はしない」と書いてあるけど。

>特許庁サイトにきちんとしたファイルがあるよ、
「文献番号索引照会」しないとちゃんとしたのが読めないのね。。
図5を見ると、
  トラステッドAPかの判定→SDFを取得→ADFを取得→ADFの正当性チェック
  →APIDの一致チェック→インストール可能チェック→JARを取得
  →ハッシュ値生成→ハッシュ値一致チェック→インストール
となっている。
最初のトラステッドAPかの判定は拡張子がsdfか否かで判別している。
となると、最初に取得するのはSDFになるんだけど。
あとAPIDからSDFを特定するのってどこに書かれてる?

396:386
09/05/24 23:29:43
>>395
別にどのサイトを見ようがかまわんけど、特許庁からの文面だけを引用した広告目当てのサイトでしょそこは。

特許と実装が異なってるケースもあるよ。
あと全部が全部特許申請してある訳じゃない(TrustedAPID然り)。
適当なdx探せば分かるけど、TrustedAPID以外は普通のJAMと同じ->こいつが鍵になるんじゃないかってことが推測できる。

文字列検索でもpdfまでたどり着けたよたぶん。
うんげーめんどうだったかも。

397: ◆2237831232
09/05/24 23:54:36
>>396
TrustedAPIDは載ってないのか……。
とりあえず一般ユーザではどうにもならないことは分かったので、
(特許検索も含めて)このあたりで諦めます。
お手数かけてスマンかった。

398:386
09/05/25 00:43:15
んまぁそこら辺はほんとに紐付けでしかないと思われるからさほど重要じゃないかも。

あと、茸ユーザーではないので実験できないけど
application/x-sdf でADF返すとどうなるんだろーとか思ったり。
興味があればやってみてー

AppDownLoadURLなんて言うキーも見つけたけど何だろうこれ。

399:デフォルトの名無しさん
09/05/25 08:36:35
起動毎にAPIDとDownloadURLをDocomoに送信してチェックしてるはず


400:デフォルトの名無しさん
09/05/25 13:10:46
特許通り実装せにゃならんわけでもあるまいし

401:386
09/05/25 14:45:56
>>399
起動ごとに設定もできるけど、
CheckCntってなキーが0であればいちいちチェックを行わないらしい。
そこが1であれば毎回確認で、3であれば3回起動したら確認みたいな。

X-Dcm-Additionalなるヘッダーもあったけどなんじゃろうか。

402:デフォルトの名無しさん
09/05/25 16:18:32
Trustedハックしたい奴ら、速やかにN-06Aの初期ファーム機体を入手するんだ。
iモードネットワークにルートされる不具合が出てるらしいぞ!

403:デフォルトの名無しさん
09/05/25 16:22:17
N-06はアプリ側にも不具合報告来てるなw

404:386
09/05/25 16:42:13
iモードGWを串代わりにできるっぽいですね。
楽しそうw

405:デフォルトの名無しさん
09/05/25 19:10:20
もう手に入らないだろ・・・

406:デフォルトの名無しさん
09/05/25 19:56:54
iapplitool(star)について質問です。
すごい初歩的なところでつまずいたのですが、

プロジェクト HelloWorld を読込み中です
プロジェクト HelloWorld を読込みました
ビルド開始(プロファイル : Star-1.0)
テンポラリファイルの作成に失敗しました

「テンポラリファイルの作成に失敗しました」と出て、ビルドが出来ません。
ファイルパスはC:\iDKStar1.0\apps\HelloWorldとなっているので、日本語フォルダのせいではないと思うのですが、何が原因かわからず困っています。

407:デフォルトの名無しさん
09/05/25 21:08:21
>>406
OSがVistaなら、それが原因

408:デフォルトの名無しさん
09/05/25 21:12:48
Vistaだがそんなの出ない

409:393
09/05/25 23:31:30
>>395
>ListBoxをCHECK_BOXで生成すればチェックボックスになる。
>でも画像とチェックボックスを並べて表示したいのなら、
>ImageButtonを使って、自前でチェックあり/チェックなしの
>画像を切り替えるほうがいいかも。

回答ありがとうございます。自分の力量で何処までできるか分かりませんが
ImageButtonを使って実現できるように頑張ってみます。

410:デフォルトの名無しさん
09/05/26 08:25:06
>>407
XPです

411:デフォルトの名無しさん
09/05/26 15:27:09
Windows 2000、Windows XPの一時フォルダ (C:\Documents and Settings\ユーザー名\Local Settings\Temp) に、2バイト文字が含まれている場合に発生するとの報告を頂戴しております。

下記手順にて新規アカウントを作成し、そのユーザー名でログオンしたうえでインストールを行ってください。


解決・・・

412:デフォルトの名無しさん
09/05/26 16:07:12
知らないサイトからiアプリダウンロードしたんですが、電話番号とか抜き取られます?

413:デフォルトの名無しさん
09/05/26 16:13:01
取られますん

414:デフォルトの名無しさん
09/05/26 17:27:44
>>413
まじですか・・・T_T
ありがとうございます


415:デフォルトの名無しさん
09/05/26 17:51:34
>>414
公式サイトのアプリ以外では不可能
それに公式のアプリでも端末内の情報を引き出す時は、ユーザーに確認してくる
勝手に引き出される事はない

416:デフォルトの名無しさん
09/05/26 18:04:57
Trusted使ったiアプリでSocketConnection使って自鯖と通信ってできる?

417:デフォルトの名無しさん
09/05/26 20:27:49
できなかったらおかしいだろ。

418:デフォルトの名無しさん
09/05/26 21:43:26
え?Socketって使えんの?

419:デフォルトの名無しさん
09/05/26 22:51:34
Starなら

420:デフォルトの名無しさん
09/05/27 00:31:47
RPG作ろうと思います
解説してるサイトありませんか?

421:デフォルトの名無しさん
09/05/27 02:04:57
>>412
電話番号が抜き取られるアプリなんて存在しませんよ


422:デフォルトの名無しさん
09/05/27 03:17:25
>>421
なるほど。安心しました。

423:デフォルトの名無しさん
09/05/27 06:42:12
>>417-419
Starのドキュメントでも特にSocketについての記述って無くね?

424:デフォルトの名無しさん
09/05/27 07:22:47
やっぱ振り込め詐欺って有効だよなw

425:デフォルトの名無しさん
09/05/27 08:40:42
>>423
サンプルソースまであるが

426:デフォルトの名無しさん
09/05/27 11:53:54
つつかないと出てこない資料ってDocomoにもあるんだな('A`)

427:デフォルトの名無しさん
09/05/27 14:23:16
ドコモがみずほと提携するみたいです

428:デフォルトの名無しさん
09/05/27 19:53:26
SocketConnectionはトラステッドだけでしょ

429:デフォルトの名無しさん
09/05/27 20:08:37
iアプリ開発入門書でオススメありますか?

430:デフォルトの名無しさん
09/05/28 00:58:06
おすすめサイトならありますが

431:デフォルトの名無しさん
09/05/28 06:17:54
>>3で終了だな

432:デフォルトの名無しさん
09/05/28 07:38:58
>>429
現状iアプリ開発テキストブック一択かと

433:デフォルトの名無しさん
09/05/28 09:03:23
たまにビルドしたらiapplitool(star)が落ちるんだがよくあること?
ちゃんとビルド自体は終わってる状態にはなってるが

434:デフォルトの名無しさん
09/05/28 10:03:58
iモード携帯電話用Java(iアプリ) Part18
スレリンク(tech板:807番)

807 名前:デフォルトの名無しさん[sage] 投稿日:2008/12/14(日) 22:42:09
ビルド時にトラステッドのチェックみたいなの入れてると落ちる
必要ないから外したほうがいい


だって。
確かにチェック外したら落ちなくなった。

435:デフォルトの名無しさん
09/05/28 13:06:43
トラステッド・・・?

436:デフォルトの名無しさん
09/05/28 19:57:13
長々失礼します。

現在900i用にアプリを開発しています。スクラッチパッドの領域が足りなく
なったので、使用しているgifのうちパターンが同じで色だけ違う物については
色データだけを持ち、それをPalettedImageなりgifのデータをいじるなりで
色違いのgifデータを内部生成する方向でアプリの変更を行っています。

で、とりあえずエディターで作ったパターンをgifファイルで出力したのですが、
その際にパレット配置の最適化が行われてしまい、単純にこちらの用意したパレット
配列を代入してもパターンの色が食い違ってしまいます。メーカーに問い合わせ
しましたが、エディター側には最適化を切る機能が無いようです。

そこでとりあえず別のツールでパターンを作成して、パレットを同じ配列の
ままBMP出力させ、パレットをそのまま代入して色変更を実現できる複数の
データの作成までは成功したのですが、これをgifに変換すると、やっぱり
どのツールでもパレットを勝手に最適化してしまい配列が狂ってしまいます。

それもデータによって細かくカスタマイズされてしまう為、gif作成後にその
gifからパレットを抜き出して、他のgifに代入するやり方も上手く行きません。

上記を解決するような適切なgif変換ツールをご存知無いでしょうか?
時間があれば自作している所ではあるのですが、締め切りがあるのでちょっと
ままならない状況です。

437:デフォルトの名無しさん
09/05/28 20:03:37
続き。

とりあえず該当しそうなキーワード『gif 変換 パレット』『PalettedImage gif 変換』
等でぐぐったり、とりあえずVectorで変換ツールを片っ端から試しましたが
パレットの最適化を行わず、配列を維持したまま変換するようなツールが見つかりません。
知恵を借りたく、よろしくお願いします。

438:デフォルトの名無しさん
09/05/28 21:21:26
色違いなら色のデータだけ保存すればいいんじゃねえの

439:デフォルトの名無しさん
09/05/28 21:28:45
そう云う細かいことはMacromedia(現Adobe)のFireworksが得意だった気がするが、今でも入手できるんかね?
Web Standard Paletteあたりでググってみたら?

440:デフォルトの名無しさん
09/05/28 22:23:32
全部16色GIFにすればいい

441:デフォルトの名無しさん
09/05/28 22:37:57
うまくいくか分からないけど…。
GIMPで画像を開いて、画像→モード→インデックスで減色。
ダイアログ→カラーマップでカラーマップを開き、
色を右クリックしてRearrange Colormapで並び替え、
ってのはどうでしょう。

442:デフォルトの名無しさん
09/05/28 23:32:56
>>436
gif以外のイメージ使うって手は?

443:436
09/05/29 11:59:06
皆様、レスありがとう御座います。
とりあえず>>441のGIMPツールで解決しました。

といいますか、GIMPのVer2.6.4自体がBMP->gifセーブ時にパレットの再配置を
行わないツールのようで、パレットの並び替えも行わずに目的を達成しました。

本当に、ありがとう御座いました。

444:デフォルトの名無しさん
09/05/30 22:35:07
画面サイズについてしつもん。
今あるstar端末って全部がめん解像度がVGA以上だと思うけど、
だからといって画面サイズ480*480で設計しちゃっていいものなの?

やっぱり、まだまだ240*240を前提としているべきなんだろうか。

445:デフォルトの名無しさん
09/05/31 17:38:20
>>444
jamでディスプレイサイズ指定しないと480*480になるから、それがstarでのデフォと思ってそうしてる

446:デフォルトの名無しさん
09/06/01 14:23:05
N-01Aで
cameraクラスのgetMaxImageLengthの結果が
102400
って出る
動画が102KBしか撮れないってことは無いと思うんだけど
これって端末が壊れてる?N-01Aのバグ?他の機種でもこうなるの?

447:デフォルトの名無しさん
09/06/01 20:24:43
>>446
手持ちのVGA機種で試してみた。
 N903i : 102400
 F-01A: 512000
Nは共通で102400を返すのかも。
Fの512000も少ない気がするなぁ。

448:デフォルトの名無しさん
09/06/02 22:31:40
iアプリでFPS固定って困難でしょうか?60FPS
System.currentTimeMillis()で16ms経つまでThread.Sleep(1)で
待ち続けてから描画するようにしたら
エミュ上でもガクガクです。

449:デフォルトの名無しさん
09/06/02 22:44:06
なにもかも間違っている

450:デフォルトの名無しさん
09/06/02 23:08:22
プログラマー志望でこれだから、
企画とかが糞なのも仕方ないとは思いたくない。

451:デフォルトの名無しさん
09/06/02 23:11:06
正確な認識ではないかもしれないが……。

まずエミュの動作は意図的に相当キツイウエイトが適当な感じで掛かっている。
描写する内容に寄るが、実感では設定上はウエイトを全てはずしたはずの
Doja5.0用のエミュより実機の方が早い。

その実機にしても携帯の液晶の反応速度自体が大体30ms前後なので、約30FPS
以上の描画をしようとすると描画自体は出来ても表示されずにコマ落ちする
場合が多い。

つまりバックを黒一色にして16x16位のgifを表示する場合でも30FPS程度しか
出ない。

452:デフォルトの名無しさん
09/06/02 23:29:00
>>450
志望だとは限らんぜ

453:448
09/06/02 23:30:48
最近のでも60FPS表示できるのはないんですね・・
じゃあ30FPSにします
ありがとうございました

454:デフォルトの名無しさん
09/06/02 23:47:41
>じゃあ30FPSにします

いやその考えはおかしい

455:デフォルトの名無しさん
09/06/03 00:50:12
エミュに関してはOSがVistaだと誤動作しまくる


456:デフォルトの名無しさん
09/06/03 08:45:16
俺XP隣Vistaだが、誤動作するところは同じだな

457:デフォルトの名無しさん
09/06/03 09:29:07
Sleepが実際に1msで動作しているか、確認した?
JAVAにおけるSleepはその秒数他のスレッドに処理を譲る命令であり、
譲った他のスレッドが忙しい状況である場合1msで処理が返らない場合がある。

実際WindowsXPの場合だとSleep(1)を実行しても、実際に待っている時間は
平均3~4msという報告がある。携帯で実際に計測した事は無いが、もっと
掛かるのではないかと推測。

458:デフォルトの名無しさん
09/06/03 10:15:13
正直、最近の機械で俺が保障するフレームレートは15FPSまでだな。

459:446
09/06/03 14:45:49
ドコモに問い合わせてみたら
iαppli Development Kit for DoJa-5.1
で開発したものについて

(以下、URLリンク(www.nttdocomo.co.jp) より抜粋)

第5条 免責

弊社は、お客様に対し、本ソフトウェアにおける一切の動作保証、使用目的・機器等への適合性の保証、並びに使用結果に関わる的確性や信頼性の保証をせず、かついかなる内容の瑕疵担保責任も負いません。

ということで、このツールを使ってビルドしたiアプリでどんな結果になろうと一切関与しないらしい

APIリファレンスの中身についても同様に保証しないと言われてしまった
何を信用して開発したらいいのかしらorz


460:デフォルトの名無しさん
09/06/03 15:15:56
保証しないのは当然だろ。保証してたらどんだけ訴訟が起こるんだよ。
おおむね信用して、なんかうまくいかなかったら「そういうもの」と割り切らないと。

461:デフォルトの名無しさん
09/06/03 15:57:32
>>448
俺はエミュレータで動かすときだけsleepの代わりに
while(System.currentTimeMillis() < wait);
みたいにしてる

>>459
免責事項としては一般的だと思うが、
446の問い合わせに対してその返答は不自然じゃないか?

462:デフォルトの名無しさん
09/06/03 16:52:55
また出た電池ガン無視の糞コード

463:デフォルトの名無しさん
09/06/03 18:33:08
>エミュレータで動かすときだけ
>エミュレータで動かすときだけ
>エミュレータで動かすときだけ



464:デフォルトの名無しさん
09/06/03 18:35:38
この段階で先の展開見えるな。

465:デフォルトの名無しさん
09/06/03 19:35:03
>>462
sleep させようが System.currentTimeMillis() のポーリングだろうが
消費電力に違いはないって話題が過去スレにあったけどね。


466:デフォルトの名無しさん
09/06/03 20:38:38
そのソースは出てこなかったけどね

467:デフォルトの名無しさん
09/06/03 20:45:40
実際にベンチやればすぐわかること。

468:デフォルトの名無しさん
09/06/03 21:56:02
電池はアナログだから余程明確な差が出ない限り
実証は難しいんじゃねぇかな。

電波の状況によっては携帯が基地局探しに行くかもしれんし。

469:デフォルトの名無しさん
09/06/03 22:23:27
そんな話じゃないんだけど?

470:デフォルトの名無しさん
09/06/03 23:27:48
数年前だが>>461見たいのだとホストのCPUが100%になって
色んなファンがうるさかったので、エミュレータ上でもsleep使ってた

471:デフォルトの名無しさん
09/06/03 23:59:15
Sleep(16)

472:デフォルトの名無しさん
09/06/04 10:53:56
>>462
実際に当時ベンチとって差がないの確認したんですけど^^;
その後の全ての携帯に差がないかはわかりませんけどね

古い機種で消費量に差が出るのは、P端末の一部の機種だけですよ
流石Pと思いましたよ

473:デフォルトの名無しさん
09/06/04 18:21:52
無限ループを作るとCPU使用率が100%継続になって
ファンがうるさく回りだしますね
無限ループの中にsleepを入れればCPU使用率が低くなりますけど
これが携帯の消費電力に影響があるかは不明
携帯が熱くなるのもプログラムの組み方に問題があるから?

474:デフォルトの名無しさん
09/06/04 20:07:50
そうは言ってもな、仕様に明記されていないのなら実測しかない
どんな動きになっていようと文句は言えんよ

475:デフォルトの名無しさん
09/06/04 22:15:26
エクリプスとどうやってリンクするんですか?

476:デフォルトの名無しさん
09/06/04 23:49:21
どうでもいいが、空ループよりも適当なスタティックメソッド呼んだほうが実行速度は速いのな。
javaのコンパイラって空行になんか特殊な処理でも挟んでるのだろうか?

477:デフォルトの名無しさん
09/06/04 23:55:39
>>471
佐野元春のアルバムみたいだ。

478:デフォルトの名無しさん
09/06/05 00:01:26
Java鯖VMで空ループスレ立てまくったらCより速かったという伝説があってな
負荷が定数になったという

479:デフォルトの名無しさん
09/06/05 02:42:40
>>472
実測しましたけど、明確に差が見られますよ^^;;;
VMの最適化でルームそのものが取り除かれたのでは?

とはいえ無限ループでは最近の大容量な公式アプリほどに熱くならなかったのも事実。
アプリCPUだけでなく、グラフィックのCPU?や音源回路、通信処理のCPUが高速に動作して初めて肉焼きになるみたい。

480:デフォルトの名無しさん
09/06/05 08:37:42
EclipseでDojaのコンパイルするときエミュレータが一瞬起動して終了するのですが、原因わかる方いらっしゃいますか?

481:デフォルトの名無しさん
09/06/05 09:25:54
環境とかバージョンとか、質問するなら最低限の情報は記述しようよ

482:デフォルトの名無しさん
09/06/05 09:54:19
>>479
久々の有益情報ktkr
テストした実機名教えてください
試しておきたいので

483:デフォルトの名無しさん
09/06/05 10:30:48
>>480
エスパーで答えておく。
eclipseからjamを起動するのではなく、Dojaエミュレータを単品で起動してからビルドすればおk。

484:デフォルトの名無しさん
09/06/05 11:54:25
>>480
PATH に J2SDK の bin ディレクトリを追加する


485:デフォルトの名無しさん
09/06/05 12:28:01
>>480
ウィンドウ>設定>Java>コンパイラ
のコンパイラ準拠レベルが 1.4 になっているか確認する


486:デフォルトの名無しさん
09/06/05 12:35:37
>>485
thx!

487:デフォルトの名無しさん
09/06/05 13:24:08
>>485やるな

488:446
09/06/05 14:46:34
続報
オペレーターのお姉ちゃんでは埒が明かないのでメールで問い合わせてみた

Q.
iアプリコンテンツ開発ガイド for DoJa-5.1 APIリファレンス編の
cameraクラスのgetMaxImageLength()で
撮影可能な最大データサイズを取得したところ
手元のN-01Aでは102400バイト(=102Kバイト)と表示されました
実際には2Mバイトまで撮影が可能です
これはこの端末の故障でしょうか?

A.
「作ろうiモードコンテンツ」掲載以外の内容につきましては、
各機種に依存し把握が困難であることから、
ドコモでは技術的サポートを行っておりません。

460>おおむね信用して、なんかうまくいかなかったら「そういうもの」と割り切らないと。
やっぱり、そうやって使うものなのね


489:デフォルトの名無しさん
09/06/05 16:19:54
ん・ぱか工房も最近更新されてないしなぁ。
ちなみに102400バイトは100Kバイトだぞ。

490:デフォルトの名無しさん
09/06/05 17:54:55
ここで聞くことではないかもしれませんが
PCサイトを携帯でタブブラウザとして開けるアプリは見つけたのですが
携帯サイトをタブでひらけるブラウザアプリはあるのでしょうか?

491:デフォルトの名無しさん
09/06/05 17:55:43
あります
一部表示できないサイトがありますが

492:デフォルトの名無しさん
09/06/05 18:17:43
あるんですか!
NECの携帯から他の機種に変更してからその部分だけ使い辛くて困ってました
探してみます!ありがとうございます。

493:デフォルトの名無しさん
09/06/05 18:18:32
自分で作ります

前提:相手がIP、UAのみでアクセス規制していて、ホストによる規制をしてない。(バーチャルホスト等含む)
相手のIPが調べられる。
1.自鯖を用意する。サブドメインでいいので自由にIP変えられれるようにしとく。
2.ネット(当然自ホスト)に繋いで任意のデータを取得するiアプリを作る。取得したデータはminiSDなりSP入れといて後でCGIにPOSTなりで外部に出せるようにしとく。
3.携帯に作ったiアプリをDL。
4.自鯖のIPを繋ぎたい先に変更。
5.好きなだけDL。
6.あらかじめ用意しといた方法でデータをPCに転送。CGIの場合はIP戻すこと。

応用すればiアプリ本体を取得してプロトコル解析したあとネットランキングに不正なデータポストして荒らすとかも可。悪用厳禁。

494:デフォルトの名無しさん
09/06/05 18:23:55
悪用してくれと言ってるようなものだろw

495:デフォルトの名無しさん
09/06/05 18:34:09
> 4.自鯖のIPを繋ぎたい先に変更。

これをやっても、書いてあることが実現できるとは思えない

496:デフォルトの名無しさん
09/06/05 18:42:17
>>495
アクセスしたい携帯サイトのIPに変更

497:デフォルトの名無しさん
09/06/05 18:49:12
>>493
iappliのHTTPのMAX受信データサイズより大きいものを取得したい場合はどうすればいいですか?
range指定できないよね?

498:デフォルトの名無しさん
09/06/05 19:16:06
1.の時点で激ムズだろ……
IPがころころ変わるようなホストなんてそうそうねえよ……

499:デフォルトの名無しさん
09/06/05 19:30:36
その前にルーティングと云うモノがだな...

500:デフォルトの名無しさん
09/06/05 20:22:53
サーバーのIPアドレスを変えるのは簡単
で、その自称IPでうまくつながるかやってみればいい

501:デフォルトの名無しさん
09/06/05 20:31:42
>>482
俺は本来au(BREW)の人で、ドコモの機種を借りて試したので正確な番号まで覚えていないが、今から2~3年前の黒いNEC製だった。
熱くなったのは某ネットRPG。

502:デフォルトの名無しさん
09/06/05 21:30:32
>>491
すいません検索しましたが見つかりません
もしよかったらアプリ名だけでも教えて頂けないでしょうか?
ほんとすいません

503:デフォルトの名無しさん
09/06/05 22:08:01
キャンバスで描画した画面Aから画面Bを描画する時、
下から画面Bが自動でスクロールするような表現を行うにはどうすれば良いでしょうか?
参考になるソースやURLを教えてください。

画面A    スクロール   画面B
□□□   □□□   ■■■
□□□ → □□□ → ■■■
□□□   ■■■   ■■■

504:デフォルトの名無しさん
09/06/05 22:11:47
携帯の熱を利用してカイロなるアプリを作りたいのです


505:デフォルトの名無しさん
09/06/05 23:21:29
>>503
描画位置をずらしながら、
画面Aと画面Bを一度に描画すればいいのでは。
画面外に描画しても問題ないはずだし。

506:デフォルトの名無しさん
09/06/06 12:40:04
こんなもんに「参考になるソース」も何もあったもんじゃない
複雑なAPIの使い方でもあるまいし

507:デフォルトの名無しさん
09/06/06 13:36:25
これはjava云々じゃなくて考え方の問題だな

508:デフォルトの名無しさん
09/06/06 15:12:09
皆優しいな、俺とか面倒だったからスルーしてた

509:デフォルトの名無しさん
09/06/07 13:49:33
画面外に描画できるのって素晴らしい仕様ですよね?
仕事して初めて気が付きました・・・

510:デフォルトの名無しさん
09/06/07 14:02:46
・・・・・・・


511:デフォルトの名無しさん
09/06/08 00:01:26
String.split() が無いみたいなので以下のようなコードを書いたのですが、遅いです。
何かいい方法無いですか?

String[] splitString(String str, String sep)
{
int i, curIndex = 0, cnt = 1;
while((i = str.indexOf(sep, curIndex)) >= 0)
{
curIndex = i + 1;
cnt++;
}
String[] ret = new String[cnt];
curIndex = 0;
for(i = 0; i < cnt; i++)
{
int nextIndex = str.indexOf(sep, curIndex);
if(nextIndex < 1)
nextIndex = str.length();
ret[i] = str.substring(curIndex, nextIndex);
curIndex = nextIndex + 1;
}
return ret;
}

512:デフォルトの名無しさん
09/06/08 09:20:58
問題になるほど遅くならないと思うが・・・
一応、2度indexOfしてるからだろ。
1回目でどんどん分割したStringつくっちゃえよ。

retを十分大きな配列として持っていてもいいし、可変長配列のVectorを使ってもいい

513:デフォルトの名無しさん
09/06/08 23:14:42
>>512
ret を余分に取ると、使用しなかった分の要素を取り除くために配列をコピーしなければ
ならないので余計遅いみたいです。
あと、Vector も無いみたいですけど。

514:デフォルトの名無しさん
09/06/08 23:57:20
vectorがないわけねーだろ

515:デフォルトの名無しさん
09/06/09 00:00:40
512じゃないけど。

ret を余分に取った分はnullが入るから、
わざわざコピーし直さなくてもいいのでは。
nullが来るまでの条件でループして参照すればいい。

java.util.Vector
CLDCのリファレンスは読んでないの?
でもVectorを使うほうが遅いと思う。

516:デフォルトの名無しさん
09/06/09 00:28:32
>>515
そもそも String.split() したい文字列の要素数が大きく違うので、要素数が少なかった場合に
不要分領域がもったいないと感じるのですが。
それと、String[].length() を使いたいので、要素が null になるまでループさせるのもスマート
じゃないなと思います。

Vector はありましたね、すみません。
import 忘れただけみたいです。
でも遅いッスね。

517:デフォルトの名無しさん
09/06/09 01:25:59
lastIndexOf(int ch)使ったら?

518:デフォルトの名無しさん
09/06/09 01:40:19
>>517
どう使えばいいのか分かりません。

519:デフォルトの名無しさん
09/06/09 01:45:45
>>516
Stringの参照が配列になってるだけだから、
そんなにメモリは食わないかなと思ったり。

要素数はいっそのこと↓みたいにしてしまって、
int splitString(String str, String sep, String[] res)
String[]は引数で返して、要素数は戻り値で返すとか。

520:デフォルトの名無しさん
09/06/09 02:13:16
Cじゃねーんだぞw

521:デフォルトの名無しさん
09/06/09 02:23:01
>>519
それも何かスマートでないような・・・。
あと万一、要素数があふれた場合対処できないですよね。 > 引数で返す

ここまで来たら class にした方がいいのでしょうか・・・。

522:デフォルトの名無しさん
09/06/09 10:07:30
結果が可変長になる段階で、511みたいな「2度読み」をするか、メモリーコピーは必須だろが
速さもメモリー効率も両方欲しいとか、Javaでなんつーいい草だ・・・

あと、そもそも口調がイラつく

523:デフォルトの名無しさん
09/06/09 11:53:47
VectorはObject型だからpushでもpopでも毎回castが入って遅い
可変長配列を自作しろ

524:デフォルトの名無しさん
09/06/09 15:05:27
>>516
遅いってどのくらい?

525:デフォルトの名無しさん
09/06/09 18:24:53
クアッドコアのPCよりはるかに遅いってことだろ

526:デフォルトの名無しさん
09/06/09 18:29:20
arrayList実装そのまんまだ。これで遅けりゃあとは気合でカバーせよ。
public String[] split(char spliter) {
int resultCount = 0;
String[] resultBuff = new String[10];
StringBuffer sb = new StringBuffer();
for (int i = 0; i < source.length(); i++) {
char c = source.charAt(i);
if (c == spliter) {
if (resultBuff.length - 1 == resultCount) {
String[] tmp = new String[resultBuff.length * 2];//配列を2倍のサイズにする
System.arraycopy(resultBuff, 0, tmp, 0, resultBuff.length);
resultBuff = tmp;
}
resultBuff[resultCount] = sb.toString();
sb.setLength(0);//バッファのクリア
resultCount++;
} else {
sb.append(c);
}
}
if (sb.length() > 0) {
resultCount++;
}
String[] result = new String[resultCount];//結果サイズの修正
System.arraycopy(resultBuff, 0, result, 0, resultCount);
if (sb.length() > 0) { //尻データをくっつける
result[resultCount - 1] = sb.toString();
}
return result;
}

527:デフォルトの名無しさん
09/06/09 18:51:00
みなさんありがとうございます。
いろいろいじってみます、ぬるぽ。

528:デフォルトの名無しさん
09/06/09 23:53:49
画面の色を反転しようと思い
Graphics.getPixels→得られた配列を色反転→setPixels
したら7FPSしか出ません・・。画面サイズは480x560です。エミュ上とはいえ遅すぎです。
画面を小さくすれば29FPSぐらいにはなるんですが・・小さくしたくないです。
もっと速くできないでしょうか?

529:デフォルトの名無しさん
09/06/10 00:21:55
毎回色反転させるんじゃなくて、色反転メソッド呼んだらバッファのイメージを裏返せば良いだけだと思い。

530:デフォルトの名無しさん
09/06/10 11:01:12
Vistaだから遅いんじゃないの?
VistaPack2はさらに遅いよ
急にファンの音がうるさくなって動きがカクカクになるし
メモ帳のスクロールだけでもCPU使用率オーバーで動きが止まる
ひどいOSだ

531:デフォルトの名無しさん
09/06/10 12:35:10
お前だけ

532:デフォルトの名無しさん
09/06/11 17:40:27
Windows7はさらにひどいことになるんだろうな
もしかしたらエミュが起動すらしないかもしれん


533:528
09/06/11 22:17:27
>>529
毎回色反転させない?STGで使おうと思っているのでそれは無理なのでは・・
lockでダブルバッファリング開始
fillRectで画面クリア
drawImage画像を描画
getPixelsで画像を取得
for(int i = 0; i < numPixels; i++)
pixels[i] = pixels[i]^0xFFFFFF; //色反転
setPixelsで反転した画像をセット
unlockでダブルバッファリングを終了

無駄な処理があるのでしょうか?色反転処理が一番時間がかかっているようですが、
処理が単純なのでこれ以上速くはできないと思います。OpenGL ESならglBlendFuncとか
あるのに・・
>>530
Vistaじゃないです XPです。
自分のPCではないですが、VistaでiDKが入っているPCがあって
そのPCではむしろ自分のPCより高速に動作しています。

534:デフォルトの名無しさん
09/06/11 23:33:34
Graphics2を使ってもいいならできそうだけど……。
 1. Graphics2#getImage()で対象範囲をImageに保存
 2. Graphics#fillRect()で対象範囲を白で塗り潰す
 3. Graphics2#setRenderMode(Graphics2.OP_SUB, 255, 255)
 4. Graphics#drawImage()で保存したImageを描画
白に対して減算で描画すると色が反転する。
あらかじめImageに描画するようにしておけば手順1のロスは無くなるかも。

535:デフォルトの名無しさん
09/06/12 09:26:13
>>533
気持はわかるんだけど、携帯アプリ的には発想を間違えてると思われ。
描画した内容を反転させるんじゃなくて、反転済みの画像を使って描画するのが良いかと。

あと、getPixelsとsetPixelsのエミュ上での動作が遅いのは、昔からの既知の問題。
実機ではそこそこスピードでるはずだよ。試してみるといい。

エミュ上ではあきらめて、画面上に「反転させてます」とか表示させておくだけにして、実機Verでは実際に反転させるほうが良い。

536:デフォルトの名無しさん
09/06/12 22:24:58
ラスタ処理じゃ駄目なんかね。
画面を真っ白にしておいてから、ラスタ減算で画像を描画すれば大丈夫なんじゃないだろうか。

537:デフォルトの名無しさん
09/06/13 15:10:26
携帯の実機で機種依存の処理速度の差がでそうだし
やはり通常は反転画像も用意すべきかとおもうガッ
全画面の反転か・・
シューティングっていってるしダメージエフェクトだとおもうが
一瞬背景だけ単色塗りつぶしとかじゃだめなのかなぁ・・


538:デフォルトの名無しさん
09/06/13 21:24:37
処理速度といえばアプリベンチはもう復活しないんだろうか

539:デフォルトの名無しさん
09/06/14 16:27:26
新型の携帯はアプリサイズが480X480だけど
以前の240X240のあぷりはどう表示されるの?


540:デフォルトの名無しさん
09/06/14 16:55:51
480x480とかやめてほしい
もう240x240は時代遅れなの?

541:デフォルトの名無しさん
09/06/14 18:46:14
>539

倍角表示

542:デフォルトの名無しさん
09/06/14 23:32:45
iアプリの画面サイズって480x480までなの?
480x854は?

543:デフォルトの名無しさん
09/06/15 01:20:14
RTFM

544:デフォルトの名無しさん
09/06/15 02:00:31
>>542
DoJa のデフォルトは240×240
Star のデフォルトは480×480
任意のサイズにしたければADFのDrawAreaにその旨を記述する


545:デフォルトの名無しさん
09/06/15 19:35:50
480X480以上のアプリだと
通信料4~5倍になるね
作るほうもダウンロードするほうも大変だ

546:デフォルトの名無しさん
09/06/15 20:04:19
なるわけないだろ

547:デフォルトの名無しさん
09/06/15 22:17:02
>>488
たぶんバグというよりも、昔の機種からの定数を修正していない
って感じだと思うよ。Nだと「仕様です」で終わりだと思われ。
容量に依存しないようにがんばるか、自前で機種名->容量の表
を持つしかないでしょうね。

548:デフォルトの名無しさん
09/06/18 14:31:38
通信中に中断させるにはどうすればよいですか?
電波が悪いとかで予想外に時間がかかるときに中断させたいのですが。

549:デフォルトの名無しさん
09/06/18 14:42:32
電源を切る

550:デフォルトの名無しさん
09/06/18 20:05:34
水をかける。


551:デフォルトの名無しさん
09/06/18 21:43:57
通信スレッドにinterruptかけたら止まった気がする。

552:デフォルトの名無しさん
09/06/18 21:53:36
Graphics3Dを使って2D描画をするプログラムを作ってみたら、
■■■■■■■■
■           ■
■           ■
■           ■
■           ■
■           ■
■           ■
■■■■■■■■
みたいな画像(本当は256x256ある)が
■■■■■■■■
■■         
■■         ■
■■         
■■         ■
■■         
■■         ■
■■■■■■■ 
のように、ぎざぎざになってかなり汚く表示されてしまいます・・。
↓のスレに書いてあることは嘘なんでしょうか。Doja5.1でも
全部intみたいですしバイリニアフィルタの設定は見当たりません。
【日本携帯】Mascot Capsule/Micro3D【標準】
28 名前:デフォルトの名無しさん[sage] 投稿日:2005/06/12(日) 23:52:28
>>27
DoJa4.0ならfloatで処理される&バイリニアフィルタが効くからかしら。

553:デフォルトの名無しさん
09/06/19 01:18:43
線形補間機能はなかった気がするが…

554:デフォルトの名無しさん
09/06/19 01:44:46
てくちゃあが裏面にも貼られるわけだから、それを考慮しないと
ギザギザになるのはてくちゃあが伸ばされてるからだと思う

555:デフォルトの名無しさん
09/06/19 10:42:12
手臭ぁ?
THEXDER?

556:デフォルトの名無しさん
09/06/19 15:21:03
>>552
MascotCapsuleってエミュ上だとそうなった気がする
実機だとちゃんと描画されたハズ
あと右と下の1ラインが削れることがあるがそれも仕様だったかな

557:556
09/06/19 15:27:45
追記
URLリンク(www.mascotcapsule.com)

こんな風になるって事だよね?


558:デフォルトの名無しさん
09/06/19 21:12:21
テクスチャの補完はDoJaは無いな、Softbankの方の機能だっけか
intかどうかは、MascotCapsuleのバージョン3か4かによるな
キレイにテクスチャを2D表示するなら、右下頂点を1pixelずらして発行

559:デフォルトの名無しさん
09/06/20 12:53:07
売られてるiアプリのゲームのソースみたらGC.collect()だらけで泣けた
javaで作る意味ねえよ

560:デフォルトの名無しさん
09/06/20 13:39:06
>>559
VMのガベージコレクションがおっつかないからやってるんでしょ?
むしろよく作ったと褒めてやりたい

561:デフォルトの名無しさん
09/06/20 17:25:43
gc.collect() なんてあったっけ?(´・ω・`)

562:デフォルトの名無しさん
09/06/20 17:46:09
System.gc()じゃない?
変なタイミングでGCの負荷が掛からないように、
影響が少ないところでちょくちょく呼ぶのは普通だと思う。
iアプリに限ってだけど。

563:デフォルトの名無しさん
09/06/20 18:19:31
>>560
>>560
>>560
>>560
>>560


564:デフォルトの名無しさん
09/06/20 18:31:17
>>560 の身に何かあったようだ。

565:デフォルトの名無しさん
09/06/20 19:15:17
やたらとSystem.gc()なんて呼んだらそれこそ妙なタイミングでよばれそうだけど

566:デフォルトの名無しさん
09/06/20 19:23:42
大丈夫、どうせ期待するほど動いてくれない

567:デフォルトの名無しさん
09/06/20 21:02:55
System.gc()って呼ばれた時点で処理されるわけじゃないからVMに任せたほうが

568:デフォルトの名無しさん
09/06/21 02:45:47
つーか、特にゲームの場合はデザインポリシーというか好みの問題だな。

アクションゲームの場合、VMに任せて敵に囲まれた所など嫌な所で秒単位で硬直されるより、
数フレーム毎にGCを掛けてちまちまと僅かに体感できるレベルで硬直した方がゲーム
レスポンス的にストレスが少ないだろう、という考え方がある。

569:デフォルトの名無しさん
09/06/21 05:23:26
それなら1フレーム1回GCすればいいわけで
ソースをGCだらけにする必要は全くない

570:デフォルトの名無しさん
09/06/21 10:12:35
毎フレームGC呼んでると、フレームレート落ちまくるわ
俺はUI呼び出しとかの状況切り替え時、ファイル読み込み直前、
あとメモリの空きエリア監視しつつ少なくなってきたけど少し余裕ある、というときにgcしてる。
gc予約自体は、ネストの奥でやっても処理されにくいので、上のほうでやるのが吉

571:デフォルトの名無しさん
09/06/21 10:21:37
503時代から毎フレームgc呼んでるな

572:デフォルトの名無しさん
09/06/21 12:49:33
毎フレームGCが、iアプリではお約束だろう

573:デフォルトの名無しさん
09/06/21 13:15:13
Eclipseからiアプリツールを起動すると、普通に起動したときと違って
エミュレーターのウィンドウだけが出て起動しますが、あれはどんなコマンドラインオプションで
起動しているんでしょうか。DeviceGuide見ても書いてないです。
doja.exe -i "foo.jam" -m だと普通の起動になります。-m外すと起動しません。

574:デフォルトの名無しさん
09/06/24 10:58:19
iアプリから通信して画像を取得したいです。
で、iアプリをダウンロードしたホストからしか通信できないって仕様にかいてあるんだけど、やっぱりサブドメインとかもだめですか?
example.com からダウンロードして static.example.comから画像を取得することは無理でしょうか?

575:デフォルトの名無しさん
09/06/24 16:31:58
だめ

576:デフォルトの名無しさん
09/06/24 21:41:13
>575
だめですか。回答ありがとうです。

ちなみにiアプリの通信をテストするときって実機じゃないと駄目だみたいな
ことが書いてあったんですが、効率のいいデバッグの方法なんぞあるものでしょうか?

577:デフォルトの名無しさん
09/06/25 01:10:14
エミュを設定すれば通信できますが

578:デフォルトの名無しさん
09/06/25 09:40:15
>577
そうなんですか!ドキュメント読み不足です。試します

579:デフォルトの名無しさん
09/06/25 14:07:09
一度保存した動画データのInputStreamが欲しいのですが
1. MoveiStore.addEntry()で動画データを保存して、エントリIDを取得
2. 取得したエントリIDを使い、MovieStore.getEntry()でエントリの取得
3. 取得したエントリを使い、MovieStore.getInputStream()でInputStreamを取得
しようとしています

N906iならうまくいくのですが
F906iでは2.の部分でUnsupportedOperationException(端末がこのメソッドをサポートしていない)エラーが出ます

これは、プログラムが間違っているんでしょうか?
エラーの通り、端末が対応していないからあきらめるしかないのでしょうか?
それとも別の手段で解決できるんでしょうか?


580:デフォルトの名無しさん
09/06/25 14:12:33
アプリコンテンツ開発ガイド for DoJa-5.x 各機種オプションAPI・拡張API実装状 (PDF形式:406KB)

を読め

581:579
09/06/25 17:26:18
読んだ

結局、NとSH以外は対応していないし、代替手段も無いってことでいいのかしら?


582:デフォルトの名無しさん
09/06/25 22:52:25
iアプリで使える画像や音声の形式がどこに載っているんでしょう?Doja5.1です。
GIF、BMP(8bit)、MLD、MIDIは使用可能っぽいですが。

583:デフォルトの名無しさん
09/06/25 23:08:04
公式サイトの開発ガイド

584:デフォルトの名無しさん
09/06/26 03:28:55
DoJa 3.5 で PalettedImage を使っています。
getPalette() した Palette の色値を加工して setPalette() で書き戻したいのですが、getPalette() で
得た Palette の getEntry() が返してくる値のフォーマットが分かりません。
R、G、B 値に変換する方法はありませんでしょうか?

585:デフォルトの名無しさん
09/06/26 05:49:21
>>584
機種依存の値が返ってくるので加工は難しいはず
なので自分は別途RGB値データを用意してそこから加工・設定してました

586:デフォルトの名無しさん
09/06/26 06:38:27
変換するならImageにいっぺん描画してGraphics取ってから
getRGBPixel()使うようかね。

587:デフォルトの名無しさん
09/06/26 07:08:14
>>585
えー。 > 別途RGB値データを用意
やりたいのは不特定多数のイメージ (透過 GIF) の色を徐々に黒くする事なんですが、パレットの
色情報を別途保持する以外にやり方は無いって事ですか?

>>586
それってピクセルとパレットの対応ってどうやって調べればいいのですか?
っていうか、Image 経由するなら PalettedImage 使う意味無くありませんか? 速度的に。

588:デフォルトの名無しさん
09/06/26 10:10:26
無理な物は無理


以上

589:デフォルトの名無しさん
09/06/26 10:51:43
ドキュモが国際標準を無視した弊害です
上のがいやならアルファブレンドしる

590:デフォルトの名無しさん
09/06/26 15:59:23
無理ってことはないだろお前ら。
昔αブレンドするとき、getRGBPixelみたいな「0x00RRGGBB」形式で取得する方法なんて無かったから
起動時に
255, 0, 0
0, 255, 0
0, 0, 255
で塗った場合のネイティブカラー値を調べて、その機種がどの色のどの位置に何ビットRGBを割り振ってるのか調べて
挙動を変えるように作ったぞ。

591:デフォルトの名無しさん
09/06/26 16:26:03
だからそれをやれと言っているわけで
そんなまどろっこしいのが嫌なら無理だと言っているわけで

592:デフォルトの名無しさん
09/06/26 16:27:50
>>590
目から鱗が落ちました

と思ったけど、自分がそのへん調べたときは
規則性が見えない値が返ってきて、首を捻った記憶もあるんですよね…
RGBが各ビットと対応してる機種もちゃんとありましたが、
よく使う色にだけインデックス番号でも割り当てて管理してるのかコレ、
なんでこの色だけはこの値が返ってくるのよ、てな機種もあって…

何にせよ、機種を絞れば無理ってことはないですよね

593:デフォルトの名無しさん
09/06/26 16:29:14
機種依存値とかキャリアから情報が提供されてるならともかく、
推測でいじるとか出来るだけしたくねぇw

でも、まぁ、これだけ情報あって出来ないようなら
>>584には無理だろ。
速度はそれこそ無理な物は無理だ。

594:デフォルトの名無しさん
09/06/26 16:46:52
>>587
今時のアプリ制作者には笑われるかもしれませんが
自分、フェードアウトさせるときは、黒のディザパターンで塗って誤魔化してました
昔の機種の中には、PalettedImageの描画が異様に遅い機種があって、バグ報告が…
「PalettedImageの使い方、ゲットだぜ!」と喜びながら実装してたので
結構ショボーンしながらディザ塗りに修正した記憶があります
二度描きするから描画時間は無駄に増えるはずですが
それでもPalettedImageで描くより速かったですね…

別企画では、どうしても容量の関係でPalettedImageを使うしかなかったのですが
その時は、不具合報告のあった機種だけ、フレームレートを落として動作させました
クライアント様に
「容量の関係でどうにもならないッス。フレームレートを落とすか、この機種は非対応にするか、どっちか選んでください」
の二択を打診した記憶があります

…なんかコレ、前にもカキコした記憶があるな…

595:デフォルトの名無しさん
09/06/26 17:10:09
そもそもVMが統一されてないってのがいくらなんでも酷すぎるだろ

596:デフォルトの名無しさん
09/06/26 23:40:39
>>594
おれもやったこと有るよ
そんなに昔でもない時期だけど
とにかくクライアントが「全機種対応で」っていうから
仕方なかったんだ

597:584
09/06/27 03:37:41
えー、皆さんお騒がせしました。
結論から言うと、>586 の方法でできました。
>587 にああ書いたのは、イメージ全体に対してピクセル判定しなければいけないのかと
勘違いしたからです、すみません。

>>594
「PalettedImageの描画が異様に遅い機種」 思い出せますか?
可能な限りでいいです。


次ページ
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch