iモード携帯電話用Java(iアプリ) Part12

このエントリーをはてなブックマークに追加
952デフォルトの名無しさん:2006/11/17(金) 02:48:54
iアプリからムービーファイル再生可能なの??
953デフォルトの名無しさん:2006/11/17(金) 04:00:19
できますん
954デフォルトの名無しさん:2006/11/17(金) 04:33:42
できませ
955デフォルトの名無しさん:2006/11/17(金) 10:30:12
>>951
家もDoJa.exeじゃ出来ないよ。
956デフォルトの名無しさん:2006/11/17(金) 12:13:38
>>953-954
どっちだよw
957デフォルトの名無しさん:2006/11/17(金) 15:22:56
          ,. 、_,. - '"´  ̄ ̄ ``ヽ、
         /ィ´       l、,ィ   \
        /,ィ /  /  ,ィ リ  |!    ヽ
.      // !/i  //  / ! /  | iヽ.   ハ
      i/! i |  i_l_,./ //   |_リ ! li   !
       |i ! {i i_,.ィ/| /`_/    ´j/``ト/! i  |
       lハ l い l ,イ⌒ヽ     イ⌒ヽ} |lリ、 |
        ヽ!ィヽ ' |ユ:::|      |ユ:::}  リ-! !
          { ム. 辷.リ   、  .L._リ ム } |
         ヽ、.}     _   _    j__ノ l
         /  ヽ、     ̄    /、.   i
        /_,ノ   ` _ュ、.__,.rェ'´  ヽ、_ ヽ.
      -'-‐_/,/  __{_ゝ、__,.-' _}__ ヽ、\` ーヽ
        -‐ 'ー_ァ{    ̄TT ̄    }ヽ、 ``
         _/  |    _L.!_     !  \
        /{    },. -‐' i i `ー- r'    ,\
         / ヽ/  く_   ! |   }   i /   i
       i   !   ``ー'  `´ ̄     l'   l
      /  rーゝ────────‐,ァ-、   !
      /  /ヽ、_〉           〈,.ィ }    i
.     /    〉ヽ_〉            〈-'´ノ.   ',
    /   〈ヽ、〉   知ってるが     7_,.. }    ',
    〈ァーァ' ´ヽノ              ´| iヽ、___.i
    / /   |   おまえの態度が     |   \ヽj
    ,' '      , !                 ト、      |
