● はじめてのiアプリ スタートメニューからiαppliTool for DoJa-3.5(FOMA)を実行、 「プロジェクト読込み」でtetrisを選択して「読込み」をクリック。 「ビルド」をクリックして、無事にビルドが終了したら「実行」。 うまくいけば、なんだか出来の悪いテトリスが動いてるはず。 開発ツールをデフォルトのフォルダにインストールした場合、 C:\iDKDoJa3.5\apps\tetris\bin の tetris.jam と tetris.jar がiアプリ本体。 携帯からこのアプリをダウンロードできるようにするために、次のようなHTMLファイルを書く。 nullpo.html------------------------------------------------------------------ <a ijam="#nullpo" href="nullpo.html">ぬるぽ</a> <object declare id="nullpo" data="tetris.jam" type="application/x-jam"></object> --------------------------------------------------------------------------- ウェブサーバの同じディレクトリに tetris.jam、tetris.jar と一緒にアップロード。 携帯から nullpo.html にアクセスしてぬるぽをガッすれば、 携帯にも出来の悪いテトリスがダウンロードされる。 ● 次は何する? C:\iDKDoJa3.5\apps\tetris\src フォルダの拡張子 java ファイルが、 出来の悪いテトリスのソースコード。眺めて楽しむも良し、改造するも良し。 ドコモの技術資料を読みながら、いろいろ遊んでみよう。 分からないことがあれば、このスレで質問すれば誰かが答えてくれるはず。(o´▽`)b 本スレのテンプレのリンク先も参照のこと。
● PC用Javaと携帯用Javaの違い
Java ┳ J2SE(Java 2 Standard Edition) ... PC用Java
┃
┗ J2ME(Java 2 Micro Edition) ━ CLDC┳ DoJaプロファイル ... iアプリ用Java
┃
┗ MIDP ... 他の携帯用Java
iアプリのJavaは、PCのJavaと似ていますが基本的に別物です。
iアプリで使えるAPIは、前述の CLDCAPI.html.zip のAPIリファレンスと、
ドコモのAPIリファレンスに載っているものだけになります。
● 機種依存について
iアプリの実行環境は、Sun や DoCoMo の規格に基づいて個々のメーカーが勝手に実装しているので、
機種ごとに挙動が違ったり、実行速度が大きく異なったりします。
その結果として、しばしば、ある端末で動いたアプリが他の端末で動かなかったり、
PC上で動いたアプリが実機で動かないことがあります。
(もっとも、プログラムそのものに問題があることも多いのですが)
機種ごとの差異、あるいは不具合については、本スレの「機種依存情報」を参考にして下さい。
また、携帯アプリ板に次のようなスレがあります。
アプリの動作確認はここでタノメ。
http://hobby6.2ch.net/test/read.cgi/appli/1087912411/
>>1 Z〜GJ〜いいよ〜いいよ〜
でも
>>1 の「本スレは、」っておかしなことになってるよ〜
そして
>>3 、みのがさないよ〜
ガッ
>>6 >でも
>>1 の「本スレは、」っておかしなことになってるよ〜
すいません、俺の勘違いです、おかしくないです・・・(;´Д`)
流してください流してください・・・
「本スレ」が埋まるまで待つしかないな。 ∧_∧ ∧_∧ (´<_` ) ( ´_ゝ`) / ⌒i / \ | | / / ̄ ̄ ̄ ̄/ | __(__ニつ/ FMV / .| .|____ \/ / (u ⊃
各機種用の振り分け方を教えてください。 自分のアタマで考えた選択肢は、 ・各機種用バイナリをそれぞれ別々に用意してUAなどを見てリンクを動的に変える ・全部ひとつのバイナリに埋め込んでバイナリ内部で対応する ・上ふたつの組み合わせ どんなプログラムなのか、にもよるとは思いますが、 プロフェッショナルな現場で活躍なさっている皆様の定石などあれば ご紹介ください。
>>11 > 全部ひとつのバイナリに埋め込んでバイナリ内部で対応する
容量に問題のない限り、これだな。
近頃は容量もあまり厳しくないし。
機種別バイナリを作らないといけないような厳しさの場合、先に仕様削減する。
ということは504iに合わせて作っておいて スクラッチパッドにダウンロードさせるリソースを 505用とか900用とかに振り分ける みたいな感じなわけですよね。
>>13 ダウンロードさせるリソースは各機種ごとに分ける必要があるかも。
サンプリング音源を使ったサウンドデータを入れる場合とか。
バイナリ内で機種判別するか、jamに起動時のパラメータを書いて
(jamファイルは機種別に用意する)それを使うかするのが吉。
バイナリ振り分けるといろいろ面倒くさいからねえ。
jamファイル複数用意するのもめんどくさいからねぇ。
17 :
デフォルトの名無しさん :04/07/12 13:26
>>17 ということをしないといけないから、めんどくさい。
CGIでADF吐いて、確実にどの機種でも落とせるようにする方法ってシラネ? 前に試したらP504iだけで落とせなくなってたことがあって 数ヶ月気づかずに放置してたので、以来怖くて普通にダウンロードさせてる。
>>19 CGIでADFはかずに、確実にDLできる静的なADFをおく
もしくは、その内容を吐き出すだけのCGI
21 :
デフォルトの名無しさん :04/07/12 18:42
初回起動時に画像ファイル等のリソースをSPにDLするように作ってるのですが、 その直前に時間がかかるというメッセージを表示させようとしても、 何も表示されずに困ってます。 repaint()はタイミングが微妙なので、lock()/unlock()を使ってます。 また、表示させるメッセージの箇所はデバッグプリントで通っていることを確認しています。 どなたかよろしくお願いします。
>>22 何日か前に本スレで話題になってたアレかもね。
まあ意外に繁盛してていいじゃないさ。
個人もしきは名も無き零細企業が作ったアプリでも、 公式に認められれば課金アプリになれますか?
>>25 そんなことをここで聞いてもしょうがないでしょ。
DoCoMoに問い合わせるか、
課金配信サービスをやってるサイトがもしあればそちらへ問い合わせてみなさい。
ちょっと書き方がきつかったかもしれない。 何かしらの認定に関することは、申請の手続きとかそういう流れもひっくるめて その認定機関へ問い合わせるべきだよ、ということが言いたかった。
ドコモの課金システムを使いたいなら公式サイトにならないと駄目 でも個人じゃほぼ無理だし、法人でもサイトが乱立してる現在は簡単じゃない 公式サイトやってる会社にアプリを買い取ってもらうのが一番早いと思われ 独自の課金システムでいいなら誰の許可もいらんぞ iメニューには載らないけどな
よくスクラッチパッドにデータをDLして書き込ませることによって メモリの制限から回避する話題が出ているのを読むのですが たとえば、 画像データとテキストデータをDLしてSPに書き込ませる場合 画像データ(32*32)を8データ、 キャラクター名、体力、魔力(ex:魔法使い、30,45) など、 上記のデータを格納させるためには 書き込む領域指定は具体的にどのように 指定すればよろしいのでしょうか?
>>21 それだけでは何とも言えない。
とりあえず問題の場所のコードをコピペしてみれば。
>>21 エミュレータでの動作なのか、実機での動作なのかを書いてくれ。
実機の場合は機種もタノム。
あと、lock()/unlock()はどこで呼んでるのかも教えてくれ。
processEvent()の中なのか、Thread#run()の中なのか。
そういや、通信中に全スレッドが止まる機種なかたっけ?
うそー、まじ?
>>29 決まりは何も無いから自分の好きにすればいいぞ
逆に言うと全部自分で決めないとダメって事だ
>>26 丁寧にありがとうございましたm(__)m
やはり厳しい審査があるのですね…
>>28 分かりやすく答えて頂いてありがとうございました。
厳しい審査も通り抜けられるプレゼン能力と、そこまでこぎつけるコネクションが必要ということですね…
ちょっと本腰入れて営業してみます。
プログラムと関係ない話題に丁寧に答えて頂きましてありがとうございました。
>>21 DL開始前にpaint呼べ
repaint端末によって動作が違うので、paintを直接呼んだほうがいい
>>29 ttp://2php.jp/iapp/scratchpad.html あと '本スレ' Part4 の 296 あたりから参考になるかも。
見れない場合は、今ならググってキャッシュで確認できると思う。
データの格納イメージが把握しやすくするのだと
「パラメータデータ」「画像」の順に入れれば楽だと思う。
あと、画像は1枚絵にしてしまって、表示はそこから部分切り取り表示
すれば多少のデータサイズ軽減になるかも知れないデス。
的確な回答じゃないかも知れない。ごめん。
結局同程度の質問が分散しただけで、やりにくいったらない。
誰も誘導していないから当然とも言える。
いちいち振り分けるのもめんどくさいし。
だーかーらー言っただろうよ とりあえず作ってみて利用されれば残るだけの話 なーんてあまりにも無計画すぎるって気付かなかったのかなー 立てちまったもんはしょーがない アッチももうすぐ900だし次スレのテンプレで 方向性を明確に打ち出してちゃんと区別するしかないな コッチのスレのテンプレ作りは 大きく評価するけどね。乙!
あー、あっちの新スレ立てるときに誘導かけるよ。
認知度低いうちはこんなもんでしょう。とりあえず乙
>>1
マジで、使い分けできないんだから、乱立はやめてほしい。
47 :
デフォルトの名無しさん :04/07/13 10:17
初心者はちゃんとスレ調べて使い分けろよな。 こっちは常時ageで本スレはsage進行でどうだい。
48 :
デフォルトの名無しさん :04/07/13 10:47
xzf
システム変えようとするとガタガタ不平言うヤツが出てくるのはいつのもことだな。 携帯アプリ板が出来たときもそうだったし。しばらく様子見てみろや。
向こうで初心者質問出たらこちらに誘導。 しばらくそれやってれば、 うまいこと棲み分けできるようになるんじゃなかろうか? まだこっちできたばっかりなんだから、 もう少し様子を見ようよ。
っていうか、スレタイは「初心者歓迎」となってるだけのただのiアプリ相談室だし 初心者質問を受けるとしても、どこまでが初心者の質問なのか、質問者に判断できるわけないし。 どうせほとんどは1レスで解決するんだから、誘導するより、その場で答えるだろうし。
>>51 1レスで終わらないからこうなったんじゃないの?
53 :
CONTI4XZ ◆6l8SKPa8l. :04/07/13 15:28
iアプリを有料としてリリースするときの課金代行の初期費用や継続にはどれくらい費用がかかるんでしょうか?
誰かおせーて...
>>55 やってみたらすぐ起動したよ。WinXPで。
どういうアプリなのか知らんけど。
>>56 マジですか・・・
もう一度いろいろ試してみます。
>>23 うましか?
■スパイシードッグ ver 3.1 for 505i版 β無償ダウンロード
スパイシードッグを暫定的に505i対応したバージョンです。
現在社内テスト中のものを公開テスト向けにリリースしたものです。
このβ版に関しては無保証になります。又お使いいただく方には、
発生した障害等を弊社サポートに送っていただくという前提で
ご利用いたくようお願いしております。
■ご注意点
1) ver 3(504i版)と同じパソコンでご利用いただく場合にご注意ください。
2) DoJa3エミュレータとの組み合わせでの検証は完了しておりませんので
ご注意ください。
障害のご報告先
[email protected]
追加 本体自体が起動しません
出来ませんでした・・・ ご指導を。
・・・このスレであまりに突き放したレスもどうかと思うが(´Д`)
>>23 とりあえず、君の今の不具合が起きている環境で、第三者が認知できるのが
「OSはXP」というだけなんですよ。homeかprofessionalかすら分からない状況。
PCのスペックとか仕様したエミュレータのバージョンとか、操作方法とか
とりあえず「何をどうしたら」今の不具合が発生したのかを説明しないと。
今のままでは
>>58 や
>>61 のような回答が来ても仕方ないよ〜。
起動方法が間違っているとかなら答えようもあるけど、その方法が伝わらない
限りは対応できない。他の人のXPで動いているという意見がある以上、
サポートに尋ねてくれ、というのも他に答えられないからですよ。
すみませんでした。 で、うちのPCはWinXPのHomeで、FMV-BIBLO NB8/900Lというのを使っております。 スペックは良く分かりません。 エミュレータはDoJa3をインストールしています。 症状はsdb.exeファイルをクリックすると、一瞬だけタイトル?が表示されてその後は何も起こりませんでした。 ほかに必要な事があればお願いします
>>63 そのsdb.exeを、ダブルクリックじゃなくてコマンドプロンプトから実行すれば
エラーメッセージが読めるだろう。
で、障害は報告したのか?
>>63 ベータ版というのはそういうものだ。
「発生した障害等を弊社サポートに送っていただくという前提」
と書いてあるだろ?
自分の環境で動かせないなら素直に諦めな。
どうしても使いたきゃ障害を報告しな。
それとPCのスペックくらい知っとけよアホウ。
CPU何使ってようがメモリどれくらい積んでようが
XPが動いてるんならPCのスペックはあまり関係無いかもしれないが、
intelかintel以外かで動く動かないがある場合だってあり得るだろ?
なーにがFMV-BIBLO NB8/900Lだよ。
あとの情報は各自ググって調べろという意味なのか?
ふざけるな
■ご注意点 1) ver 3(504i版)と同じパソコンでご利用いただく場合にご注意ください。 2) DoJa3エミュレータとの組み合わせでの検証は完了しておりませんので ご注意ください。 エミュレータはDoJa3をインストールしています。 釣られ(ry
結局同じヤツがレスするから、初心者歓迎しなさぶりも、そんなにかわらん。
結論 初心者はβ版のソフトを使ってはいけない
ということは、いつまでたってもβ版と名高いmonoを、初心者のオレが使える日は来ないってことですね?
monoは正式版がリリースされましたがなにか?
初心者歓迎しなさぶりというか、 ここはiアプリ製作初心者のスレであって、 PC初心者のためのスレではない。
73 :
デフォルトの名無しさん :04/07/14 11:05
スコアとかを右詰で表示するにはどうすればいいのでしょうか? drawNumberは使えない機種あるみたいですし・・・
Font.stringWidth(String) を使って自分で計算するのですよ
すいません、初心なアプリプログラマです。 int 型のアスキーコードの入った変数を、 str 型に文字変換して、代入したいのですが、 キャストする命令が、どう調べても見つからず、困っています。 誰か方法か命令を知っている方、ご指導宜しくお願い致します。(T_T)
76 :
デフォルトの名無しさん :04/07/14 13:49
>>75 すまん、誰かこの文章を日本語かJavaに翻訳してくれんか?
>>75 /****** 変な日本語失礼しました **********/
void main(){
int a = 33; // 「!」のアスキーコード 33
String s; // これに a のコードを元に「!」を代入する方法を知りたいんです
}
Byte配列からStringを生成できる。 int型をbyteにするのは簡単だ。 この二つの合体攻撃でGOだ(σ・∀・)σ まだわからなかったら、どっちが分からないのか言ってくれ。
>>77 String[] tbl = {" ", "!", (省略) ,"_"};
String s = tbl[a-32];
これでもいいかな?
↑おかげ様で出来ました(^ー^) ありがとうございました。 /**アスキーコードより文字列を返す**/ String STR( int cc ) { byte a = (byte)cc; byte b[] = new byte[1]; b[0] = a; String str = new String(b, 0, 1); return str; }
>>79 あ、それも考えてみたのですけどね(^^;
ご協力ありがとうございました。
String STR( int cc ) { byte b[] = new byte[1]; b[0] = (byte)cc; String str = new String(b, 0, 1); } 失礼、修正に修正を重ねていたので、アホでした。orz
>>74 g.drawString(""+sc, 100-Font.getDefaultFont().stringWidth(""+sc), 100);
こんな感じでしょうか?
どうもありがとうございました。
>>72 仕方ねーべ。まだ認知度低そうだし、このスレ。
それでもレスしてる人間は見た限り5、6人いそうだけど。
回答と呼べるものかどうかは別としてさ。
分かりやすくするわけでもなく、同じ内容をわざわざ長文にしてレスする必要ってあるのかな。
>>72 > ここはiアプリ製作初心者のスレであって、
> PC初心者のためのスレではない。
初心者、っていうのは、はじめたばかりの人のことではなくて、自分のことを初心者と思ってる人のことだからいいんだよ。
自ら初心者とはまったく思ってないし それなりのものが作れる自信もあるんだけど さらにその上をいくスーパー経験者でもないと このスレで質問せざるを得ない空気なんですけど。 ぶっちゃけ職業プログラマなスレと趣味プログラマなスレ という解釈でおk?
>>88 いや、2ch技術系板初心者と、2ch技術系板常連の区分け。
iアプリごときで「質問」しなきゃならんのは、どこからどう見ても初心者 とか言ってみるテスト つか、なんでもいいので次の相談 щ(゚ロ゚щ) カモ-ン
SPsizeをアプリ実行中に調べる方法はありませんか? AppParamをIApplication#getArgsで調べるように。
scratchpadへのアクセスでの例外はdocomoの 「iアプリコンテンツ開発ガイド」に明記されている例外だけ キャッチすればいいのでしょうか? ドキュメントに書いてある「その他の例外」がハードエラー 以外の要因で実質的に発生することはあるのでしょうか? scratchpad関連でのwrite時の例外以外は、ぶっちゃけ端折り たいんですよね…
サーバとデータをやり取りする際、サーバサイドには何をお使いですか>all 例えば、cgi+perlとPHPとJava(Servlet)では、速度が違ってきたり するのでしょうか? それとも、端末やdocomoの経由サーバでのボトルネックの方が 大きく、あまり考慮する必要は無かったりするのでしょうか?
>>90 こんなに機種依存が激しいのだから、質問でまくりだろ。
>>91 自分で表示するしかないぞ。
>>92 Exeptionで全部まとめてとっちゃえ
openをしっかりcloseしないと、再度openしたとき例外出す機種は多いので注意
>>93 全然気にならん。一番作りやすいもので組むべし。
NULLGWDOCOMOの変換用Docomo鯖が最近重すぎて困る。
Fomaのパケホーダイのせいだな。
obfuscatorなに使ってる? 今retroguard使っているが、20KBのアプリで5%くらいしか縮まらん。 性能の良いのがあったら、教えてたもれ
JavaBlender 理由:楽だから。 あと、最近はこなれてきたのか再圧縮に頼らなくても結構容量に余裕でるわ
505iで(Do-Ja3.0でコンパイル)で動いていた待ち受けアプリが FOMA(Do-Ja3.5でコンパイル)では動きません。 調べてみるとcom.nttdocomo.lang.UnsupportedOperationException とのことですが、FOMAになってから何かのメソッドが未サポートになった ということでしょうか? 他にこのメッセージが出るシチュエーションがあるのかな? 教えてエロイ人
>>94 表示…ですか。
つまり、調べる方法はないということですね。
機種ごとにJAM内のSPsizeを変えた場合(Nの409600問題対処の為等)は、
機種判別でSPsizeを知るしかないということになりますか。
有難うございました。
>>97 変な動作するFoma機種もある。Fとか。
Fomaはデバッグほとんどせずにリリースされた感が強いから、そういうとこかもな。
未サポートになったものというのは無いはず
>>98 質問意図勘違いしてレスしてたわ。
スクラッチパッドをオープンして、ストリームの長さ調べてみたら?
できるか知らんけど。
AppParamに書くのが一番楽だと思うがな。
自己レスです。 どちらもDo-Jaの上では動きます。 FOMAの実機(P900iv)でのみ動きません。 Do-Jaで、デバッグトレースで見ると java/lang/ClassNotFoundException: com.nttdocomo.io.X900i.resource.Protocol というExceptionが出ているようです。 出ていますが、Do-Jaの上では動いています。 ???
さらに自己レスです。 どうやらサブディスプレイに描画させる部分が問題のようです。 サブディスプレイへの描画を削除したら動くようになりますた。 似たような現象で悩んでる人は参考にしてください。
>>94 ありがとうございます。
キャッチするのはいいのですが、復旧処理がどうにもマンドクサイので…
ネットワークは初めから例外前提で組むのでいいのですが、scratchpadは
openや読み込み例外が起きたときの復旧フローを考えるのが、
レアケースならFATAL ERRORということで終了しちゃいたいのです。
我侭ですが(w
でも、一応Exceptionで根こそぎキャッチすることはしておいたほうが
いいようですね。ありがとうございました。
>>99 スクラッチパッドは困ったことにInputStream#readで
EOF(-1)を返さないんです。なので、writeで例外を
キャッチするくらいしか方法がありません。
AddParamで別途パラメータを取得するというのは良いアイデアですね。
いっそのことparam.txtとか作って最初に読んじゃってもいいかも。
有難うございました。
ぬるぽスレはここですガッ?
もう30KBいっぱいいっぱい。さらに機能を追加しなければならない。もうだめぽ そーだJavaBlenderを使おう! …ってfor Windows 2000, XPなのね。うちは9x系なのですが 9x系でも動くJavaBlenderライクなJava圧縮ツールご存知ありませんか?
すみませんダメモトでやったら使えました。 でも500バイト削れただけ。やらないよりはましだけど・・・
109 :
デフォルトの名無しさん :04/07/15 23:48
age進行だった
>>80 なんでそんな面倒なことしてんの?
String str = "" + (char)cc;
でいいじゃんw
>>110 他には
str=new String(new char[] {(char)cc});
とか
(new Character((char)cc)).toString();
とか
(new StringBuffer(1)).append((char)cc).toString();
とか考えられるが、どれも効率面じゃ似たようなもんなんだよな。
しかし、なんで
>>80 ,82
はbyte[]使おうとするんだろうか。文字なんだからcharだろ…。
あ、 String.valueOf((char)cc); があるの忘れてた。これが一番楽だな。
>>113 "" + (char)cc
の方が、楽だし圧縮も効きそう。
文字列の連結は他でもやってるはずだから。
>>114 でも、""+(char)ccは、(new StringBuffer("")).append((char)cc).toString()のsyntax sugarだからなぁ。
べつにいいじゃん。 試してないけど、もしバイト数が減るんだったら、使わない理由はない。
●環境:XP+iαppliTool for DoJa-3.0 ●開発歴:無し ●レベル:レベル1、完璧な初心者 ●今までで出来たこと:Helloと表示、他数アプリ動作成功 ●参考にしているもの: このスレ、DoCoMo公式サイト、ん・ぱか工房など。 ●これからやりたいこと: 一般サイトにあるiアプリ(無料アプリ)を落としてエミュ上で動かしたい これの手順を教えてくださいm(__)m
>>103 商業作ってるが、正常に使えばスクラッチパッドが例外を出す可能性は無いとして作ってる。
もちろんcloseし忘れによる失敗はありうる(バグ)ので、きちんと例外時に
メッセージ出すようにしてるけどね。
そしてデバッグ期間でつぶす。
>>117 まずはアプリのUPの仕方を覚える。
UPの仕方を覚えれば、どうUPされてるのかわかる。
そうすればPCからのアクセスが制限されていないかぎり、JadJarがDLできる。
そうすりゃエミュで動かせるでしょ。
>>83 String s = " " + n;
s = s.substring(s.length() - 6);
g.drawString(s, x, y);
こんな手もある。場合によってはstringWidthより少しアプリのサイズが縮む。
>>117 ページのHTMLを見て *.jam をURL直叩きでダウンロードする。
*.jam の中を見て *.jar を直叩きでダウンロードする。doja.exe のコマンドラインで実行。
外部リソース使ってると駄目だが、その辺は逆コンパイルして(以下略)
CGIとか.htaccessとかでPCからダウンロードできないようにしてある場合は無理。
>>116 すくなくとも圧縮前の命令数は増えるのは間違いないと思うよ。
3回のメソッド呼び出しに展開されるんだから。
あとは、「文字列の連結」が他にもあるから圧縮が効くとして、
それがメソッド1回呼び出してるだけどString.valueOf()に勝てるかということになるわけだが、
べつにメソッド名を表す文字列はコンスタントプールに1回出現するだけだし、
そこまで効果ないんではないかと。
>>121 とりあえず、「シンタックスシュガー」というのは、その手法を使うか使わないかの理由には全くならない、ということがいいたいだけなのさ。
>>122 ん?
元の文は「シンタックスシュガーだから」じゃなくて「3つのメソッド呼出しに展開されるから」
という意味だと思うが。
>>124 IPアドレスは偽れるが、偽ったところで自分のIPにパケットが戻ってこれないので意味無しかと。
>>130 うーん?
じゃあ、あなたの「元々」って言ってるのが、漏れが「元の文」と言っているものだ。
「シンタックスシュガー」かどうかによって、
その手法をつかうか使わないか決めるなんてナンセンスだと思うし、
その意味で122さんの言うことはその通り。
でも、115は、単に""+(char)ccは結構多くの命令に展開されるだろうから、String.valueOf1回呼出しの方がいいんでないの?
ということでしょ?
話しの流れをぶった切って悪いが。
>>75 は初心者の質問ってことでOKだと思うのね。
でもそれから突っ込んだ話に発展して
>>131 あたりまでくると
このスレじゃなくて本スレ向きの話しだと思うのね。
>>1 はこのスレと本スレをどう切り分けたいのよ。
ある質問がきっかけでそこから発展した突っ込んだ話しもこのスレで
扱いますってんなら本スレと分けた意味がない。
だからといって「じゃぁここからの続きは本スレで」と途中でスパッと
本スレに切り替えられるものでもないだろう。
>>1 は指針を示せよと。
さもなくば、本スレ使い切ったらこのスレに合流、このスレを使い切ったら
スレタイを本スレのものに直して新スレ立てて従来の本スレの続き扱いで
行ってみては?
(つまり初心者歓迎と銘打ったスレはこのスレ限りで終わり、本スレで
初心者の質問を受け付ける)
>>131 だから、もし圧縮効率が良くて、バイト数減るなら、使わない理由はない、と。
>>133 ああ、そういうことか。
すると、それに対して 121 の発言があるわけだけど、
結局、133さんは圧縮率があがるかどうか何か意見を持ってるの?
バイトコードレベルで、文字列連結が通常の頻度であるコードについて
どの程度圧縮率があがるのか考察があるなら是非聞きたいなー。
>>132 俺自身は、スレを分けることには反対です。
個人的には2つのスレを見なきゃいけなくなって面倒になっただけ。
ただ、あんまり思い入れがあるわけじゃないんで、分けるなら好きにすれば、って感じではあるがw
>>134 しらない。
っていうか、たぶん圧縮率があがる可能性は少ない。
>>132 無理無理。
元スレが今950くらいだろ。
新スレ立てちまえばいくら反対しようが強制的に分離される。
しかもテンプレで初心者をこのスレに誘導するらしいし。
そうなったら反対してても無駄なだけ。
今できることは
ふたつに分かれたスレをどう使うのか
能書きじゃなくて実践あるのみだと思う。
提案もいいがそれだけじゃどうにもならん。
どんどん質問に答えて場合によっては誘導して
自分の考えるオレ指針でガンガン参加していくしかないよ。
と言いつつおれもスレ分離には反対。
反対だがまず間違いなく新スレが立つので
質問に答える態度でアピールしていくつもり。
>>132 は
>>1 に指針を求めているが
>>132 自身はどうしたい?
それをここに書くもヨシ書かずに実践あるのみもヨシだと思うよ。
>>136 なんだ。じゃあ116と121は同じ意見だったのね。最終的には。納得。
>>138 うん、だから「もし圧縮率があがるなら」と。
そうそう。
ここの流れ見た初心者がなんか勘違いして
「String#valueOfより""+(char)ccの方が圧縮率高い」
とか思ったらダメだから、ちゃんとフォーローしておかねば、とウンコしながら思ってたんだけど、一緒に流れていったらしく、忘れてた。
ありがと。
140 :
デフォルトの名無しさん :04/07/19 13:46
ム板で聞くのもどうかと迷ったのですがだめもとで書きます。 作ったアプリの配布はどうしていますか? 無料の勝手アプリで広告収入など商売は一切考えていません。 純粋にひとりでも多くの人に知って(使って)もらえたらいいなと思ってるだけです。 PCならベクターなのでしょうがiアプリでベクター級に宣伝効果を期待できるのは やはりギガアプリかアプリゲットのどちらかなのでしょうか?
>>139 こちらこそ長い間つきあってくれてサンクス。
しかし「もし圧縮率があがるなら」が仮定法だったとわ…w
143 :
デフォルトの名無しさん :04/07/20 08:29
>>140 ココに晒すときの記述
「すごい面白いアプリ発見しました!皆さんも是非やってみては?」
java.util.arrays ってiアプリでは対応していなんですか?
>>144 java.util.Arraysのこと?
CLDCのAPIリファレンスに載ってないんだから対応してるわけないと思うが。
では配列のソートとかどうすればよいでしょう?
Javaしかやってないやつはsortも書けないのかorz
まあええやん。 つか、自分で書いてるとキリがないし、Arraysくらいは欲しかったと思ったよ。 最初は無くて当然とも思ってたけどね。 ソートが云々じゃなくって、Arraysを携帯アプリで使うこと自体が贅沢な話だったし。 今となっては容量にも余裕がでてきてるわけで、素で欲しいわ。
>>149 といっても、CLDCの仕様検討がJCPではじまったころは、まだjdk1.3.xは出てなかった
記憶があるからなあ。しかたないだろ。
それともcom.nttdocomo.util.Arraysが欲しいとかそういう意味?
>>151 たしかに。
というか、java.utilパッケージにJ2SE準拠のクラスをいくつか追加キボン。
>>148 サンプルコードに簡単なソートも入ってるから、
書けるはずだとは思うんだけど、実際はどうなんだろ。
>>153 パフォーマンスいらなかったから、
バブルソートを使ったことはある。
しかし、ソートぐらいはサンプルなくても1から書けるだろ
一度書いたことがあれば、あとはサンプルとか要らずにかけるだろうけど。
J2SEの該当クラスのソースを手本に書いたらよさげじゃないのか?
>>156 ソースを自分で書くと、容量圧迫するんだよ。
(;´Д`).o0(ソートごときで…。6行くらいじゃねーか)
(´-`).。oO(100kbになったから余裕とか言ってる椰子いたなぁ…)
カメラで撮影するアプリ作ろうとしてエミュで画像開こうとすると java.io.IOExceptionが出る。 なんで? ソースに間違いは無いのだが・・
>>160 じゃ、ソースに間違いは無いから気にするな。
>>160 ソースに間違いがないのなら、エミュのバグ。実機で動けばいい。
>>160 いかにも初心者らしい質問の仕方だがこのスレでなら歓迎だ。
まず、提示している情報が少なすぎる。
エミュレータは何を使っているのか(DoJaのバージョン)、
「ソースに間違いは無い」とする根拠は何かとか。
現段階ではせいぜい、エミュレータの使い方は間違えてないか?
(操作じゃなくて設定やファイルの配置)
画像ファイルが適切であるか? くらいしか答えようがない。
レスどうもです。 えーと、DoJa3.5です。 アスキーの出版してる本を見て勉強してるんですけど、 その本の内容のソースがアスキーのホムペからダウンロード出来るんですよ。 そのソースで試してみても同じエラーなので間違いはないかと。 エミュの操作は多分間違えてないはずで、画像も実際ケータイで撮影した物をPCに 取り込んで開こうとしたんです。 実機では試してないんですけどね。
Doja3.5という情報以外は、詳しそうに見えて実は何をしたのかが さっぱり分からないな。ソースの内容もこっちで探せってか? 取り込んだ画像サイズも分からんし、形式も分からんし。 まぁ情報としてはこれだけでも心もとないが…
UTF-8の文字を半角文字か全角文字か判別する方法はありますか? charの値から判別できるのなら良いのですが。
>>166 Javaは、UTF8だろうがSJISだろうが、読み込んだ時点でUCS2になってる。
だから常にcharはUCS2。
全角文字や半角文字は、1つの領域にかたまってるから。
unicode.orgでコードポイントの範囲を調べて比較すればおk。
>>164 ではそのソースが間違えていないという前提で話を進めることにする。
でもソースが見られるURLを書いて欲しいな。(先頭の
http://のhは削って )
エミュレータのフォルダ、iDKDoJa3.5\lib\multimedia\に
sample1.jpg(DoCoMoロゴの絵)、sample2.jpg(トマトの絵)がある。
いま問題にしているアプリを起動して、それら2枚のjpgを取り込んでみて。
これでエラーが出たらソースに間違いありってこと。
エラーが出なかったら、同じフォルダに別のjpg画像を置いて取り込む。
これでエラーが出たら画像ファイルに問題ありってこと。
画像の縦横の大きさ、ファイルサイズ、フォーマットなど調べどころは多いぞ。
>>169 ソースうpしました。
ttp://www.uploda.org/file/0323.zip エミュの画像はロゴ、トマト共に表示されました。
同じフォルダに違う画像を置いてみたらどれも同じエラーです。
SXGA1280*960 90KB jpg
QCIF176*144 11.9KB jpg
等で撮影した画像の画質設定を変えて試してみましたがダメでした。
フォーマットはjpgです。サイズ10KBを越えるとダメなのかと思ったのですが
手持ちのケータイでは一番低い設定でも10KBを下回らず・・・。
でも、実際ケータイで撮影した物だからサイズに依存する物だろうか?
エミュの画像は176*176でどちらも10KB以下ですね。
このサイズでないとダメなのだろうか?
エミューレータと実機の差なんでしょうかね?
>>170 ソースがDLできないが、それはちょっと置いとく。
さて、160氏はDoCoMoの開発ガイドやAPIリファレンスを読んでカメラ機能について
理解を深めて欲しい。いくつか簡単に触れておく。
今回のエラーは以下の条件を満たしていないことが原因と思われる。
実機でアプリからカメラ機能を使う場合、勝手な縦横サイズでは撮影できない。
機種ごとの撮影可能サイズの取得などはAPIリファレンスを参照して。
ファイルサイズ(容量)は当然メモリの制限を受ける。容量は画質指定で変えられる。
指定の仕方はAPIリファレンスを参照して。ちなみに20KB程度でも読み込める。
jpgは内部的にJFIFとEXIFの違いがあり、大雑把に言って前者はPCで扱うフォーマット、
後者はデジカメで扱うフォーマット。もしかしてエミュレータでEXIFを読み込ませたから
エラーが出たのかもしれない?(スマン、確証なし)
それからサンプルソースがどうなっているかは知らないけど、カメラ撮影周りは
try-catchでがっちりフォローすべきだと思う。
EXIFはJFIFのみ対応のソフトでも読み込めるように拡張されてるから JFIFとEXIFの違いの件は大丈夫じゃないかな。 他の点は171さんの言う通りだと思う。
ダウンロード出来ないとのことで一応別の所にも、うpしときました。
ttp://kazumi.jdyn.cc/cgi-bin3/stored/up0348.zip >>163 さんのアドバイス
>>171 に習って色々試してみました。
まず撮影可能サイズを取得すべく
Camera.getAvailablePictureSizes()メソッドを使いその戻り値を表示したところ
1:(640,480)
2:(352, 288)
3:(176, 144)
4: (128, 96)
の四つのサイズが撮影可能らしい。
そこでQCIF(176, 144)の画像を開こうと試みるもエラー。因みにjpgの11.9KBです(JFIFかEXIFかは不明)。
次にtakePicture()メソッドの直前にsetImageSize(176, 144)を指定してみるも同じ結果。
気を取り直しjava.io.IOExceptionに注目してみた。
これはJ2SEの例外クラスでしょうか。
参照:
http://java.sun.com/j2se/1.3/ja/docs/ja/api/java/io/IOException.html んでもってcatch(java.io.IOException e)で捕らえようとしたけど何故か捕まらない。
コンストラクタIOException(String s)にて詳細を取得すれば何か手がかりになるかと思ったが捕まらない。
以上取りあえず試してみたことです。
メモリの容量制限はちょっと分からなかった。
iアプリ初心者と言うよりJava初心者に近いので文章に意味ワカンネという所があるかも知れんが・・・勘弁してくれ。
>>173 うちのエミュレータ(DoJa3.5-1.03)だとエラーでないわ
ソースの変更は無しで、フォトショで作った352x288のJPG画像読ませた
ちなみにJDKは1.4.2使ってる
>>173 サンプルアプリのソースを見たが、カメラ撮影と表示におかしな点はない。
また、
>>170 の時点でDoCoMoロゴやトマトの画像を読み込めていることから、
160氏が使っている画像に何らかの問題があるのではないかと考えられるのだが…
その「QCIF176*144 11.9KB jpg」の画像にこだわる意味はないから使うのやめてみれ。
こちらでサンプルアプリを実行してみたが、PC上で加工したjpgも
N505iで撮影してminiSD経由でPCに取り込んだjpgも問題なく読み込めた。
(288x352 8,622 バイト EXIF) エミュレータはDoJa-3.5用。
それからAPIリファレンスのCameraクラスを見てもIOExceptionをスローするメソッドはない。
(ストリームへのアクセスがないのに撮影&表示で発生するとは??)
>>173 IOExceptionがcatchできないのは、catchしようとしてるスレッドではIOExceptionが発生してないからだよ。
あと、IOExceptionはCLDCで定義されてるんであってJ2SEではないよ。
まあ、IOExceptionならどっち見ても同じだけど。
ちゃんとCLDCのAPIリファレンス見てる??
もうね、わけわかんないよ。
皆さん、親切にレスしてくれてありがとう。
163さんなんか俺の最初のカキコから付き合ってくれてるのに
未だ解決出来なくて申し訳ない。
で、もう一度整理してみる。
まず俺の環境から
WindowsXP HoemEdition Ver2002 SP1
JDK1.3.1_12
DoJa3.5(FOMA)
んでもって、ソースは
>>173 でうpしたとおり。
みなさん問題なく表示されているようなので俺もペイントで作成してみた。
その問題の発生したjpgファイルもうpしてみた。
ttp://www.uploda.org/file/0444.zip この中にある352-288.JPGを表示させようとファイルを開こうとした直後
DoJa.JPGのようになる。勿論この画像に限らずその他の適当な画像も同様(トマトとロゴ以外)。
それと、うpしたフォルダにはないが俺のケータイP900iで撮影したCIF(352*288)jpg12KB
をminiSD経由でPCに取り込んでも同じでした。
因みにどうして、JDK1.4を使わないのかというとDoJa3.5では正式には対応しておらず
不具合が発生することがあるらしいと、アスキー談。
いや、別にもう今、解決出来なければそれでも良いかなと。
何時か、ひょんな事から解決出来るかも知れないしさ。
もうカメラは飛ばして他を勉強しようかと。
>>178 どうも、このIOExceptionは、アプリとは関係ないところで発生してる気がしてならん。
エミュレータのバージョンは、175さんのもの(1.03)と同じ?それとも違う?
なんとなく実機で動かしたらすんなり動く悪寒。
>>178 こちらでも追試してみたが、やはり画像がいかんのだと思う。
別件で作ったカメラを使うアプリでも試したけど、やはり352-288.JPGは開けなかった。
(実機では普通に撮影画像が読み込めるものです)
気にせず、実機で撮影したものが読めればOK,ぐらいの気持ちでいいんじゃないか?
>>178 352-288.JPGで普通に開けたぞ
> どうも、このIOExceptionは、アプリとは関係ないところで発生してる気がしてならん。
禿同
エミュレータが利用している下層JREが対応していない悪寒がするな
なお環境はこんな感じ
WinXP PRO Ver2002 SP1
JDK1.4.2_04
DoJa3.5-1.03
ちなみにアスキーのFOMA本のサンプルはこの環境で何本か試してみたけど今んとこ不具合ない
>>178 こちらの環境ではサンプルアプリから352-288.JPGを読み込めた。
サンプルアプリはダウンロードしたものをコンパイルせずそのまま起動。
Windows2000 SP4
jdk1.3.1_06 ←
>>178 と微妙に違う。果たして?
DoJa-3.5, Ver.1.0.3
DoJa-3.0, Ver.1.0.2 ←一応やってみたけどこれでも読み込めた
>>180 氏は読み込めず、
>>175 氏は読み込めている。
こうなってくると
>>179 氏や
>>181 (=175)氏の言うとおり開発環境の問題か?
>>178 「不具合が発生することがある」って、具体的な不具合が書いてないのならただの脅し文句。
公式に対応してないから、動かなくても文句いうなよ、程度の意味。
XP HOMEだからとか、もしくはGDI+の有無とか考えられるか?
>>183 JDKは、1.4と1.3で、UIまわりの実装が大幅に変更されちゃってるから
本当に動かない可能性も否定できない。
漏れは、1.3で動いてたswingのアプリが1.4で動かなくなって苦労しますた。
>>185 ?
…すみません。私にはサッパリ意味が分かりません。
>>186 いや、エミュレータが1.3でしか動作保証してないって話にレスしたつもりなんだけど。
一般的には183さんの言う通りだが、JDK1.3と1.4は大幅に実装が変わっちゃってるので
本当にエミュレータがおかしな動きをする可能性があるということ。
どこかスレ違いですか?
1.3でも1.4でもjavacが吐くコードに変化はないと思うが。 J2SEのクラスなんか関係ねーし。
>188 中間コードが変化がなくても、1.3と1.4ではVMの動作は変わるんじゃないかい? 携帯アプリエミュだって、VMと似たような物なんだし。
>>189 VMの動作変わっちまったら、そりゃJavaの信義に反するわ
>>190 VMの動作、ゴンゴン変わってるのだが。
GCのやり方やら、Swingコンポーネントの描画方法やら。
Swingコンポーネントの描画は、VMの上のレベルの話か・・・。
DISK1/setup.exeが開けません。 スタンダードエディションが見つからないといっています・・・。 どうすればいいのでしょうか?
>>194 ふつうにDoJaのインストーラーの話だと思うが。
>>193 で、Javaは何をインストールしてんの?
書かれているとおり、 Windows Offline Installation, Multi-language (j2sdk-1_4_2_05-windows-i586-p.exe, 51.09 MB) なんですが、これのインストールも最後まで行かないんです・・・。 問題があるとか言われて・・・。
どうも、色々お騒がせしました。一応の決着を付けました。
ジオにうpして実機で動作確認しました。表示出来ました。
>>179 さんの言うとおりver3.5_1.03でして、実機で試したらすんなり動きました。
みなさんのレスみているとやはり、PC環境の問題のような気がします。
何が影響しているのかはさっぱりですけどね。
>>183 先に詳しいことは書かなかったけど、実際1.4だとうまく動作しないアプリがあった物で
アスキーの本では必ず1.3をインストールすること。と断言していたので。
まぁここで捻くれる必要もないか、と言う感じで。
それ以降、1.3と1.4の議論がされてますが確かに実体験から挙動は違う箇所があるようです。
俺も最初1.4だったけどうまく動作しないアプリがあったので1.3を入れたら動きました。
たぶん初歩的なCanvasアプリだったと思います。忘れました。
何はともあれ次節に進むことにします。
1.3だろうが1.4だろうが、本質的な部分でこのスレとは関係ない
エミュが1.3か1.4かで挙動が違う可能性がある、という部分までは賛同できるが、それ以外の議論は無駄
・・・まぁこのレスも
>>197 の「実機で確認した」ということで意味がないんだけどな
結局、腑に落ちないときは実機で確認しろってことかね
追加です。 emufordoja3_5_foma_109のセットアップが出来ない んですが、どうすればいいですか? その前のはインストールできていると思います。
その前の、ってなんだ?
いままでずっと1.4でDoJa使っているが、初歩的なCanvasアプリが動かなかったことなどない。
1.4はインストールできていると思うのですが、 スタンダードエディションが見つからないと言っています・・・。
インストールも最後までいかない、と書いてあったと思うんだけど。
はい、なんか「開発ツール」や「デモ」などを選び方によって 成功したり失敗したりします。 後は次の項目のチェックを入れたりはずしたりもよって・・・。
とりあえず、自分だけにわかることばじゃなくて、ちゃんと書いてくれる? で、ディスクはいっぱいになってないよね。
初心者歓迎のスレだとは言え、これはあまりにもひどい。
すいませんでした。 勉強して出直してきます。
テスター向けの機種はどれでつか?
P503iなんかいいかもね マジレスすると、Nで使えれば速度的には他の機種でも大丈夫という印象がある
DOJA3以降 読み込んだ画像の上に線とか文字を書いて、 それを範囲指定してコピーしたいんだけど、 どの命令で出来ますか? ちなみにコピーしたやつはアンドゥ用に使う予定です。
>>210 読み込んだImageに対してgetGraphics()
あとはGrahpicsクラスのメソッドが使い放題だ。
すきにしてくれ。
>211 copyAreaはダメでしょうか? ちょっと見た感じでは一番やりやすそうだったんですが。
>>212 コピーって、アンドゥに使うってことは、
コピー元とコピー先は同じGraphicsではないんでないの?
だったらcopyAreaは使えん。
getPixelsとか使うことになると思うが…。
アンドゥ用の画像を画面外のどこかに置いておいて、 元に戻すときに、画面外から持ってきて メイン画面に表示…ってなことを考えてます。 copyAreaではダメでしょうか?
>>210 copyAreaではダメか、copyAreaではダメか、しつこく聞くな。
やれよ勝手に。なんでそんなこと人に確認取ろうとしてんだよ。
>>215 すいません。
できるかどうか作る前に知りたかったもんで。
>>211 ありがとうございました。
getGraphics() してからファイルに書き出せ
>>216 まあ、そこまで考えてるなら実験してみるのがいいね。
だめならgetPixelsつかえばいいし。
219 :
デフォルトの名無しさん :04/08/02 17:42
iアプリでネットワーク対戦ゲームを作りたいのですが、 iアプリって、ソケット通信できますか?
>>220 ありがとうございました。
iアプリでのネットワーク対戦ゲームの作り方を紹介してる
HPとか、本とか ありますでしょうか?
ご存知なら教えてください。m(_ _)m
>>221 iアプリではなく、CGIゲームで探すといいぞ。
HTTP通信でネトゲという考え方が同じだ。
>>222 わかりました。探してみます。
ありがとうございました。
ソケット通信ってなんですか?
226 :
デフォルトの名無しさん :04/08/02 18:41
とあるサイトでiアプリを配ってるんですが、なぜかD900iだけダウンロードできないと報告がきています。 メッセージは、「ソフトに誤りがあります」と出るらしいです。 (メッセージからすると、.jamファイルの解釈でつまってそうですが) 漏れは、Javaはあまりというか全然詳しくないし、実機があるわけでも無いし... この辺を調べれ!というのがあったら、おながいします
前にも見たような・・・
229 :
デフォルトの名無しさん :04/08/02 19:01
以下の通りです AppNameとPackageURLはアプリを特定できないように変えました。 (文字数は同じ) UseNetwork = http LastModified = Sun, 31 May 2004 11:07:03 SPsize = 70020 AppClass = IamI UseBrowser = launch AppName = アプリのお名前1 PackageURL = ABCDEFGHIJ.jar AppSize = 20006
SPsize = 70020 これか?
アプリで使える3Dグラフィックスのフォーマットはどちらになるのでしょうか? また、フリーソフトでそれを作成できるソフトなどありますでしょうか?
235 :
デフォルトの名無しさん :04/08/03 15:50
>>228 ,231
どんな内容だったか覚えてないでつか?
過去ログが見られない状態なので...
ひょっとして、アプリの名称に半角カナがあるとダメとか?
過去ログ見てみたけど、特にDについてはなかったな。 とりあえずSPsize = 409600にしてみそ。 (これはP900、N900のJPEGバグ回避用だが、D900は…?) あと、アプリの名前の文字が特定の日本語文字だとダメな機種が 昔存在したな。D900がそうかはわからんが。 アプリ名の最後をとりあえず半角英字にしてみ。 どっちもダメだったらもう一度戻っておいで。 その時は、いつエラーがでるかも調べておいで。 DL始まる前。 DL中。 DL終わって保存するとき。 FOMAは通信早くて見分けつきづらいんだけどね。
237 :
デフォルトの名無しさん :04/08/03 17:24
2つの150KBのIモーションを連続してPanel上で再生することはかのうでしょうか
>>235 (=229?)
制御コードの問題でアプリ名に使えない文字があるって情報。
そのときはSH900が問題になっていた。
>>229 はアプリの名前が伏せられてるから答えようもないけど。
>>235 とりあえず、
AppName = aaaaaaaaaaaaaa1
とかで試してみれば?
>>238 SH900の問題とやら教えて欲しい。
900系の中でSHだけは気をつける点が無くていい機種だと思ってた。
P,N→SPを409600にしないと通信、JPEG読み込みが逝かれる問題
F→待ち受け。休眠から非活性化へ移るときメッセージより先にスレッドが復活してしまう
D→全体的にもうダメポ
>>240 SH⇒半角カナの後にメタ文字を含んだ漢字を使用するとDL後保存できない
⇒505シリーズまで実装していた拡張APIのQRコードリーダーが900iになって実装されなくなった
⇒AppTraceにて出力できない端末がある
他にもあるんじゃない?
訂正。 「QRコードリーダー」⇒「コードリーダー」ね。
>>241 > ⇒505シリーズまで実装していた拡張APIのQRコードリーダーが900iになって実装されなくなった
DoJa3.5で標準APIに移ったからでは?
うほっ、ありがd 半角カタカナにはしっかり対応してもらいたいものだ。 携帯では半角頻繁に使うんだから(´・ω・`)
245 :
デフォルトの名無しさん :04/08/04 11:33
substringが思ったとおりに動作しなくてこまってます。 下記のコードを実行するとstrに1が代入される。 public class TestDoja extends IApplication { public void start() { String str = "123456".substring(2, 3); } } eclipse上のデバッガで確認してるんだけど 通常のJava環境で実行するとstrは3になるしそうなって欲しいのだが。。。 substring使うとゴミが入るみたいな話はググったら出てきたんですが ちょっと違う見たい出し。。。
246 :
デフォルトの名無しさん :04/08/04 11:34
substringが思ったとおりに動作しなくてこまってます。 下記のコードを実行するとstrに1が代入される。 public class TestDoja extends IApplication { public void start() { String str = "123456".substring(2, 3); } } eclipse上のデバッガで確認してるんだけど 通常のJava環境で実行するとstrは3になるしそうなって欲しいのだが。。。 substring使うとゴミが入るみたいな話はググったら出てきたんですが ちょっと違う見たい出し。。。
247 :
デフォルトの名無しさん :04/08/04 11:35
245です連続投稿すんません。。。orz
で、"3"になりそうだが、実際にはどうなるのよ。
うお、すまん。"1"が入るのね。 String strTmp = "123456"; String str = strTmp.substring(2, 3); すればどうよ。
レス有難う御座います。 public class TestDoja extends IApplication { public void start() { String tmpStr = "123456"; String str = tmpStr.substring(2, 3); System.out.println(str); } } とやったらEclipseのデバッガで変数をのぞくと1なんですが コンソールには3が表示されました。。。。 もしかしたらデバッガがちゃんと変数を覗けてないのかも知れません。 うへへへへ
ちゃんと切れてました、お騒がせしてすみません。 マジ泣きそ。。。orz
あれから色々チャレンジしましたが、まだ実現できてません。
copyAreaは画面外だと上手く使えませんでした。
>>211 > 読み込んだImageに対してgetGraphics()
画像範囲の指定は可能でしょうか?
canvasに描かれた画像の範囲を指定して、
新しいimageで持てれば嬉しいのですが。
>>213 >getPixelsとか使うことになると思うが…。
画像サイズ(約200x200)が大きいので遅くて使えませんでした。
あと、なぜかsetPixelsで取得したら真っ黒でした。
GIFやJPEGを読み込んだImageに対しては、書き込みできないぞ。
254 :
デフォルトの名無しさん :04/08/04 15:40
myBut1=new Button("AccessTest1"); myBut2=new Button("AccessTest2"); this.add(myBut1); this.add(myBut2); this.setComponentListener(this); こんな感じでポコポコボタンを並べるときに [ボタン1] [ボタン2] って感じに並んでしまうんですけど [ボタン1] [ボタン2] みたいにしたいんですけどもどうやってやったらいいんですか? お願いします。
HTMLLayoutでbr()挟めばいいんでないか?
>>251 祝一平の格言
「七度デバッグしてマシンを疑え」
257 :
デフォルトの名無しさん :04/08/04 16:53
>>255 ありがとうございます、まったくの初心者で申し訳ないです
で、、、ですね
LayoutManagerで書いてみたんですけども動かないです。。。
なにが間違ってるのか良く分からないので誰かお願いします・・・・
public class NetPanel extends Panel implements ComponentListener, LayoutManager{
Label lbltxt1;
Button myBut1,myBut2,myBut3,myBut4;
LayoutManager lm = new HTMLLayout();
NetPanel(){
lbltxt1 = new Label("ネットワークデータ");
myBut1=new Button("AccessTest1");
myBut2=new Button("AccessTest2");
myBut3=new Button("AccessTest3");
myBut4=new Button("AccessTest4");
this.setBackground(255);
this.setLayoutManger(lm);
this.setComponentListener(this);
this.add(myBut1);
this.add(myBut2);
this.add(myBut3);
this.add(myBut4);
this.add(lbltxt1);
}
まず、add()を lm.begin(HTMLLayout.CENTER); lm.end(); で挟む。 HTMLLayout.CENTERは単なる例。左寄せでも、右寄せでもお好みで。 改行したいところで、lm.br();
259 :
デフォルトの名無しさん :04/08/04 17:21
>>258 即レスありがとうございます。
>this.setLayoutManger(lm);
の行でシンボルを解決できません
とのエラーが出てパネルにレイアウトマネージャーをセット出来ないのですが
どうすればいんでしょうか。。
コードは
>>257 の通りです。
宜しくお願いします
質問内容とはズレた点だが一言。 >this.setBackground(255); 引数がダメ。「255」って何色だ? iアプリでの色の指定は、 int color = Graphics.getColorOfName(Graphics.WHITE); int color = Graphics.getColorOfRGB(255,255,255); のようにして色名かRGB値で取得した値を this.setBackground(color); とする。
261 :
デフォルトの名無しさん :04/08/04 18:19
>>260 ありがとうございます。
いままで
this.setBackground(colorGraphics.getColorOfName(Graphics.YELLOW));
とか書いていてerrorだったのでよく分からずAPI見たら整数値って書いてあったので
とりあえず255を・・・・
ちなみに255は 255.0.0 だと思われます・・・真っ赤です。
262 :
デフォルトの名無しさん :04/08/04 20:01
>>257 LayoutManager lm = new HTMLLayout();
を
HTMLLayout lm = new HTMLLayout();
に変更。
264 :
デフォルトの名無しさん :04/08/04 20:46
>>263 ああああああああああああああああ
あ、あアリガトウございます!バッチシ動きました!
皆様にも大変お世話になりました!
これからも精進してiAppli作ります!
本当にアリガトウございます
>>252 > なぜかsetPixelsで取得したら真っ黒でした。
setPixelsで取得ってどういう意味ですかw
> 画像サイズ(約200x200)が大きいので遅くて使えませんでした。
getPixelをループでまわしちゃだめだよ。getPixelsだよ。
>>243 >> ⇒505シリーズまで実装していた拡張APIのQRコードリーダーが900iになって実装されなくなった
>DoJa3.5で標準APIに移ったからでは?
貴方のおっしゃるとおりです。
でも上位互換・下位互換くらいは気にして端末作って欲しいよね。
他のメーカーは505iでコードリーダー機能がついてなくても、900iではちゃんと拡張APIにも実装してるんだし。
先駆けたメーカーがやらないんじゃ呆れるよ。
おかげで505時代に納品したアプリで、お客からクレーム来るし・・・。
ドコモのHPに注意事項で発表くらいしておいてほしい。
>>266 オプションAPIというのはそういうもんだと思うが。
>>267 他の機能はオプションAPIに残してあるが?
>>268 オプションAPIというのはそういうもんだと思うが。
270 :
デフォルトの名無しさん :04/08/05 07:25
>>266 ドコモじたいが、状況を把握してないんじゃない?
テストは、納入業者(端末メーカー、IP)がやるもんだと思ってるみたいだからな。
271 :
デフォルトの名無しさん :04/08/05 13:24
public void componentAction(Component c, int type, int param) { } というコンポーネントアクションで コンポーネントのフォーカスが移動される度に呼び出したい関数があるのですが というか画像のアニメーションをしたいのですが if(type == SELECTION_CHANGED) という風にしても反応してくれません どなたか分かる方いらっしゃいましたらお願いします
>>271 ComponentListenerはimprementsされてる?
Panel#setComponentListenerで登録した?
↑を前提として、
フォーカスが移動したときに、componentAction()で
受け取られるtypeとparamは?
jamファイルのAppParamをcgiで書き換えてアプリごとにIDを持たせようと思うのですが、 AppParamを端末側で編集できることってあったりしますか?
たぶんないと思うにょ。
277 :
デフォルトの名無しさん :04/08/08 06:55
アプリを強制終了されたのをサーバで検出する方法って ありますか? 電源ボタン押して終了した場合、finallyに処理書いても 無視されますよね?
大丈夫ですか。どうもありがとうございました。
launch、LAUNCH_BROWSERって、canvasでは使用できませんか? コンパイル時にエラーが出ます。
↓です。
シンボルを解決できません。
シンボル: メソッド launch (java.lang.String,java.lang.String[])
場所 : GameScreen の クラス
launch(LAUNCH_BROWSER,new String[]{"
http://xxx "});
エラー 1 個
javacの実行に失敗しました
>>281 launchはCanvasには無いのだから、そうなるのはあたりまえだろ。。。
iアプリやるまえいにjavaを勉強しる!
ちなみに、getCurrentApp()すれば、どこでもIApplicationの参照を取得できるので、
IApplication.getCurrentApp().launch(IApplication.LAUNCH_BROWSER, ....)
とかけば出来るよ。
>>277 無い。
電源断の時に呼び出されるhookがないからむりぽ。
>>282 ありがとうございました!
解決しました。勉強に励みます。
>>277 283の言うとおり無い。
まぁ、アプリ起動時と正常終了時にサーバと通信すれば、
正常に通信を行って終了したかぐらいはわかるかもしれん。
505でマイピクチャ内の画像(25KB)をサーバに送信って可能でしょうか? それとも10KBの制限で絶対に無理ですか?
アドバイスありがとうございます。 具体的に、どこの部分を分割すれば宜しいでしょうか?
>>288 おいおい。。おれは287ではないが…。
そもそも10KBの制限が何に対する制限なのか分かってるならそんな質問できないはずなんだが。
10KB制限ってのは、1回のコネクションで送れるデータの量の制限だろ?
だったら、25KBのデータをサーバに送信するには、
10KB + 10KB + 5KBの3回に分けて送信すればいいってことだ。
ちなみに、1回のコネクションで送れるデータ量の制限が、505で本当に10KBだったかどうかは知らん。
開発者ガイドでも見て調べてくれ。
アドバイスありがとうございます。 InputStreamをはじめて使ったので、とまどっております。 これは普通の配列のように分割できるのでしょうか? もしよろしければ簡単な記述があれば嬉しいかと思います。
>>290 質問から察するに、InputStreamにどんなメソッドがあるかすら理解してないと思われ。
CLDC1.0のAPIリファレンスは見てるかい?
InputStreamの使い方がわからないなら、市販のJavaの本なり、適当に検索するなりして
基本を理解しといた方がいいと思う。
まあ、一旦、バイト配列に書き出すか、ByteArrayOutputStreamに保持しとくかして、10KBずつ、
送信のためのOutputStraemに書き出していくことになるんじゃない?
バイト配列に書き出したのですが、それを送信する方法がわかりませんでした。 ストリームで送信する方法しか知らないので。。。。
POSTで送るんだ。
294 :
デフォルトの名無しさん :04/08/09 14:57
あげ
確かに10KB以上のを送るサンプル例はどこにも無いな。 505が出てからだいぶたつのに。 初心者は皆、諦めテルっぽい。
>>292 もちろんストリームで送信するんだが。
Connector.open("
http://hogehoge/ ")して、requestMethodをPOSTにして、openOutputStreamして書き込めばよろし。
そのあとconnect()してね。
>>296 に書かれてるPOSTでバイトの件は解決しました。
ただし、分割したところで、CGIに渡すのは10KBに限られてると思います。
これはCGI側で結合しないとダメということなのでしょうか。
>>297 > 分割したところで、CGIに渡すのは10KBに限られてると思います。
一度に渡すのは10KBに限られてるから分割するのだが。
> CGI側で結合しないとダメということなのでしょうか。
分割したんだから結合しないとダメなんだが。
>>295 受け側のしくみも作らないといけないから、サンプル書きにくいんだよね。
なにで受け側書くかというのが問題で。
iアプリがJavaだからサーブレットで書くか、と思うと、このレベルのサンプルが必要なヤツはサーブレット知らないことが多すぎ。
じゃ、知ってる人が多いPerlで、とすると実際の受け側としてはPHPが使われることが多かったり。
なにで書いてあっても、他に置き換えるのは難しくないんだけど、このレベルのサンプル求めるヤツは、他からの置き換えできないし。
>>298 てことで、全種類書くか何か一つ書いてくれ
初心者スレなんだから「このレベル」の奴が多いのは当たり前
299=286
やはり結合が必要でしたか。 とりあえずPerlでやってますが、PHPに移行する予定です。 サンプルをいただけるなら、どちらでも構いません。
>>286 ちょっとは探す努力をしろよ
情報が少ない分野じゃないんだから
だいたいその話はスレ違いっぽいし
>>303 CGI側で結合するヒントが得られたので、自分で作れるかもしれません。
ちなみに24時間中18時間くらいGoogleを開いてます。
ありがとうございました。
>>286 18時間もググってるってアホか?探し方が悪すぎ。
ググりゃそのものズバリの回答が出てくると思ってんじゃないのか?
18時間のうち15時間をhttpやcgi/perl/phpやJavaの勉強に割り当てろよ。
はい
307 :
デフォルトの名無しさん :04/08/10 11:56
javaからUIDって取得出来ますか? System.getProperty("microedition.platform"); で機種判別は出来るのですが UIDの取得をするのはどうやればいいのでしょうか?
>>302 1.cgi:
#!/bin/sh
cat > ../htdocs/hoge.gif
echo "Content-Type: text/plain\n\n";
2.cgiと3.cgi (どっちも同じファイル)
#!/bin/sh
cat >> ../htdocs/hoge.gif
echo "Content-Type: text/plain\n\n";
最初に1.cgiにPOSTして、次に2.cgiに、最後に3.cgiにPOSTしてねw
>>307 UIDってなに?FOMAのUSER_IDのこと?
だったらPhoneクラスのgetProperty()で取得できるけど。
GetUTNは必要になるけどね。
サクラエディタでiアプリ作成中のものですが、(Doja3.5+サクラエディタ) 質問です。 コンパイルしたときに g.drawString(Float.toString(c),getWidth()/2-3,24); でエラーになります。 エラーは C:\iDKDoJa3.5\apps\Tenfour\src\Tenfour.java:1559: シンボルを解釈処理できません。 シンボル: 変数 Float 位置 : Game01 の クラス g.drawString(Float.toString(c),getWidth()/2-3,24); です。 もちろんcはfloat変数なのですが、 この記述ではfloatをStringに変換できないのでしょうか? やりたいことは、(書かなくてもわかると思いますが) floatをStringに変換して、g.drawStringで描画したいのです。 どのようにすれば、エラーをなくすことができるでしょうか・・・ よろしくお願いします
>>311 staticメソッドについて学んでください。
つーかfloat使えないだろ
CLDCのAPIリファレンスでも見てくれ
>>2 のリンク先にあるから
>もちろんcはfloat変数なのですが、
コンパイル時にはエラーにならないので注意
ちがった。 CLDCについて勉強してください。 Floatやfloatを使わなければエラーをなくすことができます。
315 :
デフォルトの名無しさん :04/08/11 12:41
iAppliに表示する画像の透過色の設定ってどうやるんですか? お願いします。
TransparentImageクラスを使う。 オプションAPIなので、機種依存性をチェックしてから使え。
>312 即レス感謝です。 staticメソッドをぐぐって調べてみましたが、 解決策はみつけられませんでした。 ちなみにすぐ下の行で「Long.toString」も行っていて、エラーは起きないので、、 floatそのものに原因があるんではないかと思っていましたが・・・ >313,314 そうなんですか。。。 それは知りませんでした。通りで検索してもなかなか出てこないわけですね、 CLDCのAPIをダウンロードしてみましたが、 そこには「floatは使えない」とは書いてないということでしょうか? CLDCの仕様みたいなものかな? とりあえず、検索してみます。ありがとうございました。 そこで新たな質問なのですが、floatが使えないのであれば、 それの代わりになる記述ってあるのでしょうか? 無かった場合はやはり、変数*10^(表現したい小数点の桁数) で数値水増しして、計算後に、 1の位から、表現したい小数点の桁数分を小数点以下の数として、 自分で作るしかないのでしょうか?(だいぶんわかりにくい文章ですみません) もしかすると、CLDCに書いてあるかもしれませんね とりあえず、勉強してみます。
>>317 むしろCLDCにはFloatが使えるなんて書いて無いだろ
>>316 アリガトウございます
import com.nttdocomo.opt.ui.*;
をインポートして
TransparentImage ti;
と宣言して
paintメソッドで
ti.setTransparentColor(Graphics.getColorOfName(Graphics.BLACK));
とやってみたのですが、TransparentColorの実行のところで
java.lang.NullPointerException
が返ってきてうまくいきません、おねがいします。
>>317 > 無かった場合はやはり、変数*10^(表現したい小数点の桁数)
> で数値水増しして、計算後に、
> 1の位から、表現したい小数点の桁数分を小数点以下の数として、
> 自分で作るしかないのでしょうか?(だいぶんわかりにくい文章ですみません)
そんな感じだ
よくやるのは固定小数点として扱う使うやり方
変数<<小数部のビット数
って事。<<は左シフトな
それと、精度に注意
x10^n なら 0.1 を正確に書けるけど
x2^n の場合は無理 (0.1を2進数で書くと、0.0001100110011............ になるらしい)
用途によって使い分けてくれ
322 :
デフォルトの名無しさん :04/08/11 16:35
TransparentImage ti = new TransparentImage(); とやると TransparentImage() は com.nttdocomo.opt.ui.TransparentImage で protected アクセスされます。 とのエラーが出てしまいます。宜しくお願いします
>>322 「よろしくお願いします」ぢゃなくてさ…
ちゃんとドキュメント読めば直接インスタンス作る
ことができないのは分かるだろ?
createTransparentImageつかえ。
setTransparentEnabledつかえ。
それからsetTransparentColorつかえ。
まぁ何だな。 「ドキュメントを読まない、読めてない」 「検索してない、何をキーワードに検索するか分からない」 これを脱することがすなわち脱初心者の第一歩なわけだな。
326 :
デフォルトの名無しさん :04/08/11 19:03
質問なのですが String text = { "1", "2", "3" } というtext[3]の配列の要素数をプログラムで取得するのはどうやってやればいいのでしょうか
>>326 もう何をツッコムべきかもわからんのだが…
String[] text = new String { "1", "2", "3" };
ならば text.length で3が帰ってくるぞ
>>327 モチツケ
>>326 文字列の配列だから、宣言(と同時に代入)はこうする。
String[] text = { "1", "2", "3" };
そして文字列に限らず、配列の要素数は xxx.length で取得できる。
すなわち int size = text.length; で size は 3 となる。
なんというか、CLDC1.0でfloatが使えないということは、 CLDCの仕様書(APIリファレンスじゃない)には明記されてるんだよな。 iアプリの開発者でCLDCの仕様書読んでる香具師は何人いるんだろう…。 まあ、大したことは書いてないのだがw
>318 すいません、ざらっとしか見たことなかったので、見逃していました。 ちゃんと読むようにします。 >320 親切にありがとうございます。よくわかりました。 >323 面倒くさがってました・・・ちゃんと読むようにします。 >329 今回のことで、よくわかりました。 やはり基本的なことを理解してないとだめですね。 とくに何がサポートされていて、何がサポートされていないかは 仕様書を読まないといけませんね。。。 トラブったら検索すればだいたいが解決できてしまうので、 なんとなく、流してました。 以後気をつけるようにします。 ありがとうございました。
>>330 まあ、CLDC1.0の仕様書ってのは英語だし(APIリファレンスだけ和訳されてる)、
無理に隅から隅まで読むようなもんじゃないよ。
ただ、何かあったときに調べられるようにはしといた方が良い。
DoJaの開発者ガイドも、そういう意味では、最初から隅から隅まで読む必要はないと思うが、
今回のように解決できないトラブルが発生したら、まず最初に読むべきだと思う。
332 :
デフォルトの名無しさん :04/08/12 20:07
iAppliで作った物をezとVにローカライズしてくれるサービスってあるんすか?
自分で作成したフォントを表示したいんだけど、 setPixelが遅くて使い物になりません。 いい方法はないですか? for( int i = 0 ; i < 12 ; i++ ){ int bit = 1; for( int j = 6 ; j >= 0 ; j-- , bit *= 2 ){ if ( (font[ch][i] & bit) != 0 ){ g.setPixel( cx + j, cy + i ); } } }
>>333 用意したフォントを1まとめにして画像ファイルとして保持し、
必要に応じて切り出して表示する。これが現実的。
335 :
デフォルトの名無しさん :04/08/12 21:31
それも結構重そうだな
>>332 「iもどき」でググれ。かなり限定的ではあるが、無いよりは良い。
338 :
デフォルトの名無しさん :04/08/12 23:24
>>337 おおおおおおおおおおおおおおおお
ありがとうございます。ちょっといろいろ試してみます
いきなり独断と偏見でずばっと書いちまってすまんw あくまで一つの参考として見て欲しい。
>>335 333が用意したフォントサイズは1文字6x12ドット。
英数大文字小文字記号でも画像はたいした面積にならない。
メモリの負担も大きくないし、実は実際に自分でこれやってる。
ストップウォッチみたいな時間計測にシビアなアプリで使うと描画時間の誤差が
気になるかもしれないけど、ゲームでスコアやステータス表示に使うなら問題ないよ。
>>336 文字の部分を透過したgif画像で持つ。
描画時に1文字分の四角領域を目的の色で塗りつぶしてから文字の画像を描く。
ただしこの場合は文字の背景色が白なり何なり、元のgif画像で決めた色にしか
ならないのが欠点。文字を描画する領域の背景色が常に決まった単色なら使える方法。
これも実際に自分でやってる。
スクラッチパッド上でパレットを書き換えて読み出すって方法もあるにはあるけど、
1文字ずつ色を変えたい場合にはどうかと思うな。
一応、例。「0123456789」(60x12ドット)の画像'img'で1桁の数字nを(x,y)に描くなら
g.drawImage(img, x, y, 6 * n, 0, 6, 12);
白背景で文字が透明な画像'img'「0123456789」(60x12ドット)を用意して
画面の背景色が白のところ(x,y)に任意の色の1桁の数字nを描くなら
g.setColor(g.getColorOfRGB(任意の色));
g.fillRect(x, y, 6, 12);
g.drawImage(img, x, y, 6 * n, 0, 6, 12);
面積が72ドット(=6*12)の画像を描画するのにsetPixel()の72倍の処理時間がかかるわけ
じゃないし。なおsetPixel's'()で十分な速さが得られるかどうかは試してないので不明だ。
ごめん。
>>339 の書き込みは333氏ではなく334です。
>>339 ありがd
透過gifを試してみます。画面全体に文字を書いて
スクロールさせたりするんだけど、重くないかな?
>>341 試すときは、Nでやるように。
他で重くなくても、Nだと激しく重いことがよくある。
>スクラッチパッド上でパレットを書き換えて読み出すって方法もあるにはあるけど、 >1文字ずつ色を変えたい場合にはどうかと思うな。 Palette、PaletteImage使ってみるのは?
>>343 それらはオプションAPI。使うなら、対応していない機種があることを考慮しないと。
オプションAPIなのはDoJa-3.0までだね。DoJa-3.5では基本API。
ImageStore型のデータをスクラッチパッドに保存したいのですが 一体どのようにすればよいのでしょうか? C言語風にキャストすればいいのかと思っていろいろ試して見たのですが 全てエラーになってしまいます。(下はlongにキャストしたときの例) ImageStore is = null; DataOutputStream dos = Connector.openDataOutputStream("scratchpad:///0;pos=0"); dos.writeLong((long)is);
347 :
デフォルトの名無しさん :04/08/13 12:45
質問させていただきます。 WinXP ECLEPS2.1(3.0も試行) DOJA3.5 jdk1.3.11 上記環境にてアプリ制作を試しているのですか、 実行時に生成されるjarファイルがサイズ0で生成されるため実行できません。 自前で作ったソースだけでは無く、ネットで公開されているサンプルや、 HelloWordのような初歩的なソースも同様です。 何か回避策などございませんでしょうか? よろしくお願い致します。
環境を再インストールしてみたら?
>>346 C言語のような理不尽なキャストはJavaではできない。
346の例のようなキャストはC言語でも無理だと思うが。
>>346 APIリファレンスよく見てみ。
ImageStore#getInputStream()
あとは分かるだろ?
>>342 Nで試した。遅かった。
画面いっぱいに 6 x 12 のGIFを表示したら 2秒くらいかかった。
ImageMapを使ったらものすごく早くなった。
で、オプションAPIの機種依存ってどっかにまとめられてないの?
Nったって504Nなのか505Nなのか。504Nに比べ505Nの描画能力は向上してる。 画面サイズも書いてないし、どんなgif画像も分からないし、それで「遅い、2秒くらいかかった」 といわれても端末の処理が本当に遅いのか、組み方は工夫されているかどうか、とか 判断つけられないと思う。
>>354 N505 > N504だとしても、ほかの505 >> N505 だからなぁ。
356 :
デフォルトの名無しさん :04/08/14 18:43
自分で作ったアプリを自由にアップロードできるサイトってありませんか?
は?
ちょっとお伺いします。 iアプリ起動時に端末情報(シリアル番号みたいなもの)を取得できますか? iアプリDXでは出来そうな気配ですが。
Phoneクラスでドゾ ・携帯電話の個体識別番号(電話機のシリアル) ・UIMの個体識別番号(FOMAカードのID) が取れる >導入されたバージョン: DoJa-2.1 だからFOMAか505以降なら使えるみたいだな 詳しくはAPIリファレンスや開発ガイドを見てチョ
できるみたいですね。 ありがとうございます。
Eclipseを使って作りたいのですが ドコモのクラスファイルはどうやって取り込んだら良いのでしょうか? 設定方法等載っているサイトがあれば教えて下さい よろしくお願します
364 :
デフォルトの名無しさん :04/08/16 18:20
MascotCapsuleを利用して個人で作成したアプリを、 課金配布しても大丈夫でしょうか?
やめとけ。
900iのなかではどれがお薦めですか?
SH
最近の若いモンは、GoogleもVivisimoも知っているが、 それ以上におせっかいで勝手に調べてくれる古いモンがいることを知っている。 調べて分かりそうなことは他人に任せて、それ以外のことに時間を使っているんだろう。
だな やたら教えたがるバカがいるんだよ 相手の為にならないのにさ
>>370 そうやって若い芽を摘むことで、俺らロートルは稼ぎ続けていけるのさ
小僧が必死だな
オッサンも小僧も必死で結構。 おばさんより
聞く香具師がカスなら、 答える香具師もゴミだな。
375 :
デフォルトの名無しさん :04/08/19 15:51
えーっと iAppliで文字列を表示したいんですけども String text = "てすとてすとてすとてすとてすとてすとてすと"; みたいな変数がStringがあって CanvasにdrawStringで書くので、5文字描画したら自動的に改行(表示座標の変更)したいんです charAtって言うので直にLOOPさせて書こうとしたらdrawStringの引数がStringなんで エラーになるし、と言うことで関数化したいんですけども、どうやったらいいですか。。 お願いしますです。
まずは5文字ずつの文字列に分割する方法を考えたらどうよ? Stringにはlength()というメソッドがある。
drawChars
>>375 APIリファレンスのFont#getLineBreakというメソッドをみれ。
サンプルソース付きで説明してあるぞ
379 :
デフォルトの名無しさん :04/08/19 17:21
>>376 様
>>377 様
>>378 様
回答ありがとうございます。
一回関数化してそこに始点、改行させたい文字数までのoffsetを渡して
返り値をforで回してなんとかできるようにしました。ありがとうございます。
String subStr( String str, int start, int end){
String text = "";
for(int i = start; i < str.length() && i < end; i++)
{
text += str.charAt(i);
}
return text;
}
>>375 for (int i=0; i<回数; i++) {
g.drawString(text.substring(5*i, 5*(i+1)), x座標, フォントの高さ*(i+1));
}
>>368 自分でも探したのですが見つけられなかったです。
助かりました。
ありがとうございます。
382 :
デフォルトの名無しさん :04/08/19 21:42
アプリの実行中に特定条件でwebページに飛ばす事はできるんでしょうか? 可能なら方法を教えてください。。。
inputエリアに入力するときにデコメールの機能のデコレーションを呼び出すことは できないんですかね・・・
>>375 なんかデジャヴを感じたが気のせいか…ホッ( ´Д`)-3
>>382 特定条件って何だかよくわからんが
IApplication.launch(LAUNCH_BROWSER, new String[] { url } );
じゃだめ?
386 :
デフォルトの名無しさん :04/08/20 12:39
>>385 レスありがとうございます。
IApplication.launch(LAUNCH_BROWSER,new String[]{"
http://localhost "});
とテストしてみたところ
static でない メソッド launch(int,java.lang.String[]) を static コンテキストから参照することはできません。
IApplication.launch(LAUNCH_BROWSER,new String[]{"
http://apl.goalmania.jp "});
IApplication.launch(LAUNCH_BROWSER,new String[]{"
http://localhost "});
とのエラーが出るのですが対処方がわかりません。。。すいませんが説明おねがいします。
387 :
デフォルトの名無しさん :04/08/20 12:39
あああ、そこのアドレスはわすれてください・・・・
389 :
デフォルトの名無しさん :04/08/20 12:52
>>388 レスありがとうございます!
で、、、LAUNCH_BROWSER という定数のシンボルが解決できないって言われるんですけども・・・
ちなみにimportは
import com.nttdocomo.ui.*;
import com.nttdocomo.io.*;
import java.io.*;
import java.lang.*;
import javax.microedition.io.Connector;
です・・・おねがいします
C:\iDKDoJa3.0\apps\NetText2\src\confirm.java:69: シンボルを解決できません。
シンボル: 変数 LAUNCH_BROWSER
場所 : confirm の クラス
IApplication.getCurrentApp().launch(LAUNCH_BROWSER,new String[]{"
http://localhost "});
>>389 LAUNCH_BROWSER はIApplicationクラスのクラスフィールドだ
詳しいことは開発ガイドとAPIリファレンスを嫁
その前にJava言語の入門書でちゃんと勉強するべきだが
禿同。DoJa以前にJavaの基本がわかってねぇ。
392 :
デフォルトの名無しさん :04/08/20 14:55
SHシリーズの背面ボタンは何の宣言もなしに使えるのか?実機持ってないんでわからん…
基本が分かってないのに、 それなりにプログラムできるDoJaって素晴らしい。
394 :
デフォルトの名無しさん :04/08/20 18:21
doja2.0~3.5を使用し、iアプリの作成をしているのですが、 スクラッチパッドの使用方法でつまっております。 スクラッチパッドに画像情報を複数保存し、size部、data部といった感じで利用したいのですが 例えば、1つ目の画像がxbyteでy〜zまで読み込む場合に取得したデータをそのまま MediaManager.getImageに渡したいのですがどのように行えばよいのでしょうか? 携帯のコーディングはかなりの初心者ですので、簡単すぎる質問なのかもしれませんが 良い方法をご存知の方がいましたらご教授お願いいたします。
>それなりにプログラムできる
できてねーじゃんw
>>394 まず「オレ用語」を持ち出さないで説明して。
size部、data部って何を指してるの。
y〜zまでって何を指してるの。
(見当はつくけど質問は正確に意味が伝わるようにしないと)
396 :
デフォルトの名無しさん :04/08/20 19:27
こんばんわ DoJa3.5でiAppliを開発してますが、 ビルドして起動したんですが、仮想端末上のスクリーンが白黒のままでカラーになりません。 例として、DialogのsetBackground(Graphics.GREEN); としてるんですが、白黒として表示されてしまいます。 仮想端末をカラー表示させるにはどのようにすればいいのでしょうか?
>>396 Graphics.GREEN
じゃなくて
Graphics.getColorOfName(Graphics.GREEN);
にする。
紛らわしいので注意。
Graphics.getColorOfRGB(Red, Green, Blue);
普通はこれで直接RGBを指定する。
>>397 解決しました
GraphicsのGREENやAQUA、BLACKなどは単なるindex値なんですね。
なるほど。
本当に助かりました。
ご返答ありがとうございました。
399 :
デフォルトの名無しさん :04/08/20 20:16
レイアウト・マネージャってiAppliにはない・・・??? もしかして
400 :
デフォルトの名無しさん :04/08/20 20:28
あるだろうね…たぶん。
>>382 漏れはメソッドの存在を示す意味で書いただけで、そのままコピペして動くことなんて想定してないんだが。
そうくるとは思わなかったw
まあ、がんばって、クラスメソッドとインスタンスメソッドの違いと、static定数の指定の仕方について調べてください。
Javaの基本まで教える気にはなれません。
というか、みな親切だねえw
>>399 HTMLLayoutくらいしかないけど。
自分で配置するしか見栄えのよいレイアウトはないのね orz
>>394 スクラッチパッドのyバイト目からzバイト目までのデータについてgetImageしていってこと?
だったらscratchpad:///0のあとにposとかlenとか付ければいいよ。
詳しくは開発者ガイドをどうぞ。
後もう一つ iAppliってSocket通信は・・・できない?
406 :
デフォルトの名無しさん :04/08/20 21:12
わかりづらい説明ですいません。 やりたいこと================================= ●WEBから複数の画像をダウンロードし、スクラッチパッドへ保存 ●それを読み込む処理でMediaManager.getImageで画像をGETしたい。 やっていること=============================== ●画像のURLごとにopenOutputStreamでposを設定し、その画像の数だけ実行している ●該当する画像を1.で設定したposを指定して読み込む 現象========================================= ●1つ目の画像しか保存できていない。 ソース======================================= String Img[] = {"01.gif", "02.gif", "03.gif"}; for(int i=0; i<Img.length; i++){ Cnt = (HttpConnection)Connector.open(MYURL+Img[i],Connector.READ); Cnt.setRequestMethod(HttpConnection.GET); Cnt.setRequestProperty("Content-type","image/gif"); Cnt.connect(); in = Cnt.openInputStream(); out = Connector.openOutputStream("scratchpad:///0;pos="+len2); data = new byte[256]; while(true){ len1=in.read(data); if(len1==-1){ break; }else{ out.write(data,len2,len1); len2+=len1; } } in.close(); out.flush(); out.close(); Cnt.close(); out = null; data = null; }
407 :
デフォルトの名無しさん :04/08/20 21:18
>>406 ↑↑↑↑↑↑↑↑↑↑
len1,len2は初期値0です。
408 :
デフォルトの名無しさん :04/08/20 21:45
>>406 自己レスです。
書き込みのほうは、解決しました。
後は読み込みです。
がんばります。
>>406 try-catchしてないとかこの際おいとくが、
>out.write(data,len2,len1);
ここはこうじゃないかな。
out.write(data,0,len1);
410 :
デフォルトの名無しさん :04/08/20 22:31
>>409 レスありがとうございます。
おっしゃる通りでした。
p900iで実行テストしたところ起動時に ソフトに継続動作出来ない障害が発生しました と表示されて起動出来ません。 DoJa3.5では普通に起動出来ます。 スクラッチパッドの読み書き当たりを色々変更したらこうなりました。 どこが悪いのか見当がつきません。 このエラーメッセージはこーゆーときに出やすい。ってのあったりします?
デジャヴ?
413 :
デフォルトの名無しさん :04/08/20 23:14
ヤフーへ接続しようとしているのですが、
この下記の時点で例外が出てしまいます。
何が問題なのでしょうか?
HttpConnection hc;
hc = (HttpConnection)Connector.open("
http://www.yahoo.co.jp/ ",Connector.READ_WRITE);
readUTFでscratchpadから文字列を読み込むとき scratchpadの内容が0x00,00,00,00・・・のとき UTFDataFormatExceptionが発生すると思ったのですが キャッチ出来ません。 この場合読み込まれる文字列は何になるのでしょう?
ひょっとして 408=413=414 だったりする? 質問の低レベルさといい、書く口調といい。。
といいつつ、答えてしまうが:>
>>413 iアプリはダウンロード元としか通信できない。そんなの常識。
>>414 しらんが、正常終了してるなら、String.getChars()とかで調べればいいじゃん。
>>406 そういう恥ずかしいソースはさらさない方がいいよ。
変数の先頭を大文字で書いてる時点で、Javaプログラム書いたことありません、ってバレバレだからw
漏れだったら、こんな腐ったコード書いてくる奴がいたら、Sunのコーディング規約つきつけて全面書き直しさせるね。
>>416 別人ですよ。と言っても
>>413 にレス出来るほどのレベルはありませんがw
レスどうもです、調べてみます。
>>419 厳しいとは思うが、後でメンテすること考えたら、到底受け入れられん。
なんだiAppliってアプレットなんだね。 じゃiAppletとしたほうがいいんじゃない? まぁセキュリティー上の問題なのはわかるけど・・・。 じゃ、巷にあふれてる2ちゃんねるブラウザーのiAppli版は、 ソフトをダウンロードしたサーバへアクセスしてるのか。 iMonaを例にすると (ケータイ・iMonaアプリ)→(iMonaサーバ)→(2ちゃんねる) こういうこと?
>>421 アプレットより厳しいと思った方がいいよ。
ダウンロード元と、同じプロトコル、同じポート番号、同じホストでないと通信できない。
たとえばhttpsでダウンロードしたら、httpでは通信できない。同じホストでも。逆もそう。
iMonaのことは知らんが、原理的にはそれ以外に通信できないから、そうじゃないかな。
仮にさ、サーバ経由でケータイ版2ちゃんねるブラウザーを作ったとしても、 もし、誰かがいたずらで犯罪的な書き込みをそのブラウザーでしたら、 実際に掲示板に書き込むのはサーバになるわけだから、 サーバを管理している人の責任になる・・・・・・・。 って、ケータイで2ちゃんねるブラウザーを完成させるのは無理ってことかw イタタタタ・・・・だめぽ あきらめた
424 :
デフォルトの名無しさん :04/08/21 01:25
392 誰か教えて…
どの相手でも通信できるよ
>>423 別にサーバの管理者はプロバイダ責任法で免責されると思うけど。
ある場面で、メニューを表示したいと考えたんだけど、 メニューが閉じられたら元の場面に戻りたいって時おまいらどうしてる? 俺はImageをcreateしてgetGraphicsしてそのGraphics使ってメニューを描画した後 setCurrentしてあるフレームでdrawImageするって方法を考えたんだけど もっとスマートな方法無いですかね おまいらの知恵を貸してくれ
>>428 おいらはず〜〜〜っと描きっぱなしなので、何も困らない。
皆、そうしてると思ってた。
>>428 メニューをわざわざImage作ってそれに描く必要はないのでは。
なぜならそのメニューを消すときは結局下地の画面を再描画するわけで。
それならメニューを直接画面に描画しても同じことかと。
>>430 うーん、描画処理をメニュー側とメイン側でなるべく分離したいと考えてるんです
例えばgetImageをもつインターフェースをimplementsしたメニュークラスとメインクラスで
描画処理を行ってその後Canvas内でgetImage→drawImageみたいな
あ、下げ忘れましたすみません
メニューの表示、非表示のフラグたててリペイント。でえぇんちゃうの?
画面クラスを作って描画処理やイベント処理を委譲
eclipseでデバッグしようとしているんだけど、デバッグモードだと動かないんです。 スレッドは実行中になっていて、止めてみると com.nttdocomo.ui.Launcher.main(java.lang.String[]) 行: 91 で動かないようなんだけど原因はなんなんでしょうかorz
436 :
デフォルトの名無しさん :04/08/21 19:15
スクラッチパッドのテストプログラム作ったんだけど DoJa2.0、3.0、3.5全部動くんだけど 実機テストするとまったく動かないんだけど、どうよ
話にならない
アプリ使ってデコメールみたいな機能を作って、掲示板にHTML形式のようなフォーマット でログ送信できたりしないかな?
>>438 そのとおりにやっているつもりなのだが…orz
441 :
デフォルトの名無しさん :04/08/21 22:21
>>436 さんとかぶってしまうのですが、
スクラッチパッドからの画像読み込みに関して、
DoJaでは読み込みできるのですが、実機だと
アプリエラーになってしまいます。
考えられる原因としてなにがありますか?
また、同様の現象を体験された方がいれば、
対処方法をご教示いただきたいのですが。
ちなみに実機のスクラッチパッドの中身って
確認できるものなんでしょうか?
でら初心者ですいません。
うるさいこと言うなよ、と思われるかもしれんが。
「DoJa」はDoCoMoが決めたAPI群の呼び名だから(DoJa-3.0、DoJa-3.5など)、
「DoJaだと〜、実機だと〜」は用語の使い方がおかしい。
「エミュレータだと〜、実機だと〜」または「DoJa-3.0エミュレータだと〜、実機だと〜」
が適切な言い方だろう。(
>>441 さんに限ったことじゃない)
ところで
>>441 さん。
問題点に関して提供されてる情報が不足しすぎだよ。
具体的なことが何も書いてないのでだれもアドバイスのしようもないと思う。
例えば読み書きの部分のソースを貼るとか。
jamファイルの内容もチェックしないといけないかもしれないし。
実機のスクラッチパッドの中身を覗く方法はない。
そのためにエミュレータがあると考えよう。
443 :
デフォルトの名無しさん :04/08/21 23:48
>>441 追加です。
もろもろ省略しますが、
スクラッチパッドへOUT
Connector.openOutputStream("scratchpad:///0;pos=100");
スクラッチパッドからIN
MediaManager.getImage("scratchpad:///0;pos=100");
書込みと読込みのクラスは別々で書込み側から読込みオブジェクトを生成しています。
書込んで終了メッセージのみの表示で実行すると正常終了。
書込んで保存した画像を取得しようとするとエラー。
なので書込みはできていると思うのですが・・・。
jamファイルは
UseNetwork = http
LastModified = Sat, 21 Aug 2004 22:06:18
SPsize = 25000
AppClass = outputimage
UseBrowser = launch
AppName = OUTPUTIMAGE
PackageURL = outputimage.jar
AppSize = 6250
な感じです。
エミュレータでは動作しています。
>>442 さん。
ご指摘ありがとうございました。
他に何か必要な情報があれば、追加します。
>>443 =441さん
そりゃまあスクラッチパッドへのアクセスはそのようにしか書かないので
前後を省略して提示されても参考にならないが^^;
エラーメッセージが出るならそれをそのままここに書いてみて。誰か分かるかもしれない。
画像がらみでエミュレータで期待通りの動作をして実機で失敗する場合、よくあるのは容量の問題。
エミュレータはPC上なので画像のファイルサイズが大きくても読み書きできるが、
実機ではあまりに容量(ファイルサイズ)の大きい画像はメモリ不足で展開できない。
画像の縦横の大きさが関係する場合もある。
例えば504iでは画像の横幅は○○ドットまで、という制限のある機種があった。
また最近ではN900i/P900iで400KB問題なんてのもあったことだし。
そういえば441さんが試してるDoJaのバージョンや機種も分からないな。
あとは何かしらのタイミング問題で、実は危うい書き方してるんだけどエミュレータ上では
たまたまうまく動いてるって状態とか。
try{}catch{}でエラー処理してるか、ちゃんとclose()してるかとか、そういうところをチェックかな。
…と、情報不足なりになかば当てずっぽうで書きましたが。
必要な情報は ・エラーの正確な内容 ・エラーの出る正確な場所 jamにAppTrace = onを追加するか、Dialogクラスを使ってエラー内容を画面に表示すればいい
doja.exeとdoja_g.exeってなにが違うんですか?
doja.exe:通常版 doja_g.exe:デバッグ機能満載版 詳しいことはエミュのリリースノートとユーザーズガイドを読んでね
448 :
デフォルトの名無しさん :04/08/22 21:34
com.nttdocomo.io.ConnectionException: Scratchpad already opened for output 起動時にこんな例外が出るんですが。 どこを探してもおかしいところが分かりません。 複数の箇所でスクラッチパッドで読み書きしてるのですが close()しわすれもないんですがどういう事ですか? この例外ってConnection.openDataOutputStream()でオープンした後 close()でクローズしないまま更にオープンしようとしたって事でよろしいの?
iAppliから他のネットワークへ接続することがどうして駄目なの? わからないよん。
public static final MediaImage getImage(byte[] data) これに渡せるdataのフォーマットはなんですか?
>>451 getImage(String url) で取得できるフォーマットと同じ。
間違いないのはGIFとアニメGIF。
機種によってはJPEGも大丈夫かも。
>>452 どうも。
エミュ上だけどBMP試してみたらだめだった。
Textureでは読みこめるのに・・・
>>453 BMPは駄目だと思う。
textureとして使えるのがむしろ例外。
>>454 そうですか。
GIFやJPEGのデコードに比べたらBMPの読みこみなんて
楽勝だろうに・・・
>>448 エラーメッセージの意味は
「スクラッチパッドはすでに書き込みモードでオープン済みですよ」。
間にクローズ処理をはさまずにオープン処理を立て続けに呼び出しちゃったってこと。
>>452 DoJa-1.0はgifのみ。
DoJa-2.0以降はgifとjpgが読み込み可能。
開発ガイド詳細編のMediaImageの説明に詳しく書いてある。
>>455 Imageとtextureでは要求事項が違うから扱うフォーマットが違う。
>>455 楽勝なので、どうしても欲しければ自力で読み込む
>>457 Graphics#setRGBPixels(int x, int y, int width, int height, int[] pixels, int off)
で書きこんでみたんだが、これ遅すぎ
459 :
デフォルトの名無しさん :04/08/23 03:14
質問です。
実機では問題なく、エミュレータでのみ発生します。
メインループの内容が
Canvas#getKeypadState() でキー状態取得
↓
画面クリア
↓
0キーが押されていたら ImageStore#selectEntry()で画像選択
(テストプログラムのため、そのあと特に何もしない)
↓
キー内容表示
というプログラムを書いたのですが
1回 ImageStore#selectEntry() を呼ぶと、
次のループから0キー押してもいないのに getKeypadState() では
押しているというデータが返ってきます。
(selectEntryのあとキー離したというイベントが送られていない?)。
実機だと特に問題は起きないのですが、とても不便なので
回避する方法わかるかた教えていただけないでしょうか?
http://gamdev.org/up/img/1085.zip ソースも一応うpしておきました。
どなたかよろしくお願いします。
>>459 とりあえず、ループの廻し方を変えたほうがいいんじゃないか?
Canvas#runの中でぐるぐる回したほうがええで。
あと、getGraphicsは毎回呼ばない。
エミュのバグじゃないの? キーの取り方を変えるしかないと思われ つーか、「キーが押されたら〜する」場合はprocessEvent()を使うべき 1/60[s]の世界ならgetKeypadState()でもいいけど、iアプリは遅いからね
paintメソッドは空にする これiアプリでゲーム作る時の常識
私はプログラミングとか全くやったことがないのですのど、 こんな私でもしっかり理解できる様なiアプリ【java】のプログラミングのやり方を説明してくれる本を紹介して下さい。 よろしくお願いします。m(_ _)m
>>465 本屋で自分にあった本さがすのがいいかと
Webでもいっぱい転がってるのでそれ検索汁
>>465 iアプリの作り方やAPIの使い方とかより先に、プログラミングの基礎知識を身につけないと。
iアプリ用の本を探すのではなくて、まずプログラミング初心者用のJavaの本を読むべき。
Javaの本といっても多岐に渡るので、その中ではできればケータイJava用の本を
(「携帯Java」や「MIDP Java」とか書いてある)探してみて。
>>461-462 ありがとうございます。
MainCanvas#processEventに処理を移して
イベントドリブン型にもしてみましたが
余計におかしな自体(他のボタンを押しているのに
選択画面が表示されたり)になりました。
結局、MainCanvas#processEvent でキー状態を変数に入れて
その変数を見て処理を行うようにしました。
その上で、selectEntry 処理の後は押されたキーの部分だけフラグを
下げて対応しました。
一応、同じ問題で困る人が居るかもしれないので
修正版もうpしてみました。
http://gamdev.org/up/img/1089.zip
>>459 run()はスレッド起動で処理する内容を記述するための特別な意味を持つメソッドなので
for()文で回すような使い方なら別の名にすること。(Javaの作法、慣例)
getKeypadState()を含むループが1(ms)間隔で処理されている。
これは1(ms)間隔でキー入力を監視しているということだから、
1回のキー押下でも1(ms)以上押していたら、ループ2周目以降の
getKeypadState()が「キーが押されている」という反応を返してくるのは当然。
人間の指先操作で100分の1秒速さでキーを押して放すことは無理でしょう。
キー状態を監視する間隔をもっと広げれば(例えば100ms)とりあえずの対策にはなる。
しかしユーザーは何秒もキーを押し続けるかもしれないので、これでは根本的な
解決にはならない。
まとめ。
キーをずっと押し続けていることを監視するならgetKeypadState()を使うが、
1回ポンと押す(押して放す)ことを検出するならprocessEvent()で取得すること。
>>470 の書き込みは
>>469 を読む前に書きました。
今、
>>469 のソースを見ました。
>>459 processEvent()のparamで取得する値の使い方を間違えている。
getKeypadState()のように (1 << param)とやらない。
processEvent()のparamでは キーに対応した Display.KEY_?? という定数が取得できるので
押されたキーの判定は
>if((key_ & (1<<Display.KEY_0)) != 0)
ではなく
if (key_ == Display.KEY_0)
とする。
key_はビットフラグとして使うのではなく、押されたキーの値を1つ保持する変数として使う。
>>447 氏の言うリリースノートってのがどこにあるのか分かりません。
誰か教えて下さい
>>470 の書き込みで質問の回答とは関係ない部分だけど訂正
× 人間の指先操作で100分の1秒速さで
○ 人間の指先操作で1000分の1秒の速さで
1msのことを言っているので。
>>472 ユーザーズガイドはあったのか?
どちらもエミュと一緒に入ってる
無ければドコモからエミュをダウソし直せ
>>475 サンクスです。ダウンロードした当時ワケが分からなかったので捨ててしまっていたようです。
質問です。(Doja3.5) サブドメインが違っていたら通信できませんか? aaa.abc.com iアプリダウンロードサーバ bbb.abc.com 通信したいサーバ 1 ccc.abc.com 通信したいサーバ 2
480 :
デフォルトの名無しさん :04/08/24 22:53
あいアプリからSDの読み書きとかできるの?
>>479 できねぇ。当該サイトのみ。
>>479 できねぇ。画像ファイルとしてラッピングする方法はある。
ご回答有難う御座いました。
>>422 と同じ意味だとは思いませんでした。
>>483 aaa.abc.comとbbb.abc.comはどうみても「同じホスト」ではないと思うんだが…。
プロトコルとポートとURLのFQDNが一緒ならば、別IPどころが別ホストでもかまわないわけだが
Fully Qualified Domain Name TCP/IPネットワーク環境において、 ホスト名に続けて、ドメイン名まで省略せずにすべて指定した記述形式のこと。
質問です。 CLDCでサポートされていない、java.io.FileInputStream、ObjectInputStream等は Doja3.0で使うことは出来ないのですか?
できません
>>489 やっぱり使えませんか。レス、ありがとうございます。
491 :
デフォルトの名無しさん :04/08/25 20:47
教えてください。 iアプリから携帯に登録されている着信音をならすことは できるものなのでしょうか? よろしくお願いします。
492 :
デフォルトの名無しさん :04/08/25 21:29
教えてください。 iアプリから携帯のキー操作音量を設定することは できるものなのでしょうか? よろしくお願いします。
>>491 無理。
>>492 こっちも無理だったと思う。もしかしたらオプションAPIにあったかも??
495 :
デフォルトの名無しさん :04/08/26 01:23
端末時間をYYYYMMDDHHIISSの形式で、Stringで取得するにはどうしたらいいでしょうか?
496 :
デフォルトの名無しさん :04/08/26 01:29
カレンダー。
iアプリの質問ってことでもないな。 CLDC 1.0 のAPIリファレンスでCalendarクラスの説明を読んでくれ。
>>491 iアプリDXの「登録データ利用機能」を使えばできる。
>>492 こっちはDX使ってもできるかわからない。
499 :
デフォルトの名無しさん :04/08/26 22:52
505,FOMA900iシリーズのハードスペックを書いてあるサイトを教えてくれませんか? 特に、使用しているCPU、グラフィックプロセッサ、サウンドプロセッサが知りたいです。
>>498 着信音は出来ない。自分でダウンロードした着信音を登録したりはできるけど。
画像と勘違いしてる?
>>500 の 491 は 494 の間違いです。スマソ。
>>499 業務上知る必要があるならサイト探すより相手メーカーの担当者に連絡した方がいい。
通常、そういう情報がハードメーカーから外部へ告知されることはない。
ユーザーが知る必要がないのはもちろんのこと、
ソフトウェア開発側でもチップレベルでハードに依存したアプリを作るわけではないから。
業界ニュースなどで、「A社が今度発売する端末にB社のCというチップを採用することを
決定した。このチップの性能は〜」のような形でたまたま知る機会はあるかもしれないが。
ダウンロード中を表示するキャンバスを Runnableをimplementsして別スレッドとして 立ち上げてるんですが、何回もダウンロードを繰り返すと スレッドが溜まってメモリーエラーが発生します。 Runnableクラスを継承した場合の スレッドの停止の仕方がわかりません。 よろしければご教授お願いします。
ダウンロード中を表示するキャンバスを Runnableをimplementsして別スレッドとして 立ち上げてるんですが、何回もダウンロードを繰り返すと スレッドが溜まってメモリーエラーが発生します。 Runnableクラスを継承した場合の スレッドの停止の仕方がわかりません。 よろしければご教授お願いします。
>>504 >スレッドが溜まってメモリーエラーが発生します。
の意味がよく分からん。ダウンロードの度にスレッドを生成しているってことか?
だったらこうしてみてはどうか。
run()の中はwhile()で回しておき、
ダウンロード要求があるときはフラグなりラベルなりをセット、
それでwhile()の中でそのフラグなりラベルなりを判定してダウンロード処理を開始、
とすれば別スレッドは最初に1つ生成しておくだけでいい。
ダウンロード処理が不要になったら(アプリの終了時かもしれないが)
while()を抜けて、run()も抜けるようにする。
スレッドを破棄するにはrun(){…}を抜けるだけでいい。
ちなみに1度終了したスレッドを再利用することはできない。
>>506 で「ラベル」って言ってるのは、適当な定数宣言をして、
それを状態を表す値として使うって意味で。(ってわかりにくいかな?)
質問させてください。 最近のi-アプリのRPGはケータイの画面が大きくなっているせいか、 上下左右に常に引き伸ばして表示しているようなやつが 多いみたいですが、 その処理はどうやって実現しているのでしょうか? 方法自体はいくつかあると思いますが、一般的に どういう処理が使われているのかなーと思いまして。
>>509 ウチも同じだな。多少描き直すけど。
あと、VかEZは自動で拡大するんだってね。
いいなぁ。どんな画質か知らないけど。
お返事どうもです >の意味がよく分からん。ダウンロードの度にスレッドを生成しているってことか? そのとおりです。 アドバイスのように1つだけあらかじめオブジェクトを生成しておいて フラグを見てそれを使いまわす用に修正しまたら問題が解決しました。 また、Runnableを継承してないCanvasでも都度生成していると メモリーを食いつぶしているようなんですがそんなもんでしょうか? 特にVisualPresenterとか使ってアニメGIF再生するPanelなんかは ガシガシメモリ食いつぶしてるようなんですが。 gc()発動しても開放されずにドンドコメモリ食ってる模様。 これってDoJa仕様っすか? Canvasはあらかじめ作って使いまわさないとダメ? ツカ、Canvas複数使ってる時点でダメなんだろか。。。
>>511 MediaImageとかはdispose()しなきゃだめだよ。
そういう問題じゃなくてメモリ食いつぶしてるというなら、
きっとどっかで、そのオブジェクトがroot setから到達可能なんだと思う。
それだ!! MediaImage#dispose() 有難う御座います。 早速試してみます。
MediaImage#dispose()ビンゴでした ちゃんと明示的に指示しないと開放されないんですね 有難う御座いました。 ちなみにroot setうんぬんは何処からか参照されていて gcされないってことでしょうか。 しかし、漏れみたいなのがiアプリ作ってていいのだろか トホホ
515 :
デフォルトの名無しさん :04/08/30 02:45
>>514 俺の手の届かないとこにあるなら作ってもいいよ。
指定の時刻に指定のサイトへ自動的にアクセスするアプリって作れる?
>>517 開発ガイドを全く読まないで質問するのはやめよーぜ
できないのか?
>>517 電源OFFになってる場合とか
ちょっと考えれば無理だってわかるだろう…
>>517 iアプリはダウンロードしたサイトとしか通信できない。
法人がドコモに申請したiアプリDXならその他のサイトとも通信できる。
考えてみ。勝手アプリで自由自在に通信できちゃったら大変なことになるだろ。
悪意あるアプリが有料コンテンツにアクセスしまくってウィルスもばらまき放題だ。
>>517 やりようによったら作れる
>>521 がいってるように直接はムリだが自分とこの鯖経由にすればOK
あとは、待ち受けアプリにしたらいい
523 :
ケン ◆KENNYY/YXo :04/08/30 15:58
(ケン ´・∀・`)ヌルポ
524 :
デフォルトの名無しさん :04/08/30 16:53
ガッ
525 :
デフォルトの名無しさん :04/08/30 21:39
drawStringで文字列を描画するときに、改行するには? ¥nを入れるとスペースになってしまいます
>>525 改行コードなんてないよ。
自力で適当な長さで文字列を区切って、行を変えた位置に続きの部分を描画する。
これの繰り返し。
やばい!こっから先はFAQの予感!
527 :
デフォルトの名無しさん :04/08/30 22:11
ぬるぽコードを挿入するといいよ
レスありがとう その方法をかんがえてみます、
IMEで入力する改行は認識されないってことか。 メモメモ...
Display.setCurrent(myCanvas)とすると、myCanvas内のpaint()が呼ばれるように Panel型のインスタンスを指定したときに画面を再描画したいんですけど、どうしたらよいでしょう? setCurrent()で呼び出されたときに発生するイベント、または呼び出されるメソッドみたいなのってあります?
531 :
デフォルトの名無しさん :04/08/31 02:11
セットカーレントで呼び戻せばいいんだよ。
>>530 Panelは勝手に再描画されるからイベントも何もないよ。
>>514 解決したみたいでよかった。
> ちなみにroot setうんぬんは何処からか参照されていて
> gcされないってことでしょうか。
そうそう。そういうこと。
root setはGC用語。意味を知りたかったら、ちょっとぐぐれば解説がでてると思うよ。
>>529 どこからそんな結論がΣΣ(゚д゚lll)
>>531 >>532 ありがとうございます。
setTextとかでイチイチやらないといけないのかと。
簡単なチュートリアルが載ってるとこ無いですか?
>>536 は何? どのレス番の人がどのレス番に対して言ってるの?
ボタンやテキストボックスみたいなGUIを使った サンプルプログラムのソースは無いでスカ?
最低限ぐぐろうぜ。それでもみつからなかったら 「●● ××」というキーワードで探したのですがダメでした。 とか言った上で聞こうぜ。 多分 アプリ doja 初心者 あたりででるだろ
ぐぐっても書籍の紹介ばっかなんですよう
>>539 はアプリ開発の初心者どころか検索もできないパソコン初心者。
「"iアプリ" テキストボックス サンプル」でぐぐって一番上に出てくるのは何だよ?
コンポーネントの配置位置の調整の仕方がわかりません。
>>545 ウソヲオシエルナ
>>544 Component#setLocation(int x,int y);
このくらい自分で調べられるようになりなさい!
gifアニメは高レベルAPIでしか再生できないの?
できない
拡張APIのGraphics2を使うと一枚毎に取り出せるようなので gifのヘッダからディレイタイムを取り出してスレッドスリープと 組み合わせて描画すれば出来るはず。
それを再生ってよんでいいのかな・・ 最初からばらしておいたほうが(;´Д`)
返事ありがとうございます。 やはり一枚ずつ描画していくしかありませんか… できればスレッドは使いたくないので、 ショートタイマー+再描画でがんばっていこう…
どうしても、少数演算をしたいときみんなどうしてます? 自作?どっかから拾ってくる? いい、アルゴリズムあります?
>>553 sinとかcosとかsqrtとかやりたいなら、数表用意するのが楽だと思う。
すいません、意味が分かりません。
>>554 固定少数って普通に整数(int)のことだと思ってましたけど、どういうこと?
>>555 sqrtを使いたいんですよ。そのアルゴリズムは探したんですけど、
整数だと√4も√8も答えが2になってしまって。誤差がでかすぎるので・・・。
数表なるものはどーゆーもの?予め答えを複数用意しておいてそこから探し出すって事?
ワラタ
553はアルゴリズムとか以前に中学校の数学からやり直せよ
質問なのですが、 P900でHTTPや赤外線で取り込んだ動画像(mp4)を ネイティブのマルティメディアフォルダに保存できないのでしょうか? jpegなら出来るようなのですが…
> 固定少数って普通に整数(int)のことだと思ってましたけど、どういうこと? 近所の小学生に聞け > 整数だと√4も√8も答えが2になってしまって。誤差がでかすぎるので・・・。 そこで固定小数の出番ですョ > 数表なるものはどーゆーもの?予め答えを複数用意しておいてそこから探し出すって事? そんな感じ 「サインテーブル」とかでググれ
ま、少数と小数の区別がついてないお子様だからしかたない。
>>556 数表についてはその通り。
int sqrt[] = new int[] { ...... }
として、sqrt[i]するとiの平方根の値が手に入るように配列の値を予め設定しておくの。
固定小数は、、、
たとえば、下位10ビットを小数部として使うなら、1024を1.0と換算して、無理やり整数で表すこと。
2048が2.0、1536が1.5になる。
この場合、足し算と引き算は、普通の+と-で計算できるのがメリット。
掛け算と割り算もちょっとの工夫でできる。
なんだか、散々叩かれてますねw よく分かりました。皆さんありがとう、 数表については小数の平方根も考えると大変なので√a=√10000a/100 みたいな感じで計算してみました。 固定小数の乗除はシフト演算子を使って工夫ですか。 乗除の計算に関しては専用のメソッドを作った方がすっきりしそう。 色々試してみます。
メソッド作って呼び出すメモリの余裕があるなら、固定小数点クラス作れば?
>>564 小数の平方根考えるのが何で面倒なんだ。。
J2SEとかperlで、forループまわして平方根の値を標準出力にでも出すプログラム書いて、
ぺたっと貼ればおわりじゃないか。
DoJa3.5を使って製作してるのですが、ビルドが問題なく完了した後、付属のエミュレータ画面で動かそうとすると、 「ALERT: Maximum byte code length (32kB) exceeded」というアラートが出てしまい、アプリは起動しません。 これについて、どなたかわかる人、いらっしゃいましたら、ご教授ください!
>>567 たしか、1つのメソッドに書けるコードの量の上限があったはず。
1000行のメソッドとか書いてないですか?w
あっ! えーと、exe()っていう1メソッド、4500行超えです…。 (シュミレーションゲームのアプリつくってて)「switch-case」で、500caseぐらいになっちゃって…。 何か、良い対処方法、ありませんか?
>>569 方法も何もメソッドを分割。りファクタリングツール
もってないの?
>>569 メソッドわけるか、適当なデザインパターン使って、switch-caseを隠蔽してしまうか。。
573 :
デフォルトの名無しさん :04/09/05 23:30
iアプリをブラウザ(JavaApplet)で実行しているHPを見かけたのですが なにか簡単にできる方法(ライブラリ)はあるのでしょうか?
>>575 一番下のは作者が掲示板に何か書いてたぞ。
ラッパがどうのこうの。
>>575 単純にiアプリのゲームをアプレットに移植してるんじゃないの?
自動でマナーモードにするアプリがほしい!・・・けど無理ですよね? だから、「無音の着信音と普通の着信音を切り替えるアプリ」を作りたい! 携帯内の着メロを着信音に設定するアプリは不可能だけど、 アプリ内のmldを着信音として鳴らすのは可能なんですよね? それなら、アプリで○時に着信音が無音の物になって、○時にその設定が切れて普通の物になる。 というアプリなら実現可能じゃないでしょうか? それとも、それだと2つの着信音がなるという事になるんですか? まだ、javaもろくに知らない素人ですが、よろしくお願いします。
どんな資料を参考に、できるできないを判断してるんだか。
>>576-577 スマソ、掲示板見てなかったorz
ラッパクラスを作ったようなことが書いてあるなぁ ('o`;)
やっぱり自分で作るしかないのか
誰かフリー(又は有料)で提供してる人は居ないのか
>>580 コーディングにもよるが、あまり変えなくても移植できたりするぞ。
特別なことしてなければ、表示周りと入力部分の関数を自作するだけでいい。
>>579 資料はネット上に実際にあるアプリなどを検索して・・・
自分なりに解釈した結果です。
アプリで携帯の中身に直接アクセスできる部分ってのは限られててその中に着メロってのが無い、
アプリで着信音に設定してるアプリ(いろメロべんりアプリ、シーマンなど)があったからそれは可能、
と思ったのですが・・・やはり違ったのでしょうか?
ついでに個人が作ってると思われるアプリにもそういうものがあったのでやっぱ可能だとも思いました。
「できる」か「できない」かだけでいいので教えていただけないでしょうか?
>570-572 アドバイスありがとうございます。 ちなみに、メソッド内の行制限については、DoCoMo提供のPDF書類に載ってるんでしょうか?どちらに掲 載されてたか、覚えていたら教えてください。 同じように、public void start { } の中は、何行まで、とか制限あるんでしょうか?(いわゆるプログラムの行制限) switch-case内を分割しようとしてるんですけど、case内の「処理」の部分を別のメソッドにしても、 例のアラート(レス567のやつ)は出っぱなしなんです。 どうしたらきれいに分割できるんでしょうか?? おわかりになる方いらっしゃいましたら、お願い致します。
>>581 入出力系だけでも沢山ありそうな気が。。
通信、スクラッチパッド、リソース、コンポーネント、サウンド...。
レイアウトマネージャ関係の置き換えが頭イタソ。
真面目にラッパクラスを作ったらカナリ大変そう。
ソース二重管理を覚悟してアプレット版を作るのが
とりあえず近道なのかな。
>>583 行数の制限じゃないだろ。バイトコードが32KBを超えたって警告なんだから
32KBってのはJ2ME CLDCの制限じゃないの?知らんけど
>switch-case内を分割しようとしてるんですけど、case内の「処理」の部分を別のメソッドにしても、
>例のアラート(レス567のやつ)は出っぱなしなんです。
複数のcaseを1メソッドにするとか
つーか、アラートが出る前と後のソースをみて自分で考えろ
>>582 公式サイトじゃないと着メロ変えるのは無理じゃないの?
>ついでに個人が作ってると思われるアプリにもそういうものがあったのでやっぱ可能だとも思いました。
なんてアプリ?
>>582 =578
君は調べ方を根本的に勘違いしている。
希望する機能のアプリが開発可能かどうかは開発用の資料を見て判断するもの。
DoCoMo公式サイトから開発ガイドをDLして熟読せよ。
思い浮かぶ疑問は大抵これだけで解決する。
初心者だろうがベテランだろうがまずは関連資料を読むことからスタートだ。
そして書いてある意味が分からない、書いてない、などの時は遠慮なく質問せよ。
できる、できないくらい教えてやれよ。 できないのに調べるのは時間の無駄だ。
回答集があるのに質問&回答を繰り返す方が時間の無駄だ。
今の内に資料見て調べられないようなら、どうせ完成前に挫折するよ。
みなさん、ありがとうございます。 いくつかのcaseを別のメソッドにまとめる方法は、試しても同じアラートが出ます。 何の上限なんでしょうかねー。32kってのは。 しかし、いずれにせよ、コードサイズがでかいってことで認識して、部分部分を別クラスにして、コード組み替えてるところです。 別クラスを読み込んだ時点で、色々な変数(パラメータ)が初期値(未設定だから0なんですが)に 戻っちゃうのが、やや難ですね。スクラッチパッドがんがん多用して『書き出し←→読み込み』やり まくる方法でプログラム組んでってますけど…ほかに簡単な方法なんてのが、ひょっとして、 あったりするんでしょうか?(とりあえずはこれで出来てるから、いいっちゃぁいいんですが…)
>>593 > 別クラスを読み込んだ時点で、色々な変数(パラメータ)が初期値(未設定だから0なんですが)に
> 戻っちゃうのが、やや難ですね。
どんなバカなVM使ったらそんなことが起きるんだろうか・・・
結局、そんなアラート出る時点でコーディングがヘタなだけにしか見えん。
Java勉強しろ。
Classサイズにも制限があった気がするんだが、それじゃないか?
596 :
デフォルトの名無しさん :04/09/07 09:54
>>595 1クラスが100KB超えてもエラーにならないからiアプリなら問題ないと思われ
32KBは起動時のベリファイの制限じゃないのかな
トレース機能全部ONにして実行してミソ。時間かかるけど
確か巨大な配列を定義しても32KB制限に引っかかったような気がする
>>567 さん
switch-caseで500caseくらいとかちょっと考えられないし、
>>593 の書き込みとか
見てて思うんだけど、プログラムの設計なしでいきなり組みに行ってるでしょう?
オブジェクト指向のデザインパターンに沿ってクラス図を書けなんて言うつもりは
ないけど、せめてブロック図やどんな機能を持たせたクラスが必要かくらいは、
メモ程度でもいいから書いた方がいいよ。
慣れてる人ならともかく初心者がおぼろげなイメージだけで組んでもまたハマるよ。
みなさんありがとうございます。 がんがります!
>>593 >別クラスを読み込んだ時点で、色々な変数(パラメータ)が初期値(未設定だから0なんですが)に
>戻っちゃうのが、やや難ですね。
毎回newしてるのか・・・
staticなメソッドとか、Singletonって知ってるか?
600 :
デフォルトの名無しさん :04/09/07 19:33
appハ実行アプリのインスタンス thread = new Thread(app); thread.start(); でエラーにナル thread = new Thread(); thread.start(); だとエラーにナラナイ ゲンインオイエテクダサイ
appがRunnableを継承してないんじゃないの?
602 :
デフォルトの名無しさん :04/09/07 19:56
スーパークラスがRunnable継承シテイナクテ スーパークラスをextendsしたサブクラスがRunnableを継承してイルノハダメデスカ スーパークラスでRunnableをつけるとrun()を実装していないと怒られ サブクラスのみでRunnableを継承するとアプリのインスタンスがシンボルが解決できませんとエラーデス オシエテクダサイ
603 :
デフォルトの名無しさん :04/09/07 20:29
解決いたしましたコレで僕もマルチスレッドプログラマーアヒャヒャヒャ
質問スルナラ読ミ易ク書イテクレw
>>593 コンストラクタに引数渡せることは知ってるか?
いや、たぶんそういう問題じゃないと思う。
extendsしてたりして
初歩的な質問ですいません アプリでスクラッチパッド全領域を0クリアしたいのですが スクラッチパッドの領域サイズを取得する方法がわからなくて悩んでます。 知りたいのはADFのSPSizeの値です。 ご存知の方、よろしくお願いいたします。
ムリ。 初回起動時にjamでも読むとか、AppParamに書いておくとか、 代替手段は色々ある。 後writeメソッドの例外(SCRATCHPAD_OVERSIZE)を受け取るとか。
SPSizeなんか自分で指定するからわかるだろ?
>>609 回答ありがとうございます!助かります!
やはり無理でしたか。
SCRATCHPAD_OVERSIZEを取る方法も考えたのですが
1バイトずつ0を書き込んでいかないと閾値がわからなそうなので
AppParamに記述することにします。
う〜ん残念。
この調査中にSystem.getPropertyで取得できたりしないかな〜って
思ってどんなシステムプロパティがあるのか調べようとしたのですが
System.getProperties()メソッドがないので断念しました。
#どんなシステムプロパティがあるのかな。
>>610 ツッコミありがとうございます。
数値の二重管理が嫌なだけです。
613 :
デフォルトの名無しさん :04/09/08 19:35
>>611 >SCRATCHPAD_OVERSIZEを取る方法も考えたのですが
>1バイトずつ0を書き込んでいかないと閾値がわからなそうなので
バイナリサーチを応用すればすぐに分かるんじゃないの?
>>608 void zero_flush(int index) {
try {
InputStream in = Connector.openInputStream("scratchpad:///"+index);
int len = in.available();
in.close();
OutputStream out = Connector.openOutputStream("scratchpad:///"+index);
for (int i=0; i<len; i++) out.write(0);
out.close();
} catch (IOException e) {}
}
こんなんでどうかな?
booleanにして例外がでたらfalseを返すようにした方がいいかもしれない。
自前で配列にサイズ書いたほうがサイズ小さくて済むと思うけど、
わざわざ2回も書くのは確かに嫌だよね。
数字打ち間違える可能性もあるし。
InputStream#available() >InputStream クラスの available メソッドは常に 0 を返します。 こう書いてあるから駄目なんじゃね?
>>616 確かに書いてあるね。
一応エミュでは正常に動作したよ。
実機は不明。
よく考えたら常に0を返すのはInputStreamがabstractだからだね。
>>615 レスありがとうございます!
なるほど、availableを使う手があるのか〜。
ちょっと気になるのは
availableがスクラッチパッドを対象としたときに
必ず終端までのサイズを返してくれるかってところです。
リファレンスに
「ブロックされることなく読み込むことができるバイト数」
って書かれていますが
きっとスクラッチパッドはブロックされることないんですよね(?)
#そもそもブロッキングの可能性があるのは通信処理くらいなのかな?
>>619 多分ブロックされる事はないと思う。
マルチタスクOSな端末がヘタレタスク処理していたら起こるかも知れん。
他のメソッドでInputStreamをclose()し忘れてて二重アクセスした場合は
ConnectionExceptionが呼ばれる。
ちなみにスクラッチパッドは番号が違うなら別のストリームとみなされるみたいで
InputStreamを複数同時に開いておける。
閉じ忘れる可能性があるから止めたほうがいいとは思うけど、
ゲームとかでオートセーブ機能付けたいとかなら仕方ないかも。
でもclose()しないとどこまで書き込んだか分からないんで、
強制終了させられた場合に大変な事になる可能性がある。
open()とclose()は必ずセットで使うように。
>きっとスクラッチパッドはブロックされることないんですよね(?) そんな保証は何処にも無い バグの元だからそういう考え方は止めた方がいいぞ
>>621 保証ないですか(TT)
実は保証する記述を自分の目で確認したわけではないので
教えて頂いてる方々に聞き方やわらかく
「ブロックされることないんですよね(?)」
って言っただけです。
「バグの元」って言われてもしかたない発言ですね。
今後気を付けますm(__)m
そうなるとavailableを使うのはペケですね。
スクラッチパッドのサイズを取得するのって案外面倒なんだなあ。。。
漏れもavailableをそういう目的で使うのはバグの元だと思う。やめとくのが懸命。 SPSizeを、なんでそこまでして動的に取得したいのか分からん。 というか、SPSize取るためだけにストリームをはじからはじまでなめるなんて考えられん。。 「気持ちわるい」以外に理由がないならAppParamに書くのが一番確実。 それでもあえて動的に取得したいのなら、614さんの提案を使って、 pos=の値を(バイナリサーチの要領で)色々変えてオープンしてみるのがいいんでないの? posがSPSize以上なら例外発生するはずだから。
>>623 >SPSizeを、なんでそこまでして動的に取得したいのか分からん。
以前にも書き込みましたが数値の2重管理が嫌なだけです。
それ以上の深い意味はないです。
既にAppParamを使う方法で実装してあります。
ADFのSPSizeとAppParamは常に同じ値を記述しておかないといけない。
私はこの状態が「気持ち悪い」のです。
こういった数値の二重管理もバグの原因になると私は考えます。
とは言ってもバイナリサーチまでしてSPのクリアを実装するのは
ナンセンスと私も思います。
私の知らないもっと簡単に取得できる方法があるのでは?
という意味を込めて質問しているのです。
>>624 二重管理がバグの原因になるという主張には同意するけど、
だったら必ずADFのSPSizeとAppParamの値が同じになるようにADFを生成するスクリプトを書くね。漏れなら。
あ、あと、肝心なこと言い忘れてたけど、 > 私の知らないもっと簡単に取得できる方法があるのでは? > という意味を込めて質問しているのです。 そういう意味では、「簡単に取得できる方法はない」が答え。
レスありがとうございます 既に似たような手をうってありますが どうも神経質なせいか気分が晴れない手段なんですよねー(苦笑)
>そういう意味では、「簡単に取得できる方法はない」が答え。 了解です!!
>>627 「気分が晴れない」ってのは分かる気がする…。
ただ、iアプリはそういう所結構多いかもw
>>629 確かにw
iアプリ作り始めてから、そんなのばっかり。
クラスの数減らすことに必至だしw
631 :
デフォルトの名無しさん :04/09/10 00:35
一度にDL出来るサイズって20KBまでだよね? 20KBを越えているファイルをスクラッチパッドに保存したいんだけど、 20KBずつ取り込む時にインプットストリームでスキップしていいの?
> インプットストリームでスキップ いみふめー
>>631 httpのGETメソッド一回で取得できるサイズが20KBということなので、
ファイルを分割して、もう一度open/connectする以外に方法は無い。
631のイメージを推測して言えば、20KB以上のファイルは20KBまでは
取得できる(ハズ)が、それ以上はそもそも取得できていないので、
ストリームも20KBまで。
doja3.5では可能では?
>>631 サーバに置くファイルを、それぞれ20KB以内に収まるように分割しておく。
んで、読んだあとにスクラッチパッドに書き込む位置を指定してつなげる。
途中でエラーが起こったときに厄介なんで俺はやらないけどw
エラーなど起こらん
>>636 ネットワークアクセスのエラーだろ。スクラッチパッドの読み書きでは
無いと思われ。
エラー処理なら、一度ヒープに全部読んでから、スクラッチパッドに
一気に書き込めば良し。エラーが起こったら、エラーが起こったブロックを
破棄すればいい。全部のブロックがエラー無く読み込めたら、スクラッチパッド
に書く、と。
>>638 それ以前にコンパイラがやってくれてるよ。
>639 そうだったのですか。ありがとうございます!
ソフトキーの1と2で、どちらに終了を割り付けるのが 一般的というかめじゃーなのですか? 手持ちのアプリだと半々くらいでして。 そんなの決まってねぇ、好きにしる!ってんなら好きに するけど。
>>641 漏れは右(ソフトキー2)が終了が好きだな。
電源キーの近くにあるし。
>そういえば、セレクトキーがあるのになんでキャンセルキーがないのか… Macと同じで1ボタンなんだよ
>642 >643 レスthx。終了は右側にしてみます。 設定可能にしてみたいけど、jarのサイズが9799byteだから、 設定機能の追加はむりぽ。今までVC++でやってたから、 この1byteを搾り出す感覚は初めてだ。
VC++でも、1バイトの最適化が必要なプログラムはあるのだが。
648 :
デフォルトの名無しさん :04/09/12 19:31:14
コピペしてるから
しかし、あまり参考にしていいコードではないな。
>>649 全角スペースは半角に置換しました
IApplicationのサブクラスとしてファイル名と同じクラスを宣言するようにも書き換えてます
ちゃんとビルドまでは通ります
ほんと初心者ですまん・・・
>>650 スマートなサンプルコードがおいてある場所があれば教えてほしいです
resource:///image.gif が存在しないとか
それ以前にハロワでもだめぽ test00.javaで、 import com.nttdocomo.ui.*; public class test00 extends IApplication { public void start() { mycanvas w_canvas = new mycanvas(); Display.setCurrent(w_canvas); } class mycanvas extends Canvas { public void paint(Graphics g) { g.drawString("HelloWorld", 30, 30); } } } 相変わらずビルド完了して起動すると即終了
即終了ってのがよくわからんのだが、エラーメッセージは出てないの?
エラーメッセージは出ません ほんの一瞬だけエミュレータの画面が変化したあとに待機状態の白い画面に戻ります 白い画面になったら再度実行できる状態になっています ログは ビルド開始 C:\iDKDoJa3.0\apps\test00\bin\test00.jar を作成しました C:\iDKDoJa3.0\apps\test00\bin\test00.jam を更新しました ビルド終了 java.lang.ClassNotFoundException: uidemo .test00 java.lang.ClassNotFoundException: uidemo .test00 何も変哲ないです
釣りか?
warata
このスレは上級者が中級者をテストしてるスレですよ。 初心者はいません。
java.lang.ClassNotFoundException これはエラーメッセージだったのか ∧||∧ ( ⌒ ヽ ∪ ノ ∪∪ 正直ごめんなさい。あとは何とか頑張ってみる。レベル上げてまた来ます
ImageStore#getInputStreamの返すInputStreamは markSupportedがtrueってことで問題なし? エミュはOKだったけど実機は持ってないから調べられない
>>660 それはどうなんだろう。調べてみないと分からないかも。
>>661 駄目かな?
メモリから読みこむだけだろうし
それぐらいサポートされててもいいと思うんだが
ちょいと質問なんですが、同じ配列に、String型(文字列)と、int型(数字)を入れる事は、どうやってもできないんでしょうか? [例] ____ hairetsuA [0] = "やまとたける" ____ hairetsuA [1] = "お笑い芸人" ____ hairetsuA [2] = 50 ____ hairetsuA [3] = 86 ↑ できるとしたら、その場合ここには、何が入るんでしょうか? 無理っすかね?宜しくお願いします。
____ hairetsuA [2] = "50" 使うときにInteger.parseIntすればいい。
>>663 それぞれの要素が「文字列」か「数字」かは、どっか別に管理する必要があると思うんだけど、
どうするつもりなの?
まあ、664さんの案か、intはIntegerでラップしてObject[]に入れるか、どっちかだな。
でも、設計考えなおした方が良い悪寒。
大きな配列をいくつも宣言してると、 java.lang.OutOfMemoryError が出ます。 char look = new char[256][256][9]; こんなの。 エミュレーター上ではメモリ容量の制限とかあるの?
>663 パスカルなんかでは、簡単にできるよね。確か。
> エミュレーター上ではメモリ容量の制限とかあるの? Yes
>>663 がやろうとしている「異なる型のデータを一まとめで扱いたい」というのは
通常、配列ではなく構造体を使う。
Javaには構造体がないから、その役割を含むClassを使うことになるが。
もし構造体(ないしClass)のことを分かっていて、それでも「Classはプログラムの
サイズが大きくなるから、なんとか配列で工夫できないか模索している」ということ
であれば、このレスはただの余計なお世話で、
>>664 や
>>665 の方法が有効そうだ。
>>663 できるとしても、そこには何も入らんな。
>>668 サンクスです。
ちなみにどうにか制限を緩和する方法ない?
設定を変更できるとか、起動オプションで対応できるとか…
すみません、インストーラーの隣にドキュメントあったのね…。(;・∀・) お騒がせしました。
Graphics2のレンダリングでイメージの透過をさせたいのですが、 書き方が解りません、ご教授下さい
Graphics2#setRenderMode(int operator, int srcRatio, int dstRatio) 画像を薄くして背景が透けて見えるようにするにはoperatorはOP_ADD。 背景の色を透けさせないで薄い画像を描くにはoperatorはOP_REPL。 OP_SUBはあまり使いどころがないかもしれない。背景の裏側にキャラとか? 表示する画像と背景は0〜255の256段階の濃さを持っていて 0で完全透明、255でもともとの濃さ。 srcRatioが描画する画像の濃さ、dstRatioが背景の濃さ。 もとの色の75%に薄めた画像を、背景を透けさせて描くなら Graphics2 g2 = (Graphics2)g; int srcRatio = 255 * 75 / 100; int dstRatio = 255 - srcRatio; ←画像と合わせて255(100%)となるように g2.setRenderMode(Graphics2.OP_ADD, srcRatio, dstRatio); g2.drawImage(…); ←画像を描く
機種依存が無ければ使いたい…。
まあ、getRGBPixelsとsetRGBPixelsを組み合わせれば イメージ描画に関しては同じ事が出来るんだけどな。 でもどうしたって遅くなってしまうからなあ。 さっさと基本APIにして欲しいよ。
>>674 できました、ありがとう。
あと、setRenderMode後すべてが透明化になるのですが、
もとに戻すにはg2.setRenderMode(Graphics2.CM_NORMAL, 255, 255);
で、いいんでしょうか?(一応もどってるけど、、
>>677 g2.setRenderMode(Graphics2.OP_REPL,255,0) とかじゃない?
CM_NORMALも結局は同じ値(=0)だからたまたま戻ってるけど。
>>675 めちゃめちゃ機種依存。
機種ごとに正常に動く描画プリミティブが違うので事実上使えないorz
>>678 サンクス
今、検索してたら900iVはX・・(゚听)
iアプリむつかしいな・・・(プログラム初めてなんで
2chでよくみる orz って何の略?
!!!
iアプリって皆APIドキュメントだけ頼りに作ってるんですか? ドキュメントの解釈がかなり難しいんですけど・・ さっきの ソースピクセルとか dstRatio - デスティネーションピクセルとか、 プログラム以前の問題ですかね?
>>679 >2chでよくみる orz って何の略?
たとえば>プログラム以前の問題ですかね?の後なんかに使えるね、この場合。
setRenderModeは、最低でもalpha blendingのこと知らないとAPIドキュメントの記述はわからんだろうな。
>>684 アルファブレンディングはできないけどな。
doja 3.5 のエミュレータで、ダイアログがうまく表示されないのです。 画面が一瞬白くなってダイアログの次の処理に進んでしまうのです。 自動的にOKボタンが押されている感じです。 Dialog d = new Dialog(Dialog.DIALOG_YESNO, "ゲーム終了"); d.setText("もう一度やりますか?"); d.show(); 実機で試してみたら、ちゃんとダイアログが表示されるようです。 デバッグに困るので何か回避方法はないでしょうか。
バグを出さない。 ってか、デバッグの意味わかってる?
>688 レスありがとうございます。 show() で例外は発生していないようです。 try〜catchでは捕まえられませんでした。
ダイアログ側で、Display.KEY_PRESSED_EVENTじゃなくて Display.KEY_RELEASED_EVENTを見るようにすればいいんじゃない?
>690 それは Dialog クラスの中をいじるってことでしょうか?
>>686 ダイアログはボタンを離すという動作に反応する。
つまりKEY_UPで反応するわけだ。
なのでKEY_PRESSでダイアログが出るような仕組みだと、
ボタンを1回押すという動作。PRESS→UPで、即座にダイアログが
選択されたことになってしまうぞ。
doja3.5のエミュでSH900i用の画面サイズの設定はないんでしょうか? 画面の高さとフォントの大きさが他と違うみたいなんですよね
>>696 SH900iは240x262で、他の機種より縦に12dot長い。
DoJa3.5のエミュでもdevice 2を選べば、まったく一緒ではないにしろやや縦長になる。
>>696 エミュのスキン設定ファイルに
font_size=12,20,24
を書き込む。
設定ファイル弄れば画面サイズも変更できる。
>>拡張APIの実行速度と実装状況 全機種JBlend搭載になれば、大分マシになるんだろうか? 901iではこんな糞い状況にならないことを期待してみたり。 この辺の処理仕様さっさと纏めろよドコモ…。
「クリックしたらhttpに接続して、(単純に)サイトを表示する」ということをプログラムしたいのですが、
どのサイトを参考にしようとしても、『GET(またはPOST)で引数を渡して…』とか、『単純に表示するだ
け』の機能の解説がありません。できないっつーことですかね?
一応、今は、ボタン待機状態から、
if(event==Display.Key_SELECT){
HttpConnection urlCon = (HttpConnection)Connector.open("
http:// ○○○○○.com",Connector.READ,true);
urlCon.connect();
}
でやってるのですが、例外で、『java.lang.SecurityException』が出てしまいます。
どなたかわかる方、いらっしゃいましたら御享受いただければ幸いです。
>>700 ダウンロード元じゃないところに接続してるんじゃないの?
単純に表示するだけって、HTMLを文字列として?
HTMLを解析してレンダリングすることは単純じゃないぞ。
享受・・・あるものを受け、自分のものとすること。
>>701 どうもです。
一応、ダウンロード元と同じサーバーです。。。
(でも、それって900iから解消されたんじゃないんでしょうか?)
単純に表示する…というのは、iアプリ実行中、SELECTボタンを押すと、iモードが立ち上がってネットに接続される、という事です。
インテリア用品の商品の紹介アプリなんですが、アプリ内に商品GIFと商品解説があって、『この商品を詳しく知りたい』をクリックすると、単純にネット上の販売サイトに移動する、ということをしたいのですが。。。
(その際、iアプリは立ち上げっぱなしにして、iモード接続状態にしたいです。)
jamに設定してないだけちゃうんかと
>>702 できないよ。
iアプリはセキュリティの問題からダウンロード元のサイト以外と通信できない。
900iだろうが同じ。iアプリDXだとこの制限はなくなるが、申請できるのは当然
公式のコンテンツプロバイダのみ。
ダウンロード元のサーバでも、iアプリの中からWEBページを直接表示することは
できない。HTMLファイルをナマのまま引っ張ってきて自力でタグを解析して表示
することならできる(これを「WEBページが表示できる」と言っていいかは疑問だが)。
”単純に”WEBページを表示するなら、iアプリ内からブラウザ連携機能で
ブラウザを呼び出す。しかしこの場合、iアプリはブラウザ起動と同時に終了する。
わざわざアプリ作る必要無い予感
それをふまえてすげーの作る予定なんだよ、きっと
>>700 ひょっとしてlaunch()の事が知りたいのか?
launch(LAUNCH_BROWSER,new String[]{"URL"})でアプリを終了してブラウザを起動するが。
709 :
デフォルトの名無しさん :04/09/24 13:10:28
N900iで開発をしているのですが、ダウンロードしたアプリを実行しようとすると、 「ソフトに継続動作できない障害が発生しました」 となり、終了していまいます。Trace onにして実行した結果 message = Class extends a final class throwable = throwableMessage = curClass = com/nttdocomo/ui/KJAE curMethod = main とでます。 どのような意味かご存知の方はおられるでしょうか?
>>709 com.nttdocomo.ui.KJAEって、709さんが作ったクラス?
com.nttdocomo.uiパッケージの中に自作のクラスを入れるとダメだったりしない?
711 :
デフォルトの名無しさん :04/09/25 21:25:13
>>709 終了する一歩手前までSystem.out.printlnとかでどの行で終了するか見てみろ。
System.out.println("エラー確認用 No.1");
処理1
System.out.println("エラー確認用 No.2");
処理2
System.out.println("エラー確認用 No.3");
とかするとトレースで確認した時
エラー確認用 No.1
エラー確認用 No.2
message = Class extends a final class throwable =
throwableMessage =
curClass = com/nttdocomo/ui/KJAE
curMethod = main
と出た場合処理2が原因と分かる。
712 :
711 :04/09/25 21:52:25
>>709 Nシリーズはエラー発生時にエラー表示が出るんだった。
その内容が
message = Class extends a final class throwable =
throwableMessage =
curClass = com/nttdocomo/ui/KJAE
curMethod = main
これだったのか。
>>711 の方法はメニュー画面からiアプリに行って
それらしいトレースの項目探せばSystem.out.printlnの表示が見れる。
>710 便乗質問なんですけど、iアプリって 自分でパッケージを作成してimportできるのですか?
お邪魔します。 現在、Panelで画像をいくつか表示させています。 同じ画像に対して2回setLocationを書くと、一つしか表示されないようです。 一度取り込んだ画像を、同時にいくつも表示させる為には 画像の数だけ取り込みを行わないといけないのでしょうか? 宜しくお願い致します。
f505iなんですが、 指紋センサ(FingerSensor)って使えないんでしょうか? jguideforDoJa3_0_opt_040709.pdf に使えるっぽいこと書いてあるんですが、とりあえずビルドしてみると UnsupportedOperationExceptionで使えないっぽいです。 ADFのTrustedAPIDを設定してみても変わらず。 昨日からiアプリというかJava始めたのでお手上げでした。 使えませんかね?
>>715 使えるけど、一部のメソッドは非対応だったはず(authenticate()が使えないとか)
>>2 のリンク先にオプションAPIの対応状況のpdfがあるからそれ見てチョ
あと、エミュと動作が微妙に違うから、エミュで動いても実機じゃエラーになる事もあった気が
>>714 setLocation がどういうメソッドなのかは知ってるよな
>>713 importって、どういう役割してるか知ってる?
名前省略できるようにするだけだよ。
Fでテストしているとunlockで30ms程かかっているんですが、 この速度を上げることはできるんでしょうか? 可能であればなくしたいのですが。
裏バッファとしてImageをつくり、そこに全て描画してから 一括して表画面に(lockせずに)drawImageする。 でもそれだとlockの方法の方が早いと思うなぁ。 元からlockを使わないですむようなアプリならいいんだけど、どう?
723 :
709 :04/09/27 15:08:17
みなさんどうもありがとうございました。 色々細かく調べた結果, com.nttdocomo.ui.AnchorButton を継承した自作のクラスを作ったのが原因でした。
>>722 ありがとうございます。
そのやり方自体は一応思いついていて、
やろうかどうか迷っていたんですが、
思ったより簡単にできたので変更してみたんですが、
ほとんど変わりませんでした。
わずかながらlock・unlockの方が速いような気もします。
unlockでかかる時間は何かに依存しているんでしょうか?
Editコンポーネントは使えないのですか?
726 :
デフォルトの名無しさん :04/09/27 23:57:43
こんばんは。アプリ開発初心者です。
データをダウンロードしてスクラッチパッドに格納したいのですが、
データの容量が20K以上(下りは20Kまで)だと破棄されてしまします。
GETをPOSTにすればできると思ったのですがうまくいきませんでした。
みなさんは20K以上のデータをダウンロードしてスクラッチパッドに
格納する場合、20Kごとに分割してダウンロードしているのでしょうか?
try{
conn = (HttpConnection)Connector.open
("
http://localhost/aa.pak ",Connector.READ,true);
conn.setRequestMethod(HttpConnection.GET);
conn.connect();
int len = (int)conn.getLength();
in = conn.openInputStream();
byte b[] = new byte[len];
in.read(b,0,len);
in.close();
conn.close();
// save res
out = Connector.openOutputStream("scratchpad:///0;pos=1");
out.write(b);
out.close();
}catch(IOException e){System.out.println("error: "+e );}
727 :
デフォルトの名無しさん :04/09/28 00:17:59
TextBox配列の宣言の仕方がわかりません。 private TextBox t_edit[]=new TextBox[5]("",10,1,TextBox.DISPLAY_ANY); では;が無いと言われます。
>>726 キミはまずGETとPOSTで何が違うのかを勉強してくれ。iアプリじゃなくてHTTPの話だ。
で、iアプリでは規定量以上を1回のやりとりじゃダウンロードできない。
なので、分割ダウンロードするしかない。
>>727 配列の初期化と配列の要素の初期化は別。あえてやるなら、
private TextBox[] tEdit = new TextBox[5] { new TextBox("", 10, 1, TextBox.DISPLAY_ANY),
new TextBox("", 10, 1, TextBox.DISPLAY_ANY),
new TextBox("", 10, 1, TextBox.DISPLAY_ANY),
new TextBox("", 10, 1, TextBox.DISPLAY_ANY),
new TextBox("", 10, 1, TextBox.DISPLAY_ANY) };
かな。
説明諸読み返したらできました。
>>716 サンクス
でもf505iでは動きません。(´・ω・`)ガッカリ。
以下ソース。板汚してごめんね。
import com.nttdocomo.ui.IApplication;import com.nttdocomo.ui.*;import java.util.*;
import com.nttdocomo.ui.PhoneSystem;import com.nttdocomo.opt.ui.PhoneSystem2;
import com.nttdocomo.opt.device.FingerSensor;// 指紋センサー
import com.nttdocomo.opt.device.FingerprintAuthenticator;
import com.nttdocomo.system.InterruptedOperationException;
import com.nttdocomo.lang.UnsupportedOperationException;
import com.nttdocomo.lang.IllegalStateException;
public class FingerSensor1 extends MApplication {
static FingerSensor fs;mycanvas w_canvas = new mycanvas();String w_move="";
public void init() {
try{
fs = FingerSensor.getFingerSensor(); // 指紋センサオブジェクトを取得
fs.setAttribute(FingerSensor.DEV_SENSE_INTERVAL,100);//setinterval
fs.setAttribute(FingerSensor.DEV_NULL_EVENT_NOTIFICATION,FingerSensor.ATTR_NULL_EVENT_ON);
fs.setEnabled(true);// ナビゲーションモードを有効
}catch(UnsupportedOperationException e){ System.out.println("UnsupportedOperationException"); }catch(IllegalStateException e){ System.out.println("IllegalStateException"); } public void start(){ w_canvas.setSoftLabel(w_canvas.SOFT_KEY_1,"終了"); w_canvas.setSoftLabel(w_canvas.SOFT_KEY_2,"test"); Display.setCurrent(w_canvas); init(); System.out.println("init completed."); } class mycanvas extends Canvas { public mycanvas() { } public void paint(Graphics g) {
g.lock();g.clearRect(0,0,240,268);g.drawString(w_move, 5, 50);g.unlock(true); } public void processEvent(int type, int param) { int deltaX, deltaY; // 移動量 String w_dx,w_dy; // ΔX、ΔY repaint(); // 再描画 switch(type) { case Display.FINGER_MOVED_EVENT: // 移動量を取得 deltaX = fs.getSenseData(param, FingerSensor.DATA_DELTA_X); deltaY = fs.getSenseData(param, FingerSensor.DATA_DELTA_Y); w_dx="移動量:ΔX : "+deltaX; w_dy="ΔY : "+deltaY;
w_move=w_dx+w_dy;System.out.println(w_move); break; case Display.KEY_PRESSED_EVENT: if(param==Display.KEY_SOFT2){ System.out.println("非活性化に移行");deactivate(); } if(param==Display.KEY_SOFT1){ System.out.println("終了");terminate(); } break; } } } }
(´・ω・`) 夜う゛ぁい。寝なくては。
735 :
デフォルトの名無しさん :04/09/28 13:04:06
コンポーネントをグリッド状に配置するメソッドはありますか?
sortしたいんですけど何をimportすればいいですか?
>>737 自前で・・・
アルゴリズム教科書読みながらクイックソートなり、
シェルソートなり、データの特性にあった方法で。
すごく不便なんだけど何しろ「きろばいとじゃゔぁ」なので。
>>737 importはクラス名を省略形で書けるようにするだけ。
cgiから通信データをバイナリで受け取っているのですが、 cgi側の「print pack("a",10)」で送ったデータを受け取ると、13,10の値になってしまいます。 多分改行コードの関係だと思うのですが、これはcgiとjavaのどちら側の問題なのでしょうか?
>>740 なにをやってるか正確にわかるようにかけ。
どうやって受け取ってるかわからなければ、おまえのコードが悪いのか、Javaのなにかが悪いのかもわからんだろ。
こんな感じです。 byte data[] = new byte[10]; HttpConnection connect = (HttpConnection)Connector.open(getSourceURL()+"connect.cgi",Connector.READ_WRITE,true); connect.setRequestMethod(HttpConnection.POST); connect.setRequestProperty("Content-Type", "text/plain"); OutputStream output = connect.openOutputStream(); output.write(0); InputStream input = connect.openInputStream(); input.read(data);
すみません、output.write(0);のあとにconnect.connect();が入ります。
Stringの数字をbyteとして扱うにはどうすればいいですか?
>>744 そりゃJavaの問題だろ。
static byte parseByte(String s)
指定された String が byte を表すと仮定し、その byte 値を返します。
static byte parseByte(String s, int radix)
指定された String が byte を表すと仮定し、その byte 値を返します。
TextBoxのtextが変更された時のイベントは何ですか?
747 :
デフォルトの名無しさん :04/09/28 22:48:50
すいません、iアプリで累乗の計算がしたいんですけどどうしたらいいですか? 「 ^ 」←この記号だとできないみたいなんで。。
>>747 累乗なんて計算できない。
がんばって*で何回も掛け算しなさい。
CLDC1.0だと浮動小数点数も使えないのでpowもない。
static long ruijo(int x, int n) { long a = 1; while (n-- > 0) a *= x; return a; } これで我慢しろ。
>>740 pack("a", 10)が何を意味してるか知らんけど("a"なんて使ったことない)
10が13,10になるってのは
ようするにLFがCRLFになるってこと?
もし、perlをwindowsで実行してるのなら、STDOUTをbinmodeしなきゃだめだよ。
binmode STDOUT;
print "\x0a";
>>748 ,749
そうなんですか。ありがとうございます。
10^3.2 とか計算したかったんですけど無理ですよね。つД`)
>>751 そもそも整数しか使えないからなあ。
どういう計算がしたいのかわからないけど、固定小数点をつかうようにして、数表用意するのが現実的だと思うよ。
>>752 さすがに数表じゃ無理でしょ。
真面目に計算した方が楽そう。
>>752 ,753
わかりました、ありがとうごあいました。。
>>750 binmodeがSTDOUTに使えるのは知りませんでした…。ありがとうございます。
>>755 POSTで(urlencodedされてない)バイナリをうけとる時は、STDINもbinmodeにしなきゃだめですよ。
Windowsは。
って、そろそろスレ違いだからやめよう。うん。
drawString()で絵文字を表示すると、色が絵文字独自の色になってしまう機種があるのですが、 これをSetColor()で指定した色で表示する方法はないのでしょうか?
>>757 Graphics#setPictoColorEnabled
実機持ってないんでわからないんですけど、 サイズ10KB以上はダメなんですか?
>>760 実機持ってないあなたには1KBすら許されません。
100KBが許される端末を使っている人には100KBが許されます。
初回起動時にパスワード入力画面が出て、一度入力すれば次から表示されない ようにしたいのですが、そうするとスクラッチパッドを使ってしまいますよね? SPは他の事にも使いたいのですが、どうにかなりませんか?
>>762 スクラッチパッドの何バイト目に何のデータを書くか決めればいいだけだろ。
もう少し頭使おうぜ。
>>762 パスワードを入力したら、本物のiアプリをダウンロードする
mldファイルをAudioPresenterで再生しているのですが、何故か音量が小さくなってしまいます(´・ω・`) N900i内臓のメロディプレイヤーだと普通の音量で再生できるのですが…。 setAttribute()でAudioPresenter2.VOLUMEを指定しなおしても変わりません。 まだ何か足りないのでしょうか?
>>762 SPの一番後ろのByteに0か1を入れて書き込めばいいっしょ。
>>766 PsmPlayerV4.41のiメロディFM16和音作成(N)で作っています。
505,506,FOMA900全機種で共通で使おうと思っているのですが、やはり無理がありますかね?
質問よかですか? 今までSPSize=20480で快調に動いていました。 今日、画像が増えたのでSPSize=30720にしたんです。 すると、スクラッチパッドの20480辺りで画像が壊れるんです。 (20480以降の始めの画像を読み込まない。ダンプ表示は行ってない。) なぜなんだか、、、 環境は、 SH505i eclipse
>>769 DoJa-3.0では、1回のHTTP通信で取ってこれるデータの最大サイズが20KBだから。
なので、データを分割して読み込むようにするか、SPの領域を別にする必要がある。
771 :
デフォルトの名無しさん :04/10/02 20:42:14
>>770 で、でたー!
なんだよその仕様。。。
説明書に書いてあったっけ?
まぁ、いいや。
非常に助かった。
ありがとう。
>>771 最大サイズを越えてHTTPで取ってこようとすると、ConnectionExceptionになるんじゃなかったっけ?
例外キャッチすればSPの問題じゃないって分かりそうなもんだが。。
というか、いまさら20K制限とか知らないのもどうかと思うんだが…。 いや、初心者なら確かにそうなんだけど 「なんだよその仕様」とか 「説明書に書いてあったっけ?」 とか(;´Д`) そういう仕様なんだよ! 説明書にきっちり書いてあるんだよ!
質問失礼します。 iアプリをDLする人の会員管理をしたいのですが、 iアプリをDLするとき、CGIか何かサーバ側プログラムで JAMファイルのAppParamに会員ナンバーを 動的に割り当てる方法は可能でしょうか?
>>774 そりゃ可能だと思うが。
実際よくやるよ。
776 :
デフォルトの名無しさん :04/10/03 13:25:10
初めてiアプリを作っています。(java自体初めてです) Doja3.5のDOCOMOのエミュでは動作しますが、N900isでは エラーがでてうまくいきません。 携帯に保存された画像を読み込んで拡大縮小表示するだけの 簡単なものですが、下記で例外が出ます。 ImageStore ie = ImageStore.selectEntry(); MediaImage mi = ie.getImage(); m.use(); use()した際に例外が発生しますが、待ち受け画像の標準サイズ より大きい画像の場合のみです。機種依存なのでしょうが、これを 回避する手段はあるでしょうか。また、この手の機種依存が記載 してあるところがあればご教示ください。
>>776 ヒープの問題だよ。
Nはでかいの無理。
他機種ではいけるのあるよ。
>>773 あら。
ごめんなさいねぇ。
もう、二度と書き込まないワン
>>776 > use()した際に例外が発生しますが、待ち受け画像の標準サイズ
> より大きい画像の場合のみです。機種依存なのでしょうが、これを
もろに機種依存です。アスキーのFOMA本には書いてあったと思う。
>>775 レスどうも。
そうなんですか。よく使う手なんですか。
携帯関連のPGは初めてなもので、
ありがとうございます。
Java servletでやってみます。
781 :
デフォルトの名無しさん :04/10/03 15:54:15
J2SE5.0は対応してますかね? やっぱり1.4じゃないと駄目ですか?
782 :
デフォルトの名無しさん :04/10/03 15:58:02
>>781 それをいうなら、1.3じゃないとだめと聞かないと。
とりあえず、エミュは問題なく動く。
783 :
愛の戦士 :04/10/03 16:00:17
彼女の携帯アドレス帳をゲットしたいのですが・・・ 浮気調査ですけど・・・ 何か良い作戦ないですか?
784 :
デフォルトの名無しさん :04/10/03 16:03:31
>>776 NとPは、縦横320pixelまでのImageしか扱えない。
>>782 すいません。公式には1.3でしたね。
確かにサンプルを書いて動かしてみたらエミュレータでは動いたんですが、
携帯では動きませんでした。
target指定とか出来ればいけると思ったんですが・・・指定の仕方も分からない・・・
>>786 -target 1.1 でないとpreverifyできない
というか、1.4依存の命令使ってるってことか? あまりお目にかからないんだが…
>>779 >>776 ありがとうございます。
すっきりしました。
地下鉄の路線図の画像を携帯で見るために試行錯誤したのですが、
内蔵ビューアの編集画面での等倍表示で我慢するしかないですね。
ビューアに拡大表示機能があればいいだけなのに、、、
がっくし。
>>787 確か最新の、SunのCLDC付属のpreverifyは、1.4でも普通にperverifyできたと思った。
792 :
デフォルトの名無しさん :04/10/04 00:15:32
<⌒/ヽ-、___ /<_/____/ ∧∧ (u・ω・) _| ⊃/(___ / └-(____/  ̄ ̄ ̄ ̄ ̄ ̄ ̄ <⌒/ヽ-、___ /<_/____/
J2SE5.0 & iappliTool for DoJa-3.5 の環境で, サンプルソース(テトリス)をiappliTool上からビルドすると, javac: ターゲットリソース1.1がデフォルトのソースリリース1.5と競合しています. javacの実行に失敗しました と,でます. iappliToolのビルドに -target 1.1 をつける方法ってありませんか? てゆうか,それ付けられればビルドが通るのかすら,わからない.
J2SE5使うなよ。
しかし、現実的ではないなぁ。 iアプリ開発用の環境にはJ2SE5がインストールできないとなると。 「設定 > sun.tools.javac.Mainを使用する」にチェックいれればいいと思うんだけどね。
そこでEclipseですよ。
>>796 リリース用のビルドはDoJaで。
単純にビルドすると、サイズがかなり違う。
>>795 おぉっ! 通った.
どうもありがとうございました.
Eclipseでiアプリって作れるんですか?
>>799 むしろ、Eclipseで作らずになんで作るんだ?という状態。
DoJaはSunOneStudioにも対応してるが、該当バージョンはもはや古すぎる
初心者なら最初は適当なテキストエディタだけ使ってた方がいい。 アプリを製作してくうちに必要性を感じたら開発環境を整えてけ。 そうでないとエラーが出たとき環境なのかソースなのか 原因を突き止める能力が備わってないうちは振り回されて困るだけ。 もちろん必要性を感じなかったらずっとエディタだけでも構わない。
>>801 ふつーにDoJaで作ってるけどなぁ(w
デバッガの挙動とか微妙にアヤシイのでEclipse使わなくなった。
>>802 変な入力ミスや、ビルドせず実行してエラーが治らないといって悩む時間があるなら、Eclipseに入力ミスを治してもらって、本質的な部分で悩んだ方がいい。
デバッガの挙動があやしくてEclipseを使わないなら、デバッガには何使うんだ?
結局デバッガを使わないなら、Eclipseでいいじゃないか。
少なくとも、まわりに経験者がいてめんどう見てもらえるんじゃない限りは、統合環境を使うべき。 そうでないと、くだらないことで悩む時間が多すぎる。
>>797 かなり? デバッグシンボル付けないようにすれば
ほとんど変わらないと思うぞ。
>>806 「単純に」
ビルドオプション変えてもサイズが違うのは事実だし、とりあえずDoCoMoの資料にはDoJaでビルドするように書いてある。
>>803 元々Eclipseは組み込みJava向け開発環境だったVisualAge for
Java for MicroEditionが元になってる。だからJ2MEにはかなり
積極的なんだけど、KVMに対するデバッガ接続に関しては「こっちは
規格どおりやってんだけど、SunのKVMってなんかおかしいんだよね。
(Sunのなんか使わずに)J9使ってくれないかなあ」という愚痴めいた
対応をたまにするね、彼ら。それでも昔に比べるとかなりマシになった。
ちなみにJ9ってのはIBMが作ったJava VMで、今はJ2ME向けに出荷されている。
>>807 リリースビルドでシンボル付けっぱなしってことは
普通やらんだろ。「単純な」場合だけ比較しても
意味ないね。
わざわざEclipseでデバッグ情報外してビルドするならDoJaでやったほうがいいと思うのだが。 iアプリのサイズの場合、差の大きい小さいより、差があることが重要になることも多いし。
Eclipseとの差を気にして、javacのバージョン違いに ついては無頓着なのが不思議。
>>804 デバッガは使ってない。無くてもそんなに困ったことないなぁ。
iアプリだと一人で全部開発しちゃうわけで、コードの全容を把握できてるなら
エラーがあってもトレースするまでも無く原因を追えるし。
何より、使い慣れたエディタで編集したいw
>>812 使い慣れたエディタがあるなら、なにもいうことはない。
Eclipse重過ぎないか。
そうか? VMが新しければ問題なさげだけど。
まあ、ここは初心者スレだから無理に統合環境すすめなくとも エディタ1本で行きたい人には行ってもらえれば良いと思ー。 iアプリの規模だと、それでもあんまし困らないしね。
つーか、デバッグ情報はpreverify通すと消えるでしょ。
>>817 そうなの?知らなかった。
確かに確認してみたことはないが。。
>>804 「ビルドせずに実行してエラーが治らない」ってどういう状況?
ビルドしなきゃ実行できないと思うのだが。
で、ビルドできたら当然コンパイラーによるエラーは全部解決してるわけで。
>>819 バグがでる→プログラム修正する→ビルドせずに実行→バグ治ってない
やってしまうとムダになやむ。
821 :
デフォルトの名無しさん :04/10/07 02:57:48
JDK1.4.2_05、Doja3.5のeclipse2.1.1でiアプリを作成しようとしているのですが、 「プロジェクト」>「Doja3.5-設定」でADFを設定後、 Doja3.5用実行パターンを作って実行すると、 「AppSize(=0)<1 なので NG です」とコンソールに出て実行できません。 bin配下をみるとjarもjamもファイルはできているのですが、 jarは、やはり0KBとなっています。同様のフォルダ内に 0KBのtmpファイルも残っています。 どうしたら、正常にjarが作成されるかどなたかわかりませんか? 同様のソースをeclipseなしのツールでビルドすれば、 エミュレータで正常にみれました。 また、環境変数にJDKのパスは通しています。 すいませんが、どなたかわかる方教えてください。
>820 あー、それよくやったわ。 あと通信するやつだとダウンロードデータを更新してなくて同じことになったり。
>>819 そういうことか。たしかに時々はまるかもな。。
で、それってeclipseで解決できるん?
いつもEmacs使ってるんだけど、ちょっと興味があって。
824 :
デフォルトの名無しさん :04/10/07 23:51:56
宣伝業者にBREWスレが無視されてるのが悲しいね
>>823 実行するときには、必ず保存確認してくる。
Eclipseの場合、保存=コンパイルだし。
同じ現象として、コンパイルエラーがでて修正して保存せずにコンパイルというのもある。
これまたムダにはまる。
プログラムになれてれば、ctrl+sはクセだし未保存マーク(*)ついてれば気持ち悪いから問題ないんだけど。
printlnをprintアイnとして悩むとか、それで1時間悩むなら、画面のちらつきをなくすにはどうしたらいいか、あ、lock()ね、とかで悩んだほうがいい。
>>826 ああ、保存の確認をしてくるのね。納得。
しかし、printlnをprintinなんてしたらコンパイラが一発で教えてくれるだろ…。
まあ、いいたいことはわかる。
>>827 printinとかエラーのあるコードを書いたら、
コンパイルしないうちにその場でバツ印が現れて、修正方法まで提示してくれるのが
Eclipseのすばらしいところですよ。
うん。それは分かる。 ただ、普通にエディタとコンパイラ使ってても、 printinと書いてエラーになってるのを1時間悩みはしないだろ、ってこと。
レベルひっく〜
>>830 な…なんてレベルの高い書き込みなんだ…。
830みたいな高レベルな書き込みを見たのは初めてだ…。
いや、ココ、初心者歓迎スレだからさ。 レベル高い話したいなら本スレで振ってくれや。 ↓というわけで新規質問ドゾ。
833 :
デフォルトの名無しさん :04/10/09 12:44:51
質問ですが、キャンバスを使ってパネルみたいな テキストボックス(ユーザーが文字を打つ)を作ることは 可能でしょうか?
>>834 パネルで簡単な物は作れたのですが
今度はキャンバスで同じ物にチャレンジして
みようかと思いまして・・。
参考になるようなサイト等ご存じ有りませんか?
キャンバスでやるということは、全て自前で描画するということだ。 すごく大変だぞ。 ただまぁ、505以降なら直接IME入力を起動することができる。 テキストボックスに限ればそこそこいけるかもしれないな。
>>836 そーなんですか、簡単じゃないんですね。
パネルだとなんか画面が物足りないような気がして。
パネルにgif貼って見栄え良くしようとしたんですが
その上に文字を出すと文字の下のへんが白枠?
みたいなもんが出てきて綺麗に文字だけ浮かび上がらなかったもんで。
ありがとうございました。
>>829 printInと「本のとおりに」入力してるのに、エラーになる、なんでだ?
と思ってしまうと、はまってしまうようだ。
最初はコンパイルエラーの読み方もよくわかってないしね。
>>838 恥をしのんで質問する。
printlnのlnとはどういう意味なんだ!?
それがわかりづらいから、初心者で printをInするんだな、とはまってしまう気がする
lineじゃないのかな? 「Javaのメソッドの単語区切りは大文字」という規則に反するので、また大変。
line newかな
printlnのln でぐぐったら出たw lineの略らしい。 命名規則違反だぞー。
怒られるのを覚悟して質問を・・・・。 Mainはabstractとして宣言する必要があります。componentAction(com.nttdocomo.ui.component,int,int)をMainで定義しません。 public class Main extends IApplication implements ComponentListener{ ^ とは何が原因で発生しているのでしょう。。。? ButtonImageを配置し、ComponentListenerをExtendsしたのですが・・・。
implements ComponentListener したということは、「ボクはComponentListenerを約束を守って使います」という宣言です。 なのでComponentListenerさんが決め手約束事を守らなければ怒られます。 で、その約束というのが componentAction を必ず用意しますということ。 これがないと、リスナーさんはどこにむけて「ボタンおされましたよー」と送ればいいのか わからなくなってしまうので、必ず用意するようにと約束を決めたのです。
>>844 何となく理解しました。
作成したボタンの宣言が足りていない事が原因と思われます。
今から修正してきます。
とても分かりやすい解説ありがとうございました。
846 :
超ド素人 :04/10/09 18:02:33
自作のマイコンと赤外線通信させたいのですが、可能っすか?
う、すいません。 componentAction中に作成したボタン(btn[0]〜btn[25]) すべてに処理を割り当てたのですがまだ怒られてしまいます。 Googleで調べたところ、844さんと同じくメソッドが不足しているとの解答が見あたりました。 設定が間違っているのでしょうか・・・?(↓プログラム抜粋です) public void ComponentAction(Component src, int type,int param){ if(src == btn[0]&& type == ComponentListener.BUTTON_PRESSED){ terminate(); }else if(src == btn[1]&& type == ComponentListener.BUTTON_PRESSED){ terminate(); ・ ・ ・
>>847 ボタンを処理したかどうかは関係ない。
単純に宣言したメソッド名が間違っているか、その引数が違っているかだ。
>>849 まちがってました・・・。
ComponentActionになってました・・・。
^
おさわがせしました・・・。
ボタンの話がでてるので俺も聞かせて下さい。 Panelでボタンを配置してると、たまにフォーカスが当たらないボタンがあるんだが あれはなぜですかね?
852 :
デフォルトの名無しさん :04/10/09 20:40:28
他の書き込みとまざった_| ̄|○ メッセで友達に質問してるつもりがこっちにフォーカスが当たってました・・・。 ボタンにあたらず、いらんところでフォーカスがあたっております。 因みに、友人は「携帯アプリはつくったことないからワカラン」とのこと。 本片手にやってるんですが、なかなかに難しいですね。
853 :
デフォルトの名無しさん :04/10/09 23:26:12
DoJa-3.0+eclipse2.1.3+J2SE1.4で開発を始めようかと思うのですが eclipseでjavaファイルを作成して実行しようと思ったのですが、 com.nttdocomo.eclipse.DoJaBuildException:Fail to create C:\eclipse\workspace.\test\test.jar とエラーが出るのですがなにがダメなんでしょうか? どなたか教えてくださいorz
>>853 解決しました
どうもbinまでPathとおってなかったみたいです
おさわがせしましたorz
>>852 落ち着け。
Panelで、画面をスクロールするくらいボタン沢山配置すると、
ボタンのフォーカス切り替え>画面のスクロールになって
画面よりフォーカスが先に行ってしまい、当たっていないように見えることがあった。
1画面に納めるとダイジョウブじゃないか?
1画面以上できちんと動かすには・・・俺もワカラン。
856 :
デフォルトの名無しさん :04/10/11 00:55:17
iアプリの開発って、JDK1.3じゃないと駄目ですか? 1.4だとエラーが出ると聞いたんですが。
>>856 開発者なら、人に聞く前にまず自分で試してみろ。
失敗したからって命を落とすことはない。
>>857 という意気込みがないヤツは、
時間をかけて教えたところで丸暗記するだけで、
自分で考える力が身に付かないし、
技術者としていつまで経っても使い物にならないってことだよ。
>>856 エラーが出ると教えてくれた人に聞けば?
オレは1.4でやってるけど。
そしてJ2SE5でやるつもりだけど。
J2SEのインストール・アンインストールなんて何分もかからんのだから自分でお試しなさい。
861 :
デフォルトの名無しさん :04/10/12 21:02:45
・・・みんな環境の話ばっかり・・
環境繋がりでひとつ doja.exe -i app.jam -u [getSourceURL()で取得できるURL] これでバッチファイルでの実行も可能になる。 既出だったら申し訳
>>862 これをMakefileに書くとビルドと動作確認がいっぺんできて便利w
864 :
デフォルトの名無しさん :04/10/14 21:43:41
質問ですが DO-JA3.5を使い パネルで tb2 = new TextBox("", 150, 80, TextBox.NUMBER); の様にしたのですが F900iで確認すると数字モードにならず 普通の漢字入力モードになってしまうのですが なにがおかしいんでしょうか?
>>865 でも他の方が作った同じ系統のアプリでは
F900i でもちゃんと数字モードになる物も
あるんですが・・・。
>>864 =866?
>でも他の方が作った同じ系統のアプリでは
>F900i でもちゃんと数字モードになる物も
>あるんですが・・・。
APIリファレンスをちゃんと確認してみ。
コンストラクタで渡すのは表示モード。
入力モードを設定したいなら
setInputMode();
F900iは関係ないよ。
一番確実(メモリリークしない)かつ無駄のないImageの破棄の仕方はどうすればよいでしょうか? 今は下のようになっています。 Image image; MediaImage mediaimage; Dispose() { if (image != null) { image.dispose(); image = null; } if (mediaimage != null) { mediaimage.unuse(); mediaimage.dispose(); mediaimage = null; } System.gc(); } ImageとMediaImageの開放の順番や、ガベージコレクションの必要性がちょっと自信ないです。 また、同じImageとMediaImageに他の画像を再ロードする場合でも、このように一度破棄する必要はありますか?
画像を以下の方法で収得したいのですがjava.lang.ClassNotFoundExceptionが発生してできません 画像Fileはresに置いてあります なにが原因なのでしょうか? String param="resource:///no"; for(int i=0;i<16;i++){ tileNo[i%4][i/4]=i; MediaImage mImg=MediaManager.getImage(param+(i)+".gif");
ClassNotFound?
コンソールにはそうでてきましたけど?
>>870 どのクラスが無いか一緒に書いてあっただろ?
Startメソッドを持ったクラスがでてきました
あ・・ADFにAppClassのところをpackage名から書くの忘れてましたorz てっきり画像かんけいだと・・ どうもでした
N900iでは320x320までのjpegまでしか使えないので、画像を 読み込み分割してから表示させるアプリを作ろうと思ってます。 DOJAでjpegやgifをバイナリーレベルで分割するためのサンプル なんてないでしょうか。
バイナリーレベルじゃなくて、画像展開した状態だろ?無理。 1024×768のjpegを320×320の細切れにして表示したいなら、 自前でjpegデコードするしか無いんじゃないか?
なんで320x320の複数枚の画像を事前に用意できないの? それが一番楽に思えるんだが。
>>878 内蔵カメラをメモとして閲覧したいのでつ。
既存のものがあればそれを使いますが、ないので自分で作るしか
ないのかなと、、、
自前のデコードのプログラミングなんてなどちょっとスキルが
なさ過ぎて無理なので、サンプルコードとかないでしょうか。
>>879 JPEGのエンコードのコードなんかは、ごろごろ転がってると思うけど。
×エンコード ○デコード JPEGのエンコードはデコードに比べるとかなりめんどくさい。
882 :
デフォルトの名無しさん :04/10/16 23:57:32
すいません質問があります。 パネル上のテキストボックスやラベルのフォントサイズを大きくしたいのですが、 キャンバスの場合は Font クラスでサイズ指定しているのですが、 パネルの場合も Fontクラスを使用してフォントのサイズを変更するのでしょうか?
883 :
デフォルトの名無しさん :04/10/17 10:36:50
PanelクラスにVisualPresenterでGIFアニメを表示させています。 ところが、GIFアニメによっては画像の一部が正しく表示されないのです。 (画像の一部が白抜きになったような状態の瞬間がある) 何が原因でどうすればなおるか教えてください。 ちなみにTickerは使用していません。
>>882 実験してみたら?
>>883 >何が原因でどうすればなおるか教えてください。
甘えすぎ。
問題が出てる環境(機種)ぐらいは書いといてくれないと。
ちなみに、機種によっては、画像の一部のみを書き換えるGIFアニメが
正常に描画されない。
画像全体を毎フレーム書き換えるようなデータを表示させてみてうまく
いくかどうかを調べなさい。
すんまそん、このスキンファイルの弄りかたの詳しい説明
が知りたいです。
698 :デフォルトの名無しさん :04/09/17 21:49:31
>>696 エミュのスキン設定ファイルに
font_size=12,20,24
を書き込む。
設定ファイル弄れば画面サイズも変更できる。
>>885 skin.confというファイルを探しなさい
後は書いてあるとおりだよ
ファイルが開けませんとでますorz
>>887 ファイルを開く方法を小一時間考えろ
他人に質問するのはその後
>>888 あと、ソースファイルを確認してもらうのにはどうやったらいいんでしょう?
一部貼り付けとかではなく、全部、
アプリのUPファイルだと見れないですよね?
今作ってるアプリを知り合いに観てほしいんですが(ネットの
プログラム初心者でソースとかよく分からないので全部確認してもらいたいんですよね。
iアプリの実行ファイルをUPするにはどうしたらいいんでしょうか?
質問がアホらしいのは重々承知でお願いします、!
(ヒントでも・・
>>867 遅レススンマソ。
出来ましたありがとうどざいました。
>>888 UPローダで検索ですよね?
それだと、怪しいサイトばっかり飛ぶんですよねなんか・・
大丈夫かな・・・
メッセンジャーで送れ
ヤフーメッセ? 相手知らないし怖いよ。
sagaってなんだよw
ネットの知り合いに見て欲しいといいながら、メッセンジャーでは相手知らないし怖いとか わけわからんやつだな。メールにソースファイルを添付して送ればいいだけのことだろ。 実行ファイルをUPして意味あるのか? 相手がDoJaエミュ持ってるならソースとADF渡せば済むことだ。
898 :
870 :04/10/18 20:25:27
質問なんですが 描写可能領域が違う機種などではその機種用に あらかじめ画像を拡大縮小しなければならないんでしょうか?
そんなことはないけど、中央とか左上とかに小さく表示されたりするので格好悪い
表示可能ならまだいいですけど、サイズが大きい機種ものを基準作成にした場合 サイズが小さいほうの機種用には縮小した画像を用意しなければならないのでしょうか?
>>900 自分がどうしたいかで決めろ。
センタリングして周囲が切れても構わないなら同じ画像のままで行けばいいし、
画像全体を画面に入れたいならリサイズした画像を用意するしかない。
ハード側で自動的にリサイズしてくれる機能はない。
>>900 そうですか
わかりました、どうもでした〜
ハード側で、というより、拡大縮小したいなら自分で拡大縮小しないと、基準画面サイズにあわせて自動的に拡大縮小してくれるようなAPIがない、というだけの話だね。
音楽データ(mld)は何のソフトを使ってどのように変換するのがよいのでしょうか? 機種依存がかなりややこしいみたいなんですが。
psmplayerのどの形式で作ってますか?
機種ごとに出力できるだろうにヽ(;´Д`)ノ 一番低レベルでやれば、ほとんどの機種で鳴るよ。
すいません、できれば一般的というか、大抵の作者がやっている方法が知りたかったのでした。 一番低レベルの4和音だとドラムが鳴らせないのですが、 一般に出回っているアプリの中には結構ドラムを使っているものが多いですよね? ドラムを鳴らせる16和音だと結構機種依存が強くなると思うのですが、 普通はどのように対処しているのでしょうか。
4和音でも、きちんと3〜9を「使用していなければ」ドラムの10番が含まれるよ
910 :
デフォルトの名無しさん :04/10/21 08:10:13
既出だったらスミマセンが、教えてください。 iアプリで最寄の発信基地を取得するロジックは組めますでしょうか? ちょうどiエリアのように今いる大体の地域を取得することをしたいと思ってるんです。 取得できる範囲は市での範囲が望ましいのですが県単位でもいいと思っております。 想定対象機種はFOAM900シリーズかムーバ505以降と考えております。 ご存知の方何卒お教え下さいますようよろしくお願いします。
>>910 組めません。
アプリからわかるのは、圏内/圏外の情報ぐらいです。
900i系列の拡張API実装状況が 載ってる資料とかってないですかね? 505のやつはあったんですが…
>>912 公式には上がってないっぽいけど、存在はしてる。
914 :
910 :04/10/21 23:09:54
>>911 ありがとうございます。何かいい手はないでしょうか・・・?GPSを使う以外にどこにいるかを大まかにわかるファンクションって無いかな・・・っておもってます
>>914 iエリアのサイトを開設して、そこから位置情報を取得
公式サイトならDXにすればiエリアが使えるカモ 一般ならGPS付でないと無理だから、手で入力してもらうしかないぽ あとは、アプリからブラウザ呼び出し→オープンiエリア→パラメータ付けてブラウザからアプリ起動、とか? 古い機種だと使えないし、本当に動くかどうかは知らん
質問です。 PanelからCanvasにsetCurrentでカレントを移す、 という処理を作ったのですが 切り替えるところで画面が一瞬ちらついてしまいます。 なんとかちらかさせずに切り替える方法はないものでしょうか?
エミュレーターだと動くのに実機(P900i)だと強制終了してしまいます。 やってることはmyCanvasのpaint内でfillRectしてるだけっす。 なんででそ。
>>918 jamにAppTrace = onを書くとか、
例外やエラーをcatchしてダイアログを表示するようにプログラムを書くとか汁
どんなエラーがどこで起きているのかを調べるべし
919に勝手に補填。 初心者と上級者の違いは、デバッグができるかどうか。 コードを書くだけならどっちもできるのよ。 がんばれ。
>>918 fillRectの引数に負の値を入れてるんじゃないか?
まぁ、最初は fillrectやsetcolor で実機でコケて勉強しなさい
「Action」を「Avtion」と書いて宣言してしまったことならある
924 :
sage :04/10/22 16:53:11
質問失礼します。
サーバーに上げてあるCGIにアクセスし
java.lang.SecurityException : Illegal host
と怒られます。
jarを置いている場所は2つあります。
サーバーA:
http://www.*.ne.jp/~hogehoge/ PrjC.jar PrjC.jam w.cgi r.cgi t.txt
サーバーB:
http://homepage.*.com/hogehoge/ PrjC.jar PrjC.jam
アクセスプログラムは
wurl= new String("
http://www.*.ne.jp/~hogehoge/w.cgi ");
wconnect= (HttpConnection)Connector.open(wurl,Connector.READ_WRITE,true);
wconnect.setRequestMethod(HttpConnection.POST);
wconnect.setRequestProperty("Content-Type", "text/plain");
この様にやってます。
症状が変で、サーバーAのPrjC.jarのプログラムはCGI実行可能なのですが、
サーバーBのみ駄目なんです。
なんででしょう。。。???
とりあえず、sageときますね(w
>>925 なる。
助かりました。
ありがとうございます。
っていうか「仕様書読め」って事ですな。。。
スイマセソ。
とりあえず、sageときますね(w
途中まで 「基本中の基本だろ…しょうがねぇなぁ…sageも間違えてるし まぁ質問ならageてくれたほうがいいしな。さてとレスするか」 と読み進めていたのに、最後の >とりあえず、sageときますね(w で釣りか荒らし野郎か小学生と判断した俺。
>>919 デバックモードってのがあったんですね。
知りませんですた。
ありがとうございました。
デバックって言うな
>>929 でばぐっすか。
結局原因はsetColorの値を16進数でぶち込んでた事みたいで、
getColorOfRGBでやったらいけますた。
みなさんどうもでした。
931 :
デフォルトの名無しさん :04/10/23 23:09:50
>>931 ソースがあるんだから改造すればいい。
プログラムが書けるなら十分直せる程度の簡単なソース。
>>931 簡単なクイズアプリなら自分で作った方が
早いし面白いし勉強になるし、良いぞ。
そろそろ大きい革命がほしいところだよね。 BREWだけは絶対嫌だけど…。
確かにBREWだけは嫌だね。 ユーザーが無料でサクサク作れなきゃ。
>>910 iエリアの情報ってたしかとれたはず
pdfのよんでみ
ユーザーが無料でサクサク作れなきゃ。っていうのは同意したい気持ちがあるのだが、 実際はそんな「フリー作者」は使用者の1%にも満たないため、業界では無視されている現実がある。
業者が無料でさくさく作れなきゃ
アプリでメール情報っていじれませんか?
>>938 だけど、そのフリー作者のアプリを愛用している人は結構いると思うよ。
DXiアプリならな。 つうかあのガチガチのXStringみていじるの無理ってわからんのかね。 参照除法をdrawStringしたCanvasやImageは、その後getPixels系を一切非許可にされるほどの徹底ぶり。 drawStringして、画像比較すればデータ盗めるぜウフ。とか思ってたのになんだあのガードの固さは
そうか、ありがとぴょん。
>>946 メッセージ?
なんのことだ?
ところで、
>>944 の参照情報が、参照除法になってた(;´Д`)
取得できなくてどうすんだよ('A`) getBodyだろ
それは、どのバージョン? すくなくとも3.5のMailクラスにはgetBodyはないし、「本文を取得することはできません。」と書いてあるよ。 ドキュメントが古いのかな。
あ、MailDraftね。
でも、これって、自分でsetBodyしたものがgetできるだけじゃないの?
getbodyはiアプリ関係なくね?
Message#getBody? これもメールっぽいけど、MailとMassageってどう違うの?
え゙…MailDraft#getBodyって既存の本文読めないの?
Messageはデラックスiアプリで送信した、アプリ専用メール。 Mailは普通のメーラーやらPCから送られたメール。
>>956 デラックスiアプリのメールって、アプリでしか使えないの?
PCとのやりとりとかだめ?
>>958 アプリ間で送るのを想定してるはずだが…。
専用とはいっても、そのアプリを持っていないと普通のメールとして見られる。
そこの本文には「このメールは○○アプリ用のメールです。〜〜からDLしてください」
とか書いてあるのが普通。
普通のメールは無理だな。 ぷらいばしぃとかいうやつかね。
962 :
デフォルトの名無しさん :04/10/27 00:42:23
キャンバスからパネルにsetCurrentを移す時 newでパネルのコンストラクタを呼んでますが キャンバスにカレントを戻してまたパネルに行くと パネルは2つになるのでしょうか? 繰り返してると動作が遅くなってるように思うので、、、 お願いします
>>962 キャンバス→パネル(1)→キャンバス→パネル(2) だとして。
パネル(1)からキャンバスに移ったあと、パネル(1)への参照は保持してないよね?
それなら次にパネル(2)へ切り替えたとき、パネルが2つになるってことはない。
パネルからキャンバスへ戻したあと、キャンバス側から明示的に
捨てたパネル = null; System.gc();
とでもしておけばメモリ圧迫の心配はとりあえず回避できる。
動作が遅くなる原因がメモリの圧迫以外ならあとはシラネ
964 :
デフォルトの名無しさん :04/10/27 07:26:29
パネルへの参照? Currentが他へ移動した時って表示中だった画面は 後ろに回されるだけなのかな?明示的に破棄しないと よくわからんけど、仕事中に本読みなおします
Pannelを何度も生成したとき、前のPannelを破棄しない(参照全部なくなってるのに)馬鹿機種がある。 Canvasはそうならないとは保証できない。
ぱんねる?
ふぁんねる?
ファンケル?
ユンケル?
>>964 取り外したPanelなりCanvasなりの参照をどこかのオブジェクトが保持していれば、
Frameから外されたからって勝手にメモリ上から消されることはない。
保持してない場合、ガベージコレクタがそのオブジェクトにどう働きかけるかは実装依存。
参照がなくなった時点で対象となるのか、明示的にnullを代入するまで対象とならないのか。
>>965 のPanelはそのことを言っている。
それならプログラマが明示的にnullを代入してSystem.gc()を書いてやった方が
精神的によろしいかと…w
ところで「後ろに回される」を、Frameが重ねて持ってるという意味で
言ってるなら間違え。どこかに避けておくという意味でならOK。
「Frameは1つのオブジェクトしか表示できない」とリファレンスにあると思うが
これは重ねて乗せるから最上面のものしか見られないということではなく
Frameに乗ってるものを取り外して別のものを乗せ替えるって仕組みだから。
>>970 で訂正。ちょっと弱気でw
×
>>965 のPanelはそのことを言っている。
○
>>965 のPanelはそのことを言っているのかな?
まさかnullを代入してるのにGCの対象にならないってことはさすがにないと思うので…
「いや〜そういう実機の不具合があるんだよ」ってことなら見当違いのこと書いてスマソ
Panel p = new Panel();
p = new Panel();
最初に生成したパネルpはnullが代入されておらず、しかしどこからも参照されない。
この場合、即座にGCの対象とならずにメモリ上に残り続けてもおかしくはない。
こういうときのためにもGCはメモリが圧迫されてきたら自動的に発動することになって
いて、そのときにこの「最初に生成したパネルp」は回収されることになる。
(逆にこういうインスタンスを作ってしまうことがメモリ圧迫の原因であるとも言える)
iアプリの問題は、GCされてもリソースが開放されないことがあることなんだけど。
あと、インスタンスがメモリを圧迫することが問題になることはあまりなくて、ネイティブのリソースが足りなくなることが問題なんで、Java言語のことだけ考えてもあまり意味がない。
>そのときにこの「最初に生成したパネルp」は回収されることになる。 そのときでさえ「最初に生成したパネルp」を回収してくれなくて、とにかく nullが代入されたものだけが対象なんだ、っつーGCならホントたまらんな。 連書きすまん。そろそろ消える。
> nullが代入されたものだけが対象なんだ、っつーGCならホントたまらんな。 Javaの変数とオブジェクトの関係をわかっていないような発言だな。
>>975 オレが悩んだのが、Imageを使い終わってImage#disposeしても、MediaImage#unuseしないとリソースが開放されなくて、しばらく使ってるとアボーンということがあった。
だから、うっかりMediaImageから手を離してGCされてしまうと取り返しのつかないことに。
正確な記憶じゃないし、開発中の端末での話だから、リリース時にはそうならないかもしれないけど、そんな感じ。
>>975 メモリの空きをRuntime#freeMemoryで取得して表示してみたら、ガンガンあいてたりする。
980 :
デフォルトの名無しさん :04/10/27 17:20:14
画像を加工(白黒など)して出力するアプリを作ろうと思っています。 そこでどうしても上手く行かない部分があるのでご助力お願いします。 ひとまず全体の流れとしては、 getImageでスクラッチパッドから画像を読み込み、 getRGBPixelsでカラーコードを取得し、 そのカラーコードに色々な処理を行った後、 createImageで再びイメージを生成し、保存する。 と言った感じなのですが、getRGBPixelsはImage型には適用できない様です。 画像をGraphics型で読み込む、もしくはImageをGraphicsに変換する、などの処理が行えれば解決出来そうなのですが、 その方法が分かりません。 どうすれば良いのでしょう…(´・д・`)
☆ チン マチクタビレタ〜 マチクタビレタ〜 ☆ チン 〃 Λ_Λ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ヽ ___\(\・∀・) < 次スレまだ〜? \_/⊂ ⊂_ ) \_____________ / ̄ ̄ ̄ ̄ ̄ ̄ /| | ̄ ̄ ̄ ̄ ̄ ̄ ̄| | | 愛媛みかん |/
ImageMapを使用してみたのですが、 配列をセコセコ増やしていたら 「ALERT: Maximum byte code length (32kB) exceeded」 と出てエミュが起動できなくなってしまいました…。 もしかしてでかいの無理ですか?(;´Д`)
>>983 でかい配列は無理。外に出すとか文字列リテラルにするとか汁
でかいメソッドも無理。分割汁
>>971 > Panel p = new Panel();
> p = new Panel();
> 最初に生成したパネルpはnullが代入されておらず、しかしどこからも参照されない。
> この場合、即座にGCの対象とならずにメモリ上に残り続けてもおかしくはない。
こいつはGCの仕組みを知ってるんだろうか。
そもそも参照型とは何なのか理解してるんだろうか…。
こんな知識で文句言われる方もたまったもんじゃないよな。。
調子こいちゃって反省してるみたいだしそっとしといてやれ
良く分からん 明らかにゴミになったんだからGCの対象になるんじゃないの?
ここは>984で本スレ合流ってことでいいのかな
Javaが管理するオブジェクトと、ネイティブのリソースは別問題、という話。 オブジェクトがGCされるときに管理するリソースを解放するべきだとは思うが。
>>988 なるよ。言語仕様の上では。
でもPanelはnull代入しても解放しない糞機種がある。
NとかNとかNとかね。あとP503かな。
毎フレームGC呼びまくりながら残りheapを表示させると面白いよ。 Nとか残りがなくならない限り実際にはGCは発生しない。
>>992 結局初心者歓迎だろうが歓迎じゃなかろうが、あまりかわってない。
使いわけられてもいない。
次スレ立てようか?
>>991 だからnull代入しようがしまいが変わらないってば。
その糞機種はどっちでも開放しないんでしょ?
そもそも「null代入しても」って書く時点で分かってない証拠。
>>993 いかにSystem.gc()することに意味がないかを如実に表すエピソードですね。
>>996 初心者に分かりやすく噛み砕いてるのに、分かってるとか分かってないとか言われてもなぁ。
なら俺の代わりに、上級者からも初心者からも理解されるようなすばらしい説明をしてくれ
PanelがGCされてもリソースが解放されない機種がある System#gcしてもGCしない機種がある
言い訳キター(゚∀゚)ーーー
1001 :
1001 :
Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。