CLDC+MIDP+携帯電話用 ..
449:デフォルトの名無しさん
07/10/04 22:58:07
>442
絵を描くこと自体はWindowsのペイントでも何でもいいよ。
PNG保存する時にどのツールを使うかがポイント。
フリーウェアのツールでPNG保存すると、
ヘッダがおかしいのか正常に表示できないことがある。特に透過PNG。
変に圧縮率上げたり、コメント領域いじったりするツールは注意。
自分はフォトショップ・エレメント使ってる。1万円ちょいで買えたし、
大手有名ツールなら多分下手なことにはならないだろうと思ったんで。
450:デフォルトの名無しさん
07/10/05 00:55:31
libpng使ってりゃ大体問題なかろう。
451:デフォルトの名無しさん
07/10/05 01:34:05
>>450
逆に使ってないものの方が珍しい気がするが、無いわけではないけどな
問題は色数だから適切な設定での変換作業だからlibpngかどうかなんて関係ないだろ
452:デフォルトの名無しさん
07/10/05 12:01:56
>>449
携帯向けはPNG-8でtRNSチャンクで透過指定する事、
アルファチャンネルは無効。
コメントの有無は特に問題じゃない。
イラレで吐き出してもtRNSチャンクで透過指定しなきゃ読み込み失敗する。
453:デフォルトの名無しさん
07/10/05 13:55:36
>452
>携帯向けはPNG-8でtRNSチャンクで透過指定する事
俺>449だけど、まさにそれを注意ってことで書いたつもりだった。
フリーウェアは透過PNGの作り方が適当なものが多い気がする。
>コメント領域いじったりするツールは注意
これはコメントの有無のことじゃなくて、
「埋め込まれているコメントをカットします」みたいなツールを使ったとき
ツールによっては壊されることがあるぞってこと。
ファイルサイズをキチキチに切り詰めようとしてこういうツールを使う人はいるから
余計なお世話かもしれないが一応書いておいた。
なんかしつこい書き込みになったな。スマン。
454:デフォルトの名無しさん
07/10/05 22:37:41
キーが何を押しているかの取得の仕方はいくつかありますよね?
十字キーと数字キーの連携を切り離したい時はどうすればいいでしょうか?
1キー!=UPキー
で別に判定したいのです
455:デフォルトの名無しさん
07/10/05 22:39:16
>>454
すいません2キー!=十字上キーでした
456:デフォルトの名無しさん
07/10/06 05:15:44
いつもお世話になっている初心者です。
どうしても納得いかない制御があるので質問させて下さい!
スレッド作成→無限ループ内で描画処理、が基本パターンのアプリを作成しております。
その中で、決定キーを押下すると画像が点滅する、というプログラムを組もうと思い
public void run(){
repaint();
}
public void paint(Graphics g){
System.out.println("描画開始");
if(tenmetsu==0){
描画処理有り
} else {
描画処理無し
}
}
続く…
457:デフォルトの名無しさん
07/10/06 05:16:23
protected void keyPressed(int keyCode){
if(key == Canvas.Fire){
int i;
for(i=0;i<10;i++){
tenmetsu=0;
System.out.println("描画へ行く");
repaint();
//ここでスリープ実行
tenmetsu=1;
repaint();
}
}
}
というコードを作成したのですが、実行した場合にトレース情報には「描画へ行く」はforループ分ちゃんと
表示されるのですが、paint内の「描画開始」が一度も出力されません。実際に描画処理もされて
おりません。要するにrepaint()でpaint()に飛んでいないという事だと思うのですが、その理由は全く
理解出来ません。初歩的な質問で申し訳ありません。よろしくお願い致します。
458:デフォルトの名無しさん
07/10/06 07:39:57
455だけど
>>456-457は
ダブルバッファとかオフスクリーンに書いてからrun()で一気に描画とか解決のキーワードな気がする
459:デフォルトの名無しさん
07/10/06 11:37:28
というかデバッガを使ったら?
それくらいならステップ実行すればすぐに分かる気がする。
460:デフォルトの名無しさん
07/10/06 13:05:29
keyPressed()内でループまわしてスリープ入れてって構造に問題があるんじゃないか
461:456
07/10/06 14:22:47
早速のご回答ありがとうございます。
>>458
確かに一度run()に渡すとしっかり描いてくれるんです。ただ、そのためには現在のソースを
物凄い勢いで改造しなければならなくなり、新規のバグが怖いというのがあって…。
>>459
スミマセン。デバッガについてググってみたのですがいまいち分かりませんでした。
デバッグ用のツールでソースを追えるような感じなのでしょうか?
>>460
自分、BASIC時代からめちゃくちゃな構造で作ってしまう癖があり…。いつもある程度組んでから
後悔してしまうんですよね…。
repaint()命令の直前までは正常に届いているのに、repaint()だけが機能していない、しかも
repaint()内の描画処理が行われていないのではなく、repaint()内に入ってきてすらない、という
事になっている訳ですが、repaint()というのは呼べば強制的に実行されるものではないのでしょうか?
repaint()で実行されるはずの描画がされないなら分かるんですが、メソッドに入ってすらないというのが…。
462:デフォルトの名無しさん
07/10/06 14:30:17
repaintは、再描画が必要だってことを覚えとくだけ。
今実行中のイベント処理が終わったときにpaintが呼ばれる=イベント処理中は呼ばれない。
serviceRepaintsを呼べば、すぐ呼ばれるけど。
463:デフォルトの名無しさん
07/10/06 16:27:50
keyPressed内でループまわしてるから再描画要求がキューに突っ込まれても詰まったまんまで、
あとは端末のイベントハンドリング周りの制限に引っ掛かってるって感じ?
464:デフォルトの名無しさん
07/10/06 16:48:03
制限というより、そういう仕様。
URLリンク(java.sun.com)
>These methods are all called serially.
>That is, the implementation will never call an event delivery method
>before a prior call to any of the event delivery methods has returned.
465:デフォルトの名無しさん
07/10/06 22:07:27
まあ、java的にはイベントハンドラ内で時間掛けないのは基本中の基本だから覚えれば良いだけ。
ハンドラでフラグ立ててゲームループでフラグ調べてhogehogeすれ!
466:456
07/10/07 00:51:07
皆さん、ありがとうございました!!
理由ははっきりして凄く嬉しいです。
ただ…前述したソースで
protected void keyPressed(int keyCode){
if(key == Canvas.Fire){
if(ある条件==1){
int i;
for(i=0;i<10;i++){
tenmetsu=0;
System.out.println("描画へ行く");
repaint();
//ここでスリープ実行
tenmetsu=1;
repaint();
}
} else {
for(i=0;i<10;i++){
System.out.println("描画へ行く2");
repaint();
}
}
}
}
とした場合に、なぜか「描画へ行く2」の方だけちゃんとrepaint()にfor回数分飛ぶんです…。
違いはスリープがあるかないか程度なのに…。謎です…。
とりあえず、今後はイベント内ではフラグを立てる程度にしてループ内で処理するように心がけます!
ありがとうございました!!
467:デフォルトの名無しさん
07/10/07 01:59:16
>456
reapint()はシステムに対する描画要求「ヒマができたらpaint()してね」であって、
必ずしも1つのreapint()につき1回のpaint()が呼ばれるわけではない。
reapint();
reapint();
reapint();
と続けざまに書いたとき、paint()はその都度で計3回呼ばれるかと思いきや、
大抵は最後にまとめて1回呼ばれるだけ。
for(i=0;i<10;i++){
tenmetsu=0;
System.out.println("描画へ行く");
repaint(); ←(1)(3)…
//ここでスリープ実行
tenmetsu=1;
repaint(); ←(2)(4)…
}
(1)のrepaint()後にスリープして、そのタイミングでpaint()が呼ばれる。
(2)のrepaint()後に次のループに入り、描画のヒマなしで(3)のrepaint()が呼ばれる。
そこでスリープするのでpaint()が呼ばれる。
「System.out.println("描画へ行く")」はpaint()と関係なく実行されるので毎回表示される。
tenmetsuフラグは0(描画される)→1(されない)→0(される)と変化しているので、
paint()時の描画内容に変化が見られない。
…と、上記ソースがメインのループ内に記述されていればこの説明でいいのだが、
今回のケースはkeyPressed()に書かれていて、そこでスリープしているので話は異なる。
タイミング的に呼ばれるであろうpaint()が呼ばれなくても不思議はない。
そんなことを踏まえて改造するといいと思う。
468:467
07/10/07 02:01:23
なんだこりゃ。念のため修正。
× reapint
○ repaint
469:デフォルトの名無しさん
07/10/07 07:19:01
というかキューに突っ込むか描画段階でOS側が再描画が必要ないと判断したら要求を一つにまとめてるはず。
だから結局最後の1回が実行される。
470:442
07/10/08 02:29:09
libpngを調べてみたんだがC言語用のDLLとか…
LinuxでインストールしたりとかWindowsな俺はだめだ><
C言語のが得意だけどDLL使ってpngにして吐き出すプログラム作って使ってるの?
なるべくフォトショとか市販はなしでフリーで作りたいんだ…
libpng使ったっていうbmp2pngていうソフト使ったけど…702NKでやったけど動かない…
やっぱエミュで動かして実機でとして、ネット介さずに直でインストールしてやる702NKじゃ
だめなのかな?
471:デフォルトの名無しさん
07/10/08 02:42:38
だからGIMPがry
472:デフォルトの名無しさん
07/10/08 03:18:20
8bit PNGで書き出せるソフトくらいいくらでもありそうだが。
てか、すでにスレ違いだわな。
フリーで、とかいいつつそれっぽいのすら探せないなら、
PaintShopProでもPhotoshopElementsでも買っとけ。
473:デフォルトの名無しさん
07/10/08 08:20:30
だいぶ前に迷惑をかけた178です
あの後もここをROMっててやっとあの時から想定したアプリを作れました
特に最近のpngとかのレスは役にたちました
ここの住人の方本当にありがとうございます
でまた質問なのですが敵のアルゴリズムとか人工知能的な事が書いてあるサイトとか知っていたら教えて頂きたいのです
474:デフォルトの名無しさん
07/10/08 12:38:00
そんなスレ違いのことまでいちいちここで聞かなくてもさ、
「ゲームの作り方」みたいな本買うとか、それをキーワードに検索するとか
475:442
07/10/08 19:35:09
助言くれた皆さんありがとう!!
>471
GIMPは前インストールしてたのが重かったり
すぐフリーズしてたから敬遠してたんだ…
でも新しくしたらそんな事もないんですね、使ってみます
476:デフォルトの名無しさん
07/10/08 20:15:34
gimp for winは昔からあんま評価よくないよな。
もう他のosに移っちゃったから今では確認できないけど。
477:デフォルトの名無しさん
07/10/08 20:42:45
WindowsでわざわざGIMPなんか使う人は変態でしょ。
478:デフォルトの名無しさん
07/10/08 21:28:13
確かに GIMP を Windows で使う人は変態かもしれないな。
479:346
07/10/09 13:38:16
>>382さん、結局私も見つけられませんで、当面あきらめることにしました。
知っているのに教えてないわけではありませんので
おそくなりましたが、お知らせしておきます。
480:デフォルトの名無しさん
07/10/09 17:21:01
DoJaでも画面回転状況取得が可能なのは事実上F903iとF904iだけで
P901iTV,P903iTV,SH903iTVはアプリからは画面の回転状態を取得できないんで
まぁ取得できなくてもしょうがないんじゃない?
公開されてないだけって可能性もないわけではないけど
481:デフォルトの名無しさん
07/10/11 03:40:47
まあ、どうせGIMP for win 1.xってオチだろう。
482:デフォルトの名無しさん
07/10/11 09:20:26
個人で Java Verified 通して署名してもらった人います?
どこがいいのでしょうか?
483:デフォルトの名無しさん
07/10/11 22:10:54
オープンアプリでフルブラウザみたいにwebページを取得して表示するのって、どういう関数をどう使えばいいの?
484:デフォルトの名無しさん
07/10/12 00:37:39
GCFでHTTPで貰ってきてパーサ通してレンダラで描画。
ブラウザの実装には専門的な知識が複数必要だから素直に諦めろ。
485:デフォルトの名無しさん
07/10/12 10:26:39
ブラウザというか、URLを指定したらそのページだけを表示するくらいでいいんだけど…(画像表示もいらない)
html描画しないでソースまるごとでもいいんで
それでも難しいでしょうか?
486:デフォルトの名無しさん
07/10/12 12:51:12
全キャリア対応のP2P共有アプリってないのかな?
487:デフォルトの名無しさん
07/10/12 14:14:29
>>483
フルブラウザでも作るつもりかい?
488:デフォルトの名無しさん
07/10/12 15:08:13
>>487
>>485
489:デフォルトの名無しさん
07/10/12 17:52:07
>>486
AUではP2Pできるって聞いたことあるけど(吉田鎌ヶ迫だっけ?)
他のキャリアでは聞いたことないなぁ
490:デフォルトの名無しさん
07/10/12 18:11:25
>>485
フルブラウザ関係ないじゃん。
それだけなら問題はオープンアプリがGCFどこまで採用してるか。
HTTP接続できるならあとはMIDPのクラス使って適当にHTMLソースを描画すればいい。
それくらいなら出来るんじゃない?
491:486
07/10/12 18:25:06
>>489
レストンクス!
AUのみか…OAPかBREWどっちかな?
ググりに逝ってみるか!
492:デフォルトの名無しさん
07/10/12 18:25:36
>>485
通信系のAPIを確認すれば、その程度すぐ作れるのが確認できるだろ。
プログラムを作るのになぜ最低限ドキュメントくらい読まないんだ?
493:デフォルトの名無しさん
07/10/12 19:42:29
>>492
じゃあ作ってみろ口だけカスwwwww
494:デフォルトの名無しさん
07/10/12 19:48:36
>>492
495:デフォルトの名無しさん
07/10/12 19:53:47
>>492
なんでだと思う?
496:デフォルトの名無しさん
07/10/12 19:55:33
>>492
自分こそ読んでないのがばればれだな
497:デフォルトの名無しさん
07/10/12 19:57:01
>>492
ためしに作ってごらん。天才ハカーさんw
498:デフォルトの名無しさん
07/10/12 19:57:23
ファビョりすぎだ
落ち着け
499:デフォルトの名無しさん
07/10/12 20:04:37
m9(^Д^)プギャー
500:デフォルトの名無しさん
07/10/12 20:06:01
WEB上からデータをとってくるだけなら6ステップも書けば済む話だが、いったい何なんだろう。
501:デフォルトの名無しさん
07/10/12 20:08:54
>>500
プログラムを作るのになぜ最低限ドキュメントくらい読まないんだ?
502:デフォルトの名無しさん
07/10/12 20:10:10
「簡単にできる」とか「6ステップでできる」とか
そういう情報いらんから
書けるなら書いてみろっての
ホント口だけのクズばっかだな
503:デフォルトの名無しさん
07/10/12 20:15:50
ゴキブリに負けたゴキブリ以下もいれば、
ゴミに頼るしかないゴミ以下が存在する悲しい現実。
504:デフォルトの名無しさん
07/10/12 20:20:06
>>502は上手いな。
書きたい奴すら書けない空気を4行で作り出した。
505:デフォルトの名無しさん
07/10/12 20:50:17
import java.io.*;
import java.net.*;
public class Access {
public static void main(String[] args) {
try {
URL url = new URL("URLリンク(www.google.co.jp"));
BufferdReader br = new BufferdReader(new InputStreamReader(url.openStream()));
String str;
while((str=br.readLine())!=null)
System.out.println(str);
br.close();
} catch(IOException e) {
System.out.println(e);
}
}
}
506:デフォルトの名無しさん
07/10/12 21:19:42
で、これをどうすれば使えるようになるんだ?
507:デフォルトの名無しさん
07/10/12 21:24:23
そのネタ飽きた
508:デフォルトの名無しさん
07/10/12 21:26:43
C:\WTK22\apps\Access\src\Access.java:2: パッケージ java.net は存在しません。
import java.net.*;
^
C:\WTK22\apps\Access\src\Access.java:7: シンボルを見つけられません。
シンボル: クラス URL
場所 : Access の クラス
URL url = new URL("URLリンク(www.google.co.jp")<));
^
C:\WTK22\apps\Access\src\Access.java:8: シンボルを見つけられません。
シンボル: クラス BufferdReader
場所 : Access の クラス
BufferdReader br = new BufferdReader(new InputStreamReader(url.openStream()));
^
C:\WTK22\apps\Access\src\Access.java:8: シンボルを見つけられません。
シンボル: クラス BufferdReader
場所 : Access の クラス
BufferdReader br = new BufferdReader(new InputStreamReader(url.openStream()));
^
エラー 5 個
com.sun.kvem.ktools.ExecutionException
ビルドに失敗しました
509:デフォルトの名無しさん
07/10/12 21:42:00
MIDP用のAPIを使わなければそりゃ無理だ。
510:デフォルトの名無しさん
07/10/12 22:51:44
import java.io.*;
import javax.microedition.io.*;
import com.nttdocomo.io.*;
import com.nttdocomo.ui.*;
public class Access extends IApplication {
public void start() {
Panel p = new Panel();
TextBox tb = new TextBox("",40,30,TextBox.DISPLAY_ANY);
p.add(tb);
Display.setCurrent(p);
try {
HttpConnection con = (HttpConnection)Connector.open("URLリンク(www.google.co.jp",Connector.READ));
con.setRequestMethod(HttpConnection.GET);
con.conect();
InputStreamReader isr = new InputStreamReader(con.openStream());
char[] buf = new char[1024];
int ch, i=0;
while(-1!=(ch=isr.read()))
buf[i++] = (char)ch;
String str = new String(buf,0,i);
tb.setText(str);
} catch(IOException e) {
tb.setText(""+e);
}
}
}
511:デフォルトの名無しさん
07/10/13 03:02:53
10数年ぶりくらいか・・・
「バカばっか・・・」
512:デフォルトの名無しさん
07/10/13 09:25:05
スーバーバッカーをなめるな
513:デフォルトの名無しさん
07/10/13 14:42:47
import java.io.DataInputStream;
import java.io.IOException;
import javax.microedition.io.Connector;
import javax.microedition.io.HttpConnection;
import javax.microedition.midlet.MIDlet;
import javax.microedition.midlet.MIDletStateChangeException;
public class GETTest extends MIDlet {
protected void startApp() throws MIDletStateChangeException {
try {
HttpConnection con = (HttpConnection)Connector.open("URLリンク(www.nec-mfriend.com) ");
con.setRequestMethod(HttpConnection.GET);
DataInputStream in = con.openDataInputStream();
int input;
while((input = in.read())!=-1){
System.out.print((char)input);
}
in.close();
con.close();
} catch (IOException e) {
e.printStackTrace();
}
}
protected void pauseApp() {
}
protected void destroyApp(boolean arg0) throws MIDletStateChangeException {
}
}
これだと結果がコンソールに出るから実機で使えないんだけど
どうすりゃいいの
514:デフォルトの名無しさん
07/10/13 15:52:51
Formにappendするとか
515:デフォルトの名無しさん
07/10/13 19:16:49
TextBoxにsetStringだよ
516:デフォルトの名無しさん
07/10/13 19:34:45
brackboadにohyeahだろ
517:デフォルトの名無しさん
07/10/13 19:35:19
誰か書き換えてみて
おねがい
518:デフォルトの名無しさん
07/10/13 20:07:27
wmならCMD.exe入れるとかいう技が出来るかも知れんがVMによってはOSから割り込みが入ったらVM止めるな。
519:デフォルトの名無しさん
07/10/13 20:37:57
>>517
何で自分でやらないんだ?
520:デフォルトの名無しさん
07/10/13 20:39:29
できないから
521:デフォルトの名無しさん
07/10/13 20:57:13
こっちでやってもらえないからって質問スレにマルチするな
『上級Java講座』なんて早過ぎたんだ
522:デフォルトの名無しさん
07/10/13 21:02:23
できないの?
523:デフォルトの名無しさん
07/10/13 21:11:03
はい!ストーーーップ!!
教えてクンは全て釣りだ。
もうこれ以上はいいよ。
524:デフォルトの名無しさん
07/10/13 21:29:06
結局誰もわかんないのかぁ…釣りとか言って逃げる…いつ聞いてもこれだ
2chで一番スキル高いのってひょっとして俺なんじゃないの?それともまともなスキル持ってる人はこんなところにこないのか?
525:デフォルトの名無しさん
07/10/13 21:42:40
>>524
sageを入れている時点で別人だと識別できる。
詰めが甘いし、いつまでも同じネタを引っ張っても白けるだけ。
526:デフォルトの名無しさん
07/10/13 21:45:05
で、どうでもいいけどわかったの?さっさと解決してみせろよゴミクズ
527:デフォルトの名無しさん
07/10/13 21:50:49
自己解決しました
あの世へ引っ越すのでもう来られません
528:デフォルトの名無しさん
07/10/13 22:04:34
ホントに誰もわかんないんだw
もういいや
529:デフォルトの名無しさん
07/10/13 22:08:18
うん、さっぱりわかんない。
何しろレス読んでないからな。
何が起こったかも知りたくないが大体予想付くからいいやwww
530:デフォルトの名無しさん
07/10/13 22:09:17
>>513
今コンパイルしてるからちょっと待ってろ
531:デフォルトの名無しさん
07/10/13 22:29:01
おまいらどうして荒し耐性がないんだよ
黙ってスルーしとけって
532:デフォルトの名無しさん
07/10/13 23:01:00
馬鹿な客にこれくらい言えればなぁ・・・って願望を込めてるから。
533:デフォルトの名無しさん
07/10/14 00:29:19
できたわ
じゃあの
534:デフォルトの名無しさん
07/10/14 12:56:29
>>513
Qubeで登録されてるおw
535:デフォルトの名無しさん
07/10/15 17:18:25
もうないぽw
536:デフォルトの名無しさん
07/10/16 14:10:53
MIDPでStringを"+"で連結しようとすると、
StringBuilderがどうのこうのでエラーが出てしまうんだけど
なんで?
昔は 文字列 + 文字列 ですぐに連結できたのに。。。
537:デフォルトの名無しさん
07/10/16 14:22:43
1.5用にコンパイルしてるからじゃね
-source 1.4 -target 1.4 とかコンパイルオプション付けてみれ
538:デフォルトの名無しさん
07/10/16 15:13:50
>>536
実はStringじゃなくてStringBuilderとか
539:デフォルトの名無しさん
07/10/16 15:29:13
>>538 >>537
540:536
07/10/16 18:15:17
>>537
助かった、サンキュ。
ってか分かる人にはすぐ分かるんだな。尊敬。
541:デフォルトの名無しさん
07/10/16 19:14:04
>>537
一応、CDC1.0とCLDCは1.3だぞ。CDC1.1は1.4.2だが。
542:デフォルトの名無しさん
07/10/16 20:12:33
>541
つ[JavaSE]
543:デフォルトの名無しさん
07/10/16 21:17:32
そりゃコンパイラ側の話だろ
544:デフォルトの名無しさん
07/10/16 22:44:50
一応1.4でも通るよ、ただ1.5からは文字列の連結処理はじめ根本的なところがいろいろ変わってるから
545:デフォルトの名無しさん
07/10/17 22:44:01
S!アプリを作成しています。
あるURLからデータを取得した後に
相対パスで画像も取得します。
リダイレクトされたら、以降はその相対パスにしたいのですが
以下のコードで
HttpConnection con = (HttpConnection)Connector.open(url, Connection.READ, true);
con.setRequestMethod(HttpConnection.GET);
code = con.getResponseCode();
なぜか911SHは200 OKなのです。
自動的にリダイレクト後のデータを取得してくれます。
iアプリや911Tやエミュレータなどは302が返され
Location:を得ることが出来ました。
その後に相対パスで画像などなど取得したいが
ベースになるパスがわからないので困っています。
私なりに検索したのですが同じ状況で
困っている人すら見つかりませんでした。
546:デフォルトの名無しさん
07/10/17 22:57:46
>545
何を言ってるのか意味がわからない
とりあえずurlの文字列を具体的に書いてくれ
547:デフォルトの名無しさん
07/10/17 23:27:58
>>545
にわかに信じがたい動作だな
マイナーなTならまだしもSHだし
ブラウザでもあるまいし、もしそうならバグに近いような・・・
>>546
HTTP302からお勉強しておいで
548:デフォルトの名無しさん
07/10/17 23:31:36
GW経由だからそう言う動作になるんじゃいかな。
Sは知らないけど携帯のブラウザでもLocationって勝手に処理されるでしょ?
549:デフォルトの名無しさん
07/10/17 23:38:03
>>548
どっちかというと、Locationをどこが処理するかというのが問題点。
ゲートウェイ・サーバーでやるのか、端末側でやるのか。
550:デフォルトの名無しさん
07/10/17 23:40:58
続き
この件では、HttpConnectionの動作を考えると、バグくさいかなあ。
サーバー側をいじれるなら、そっちでごにょごにょするという対処療法が(汎用性のためには)よさそう。
551:デフォルトの名無しさん
07/10/17 23:53:42
俺も信じられないけど
SoftbankのSH系以外では実際302を受け取っている。
開発中なので具体的なURLは提供できません。
たとえば、最初に
http://hoge.jp/hoge/test.php?code=bar&user=12
を取得し、次に
http://hoge.jp/hoge/image.gif
を取得する。
もし、最初のが
http://hoge.jp/bar/12/data.abc
へリダイレクトされていたら、次は
http://hoge.jp/bar/12/image.gif
を取得する。
というのを実現したい。
でも、SoftbankのSH系にかぎって
最初のが200 OKだから困る。
もうすこし頑張ってみます。
それでも駄目ならS!アプリとサーバで302を使わない仕組みにします。
552:デフォルトの名無しさん
07/10/18 00:37:47
>>547
返しがボケてるよ。説明が分かりにくいってツッコミでしょ。
「相対パス」と言ってる意味がおかしいし。
553:デフォルトの名無しさん
07/10/18 00:46:48
× 対処療法
○ 対症療法
554:デフォルトの名無しさん
07/10/18 00:48:34
546=552
545の説明は充分だと思うが。
その後議論も進んでいるし。
「相対パス」も何が変だと思うんだ?
555:デフォルトの名無しさん
07/10/18 01:56:34
何事もなく次の話へ
556:デフォルトの名無しさん
07/10/18 03:15:11
>>545
ブラウザのプロトコルスタックの上に MIDPのHTTP通信を
実装しているってことでしょう。
> なぜか911SHは200 OKなのです。
> 自動的にリダイレクト後のデータを取得してくれます。
であれば、特に問題はないように思いますが。。
302ならリダイレクト処理、200ならそのまま処理という
実装をすれば良いだけに思います。
557:デフォルトの名無しさん
07/10/18 08:25:22
>>556
favicon.icoを取得するみたいな処理がしたいんじゃね?
それだと
最初に取得するところがURLリンク(foo.jp)でリダイレクト先がURLリンク(ber.jp)だった場合
Location:をプロトコルスタック側で処理されちゃうと取得したはずのURIが不透明になるから
Content-Base:等を取れない限り
そのまま処理なんて出来ないと思うんだけど?
URLリンク(foo.jp)で200→URLリンク(foo.jp)を取得
URLリンク(foo.jp)で302→Location:URLリンク(ber.jp)が返ってくるのでURLリンク(ber.jp)で再試行200ならURLリンク(ber.jp)を取得
と処理したいけど
SHは
URLリンク(foo.jp)で200→URLリンク(foo.jp)を取得
URLリンク(foo.jp)で200→URLリンク(ber.jp)のデータが返ってきてしまうURLリンク(ber.jp)のURIはアプリからは不明
って事だよな
取り敢えずcgiでゲートを作ってそこでLocation:の検出を行うしかないんじゃないか?
558:デフォルトの名無しさん
07/10/18 10:11:35
302の場合は一時的な移動なので、元のURLを使い続けるべき。
301の場合は恒久的な移動なので、新しいURLを使うべき。
作法としてはこうだったかと。
559:デフォルトの名無しさん
07/10/18 14:05:58
実装上の問題であって作法の問題じゃないんじゃね?
鯖が302を返却してるのにAPIが勝手にリダイレクト先を取得しなおして200にしてしまう事が問題になってるんだろ
特に細かくHTTPを操作するのでなければ楽だし便利なんだろうけど
自力でHTTPをある程度操作しようと思ってると余計なお世話な上にアプリのみでは回避策が無いな
560:デフォルトの名無しさん
07/10/18 18:29:25
HTTPやPOPはCUIでコマンド手打ちが一番楽だったな・・・。
561:デフォルトの名無しさん
07/10/18 19:38:20
そんな15年前に策定されたお作法は形骸化してる。
サーバー側アプリでLocationと言えば302。
562:デフォルトの名無しさん
07/10/18 21:50:01
その15年前の仕様を無理やり拡張して未だに無理して使ってるんだよ。
563:デフォルトの名無しさん
07/10/19 11:41:18
URLリンク(www.au.kddi.com)
がいきなり消えてる訳だが。
なんでだ
564:デフォルトの名無しさん
07/10/20 14:38:11
何が消えてるって?
565:デフォルトの名無しさん
07/10/22 21:49:48
このスレは定期的に時間が止まるね
別に俺自身情報を欲してきているわけじゃないが、なぜか気になる存在
566:デフォルトの名無しさん
07/10/23 05:39:31
>>565
俺もココで指摘する住人のレベルが気になる
これを生業に出来るレベルの人ってココにいるの?
567:デフォルトの名無しさん
07/10/23 08:04:39
居るよ
568:デフォルトの名無しさん
07/10/23 09:15:34
>>567
居るよ
だけ言われても・・・・
生業にしている=公式に公開しているはずだろうから作品名位言わないとレベルがわからないだろ常考
569:デフォルトの名無しさん
07/10/23 09:35:17
社名ばれるから言うわけ無いだろ常考
570:デフォルトの名無しさん
07/10/23 10:12:00
同じく生業にしてるよ。
個人でなく仕事でやってるから晒す訳にも行かないけど。
つか、仕事でやってる奴ならiアプリとBREWも兼用だったりするんじゃないかね。
時折そういう話題も出るし。
多分あっちのスレでもランデブーしてるんだろうなw
まぁ質問したい時は質問させてもらってるし、持ちつ持たれつってことで。
571:デフォルトの名無しさん
07/10/23 10:39:52
>>569-570
生業に出来たきっかけを是非教えて欲しい
後はこの他言語も必要とか
572:デフォルトの名無しさん
07/10/23 10:40:58
他人のことをいちいち詮索する奴は、いずれストーカーになる。
573:デフォルトの名無しさん
07/10/23 10:44:19
>>571
そういう話はマ板に逝ってやれ
574:デフォルトの名無しさん
07/10/23 11:58:21
>>572
別に詳しくな内容は知りたくない
専門校みたいな所から流れで就職したのか自分から作品アピールして入ったとかその辺純粋に聞きたかっただけ
>>573
ココ何かというとスレ違い発言だけどでは何を質問すればいいの?
575:デフォルトの名無しさん
07/10/23 12:00:12
CLDC+MIDP+携帯電話用Javaについて。
576:デフォルトの名無しさん
07/10/23 12:55:23
>>575
問題はその次
> 質問でも議論でも何でもこい、と。質問は公式資料をよく読んでからにしましょう。
この部分が曖昧
577:デフォルトの名無しさん
07/10/23 13:10:58
「CLDC+MIDP+携帯電話用Javaについて」の質問でも議論でも何でもこい
他の言語の話も就職相談もスレ違い、いい加減にしろ。
578:デフォルトの名無しさん
07/10/23 13:22:36
では質問があります!
ネットワーク関係なんだけど、
705SHとか905SH以降の機種ではOKで
703SHで903SHでセキュリティエラーがでちゃうですが、
何かこいつらむけに設定してやる必要がありますか?
579:デフォルトの名無しさん
07/10/23 13:55:21
jadの設定は?
580:デフォルトの名無しさん
07/10/23 14:12:15
>>577
すまない今入院中で途中のやつ作れなくて興奮気味だった
581:578
07/10/23 14:32:58
>>579
MIDlet-Permissions: javax.microedition.io.Connector.http,com.j_phone.io.Connector.StorageConnection.read,com.j_phone.io.Connector.StorageConnection.write
MIDlet-1: test, icon.png, test
MIDlet-Data-Size: 1024
MIDlet-Icon: icon.png
MIDlet-Jar-Size: (サイズ)
MIDlet-Jar-URL: test.jar
MIDlet-Name: test
MIDlet-Description:
MIDlet-Vendor: test
MIDlet-Version: 1.0.0
MIDxlet-API: JSCL-1.2.2
MIDxlet-Application-Security: Y
こんな感じに設定してあります。
x03世代以前とx05世代以降で何か変ったんでしょうか?
582:>578
07/10/23 14:49:11
>MIDxlet-Application-Security: Y
この行を削除してみたら?
583:デフォルトの名無しさん
07/10/23 14:51:58
>582は名前欄間違えた。自分はただの名無しです。
あと別件だがjadの1行目は
>MIDlet-1: test, icon.png, test
の行でなければならなかったと思う。
584:デフォルトの名無しさん
07/10/23 22:58:39
>>583
んなこたーねーよ。
585:デフォルトの名無しさん
07/10/23 23:15:13
>583だが、何か別のファイルかスクリプトと勘違いしたみたい。ワリィ
586:デフォルトの名無しさん
07/10/24 12:37:21
質問なんだが
810Tで開発してるんだが8x8の小さい画像を
createImageで連続でロードしてみたら
毎回、502枚でフリーズしたんだが
これは実機の仕様なんだろうか?
ちなみにそれより大きい画像で試してみたが
502枚でフリーズしてた
587:デフォルトの名無しさん
07/10/25 11:00:51
スレ違いや揚げ足取りは積極的なのに質問はスルーされがち
何かおかしい
588:デフォルトの名無しさん
07/10/25 11:29:23
特定の実機に対する話は、その実機を持っている人間しか検証できないんだから反応が無くても仕方がないだろ。
だからといってスレ違いの話をしようというのは、なにかどころか確実におかしな話だ。
くだらないことをいつまでグダグダ引っ張るな。
589:デフォルトの名無しさん
07/10/25 12:49:51
例え実機持ってても500枚以上リソース用意したテストアプリ作るのもねぇ・・・
使うなとしか言えんw
590:デフォルトの名無しさん
07/10/25 13:47:26
携帯で500枚も画像扱うほうがおかしい
591:デフォルトの名無しさん
07/10/25 14:06:16
>>590
そうか?
240x240の画面としてスプライトエンジンを8x8で自作したら1画面構築に使うチップ数は
240/8=30,30x30=900で最大900個
昔の携帯ならいざ知らず今の携帯なら8*8*4+α=256+α,256+α*900で250Kbyte程と考えれば
メモリ容量的にだって余裕がある
普通に使われる可能性が有る量だともうけどな>500ぐらい
592:デフォルトの名無しさん
07/10/25 14:09:35
普通drawRegion使うからなぁ
593:デフォルトの名無しさん
07/10/25 14:23:29
スプライト数は500いっても画像は普通500いかないだろ
594:デフォルトの名無しさん
07/10/25 15:50:16
今、本番のMACS繋がりますか?
出来る人がいたら確認して欲しい。。。
ちなみにラボは繋がります。
595:デフォルトの名無しさん
07/10/25 18:16:38
810T以外にも東芝の3GC機ならフリーズすると思われる。
これらの機種はcreateImageで512個より多いインスタンスを作成するとエラーが発生する。
昔俺も、この現象でアプリを作成しなおしたことがある。
ちなみに、端末仕様書には[オフスクリーンの最大生成数:512]と記述されているのを見たとき、俺は
「オフスクリーンじゃねぇ!!!!!」と心の中で叫んだ。
596:デフォルトの名無しさん
07/10/25 22:20:09
3G型とP7型のどちらでも使用できるアプリを作りたいんですが、
jadの設定はどのようにすればよいのでしょうか?
あと、P7で使用するAPIの中で3Gでは使用できないものって
どんなものがあるか教えていただけますか?
お願いします。
597:デフォルトの名無しさん
07/10/26 01:22:27
携帯のアプリだからjava使うことになったんだけど
何か大変だな
プログラムサイズを小さくすることを優先したり。
http通信でinputストリームだかなんだかを
byte [] work 経由でちょっとづつなくなるまで繰り返し
別のストリームにコピーしてtoByteArrayして
cteateImageとかに使うなんて何だか回りくどいね。
598:デフォルトの名無しさん
07/10/26 04:22:01
>>597
そろそろプログラムサイズに縛られなくてもいいようになってほしいとは思う
というか903iとか旧V社のメガアプリとかが当たり前になれば
599:デフォルトの名無しさん
07/10/26 10:42:32
>>597
前半は100歩譲って同意だが、httpの取り出し方はこうなっててもらわないと実用にならん
知ったかはヤメレ
600:586
07/10/26 11:31:43
>>595
やっぱりオフスクリーンの枚数制限に引っかかってるのか orz
512枚まで逝ってないから違う原因かもと思っていたんだが
見えないところで使ってるのかもしれん;;
返答サンクス
それとイメージ500枚も読んでるのは画像の部分描画してないせいなんだ
昔、iアプリで部分描画したらかなり処理落ちしたことがあったんでな
sアプリだし部分描画にするわ
601:デフォルトの名無しさん
07/10/26 12:10:07
>昔、iアプリで部分描画したらかなり処理落ちしたことがあったんでな
505iくらいまでは全体的に性能が低く、機種ごとの性能差も大きかった。
部分描画の他、透過画像の描画で差が出たり。
今時の端末なら単純な部分描画で処理落ちが気になるようなことはない。
が、描画に限らず極端に動作がトロいソフバン端末とかあるけどね。
602:デフォルトの名無しさん
07/10/27 01:04:51
前半で携帯もJavaも経験はあまり長くないこと(初心者)を示し
詳しく知っているふりなんてしてないけど何で『知ったか』って言われんだか。
見つけたWebからのコピーだけど
byte[] w=new byte[10240];
out=new ByteArrayOutputStream();
while (true) {
size=in.read(w);
if (size<=0) break;
out.write(w,0,size);
}
return out.toByteArray();
HTTPでContent-Lengthが取れれば
にしてByteArrayOutputStream,toByteArrayが省けるな。
とはいうものの
こんなことしなくてもメモリも速度も問題ないんだろうけど
気になっただけ。
この通信中って短い時間ではあるものの
ほかのスレッドが動いてくれないみたいだね。
ちょっとでも止まって欲しくないもんで
細かいことが気になったんですよ。
603:デフォルトの名無しさん
07/10/27 02:36:41
Content-Lengthに嘘っぱちな数字が入ってることもあるけどな
実際cgi経由ならContent-Lengthは好き勝手に改竄できるし
cgiはContent-Lengthを返さないものの方が多い
httpは実用的にAPIを組むなら順次読みながら終端を待つしかないよ
こんなのはhttpの初歩の問題であって回りくどいんじゃなくまともな実装だというべき
まぁ詳しくも無いのに薀蓄語ってる事を指して知ったかと言ってるんじゃない?
604:デフォルトの名無しさん
07/10/27 02:50:02
詳しく無い薀蓄っておかしなことだけどな
605:デフォルトの名無しさん
07/10/27 10:15:46
>>602
そこそこ他人に公開するアプリであれば
通信処理はSub Threadで実装するのが当たり前。
「ダウンロード中です」系のプログレスバーが実装されてるだろ。
で、それを実装するためには、Byte配列からの
取り出し(ループ処理)になっていないと困る。
通信中って決して短い時間ではない。
Content-Lengthの件は>>603の通り。
606:デフォルトの名無しさん
07/10/27 10:31:12
通信してる関数の中で強引に描画してた気が・・・(´・ω・)
607:デフォルトの名無しさん
07/10/27 16:45:58
通信相手は限定されるんだから、Content-Lengthはちゃんと入れるか入れないか決めるだけないんじゃないの?
608:デフォルトの名無しさん
07/10/27 18:16:11
>>607
じゃあMIDPではブラウザみたいなアプリはiアプリみたくゲートウェイがないと作れませんね
確かにiアプリは自鯖にしか繋げられないから自鯖の設定なりゲートウェイのcgiなりで決め打ちできるがな
609:デフォルトの名無しさん
07/10/27 19:17:10
>>608
???
Content-Length無くても問題ないよう作れば良いだけでは。
610:デフォルトの名無しさん
07/10/27 19:58:31
>>609
607は繋ぐ鯖が決まってるからContent-Lengthがあるかないか決め打ち処理できるだろと言ってて
608はんなわけあるかMIDPは本来どこの鯖にだって繋げられるんだから汎用的なAPIとしては現状のがまともな実装だ、DoJaなら確かにそんな処理でも問題ないがな
と言ってるだけだろ
611:デフォルトの名無しさん
07/10/28 00:44:23
>>605
よく見るとファイル1個取り込むごとにプログレス上げるとか
一度の通信量が制限されてる端末だとその制限量を落としきるタイミングでプログレス上げてる
というのが多いが
612:デフォルトの名無しさん
07/10/28 01:44:57
>>601
ファイルサイズが小さい場合はそれでいいけど
ゲームデータなどファイルサイズが大きい場合はそれだとアプリが止まって見える。
613:デフォルトの名無しさん
07/10/28 02:54:06
そうそう
止まって欲しくないんだ
614:デフォルトの名無しさん
07/10/28 09:18:36
止まってるように見えるほど描画速度に違いが出るものなのか
興味ある話だが大きい小さいじゃ分からないな
具体的な縦横サイズ(目安)を頼む
615:デフォルトの名無しさん
07/10/28 10:20:26
飛んでいる矢は止まっている
−ゼノン−
616:デフォルトの名無しさん
07/10/29 09:08:59
CLDC1.1+MIDP2.0+MEXA1.2です。
StringクラスでSJISコードの文字列を保持していて、
これをUTF-8に変換したいのですが、
いろいろ探しているのですが適切な関数が見つかりません。
スマートな方法をご存知の方がいればご教授願います。
617:デフォルトの名無しさん
07/10/29 09:30:06
>>614
なんで今までの話しの流れで端末の描画スピードの話しになるんだ?
ダウンロードスピードのことだろ…ハァ
618:デフォルトの名無しさん
07/10/29 09:41:46
>>616
Stringクラスにした時点で中身はunicodeだろ
getBytes("UTF-8")が通らないなら自力で変換するしかないんじゃね?
幸いStringからUTF-8への変換はそんなに面倒ではないよ
619:デフォルトの名無しさん
07/10/29 10:47:15
>>618
getBytes("UTFー8")で出来ました。
javadocの熟読が足らずすみません。。
助かりましたm(_ _)m
620:デフォルトの名無しさん
07/10/29 14:00:24
>>617
キミが流れ読めてないのかもしれんぞ。
>>601が>>600の
>昔、iアプリで部分描画したらかなり処理落ちしたことがあったんでな
を引用したうえで部分描画の速さについてカキコ。
>>612が>>601に対してファイルサイズによってアプリが止まって見えるとカキコ。
これが部分描画とファイルサイズの関連付けと受け取れる。
それを見て>>614が詳細きぼん。
何か皮肉かツッコミに見えなくもないけど。
621:デフォルトの名無しさん
07/10/29 14:27:58
>>612がアンカミスしてるんだと思う
622:デフォルトの名無しさん
07/10/30 10:52:05
J2SE1.4.2_16、MIDP2.0、MEXA1.2で作ってるんですが、
810Tでのみソフトキーがきかないという現象が起こっていて困っています
他機種では問題なく動作しているんですが、
何か801Tでのみ気をつけないといけない機種依存バグなどがあるのでしょうか
どなたかご存知でしたらアドバイスいただけませんか
623:デフォルトの名無しさん
07/10/30 13:03:41
>>602のソースを見て思ったんだが
どっかのサイトでストリームからバイトデータを読み込む時は
バッファがあるだけ読み込めるとは限らないから
1byteずつバッファに読み込め
みたいな事が書いてあったんだが、これは本当なのか?
624:デフォルトの名無しさん
07/10/30 13:08:10
機種依存で読めない事はある。
DoJaの話だったと思うけど。
625:デフォルトの名無しさん
07/10/30 13:09:53
お前の記憶は当てにならない。
どこのサイトかをまず明確にしろ。
626:デフォルトの名無しさん
07/10/30 15:39:41
docomoが公開してるiアプリ開発ガイドpdfに書いてある
627:デフォルトの名無しさん
07/10/30 16:24:40
このスレかiアプリのスレか、たまに話題になるよな。
read()でサーバから画像ファイル読み込んでも表示できない、なぜだ?っての。
原因はread()1回でファイルサイズ分を取得しきれてなかったと。
で、read()は-1を返すまでループして呼び出すのが安全、として解決と。
>623
必ずしも1byteずつ読む必要はない。1KBずつでも10KBずつでもいい。
読み取り終わったことを見届けるのが大切ってことだろう。
628:デフォルトの名無しさん
07/10/30 16:39:52
ネットワークプログラミングをするならそれは常識だと思ってたんだがそうでもなかったんだな
629:デフォルトの名無しさん
07/10/30 16:51:59
常識を知らないやつがいるってだけだろう
630:デフォルトの名無しさん
07/10/31 00:41:20
Javaとかよく知らず何とか見よう見まねでAntとかつかって出来たが
客先の環境ではJConnectorを使えってエラーが出たらしい。
Antをどう書き直せばいいのかわからん。
orz
631:デフォルトの名無しさん
07/10/31 00:53:19
8割が知識をヒケラカス常識の無い典型的PGタイプやね。。。
632:デフォルトの名無しさん
07/10/31 15:11:14
>>630
内部で使用してるConnectorクラスをJConnectorクラスに修正して、
自分の*.classファイル群にJConnector.classを追加してビルドすればOKなはず。
633:デフォルトの名無しさん
07/11/01 00:09:18
>>632
どうもありがとう
色々設定変えたりしてjavacのエラーがなくなったものの
何度試しても駄目だったが>>632を見て再チャレンジ
preverifyがwrong class nameでエラーになる。
(そもそもpreverifyがわからんのだけど)
JConnectだけpreverifyせずjarしたらできた。
あとでProGuardにも挑戦する予定
634: ◆5cKTrS4ff2
07/11/01 17:34:32
質問です。
今までDoJaでiアプリの開発は経験があるのですが、S!アプリを開発したいと思い環境を整えています。
ひとまずEclipseを入れて(DoJaではEclipseを使っていたので使いたい)、SoftBankのページから
MEXA SDK
Eclipse向けプラグイン
をインスコしてHelloWorldを試してみました。(これは正常に端末で動いた)
そこでいくつか質問です。
1)Eclipseから実行してエミュレータを呼び出すと、実行せずに落ちてしまいます
2)resourceフォルダに入れた画像を表示するアプリを作成しましたが、コンパイルしてもjarにresフォルダが入りません
WTKは肌に合わず、Eclipseだけですべて完結させたいと思っています。
対応策や解決方法をお教えください。
635:デフォルトの名無しさん
07/11/02 01:13:55
音声について皆さんに聞きたいんですが、iアプリやSアプリはmldやmmfなどの
軽いファイルが使用出来るからいいとして、オープンアプリの場合どうしていますか?
wavはめっちゃ重いですよね?しかもアプリ容量が最大300Kbだし…。
midiでは限界があるんですよ。
そもそもwavファイルって軽量化する事は可能なんでしょうか?
636:デフォルトの名無しさん
07/11/02 03:26:26
>>635
midiで我慢しておけ
637:デフォルトの名無しさん
07/11/02 12:27:18
>>635
mmfって、オープンアプリでは使えないんだっけ?
638:デフォルトの名無しさん
07/11/02 17:38:13
>>637
オープンアプリはmidiとwavだけだったとオモ。
音声アリのアプリを作ろうとすると300Kbなんてあっという間な気が…。
639:デフォルトの名無しさん
07/11/02 18:03:51
300kじゃ足りないのでレコードストアに追い出したくても32kしか保存できないし
しかたないので随時ネットからダウンロードしようとしても1日3M制限がネックになるし
auはほんとクズだな
640:デフォルトの名無しさん
07/11/02 18:38:12
勘違いしてるようだがauにとってアプリとは、何を置いてもまずBREWアプリだぞ?
auにとってオープンアプリは「Javaアプリも動きます」って言えればいいだけのもの。
データ保存なし、通信不可、の仕様だったとしても不思議はなかったくらいだ。
次ページ最新レス表示スレッドの検索類似スレ一覧話題のニュースおまかせリスト▼オプションを表示暇つぶし2ch
5397日前に更新/284 KB
担当:undef