.   {    / .l     気に入らない    |. ヽ    !
   ヽ __/   !                 !   \__ノ
            |                 |
            |                 |、
.           /|                 | ヽ
          /  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄  ヽ
958デフォルトの名無しさん:2006/11/17(金) 18:22:05
>>943
座長りゅういち 乙
959デフォルトの名無しさん:2006/11/18(土) 01:00:45
ほぼ同じ座標に対して、drawRect() と drawString() をしているのに
見た目の座標がずれているのはなぜですか?
960デフォルトの名無しさん:2006/11/18(土) 02:29:08
Panelで待ち受けアプリを作ってみたのですがソフトキーを押した時に
違うメソッドの新しいパネルを開いた後に元のパネルに戻すにはどうしたらいいでしょうか?

メインメソッドなのでstart();としたらもう一度新しいパネルを開いた際に
com.nttdocomo.ui.UIException: Component already added to other Panel
com.nttdocomo.ui.UIException: Component already added to other Panel
というエラーがでてしまいます。

どうしたら上手くパネルの切り替えができるでしょうか。
よろしければご教授ください。
961デフォルトの名無しさん:2006/11/18(土) 04:26:32
Display.setCurrent()で切り替え自体は可能な事がわかりました。
でもこれだと本当に切り替えてるだけという感じなのでうまくできないものですかね…。
なんかタスク管理してるみたいな感じです。
962デフォルトの名無しさん:2006/11/18(土) 15:13:29
Panel上にCanvasの描画をするということはもちろん無理でしょうか?
Canvas上で文字の色を変えてPanel上でTickerで文字を流したいです。

それともこれを実現する為に他の方法がございましたらご教授お願いします。
963デフォルトの名無しさん:2006/11/18(土) 19:17:55
>962
言ってることが意味不明というか無茶苦茶というか…
もっとiアプリの構造を理解してから取り掛かった方がいいよ。

解説サイトの斜め読みじゃなくてAPIリファレンスとにらめっこしたり
iアプリの作り方みたいな本を最初からじっくり読んだり
初めてiアプリに取り組むなら結局そっちの方が理解が早い。
964デフォルトの名無しさん:2006/11/18(土) 19:45:34
CanvasかPanelのどちらかしかsetCurrentできません。手を抜こうとしたってダメです。

まあ、PanelでImageButtonを置いて、Image.createImageしして描画したものをsetする無茶な方法もあるが。
965デフォルトの名無しさん:2006/11/18(土) 20:15:46
CanvasとPanelは目的が違う独立したクラスであって、
それぞれの持つ機能をやり取りできるようなものではない。
Canvasにラベルやテキストボックスは貼れないし、
Panelにカラフルで自由な形の図形を描くことはできない。

CanvasとPanelの特徴や使用目的なんかは開発ガイドの詳細編に出てる。
例えば画面の上半分をCanvas、下半分をPanelにできないか、なんて
考えてもそんなことはできないってこととか、読めば分かると思うよ。
966デフォルトの名無しさん:2006/11/18(土) 20:29:54
Panelなんて使ったこと無いからわからないが、
Imageは共通なんだから
>>961が出来るんなら、
CanvasでImageをcreateImageしてから、破棄してアニメーションさせればいいんではないか?

それよりもキャンバスでダイアログだのを適当に実装するほうが楽かもな。


>>963
わかってないのはお前だけでしかも意味の無い説教レス。
死ねよ屑。
967デフォルトの名無しさん:2006/11/18(土) 20:51:36
>>959
drawString()はフォントのベースラインの位置を(x,y)で指定しなきゃいけないから、
左上だと思って値を指定すれば当然ズレる。

drawStringへ左上の座標(x,y)を元に指定したいなら
描画に使ってるフォント(font)からアセントを持ってきて

    g.drawString(x, (y + font.getAscent()), ...);

ってな風にしないとダメよ。まぁ、良くAPI解説を読めっていうことで。
968デフォルトの名無しさん:2006/11/18(土) 21:25:07
>966が一番分かってなさそうだな
969デフォルトの名無しさん:2006/11/18(土) 21:49:46
アンカーは正しく。
970968:2006/11/18(土) 22:13:11
>969
おれのことだったら、>968の書き込みのアンカーは>966であってるが。

>962はこう質問していて、
>Canvas上で文字の色を変えてPanel上でTickerで文字を流したいです。
>それともこれを実現する為に他の方法がございましたらご教授お願いします。

Canvas上で文字色の指定を変えても、それでPanel上のTickerで流す文字
の色まで指定できるはずもなく、他の方法も何も、そんなことはできない。

そう答えればよい質問に対して、Imageの話なんかしてないのに
>966は何を答えているのかと思って。
まだ>963の、勉強やり直せってレスの方が言いたいことはわかる。

もし>962が
「Panel上で色付きの文字を流す方法はあるか」という質問だったら
>964>966の回答でもいいかもしれないが。
971962:2006/11/19(日) 22:49:15
自分のせいでスレがあれてしまいすみませんでした。
今待ち受けアプリを作っていて待ち受けアプリを使うとiチャネルが使えませんよね。
だから簡易RSSリーダを乗っけて擬似iチャネルを作りたいと考えました。
が、無理なようで残念でございます。
972デフォルトの名無しさん:2006/11/20(月) 00:13:37
いや、Canvas で気合い入れて作る手もあると思うが……。
973デフォルトの名無しさん:2006/11/20(月) 00:36:49
iアプリのネットワーク接続って、jarのあったところにしかアクセスできないと聞きましたが
これってどうにもならんとですか?
974デフォルトの名無しさん:2006/11/20(月) 00:53:55
以前検索プログラムがウンたらいってたモノですが・・・

Doja4.1を使ってプログラムを作る事になったのですが
辞書での単語検索のように、テキストボックスに打ち込んで
それを検索用ワードの中から検索して
HITしたものを表示、選択するとその内容を表示する。
というモノを作ろうということになったのですが
スクラッチパッドの使い方がイマイチ理解出来なくて・・・

テキストボックスに打ち込んだ文字列を
スクラッチパッドから検索用ワードを取り出して
ループで回したいのですが、スクラッチパッドへの
検索用データ、及び内容のデータの記録方法と取り出し方がわかりません。
一般的なサイトや参考書を見て回っても scratchpad〜 からImputStreamを使ってデータを書き込み、読み出す
とあるだけでスクラッチへのデータの保存方法や、特定のデータの取り出し方法が見つからなくて困っています。

これだけ探しても見つからないという事は、もしかして私が言っているようなプログラムは出来ないんでしょうか?
975デフォルトの名無しさん:2006/11/20(月) 01:00:06
1つのスクラッチパッドは1つのファイルと同じ扱い。
ファイルを入れたければ自分で書き込んだアドレス覚えて
管理する必要がある。
976デフォルトの名無しさん:2006/11/20(月) 03:22:01
>>973
× jarのあったところ
○ jarのあったサーバ
>>974
「スクラッチへのデータの保存方法」や「特定のデータの取り出し方法」をI"n"putStreamやOutputStream
977デフォルトの名無しさん:2006/11/20(月) 03:23:34
切れてスマソ

を使って自分で実装する。
978デフォルトの名無しさん:2006/11/20(月) 05:18:45
>>974
スクラッチパッドは結局のところ、プログラマが自由に使える1byte単位の読み書き空間。
数値だろうが文字列だろうが、プログラマが書き込む位置と形式を決めて使う。
で、その自分で決めた形式、位置に従って読み込む。

int型整数やString型文字列を保存する方法は、適当な解説サイトで見つかるよ。
int型をシフト演算で、String型をgetBytes()でそれぞれbyte[]形式に直したり、
DataOutputStream#writeInt()やDataOutputStream#writeUTF()使ったり、
やり方はいろいろ。
979デフォルトの名無しさん:2006/11/20(月) 09:07:56
>>974
お前の言い回し方から見ると初心者に毛の生えたレヴェルだと思われるので、
無理。諦めろ。
980デフォルトの名無しさん:2006/11/20(月) 11:59:25
DoJa4.1で使えるAPIはDoJaの物とJ2MEの物なのでしょうか?
DoJaのAPIに載っていなくても使える標準のライブラリが有るようなのですが
どこからどこまでなら使えるのかわからなくて困っています。

わかる方いらっしゃいましたらご教授お願いします。
981デフォルトの名無しさん:2006/11/20(月) 12:00:06
>>974
>>974
プログラムの経験が薄い時からいきなり大掛かりな物の作成は辛いと思うよ。
スクラッチパッドの使い方が判らないならスクラッチパッドを使う
サンプルプログラムを作成する事を強くお勧めする。
特にテキストファイルはちゃんと理解してないと扱いにくいから。

とりあえず
1段階目にアプリ起動した時間をスクラッチに記録。
次回起動時に前回の時間を表示するだけのアプリを作成。
これでスクラッチへの読み書きの最低レベルは理解できる。
2段階目としてスクラッチにネットワークからGif画像をダウンロードして
読み込み保存。スクラッチから画像を展開して表示するアプリの作成。
これでネットワークからの保存の仕組みと毎回ダウンロードしない為の
工夫などが身につくと思う。何故画像なのかはiアプリで扱いやすいからという理由だけ。

やろうとしてることはその後でも良いかと。
遠回りに見えるかも知れないがその方が絶対に完成には近づくの早い。
iアプリ慣れてる人間でも君がやろうとしてる事は面倒なレベルだよ。
あと、サンプルがないから出来ないと決め付けるのは良くない。
基本を抑えて、それを自分で応用させる努力は必要。
と説教レスを書き込んでみる。でもマジレスだから・・。
982デフォルトの名無しさん:2006/11/20(月) 12:10:01
>>980
iアプリ固有のドコモ提供の「DoJaのAPI」群。
J2ME内で携帯等で使用するためにコンパクト化された「CLDCのAPI]群。
iアプリを作成する基本はこの2つを使っていると思えばいい。

