• ベストアンサー

iアプリののプログラミングで

iアプリを作ろうとしています。 アプリから画像を取り込むのに、 MediaImage mi = MediaManager.getImage("resource:///…image.gif"); では表示(画像の取得)ができるのに、 MediaImage mi = MediaManager.getImage("http://…image.gif"); では表示というか、画像に対してアクセスすらしてくれません。 何か不具合な点があるのでしょうか? ご存知の方、よろしくお願いします。

  • Java
  • 回答数2
  • ありがとう数1

質問者が選んだベストアンサー

  • ベストアンサー
noname#257915
noname#257915
回答No.2

ADF設定のUseNetworkをhttpにちゃんと設定していますか。 エミュレータ上かjamファイルで設定を確認してください。この 設定をしていないとサーバにアクセスする類のアプリはアクセス できません。 プログラム中でtry~catchのところでSystem.out.printlnでメッ セージを吐くようにしておくとエラーが発生したときエミュレー タ上でのデバッグもやりやすいですよ。 実機でもAppTraceの設定をonにしておくとSystem.out.printlnで 吐いたメッセージが見れるようです。(未確認)

masa0720
質問者

お礼

ありがとうございました。 UseNetworkをhttpに設定した途端、うまくいきました。 本当にありがとうございます。

その他の回答 (1)

  • ran0606
  • ベストアンサー率56% (82/144)
回答No.1

PCで作成しているのでしょうか? エミュレータ設定画面で、 読込先URL→* NetworkAccess→enable になっていますか? 読込先URLにhttp://www.・・・.jp:8080 と記述しても同じですか? HttpConnectionを使っても同じ現象でしょうか? うんともすんとも言わないなら、何かエラーが出ていると思うのですが、どうでしょう。

