- 1 名前:デフォルトの名無しさん mailto:sage [2007/05/24(木) 21:44:32 ]
- J2ME CLDC+MIDPベースの携帯電話用Java(主にEZアプリ、Vアプリ)に関するスレッドです。
質問でも議論でも何でもこい、と。質問は公式資料をよく読んでからにしましょう。 前スレ: CLDC+MIDP+携帯電話用Javaスレッド part 6 pc11.2ch.net/test/read.cgi/tech/1155174514/l50 過去スレ 携帯JAVAのスレッド pc2.2ch.net/test/read.cgi/tech/1011977260/(DAT落ち) CLDC+MIDP+携帯電話用Javaスレッド part 2 pc5.2ch.net/test/read.cgi/tech/1070858996/ CLDC+MIDP+携帯電話用Javaスレッド part 3 pc5.2ch.net/test/read.cgi/tech/1091798483/ CLDC+MIDP+携帯電話用Javaスレッド part 4 pc8.2ch.net/test/read.cgi/tech/1108781476/ CLDC+MIDP+携帯電話用Javaスレッド part 5 pc8.2ch.net/test/read.cgi/tech/1132493827 -- Java一般に関しては: 【初心者】Java質問・相談スレッド88【大歓迎】 pc8.2ch.net/test/read.cgi/tech/1153834996 NTT DoCoMoのiモード携帯電話用Java(iアプリ)については: iモード携帯電話用Java(iアプリ) Part12 pc8.2ch.net/test/read.cgi/tech/1154336955 >>2-5あたりにリンク集
- 464 名前:デフォルトの名無しさん mailto:sage [2007/10/06(土) 16:48:03 ]
- 制限というより、そういう仕様。
java.sun.com/javame/reference/apis/jsr118/javax/microedition/lcdui/Canvas.html >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 名前:デフォルトの名無しさん mailto:sage [2007/10/06(土) 22:07:27 ]
- まあ、java的にはイベントハンドラ内で時間掛けないのは基本中の基本だから覚えれば良いだけ。
ハンドラでフラグ立ててゲームループでフラグ調べてhogehogeすれ!
- 466 名前:456 mailto:sage [2007/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 名前:デフォルトの名無しさん mailto:sage [2007/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 mailto:sage [2007/10/07(日) 02:01:23 ]
- なんだこりゃ。念のため修正。
× reapint ○ repaint
- 469 名前:デフォルトの名無しさん mailto:sage [2007/10/07(日) 07:19:01 ]
- というかキューに突っ込むか描画段階でOS側が再描画が必要ないと判断したら要求を一つにまとめてるはず。
だから結局最後の1回が実行される。
- 470 名前:442 mailto:sage [2007/10/08(月) 02:29:09 ]
- libpngを調べてみたんだがC言語用のDLLとか…
LinuxでインストールしたりとかWindowsな俺はだめだ>< C言語のが得意だけどDLL使ってpngにして吐き出すプログラム作って使ってるの? なるべくフォトショとか市販はなしでフリーで作りたいんだ… libpng使ったっていうbmp2pngていうソフト使ったけど…702NKでやったけど動かない… やっぱエミュで動かして実機でとして、ネット介さずに直でインストールしてやる702NKじゃ だめなのかな?
- 471 名前:デフォルトの名無しさん mailto:sage [2007/10/08(月) 02:42:38 ]
- だからGIMPがry
- 472 名前:デフォルトの名無しさん mailto:sage [2007/10/08(月) 03:18:20 ]
- 8bit PNGで書き出せるソフトくらいいくらでもありそうだが。
てか、すでにスレ違いだわな。 フリーで、とかいいつつそれっぽいのすら探せないなら、 PaintShopProでもPhotoshopElementsでも買っとけ。
- 473 名前:デフォルトの名無しさん mailto:sage [2007/10/08(月) 08:20:30 ]
- だいぶ前に迷惑をかけた178です
あの後もここをROMっててやっとあの時から想定したアプリを作れました 特に最近のpngとかのレスは役にたちました ここの住人の方本当にありがとうございます でまた質問なのですが敵のアルゴリズムとか人工知能的な事が書いてあるサイトとか知っていたら教えて頂きたいのです
- 474 名前:デフォルトの名無しさん mailto:sage [2007/10/08(月) 12:38:00 ]
- そんなスレ違いのことまでいちいちここで聞かなくてもさ、
「ゲームの作り方」みたいな本買うとか、それをキーワードに検索するとか
- 475 名前:442 mailto:sage [2007/10/08(月) 19:35:09 ]
- 助言くれた皆さんありがとう!!
>471 GIMPは前インストールしてたのが重かったり すぐフリーズしてたから敬遠してたんだ… でも新しくしたらそんな事もないんですね、使ってみます
- 476 名前:デフォルトの名無しさん mailto:sage [2007/10/08(月) 20:15:34 ]
- gimp for winは昔からあんま評価よくないよな。
もう他のosに移っちゃったから今では確認できないけど。
- 477 名前:デフォルトの名無しさん mailto:sage [2007/10/08(月) 20:42:45 ]
- WindowsでわざわざGIMPなんか使う人は変態でしょ。
- 478 名前:デフォルトの名無しさん mailto:age [2007/10/08(月) 21:28:13 ]
- 確かに GIMP を Windows で使う人は変態かもしれないな。
- 479 名前:346 mailto:sage [2007/10/09(火) 13:38:16 ]
- >>382さん、結局私も見つけられませんで、当面あきらめることにしました。
知っているのに教えてないわけではありませんので おそくなりましたが、お知らせしておきます。
- 480 名前:デフォルトの名無しさん mailto:sage [2007/10/09(火) 17:21:01 ]
- DoJaでも画面回転状況取得が可能なのは事実上F903iとF904iだけで
P901iTV,P903iTV,SH903iTVはアプリからは画面の回転状態を取得できないんで まぁ取得できなくてもしょうがないんじゃない? 公開されてないだけって可能性もないわけではないけど
- 481 名前:デフォルトの名無しさん mailto:sage [2007/10/11(木) 03:40:47 ]
- まあ、どうせGIMP for win 1.xってオチだろう。
- 482 名前:デフォルトの名無しさん mailto:sage [2007/10/11(木) 09:20:26 ]
- 個人で Java Verified 通して署名してもらった人います?
どこがいいのでしょうか?
- 483 名前:デフォルトの名無しさん mailto:sage [2007/10/11(木) 22:10:54 ]
- オープンアプリでフルブラウザみたいにwebページを取得して表示するのって、どういう関数をどう使えばいいの?
- 484 名前:デフォルトの名無しさん mailto:sage [2007/10/12(金) 00:37:39 ]
- GCFでHTTPで貰ってきてパーサ通してレンダラで描画。
ブラウザの実装には専門的な知識が複数必要だから素直に諦めろ。
- 485 名前:デフォルトの名無しさん [2007/10/12(金) 10:26:39 ]
- ブラウザというか、URLを指定したらそのページだけを表示するくらいでいいんだけど…(画像表示もいらない)
html描画しないでソースまるごとでもいいんで それでも難しいでしょうか?
- 486 名前:デフォルトの名無しさん mailto:sage [2007/10/12(金) 12:51:12 ]
- 全キャリア対応のP2P共有アプリってないのかな?
- 487 名前:デフォルトの名無しさん mailto:sage [2007/10/12(金) 14:14:29 ]
- >>483
フルブラウザでも作るつもりかい?
- 488 名前:デフォルトの名無しさん [2007/10/12(金) 15:08:13 ]
- >>487
>>485
- 489 名前:デフォルトの名無しさん mailto:sage [2007/10/12(金) 17:52:07 ]
- >>486
AUではP2Pできるって聞いたことあるけど(吉田鎌ヶ迫だっけ?) 他のキャリアでは聞いたことないなぁ
- 490 名前:デフォルトの名無しさん mailto:sage [2007/10/12(金) 18:11:25 ]
- >>485
フルブラウザ関係ないじゃん。 それだけなら問題はオープンアプリがGCFどこまで採用してるか。 HTTP接続できるならあとはMIDPのクラス使って適当にHTMLソースを描画すればいい。 それくらいなら出来るんじゃない?
- 491 名前:486 mailto:sage [2007/10/12(金) 18:25:06 ]
- >>489
レストンクス! AUのみか…OAPかBREWどっちかな? ググりに逝ってみるか!
- 492 名前:デフォルトの名無しさん mailto:sage [2007/10/12(金) 18:25:36 ]
- >>485
通信系のAPIを確認すれば、その程度すぐ作れるのが確認できるだろ。 プログラムを作るのになぜ最低限ドキュメントくらい読まないんだ?
- 493 名前:デフォルトの名無しさん [2007/10/12(金) 19:42:29 ]
- >>492
じゃあ作ってみろ口だけカスwwwww
- 494 名前:デフォルトの名無しさん [2007/10/12(金) 19:48:36 ]
- >>492
- 495 名前:デフォルトの名無しさん [2007/10/12(金) 19:53:47 ]
- >>492
なんでだと思う?
- 496 名前:デフォルトの名無しさん [2007/10/12(金) 19:55:33 ]
- >>492
自分こそ読んでないのがばればれだな
- 497 名前:デフォルトの名無しさん mailto:sage [2007/10/12(金) 19:57:01 ]
- >>492
ためしに作ってごらん。天才ハカーさんw
- 498 名前:デフォルトの名無しさん mailto:sage [2007/10/12(金) 19:57:23 ]
- ファビョりすぎだ
落ち着け
- 499 名前:デフォルトの名無しさん [2007/10/12(金) 20:04:37 ]
- m9(^Д^)プギャー
- 500 名前:デフォルトの名無しさん mailto:sage [2007/10/12(金) 20:06:01 ]
- WEB上からデータをとってくるだけなら6ステップも書けば済む話だが、いったい何なんだろう。
- 501 名前:デフォルトの名無しさん [2007/10/12(金) 20:08:54 ]
- >>500
プログラムを作るのになぜ最低限ドキュメントくらい読まないんだ?
- 502 名前:デフォルトの名無しさん [2007/10/12(金) 20:10:10 ]
- 「簡単にできる」とか「6ステップでできる」とか
そういう情報いらんから 書けるなら書いてみろっての ホント口だけのクズばっかだな
- 503 名前:デフォルトの名無しさん mailto:sage [2007/10/12(金) 20:15:50 ]
- ゴキブリに負けたゴキブリ以下もいれば、
ゴミに頼るしかないゴミ以下が存在する悲しい現実。
- 504 名前:デフォルトの名無しさん mailto:sage [2007/10/12(金) 20:20:06 ]
- >>502は上手いな。
書きたい奴すら書けない空気を4行で作り出した。
- 505 名前:デフォルトの名無しさん mailto:sage [2007/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("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 名前:デフォルトの名無しさん mailto:sage [2007/10/12(金) 21:19:42 ]
- で、これをどうすれば使えるようになるんだ?
- 507 名前:デフォルトの名無しさん mailto:sage [2007/10/12(金) 21:24:23 ]
- そのネタ飽きた
- 508 名前:デフォルトの名無しさん [2007/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("www.google.co.jp"); ^ C:\WTK22\apps\Access\src\Access.java:7: シンボルを見つけられません。 シンボル: クラス URL 場所 : Access の クラス URL url = new 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 名前:デフォルトの名無しさん mailto:sage [2007/10/12(金) 21:42:00 ]
- MIDP用のAPIを使わなければそりゃ無理だ。
- 510 名前:デフォルトの名無しさん mailto:sage [2007/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("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 名前:デフォルトの名無しさん mailto:sage [2007/10/13(土) 03:02:53 ]
- 10数年ぶりくらいか・・・
「バカばっか・・・」
- 512 名前:デフォルトの名無しさん mailto:sage [2007/10/13(土) 09:25:05 ]
- スーバーバッカーをなめるな
- 513 名前:デフォルトの名無しさん [2007/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("www.nec-mfriend.com/en/ "); 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 名前:デフォルトの名無しさん mailto:sage [2007/10/13(土) 15:52:51 ]
- Formにappendするとか
- 515 名前:デフォルトの名無しさん mailto:sage [2007/10/13(土) 19:16:49 ]
- TextBoxにsetStringだよ
- 516 名前:デフォルトの名無しさん mailto:sage [2007/10/13(土) 19:34:45 ]
- brackboadにohyeahだろ
- 517 名前:デフォルトの名無しさん [2007/10/13(土) 19:35:19 ]
- 誰か書き換えてみて
おねがい
- 518 名前:デフォルトの名無しさん mailto:sage [2007/10/13(土) 20:07:27 ]
- wmならCMD.exe入れるとかいう技が出来るかも知れんがVMによってはOSから割り込みが入ったらVM止めるな。
- 519 名前:デフォルトの名無しさん mailto:sage [2007/10/13(土) 20:37:57 ]
- >>517
何で自分でやらないんだ?
- 520 名前:デフォルトの名無しさん [2007/10/13(土) 20:39:29 ]
- できないから
- 521 名前:デフォルトの名無しさん mailto:sage [2007/10/13(土) 20:57:13 ]
- こっちでやってもらえないからって質問スレにマルチするな
『上級Java講座』なんて早過ぎたんだ
- 522 名前:デフォルトの名無しさん [2007/10/13(土) 21:02:23 ]
- できないの?
- 523 名前:デフォルトの名無しさん mailto:sage [2007/10/13(土) 21:11:03 ]
- はい!ストーーーップ!!
教えてクンは全て釣りだ。 もうこれ以上はいいよ。
- 524 名前:デフォルトの名無しさん mailto:sage [2007/10/13(土) 21:29:06 ]
- 結局誰もわかんないのかぁ…釣りとか言って逃げる…いつ聞いてもこれだ
2chで一番スキル高いのってひょっとして俺なんじゃないの?それともまともなスキル持ってる人はこんなところにこないのか?
- 525 名前:デフォルトの名無しさん mailto:sage [2007/10/13(土) 21:42:40 ]
- >>524
sageを入れている時点で別人だと識別できる。 詰めが甘いし、いつまでも同じネタを引っ張っても白けるだけ。
- 526 名前:デフォルトの名無しさん [2007/10/13(土) 21:45:05 ]
- で、どうでもいいけどわかったの?さっさと解決してみせろよゴミクズ
- 527 名前:デフォルトの名無しさん [2007/10/13(土) 21:50:49 ]
- 自己解決しました
あの世へ引っ越すのでもう来られません
- 528 名前:デフォルトの名無しさん [2007/10/13(土) 22:04:34 ]
- ホントに誰もわかんないんだw
もういいや
- 529 名前:デフォルトの名無しさん mailto:sage [2007/10/13(土) 22:08:18 ]
- うん、さっぱりわかんない。
何しろレス読んでないからな。 何が起こったかも知りたくないが大体予想付くからいいやwww
- 530 名前:デフォルトの名無しさん mailto:sage [2007/10/13(土) 22:09:17 ]
- >>513
今コンパイルしてるからちょっと待ってろ
- 531 名前:デフォルトの名無しさん mailto:sage [2007/10/13(土) 22:29:01 ]
- おまいらどうして荒し耐性がないんだよ
黙ってスルーしとけって
- 532 名前:デフォルトの名無しさん mailto:sage [2007/10/13(土) 23:01:00 ]
- 馬鹿な客にこれくらい言えればなぁ・・・って願望を込めてるから。
- 533 名前:デフォルトの名無しさん [2007/10/14(日) 00:29:19 ]
- できたわ
じゃあの
- 534 名前:デフォルトの名無しさん mailto:sage [2007/10/14(日) 12:56:29 ]
- >>513
Qubeで登録されてるおw
- 535 名前:デフォルトの名無しさん mailto:sage [2007/10/15(月) 17:18:25 ]
- もうないぽw
- 536 名前:デフォルトの名無しさん [2007/10/16(火) 14:10:53 ]
- MIDPでStringを"+"で連結しようとすると、
StringBuilderがどうのこうのでエラーが出てしまうんだけど なんで? 昔は 文字列 + 文字列 ですぐに連結できたのに。。。
- 537 名前:デフォルトの名無しさん mailto:sage [2007/10/16(火) 14:22:43 ]
- 1.5用にコンパイルしてるからじゃね
-source 1.4 -target 1.4 とかコンパイルオプション付けてみれ
- 538 名前:デフォルトの名無しさん mailto:sage [2007/10/16(火) 15:13:50 ]
- >>536
実はStringじゃなくてStringBuilderとか
- 539 名前:デフォルトの名無しさん mailto:sage [2007/10/16(火) 15:29:13 ]
- >>538 >>537
- 540 名前:536 mailto:sage [2007/10/16(火) 18:15:17 ]
- >>537
助かった、サンキュ。 ってか分かる人にはすぐ分かるんだな。尊敬。
- 541 名前:デフォルトの名無しさん mailto:sage [2007/10/16(火) 19:14:04 ]
- >>537
一応、CDC1.0とCLDCは1.3だぞ。CDC1.1は1.4.2だが。
- 542 名前:デフォルトの名無しさん mailto:sage [2007/10/16(火) 20:12:33 ]
- >541
つ[JavaSE]
- 543 名前:デフォルトの名無しさん mailto:sage [2007/10/16(火) 21:17:32 ]
- そりゃコンパイラ側の話だろ
- 544 名前:デフォルトの名無しさん mailto:sage [2007/10/16(火) 22:44:50 ]
- 一応1.4でも通るよ、ただ1.5からは文字列の連結処理はじめ根本的なところがいろいろ変わってるから
- 545 名前:デフォルトの名無しさん mailto:sage [2007/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 名前:デフォルトの名無しさん mailto:sage [2007/10/17(水) 22:57:46 ]
- >545
何を言ってるのか意味がわからない とりあえずurlの文字列を具体的に書いてくれ
- 547 名前:デフォルトの名無しさん mailto:sage [2007/10/17(水) 23:27:58 ]
- >>545
にわかに信じがたい動作だな マイナーなTならまだしもSHだし ブラウザでもあるまいし、もしそうならバグに近いような・・・ >>546 HTTP302からお勉強しておいで
- 548 名前:デフォルトの名無しさん mailto:sage [2007/10/17(水) 23:31:36 ]
- GW経由だからそう言う動作になるんじゃいかな。
Sは知らないけど携帯のブラウザでもLocationって勝手に処理されるでしょ?
- 549 名前:デフォルトの名無しさん mailto:sage [2007/10/17(水) 23:38:03 ]
- >>548
どっちかというと、Locationをどこが処理するかというのが問題点。 ゲートウェイ・サーバーでやるのか、端末側でやるのか。
- 550 名前:デフォルトの名無しさん mailto:sage [2007/10/17(水) 23:40:58 ]
- 続き
この件では、HttpConnectionの動作を考えると、バグくさいかなあ。 サーバー側をいじれるなら、そっちでごにょごにょするという対処療法が(汎用性のためには)よさそう。
- 551 名前:デフォルトの名無しさん mailto:sage [2007/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 名前:デフォルトの名無しさん mailto:sage [2007/10/18(木) 00:37:47 ]
- >>547
返しがボケてるよ。説明が分かりにくいってツッコミでしょ。 「相対パス」と言ってる意味がおかしいし。
- 553 名前:デフォルトの名無しさん [2007/10/18(木) 00:46:48 ]
- × 対処療法
○ 対症療法
- 554 名前:デフォルトの名無しさん mailto:sage [2007/10/18(木) 00:48:34 ]
- 546=552
545の説明は充分だと思うが。 その後議論も進んでいるし。 「相対パス」も何が変だと思うんだ?
- 555 名前:デフォルトの名無しさん mailto:sage [2007/10/18(木) 01:56:34 ]
- 何事もなく次の話へ
- 556 名前:デフォルトの名無しさん mailto:sage [2007/10/18(木) 03:15:11 ]
- >>545
ブラウザのプロトコルスタックの上に MIDPのHTTP通信を 実装しているってことでしょう。 > なぜか911SHは200 OKなのです。 > 自動的にリダイレクト後のデータを取得してくれます。 であれば、特に問題はないように思いますが。。 302ならリダイレクト処理、200ならそのまま処理という 実装をすれば良いだけに思います。
- 557 名前:デフォルトの名無しさん mailto:sage [2007/10/18(木) 08:25:22 ]
- >>556
favicon.icoを取得するみたいな処理がしたいんじゃね? それだと 最初に取得するところがfoo.jp/でリダイレクト先がber.jp/だった場合 Location:をプロトコルスタック側で処理されちゃうと取得したはずのURIが不透明になるから Content-Base:等を取れない限り そのまま処理なんて出来ないと思うんだけど? foo.jp/で200→foo.jp/favicon.icoを取得 foo.jp/で302→Location:ber.jp/が返ってくるのでber.jp/で再試行200ならber.jp/favicon.icoを取得 と処理したいけど SHは foo.jp/で200→foo.jp/favicon.icoを取得 foo.jp/で200→ber.jp/のデータが返ってきてしまうber.jp/のURIはアプリからは不明 って事だよな 取り敢えずcgiでゲートを作ってそこでLocation:の検出を行うしかないんじゃないか?
- 558 名前:デフォルトの名無しさん mailto:sage [2007/10/18(木) 10:11:35 ]
- 302の場合は一時的な移動なので、元のURLを使い続けるべき。
301の場合は恒久的な移動なので、新しいURLを使うべき。 作法としてはこうだったかと。
- 559 名前:デフォルトの名無しさん mailto:sage [2007/10/18(木) 14:05:58 ]
- 実装上の問題であって作法の問題じゃないんじゃね?
鯖が302を返却してるのにAPIが勝手にリダイレクト先を取得しなおして200にしてしまう事が問題になってるんだろ 特に細かくHTTPを操作するのでなければ楽だし便利なんだろうけど 自力でHTTPをある程度操作しようと思ってると余計なお世話な上にアプリのみでは回避策が無いな
- 560 名前:デフォルトの名無しさん mailto:sage [2007/10/18(木) 18:29:25 ]
- HTTPやPOPはCUIでコマンド手打ちが一番楽だったな・・・。
- 561 名前:デフォルトの名無しさん mailto:sage [2007/10/18(木) 19:38:20 ]
- そんな15年前に策定されたお作法は形骸化してる。
サーバー側アプリでLocationと言えば302。
- 562 名前:デフォルトの名無しさん mailto:sage [2007/10/18(木) 21:50:01 ]
- その15年前の仕様を無理やり拡張して未だに無理して使ってるんだよ。
- 563 名前:デフォルトの名無しさん mailto:sage [2007/10/19(金) 11:41:18 ]
- ttp://www.au.kddi.com/ezfactory/tec/spec/openappli.html
がいきなり消えてる訳だが。 なんでだ
- 564 名前:デフォルトの名無しさん mailto:sage [2007/10/20(土) 14:38:11 ]
- 何が消えてるって?
|

|