サンプルではかかれてない事もあるが基本どこかでimport文があるでしょ?
間違っているかもしれないが俺はそう解釈してる
983デフォルトの名無しさん:2006/11/20(月) 12:25:21
>>980
上のBufferedReaderとか一般的なものに限られているYo!!
Eclipseを使っていればどこまで使えるかは判断して自動的にインポートしてくれるYo!!!
だから俺もわからないYo!!!!
984デフォルトの名無しさん:2006/11/20(月) 12:40:12
>>974
@スクラッチパッドを二つに分ける。1000バイトと残りって感じ。
A前の1バイト目に0。2バイト目に0と書き込む。
B後ろの方にストリングをバイト配列変換で書き込む。長さを覚えておく。
C前の1バイト目を1に変える。2バイト目に長さを書き込む。
D後ろの方にストリングをバイト配列変換で書き込む。長さを覚えておく。
E前の1バイト目を2に変える。3バイト目に長さを書き込む。

こんな感じだよ。
わかんないだろうけど、これがわかるようになるまで>>981


985デフォルトの名無しさん:2006/11/20(月) 16:25:04
N902i(SもXも)でsetCurrentすると、まれに背景だけしか描画されないことがあるんだけど・・・だれかしらないっすか?
986デフォルトの名無しさん:2006/11/21(火) 22:09:54
もしかして、画面より大きなサイズのImageを作成できないって罠かも
987デフォルトの名無しさん:2006/11/22(水) 09:15:31
>>986
んでも、Display.width()で取れるサイズでしか描画してないからそれってないと思うんだけどな・・・
988デフォルトの名無しさん:2006/11/22(水) 10:42:44
ビューアが相変わらず作れません…。