関連するQ&A

  • iアプリの作成で画像が再描画されません。

    iアプリの作成で画像が再描画されません。 どうしても解決できないのでご教示下さい。 iアプリの作成をしながら勉強しています。 利用しているプロファイルはdoja 5.1です。 class MainCanvas extends Canvas {  public void paint(Graphics g) {   MediaImage mi = MediaManager.getImage("resource:///6.gif");   try {    mi.use();   } catch(Exception e) {    //何らかの例外処理   }   Image image = mi.getImage();   getGraphics().drawImage(image, 20, 0);  }    public void processEvent(int type, int param) {  if (type==Display.KEY_PRESSED_EVENT) {     if (param == Display.KEY_SELECT) {      Dialog dlg = new Dialog(Dialog.DIALOG_YESNO, "終了");      dlg.setText("終了しますか?");      int result = dlg.show();      if (result == Dialog.BUTTON_YES) {       IApplication.getCurrentApp().terminate();      }     }   if (param == Display.KEY_SOFT1) {    MediaImage mi = MediaManager.getImage("resource:///9.gif");    try {     mi.use();    } catch(Exception e) {     //何らかの例外処理    }    Image image = mi.getImage();    getGraphics().drawImage(image, 0, 0);         }    }  } } こんなクラスがあった時、ダイアログがキャンセルされると、 「9.gif」の方がキャンバス上から消えてしまいます。 どういう作りにすると、キャンバスから画像が消えなくなる のでしょうか?

    • ベストアンサー
    • Java
  • iアプリの表示

    いま、簡単なアプリをつくろうと思い、以下のところまでできましたが、 Flashのモーショントウィーンみたいしたいのですが、前の表示の画像が消えないので、つながった画像表示になります。どうしたら前の画像表示が消えて、新しい表示のみにすることができるか?教えていただけたらと思います。docomoのiアプリです。  public class JavaGame extends IApplication { public void start(){ MyCanvas canvas = new MyCanvas(); Display.setCurrent(canvas); canvas.run(); terminate(); } } import com.nttdocomo.ui.*; public final class MyCanvas extends Canvas{ public final static int FPS = 30; // フレームレート public final static int INTERVAL = 1000 / FPS; // フレームの間隔 // --- 変数の定義 long lastTime = 0; // 前回のフレーム終了時間 // --- 変数の定義 Graphics grp = getGraphics(); // グラフィックの取得 MediaImage mi; Image img; int chx; int chy; void run(){ init(); while(true){ proc(); draw(); sleep(); } } void init(){ mi=MediaManager.getImage("resource:///0.gif"); try{ mi.use(); }catch(Exception e){ } img =mi.getImage(); } void proc(){ chy+=10; } void draw() { grp.lock(); int color =Graphics.getColorOfRGB(0,0,255); grp.setColor(color); grp.drawImage(img,chx,chy); grp.unlock(true); } // --- 休止 void sleep() { long wait = INTERVAL - (System.currentTimeMillis() - lastTime); if(wait > 0) { try { Thread.sleep(wait); } catch(Exception e) { } } lastTime = System.currentTimeMillis(); } public void paint(Graphics grp){ } }//class

  • 例外に困っています

    現在自分でiアプリを作成しているのですが、初回ダウンロードでスクラッチパッドにアプリ内で使用する画像を書き込む段階での例外に悩んでいます。 確認した限りではN端末でしか出ないようです。 具体的には以下のような感じです。 //イメージファイル読み込み try { MediaImage m; for (int i=0;i<48;i++) { m=MediaManager.getImage("resource:///"+i+".gif"); m.use(); image[i]=m.getImage(); } } catch (UIException UIEx) { System.out.println("status="+UIEx.getStatus(); } 調べた結果、useメソッドで例外(UIException)が吐かれているらしく、ステータスを調べたところ、2(システムリソースが確保できていない?)でした。 例外が吐かれた後も、別にとってきた画像が使えないわけではなく、ちゃんと次の画面でその画像を表示できています。 いったい何が原因なのでしょうか。 N端末以外だと例外が吐かれていないので、プログラミングは間違っていないはずなのですが・・・。

  • iアプリでのプログラミングでの質問

    Doja3.5でiアプリを作成しているのですが、 getTransparentColorとsetTransparentEnabledが呼び出せません。 リファレンスを読むと記述されているし導入も2.0以降となっているのですが、Imageからではないんでしょうか? できないなら他の方法でiアプリでgif画像をアルファブレンディングにするやり方があるんでしょうか? 

  • 6枚の画像をランダムに表示させる方法を教えてください

    現在do-jaでJavaのアプリケーションを作成しているのですが 6枚の画像をあるエリア内にランダムに配置して表示させたいのですがどういう風にソースを書けば良いか教えてください。 イメージ的にはオセロの盤面に6種類の画像を升目にランダムに配置するものです。 public void start(){ Display.setCurrent(new IAppliCanvas()); } } class IAppliCanvas extends Canvas{ int d1=20; int d2=20; int k1=1; int k2=1; int flgk=1; int flg1=0; int flg2=0; Image img; public static Random rand=new Random(); public IAppliCanvas() { int s=rand.nextInt(6); try { MediaImage mimage; switch(s) { case 1: mimage = MediaManager.getImage("resource:///z-blue.gif"); break; case 2: mimage = MediaManager.getImage("resource:///z-green.gif"); break; case 3: mimage = MediaManager.getImage("resource:///z-orange.gif"); break; case 4: mimage = MediaManager.getImage("resource:///z-prum(1).gif"); break; case 5: mimage = MediaManager.getImage("resource:///z-prum.gif"); break; default: mimage = MediaManager.getImage("resource:///z-red.gif"); break; } mimage.use(); img = mimage.getImage(); } catch(Exception e) { e.printStackTrace(); } } 上記のように記述したのですが同じ画像が全部の升目に表示されてしまいます・・・ ご指南お願いいたします。

  • java.lang.ClsaaCastExceptionで教えてください。

    以下はiアプリで画像を3枚順番に表示し、3番目の画像が表示されたときに選択キーを押すと点数が加算される内容です。 コンパイルは通りましたが、エミュレータで実行すると、Main:java. lang.ClassCastException AnimeIAppというエラーが出ます。 ご指導お願いいたします。 import com.nttdocomo.ui.*; public class AnimeIApp extends IApplication{ public void start(){ Display.setCurrent (new AnimeCanvas()); } } public class AnimeCanvas extends Canvas implements Runnable{ int imgInx; Image[] imgs; boolean isStopped; int score=0; Image animeImg[]=new Image[3]; MediaImage mI; public AnimeCanvas(){ for(int i=0;i<3; i++){ mI=MediaManager.getImage("resource:///"+i+".gif"); try {mI.use();} catch(Exception e){} } doStart(); } private void doStart(){ isStopped=false; Thread th=new Thread(this); th.start(); } private void doStope(){ isStopped=true; } public void run(){ imgInx=0; while(! isStopped){ try{ repaint(); Thread.sleep(500); imgInx++; if(imgInx>=imgs.length){ imgInx=0; } }catch(Exception e){} } } public void precessEvent(int type,int param){ if(type==Display.KEY_PRESSED_EVENT){ if(param==Display.KEY_SELECT && imgInx==2){ score++; } } } public void paint(Graphics g){ g.setColor(g.getColorOfRGB(255,255,255)); g.fillRect(0,0,getWidth(),getHeight()); g.drawImage(imgs[imgInx],0,0); g.setColor(g.getColorOfRGB(0,0,0)); g.drawString("スコア"+ score ,100,100); } }

  • iアプリでプリントスクリーン

    iアプリで、ディスプレイにg.DrawTextやg.DrawImageなどで表示された画面をjpgかgifで保存したいので、参考になるサンプルを教えてください。

  • 1枚だけの画像から、4分割した内容を一つずつ表示させる方法は?

    一枚一枚画像を保存するのではなく、 1枚だけの画像から、4分割した内容を一つずつ表示させる場合のコーディングを教えて欲しいです。 Image a; a = getImage(getCodeBase(), "a.gif"); ...この後に4分割の1番目だけを表示させる方法?

    • ベストアンサー
    • Java
  • ☆FOMA P901i☆PCから携帯に送受信画像が送れません!!

    PCのサイトで送受信画像を見つけて携帯に送ったのですが、画像が動きませんでした。 ここの過去Q&Aを見て、その通りやってみたのですができませんでした。 ファイルの種類もGIFイメージだし、携帯にURLを送ってアクセスしてみたりもしたのですがやっぱり動きません(泣) ちなみに機種はDOCOMOのFOMA P901iを使っています。 本当に困ってます。ご存じの方、いい回答お願いします!!

  • So503i

    So503iで65536色対応の画像を表示するにはどうしたらいいのでしょうか? N503iのようにJpegで表示させようとしましたが無理でした。 png,tiff,bmpすべて無理なようです。 gifは有料化されてしまい、古いコンバーターを使わないといけないので、 できれば他の画像形式で表示させたいのですが...。 それと、120×120くらいの256色gif画像は軽く10KBをこえてしまいます。 この大きさの画像を表示させるにはどうすればいいのでしょうか? (よく壁紙として表示させてる人がいますが、どうやっているのでしょうか?)