ttp://galugari.hp.infoseek.co.jp/i/reate.htm
上記のようなテキストビューアを作りたいんですけど、テキストファイルを画像ファイルに偽装した後、
どうやって画面に表示させていいかわからないのです。

普通に読み込んだら1ピクセルの点が表示されてしまいますし…。
なんらかの変換を行って表示させているのでしょうかね?
描画方法を知っている方、教えていただけませんか?
989デフォルトの名無しさん:2006/11/22(水) 11:52:46
>>988
テキストデータの取り出しが失敗してるんだろう?
読み込んだデータがどんなデータなのかバイナリ出力して
正しいか判断してみればいい。ほんとに正しく取り出せてるのか?
正しいデータであれば文字のエンコードを調べてみるといい。
990デフォルトの名無しさん:2006/11/22(水) 12:02:45
>>988
なぜ偽装しないといけないかを理解してる?
そして、その偽装したデータがどういう構成をしているのかということも。

画像データに偽装されたテキストを一発で描画するなんて都合のいいメソッドはない。
1行ずつ取り出して Graphics#drawString() で描画するのが基本。
テキストの取り出しは >>934 で示された方法を参考に。
メソッドの詳細はAPIリファレンスで調べること。
991デフォルトの名無しさん:2006/11/22(水) 13:12:57
新スレ立ててみた。ミスってたらすまね

iモード携帯電話用Java(iアプリ) Part13
http://pc8.2ch.net/test/read.cgi/tech/1164168601/
992デフォルトの名無しさん:2006/11/22(水) 16:39:52
>>991
|ω・)<乙

|≡3
993デフォルトの名無しさん:2006/11/22(水) 17:12:46
あぁ、レスありがとうございます!
>>989
バイナリ出力ってがよくわからないです、すみません…。
フリーのテキストビューアではファイルが表示されているので、
テキストデータに誤りはないと思うのですが。

>>990
>なぜ偽装しないといけないかを理解してる?
>そして、その偽装したデータがどういう構成をしているのかということも。

おっしゃるとおりで、その部分の理解がまったくできていません…。

>1行ずつ取り出して Graphics#drawString() で描画するのが基本。

1行ずつ取り出す、というのはどういうことですか?

実用的なアプリのサンプルがなかなか見つからなく、途方に暮れていました。
990さん、ちょっとヒントが見えてきました。もう少し教えていただけませんか?

あれ?これは新しいスレに書くべきなのですか?
994デフォルトの名無しさん:2006/11/22(水) 17:25:56
まずは java の入門書でも読むべきだと思うが・・・
995デフォルトの名無しさん:2006/11/22(水) 18:02:32
偽装する、ってのはTXTファイルの拡張子を.JPGとかに替えることかね。
テキストを一行ずつ読む、という処理をやったことあるかい?
996デフォルトの名無しさん:2006/11/22(水) 18:51:18
>>993
バイナリが判らない・・・ってのはプログラマとして
かなり致命的だと思うんだが・・意味が判ってないだけかな。
テキスト形式とバイナリ形式、テキスト処理する上でちゃんと
理解しておいた方が良いと思うよ。検索すればいくらでもでる。
正直、上の方にいる検索でんでん〜の人もそうだけど
いきなり難しい事をやろうとしすぎてると思うんだが。

偽装に関しては外部データを扱う裏技みたいなもの。
一行ずつのくだりは一度でもテキストを画面に出力する
アプリを作っていれば意味は理解できるはずだが・・・。
ためしに長い文章を出力してみればいい。
997デフォルトの名無しさん:2006/11/22(水) 20:04:08
>>994
入門書の入門書のようなものは読んだのですが、
応用がきかせられなくて…。すみません。

>>995 >>996
テキストを一行ずつ読むというのは、
一行ずつ画面に描画する、という意味ですか?

バイナリに関しては少し見てみました。
もうすこし勉強してみます。
偽装するのは本体から読み込ませるときにテキストファイルのままでは
携帯電話のデータBOX認識(マイピクチャ?)でされないからですよね?

それから>>934のような読み込みはresフォルダに入れたデータを読む場合ではないのですか?

初歩的な質問ばかりですみません。
どんなメソッドを使えばいいのかもわからないんですものね…。
みなさんがそうおっしゃるのももちろんです。
でもなんとしても作りたいんです。
998デフォルトの名無しさん:2006/11/22(水) 23:15:25
miniSDとかの外部メモリ処理のAPIはDoCoMoが公開してる仕様書に書いてあったと思うけど、
そもそも勝手アプリで携帯内のファイルにアクセスできたっけ?
999934:2006/11/23(木) 00:33:09
>>997
うひょ!俺褒められたwww
リソースから読むのも、お前さんが偽装した画像ファイルから読むのも、
データストリームという構造上一緒だな。
加えて言うと全く同じコマンドでいけるな。
インプットデータストリームっていうんだぞ。

お前さんのお話のレベルではマジで作れないよ混じれ巣。
残念だったな。
俺に10万くれたら作ってやる。
いやなら業者に払え。
それか3ヶ月ニートになって初めてのサイトからやり直せ。

よし1000get!!
1000デフォルトの名無しさん:2006/11/23(木) 00:42:51
1000?
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。