Androidプログラミング質問スレ Part14
今だ!!!2get  ̄ ̄ ̄ ̄ ̄∨ ̄ ̄ ̄ (´´ ∧∧ ) (´⌒(´ ⊂(゚Д゚⊂⌒`つ≡≡≡(´⌒;;;≡≡≡  ̄ ̄ (´⌒(´⌒;; ズザーーーーーッ
. ┌━┐ ┌━┐ ┃┌╋──╋┐┃ └╋┘ └╋┘ ┃ ・ ・ ┃ ┌━━┐ ●━╋┐ ┌╂━━━━╂┐ ┃ └━┷┴━━╂┘ └╋━┘ バカにはできないコピペです ┌╋┐ ┌╋┐ ┃└╋╋━━╋╋┘┃ ┃ ┃┃ ┃┃ ┃ └━┘┘ └└━┘
カメラアプリを作成しており、 MediaPlayerかSoundPoolで起動画面に機械の動作音を効果音としてつけたいのですが どちらを使用するのがおすすめですか? SoundPoolの場合、load後すぐにStartするのはなるべく控えるようにと他サイトに書いてあったのでどちらを使えばよいか迷っています。 又、効果音再生後に起動画面を終了したいのですが、再生を同期する方法も兼ねてご教授願います
>>3 わざとずらしてる?
それとも意図的に?
>>1 おつ
いつのまにか1000いってたのか 1おつ!
listviewの一行だけ内容に更新があった場合 その一行だけ更新を反映させる方法はありますか?
TextView に setAutoLinkMask(Linkify.WEB_URLS) を指定しての自動リンクですが、 setTextでセットした時は有効なのですが append したときは有効に働いてくれません。 appendする際にspanで指定する以外に方法はないのでしょうか? spanでのclickablelinkは今ひとつ分からないのでできれば、自動リンクで済ませたいのですが。
EverNoteから共有で文字列渡されると改行が消えて使い物にならねぇー Androidの仕様の可能性もあるようだけど、なんか回避策ありますか?
前スレ
>>995 > あと、Androidにコンボボックスってない、、、よね?見たことないし
Spinnerじゃダメ?
>>9 たぶんevernote側の問題。
直してもらうように言って。
>>12 だいぶ前からFusionTablesに移行しろって言われてなかったっけ?
FusionTablesだと無料なの?(笑)
画面回転時の処理を行いたいのですが Manifestで android:configChanges="orientation を設定すると onConfigurationChanged() が呼ばれ、layout-landフォルダに入れたxmlが反映されず Manifestで android:configChanges="orientation を設定しなければ xmlは反映されるものの、onDestroyが呼ばれてActivityが初期化されてしまいます。 かと言って、onConfigurationChanged() の中で、setContentsView()を呼ぶと InflateException?が発生してしまいます。 これをうまく解決する方法はないでしょうか?
>>15 onSaveInstanceStateでぐぐるんだ
17 :
デフォルトの名無しさん :2011/10/29(土) 01:35:38.42
java.util.concurrent.RejectedExecutionException が出るんだけどこれasynctask起動しすぎじゃゴルァってことだよね 都合よく回避できる方法はないだろうか
誰が投げたん?
19 :
デフォルトの名無しさん :2011/10/29(土) 03:45:59.12
オプションメニューを画面内のボタンから起動する方法はないだろうか
普通に出来ないんだっけ??
21 :
デフォルトの名無しさん :2011/10/29(土) 04:21:19.40
俺には無理だった… よかったら教えてちょ
出来たような気もするがオプションメニューの使い方として間違ってる
>>21 openOptionsMenu()でいける。(俺も昔ここで教えてもらった)
確かに一般的な使い方としては間違ってるかもしれないが,
場合によっては有効だと思う。
例えば,メニューに各種機能のボタンが入ってることを気づかせるとか。
普通にopenOptionsMenu使ってるけど良くないん?
あまりハードのボタン以外からメニュー出すソフトってみたことないけど そもそもこのボタンの存在しらないユーザも結構いるみたいだし 別にいいんじゃないか
MENUとBACKのない中華パッドがあるって聞いたときは自作アプリどう対応させようと3秒くらい悩んだなぁ
28 :
デフォルトの名無しさん :2011/10/29(土) 11:39:33.47
29 :
23 :2011/10/29(土) 11:39:35.60
repoで落としたandroidのソースコードにandroid.graphics関連のjavaパッケージが入ってないように見えるんだけど、どこにあるの?
>>31 あんがと。
これでeclipseでソースコード参照できる。
33 :
デフォルトの名無しさん :2011/10/29(土) 14:20:38.08
1.480x800くらいのresに合わせて作ってたアプリが完成に近づく 2.最近720x1280の機種が増えてるのでそれに合わせたエミュを作ってみる 3.画面左上に3/4スケールで表示されるコンテンツを見て愕然とする ←イマココ /(^o^)\
「バカめと言ってやれ」 「は?」 「バカめ、だ」
標準のメニューがいまいちかっこ悪いのだけど かっこいいメニューのライブラリとかありますか
>>33 480x800の1.5倍の大きさである720x1200にズーム描画すればいいじゃない
37 :
デフォルトの名無しさん :2011/10/29(土) 14:56:45.96
てっきりdpとspで指定してたら全ての解像度に対応できると思ってたんだけど違うのか… もしかして解像度ごとに指定しないといけないの?
>>37 ピクセル密度と画面の面積は別の概念だろ。
タブレットは mdpi でxlarge って扱いのが結構ある
- ちゃんとリキッドデザインな、伸縮可能なレイアウトを組むこと
- 画像リソースはdrawable-hdpi(mdpi,ldpi)やdrawable-nodpiに置くこと
(たとえばdrawable-hdpiだけに置いとくと、他の解像度の機種では自動的に拡大縮小してロードしてくれる)
- できれば、タブレット用にlayout-xlarge/. を書くこと
このくらいはやっておかないと3.0 3.1 には対応できないよ。
3.2は画面互換モードがあるからマニフェストちょっといじるだけでもなんとかなるけど。
39 :
デフォルトの名無しさん :2011/10/29(土) 15:32:58.96
解決したかも エミュ作るとき密度の設定が前のままだったんだけど、増やしてみたらdp,spが効いたっぽい(語弊があるが 同じインチ数で解像度増えてるんだから、密度も同時に上げないとダメだよね
>>38 drawable-hdpi(mdpi,ldpi)で画像リソースを振り分けた場合、
画像リソースの中の一定の矩形を切りだして描画するような場合ずれますか?
たとえば犬の絵があって、プログラムでその中の顔の1部分だけを描画しているプログラムがあったとして、
端末によって画像リソースのドットサイズが変わった場合顔を描画じゃなくずれた絵を引っ張ってきちゃいますか?
アイコンって例えばxdpiに72x72一個だけ用意しとくのと、 それを縮小しただけの48x48、36x36をmdpi、ldpiに入れとくのってあんま違いない? ないやつを自動的にスケーリングしてくれる?
>>40 その「一部」をどう指定してるかじゃない?
ピクセル単位なのか、全体に対する比率なのか
>>40 デコードした時点でリサイズされてるかどうかって話だよね。
BitmapFactory.decode* のオプション指定で制御できる。
>>41 ランチャー用のアイコンは3種類ちゃんと入れといた方が無難。
いろんなアプリからアクセスされるからね。
通知領域用のアイコンは、自動縮小だと縮小処理の品質に不満が出ることが多いから別途用意しといた方が無難。
44 :
デフォルトの名無しさん :2011/10/29(土) 16:47:47.07
AndroidSDKのインストールが途中までいくのですが進みません httpsとかhttpとか切り替えても途中で止まります 64bitWindows7です
日記はよそで
46 :
デフォルトの名無しさん :2011/10/29(土) 17:14:55.89
EGOCOROを下さい
47 :
デフォルトの名無しさん :2011/10/29(土) 17:30:15.06
androidの起動アイコン関係でググっても「これで規定サイズ通りにきれいに縮小できるよ!」 とかしかでてこねぇ…いやいやそれ以前の問題だからww ところで最近解像度上がってきてるけど,まだ最大72x72で作っていいのかな?
以前、マーケットに登録しようとして 「このapkをアップするよ?」ってので仮素材のが表示されて やべぇ、これ古いapkファイルか!あれ、でもタイムスタンプは新しいし… と悩みまくって、結局hdpiのだけ本素材に差し替えてて mdpiとldpiのアイコンが古いまんまだったのに気づくのに半日かかったこと思い出した。
xhdpiな端末なんか触ったこともねえよ…
動的なDBグリッドというか表形式で縦横スクロール可(縦スクロール時はヘッダは動かない)のって レイアウトxmlで定義するのは無理ですか?
51 :
デフォルトの名無しさん :2011/10/29(土) 19:35:07.82
なんとか72,48,36のアイコンを作成してそれぞれ-hdpi,-mdpi,-ldpiのicon.png に上書きしたのですが新しいアイコンを反映する気配が一向にありません なにか方法が間違ってるのでしょうか?
再ビルドした?
>>23 の件は凄く悩みどころだが11月以降は4系に移行してbackもmenuもない中華パッドが標準になるからこんどはActionBarで悩むんだよな。
optionsMenuはActionBarの右に移動してwinmobile系UIに近くなる。もういっそソフトLEFT/RIGHT付けてくれ。
54 :
デフォルトの名無しさん :2011/10/29(土) 20:01:37.08
>>52 ビルドって普通に実行するのとは違うのかな?
android:icon="@drawable/icon"を変更してアイコンの名前もそれに変更してやってみたら
今度は起動アイコンが消滅して半透明の入れ物(?)のみになってしまった…
>>51 とりあえずいったんアンインストールしてから入れ直してみ?
ホームのアイコンが残ってるだけだとおもうけど
>>54 eclipse でプロジェクトを右クリックしてリフレッシュ
57 :
デフォルトの名無しさん :2011/10/29(土) 20:52:43.90
>>55 ありがとう
でもそれは一番最初に試してみたんだ
>>56 だめっぽいです
DatabaseHelperを使ってデータベース管理していて、 データを退避させたり移したりするためにインポート、エクスポートを用意したいと考えています。 自前でテキストなどに吐き出す以外に、普通にdbファイルをコピー等する方法があれば教えていただきたい
60 :
デフォルトの名無しさん :2011/10/30(日) 00:56:20.93
グーグルマップに複数のマーカー(画像)を立てたいのですが、 どのようにしたら良いでしょうか。 プログラムを教えてください。 また、良いサンプルページありましたら教えてください。
61 :
デフォルトの名無しさん :2011/10/30(日) 01:25:59.11
起動アイコンですが,手を尽くし尽くしたあと 仮想環境にまっさらな環境を構築して試してみたらすんなり上手くいきました…
そういえばSDK更新されてたな
63 :
デフォルトの名無しさん :2011/10/30(日) 13:21:13.61
setMinimumHeight(int)をspで使う方法ないかな 動的にHeightを変えたいんだけどpx?になっちゃう
android:minLines setMinLines(int) を使えばいいんじゃないの
66 :
デフォルトの名無しさん :2011/10/30(日) 15:26:34.41
グーグルマップで進行方向をとると 実機で、停止するときとしない時があるんですが、 対処法はないですか?
67 :
デフォルトの名無しさん :2011/10/30(日) 15:28:10.56
ライブ壁紙を作成しているのですが、タッチイベントの取得を不可にしたく setTouchEventsEnabled(false); を使っているのですが、 Android2.2の時までこれが正常に稼動していたのに 実機を2.3にアップデートしたらタッチ無効ができなくなってしまいました 何か原因はあるのでしょうか ちなみに実機はHTC EVO無印です
69 :
デフォルトの名無しさん :2011/10/30(日) 18:45:14.40
ホーム画面が表示中かどうか調べる方法ってないですか? 現在ウィジェット作成中で、 ホーム画面が表示中かどうかで処理を切り替えたいのだけど、 ググってもわからない。
70 :
デフォルトの名無しさん :2011/10/30(日) 21:25:55.83
android:installLocationを追加しようとすると以下のエラーが出る No resource identifier found for attribute 'installLocation' in package 'android' ワケワカメ ちなみに android:minSdkVersion="4" android:targetSdkVersion="10" にしてる
71 :
デフォルトの名無しさん :2011/10/30(日) 21:41:54.58
あああ
ターゲットてこれじゃなくてプロパティで設定するほうかよ
>>70 は忘れてください
72 :
デフォルトの名無しさん :2011/10/30(日) 22:46:38.39
sqliteで既に存在するものをinsertした場合エラーになりますが こういう場合普通どうするものなんでしょうか? 一応普通に動いてはいます
update
質問です。 カメラで撮影した後、作製したアプリを起動しての画像を編集しよう思ったのですが、画像の取得方法がわかりません。 画像の詳細で見ると『ファイル名:IMAGE0001』『ファイルのパス:100MEDIA』『種類:image/jpeg』と表示されます。 /sdcard/100MEDIA/IMAGE0001.jpeg と指定して開けば良いのでしょうか・・・?
やってみてから言え
76 :
74 :2011/10/30(日) 23:30:42.07
>>75 すいません、やってみたけどダメでした。
真っ暗になっているので多分ファイルがないと判断されているのだと思います・・・。
サンプルいくらでも転がってるのでは・・・
78 :
74 :2011/10/31(月) 00:33:35.25
サンプルも見ながらやっていますが、「撮影した写真を読み込む」という直接的な記述のものが見当たらなくて困ってます。 mnt/sdcard/DCIM/100MEDIA というフォルダがあるところまでは分かっているのですが、 そのフォルダ内にあるファイルにjpgファイルは見当たらないんです。
HTCのカメラは癖があったような
Intent飛ばして画像選べるように作ればいいじゃんとか思ったが まあ、保存場所知るのはそれ以前の問題だな・・・
保存の仕方に問題あるんじゃね? 写真撮影して保存した後、標準のギャラリーアプリに表示されてる?
SDKのバージョン8を使ってアプリを作りたいと思っています。 しかし、Android1.6以上対応としてマーケットに公開したいので、 マニフェストには下記のように記述します。 android:minSdkVersion="4" android:targetSdkVersion="8" バージョンによって処理を変えようとは思っていますが、 上記のようにした場合何か致命的な問題はないでしょうか?
特に無いけど当然SDK4準拠のAPIで書かなきゃだめだよ SDK5以上のAPI使うとコンパイルはしれっと通るくせに1.6機上ではランタイムで落ちるからね
>>83 レスありがとうございます。
最初にSDK4のAPIで作って動作確認、
その後SDK8のAPIに切り替えて、拡張するような感じで作ってみます。
85 :
デフォルトの名無しさん :2011/10/31(月) 02:44:26.09
>最初にSDK4のAPIで作って動作確認、その後SDK8のAPIに切り替えて、拡張するような感じで作ってみます。 これは動的ロードとリフレクションで実機のAPI取得するって意味だよな。
87 :
74 :2011/10/31(月) 04:11:04.03
>>81 標準のギャラリーアプリには表示されています。
機種によって保存場所が違うなんてつくりにわざわざするんでしょうか・・・
メーカーが好きに出来るからな つーか、機種の保存場所くらいくぐれば出てきそうなものだが・・・
内部ストレージしか持ってないか内部ストレージが少ない場合があるし ソフトの設計としてユーザーに保存場所選ばせるのだってありだろ。保存場所統一する方がおかしい。
getExternalStoragePublicDirectory使えよ
getExternalStorageState()でチェックしてgetExternalStorageDirectory()でパス拾ってContext.getExternalFilesDir()に保存だろ
S2とかは保存先を選べたりするからな。 固定の1個のフォルダしかアクセスできないようなアプリはその時点で欠陥があるだろ。 imgurマッシュみたいにファイルピッカーを呼び出せる作りにするとか、 カメラアプリやギャラリーからの共有インテントを受け取れるように作るのが正解だろ
少々質問です。 アンドロイドで動くアプリを作っているのですが、タッチやマルチタッチでの操作をするUIを実装しています。 先日、マルチタッチUIに対する特許をアップルが取得していることを聞き、 もし、作っているアプリを公開したらアップルから訴えられるのでしょうか?
米国内の特許って聞いたけど日本でも関係あるの?
まずSDカードのディレクトリを取得かな String rootDir=Environment.getExternalStorageDirectry().getPath();
常駐させたServiceを利用してホーム画面に描画する方法ってありますでしょうか?getSurfaceHolderではエラーが出てしまい、canvasを使って描画することができない、、、
97 :
デフォルトの名無しさん :2011/10/31(月) 18:49:00.13
>>93 米国以外じゃ申請すらしてない
米国では特許は簡単に通り、後から裁判で争うことがほとんど
先日ロック画面の特許も成立したってニュースになってたけど、欧州じゃ却下済み
アップルの特許商法を気にするだけ無駄
>>69 IMPORTANCE_FOREGROUND
でできんじゃね?
>>97 なん…だと…?
てことは置いた場所が悪かったのか。ようわからん
NativeActivityからダイアログを呼び出して入力された文字列を取得する手段はないのかな?
android v4 っていうのは1.6ってことでいいの?
キーイベントの話ですが、KEYCODE_ENTERではATOKなどのIMEのdoneボタンを押した時に反応しません。 doneボタンに該当するものはありませんか?
android:imeOptions="actionSend|flagNoEnterAction" これの意味わかるか?
eclips画面が多すぎてわけがわからない >< だれかプロジェクトの閉じ方を教えて下さいです
右クリック
右クリック→プロジェクトを閉じるでもパッケージ・エクスプローラーから消えてくれない、、、 ダメだもう眠い 寝る
消すのはdelete
test
しまった、規制解除されてて書き込んでしまった、申し訳ない Androidのゲームを作っているんだが、特定の機種だけ画面サイズの取得がうまくいかない その機種ってのがSH-12Cってので、他の機種で試してみたらきちんと画面サイズを取得して画像サイズとかを変更してる デバッグ用として、下の方に画面サイズを数値として表示してるんだが、SH-12Cだと480×320っていうのが表示されてる… 色々調べた結果、layoutを追加してみるといいって事で、「layout-960x540」を追加してみても変わらず…(「layout-540x960」ってのは何故かエラーが出る) もうお手上げな俺に誰か救いの手を差し伸べてはくれないだろうか…。 ちなみにプログラミング、Androidどっちも初心者で、テキストは「15歳から〜」ってのを参考に作ってる
>>113 Window window=getWindow();
window.addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
WindowManager manager=window.getWindowManager();
Display disp=manager.getDefaultDisplay();
disp_w=disp.getWidth();
disp_h=disp.getHeight();
これでいいのかな…?間違ってたらすまん
GoogleMapを利用したいのですが、プロジェクトを別のPCにインポートしてAPI keyを変更したら map=(MapView)findViewById (R.id.map) のR.id.mapところで赤線が出て mapは解決できないか、フィールドではありません。 と出ました。 これはどうすれば解決するでしょうか?
いったんビルドする。
117 :
69 :2011/11/01(火) 10:54:01.49
>>99 レスありがとう。
RunningAppProcessInfo.importanceがIMPORTANCE_FOREGROUNDのプロセス
を調べるようにしてみたんだけど、
com.android.phone 電話
System Androidシステム
が常にIMPORTANCE_FOREGROUNDになってる。
この2つ以外にIMPORTANCE_FOREGROUNDがなければホーム画面が出てると解釈できそう。
機種ごとで常時IMPORTANCE_FOREGROUNDのプロセスがちがうことってありますか?
118 :
69 :2011/11/01(火) 10:56:50.41
ランチャーも動いてた。 個人でランチャー変えてる場合は無理か
intentを発行して、遷移先のアクティビティが多重にならないように破棄するのはsetflagsすれば良いですが、 遷移先ではなく、クラス名なんかがわかってる特定のアクティビティを破棄するのはどのようにすればよいのでしょうか。 例えば破棄したいアクティビティに遷移してfinishしてすぐに元のアクティビティに戻ってくる。 なんてのを考えましたが流石にこれは効率が悪いというか、間抜けですねよね。
>>115 MapViewはインポートしてるよね?
携帯に届いたメールを自動でPCに転送したいんです 昔はau以外はできなかったらしいですが、 スマフォというかandroidでアプリを作りこめば可能でしょうか? SMSに関してはAPIを見つけたのですが、 @docomo.ne.jpとか@softbank.ne.jpとかキャリアのメールの 受信のやり方が見当たらなくて
>>119 タスク単位でしかアクティビティにアクセス出来ないんじゃないの?
それが出来たらActivityManagerは管理出来なくなるよ
>>120 はい。
API keyを変更しただけです。
ビルドできない状況です
>>123 いちどimport文を全削除してから
ctrl+shift+o
違うプロジェクトにコピペすると余計なimportが増えることがある
またandroid.Rの罠か
回線契約してないから通信速度の実機テストができない で、エミュレータに通信設定あるのに気づいたんだけどedge設定で満足に動けば大丈夫だろうか gsm設定だと遅すぎワロエナイ
>>97 できねぇっすよ先輩、、、
教えて下さいorz
うざく
オラクルでJDKダウンロードしようとしたら、登録しろって会社住所書かないきゃ駄目って無職は死ねってこと?
>>131 適当でも通ったよ
昔はJDK落とすのに何もいらなかったのにOracleめ・・・
自宅警備員でいいじゃない
>>131 fxは登録必要だけどseなら不要だったとオモ
すいませんぶりっこしました
JDKが登録いるのはsunの頃からだが。登録制のと登録なしでダウンロードできるのがあるぞ
137 :
デフォルトの名無しさん :2011/11/02(水) 00:06:43.13
マーケットに登録してみようと思うんだけど今なら 最小SDKが4でターゲットSDKが14で登録すればいいのかな
今本を参考にしながらメモ帳アプリを作ってるんですが 「OnStop」に入力データの保存タイミングを設定したいんですが どうやったら出来ますか? 本には「ソースコードの編集画面を開いて」と書いてあるんですが、それが何を指しているのかよく分かりません
3.xと4.0のUIを想定した作りになってるなら
140 :
139 :2011/11/02(水) 00:29:18.26
R.javaってのをいらなさそうだから消してみたら実行通らなくなったw なんだこれww
実行時のイベントの順番ってonCreate()→onStart()→onResume()って書いてあるけど メッセージ入れて確認してみたらonResume()→onStart()→onCreate()の順番に表示されるんだけどなんでだぜ?
もしかしてandroid.app.AlertDialog.Builderってもだれすなのか?
146 :
デフォルトの名無しさん :2011/11/02(水) 10:04:18.92
質問です。 textviewの文字色をグラデーションさせることは可能でしょうか? 背景ならやり方わかったのですが、文字そのものをグラデーションさせる方法が見つからなかったので。
>>147 自分でそういうviewを作るしかない。
LocationManagerでハマってしまったので質問させてください。 普通にLocationManagerを使い位置情報を取得するとうまくいくのですが、 scheduleAtFixedRateで定期的に起動させようとすると位置情報が取得できません。logcatにも何も表示されずでどうしたらいいのやらです。 以下のソースでrunの中までは処理するもののいつまで待ってもonLocationChangedが呼ばれません。 runのソースをscheduleAtFixedRateカラではなく直接記述するとonLocationChangedまで動作をします。 勉強中ですので的外れというかめちゃくちゃなことをしてしまってるかもしれませんが助言いただけると嬉しいです (改行で引っかかりましたのでソースは↓に書きます)
ScheduledExecutorService runner = Executors.newSingleThreadScheduledExecutor(); future = runner.scheduleAtFixedRate( new Runnable() { @Override public void run() { // ロケーションマネージャのインスタンスを取得する final LocationManager mLocationManager = (LocationManager)getSystemService(Context.LOCATION_SERVICE); // 位置情報の更新を受け取るように設定 mLocationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, // プロバイダ 0, // 通知のための最小時間間隔 0, // 通知のための最小距離間隔 new LocationListener() { @Override public void onLocationChanged(Location location) { Log.d("locationTest", "onLocationChanged"); mLocationManager.removeUpdates(this); } @Override public void onProviderDisabled(String provider) {} @Override public void onProviderEnabled(String provider) {} @Override public void onStatusChanged(String provider, int status, Bundle extras) {} }); } } , 0, 60, TimeUnit.SECONDS); //0秒後、60秒ごと
SDKのエミュレーターでwebカメラを利用してカメラアプリを実行することは出来ないでしょうか? 出来るなら方法を終えてほしいです
153 :
デフォルトの名無しさん :2011/11/02(水) 19:53:16.45
Socket通信に関して質問させてください 現在PCで画像を取得してAndroid端末に送信しようとかんがえてます しかしどうにも糸口が見つからず苦戦しています Android側でinputsteamを宣言したあとどうやって画像ファイルが取り出せるでしょうか 文字列ならWebサイトをめぐって方法が載ってあったんですが画像の方法がどうにも見つかりません どなたか糸口を教えてもらえないでしょうか 文字列ならString msg=String(byte[], 0, inoutstream.read(byte[])); でできました
基本的な設計を教えてください メインスレッドに初期化とか色々詰め込みすぎた場合、 画面回転させるたびにonDestroyが呼ばれて、また初期化が走るから メインスレッドのActivityは描画させるだけにしておかないといけないってことですか?
>>143 んなこたない。
と思うが、スリープ入れてもなるならまたこい。
>>154 Android Configuration Change
あたりでググってこい
アンカミス?
どうにもならんかったから別のプロジェクトからパクってコピーしたらビルド通ったけどR.javaが2個になった件w
もうわけがわからんww
こういうものと思って作るしかないのかwww
>>145 じゃまだから
てか、最小限のもので作りたい
>>146 マジだぉ
>>150 requestLocationUpdates を繰り返し呼び出す意味はない。
最初に requestLocationUpdates して、 位置情報の取得が終わった後で 同じリスナーを指定して要求の解除を行う。
>>153 送信側はバイト列のサイズとバイト列そのものを両方送る
受信側はまずサイズを読み、次にバイト列をサイズ分だけ読み込み、次に BitmapFactory.decodeByteArray を呼び出す。
オンメモリで収まらないサイズのデータなら、ファイルに保存してから decodeFile などを使う。
>>154 マニフェストのActivity に android:configChanges を設定しておくと、回転しただけではActivityの再生成が行われないようになる。
ttp://y-anz-m.blogspot.com/2010/10/androidconfiguration-change.html >>158 質問の内容が漠然としてるというか、開発環境に対しての質問なのか実装に対しての質問なのかも良く分からない。
163 :
デフォルトの名無しさん :2011/11/02(水) 21:05:42.08
appWidgetからserviceをバインドする方法を教えてください。 下のようにやるとbindServiceで落ちる。 Intent intent = new Intent(this, HogeService.class); startService(intent); bindService(intent, serviceConnection, Context.BIND_AUTO_CREATE);
164 :
150 :2011/11/02(水) 21:06:47.24
>>162 ありがとうございます。
>requestLocationUpdates を繰り返し呼び出す意味はない。
しかし、位置情報を取得するという処理を定期的に行いたいのです。
>最初に requestLocationUpdates して、 位置情報の取得が終わった後で 同じリスナーを指定して要求の解除を行う。
一応自分の書いた
>>151 では
requestLocationUpdatesをして、onLocationChanged()内(=位置情報の取得が終わった後)でremoveUpdates(this)(= 同じリスナーを指定して要求の解除)
をしているつもりなのですが。
165 :
138 :2011/11/02(水) 21:08:46.61
>>162 本には「これらのメソッドはActivityクラスの標準メソッドなので、ソースの編集画面が表示されてる状態で「ソース」メニューから「メソッドのオーバードライブ/実装」を選べば基本的な記述がついかされます」
と書いてあるのですが、「ソースの編集画面」がどこのことなのか分からずに先に進めない状態です
>>163 BIND_AUTO_CREATEが意味するのは「bindが全て切れたらserviceを止める」だ。
ところがAppWidgetのライフサイクルはとても短いので、すぐに止まってしまう。
よってBIND_AUTO_CREATEは使ってはいけない。自前でstartServiceしろ。
でまあ、AppWidgetのライフサイクルはとても短いのは変わらないので
ServiceConnectionのイベントからbindしようとしても、
その頃にはAppWidgetのインスタンス自体が存在しない状態になってる。
対策はいくつかあるが、一番手っ取り早い方法では
同じアプリのコンポーネントは、デフォルトでは同じプロセスで動くというのを利用する。
Serviceのインスタンスをどこかのstatic変数から参照できるようにしておいて、
AppWidgetのイベント内部から参照できる。
他にはstartServiceのExtraにコマンドを入れてServiceを制御したりする手もある。
Serviceは基本的に1つしか起動されないが、startServiceで渡されたIntentを何度でも受け取れる。
逆にServiceからAppWidgetへの通知は、ブロードキャストインテントを使うなりContentProviderを使うなり単にファイルを経由するなりできる。
>>164 requestLocationUpdateはメインスレッドから起動すること。
つまりHandlerの出番。
>>165 Eclipse上のエディタで該当するソースファイルを編集していて、
そのソースファイル上にキャレットのフォーカスがある状態、のことだ。
169 :
163 :2011/11/02(水) 21:22:23.55
>>166 ありがとうございます。
ちょっくらためしてみます。
しかし、AppWidgetで色々やるのはややこしいですね。
ServicesやActivityを立ち上げようとするとコンパイルすらままならない。。。
>>167 !!
ありがとうございます。試してみます!
>>164 60秒間隔程度なら取り続けたほうがいいと思うけど。
GPSは取りたいと思ったときに即取れるものじゃないよ。
強いて言えばRunnableの中でnew LocationListenerしてるから
runが終わった時点で開放されちゃいそうな気がするな
通話履歴をリアルタイムで取得しようとしているのですが、 String[] projection = new String[]{CallLog.Calls.NUMBER}; Cursor cursor = getContentResolver().query(CallLog.Calls.CONTENT_URI, projection, null, null, null); として取得しようとすると、発信中は更新されず、発信終了後にしか発信先を取得できませんでした。 また、通話中には履歴を取得できませんでした。 発信を始めたらすぐにそれを読み取るにはどうしたら良いでしょうか? また、通話中に通話相手を読み取る方法もご存知の方がいらしたら教えて下さい。
>>164 屋内で起動したら永遠にGPS取得中になるの? やだなぁ…
あと、getLastKnownLocationで取得した位置情報を、時刻や精度を確認した上で利用するとかないと
クイックレスポンスは望めないと思う。
>>171 ありがとうございます。
すいません。デバッグの際にわかりやすいように60にしてたんですが本当は30分とか1時間ごとの定期処理なんです。
あと、すぐに帰って来なかった時とか、2週目に追いつかれたらとかの処理は入れていこうと思います。
handlerやってみます。ありがとうございます。
>>172 何そのストーカーアプリ。
通話状態についてはブロードキャストインテントが存在する。
>>173 ありがとうございます。
そのへんの処理も入れます。
そういうのの前にそもそも定期的に動かない!!と四苦八苦したもんで・・
>>175 ありがとうございます。
早速調べてみます。
178 :
153 :2011/11/02(水) 21:39:50.07
>>162 どうもこんな質問でも答えてくれてありがとうございます
ちょっくらまた考えてみたいと思います
転売用にAmazon自動予約スクリプト使いたいけど、パソコンの台数と、回線の数、どっちが大事?
キャリアメールをプログラムから読み込む事はできますか? インターネットで探して見ても、Gmailを扱うようなサンプルしか見つからないのですが・・・
>>182 公開されてなければ、解析がんばるしかない。
Androidの開発環境作るまでがダルすぎ‥ios見習え。
まずはMacを買ってこなくちゃな
そんな大変かな 1度作ったら、別のPCに環境移す時に基本コピペで出来るから凄い楽だったけど。
eclipseに触ったことが無かった人なんじゃないかな
マカーは馬鹿だから仕方がない
ジョブスが死んじゃって頭がどうかしちゃったんだよ
iPhoneなんて実機で動作確認ダルすぎじゃないか・・・
基地局情報のみで位置検出できますか? GoogleMapsでGPS,WIFIをそれぞれ単独で動作させて位置検出が出来ることは確認できたのですが、どちらも無効化した場合には現在地が取得出来ませんでした。
>>192 LocationManager.NETWORK_PROVIDER で取れる端末もあれば、取れない端末もある。
>>193 機種依存でしたか。ありがとうございます。
195 :
デフォルトの名無しさん :2011/11/03(木) 10:39:27.79
アラートを上げるコードを外部クラスのメソッドにしようとしてるんですけど AlertDialogBuilderをnewする時にContextが必要になります。 onCreateの中に書いてたときは普通にthisとしてたんですけど今回の場合だとうまくいきません。 どうすればいいですか?
Contextを渡せばいいだけでしょ Androidのアプリを作ってる限り呪縛からは逃れられない
そういや便乗で悪いけど、ContextをActivityやService内でthisでとるのとgetApplicationContextで取るのってパフォーマンス的に何か違いあるの?
単純にContextを参照するだけならthisの方がパフォーマンスいいけど 実際Contextのどのメソッドを呼ぶかでどこに実装されてるかも変わる ただ、変わるっていっても数ステップ変わるだけだから アプリケーションのパフォーマンスとしてはまったくって言って良いほど影響は無い
UIスレッド以外でダイアログとかトースト表示すると落ちるじゃない? あれの対応がいまいち上手くできないのだけど、SurfaceViewとか使ってる場合 みんなどうしてるの?
表示は表示で完全にUIスレッドだけに集めてしまって データ処理は別のサービスを立ち上げて非同期でやればいいってこと?
シュミレーターを起動させるとthe import android.app.Activity is never usedと出て起動できません。これはどうすればいいですか?
>>198 なるほど
ずっと気になってたんだよね、サンクス
それは起動できない原因とは関係ないから。 logcatの見方から覚えろよ
204 :
デフォルトの名無しさん :2011/11/03(木) 14:59:18.83
バックアップのためにsqliteのデータをcsvとかtsvに書きだして SDに保存したり読み込んだりしたいのですが、簡単な方法はありますか?
そんな事せずにバックアップAPI使えばいいんじゃね?
お前らって教える気がないのに何で書き込むの?
207 :
デフォルトの名無しさん :2011/11/03(木) 18:14:34.67
通信量を監視したい。 AlarmManagerをつかって5秒間隔でアプリの通信量の監視をしてるんだけど、 TrafficStats.getUidRxBytes が常に-1を返してくる。 誰か助けて。 ちなみにTrafficStats.getTotalRxBytes は正常に動いてるみたい。
>>207 linuxなんだから /proc だろ
210 :
207 :2011/11/03(木) 19:19:25.36
/proc/uid_stat/[uid]/tcp_rcv /proc/uid_stat/[uid]/tcp_snd 見たいアプリのuidを拾って上のファイルを見る、 はわかったんだけどそもそもどうやって見ればいいかが分からない。 申し訳ないけどファイルの開き方を教えてください m(_ _)m
>>210 android sdk のサイトいって file でサイト内検索すれ。
212 :
207 :2011/11/03(木) 19:43:00.33
>>211 filerederとか使ってふつうにファイルとして開けということでしょうか?
締め切りになっちゃったので
またの機会に試してみます。
ありがとうございました。
cat でリダイレクトとか?
動作後に画面遷移前のActivityに戻りたいのですが、どのようにすればよいのでしょうか 現在はIntentで明示的に戻るようにしているのですが 端末で「戻る」を押すと、画面A→画面B→画面Aといったように繰り返しの動作になってしまいます。
finishじゃだめなの?
>>199 UIスレにやらせるしかないよ
そういう設計で見直すのがいちばんだけど
簡単に対応するならhandleとか使ってみたら?
217 :
デフォルトの名無しさん :2011/11/04(金) 00:15:32.79
EditTextで入力文字数が30文字を超えたらアラートを出して、30文字を超えた部分は 削除するようにしています。 ただ、30文字入力したあとに顔文字などを入力すると超えた文字数分だけアラートが出てしまいます。 30文字を超えたときに1回だけアラートを出すようにしたいのですが、何かいい方法がないでしょうか。。。 コードは下記のようにしています。 // コメントが変更されたときの設定 editText.addTextChangedListener(new TextWatcher() { @Override public void afterTextChanged(Editable s) { int len = s.length(); String str = s.toString();// 入力文字列を取得 // 制限文字数を超えた場合の処理 if (len > 30) { // 入力文字数が30文字を超えた場合 str = str.substring(0, 30);// 制限文字数分の文字列を取得 editText.setText(str);// 制限文字数分の文字列をセット AlertDialog.Builder alBuilder = new AlertDialog.Builder(context); alBuilder.setMessage("30文字以下で入力してください"); alBuilder.setPositiveButton("OK", null); alBuilder.show();// ダイアログの表示 } } });
218 :
デフォルトの名無しさん :2011/11/04(金) 00:28:33.79
len==31じゃだめなの?
>>217 リアルタイムで入力を制限するのって悪いUIだと思うよ。
ツイッターだって送信する時点(クライアント側かサーバ側かは別にして)でチェックするじゃん。
220 :
デフォルトの名無しさん :2011/11/04(金) 00:46:24.87
いちいちダイアログ出るのはうざいな 入力文字数をtextviewに表示して30超えたら文字を赤くするとかでいいんじゃね
webviewでid,passの記憶ってできない? アマゾンのログインがめんどい
Android NDKについての質問です。 最新のNDKだとarm以外にx86に対応してるって話ですが、 これってコンパイルする時に何かしないとx86に対応しないんですか?
AndroidアプリとWebアプリではどっちが将来性があるだろうか?
iPhoneアプリ。
iPhone()
IE10未満のIEを真っ先に切り捨てることになるがhtml5+css3+js+webGLで何でもできる
seekbarのつまみをセカンダリの範囲内しか移動できないようにするには、どうすればよいですか?
mapについて質問させてください。 2つの地点が画面内に程良く収まるようにzoomを自動でセット・・・ということがしたいのですが、 そういうのは用意されてないようでしたので、なんとか実装できるか試しております。 ユーザーの画面サイズは取得できますので、あとはzoomlevelごとの縮尺(zoomlevelが10のときは1pxあたりnメートルであるといった値) がわかれば実装できそうだと思いました。 このzoomlevelごとの値はプログラムから取得、あるいはどこかで提供されていませんでしょうか? または別の方法で実装可能ということであればご助言いただけると幸いです。 よろしくお願いします。
androidはjava以外だと何で開発できるの? スクリプトは実行できる?
231 :
デフォルトの名無しさん :2011/11/04(金) 13:42:36.27
>>222 Application.mkのAPP_ABIにx86を足すだけ
NDK付属のdocsくらい読みなよ
>>229 MapControllerのzoomToSpanじゃだめなん?
>>233 普通にこれでできそうですね。すごく遠回りしてました。。
このメソッドの日本語での説明が見当たらず、パッと見てスルーしていたんですが、
読んでみると座標の差分を入れることでそのサイズにzoomするってことなんですね!?
ありがとうございます。いけそうです
そうだよ でも単に2点の座標の差だと画面ギリになる事があるから余白分も足すといいよ
>>230 titaniumとかAIRとかunityとかで調べるといいよ
237 :
デフォルトの名無しさん :2011/11/04(金) 19:00:02.42
警告(eclipseの黄色い下線)と未使用ファイルがプロジェクト中にたくさんあるんだけど これそのままアップしても大丈夫?
「アップしても大丈夫?」が 「(テスト環境なり、自分の端末なりで、決まりきった条件化で数回程度)動作しますか?」 という意味なら、まあ大体動くだろう。 「製品としてリリースしても大丈夫?」という意味なら、それが判断できないようなやつは 製品をリリースするな。
240 :
デフォルトの名無しさん :2011/11/04(金) 20:12:49.32
うるせえ
(笑)
titaniumってのは初めて聞いたな SDKほど深くいじれるのか?
243 :
デフォルトの名無しさん :2011/11/05(土) 00:14:22.47
api14対応めんどくせえ…
Serviceにて、外部プロセスのアクティビティとAIDLによるプロセス間通信を考えています。 この際、プロセスA向け、プロセスB向けに異なるIFを提供したいのですが、いい方法が あればおしえてください。 onBindにて返却するIBinderを相手によって変えればよいとおもうのですが、onBind時に 相手先を識別する方法がありますでしょうか?
>>244 intentのExtraにテキトーに引数を設定すればいいんじゃないの。
セキュリティ的にどうって話はさておき。
ああ、onbindの引数のintentではExtraは見えないんだっけか。でもまあsetDataしたuriくらい見えるだろ
247 :
244 :2011/11/05(土) 01:15:42.84
>>245 それは考えたのですが、ご察しのとおりセキュリティに懸念があるのです...
片方向けのIFはclosedなIF提供になるので、できればパッケージ名とかUIDとかでしばりたいのですが...
>>247 プロセス間通信のAIDLインタフェースを変えるだけでセキュリティが達成できると思う方がバカじゃね?
サービスアプリは<provider> <grant-uri-permission> を使って、特定のアプリからのみ参照可能なContentProviderを定義する そのContentProviderはアプリのプライベートな領域にランダムなキーを生成する(初回のみ) アプリBは サービスアプリのContentProviderにアクセスできるものとする アプリBはContentResolver経由でサービスアプリのキーを取得する アプリBはstartServiceでサービスアプリを起動する アプリBはbindServiceの引数にランダムなキーを使ったURIを指定する サービスアプリのonBindは、uriのキーを照合する こんな流れか。 でもこれでセキュリティ的に大丈夫かどうかは 保証できないけどな。
>>249 なるほど、参考になります。
その線で検討してみます。
ありがとう。
安全じゃない理由は、依然としてintentの送信元を検証できないから。 ContentProviderで全てやりとりして、ContentProviderからstartServiceを行って そのときOTPを生成してstartServiceの引数経由で渡して、 そのOTPをつかってbindServiceする…とかはどうだろう。 ContentProviderからstartServiceできるのかどうか知らないけど。 うん、よっぱらってるから適当かいてる
Serviceを2つ公開して中の処理を関数でまとめてしまった方が話が早いと思うが
>>252 問題はどうやってbindできるアプリを制限するかってとこだろう。
元のサービスが1個だろうと2個だろうと、これができなきゃ困るらしいし。
permissionで署名チェックするしかないんじゃないの 本質的には何らかの形で署名に帰着するよ
255 :
FL1-119-242-211-31.kyt.mesh.ad.jp :2011/11/05(土) 12:18:09.34
あ
お前らバカだな。
セキュリティーを気にしてるんだから、アクセス元のアプリが本物かどうかが判断できなきゃ
意味ないだろ。URLを騙る可能性だってあるんだから、
公開するメソッドで認証情報か資格情報を受け取るしかないだろ。
>>249 は長々と書いてるが「特定のアプリからのみ参照可能」の解決方法が書かれていない。
セキュリティーを確保したいなら実行時にユーザーから何か情報を入力させるべき
カレンダー連携機能付けたんだけど自分が持ってる端末android2.2 以外のテストってどうすればいいんだろ 頼みの綱のエミュレータはカレンダー使えないみたいだし みんな各バージョン分端末持ってたりするの?
公開してユーザにやらす
ICSはなかなかスタイリッシュなインターフェイスになってるじゃないか よくやった
アンドー&ロイド 戦え!原始人
アドセンスもやってるんだけど アプリ公開用アカウントはアドセンス用と同じにしたほうが都合がいいかな? 広告とかの関係で。 あんまり関係ない?
すごく初歩的な質問だったら申し訳ありません。 ボタン(Buttonクラス)の有効/無効を、 setEnabled()を利用して切換えようとしたのですが、 ボタンが画面に表示された後(表示レイアウトにaddViewした後)に、 setEnabled()をすると、予期せぬエラーが発生してエラー終了してしまいます。 setEnabled()等の、ボタンのパラメータを変更するメソッドは、 ボタンが画面に表示された後に、使用してはいけないのでしょうか? ※ボタンが画面に表示される前(表示レイアウトにaddViewする前)であれば、 setEnabled()等でボタンのパラメータは変更出来ました。 ボタンが画面に表示された後に、ボタンのパラメータを変更したい場合、どのように実装したら良いのでしょうか?
264 :
262 :2011/11/05(土) 20:01:05.85
>>263 レスありがとうございます。
onCreate 内ではなく、別のスレッドで setEnabled の操作をしていました。
しかし、別のスレッドで全く操作できないとなると、結局下記のケースを実現する場合、
どう実装したら簡単に実現できるのか、さっぱり分からないです・・・。
・例1:画面を表示した後、一定時間経過後に、ボタンを表示する。
・例2:画面を表示した後、特定の操作を行った場合(条件を満たした場合)に、ボタンを表示する。
※例えば、次の画面へ遷移するボタン等は、上記例のように、
特定の条件を満たした時に、表示したい場合があると思います。
>>264 別スレッドで操作する他の方法としては、xml を使わずに onCreate の前に Button を定義してから使う方法がある。
自分は xml でウィジェットを定義してないのでよく使う方法だけど、
onCreate の前に java で定義しておけばエラーを回避できる。
おおまかな流れとしてはこんな感じ。※このままでは動作しません。
public class ButtonActivity extends Activity implements OnClickListener {
Button btn; //ここでボタンを定義
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//setContentView(R.layout.main); //xmlは使わない
Button btn = new Button(this);
setContentView();
}
public void onClick(View v) { //操作に応答するためのスレッド。onClick 以外の場合も似たような感じ。
if(v == btn) btn.setEnabled(false);
}
private final Runnable runnable = new Runnable() { // 1 秒後にボタンを操作するための実装。
@Override
public void run() {
btn.setEnabled(false); //ボタンを操作
//1秒(1000ミリ秒)後に再帰呼び出し
handler.postDelayed(runnable, 1000);
}
};
}
例 2 については onClick のみで可能だけど、例 1 は後半のようなハンドル操作が必要になるな。
どうしても xml でボタンを定義したい場合は...やったことないスマソw
Androidのプログラムって、C#やPHPに比べて妙にごちゃごちゃしててわかりづらいと思うのは 俺だけなんだろうか・・・? それともこれがJavaの特徴なの・・・? 親切設計のつもりが仇になってる気がする・・・画面をXMLでレイアウトしていく所などなど・・・ いや・・・俺がついていけてないだけなのかもしれないな・・・・
>>261 別アカウントでやってるけど今のところ問題ないよ
保証はできないけど
>>266 画面をXMLで組むのはC#のXAMLも同じだろう。
携帯故にライフサイクルが複雑なのが一番のポイントだよ。
起動中にプロセスが殺されても問題なく再開できるようにしないといけない。
>>262 バックグランドスレッドからUIスレッドに処理要求を出すには、普通はHandlerを使う。
Handler ui_handler;
…
onCreate(){
handler = new Handler();
…
なんか別スレッドでの処理から
ui_handler.post(new Runnable(){
void run(){
if(isFinishing()) return;
btn.setEnabled(true);
>>265 そのコード、どこでbtnをUI階層に追加してるの?
269 :
265 :2011/11/05(土) 21:48:31.06
>>266 画面レイアウトやウィジェット配置は xml を使わずに java ソース内だけでも組めるけど、
xml の GUI 設定画面には反映されないので、慣れないとちょっと面倒だね。
>>268 いくつかの定義や UI への追加部分は省略しましたスマソ
ゲーム開発ではもうIS03のアス比って無視するしかないのかな… なんであれだけWVGAなのかと、止めなかったGoogleを小一時間問い詰めたい
271 :
264 :2011/11/05(土) 22:11:32.86
>>265 なるほど、onCreate()の前でButtonを定義しておけば、
別のスレッドからでも、Buttonを操作できるのですね。
レスありがとうございました。
272 :
264 :2011/11/05(土) 22:30:19.46
プログラムの話じゃないけど、変数なんかが勝手に斜体で表示されるのを変更ってできないですかね? 設定の外観を見てもそれっぽい所がなくて見にくくてしょうがないですです
事故解決 設定-Javaのエディターの所か、、、
アイホンの方だと結構売れてるのに、Androidのアプリ全然売れないんだけど‥ 検索にかかりやすくするとか、何か裏技ない?
Androidアプリは広告収入でやっていく方が良いような・・・
Androidは儲からない環境が整備されてるから 撤退するのが一番いい
なんでiPhoneアプリはこんなものが有料で売れてるんだろう ってのをよく見かける
お布施は大事です Google教徒は信心が足りません
アイフォンアプリはマジでカスアプリでも有料で販売するよなw そして売れるっていうw ただ、どんなカスアプリでも実機動作確認してあればもれなく動くわけだから、 その点で購入しやすいのかもね。 Androidの場合は動かない可能性があるからなぁ・・・ 無料版有料版を作るか、アプリ内課金で有料版に以降できるようにするかしないと。
ユーザの嗜好に明らかに違いがあるからな。ラッキーボーイとかAndroidでは人気ない。 Androidはガラケで売れてたものがそのまま売れるっぽい。 iPhone持ってるのは世間ではいわゆる変人だからな、そこで売れるものは Androidでは受け入れられないだろう。なめこ探偵とかAndroidだとうれなかったりして
Google Maps APIが有料化ってことですが、 Androidアプリでマップ使う場合も該当するんでしょうか?
マ板に行け
あ、すまん。 どのアプリが売れるかって話のほうだった。
>>282 うん。でも人気が出るまでは気にしなくていいはず。
利用上限を超えないGoogle Maps APIは無料で提供される。
利用上限を超えている場合には「2012年初めごろ」から強制的に課金される。
その場合は、最低30日前に通知される。
利用上限を超えてたらアプリが動かなくなるような仕組みを、アプリ側で作るべきだな。
SSL保護された作者のサイトにアクセスして、特定のファイルがなかったら動作しなくなる、など。
でもAPIキーを盗んで使うような海賊版アプリがあると困るよなあ
>>284 どうもです。
7月公開したアプリで現状は無料版300人有料版9人のユーザーです。
しょぼいので大丈夫とは思いますが、わけのわからないきっかけで一時的に爆発ヒットするとか、
嫌がらせで何度もリロードしまくられるとか、色々不安の種はつきないですね。
最悪アプリの公開停止して、有料版買ってくれた人には謝罪メールと返金すればいいかなとは思ってますが・・・
>>285 いっそAPIキーをユーザが入力して使うようにすればいいんじゃね
>>286 APIキー発行に証明書が必要だった気が・・。
ばかなの?
11/11/06 11:14:56 JST: Eclipse is running in a JRE, but a JDK is required Some Maven plugins may not work when importing projects or updating source folders. 昨日の夜まで問題なく動いてたんですがこのメッセージが出るようになってしまいました。 adb.exeが見つからないエラーも出てしまいました。 パスの設定というのを調べたのですが参考書やネットに出ているのと自分のパソコンだと環境変数というのが違っていて どこになんと張り付ければいいのかよくわからない状態です。 回答いただけたら助かります、初心者ですいません
>>285 APIキーの取得時って支払い情報必要なん?
>>291 今全然アプリ作ってて、マップアプリの方の記憶が薄くなってるんですが
Googleのアカウントだけで確か支払い情報はいらなかったような・・・どうだったかな・・
293 :
デフォルトの名無しさん :2011/11/06(日) 11:36:02.74
mapは知らんが開発者用APIを取得させるappはあるな
>>290 エクリプスのショートカットのプロパティ開いて、
ファイル名の部分をnantara\kantara\eclipse.exe -clean
のように最後に「半角スペース-clearn」をつけて起動してみるとか。
295 :
292 :2011/11/06(日) 11:42:34.56
× 今全然アプリ作ってて ○ 今全然違うアプリ作ってて
どこかの記事で読んだ気がするけど オーバーしたらマップが表示されなくなるって話だったような
298 :
デフォルトの名無しさん :2011/11/06(日) 12:29:42.60
インテントで外部のエディタを起動→そこで編集→Backで自アプリに戻る ってやりたい場合に、自アプリに戻ってきた時にファイルが実際に変わっているか (更新日付とハッシュとか)をチェックしたいのですが、どこに書くのがベストでしょう? 返り値もないのにonActivityResultに書くのもなんか変だなーという。
300 :
デフォルトの名無しさん :2011/11/06(日) 13:22:47.81
すれ違いだと思うけど、ここの人詳しそうなので質問させてください。 知らない間にtapjoyとかいうフォルダ(中には動画や画像など)が出来てて、消しても消しても復活して 元通りになっています。 どうすれば完全に消去できるのでしょうか。また、復活する原因は何でしょうか。 最近電池のヘリが早いのはこれが原因なのであろうか・・
root取る
見当違いです
>>300 tapjoyはリワード広告のプラットフォーム。適当にアプリ消せばいいと思うよ
>>298 Intentで外部アプリを開いてもアプリ終了時の結果は取れたと思うよ
その対象のアプリ次第だろうけど、編集した場合はRESULT_OK、
保存せずに終了した場合はRESULT_CANCEL、をちゃんと返してくれるものもある
305 :
デフォルトの名無しさん :2011/11/06(日) 13:58:38.16
レスありがとう
>>303 その広告プラットフォームを使ったアプリをですか?
でも、そのアプリ金使って買った奴なんだよね・・・
なんか、タダでゲーム内の通貨を貰える的な感じなのでクリックした気がする・・
しかも貰えなかったし笑
>>305 なるほど、やってみたらたしかにいけそうです。
でもresultCodeはどこまで信頼できるのかって気もしますが・・w
resume時にバックグラウンドスレッド上げて該当ファイルにstat一発入れるだけだろ。
>>268 UIスレッドに投げるだけならview#postかActivity#runOnUiThread使った方が話早いよ
>>308 removeCallabacksとか意識してるので普通にHandler作ってるよ。
Handler生成以外のパフォーマンスロスがあるわけでもなし。
i-phoneの方が有料アプリ売れるのは、無料アプリが絶対的に少ないせいさ。 Mac VS Windowsの時もそういった感じだった。 プログラマの善意で出されるフリーウェアは、シェアウェア市場を狭くするという皮肉な構図がある
無頓着にポンポンとアプリ買うユーザが多いiPhoneはちょっと羨ましいとは思うね おかげで中華アプリで阿鼻叫喚になってたりするが情弱ばかりだから大抵の奴は知りもしないまま無頓着
iphoneアプリは作るのに金がかかるから最初から売る目的でマーケットに出すパターンが多いと思ってる コンビニでiTunesカード買うだけで支払できる手軽さもあるし
なんといってもクオリティ 同じアプリ作ってもOS依存で作りやすさ、操作性がまるで違う また、Androidだと時間かけて作っても売れないから悪循環
でもiPhoneはすぐ無料セールするし 驚くほど少ないDL数でランキング入りできるっていってる人もいるけどな
315 :
デフォルトの名無しさん :2011/11/06(日) 20:21:17.01
自分で信用できる開発者だとブランドつけないといかんな
エミュレータを使えるようにしたんですが、 「申し訳がありませんが、谷歌・・・」 と毎回表示されます。表示しないようにするにはどうすればよいですか?
>>312 開発コストはiPhoneの方が低くない?
出来ることが少ないから機能要求の水準が低くて済むし、
デザインが固定レイアウトだからiPadを無視していいならデザインも低コスト。
環境限定なんで多少バグバグでもなんちゃってで動作する。
本気でがっちり作ったら大変だけど、通り一辺倒動作してそれなりの見栄えで売れる、
のレベルならiPhoneの方がずっと早いと思う。
まあAndroidは何より
>>310 の言うとおり無料アプリの出来が良すぎて有料で参戦しづらいんだよな。
無駄にOSS系精鋭開発者が集まりすぎてるのも考え物だわ。
>>316 中国語の糞入力システムを何とかして無効化する
321 :
デフォルトの名無しさん :2011/11/06(日) 21:02:03.80
Activityが起動したときに他のActivityから呼ばれたのか通知バーにしかけたインテントから呼ばれたのかを判定するにはどうすればいいでしょう?
>>321 そんな方法は無い。
通知バーにしかけるIntentに特別なアクションをセットするとか、それとわかるデータをextraに持たせるとかで対処できない?
最近マーケットで見れるのはカテゴリの順位で100位ぐらい(もっとあるかも)までじゃね これじゃ上位に入らないと全然DLされないじゃん
>>317 ストアに出すとき1万円いるじゃん
しかも毎年1万円づつ教祖様にお布施しないとダメだし
十年前プログラマだったがAndroidアプリ作りたくて入門書注文しました お世話になりますがよろしくお願いします
>>325 最近のプログラムは昔の
「起動するとmain()が実行されて、上から下に向かい1行ずつ実行されていくー」
というのと違いクラスのカプセル化によるブラックボックス化、コールバックの多様、イベントトリブン型が猛威を振るってるから
ソース上で今実行されてる行があっちこっちに飛び交い
予測が難しくパニックになる覚悟が必要かも〜
327 :
デフォルトの名無しさん :2011/11/06(日) 21:52:56.53
起動すら出来ない☆1とかたまに書かれるけど こっちでは同バージョンのエミュでも実機でも再現できない どないせいっちゅーねん
>>324 有料でアプリ売る前提で考えるなら年1万のお布施はタダみたいなもんかと
正直プログラマの手というコストに比べれば1万円とか屁でしょ
もちろん安いに越したことは無いけどね
ちょっと
>>323 についてなんかないの?
致命的だぞw
すいません勉強法についてなんですが アンドロイドの勉強1週間くらいやったんですが、いまいちわかりません その前にJAVAの勉強2週間くらいやって、これは買った入門本に書いてあることはほぼわかったと思います。 アンドロイドはサンプルコード丸移ししててfindViewIdとか、Toastとかしょっちゅう使うメソッドは理解できてた気がするんですが はじめて見たメソッドだと大概わけがわからなくなってしまいます 自分でアプリ作りながら調べて慣れての繰り返しで大丈夫なんでしょうか 決定的に基礎が足りないんでしょうか
>>329 なんか特徴あれば検索キーワードでヒットするだろ。
既存の類似アプリだったら上位だけ見えたほうが安心だし。
>>331 ランキング云々よりも検索が相変わらずGoogle様にあるまじきショボさなことの方が遥かに問題だよなw
既存の枠組みを使わないで好きにプログラミングできないの? ウィンドウズPCでwin32apiのみを使ってアプリ作るみたいな アクティビティやらなんやらやるのはウィンドウズPCでVBでGUIアプリ作ってるみたいじゃん
GUIフレームワークは無視して全部CanvasかGLで実装することも可能だが ActivityはOS側の機構だから無視できんよ
336 :
デフォルトの名無しさん :2011/11/06(日) 22:34:05.78
>>334 直したいがエラーも出ないし原因が分からなくて八方塞がり
>>333 できない。
骨の髄までGoogle様の仕様どおりに設計せねばならない。
さらにVBのような親切設定はなく最初に覚える仕様が膨大
公式のリファレンスはほぼ英語。
こまってぐぐると出てくる個人のblogはコメントすらついてない始末
要するに始めて触るにはとっつきにくすぎる環境満載
338 :
デフォルトの名無しさん :2011/11/06(日) 23:03:11.76
スタック無視してホーム画面に戻りたいんだけどホームのアクティビティクラスを インテントに投げる方法だとクラス名ハードコーディングになるんだけど現在の ホーム・アクティビティクラスを取得する方法か他の方法はなんか無い? verはとりあえず2.3以降なら4.0まで何でもいいんだけど。
まず環境作りで必ず苦戦する。 次にエミュの重さに絶句し別の軽い検証環境はどうすればいいか求めてネットを彷徨う事になる。 さらにサンプルプログラムがどう動いてるのか流れ理解するのに苦戦。 サンプルプログラム内にあるクラスやメソッドがいつ実行されてるのか、なんの為に存在しているのか知るまで苦戦する。 Activityの流れの理解に苦戦。 画面デザインのやり方に苦戦。 dpiの存在に苦戦。 苦戦・・・苦戦・・・むきょーーー!!!!・・・となる。
最初はItmediaとかにあるサンプルをプロジェクトに追加する方法でも四苦八苦するよなw
>>338 ACTION_MAIN + CATEGORY_HOME でいいはず
まあVBに慣れてる人とeclipseに慣れてる人じゃ入りやすさは違うだろうなあ
まあ、Eclipse馴れてれば、 環境づくりは慣れ親しんだ手順でサクッと終わるな
何この低脳自慢な流れ。
>>340 おかげでパッケージ名にcom.sampleでリリースする人が続出w
まあ俺のことですが
>>337 や
>>339 みたいな極度の低能はVBでも嵌るだろw
Androidの特有さというとActivityのライフサイクルと相対指定が必要なレイアウトかな
それ以外のとこではまるようならiPhone行こうがWP行こうがダメな奴はダメ
レイアウトでハマるとかないわ。 一体どんなアプリの作り方してんだ?
JavaでAWTやSwingやってた人なら、Androidのレイアウトでハマるとかないと思うんだ。 Density Pixelくらいしか新しい概念はないだろ。
いや、初めてJavaやるけどAndroidのレイアウトではハマってないな。 HTMLとCSSが意外なとこで役立ってるのかな?
350 :
デフォルトの名無しさん :2011/11/07(月) 01:49:33.74
Activityのライフサイクルもハマるもんは何もないだろ。MIDPと変わらん。 むしろ初めからマルチタスクに最適化されてるからVMが裏に行った時の処理が書きやすいくらい。 ただ、Apache Harmonyの標準ライブラリ使ってるだけでSEと互換性がまるでないからCDCでやって欲しかった。
351 :
デフォルトの名無しさん :2011/11/07(月) 01:59:15.62
AndroidはOSGiのGUI強化版みたいなものだ
だったら最初からOSGiでやってほしかった。俺的Androidコードの第一印象は 「なにこのOSGiの再発明」だった。そうすればADTだってもうちょっとましだったはず。
携帯決め打ちでweightで伸縮するだけって程度ならすぐ慣れるけど タブレット対応してsizeに合わせてレイアウト変えるとかやると結構独特だと思うけど Activityは画面回転だけはいまだに慣れん
他は想像つくが今はブラックボックスとかあるんだね…
ActivityManagerのブラックボックスっぷりは異常 自分のアプリケーションタスクのスタックが今どんな構成になってるのかさえ分からない
確かに他のプログラミングに比べると、Androidからプログラミング始めて触りました!って初心者には向いてないかもね 全ては解説サイトの不親切さにある気がする。 どのサイトも過去にプログラミング経験がある人向けに作られてるもの。 CGIやScriptしか触ったことなかった俺としては 1ソースで起動できるわけじゃないって所もとっつきづらかったな 最低でも「Javaソース1個、レイアウトXML1個、マニフェストファイル1個」のセットが必要な点がね
質問させてください! 先日、開発環境のPCを変更しました。 そこで、Eclipseの既存プロジェクトフォルダを新PCに移し、 「外部ソースからプロジェクトを作成」で丸々移動させたのですが、 このまま実機デバッグをしようとすると元PCでデバッグしていた際の ファイルがあるため、一旦今ある奴を削除してくれメッセージが出ます。 当然削除すれば新PCでのアプリは動作するのですが… こういった、開発環境が変わった場合というのは、 すでにマーケットに登録してあるAPKを新PCで作成したものと入れ替えても ちゃんとアップデート出来るのでしょうか? 別アプリ扱いになっているような気がして怖くて質問させてもらいました。
>>357 デバッグ時にアプリをビルドするのに使われているデバッグ用証明書が変わったから。
これはデフォルトだともしなければ勝手に生成される。
Eclipseの設定のAndroidのとこで指定できる
>>357 マニフェストに記載するパッケージ名とリリース時の署名さえ一致してれば同じアプリとして認識される。
>>356 別に初心者向けの教育言語とかじゃないからいいんじゃね?
いきなりスクリプト言語から入るのもそれはそれで歪んでる気も少々w
マスターしろとは言わんが昔のABC的な順序というか、
その流れの中で押さえるべき知識はどこかで知っとく必要はあると思う
>>356 レイアウトXMLは別に必要ないよ。クラス内で全て処理できる。
というよりクラス内で動的に処理する場合を考えて、アプリ作る時にレイアウトXMLを全く使わなくなった。
>>357 nantokakantoka.keystoreってファイルもちゃんと移した?
それ消したらもうアップデートは不可能ですよ、たぶん。
新しくマーケットに出すしかない。
>>361 最初の頃はレイアウトXMLでレイアウトして
しばらくするとXML使いにくいんだよバーカバーカって言って全部コードで書くようになって
styleやマルチリソースを駆使するようになるとまたXMLに戻ってきて最終的には大体9割くらいをXMLで書くようになる
>>360 Ruby,Python辺りの汎用的なスクリプト言語から入るのは歪んでないと思うけど
まあ、スクリプト言語だけって人はWebでPHPってイメージだが・・・
364 :
357 :2011/11/07(月) 05:50:42.15
早速のご回答ありがとうございます! 旧PCのkeystoreも無事に取り出しましたので、アップデートは問題なさそうです。 という事は、1つのプロジェクトを複数人でデータの受け渡しをしながら構築していく場合、 keystoreを各端末で統一した物を指定しておかないと面倒になるという事ですね。 勉強になりました! ありがとうございます。
なんかたまにMediaPlayerのstopで音楽が止まってくれないことがあるような。 コールバック通知待ちとか必要なんですかね?
マーケットでapkを更新して新着に来る条件って、一週間あけていることかな?
>>351 ,352
MSA2.0のMIDP+LWUITとPP/AGUIの二段構えでよかったんや!
普通のswingも動くし資産継承できたし・・・。
レイアウトをxmlで指定する場合 res/layout/hoge.xml のようにlayout直下しかxmlは配置出来ないのでしょうか?
Webビューで表示したページの向き制御をしたいのだけれど 何てググれば、マニュフェストの奴出てくるかな・・・? 向き 制御 横 制御とかでやったけど、引っかからん・・・ 本体を横に倒したりしたら、縦用とか横用に勝手に切り替わるあれを 抑えたい
android portrait
Bitmapの画面の一部だけを透明色(アルファ値0)で塗りつぶす方法ないでしょうか? setAlphaはImageViewでしか使えないようですし clipRectで範囲指定してdrawARGB(0,0,0,0)またはdrawColor(0)してもなにも描画されませんでした。 getPixelsでデータ取得した後で総書き換えするのは負担が大きすぎてしまいます。 他に手段が思いつきませんが何か方法あるでしょうか?
ソケット通信時に接続後しばらく通信をしないと送信も受信も出来なくなってしまうのですが これはどうにかなりませんか?
無線やパケット通信だとそれが普通だからいやなら飛ばし続けるしかないんじゃね?
374 :
デフォルトの名無しさん :2011/11/07(月) 15:36:04.20
エミュレーターの手動インストール方法を教えてください。 さっきから調べてるんですが、どのサイトもURLを入力してDLする方式ばかりで見つかりません。
>>374 何を言いたいのかわからんが、
AndroidのエミュはAndroid SDKの中だ
>どのサイトもURLを入力してDLする方式ばかり ADTのことか
>>375 端末=Skinで、エミュレータそのものはAndroid2.2とか呼ばれるものってことですか?
サムスンからNexusなどのエミュレータをDL済みなのでこれを使いたいんですが、単なるSkinだからどれ使っても同じなんでしょうか?
でもそれぞれの端末は画面サイズが違いますよね?
>>377 ダウンロードしたギャラクシーとかのファイルは解凍してadd-onsに入れておけば自動的に読み込んでくれる。
後はSDKマネージャのヴァーチャルデバイスズからNewしてTargetで選べばいい。
add-onsっていうとおり拡張パッケージなんで、
ディスプレイサイズとかはwikiとか見ながら入れることになる
Intent intent = new Intent( Intent.ACTION_SEND ); intent.setType( "application/vnd.test" ) intent.putExtra( Intent.EXTRA_STREAM, uri ); startActivity( intent ); でファイルを添付してメールを送ってそれを受け取ったのですが、Content-Type が application/vnd.test ではなく application/octet-stream になっていました。 どのようにすれば application/vnd.test で添付できるでしょうか?
>>378 できました。こんなに簡単だとは。
どうもありがとうございました。
>>379 それって相手メーラーの仕様次第じゃね?
とりあえず標準のメーラーのソースコードを見てみるとコンテンツプロバイダからtypeを取得してるみたいから、自前のプロバイダで適切なtypeを返すようにしてみたら?
x86版のAndroidをvirtualboxで動かしてるんですがGoogleアカウントに端末を登録するのは どこからやるのでしょうか? 同期には設定したのですがマーケットでログインしても端末が登録されていないとの表示が・・
>>381 メールの受け取りは PC の Thunderbird で、メッセージを保存で .eml で保存してからテキストエディタで開いて Content-type を確認しました。
独自の mime-type の場合はコンテンツプロバイダを通さないとダメということでしょうかね。
難しそうですが試してみます。
384 :
デフォルトの名無しさん :2011/11/07(月) 19:46:44.72
android marketの管理画面のエラーレポートってもしかして [パッケージ名]で発生したクラッシュ エラー って表示されるだけなの?詳しいことが何も書かれてないんだけど
>>383 相手メーラーというのはメールの受信先じゃなくて、ACTION_SENDを送付する対象となるandroidアプリのことね。
386 :
デフォルトの名無しさん :2011/11/07(月) 20:41:12.58
よくasynctaskで読み込んでる間progressdialogを前面に表示させて操作できなくしてるのあるけど これはどういう意図でasynctaskを使ってるの? どうせ操作できないんならUIスレッドに書いても同じじゃないの? ここまで書いて気づいたんだけどハニカムからはUIスレッドでhttp通信できないんだっけ これが理由なのかな
>>386 backボタンなどでキャンセル可能な作りにすればいい。
webにあるサンプルを鵜呑みにしないことだな。
388 :
デフォルトの名無しさん :2011/11/07(月) 21:00:49.42
2通り作ってみてやっぱりasynctaskの方が色々都合がいいとわかった サンクス
Bitmapクラス使ってるんだけど、画像の表示サイズの変え方がわかりません どなたか教えていた絵だけないでしょうか?
絵だけはちょっと無いな。
391 :
デフォルトの名無しさん :2011/11/07(月) 22:23:17.39
ヴーで変えればいいんじゃないでしょうか
393 :
382 :2011/11/07(月) 22:37:28.44
どなたか > <
394 :
デフォルトの名無しさん :2011/11/07(月) 22:38:46.64
え?
395 :
382 :2011/11/07(月) 22:41:37.05
わからないって言ってるじゃないですか> <
んなもん自己責任だ糞野郎。
久々にプログラム書こうと思ってスレ覗いてるが 正直よくわからん…
398 :
デフォルトの名無しさん :2011/11/07(月) 23:41:11.73
使ってないはずのtextviewを削除したらヌルポる…なんでやねん
400 :
デフォルトの名無しさん :2011/11/07(月) 23:54:30.89
xmlに適当なviewを一つ増やしただけでもヌルポるな
意味ワカンネ
>>399 見てもさっぱり
誰か解読頼む
FATAL EXCEPTION: main
java.lang.RuntimeException: Unable to start activity ComponentInfo{Activity}: java.lang.NullPointerException
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2663)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679)
at android.app.ActivityThread.access$2300(ActivityThread.java:125)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:123)
at android.app.ActivityThread.main(ActivityThread.java:4627)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:521)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:858)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.NullPointerException
at Activity.onCreate(ActivityNewBook.java:143)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1049)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2627)
>>398-399 そうだぞ、行くらい晒してくんないとな。
俺ら そこまでエスパーじゃねーよ?
>>400 >at Activity.onCreate(ActivityNewBook.java:143)
ちゃんと書いてあるだろ
その行でぬるぽ
>>400 俺antしか使ったことないんだけど、
いったんcleanしないと
./gen/<パッケージ名>/R.java
が不整合起こしたりしなかったっけ?
そんなことしたか?
408 :
デフォルトの名無しさん :2011/11/08(火) 00:27:29.20
>>399-407 申し訳ない。クリーンで解決しました
eclipseのクリーン起動じゃなくて、プロジェクトのクリーンね
勉強になりました
ありがとう
なんかADK13以降、リソースの不整合起こりやすくなってるよね
ADT14って、バグまみれで開発不能ってレベルだったけど そろそろ落ち着いた?
15は何とか実用に耐える
412 :
デフォルトの名無しさん :2011/11/08(火) 01:37:00.38
2つのボタンを画面の水平中央から均等に置く方法を教えて下さい ボタンA | ボタンB ↑ここが画面中央 こんな感じです
>>409 ,410
いつからかやたらリソース狂うのはそれか。
JDK 7かEclipse 3.7が原因じゃねーの。Android以外でも更新されないことが最近よく起こる。 毎回実行前に[Project]→[Clean...]でリビルドすればおk
馬鹿には無理
416 :
382 :2011/11/08(火) 03:55:32.15
どなたかm(__)m
Eclipse3.6だけど、たまにPCがピタッて固まるぜ。 一度それでソースぶっ飛んだ。
>>416 うざい。
>>382 ちょっとぐくれば、Market にアクセスできるのは Google が認証したハードウェアだけってことはすぐ分かるはず。
メモリーが足りんのだろ?
LVL入れても国内からクレームは全然こないんだけど、 海外向けだとすぐクレームが来るんだよな… 子供がやりたがってるのにライセンスエラーとかで出来ません!オンラインにはしてます!とか言ってくる 嘘なんだろうな…おのれ外人…TPPなんかやったら身包みはがされるぞ、やつらに
>>412 基本テクだが、android:orientation="horizontal"を指定したLinearLayoutに
android:layout_width="0px" android:layout_weight="1" を指定したボタンを並べると
「各ボタンが最初に確保する領域が0px、残った領域をweightの比率で配分」になって均等配置。
GoogleはRelativeLayoutで階層減らしましょうとか言ってるくせにRelativeLayoutだと割合配置できなくてファッキン
422 :
デフォルトの名無しさん :2011/11/08(火) 11:26:01.19
え?
asyncTaskのdoInBackground内でLayout内のTextViewとかImageViewとか を変えたいんですが動きません。 doInBackgroundからActivityのメソッドを呼び出しているんですが 引数にView とか Contextを渡す必要がありますか?
>>423 画面操作はUIスレッドから。Handlerの出番
425 :
423 :2011/11/08(火) 16:45:25.55
>>424 onPostExecuteから描画処理を実行したらいけたんですが
これって問題ありますか?
Handler使った方がいい場合ってどんな場合ですか?
アプリがタスクキラーなどのタスク一覧に出ないようにするにはどうすべきでしょうか
>>425 UIスレッド以外から画面操作したい時。
AsyncTaskのリファレンスくらい読め。
onPreExecuteはUIスレッド
doInBackgroundは非UIスレッド
(onProgressUpdateはUIスレッド)
onPostExecuteはUIスレッド
>>426 アプリ終了させるときプロセス切ればいいんじゃね?
>>428 やっぱりそうするしかないか
ホームアプリとかはみんなそうしてるのかな
>>429 バックグラウンドで動かしつつもタスクに表示させたくないってことか。
色々情報収集でもするつもりか?
アンドロイド使ってる時点で情報収集されてるから機にスンナ
>>430 別にそんなことはしないんだけど、データが消えるのが面倒で
おとなしくセーブするよ
eclipseで既存のプロジェクトを開きたいのですが、 ERROR: Unknown option '--extra-packages' というエラーが出て先に進めません。 何回もビルドしているとたまにこのエラーが出なくなり、代わりに R.java was modified manually! Reverting to generated version! になりますが、やはりビルドできません。(手動で変更した覚えはありません) 何が間違っているのでしょうか? わかる方よろしくお願いします。
434 :
デフォルトの名無しさん :2011/11/08(火) 19:54:43.55
353000-byte external allocation too large for this process. VM won't let us allocate 353000 bytes 344000-byte external allocation too large for this process. VM won't let us allocate 344000 bytes これってあれですかねOOMってやつですかね
動的に確保出来なかったのでは?
>>429 逆だろタスクキラー側でホームアプリは表示させてないんだろ
>>436 例えばSamsungの端末にプリインされてるタスクマネージャだとmanifestにhomeって記述しても自分のはタスク一覧に出てきてしまう
他のホームアプリは出てこないのに
ホームアプリを表示するかどうかはタスク一覧ソフト側の作り込みなので、 アプリからどうこうということは出来ない。
>>437 規定のホームに指定されてたら出ないとかじゃないの?
既定のホームに設定してもでます 確かに他のタスクキラー試してみたら出なかったです
>>440 だからタスクキラーの実装次第
ホームアプリが他のアプリ起動するたびに終了してたら
ホームキー押すたびに待たされるぞ
>>441 そう考え、Samsungのタスクマネージャは無視する方向にしました
443 :
382 :2011/11/08(火) 23:12:13.36
誰か教えてください > <
>>443 だからさ、エミュレータでマーケットアプリを動かすこと自体、
Googleは認めてないし自己責任なんだから自力でなんとかしろ
446 :
382 :2011/11/08(火) 23:36:38.97
えっ皆さんも登録できないんですか? なんと。。
AsyncTask の doInBackground() 内で Toast.makeText(getApplicationContext(), "Toast",Toast.LENGTH_SHORT).show(); をすると例外が発生するのですが、どうしたらToast使えるんでしょうか。 AsyncTask.execute() はActivity.onCreate() 内で button.setOnClickListener を呼んで onClick() 時に呼んでます。
あ…
>>427 が答えですかね。
スレ汚しすみません。
449 :
デフォルトの名無しさん :2011/11/09(水) 10:01:43.13
ふざけんじゃねえ スレ汚しの罪は重いぞ
bitmapでアルファ値だけ書き換える方法ありますか?
オプションメニューでパラメーターの変数を変更させた後はサイクルはどこに戻るのでしょうか? onRestart()でしょうか?
TimePickerのサイズを大きくする方法はありますか? scaleなどの属性が見当たらないのですが、Galaxy SのアラームのTimePickerは 2倍くらい大きく表示されているのでどっかにあるのではと… もう一つ、システムリソースのic_dialog_time.pngを使いたく、main.xmlに android:src="@android:drawable/ic_dialog_time" と書いたんですが、 エラー: Resource is not public. (at 'src' with value '@android:drawable/ic_dialog_time'). となって利用することができません。public にするにはどうすればいのでしょうか? build targetは2.2で、sdkのandroid-8/data/res/drawable-hdpi/ic_dialog_time.pngは 存在しています。
アイコンとかは自分のプロジェクトにコピーして使えっていうお達しが出てる URLは忘れた
アプリが全然DLされない… 性能云々以前に存在すら気づかれてない気がするんだけど
おれ、スマホブームは2年以内に終焉を迎えると思う・・・ 今市場にでまわってるタイプのスマホ、圧倒的に使いづらい なんか・・・最終的にはガラケーに戻り 今のスマホはタブレット形になり、ビジネスマンがPDA的に使う感じに落ち着くんじゃないかと・・・ そんな気がするんだ・・・
それはないから大丈夫
いい読みではあるんじゃない? ジョブズが離脱したのもあって、大きな話題が出にくくなった。 日本国内なら、スマホじゃなくても十分に機能がそろってるけど、 外国では、十分に機能がそろってるのはスマホしかないんで、 外国で勢いがなくなるってのは難しい。 日本国内だけなら、一応可能性はあるかと。
質問させてください。 AndroidのBluetoothは同時に複数台にペアしてデータ通信できますか? 具体的には、マスターから複数のスレーブに単純なテキストを送りたいのですが、 Android SDKのサンプルを試してみたところ、1対1でしか通信できません。 何か方法があるのでしょうか?
Eclipseを使っているのですが、どの行でエラーが出たかとかわかる方法ってあったりしますか?
>>456 それはちよっと無理があるかと…
もはや新規の半分はスマホなわけだし
OnTouchListenerが有効なエリアを画面に 割り当てて、そのエリアに画像を置くと画像ボタン作れると考えてますがこれって合ってます?
アメリカは回線圧迫が深刻になったせいでパケ放廃止になったから陰りでてきてる パケ放題なしのスマホなんて使いづらくて仕方ないだろうな
iPhoneだけど半年で200MBしか受信してないから パケホなくなっても問題ない気がする
なんでプログラム板でそんな内容書きこむの?適した板があるじゃん
. ┌━┐ ┌━┐ ┃┌╋──╋┐┃ └╋┘ └╋┘ ┃ ・ ・ ┃ ┌━━┐ ●━╋┐ ┌╂━━━━╂┐ ┃ └━┷┴━━╂┘ └╋━┘ バカにはできないコピペです ┌╋┐ ┌╋┐ ┃└╋╋━━╋╋┘┃ ┃ ┃┃ ┃┃ ┃ └━┘┘ └└━┘
469 :
468 :2011/11/09(水) 17:46:08.59
普通にコピペして投稿できるじゃん、なんなのよ。 馬鹿でも出来るわ
Intentを投げてギャラリーで対象の画像表示とかできますか?
>>469 そう書いとけばバカが他のスレに拡散してくれるわけだ。
つまりバカとは・・・
472 :
デフォルトの名無しさん :2011/11/09(水) 18:56:50.56
タッチ操作しかできないタブレット端末でデバッグしてるんだけど GridViewクラスのsetSelectionの動作がよくわからん。 タッチしかないから選択もクソもないのか?
>>473 Paintを指定できる描画メソッドでやれ
>>472 listviewとかもそうだけど、カーソルやトラックボールで操作したときの現在選択位置ってやつかな
IS01とかなら試せるんだけど
ハードキーがないやつでもbluetoothでキーボードとか繋げば試せるはず
まぁ正直そこまで律儀に実装するほどでもないと思う
>>474 こんな感じでやりました。
paint.setColor(Color.TRANSPARENT);
paint.setAlpha(0);
paint.setStyle(Style.FILL);
c.drawRect(rect,paint);
しかしアルファ値0で書き込む=何も書き込まれない ということで結局描画できず
アルファ値の書き換えもできませんでした。
>>472 一度エミュレータで動かしてみるといいよ。
>>371 「画面の一部を透明色で塗りつぶす」のか
「Bitmapの一部を透明色で塗りつぶす」のか
どっちなんだよ。
この2つは全然違う話だぞ
>>477 paint.setXfermode(new PorterDuffXfermode(Mode.SRC_IN));
この一行入れるだけであっさりできました。
ありがとうございます。
jniはunicodeで作ったほうがいいんですか?
482 :
デフォルトの名無しさん :2011/11/09(水) 22:09:29.32
アプリ命名すっごく悩むな
glsurfaceviex使ったアプリ 自前、友人あわせて6機種で正常に動くけど エミュだとポリゴンがぐちゃぐちゃになる… UIとかはフツーなのに どぼちて…?
484 :
デフォルトの名無しさん :2011/11/09(水) 22:23:49.68
通話履歴の取得でTYPEがOUTGOING_TYPE(通話)のときに取得した DURATIONが通話時間と呼び出し時間がごっちゃなんですが、 判別方法はありますか?
485 :
デフォルトの名無しさん :2011/11/09(水) 22:26:57.49
sqliteのカラム名の一つに「column」と付けてたら何故かSDK4のエミュレータだけでsyntax errorが出ます 名前を変えたら通ったので、どうもcolumnは何らかの原因で使えないのだと考えられます(予約語的な 「column」は明らかにソレっぽいですが、他にも使ったらいけない単語一覧とか有ったら教えてください
487 :
デフォルトの名無しさん :2011/11/09(水) 22:36:32.19
>>482 「エロ萌え画像検索〜100まんこの萌えHなAV機器もおっぱいあるよ!?〜」
490 :
デフォルトの名無しさん :2011/11/09(水) 23:49:26.70
ここ
xmlで、listviewみたいな区切り線を引きたいんですが、なにか方法はありますか?
x86の実機ってまだGoogle TVしかないんだよな。 NDKとemulatorのx86対応とかx86-emulatorのKVM対応とか急に進んでるけど Intelが3.0の移植完了したら本格的にAndroid-x86が来るんだろうか。 ATOM + x86 Android3.0とかMIDで出てきそうだが・・・。
てかemulator-x86を標準で同梱して欲しいわー
>>491 画像つくってbackgroundに設定すれば
ListViewとかDialogとかは画像をImageViewで貼ってたような 標準の○○みたいなことしたい、と思ったら本舗のソース見るのが一番早いよ
画像というかxml drawable だったり 9-patch drawableだったりするけどな。
>>493 Google TV add-onにあったとおもう。そのかわりにwin版のGoogle TV add-onがない。
JNI(C側)で確保したメモリはvmのヒープ管理の対象外ですよね? ってことはヒープ(18MB?)に入らない大きなデータはC側で allocできればメモリー使い放題ってこと? 100MBほどallocしても落ちなかったのでちょっと驚いたのだけど。
ScrollViewの中のListViewのスクロールをなんとかして動かしたいんですが何かいい方法ありますか? ListViewをScrollViewの中に入れちゃダメなのは知ってるんですが、無理やりでもいいので実現できるようなら教えてください
>>499 ScrollViewを継承したクラスを使って、どちらにタッチの制御を渡すかを制御すればOK
>>482 アプリ名パクられて、さらに更新停滞してたら抜かされた・・・
502 :
デフォルトの名無しさん :2011/11/10(木) 06:40:09.08
ちょっと変な質問かも知れないですが、最近知ったことでadobeのair/flexを使えば iPhone/android両対応でアプリが作れるらしく便利だなと思いました air/flexで作ってる方いますか? つかってる方、objective-Cやjavaでの開発に比べて感想はどんなもんでしょうか? その選択をしない方、何が理由でしょうか? 意見もらえると嬉しいです、よろしくお願いします
503 :
デフォルトの名無しさん :2011/11/10(木) 08:35:01.90
Androidに載せられるインプレッション型課金広告ってなんかありますか?
admobからなんかアップデートのメール来てた
Flash死亡って言われてるけど、WebViewからAdobe Airのflashを 呼び出すみたいなことって出来るのかな? それができればAdobe Airをインスコしてもらえばいいことになる
開発リソースをHTML5とAirに振り向けるってだけでFlashの配布が中止になるとかって話じゃないぞ
バカはしね
QRコードを読み込むアプリを作りたいのですが どこか参考になるサイトとかありませんか? ZXingを取り敢えずダウンロードして、使おうと思ってるのですが QRじゃなくてバーコードウンヌンと中々・・・良いのが見当たらない・・・
100万DLとかどうやったらいくわけ? 半年でやっとこさ5万DLいったよ
これからはHTML5の時代 ネイティブアプリは、もう終わりだね・・・ Android SDKを捨ててWebの海に漕ぎ出すか
ハァ?アドビはこれからAirでネィティブアプリに注力すると言ってんだかw だからブラウザのフラッシュ屋が昨日から発狂してるぞw
Adobe Airのゲームのマーケットのコメント見ると、みんなクソ重いって言って叩いてるし Java屋大勝利だよ
HTML5マンセーの人は本当に触ったことあるのかい? 俺は当然触ったことあるが、ハッキリ言うが"時代はまだまだこない"と思うぞあれは。 各ブラウザで実装されてる機能がバラバラすぎ。環境が整ってなさすぎる。 過去にもJavaScriptやHTMLタグで、IEとFireFoxで違いがあって色々トリッキーな対応しないと ダメだった時代があるが、あれよりヒドイ現状だよ。 Flashも結局は"メイン"にはならず、今まで通り"サブ"的位置かわ変らないと思うよ 指摘されてる通り要求されるハードスペックが高いため処理速度が重過ぎる。 そしてこの重い現状は仕様上改善不可能。 ようするに小型で高スペック機が、低価格で購入でき、一般に相当浸透してからじゃないと "サブ"から脱出できんわけよ。 当然サブが快適に動く環境では"メイン"はさらに軽いわけで、より複雑な演出ができ 結局メインの独走は続く、永遠この溝は埋まらない。
514 :
207 :2011/11/10(木) 15:57:46.27
上のほうで質問したやつなんだけど /proc/uid_stat/[uid]/tcp_rcv の中を探ろうとしても見つからない。 それで File.list() で調べたら /proc/uid_stat が見つからない。(/proc以下に無い) /proc/uid_stat/[uid]/tcp_rcv のファイルをFileReadarとかでみればいいと 単純に思ってたんだけど考え違いなんだろうか? /proc/uid_stat/[uid]/tcp_rcv /proc/uid_stat/[uid]/tcp_snd から通信量を引っ張ってくるやり方を教えてください。 お願いします。
カメラアプリもHTML5で作るん?
俺のネイティブアプリの認識が間違ってるのかもだけど 「AIRでネイティブアプリ」ってなんか矛盾してない?
>>512 いや、むしろCプログラマ大勝利だろ・・・
作ったことないから知らんが、アクションゲームなんかはNDK使わないと重すぎオワタじゃないのか?
3DはJavaじゃキツいだろうね。でも人気あるゲームは2Dばっかだし ガラケでJavaで普通に作ってるのだからAndroidではどうということはない
dpがよくわからん 160dpが1inchってことは横3inchのディスプレイに対して 480dpを指定してやると画面いっぱいになるのかな? 画面のinch数なんて取得出来たっけ
520 :
デフォルトの名無しさん :2011/11/10(木) 18:48:47.15
うん
エロゲでも作るか。 ヒロインは俺な。
ウホッ
>>513 第一線級の現役技術者は早晩HTML5がFlashを駆逐するとは思ってないでしょ
技術営業とか技術評論家とか自分でモノ作らん人が時代はSecondLife!とか言ってるのと同じ
でもまあ現実には課題は見えているし一つ一つ解消していく目処は立ってるから5年で完全リプレースできるかなって感じはある
…動画だけ目処が全然立たないけど
524 :
デフォルトの名無しさん :2011/11/10(木) 22:28:08.91
imageviewを横に3つをキッチリ画面3等分になるように並べて、そこに横ピクセル数が (画面の横ピクセル数/3)>横ピクセル数 な画像をimageviewにアス比固定で横幅に合わせて目一杯拡大して表示するにはどうすればいいでしょうか? (画面の横ピクセル数/3)<横ピクセル数 の場合は綺麗に出来たのですが、小さい画像だとうまく拡大させることが出来ません
sqliteのエラーってtryで拾えないの? insertなんかで一意制約エラーになるようなSQLを流すとexecuteInsert()で落ちるんだけど、、、 そういう作りにしないとダメなの?
そもそもHTML5でどう稼ぐかと言う問題がある
>>524 scaleType="fitCenter"
短辺に合わせたいなら centerCrop
>>525 catch(Throwable ex) で拾ってみ
シュミレーターを起動させるとthe import android.app.Activity is never usedとエラーがでます。これはどうすればいいですか?
Androidマーケットへアプリ登録後に何度アプリをアップロードして更新しても登録した日付から変わりません。 アプリのページを見てもアップデートのボタンが表示されず以前のままになります。 アプリの更新には他に何かすることがあるんですか?
533 :
デフォルトの名無しさん :2011/11/11(金) 00:04:32.17
Maps 使っていて、本日の1日当りマップ30万Hitのアプリ死の宣告。。。
>>530 新旧のapkの有効・無効切り替えた?
バージョン数ちゃんとあげた?
保存した?
ちょいご教授お願いします アプリからブラウザを起動して数秒後にブラウザをkillprocessでブラウザを殺したんだけど、 その後Androidの戻るボタンを押すとブラウザが起動してしまうんだけどどうやったらちゃんとブラウザを殺せるの? Androidの戻るって特殊だよね。。
3.xでは明示的なアプリの終了は無い、システムが不要になったタイミングでプロセスを殺すから
>>536 プロセスの生死とヒストリのクリアは関係ないからな。
>>523 SecondLifeとか懐かしいな・・・
5年で完全リプレースっていうのは良い読みな気がするよ
その頃にはHTML6とかもチラツキはじめてそうだな
>>536 特殊と思ってるのは君だけで利用者はその動作で普通だと思ってるよ
>>536 どうしてもっていうのなら
ゴルゴにでも頼めばいいんじゃね?
>>536 みたいなのがよくでるけどPCでしかプログラミングやったことないの?
プロセス殺せませんはテンプレでいいんじゃないの?
killなんてしたら遷移するたびにVMの起動からやり直してリソース食うしメモリ断片化させるしJITのキャッシュなくなるから悲惨なことになるぞ。
>>539 いや、5.1。
>>543 >PCでしかプログラミングやったことないの?
それって、アマチュアやプロになりたてに取ってはごく一般的で、
驚くようなことではないだろう。
というか
>>536 みたいな疑問は公式のドキュメントをちゃんと読んでれば出てこないと思う。
>>544 Androidの前はMIDPがあったじゃん
Android SDKの公式ドキュメントって最悪だよな 日本語でおk。意味わかんねぇよ って感じだし やる気なさ杉
PCでしかプログラミングやったことないの()
クラッシュレポート増えすぎワロエナイ みんなどれくらい来るの?
アプリ15個出しててここ最近は全然無いけど。おまえの実装ひどすぎ
Android久しぶりに着手しようとしたらEclipseから大量の更新が更新したらエラー吐きまくりでワロエナイ状況になった。 取り敢えずインストールしたAndroid関連を Window→AndroidSDKManager→アンインストールで削除 再度、必要なものをダウンロードしてインストール(今回は2.1) 新規で2.1で作ったものは問題なく動作したんだが、 以前作っていたものは2.2だったので、2.2も再度ダウンロードしインストール 2.2をインストールしたら、2.1でデバッグ可能だったものがエラーまた吐き出した Unable to build: the file dx.jar was not loaded from the SDK folder! ↑これ ビルドパス見ても C:Android-SDK になってるし、イんストールされてる2.1とか見えてる状態 プロジェクトをクリーンや、エクリプスの-c.batから起動してもなおらね 何なのこれ(´・ω・`)
公式アプリですらそれなりに落ちるのにすげーな
クラッシュレポート送信まで落ちることなんてそうそう無くね? 自分の実機だとあって一ヶ月に1、2回だわ
俺も自分がユーザとして使ってる分には2ヶ月1回あるかないかくらいだなぁ 自分で出してるアプリの方は、まあ普通に使ってて落ちるバグを残しちゃった時にドサっと来ることはあった
556 :
デフォルトの名無しさん :2011/11/11(金) 11:51:23.25
>>550 通信時にDNS解決でタイムアウトしてフリーズ報告は結構ある
ところでウェブからアプリがインストール済みかチェックするのって無理だよね?
abc:// とかでインテントなげてアプリ起動させてるんだけど
これを事前に解決できるか知るなんてさすがにできないよね・・・
10万DLのアプリあるけどエラーは5個だな どうやってエラーを出したのか不思議だよw
>>552 ADTはバージョン14で山ほどバグが混入されたから
探してきて12使っとけ
>>558 mjk・・・公式いったら、アーカイブファイルとしておかれてねーのかよおお
r11かr10ならキャッシュに残ってるからこれ使ってみるかな
(´・ω・`)はぁ、まじはぁ・・・
取り敢えずEclipse事態、3.7導入してそっちにr11いれてみるわ・・・
DNSのリゾルバはルックアップ中にはキャンセルできないんだよな。すげーうざい
全部嘘さ そんなもんさ
L-04Cはかなり酷いそうだからクラッシュレポート製造機だろうな
???「君たちがこの声を聞いているときには、私はもうクラッシュしているだろう」
>>557 すげーな、カメラアプリ作ってるんだけど毎日のようにエラー報告来るわw
>>564 カメラは機種差が激しいからなー
動きません
★☆☆☆☆
なんてコメントがいっぱいだ
機種差が激しいっていうか特にカメラはきちんとチェックせずに決め打ち処理書いてるとてきめんに機種依存アプリになる
チェックとかどうやるんだよ 何個も実機買わないといけないのか
android SDKのバージョンアップができません A folder failed to be renamed or moved.On Windows this typically means that a program is using that folder (for example Windows Explorer or your anti-virus software.) とかいうWarningがでてます
>>567 デフォルト値を決めうたないとか、APIが利用可能かいちいちチェックするとか、そういう意味な
>>567 知り合いのスマホで試してもらえばいいだろ
>>568 tools\android.bat
asynctaskで通信させてるんだけど、 遅い回線だと処理待ちasynctaskが何個もできちゃう 何個以上になったら古い方から中断する、とかすればいいと思うんだけど どうやったらいいだろうか
573 :
568 :2011/11/11(金) 15:07:31.57
ADT11まで下げたら問題なく通ったぜ、疲れた ADT11って12(おすすめ)と比べて何かダメな点とかあるの?
今まではVCとか使ってたから 「MSのアップデートで不都合出ると致命的になりすぎ!ふざけんな!」 とか 「MSDN説明クソすぎ!ふざけんな!」 とか思ってたけど AndroidSDK触ったらMSが可愛く思える位ひどすぎて吹いた
4.0いじってみた ウィジェットの設置の方法が変ってる ホーム長押しじゃなくてドロワーにウィジェットのタブができててそこから選ぶようになってる
泣きながら自らを慰めます///
WebViewでの質問 Websettings wst = webView.getSettings(); javascript有効 wst.setSupportZoom(true); wst.setBuiltInZoomControls(true); の2つ有効にして、ユーザー側で+-調整可能にしたんだけど Webページを開いて、表示される一枚の画像が Androidの画面から見切れてるんだよね。 縮小ボタンを2回ほど押せば、小さくなっていくんだが 最初からその2段階ほど縮小させて表示させるにはどうしたらいいのだろうか? webView.zoomOut();を1つセットしたら画面真っ暗で 何も表示されなくなる。。。
581 :
デフォルトの名無しさん :2011/11/11(金) 18:34:09.01
Androidの開発環境を構築しようとしてEclipseを導入中のものです。 Eclipseのwindow->Android SDK and AVD Managerを一覧に表示してやりたいのですがうまくいきません。 Android SDK ManagerとAVDManagerは一覧に表示されているのですが、Android SDK and AVD ManagerとAndroid SDK Manager、AVDManagerは別物ですか? もし違うならばAndroid SDK and AVD Managerを起動させるためにはどうしたらいいのでしょうか? EclipseのバージョンはIndigo Service Release 1 です ググッて出てくる方法は試しているのですがAndroid SDK and AVD Managerが出てこない例が無いもので、、
>>581 この質問二回目だな
教科書通りに行かないと何にも出来ないのか
二つとも実行してみて分からなければあきらめろ
友達がいない俺はドコモショップの展示品に勝手に インストールしてテストしてみた なぜかxperia rayでだけ不正終了した これはrayが買ってくれと俺に意思表示してるのだろうか
>>582 ありがとうございます。助かりました。
わからなくなって煮詰まってるとダメですね。
585 :
デフォルトの名無しさん :2011/11/11(金) 20:18:02.83
>>572 調べてみたがよくわからんですたい
つまりどういう意味なんでしょうか
Notificationで通知バーに情報を表示する場合、 通知バーを引き伸ばした際に通知欄には情報を表示せず、 通知バーに通知のみをすることはできますか?
すみません質問です Bluetoothでメールするクライアントアプリ作成しているのですが MediaPlayerクラスで着信の通知音を鳴らすと一度に複数着信した場合 通知音が途中で消えたり、多重に再生されてしまいます。 なので何か一つ着信音再生していて途中で更に着信した場合音を鳴らさない等は可能でしょうか? 宜しくお願いします。
スリープ状態になっているかなっていないかの状態を取得するにはどうすればいいでしょうか?
そのくらい自前のフラグ処理でなんとかしろYO!
スリープ状態ではあなたのプログラムもスリープしてますので状態の取得をすること自体そもそもできないんじゃないでしょうか 単に画面が消えてるだけで本当はスリープしてないのならPowerManager#isScreenOnとかでどうでしょう
>>590 ありがとうございます
スリープというのは画面が暗くなった状態でボタンを押すとロック画面が表示される状態ですタイマーアプリなのですがロック中には鳴らさない設定にしたいので
Activityからsetcontentviewで、 xmlを使わずに、自分でViewを継承したViewをセットしたんだけど そこから別のviewに切り替えたい。 Viewクラスではsetcontentviewつかえないですよね なにか方法ありますか?
>>591 ロック中かそうでないかを見るんだったら
KeyguardManager#inKeyguardRestrictedInputMode()で判定するのがいいかも
(trueがロック中)
たまに LogCat が死ぬけど、死んだときの不安感と言ったら無い。
Androidのソースコードが最近また公開されたって聞いたのですが 本当ですか
3.0あたりで?ソースをダウソロードできなくなってたのが 最近また出来るようになったって聞いたのですが・・・
kernel.orgに見切りをつけてGoogle自前で公開サイト立てちゃったね おかげでソースDLが速くなった
3D液晶付きのを買って自分で3Dアプリを作ることってできますか 3DSにしたほうが無難なのかな・・
電源ボタンを一回おして画面が暗くなった状態(スリープ?)で BroadCastの受信やサービスの開始、端末状態の変更を検知する(PhoneStateListenerなど)ものを有効にする方法ってありますか? 特定のBroadCastをスリープ状態で検知すると振動するなどの機能をライブ壁紙上で実装したいのですが、上手くいかないです
そもそも、スリープしたらブロードキャスト流れないから。 ノートPCのスリープと一緒。
通話がかかったら画面はONになるので、 ACTION_SCREEN_ON を<receiver> で受け取れば十分である。
死ぬほどバッテリ食っていいならwake lockすれば飛んでくるお
なんで文字列は==で比べられないんだよ! equalsとか気持ち悪いです><
>>601-603 定期的に無理矢理叩き起こせばモノ自体は作れそうですね、ありがとうございます
こんにちは サーバー上のDBに格納してあるdocファイルを取得し 表示するのは可能でしょうか? 画像ファイルは取得後BitmapFactory()を使い ImageViewに 表示することは出来たのですが、docファイルの取得表示が わかりません。サーバー側はphpです。 よろしくお願いします。
こちらこそよろしくお願いします。
こんにちは、よろしくお願いします。
611 :
デフォルトの名無しさん :2011/11/12(土) 14:42:37.16
インストールしてるアプリの起動ログを取る方法を教えてください。 ↓を試したけれどうまくいかなくって。 RecentTaskInfoでは起動時間などが無くて使い物にならない。 LogCatコマンドでやろうとしたら同じログばかり返ってくる。 アラームでRunningTaskInfoの比較でログの作成をしてたけど精度に問題が。
>>611 よくわからないけど、アプリが起動された時間がわかればいいの?
ならSystem.currentTimeMillis();で取って日時に加工すればいいんじゃね?
あ、すまんその端末がインストールしている全てのアプリに対して、起動されたかどうか確かめる的なことか。
614 :
611 :2011/11/12(土) 15:40:51.58
>>612 >アプリが起動された時間がわかればいいの
言葉足らずでした。その通りです。
スマホを監視して、どのアプリをいつ起動した、何回起動したというログを取りたいのです。
System.currentTimeMillis()というのは現在時刻を取得ですよね。
これでアプリの起動時間をどう取ればいいんでしょうか?
615 :
611 :2011/11/12(土) 15:51:37.36
616 :
デフォルトの名無しさん :2011/11/12(土) 16:25:25.74
HTMLの入力可能プルダウンみたいなUIはAndroidではどうやって表現しますか? 検索項目の入力でそういうのを使いたんですが、うまい方法が思いつかない(というかいろんなアプリみてもそういう実装がない・・?)。 なにか超うまいアイデアがあったら教えて下さい。
>>611 その最後の行のやつ以外にないんじゃね?
細かい時刻不明、アラーム間隔未満の短時間起動は検出不可、閉じてもタスクが残って見える、と。
何するのか知らんけど、また総務省からお叱り受けないよう気をつけてな。
618 :
デフォルトの名無しさん :2011/11/12(土) 16:47:06.38
java.util.concurrent.RejectedExecutionException を解消する簡単な方法ってないのでしょうか? AsyncTaskをたくさん作りすぎて発生しているというのはわかるのですが、synchronizedを使っても抑えられないみたいですし。 タスクが一定数以上になったら新たなタスクを作らずに前のタスクが終わるまで待ってから作るとかそういう処理はどうすれば・・・
>>594 おれの環境ではログがたまりすぎると死ぬ
こまめにログクリアしてやれば大丈夫
>>616 AutoCompleteTextView 的なもの?
>>614 とりあえず何をしたいのかはそれ以上敢えて問わないが
狂犬に噛みつかれる前にやめておけとは言っておく
>>618 何個ぐらいAsyncTask作ってる?
>>620 おおこんなものが・・・
かなり惜しいですが、無入力状態の時は普通にプルダウンをしたんですよね。
>>623 20〜30個くらいです
リストビューのリスト一つ一つにHttpで画像を取りに行く処理をしています
スマホだと縦画面が狭くて10個くらいしか作られなかったのですがタブレットで動かしたら大量に作られて落ちちゃいました
ASyncTaskの最新のソースを取ってきて、executeOnExecutor 使えば解決。 ExecutorServiceの使い方も知らないとダメだけどね
まじめに組むなら、スクロール位置が変わったら キュー上の古い画像取得要求を破棄するべきなので もっと凝った制御をすることになる。
628 :
デフォルトの名無しさん :2011/11/12(土) 17:40:57.86
doinbackground内で始めちゃったhttp通信ってどうやったら止められるの?
>>625 20個で落ちるのか
うちのは100個一気にプリロードしても落ちないんだけど画像が小さいからかな
>>628 nativeのconnect かreadでブロッキングしてるんなら、ASyncTask.cancel(true) で止められる。
DNS lookup はムリ。ANR出る
Native Activityの使い方とかがまとまってるいいサイトとかないですか?
フリーゲーム公開してるんだが、ある外人が何度もバグ直せメール送ってくる。 たぶんディスプレイサイズが問題で起こってるバグなんだけど、情報提供してくれないし、 他の人からバグ報告もないし、ユーザー数も少ないのであんまり修正する気がないんだけど、 お前はズルイとか言われる 有料アプリや人気アプリだったら苦情、バグ報告、スパムメールとか大変そうだな。
むしろ有料のほうがさもしい連中を払い落とせて マシになるって話もある
金を出すような奴は出した金の価値を知っているから出した金の分しか要求しないが 金を出さない奴はたいてい金の価値を知らない乞食なので青天井で要求する という現象はしばしば起こる
なるほどそうかもしれない。 こんなところで行動経済学を教わるとは思わなかった。 まあ有料は有料でサポート大変だろうな。モチベーションが保てるほど売れればいいけど。
そもそもサポートせなあかんの?
スマホの案件って 聞いたこと無いね
タブレットの案件ならある
スマホって主流じゃないから 案件も少ないよね
殺人的に単価が低いだけで案件だけならあるよ
>>631 バグ報告してくれてるんだから
有難いテスターだと思え
詳細の分からんバグ報告する奴なんて何もしない奴より邪魔
端末依存のバグってその端末持ってない場合、どうやってテストするの? カメラ系アプリは端末依存のバグが高いって聞くけど。
想像するしかねーなw まぁある程度売れてるアプリか、先行投資する気があるならレンタルという手もあるが
仮想環境でテストできるだろ
NDKとか駆使しておかしなことしなければそこまで問題出ないと思うけど 隠しAPIやメーカー独自API使って「ボクのコードは正しい」とか言う奴は論外な
>>645 実機依存がVMででるわけ無いだろ。馬鹿か。
すまん、誰か分かる方いたら教えてください Widgetアプリ作っているのだが、これを自動的にウィジェット上の画像を アニメーション(画像上で手を振るなど)を実装する方法が分からない activity上でAnimationクラスでstartAnimationする方法は各所に あるんだが、RemoteViewだとこれが使えないので、代替方法を探して るんだがいくらググっても分からない ViewFlipperでスライドショーでImageViewを変えていくやり方は、一応動くのだが チカチカしてしまってどうにも使い物にならない 世の中のウィジェットアプリでは、ちゃんとアニメーションできるやつがある (例:ペソギン時計など)ので何らかの方法はあると思うんだが・・・ 分かる方居れば、ご教授お願いします・・・・
650 :
デフォルトの名無しさん :2011/11/13(日) 01:03:55.16
DBに位置情報をいくつか蓄えておき、 そのデータの数だけマップ上に表示させたいのですが できますか?
誰でもできるような質問するなよカス
>>649 appWidgetManager.updateAppWidget でwidgetの外からwidgetを更新できる。
あとはserviceでもアラームでも使うとよろしい。
653 :
649 :2011/11/13(日) 01:52:28.50
>>652 レスありがとう
しかし、widget更新は出来るのだが、findViewByIdがRemoteViewなので
使えない為、ImageViewが取得できないんだよね・・・・ orz
partiallyUpdateAppWidget(int, RemoteViews). と RemoteViews.setImageViewResource(int viewId, int srcId) でいいだろ Serviceからこれを定期的に呼べばOK
API level 11だった。すまん
657 :
649 :2011/11/13(日) 02:26:16.22
>>654 つまり、アニメーション入れたImageViewを含むwidgetを一から全部作り直して、
それで更新するという事か・・・なるほど、これは思いつかなかった
>>655 PartiallyUpdateAppWidgetってのは使った事が無かったけど
調べたら増分更新(?)するやつらしいね
これだと一から作り直さなくてもいける・・・?のか
と書いてるうちに、Since: API Level 11ということだったらしいですね
そのうちには便利に使えそう
とりあえず、まるっと作り直しセットする方向でやってみます
ご回答頂いたお二方(人'▽`)ありがとうございました
今日はもう遅いので明日にでも試してみます^^
658 :
デフォルトの名無しさん :2011/11/13(日) 02:59:59.05
650です。 どのようにおこなったら良いのでしょうか。 よろしければ教えていただけませんか。 また、参考になるサイトなどありますか。 よろしくお願い致します。
> DBに位置情報をいくつか蓄えておき、 > そのデータの数だけマップ上に表示させたいのですが まあ、できるんじゃない? DBや位置情報取得やマップ表示の知識あるの? 自分で解決方法がまったく解らないのに教えてもらっても無駄だと思うよ。 検索もできないんなら技術要素がまったく足りてなくて、多分それ以前の ところでつまづくのがオチ。
>>650 DBが何を意味するのかわからないが、サーバー上の例えばMySQLだとすると、
>DBに位置情報をいくつか蓄えておき、
androidと無関係
>そのデータの数だけマップ上に表示させたいのですが
DBに登録した個数を取得する部分は、androidと無関係。
つまりandroidと関係があるのは、取り出してきた数値を表示するところだけだな。
で、聞きたいのはどこ?
Java使いにくい! Mono移植して.Netも使えるようにしてくれ
>>650 やりたいことは一まとめに言ってるけど幾つかの段階を経て実装するわけだ。
とりあえず、いくつかに分けてみる。
●DBになにかしらデータを読み書きする
●決め打ちの位置でならマップにマーク置ける
これらをそれぞれできてないならまずはそこから調べて作成しよう。
なんでandroidアプリプログラミングって既存のGUI部品を組み合わせることしか本に書いてないの 真っ暗な画面に自分で画面遷移の処理も書いて独自に作って生きたいんだけどそういう本はないのかしら
設定画面の初期状態でデフォルト値を読み込めないのですか? 例えばEditTextPrefを未設定の状態で開くと空欄が開いてしまいますが getStringの第二引数を設定出来たりしませんかね?
フルスクリーンのゲームが作りたいって話ならOpenGLがうんちゃらみたいな本でも買え。 普通のGUIアプリが作りたいならせっかくRubin神が用意してくれた端末差吸収メカニズムが台無しになるのでやめとけ。 素直にViewを拡張して独自drawでも実装すべき。
activityにsetcontentviewしてsurfaceview描画なゲームを作っています。 元activityをロードしたときにスコアランキングを読みこんでおいて surfaceview描画画面に表示したいのですがうまくいきません。 元activityの変数はpublicで宣言してもsurfaceview側では使いまわし出来ないようですし 別activityを起動してるわけでないのでintentで渡すこともできないみたいですし 元activityからsurfaceviewクラスにデータを渡す方法ありますか?
surfaceview.score = unko;
publicでstaticな変数にしとけ!
>>669 そういうメソッドなりフィールドなりを自分で定義して渡せばいいんじゃない?
少なくともSurfaceHolder.Callbackをimplementsしたクラスを自分で書いてるはずだからそこに定義すればいい。
Javaの基礎的問題に答えられないとSDKがダウンロードできないようにしてしまえ
674 :
669 :2011/11/13(日) 12:16:00.45
みなさんありがとうございます。
>>671 いけそうな気がしたのですがどうもはじかれてしまいます。
とりあえず数値変換しないで文字列のままやっているのですが
元activityの中でhiscoreが渡したい文字列とすると
public static String hiscore;
としてもsurfaceview側で
canvas.drawText(hiscore, 10, 10, paint);
と描くとhiscoreがエラー出します。
private String aaa;
aaa=hiscore;
とクッション入れてもhiscoreではじかれます・・・・
>>672 SurfaceHolder.Callbackは入っているのですが
メソッドを定義・・・・
難しそうですがググってみます。
途中でBuild Targetを1.6→2.1に変更した場合 1.6の機種では使えなくなるのでしょうか?
>>675 2.1以降に追加された物は1.6では使えん。
>>676 というと2.1以降に追加された物を使わなければ1.6でもインストールできるというこでしょうか?
だったらビルドターゲット変えなきゃいいんじゃないでしょうか。
admobが3.2以上じゃないと広告表示されなくなったのであります。
admobなんて窓から投げ捨てて広告無しにして 理想の共産主義の実現に貢献しましょう
>>674 元activityという言い回しからして
なんかactivityとかviewとかよくわからずにいきなりsurfaceviewいってそうだけど、
なんの本かサイトみながらやってるの?
682 :
デフォルトの名無しさん :2011/11/13(日) 14:33:25.77
>>659 ,660
ありがとございます。
DBはAndroid内のSqliteです。
>>659 今は、自分の位置をマップに表示したり
緯度、経度を取得することができています。
>>660 聞きたいところは、Sqlite内の位置情報を
どのようにデータの数だけ、マップ上に表示できるかです。
>>674 変数がsurfaceView側では読み出し不可、とかいうオチでは?
とりあえず切り分けで、以下のパターンを試してごらん。
canvas.drawText("a", 10, 10, paint); が正常に動作するかどうか。
int hi=1000;
canvas.drawText(""+hi, 10, 10, paint); が正常に動作するかどうか。
int hi=1000;
canvas.drawText(Integer.toString(hi), 10, 10, paint); が正常に動作するかどうか。
canvas.drawText(""+hiscore, 10, 10, paint); が正常に動作するかどうか。
canvas.drawText(Integer.toString(hiscore), 10, 10, paint); が正常に動作するかどうか。
※hiscoreが整数値の場合。
>>683 ただ単にhogeActivity.hiscoreってやってないだけだろう
686 :
669 :2011/11/13(日) 16:48:03.81
>>683 上から3つまでは順調に表示されました。
下の2つでエラーなのでやはりsurfaceview側からデータが読めてないみたいです。
hiscoreは宣言段階からStringにしたりIntにしたりしましたが下2つは
どうしてもエミュ起動まですすめませんでした。
>>684 !
やってません。
ググっても載ってないようですが。
何か重要な見落としがあるのでしょうか!??
publicとかprivateの意味を知らなそう…
669はJavaスレ行って「別のクラスのメンバ変数を参照するには」とか質問してこいよ Android全く関係ないよ
689 :
デフォルトの名無しさん :2011/11/13(日) 17:33:00.70
ところで無料有料で分けてる人はどうやってやがりますか? いい方法があれば教えて下さい
いやです
>>689 無料に広告とちょっと制限かけて、
有料ではそれ取り除いただけの奴を別で出してる。
アプリ内課金とか出来りゃいいんだけど、
よくわからんしそこで不具合出るとやばすぎるので、手を出せずにいる。
回答は有料です
693 :
デフォルトの名無しさん :2011/11/13(日) 18:10:30.56
>>691 なるほど
apk分ける必要が出てきますが、どうやって分けてるんでしょか?
694 :
デフォルトの名無しさん :2011/11/13(日) 18:13:48.04
createDatabaseがundifineになるソースだからです。
連投スマソ。 誤>>下記のリスト1のように 正>>下記のリスト4(SurfaceViewSample1.java)のように
>>693 共存させるならパッケージを別にする必要がある。
プロジェクト毎コピーしてプロジェクト毎に別々にソース管理するのがシンプルだけど
ワンソース・マルチプロジェクトでやりたいなら、継承とかビルドイベントとか色々小手先の作業が必要。
詳しくはandroid 有料 無料 管理とかでググれば
先達の知恵が少なからず出てくる
>>682 >聞きたいところは、Sqlite内の位置情報を
>どのようにデータの数だけ、マップ上に表示できるかです
sqliteのデータの取り方がわからないのか、
管理すべき位置情報がなにかわからないのか、
マップにマークを付ける方法がわからないのか
もう少し「どこで詰まっているのか?」をピンポイントで言えと。
新しいAndroidMarketは、古いのにあった新着がなくなったけど、 無名のアプリでも目立つようにするにはどうすればいいの?
2ちゃんで宣伝
こんばんは。Java初心者で、現在SQLiteの勉強をしていています。
プログラム内に自分で書いた値を保存させることが出来たので、次にEditTextに
入力した値を保存させたいと思っているのですが上手くできません。
ttp://www.javadrive.jp/android/sqlite_data/index1.html 上のサイトを参考にさせていただいたのですが、サンプルプログラムをそのまま
動かしても「メソッド createDatabase(String, int, int, null)は型○○で未定義です」、
「型○○のメソッドopenDatabase()は引数(String, null)に適用できません」とエラーが
出て、調べてみても解決策が分かりませんでした。
どなたかお知恵を貸していただければ幸いです。
703 :
700 :2011/11/13(日) 19:12:01.88
日曜の朝に更新するとDLが多くなるとか、 一週間おきに更新すれば新着に出るとか、 色々研究してきたのに…
openDatabese()は多分1.5以前の機能 SQLiteOpenHelper使え
3d液晶用のアプリって自作できますか
707 :
デフォルトの名無しさん :2011/11/13(日) 20:55:39.81
質問です。 A(singleTop)とB(singleTask)という2つのアクティビティがあり、 アプリ起動時はAから始まり、その上に「startActivity()」でBを起動する という方式を取っています。 アプリ一覧から起動したときは特に問題ないのですが、 インストール直後にインストール終了画面からアプリを起動させて、 ホームボタンでアプリを中断させてからアプリ一覧から起動させようとすると、 Aのアクティビティが再起動されてしまいます。 Aを「singleTask」に変えればこの現象は起きないのですが、そうすると 中断前にBが起動していた場合に、復帰後にBが表示されなくなってしまいます。 この問題を回避する方法はないでしょうか?
>>707 無い。
activityはonPause後の生存を保証されない。
androidの基礎だ。
>>708 インスタンスはkillされるかもしれないが、ヒストリやAppDrawrからタスクを起動しなおすと
残ってるタスクのスタックからrestoreinstanceされるだろう。
>>707 の質問は、変なlaunchModeを重ねて使ってるのが問題。
BにsingleTaskを設定してるのがから、常にB用のタスクが作られる。
よって、AタスクのヒストリにはBの画面は存在しないのだから、
Aのヒストリを選択して復帰した際に、Bの画面が表示されることは基本的にあり得ない。
あー、アプリ一覧ってHomeランチャーのことか?アプリ履歴じゃなく?
もしそうならAをsingleTask、Bをstandardにすれば希望通りになる。
っていうか公式ドキュメント読め。
launchModeについて調べればわかる。
>>709 インスタンスが破棄された後はonCreateからやり直しで、その次にrestoreInstanceStateじゃなかったっけ?
>>710 launchmodeを変えるだけで再現しなくなるんだから、この場合はシステムによるkillは起きていないとみなすのが妥当だろう。
>>707-711 回答ありがとうございます。
>もしそうならAをsingleTask、Bをstandardにすれば希望通りになる。
やってみましたが、、復帰時にBが表示されなくなりました。
この辺に原因はありそうですので、もうちょっとlaunchModeを調べてみます。
713 :
デフォルトの名無しさん :2011/11/13(日) 22:26:30.68
>>682 ありがとうございます。
sqliteにいくつか位置情報は蓄えているのですが、
それをどのようにしてマップ上に表示するのかが
わからないです。
なんか公式嫁ですむ話が増えたな。 誤訳だらけで意味がわからないところもあるが勝手に翻訳でも読めばいいんじゃね?
715 :
デフォルトの名無しさん :2011/11/13(日) 22:28:06.57
>>699 ありがとうございます。
位置情報はSQliteにいくつかたくわえているんですが、
そこからどのようにマップ上に表示させるかが
わかりません。
>>715 君には自分で調べる能力も開発する能力がないんだから辞めなさい。
>>714 そうなるとこのスレほぼ必要ないだろ。
誰も知らない、答えられない質問しか出てこなくなる。
まぁその方がライバル減っていいが。
719 :
702 :2011/11/13(日) 23:59:19.20
>>704 そうなのですか、ありがとうございます。
アドバイスを踏まえ、自己解決することが出来ました。
>>720 アプリの説明読んでもどのように実装してるかわかりませんでした。
ぜひ教えてください、お願いします。
- Copy text to clipboard using on-board or networked OCR recognition. って書いてるだろ。アプリがやってる特殊なことはスクリーンキャプチャだけだよ
>>715 たしか現在地の表示はできてるとかいってたっけ?
sqlへのデータの格納もできてると。
それは何を参考に作ったんだ?
725 :
デフォルトの名無しさん :2011/11/14(月) 00:45:34.73
AsyncTaskクラス使って実装しています。サービスより使い勝手がよくて便利です。 なにがどう便利なのかというと、AsynTaskはバックグラウンドで非同期で処理を行いますが サービスではないので、マニフェストに登録しなくてすみます。 あと、バックグラウンドで処理した結果を、呼び出し元に返すこともできます。 サービスも、IDLE通信とか何やらで結果を呼び出し元に通知する手段がありますが、 そのための手順、実装の仕方が複雑です。この際バックグラウンドで何かするときはAsyncTaskに一本化しようと 思いますが、ご意見下さい。
726 :
デフォルトの名無しさん :2011/11/14(月) 00:46:39.98
いいとおもいます!
>>717 質問の内容で言ってるんじゃなくてコミュニケーション的な問題。
何がどうわからないのか伝わらない。
伝わってるなら教えてやってくれ
>>725 それですむ内容ならそれでいいんじゃないの?
サーバーのDBにBLOB型で格納されてるWord、Excelを 表示するいい方法はないでしょうか。 閲覧のみで編集などは必要ないです。
頑張ってビューアを実装すれば!
SpinnerにsetOnClickListener(this)したらダメなの? エラーは出ないけど実行時に落ちる…
>>731 spinnerはクリックでダイアログ出さなきゃいけないんだから
そのじゃましたらダメだろ
なるほど…ありがとう Winのように細かく使えればいいのにな
クリックしたときに選択項目がリスト表示されるのまでがスピナーだから そこを別の動作にしたいんだったら別のUIパーツ使うか自作すれば良い
Mapviewで、setBuiltInZoomControls(true);メソッドを使って 画面をタップした時にズームボタンが出現するわけですが、 画面をタップせずに、固定でズームボタンを表示する方法って ありますか?
736 :
デフォルトの名無しさん :2011/11/14(月) 14:38:18.56
androidから外部のsqlに接続しようとして、 実行すると、画面にcom.mysql.jdbc.driverと 表示されるのですが、(class.forname(゛com.mysql.jdbc.driver゛)) 接続できているのでしょうか?
737 :
デフォルトの名無しさん :2011/11/14(月) 14:44:07.88
>>724 現在位置表示などはサイトを参考にしたり
本を参考にしてつくりました。
今はなかなか参考になるサイトが無くて
困っていました。
738 :
デフォルトの名無しさん :2011/11/14(月) 15:37:52.04
>>724 現在位置表示などはサイトを参考にしたり
本を参考にしてつくりました。
今はなかなか参考になるサイトが無くて
困っていました。
>>736 JDBCドライバはどうやってアプリに組み込んだの?
>>737 だから君には問題を分割して簡潔にする能力がないから辞めなさいって。
>739 あなたには聞いてません。 私に関わらないでもらえますか
ここのやり取りを長年見てきて俺は思ったね 中途半端な仕様に嘆いたり、ぼやいたりするより 与えられた使いづらい環境の中で、自分なりに工夫して、苦戦しながら頑張るのが重要だという点に。 ・使いづらい開発環境上等! ・クソ解説書上等! の精神がプログラマーには重要だという事を。 このスレで質問して、あっさり回答もらえるような内容ではダメであり 質問しても誰からも回答もらえないような内容じゃないと売れる物はつくれねぇ 誰一人「いや、やったことないからわからねえな・・・」と言うような質問できるくらいじゃないと スティーブンジョブズにはなれないということを!
おまえら荒らしだということにいい加減気づけ
>>742 確かにこのスレで質問して、解決策もらったことねーな。
スティーブン janai
2chMate 0.8.1.6 dev/VIMICRO/fj_vortex/2.3/6.2MB/48.0MB てす
>>733 Buttonとして作って、backgroundにSpinnerのxml設定すればそれっぽくなる。
>>738 なんて本とどこのサイトを参考にしたのかいい加減教えて下さいお願いします。
こんばんは。SQLiteの勉強をしている者です。
テキストボックスに入力した値をテーブルに保存、テーブルの表示、指定したIDのデータの削除
をクリアすることが出来たのですが、指定したIDのデータの更新が出来なくて困っております。
多くのサイトを参考にしたのですが、このプログラムのどこが悪いのか分かりません。
プロジェクトをアップロードしましたので、どなたかアドバイスをして頂けると有難いです。
ttp://www1.axfc.net/uploader/Sc/so/292380.zip
こんばんは
commit
>>751 入れて動かしてみたけど問題なさそうなんだけど…
どうなる予定なのに、こうなるから出来てないと判断したってのを書いてみて
入れて動かしてみたら気持ち良くなって 中でいっちゃって ちゃんと外にthrowしてよって怒られた
>>754 ありがとうございます。そしてすみません、ついさっき自己解決することが出来ました。
更新したいidを入れて更新ボタンを押してもテーブルの内容が更新されなかったですが、
cv.put("id", e_text3.getText().toString());
この文で、テーブルのid列の値を書き換えることで解決しました。
今は、空のidを指定してデータを入れるということに挑戦しています。
端末がスリープ状態になるとロケーションが取れないんですが、 そもそもスリープ状態ではサービスは動かないんでしょうか? Androidのスリープ状態とはそもそもどういう状態で、どういうことに影響をおよぼすのかが知りたいんですがぐぐってもいい感じのページが出てこないんです。 端末によってスリープ中にセンサーが取得できないといった記述のあるサイトは見つかるんですが。
appWidgetにボタンを二個配置したウィジェットを作って、 実機でデバッグしているんですが、 USBデバッグ接続を切ると何にも反応しなくなって困っています。 ブロードキャストでUSB切断をレシーバーで取得してRemoteViewの再設定をしてもだめでした。 USBデバッグ接続を切ると実機では動かなくなるとかあるんでしょうか。 それとも何か考えられる原因があるんでしょうか。 ちなみに機種はIS05とエクスペリアです。
759 :
758 :2011/11/14(月) 22:50:02.57
↑に追気 他にアラームを動かしていたんですがそちらも全滅。 USBを繋げ直すとDisableで出力させていたログがどどっと流れてきました。
Androidのスリープ状態はどういう状態かというとスリープになってる状態だよ
俺たまに寝てる自分をじっと見下ろしてる時がある。
初歩的な質問です int値3つを次のアクティビティ(List.java)に渡してそれぞれの値を「/」で区切って遷移先のtextviewに表示したいのですが、 遷移元(cal.java) Intent intent = new Intent(); intent.setClass(cal.this,List.class); intent.putExtra("year",year); intent.putExtra("month",month); intent.putExtra("day",day); setResult(RESULT_OK); としてみましたが、遷移先(List.java)ではどのように受け取ればよいのでしょうか? また遷移元はこれで大丈夫なのでしょうか?
764 :
デフォルトの名無しさん :2011/11/15(火) 00:40:43.64
入れて動かしたら気持ちよくなるのではなく 挿入している瞬間に既に気持ちいいわな
スピナーにsetOnItemSelectedListenerくっつけたらアダプター噛ます度にイベントがおきるんだけどどうにかならんの? 選んでないにノ呼ばれるとか意味がわからん
>763 わざわざ3つに分けなくてもいいような、、まぁそこは置いといて 受け取るのはgetIntentぐぐれば沢山出てきます 遷移元が正しいかもぐぐったページみればわかると思います。 今日は熱っぽいのぇオナニーしないで寝ます。
>>763 俺も初心者だけど、遷移先は
TextView text1 = (TextView)findViewById(R.id.text1);
Intent i = getIntent();
text1.setText( String.valueOf(i.getIntExtra("year", 0)) + " / " +
String.valueOf(i.getIntExtra("month", 0)) + " / " +
String.valueOf(i.getIntExtra("day", 0))
);
こんな感じでとりあえずは出来るよ。
>>763 Intent intent = getIntent();
if(intent != null){
int nantoka = intent.getIntExtra("year",0); //第二引数の値はyearキーが存在しなかった場合に使用される。
}
>これで大丈夫なのでしょうか?
自分で確かめよう。
というかググればすぐ出てくるのだから、調べる努力をしよう。
目的の情報を検索する能力を鍛えよう。
どうしても検索する能力が付かないなら、とりあえず本を買って初歩的なことは全て覚えよう。
じゃないといつまで経っても受身で成長しないと思うよ。
770 :
763 :2011/11/15(火) 01:28:48.15
みなさんありがとうございます。ぼくもオナニーして寝ます。
771 :
デフォルトの名無しさん :2011/11/15(火) 01:52:14.92
strings.xml で改行を含めるのはどうしたらいいんでしょうか? toastで出力するのが目的です。
をいれたら無視されるようで・・。
/^o^\ ↑で書いたつもりだったのは&#10;です。
CDATAも聞かないしもしかして・・と、\nが効くんですね。自己解決しました・・。
すみません質問です。 TextView(複数行)を画面の上半分と下半分にそれぞれ配置したいのですが、 どのレイアウトを使ったらいいのかわかりません。 何かヒントをいただけませんでしょうか。 よろしくお願いします。
775 :
774 :2011/11/15(火) 04:44:13.96
すみません、自己解決しました。 android:layout_weight というのを使うのですね。 ありがとうございました。
>>736 > androidから外部のsqlに接続しようとして、
> 実行すると、画面にcom.mysql.jdbc.driverと
> 表示されるのですが、(class.forname(゛com.mysql.jdbc.driver゛))
> 接続できているのでしょうか?
直接接続しようとする馬鹿がいるとはw
意味わからんのだがw
なんで直接に接続しようとするの?馬鹿なの?w
777 :
758 :2011/11/15(火) 13:02:53.43
先輩からの指摘で解決しました。 android.os.Debug.waitForDebugger() をコメントアウトで動くようになりました。
「SharedPreferences」で「values\string.xml」の中に定義されてる数値取得する時の話しなんだけど String型で取得すると成功するのに、Int型で取得しようとすると「予期せぬエラーが起きました」とプログラムが落ちるのは、な・ぜ? ---[values\string.xml]--- <?xml version="1.0" encoding="utf-8"?> <string-array name="List_Entries"> <item>ノーマル</item> <item>全画面</item> </string-array> <string-array name="List_Values"> <item>0</item> <item>1</item> </string-array> </resources> <resources> ---------------------- ※正常に取得できる方 ---[src\main.java]--- String p_MSize = sharedPreferences.getString(getResources().getString(R.string.List_Key), "2"); //「sharedPreferences」は適切に取得できる事を確認済み //「"2"」は取得に失敗していたらこれになるのでわかりやすいようにしている。 //2になる事はない事を確認済み ------------------- ※失敗する方 ---[src\main.java]--- Int p_MSize = sharedPreferences.getInt(getResources().getString(R.string.List_Key), 2); //String型バージョンの一行をコメント化して、こっちのコードに変えるとなぜかエラーになる。本当はInt型で取得したいんだ… -------------------
なんとなく考えられるのは <string-array name="List_Values"> <item>0</item> <item>1</item> </string-array> の部分で文字型か整数型か宣言しないといけないのかな?って事だけど・・・ どうやるのかわからん!!??
List_keyって何? intの2が戻ってきてほしいってこと? わからんけどキャストとかすればいいじゃん
ListPreferenceで格納される値は文字列固定 自動で型変換はしてくれないので Integer.parse()とか使って自分で変換する必要がある
782 :
779 :2011/11/15(火) 16:27:57.86
>>780 説明下手ですまん。「List_key」は俺が勝手につけてる識別IDさ〜
正常に動けばユーザーが画面で選択した値が戻ってくるんよ(今回は0か1)
設定画面みたいな感じ。
だからInt型の0か1が戻ってきてほしい感じだったんだよね
>>781 そういう事だったのか!!
これでスッキリして先にすすめる…
近場ならラーメンおごりたい気分だ!
ありがとうー本当ありがとうー
>>778 「string-array」なんだから String なのは当たり前だと思うんだが
文字列を暗黙的に数値に変換できるなどとは思わない方がいい
>>781 正確にはInteger.parseInt(hoge);だろ?
揚げ足とりみたいでスマンけど・・・かんべんな。
取ってくる値はString[]じゃねーの?
ListPreferencesで設定項目を表示し、その選択状態をSharedPreferencesに格納している。 ごっちゃになっとるぞお前ら。
SQLiteOpenHelperを使用して、 DBをつくり、適当にinsertしてselectで取得、というのは出来たのですが、 プログラムを終了させて再度走らせると、DBとデータが消失してしまいます。 調べたのですが、createの2回目以降は同じものがあるなら作られない、てきな 説明はあるのですが、特にDBを保存しておくような説明が無く、困っています。 何か保存するのにしなければならない処理があるのでしょうか。
>>787 データベース名にnullを渡してる、に10ペリカ
>>787 public DBHelper(Context context){
super(context, "Sample.db", null, "1");
}
こんな感じで、第二引数にデータベース名を入れると本体のdata/data/[パッケージ名]/に
データが保存されるよ。ここがnullだとメモリ上に作成するから、アプリ終了すると共にデータも消えちゃう。
数日前の俺がいてワロタ
791 :
787 :2011/11/16(水) 09:25:50.05
DB作成はこんな感じにしています。 super(context, "TEST", null, 1); 第3引数がnullだろ、という指摘なら合ってますが、 第2引数はそのまま文字列を入れますので、nullではありませんし、 例えば、実行するたび違うテーブルを作成しているということもないはずです。 それとも拡張子が入ってないから駄目なんですかね。
792 :
787 :2011/11/16(水) 09:29:59.01
TEST.dbでもだめでした><;
>>792 消えてるってのは何でわかったの?
ファイルエクスプローラから確認はしてる?
データ入れたときにcomitしてないだけなんじゃ・・・
797 :
787 :2011/11/16(水) 11:32:56.32
>>794 DBを操作する前に、selectで適当な検索結果を得て0件ならinsertする、って処理をしてるんですね。
これがアプリ起動時に最初に呼んだ時はselectの結果が0件なのでinsertが走る、
その後は何回呼び出しててもselectで件数が取れるのでinsertが走らないのですが、
アプリを再起動すると、またselectが0件になってしまうんです。
deleteとかdropとかはそもそも書いていないので、呼ばれることはありません。
eclipseのファイルエクスプローラーはdata以下が見れないので確認できてません。
この辺は調べましたが、root化しないと見れない、しかしroot化が出来ない、といった状況です。
>>795 しましたが、変わりませんでした。
もういいからDB扱ってるサンプルアプリ落としてきて一から動作確認しろよ
>>797 ソース見ないとわからんな
あとデータエクスプローラはエミュレータならdb見れるよ
エクリプスで空のDBリソースにしてくっつけてるとか delete文のテストコードが残ってるとか tryの中で何かやってるとか
2.3.4から追加されたスクリーンショットを撮る機能なんですが、アプリから撮られないように制御ってできますか? 妥協点としては、撮られても真っ暗な画像になるとか。
803 :
デフォルトの名無しさん :2011/11/16(水) 18:37:28.31
http://blog.5ive.info/archives/938 このサイトのようにxmlを読み込もうと実行したのですが、
表示されません。
main.xmlに
<ListView
android:id="@+id/ListView01"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
/>
マニフェストに
<uses-permission android:name="android.permission.INTERNET">
を追加しました。
ddmsからログをみてみると
java.net.socketexception permission denied
というworningが出ています。
どうしたらよいのでしょうか?
Androidの難しい所は非同期処理が多い所かもね
>>803 worningが出ないように直してください
ライブ壁紙のプログラムって難しいなオイ! もう2ヶ月も苦戦してんぞオイ!
>>806 そんなに難しいの?
どこがそんなに難しいのかチラッと教えておくれ
>>807 ・テキストとかボタンとか普通のパーツ使って作る普通のアプリ
・Draw系を駆使して作るゲームアプリ
・裏で常駐して動く画面には表示されないサービスアプリ
の全てを詰め合わせたような感じだよ。
Androidアプリ製作になれた人がやる分にはいいが、初心者がいきなりやるのは無謀w
>>808 なるほどな、そら初めてではちょっときつそう
設定画面作る時にタイトルバーの|三|をクリックしたら表示される方法を誰か教えてくだされ
811 :
デフォルトの名無しさん :2011/11/17(木) 00:58:57.93
admob sdk 4.3.1が動かねーどうなってんだこれ…
>>808 ネットにあるサンプルとか見ながらでも大変?
今まで結構サンプル参考にしてたらなんとかなってたからなぁ…
>>812 まったくのコピーならいけるかもしれないけど
そこから手を加えてオリジナルにするとなると結構大変
すみません、、Androidプログラミングは初めてなんですが、つまずいてしまったので教えてください。 LiniarLayoutの上にただDigitalClockを配置しただけの状態で、 LiniarLayoutの壁紙を縦用と横用で、それぞれ切り替えて表示したいプログラムを作っています。 壁紙はdrawable-mdpiとdrawable-land-mdpiに壁紙のjpgファイルを同ファイル名を配置して切り替えようとしました。 しかし画面を回転させると、縦→横はうまくいきますが、横→縦で強制終了してしまいます。 DigitalClockを配置しなければ、壁紙の切り替えには成功しています。 恐らくActivityがDestroyされているのが原因だと思いますが、どう対処するのがスマートでしょうか? 調べてみた感じだと、マニフェストのConfig changesをorientationにするとDestroyされなくなりますが、 壁紙の切り替えが、そのままの状態ではうまくいきません。(縦用の壁紙が横画面で引き延ばされた表示) このまま画面の縦・横を調べて壁紙を再設定するのがスマートでしょうか? onSaveInstanceState/onRestoreInstanceStateでインスタンスを保存する方法はうまくいきませんでした。 どなたかご教授お願い致します。
815 :
814 :2011/11/17(木) 04:09:50.35
具体的なエラーは android.view.InflateException: Binary XML file line #2: Error inflating class です。
816 :
814 :2011/11/17(木) 05:12:13.63
連投すみません。 Android2.2では意図した動作ができ、2.3.3では動かないです。 なんか仕様変更があったのでしょうか・・・
>>810 設定画面をつくりたいのか
メニューをつくりたいのか
≡を押したときの挙動を取りたいのか
どれだ
一部の端末でエラーが出ている様なんですが、原因がわからなくて困っています。 持っている実機2つとエミュではエラーは確認できませんでした。 報告されていた下記のエラーの原因として考えられることは何でしょうか? マニフェストファイルでのパッケージ名の綴りは間違っていませんでした。 例外クラス java.lang.ClassNotFoundException 例外発生メソッド PathClassLoader.findClass() java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.may.app/com.may.app.mainActivity}: java.lang.ClassNotFoundException: com.may.app.mainActivity in loader dalvik.system.PathClassLoader[/mnt/asec/com.may.app/pkg.apk] at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1581) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1675) at android.app.ActivityThread.access$1500(ActivityThread.java:121) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:943) at android.os.Handler.dispatchMessage(Handler.java:99) at android.os.Looper.loop(Looper.java:123) at android.app.ActivityThread.main(ActivityThread.java:3701) at java.lang.reflect.Method.invokeNative(Native Method) at java.lang.reflect.Method.invoke(Method.java:507) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:866) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:624) at dalvik.system.NativeStart.main(Native Method) Caused by: java.lang.ClassNotFoundException: com.may.app.mainActivity in loader dalvik.system.PathClassLoader[/mnt/asec/com.may.app/pkg.apk] at dalvik.system.PathClassLoader.findClass(PathClassLoader.java:240) at java.lang.ClassLoader.loadClass(ClassLoader.java:551) at java.lang.ClassLoader.loadClass(ClassLoader.java:511) at android.app.Instrumentation.newActivity(Instrumentation.java:1021) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1573) ... 11 more
821 :
787 :2011/11/17(木) 13:05:36.93
listViewにtextViewを入れて適当な文字を入れるとsetOnItemClickListenerでタッチが拾えていたのですが、 textViewをwebViewに変えると拾えなくなってしまいました。 webViewも適当な文字を出してるだけで、リンクを張ったりはしていないのですが、何か違うイベントで拾う必要があるのでしょうか。
>>819 >>818 ありがとう御座います。
端末をPCに繋いで、SDカードをマウントした時に強制終了した時のエラーでしょうかね。
>>ところで、なんでクラス名を小文字で始めるの?
お恥ずかしい(汗 失礼しました
823 :
デフォルトの名無しさん :2011/11/17(木) 14:39:37.95
既存のレイアウトに重ねて表示するかたちで、画面中央の左右に矢印ボタン(戻る進むボタン)を 置きたいのですが、FrameLayoutを使って重ねることはできたのですが、矢印ボタンを右寄せ左寄せで 表示することができません。どうやるのですか?
FrameLayoutの中にRelativeLayoutを入れ子にすればいいじゃん
俺はRelativeLayoutでやった。 <RelativeLayout> <既存のレイアウト /> <Button ... android:layout_alignParentLeft="true" android:layout_centerVertical="true" /> <Button ... android:layout_alignParentRight="true" android:layout_centerVertical="true" /> </RelativeLayout>
826 :
デフォルトの名無しさん :2011/11/17(木) 15:36:02.21
>>825 出来ました。
ありがとうございます。
どうでもいいことですが、layout_alignParent***がeclipseの入力補完で出てこないんですが
こういうものなのでしょうか?
RelativeLayoutって使う機会なくね?
>>825 だとRelativeLayoutじゃなくLinearLayoutを使ってもおんなじことできるし。
どうやってやるのか教えてください。
ライブ壁紙ってバッテリー食うから作っても とりあえずインスコされるけどずっとは使われなさそう 3Dアクオスだったかな デモ機でマトリックス風のライブ壁紙を見たけど あれはすごかった
ライブ壁紙は作り方によるよ 静止画の壁紙とほとんど同じ電力量で作る事もできる 明らかに重いはずの動画系ライブ壁紙なのに CPU使用率が3%しかないのとかあるよ どうやって作るのが不思議だけど
>>830 そうなの?
液晶を変化させてるわけだから
どうみてもそこで電力かかると思うんだけど
流行りで使ってる連中は使えもしないのに使ってるからなにが電池食ってるかもわかってないよ
>>830 結局はライブ壁紙って少し計算して、画像重ねてるだけだけでしょ?
だったらバッテリー使用量なんて明確に違いが分かるほど変わってこないと思うけど。
>>831 静止画も毎フレーム消して書き直してるんじゃないの?
Androidは違うのか?
どうせバッテリー問題なんてそのうち解決するぜよ
その前にandroidが存在してるかどうかだぬ
どっちかというと、ライブ壁紙が動いてるせいでLCDがつきっぱになったり 電源押してLCD消してもCPUがスリープに入らないままになってたりしてバッテリーの消費が増える
そんなもん普通のアプリでも一緒 作法の問題
Androidの存続に心配はないだろうけど、ライブ壁紙APIが唐突にobsoleteになる可能性はありまくるな
>>836 ようは使い方や作り方が悪いだけで全てのアプリでも同じことが言えるんじゃないか?
つまりライブ壁紙でバッテリー消費が早いってのは結局都市伝説みたいなもんってこった。
>>839 いや、普通の壁紙と比べたらライブ壁紙の方が消費するだろ。
ホーム画面なんてそんな長時間表示するもんでもないだろ
ホカホンHDの悪口は止めろ
質問です。 Android端末で、WEB上のテキストをコピーできないようにする方法ってありますか? Flashは使わずにCSSなどを用いて実装したいのですが。 どなたかわかる方がいらしたら、教えて頂きたいです。
ライブ壁紙だけ目くじら立ててウィジェットは気にしないのか? 必要なら使う、その分電池は消費する、それがどうしたの
>>840 当然静止画と違って裏で計算してるわけだから比べたら間違いなくライブ壁紙の方が早いのは当たり前。
そうじゃなくてライブ壁紙でユーザーが感じることができるほどにバッテリー消費が早いってのは有り得ないよねって話。
だから作り方の問題じゃないの?って言ってるんだけども。
実際どういう理由で消費するのか説明できる?
>>843 HTML5のcanvas使う
Flashより面倒だけど
>>846 ありがとうございます。ちょっと試してみます。
他に方法があったら教えて頂きたいです。
よろしくお願いします
諦めるの早すぎるだろw ここはプログラミングスレなんだからJavaScriptを見るのも嫌だというならお引き取り願うしかない
スクリーンショットはいいんだな?
>>849 私一人で制作しているわけでは無いので、周りの人間に「こりゃ無理だな」と言われてしまったので・・
プログラマーとして不甲斐ないです・・・
>>850 スクリーンショットはOKです。
端末でテキストを長くタップすると勝手にクリップボードにコピーされると思うのですが、
それをできないようにしたいのです。
canvasはHTMLの要素を描画できるよ それならほとんどコードいらない
標準ブラウザならHTML5ちょっとは使えるけど、サードパーティの ブラウザはどうなんだろ。
HTML5の状況はバラバラです IEで動くものがFirefoxで動かなかったり、Operaにあわせて作るとIEで動かなかったりが現在の状態 1つのソースコードで全ブラウザ対応はまだまだ理想状態で実現できてない
クリップボードのリスナを作って、テキストだったら空文字を上書きするとかどうよw あるいはサービスで毎秒クリップボードを空にし続ける。
どうあっても電力消費を上げたいんだなw
ハードが高速化したら、それを打ち消すくらい重いソフトを作って旧ハードからの買い換えを促進し バッテリーが増えたら、それを食い潰すソフトを作って買い換えを促進するのが俺たちの役目だ
>>855 最悪。そんなにコピーされたくないなら、そもそも表示しなきゃいい。
クライアント側で描画するならFlashだろうとcanvasだろうとどっかで生のテキストを扱う以上 必ず取る方法はある 画像送るしかないだろ
スクリプトデバッガが付いたブラウザって今あるの? あるならcanvasなんか余裕で取れるな
>>857 そうしてコケたのがWindowsVistaなんだが
>>860 デバッガなんていらない
右クリ→ソース表示でソース丸見え
右クリってなんの話さAndroidプログラミングスレで
>>842 悪口言われたくないならあれはもうベンチマーク路線に走るしかない
JNIでCのライブラリをネイティブコールするプログラムを作ろうと思うんですが、 これCPUがarm以外になっても動作するんでしょうか? あとJNIサンプルはAPIデモの中にはない・・ですよね? 今はcode searchから拾って読んでますけど。
>>864 A1. 何も考慮していなければ、当然動作しない。CPUアーキテクチャごとにJNIライブラリを収容する仕組みはあるので、すべてのCPUアーキテクチャ向けのライブラリを入れておけばいい。
ARM専用でも、v7用とそれ以前用の二種類ライブラリを収容しているアプリもある。パッケージサイズがでかくなるのが難だけどね。
A2. NDKにサンプルはあるよ。
Androidで動かすopenGLの質問はここ?それともopenGLスレ?
最新のNDKから、対象アーキテクチャ書くとこにALLと書けるようになったから APKのサイズを気にしないのならあまり制限はなくなった。 とはいえプログラム的にはエンディアンとかアラインメントとか意識しないと バイナリ互換性は維持できないんだけどな オーディオ系APIとか、波形データのエンディアンが明記されてなかったりして困る
TabActivityを使っていたものをAndroidDeveloperに書いてある通りに書き直したのですが transaction.replace(R.id.realcontent, newFragment);をしてから他のタブにうつると、newFragmentの画面が残ってしまいます。 TabManager内のデータの書きかえ等をやろうと思いましたが力不足でした。 対処法など分かる人がいましたら、教えてくれると嬉しいです。
>>816 メモリリーク起こして溢れてる可能性がある。
DigitalClockはメモリリーク起こす困ったさんだから。
(もちろん、画像の解放をしていないなら、普通に溢れてる可能性もあるけど)
>>818 最近理由もないのにそうなることがあるよね。
Eclipse再起動してビルドし直したら直ったりするんだよ。
>>868 そういうの面倒だからゲーム以外は早くrendermonkeyにしたい。
なんで俺rendermonkeyって書いたんだ。renderscriptだぜ。
AlarmManagerが停止できない。 ウィジェットのserviseが動かなくなる対策として、 アラーム投げてAppWidgetProviderのonReceiveでonUpdateの処理をさせればいいと聞いて実装。 するとウィジェットを消してもアラームが動きっぱなしに。 onDisabledでcancelを呼んで停止させようとしても止まってくれない。 停止させるいい手はないでしょうか。
874 :
873 :2011/11/18(金) 13:52:42.07
optionsmenuなんですけど XMLでサブメニュー?ネストした奴は出来るんですけど、 XML使わずmenu.add()で追加したいときはどうやればネストできるんですか?
あれリファレンスにaddSubMenu()が。 すいませんでした。
JDKをバージョンアップしたらeclipsに何か影響ある? 6から7にしようと思うんだが
特別な理由でもない限り上げないほうがいいことを俺は学習した
7はバグ入りだろ。修正されるまで待たないと
7はOracleがJavaを滅ぼすためにリリースしたとしか思えん
Java 7でユニコードのバージョンが変わる とか、互換性確保的には嬉しくない変更があるなあ
こんなにレスが返ってくるとはw バージョンアップは見合わせますw
884 :
874 :2011/11/18(金) 16:40:13.78
自己解決しました。 PendingIntentにセットするIntent.setactionに不備があった。 落とす時は必要ないと思ってたよ...
7使ってるがu2のDeveloper Previewはそうそう落ちない。 それ未満はやめといたほうがいい。
FrameLayoutにViewが入ってるか入ってないかを判定してbooleanで返していただけるメソッドはある? excite翻訳片手にandroid developersを見回って、それっぽいメソッドがあったらテスト的なアプリ作って試してるんだけど、できない〜 ;;
onCreateDialogで、OKボタンしかないダイアログを作った場合 onPrepareDialogで、キャンセルボタンを追加してボタン2個にすることは不可能ですか?
>>888 おおお〜ありがとうございます!
自前でboolean変数用意して何とかしてたけどこれのおかげで、よりスッキリなソースになりますた。ホントにアリガタウ。
>>866-868 なるほど、ありがとう。
コンパイルのとことかにarmがどうとか書いてなくて、「すげぇ、AndroidのCコンパイルははCPUの差を吸収出来るのか!?」とか寝言を思ってた。
EULAを付けたいんだけど、どこにどう書けば良いのか解らない。 参考になるサイトがあれば教えてください。
よくわからんのなら「ライセンスフリー」 これだけかいておけばいい
893 :
デフォルトの名無しさん :2011/11/18(金) 23:19:55.60
ステータスバーの上に描画するにはどうしたらいいですか? serviceでWidowManager取得してaddViewしたけどダメだった(_typeはTYPE_SYSTEM_OVERLAY)
sage忘れました
質問させてください。
ListViewでクリック(タップ)した時、
カーソルでの選択と同じようにハイライト表示を維持し、
かつTextViewをMarqueeでスクロールさせたく
以下にアップロードしたようなコードを書きました。
ttp://www1.axfc.net/uploader/Sc/so/293428 (プロジェクトごと)
が、どうもテキストに全角文字があると
タップでハイライトしたときMarqueeの動作が
したりしなかったりです(前に選択していたアイテムに因る?)。
カーソルで選択すると普通にMarqueeでスクロールします。
また、テキストが全て半角の時も問題ないようです。
どこが間違えているのかご教示いただけないでしょうか?
896 :
895 :2011/11/18(金) 23:44:38.67
処理概略ですが、 @ArrayAdapterを継承したクラス ACheckedTextViewを継承したクラス を用意。 @のgetView内でpositionとgetCheckedItemPositionを比較し 選択されているアイテムに対しsetChecked。 AではisFocusに対してisCheckedを返して、 チェックされていればフォーカスがあるように見せる。 これでMarqueeされるはず…。 という意図です。
897 :
816 :2011/11/19(土) 00:23:24.88
>>870 アドバイスありがとうございます。
そういった情報はググってもでてこなかったので助かります。
3.0以降対象アプリで 日付用EditTextがClickされたら DatePickerでSpinnerとカレンダーを表示させたいんですが、Theme.LIGHTをテーマとして指定していると カレンダーが表示されません。 datePicker.setCalendarViewShwnに trueをセットしてもカレンダー表示されませんでした。 Theme.LIGHTが原因だと思うのですが、 テーマを変えない or Theme.LIGHTを親とした独自テーマでカレンダーを表示させるようにするにはどうしたらいいでしょうか?
端末の時刻を設定するアプリをつくろうと思ったんだけど SystemClock.setCurrentTimeMillis(); とかでできるのかなーと思ったんだが うまく動作しない。 どうすればいいのだろうか
>>899 Linuxで時計を設定するのと同じ権限が必要
つまり要root
>>893 むり。
フルスクリーンか、通知か。
rootとれば、できんだろうけど。
android のwindowまわりについて解説した記事とかないかな? photowindowとか色々あるんだっけ。
androidってlinuxの上にあるの?
なんか新しい同意書に同意してくださいってのが来てたな
>>892 黒いDってかいてある表紙の、デザインとプログラムの両方を広く浅くあつかったandroidの本に浅く書いてあったよ
タイトルは覚えていない
>>903 その上にダルビッシュっていうのが乗っかってる
ボタンを押す度にテーブルを削除して作り直す機能を実装したいのですが、 onUpgradeでいちいちバージョンが1→2になったら、2→3になったら…って処理を 書いていかなければならないのでしょうか?
ビックルでいいよもう
初心者です。クロノメーターを使用して、タイマーのスタート・ストップをする簡単なプログラムをつくろうとしています。 いくつかのサイトを参考につくったのですが、いくら調べても以下の3つのエラーが解決できません。 1.ViewからChronometerへキャストすることはできません 2.メソッドstart()は型Chronometerで未定義です 3.メソッドstop()は型Chronometerで未定義です インポートにandroid.widget.Chronometerがないのが原因と考えましたが、それを記述しても未使用のインポートとしてエラーになってしまいます。 簡単なプログラムだと思いますが、なにが原因が教えて頂ければ助かります。
そうですか、初心者ですか。
マスターヨーダにしとけ
>>901 レスありがとうございます
SwipePadの設定画面で描画できていたのでもう少し調べてみます
Eclipseのお節介機能で自前のChronometerが出来てるんだろ
>>915 他のプログラムでも、定義されているはずのメソッドが使用できず、かれこれ6時間ほど試行錯誤しているのですが未だ解決できません。
解決に繋がるキーワードだけでもいいので教えていただけないでしょうか?
よくわからんがそのクロノメーターってのはほんとにあるの? sdkのバージョンによってあったりなかったりしてんじゃないの?
>>915 ありえそう
なら話は簡単だ
全import文削除してから
CTRL+shift+oすればいい
>>918 ありがとうございます。ですが解決しませんでした・・・。
根本から間違っているようなので基礎の基礎からじっくり調べて解決したいと思います。
スタティックな変数を持つクラスがあって、 それをActivityやServiceから読み込んでるんですが、 Activityからそのスタティック変数のBooleanをtrueにセットするとActivityが生きている間は意図したとおりServiceからも利用できるんですが Activityが死んだあとService側でこの変数を参照するとfalseになるんです。 どうしたら良いか全くわからないんですがこういうものなんですか?
Android で eml 形式のファイルを扱う際、JavaMail 以外でなにか簡単な方法ってありますか? メールの送受信などはするつもりがなく、eml を読みたいだけなのですが、 ヘッダーやmultipartの解析、Base64のデコード等を、自前で実装するのは面倒だなぁと・・・。
実機でデバックしているのですが、画像リソースを違う画像に置き換えても、置き換える前の画像が表示されてしまいます。 どう対処したら良いのでしょうか?
アンインストールして入れなおせばいい
>>923 なるほと、ありがとうございます。
より効率的な方法は無いのでしょうか?
裸眼3d液晶用アプリを作りたいためだけに実機買いたいのですが、 中古で買ってSim無しで部屋の無線lanでネットにつながるでしょうか
926 :
デフォルトの名無しさん :2011/11/19(土) 20:21:55.70
つながる
AppWidgetの更新についてですが AppWidgetManager.updateAppWidget を onUpdate内からint[] appWidgetIdsを使用して全てに対してやるのと、 new ComponentName で取得したIDで1回だけやるのと、サイトや参考書によって書いてあることが二種類ありますがどちらがいいのでしょうか。 試しても見たのですが、 前者ではint[] appWidgetIdsが使えないのでonUpdate内の外(ServiceやActivity)からウィジェットの更新ができず、 後者ではウィジェットを複数配置したときに問題が起きるということで困ってます。
>>926 まじすか
youtubeの3d動画は見れるんだ\(^o^)/
今まで通り普通にボタンを取得させようと findViewByIdとか書いてたら R.id.〜 の〜が解決できないかフィールドじゃないとか言われるのだがこれなんなの… 昔作ったプロジェクトとまんま同じにしても駄目って言われる
>>914 ダメ、がどうダメなのかわからんけど
エラーで動作しないってのなら
SYSTEM_ALERT_WINDOWのパーミッションがないとか。
ステータスバーの高さが取得できない、ってのなら
dpiに応じて、決め打ちしてるサンプルは良く見るけど
他にも方法があるかも。
>>930 1.プロジェクトのgenディレクトリを削除
2.プロジェクトをクリーンビルド
3.eclipse -cleanでEclipseを起動しなおす。
1-3の順番で実行すると、どこかで直ると思う。
>>932 アドヴァイスありがとうございます
消そうと思ってGeを見て気付いたんだけど
R.javaが生成されていない…
クリーンやビルドを繰り返しても生成されないですね。
マニフェストやContentViewにセットしているXMLを見ても
特におかしな事もやっていないようです
ぐぐったら、ワークスペースを変えると解決したというものもありますね
とりあえず一旦再起動して最初からやり直してみたりしますかな…
>>934 遅くなりました
クリーンじゃ何度やっても変化有りませんでしたね
再起動しても駄目だしたが
新規やり直してから、先程作成していたファイルを全てコピーしたら
無事通ってくれました…
R.javaが何故か生成されない時はやり直せば良いみたいですね
原因は全く分からないけど…
すみません。どなたか教えてください。 MapViewで画面に地図を表示して、画面をロングタッチして、そのタッチした 位置を取得したいのですが、OnLongClickListenerを実装してonLongClick() メソッドで取得をしようと思って開発していますが、どうしてもうまく行きません。 MapViewでは、このやり方ではダメなのでしょうか? OnGestureListenerを 実装する方法もあるみたいですが、よく分かりません。
以前、こちらでウィジェットのレイアウトをアニメーションさせる 方法をご回答頂いた者です。 当時、まるごとWidgetを作り直せば良い、とアドバイス頂きましたが 色々と試していますが、まだ出来ません。 RemoteViewsに対し、removeAllViews→addViewすれば良いのでは という結論に至っておりますが、誤っていますでしょうか それともAppWidgetProviderそのものを再生成する方法でしょうか ご教授お願いします
938 :
デフォルトの名無しさん :2011/11/20(日) 00:22:31.51
フラグメント使ったアプリを初めて書いてるのですが、フラグメントからダイアログを表示させるにはどうすればいいですか? ListFragmentのアイテムが長押しされたときにダイアログを出したいのですが。 onCreateDialog()やshowDialog()が無いので・・・
画像を使ったアプリを開発中なのですが SDから読み込んだ画像をリサイズして画面に表示する処理で サイズの大きな画像を読み込むと java.lang.OutOfMemoryError: bitmap size exceeds VM budget が発生してしまいました。 そこでBitmapFactory.decodeFileのオプションで opt.inSampleSize = 2; とすることで読み込みは解決したのですが 上記のオプションだとドット絵のような小さな画像を読み込んだ時に画像のドットが1行とばしでしか表示されません。 そこでさらにtry-catchでサイズの大きな画像を読み込んだエラーが発生した時だけオプションを有効にしようとしたのですが エラーがcatchされませんでした。 このような場合に有効な手法がありましたらご教示ください。
>>931 ダメ、というのは
>serviceでWidowManager取得してaddView
してもステータスバー以外の領域にしか描画出来なかった、という意味です
高さをfill_parentにしても、yにマイナスを指定してもステータスバーの上には描画出来ませんでした
>>936 MapViewまわりは、動きがいやらしかった記憶がある。
前にやったときは
onTouchEvent()でGestureDetector#onTouchEvent()に処理を移譲する
Overlayを作って対応した。
android MapVew Overlay GestureDetectorでググるとサンプルがあると思う。
>>938 DialogFragmentの継承クラスを作ってshow、ではダメ?
ここで聞くのが適切かどうかわからないですがAndroidプログラミング(アプリ制作?)ということでよろしくお願いします。
Flash BuilderでAndroidアプリ制作されてる方いらっしゃいますか?
Flash Builderの一つの機能にAndroid(及びiOS)アプリが比較的インタラクティブに制作できるようです。
(後はASなどを利用して)
http://www.atmarkit.co.jp/fsmart/articles/fb4_5_android/01.html 当方Flashの知識はゼロではないのでこちらの方が比較的入りやすいのですが
AndroidのモバイルFlashの開発終了するようですし、それを踏まえた場合
やはりFlash Builderでアプリ制作の勉強するより素直にAndroidSDKをゼロから
勉強する方がいいでしょうか?
長文になってしまいましたがよろしくお願いします。
デモレベルの少し弄ったくらいしか経験無いが Air for Androidは今のところ個人ページの情報が少なすぎる印象があるなぁ あと、Flex・AS3結構やってたなら入りやすいだろうけど FlashやっててもAS3とか全然な人結構いるから何とも言えんな
>>942 その場合ダイアログから結果を受け取るにはどうすれば・・・
ググったらsetTargetFragmentを使うとかありましたが、どう使うのかよく分かりません・・・
DialogFragmentの使い方を解説してるサイトとかないでしょうか?
ダイアログをモーダルで表示できないぞこんちきしょう ファイル選択とかいちいち画面作らにゃならんのか ばーか!ばーか!
947 :
393 :2011/11/20(日) 03:13:59.49
>>393 です
自己解決しました。
一度画像を
opt.inSampleSize = 2;
で読み込んでからサイズを確認して小さな画像であればオプションを無効化して再読み込みで解決しました
2度読み込んだら重くなるかと思いましたが影響が無くよかったです。
>>945 >その場合ダイアログから結果を受け取るにはどうすれば・・・
1.元Fragmentの内部クラスとしてDialogFragmentを作る。
内部クラスだったら、簡単に結果を渡せるよね?
2.適当なCallbackインタフェースを定義して、元Fragmentにimplementsする。
DialogFragmentに、元FragmentをsetTargetFragmentで渡す。
Dialog側では、getTargetFragmentで元Fragmentを取り出して、Callbackメソッドで結果を渡す。
とかじゃないかなぁ。
>DialogFragmentの使い方を解説してるサイトとかないでしょうか?
setTargetFragmentの例は、ApiDemoにある(Callbackは使ってないけど)。
もっと凝ったサンプルを見るのなら
Google Codeあたりで、lang:java "extends DialogFragment"とか見れると思う。
>>940 LayoutParamsのflagsにFLAG_LAYOUT_IN_SCREENを使ったら
ステータスバー塗り潰せたけど。
外してたらごめん。
setIDメソッドで識別子を0,1,2と順番に設定したFrameLayout3つを生成して、 あるボタンをクリックすると、指定されたIDを持つFrameLayoutに、TextViewなりLinearLayoutなりをaddViewしたいのだけど、なかなかできない〜 ;; FrameLayoutにID付けても意味ないのん・・・?
Androidマーケット、また48時間キャンセルに戻ったの?
953 :
936 :2011/11/20(日) 06:43:53.22
>>941 わざわざのご回答、ありがとうございます。
ようやく、良いサンプルコードを見つける事ができ、
OnGestureListenerを実装して、onLongPress()メソッドにて
イベントの取得に成功しました。ここまでたどり着くのに
かなりの時間を費やしてしまいました。
本当にありがとうございました。
>>946 最近ダイアログにリスト表示してファイル選択ダイアログ作りますたお
>>939 Throwableでcatchできるけどな。あとdecodeされたbitmapがnullかどうかもcheckして適当にthrowしておけよ
>>938 onCreateDialogを使うのは必須ではない。
UIスレッドから
new AlertDialog.Builder(getActivity())
.setMessage("hoge")
.show();
とか書いてみ。
>>947 デコードせずにサイズだけ調べる方法があるから、それ使えばいいんじゃないの
>>950 おまえのコードに原因があると思うので、コード晒せ。
>>946 テキトーなレイアウトをinflateして、ダイアログの中身に設定できる。
aapt.exe は動作を停止しました と言われてapkを出力できないんだが、 そんなこと言われてもどうしようもないっちゅうねん。
それを読まされる俺らもどうしようも無いわな。
>>956 まず試すべきなのはeclipse のclean 起動と、プロジェクトのクリーンとリフレッシュかな。
それでだめなら、SDK同梱のproguardのバージョンを上げる。古いSDKに入ってるproguardではdalvikがエラーを吐く場合がある。
どれも詳細はぐぐって調べて
どうしてもわからなくて、お知恵を拝借したいのですが Winampなどで音楽を再生しているときに電話すると、音楽再生が停止しますが、 これはBroadcastで暗黙的なインテントを投げていると考えてよろしいのでしょうか? Intent Intent = new Intent("com.android.music.musicservicecommand"); Intent.setAction("com.android.music.musicservicecommand"); Intent.putExtra("command", "pause"); sendBroadcast(Intent); これで最初からインストールされていたプレイヤは音楽を停止するのですが、Winampでは 停止されません これ以外の"togglepause"などの命令にいたっては、両プレイヤとも無視されます テスト用にBroadcastReceiverを作って、電話をかけても"com.android.music.musicservicecommand" では拾えなかったので、もっと汎用的な別のアクションがあるようなのですが、どなたかご存知ない でしょうか または、intent-filter に*を設定するような方法はございますでしょうか
aapt使ってwinampのapkからmanifestの内容読み取って、受け取る ブロードキャスト調べたら?
何をしたいかしだいじゃないの? WinAmpを止めたいのか、自分のアプリが着信時に止まりたいのか
962 :
959 :2011/11/20(日) 14:19:07.63
>>961 自分のアプリからサービスとして動いているwinampなどの音楽停止、再生を
行いたいと考えています
>>960 ありがとうございます
aaptの使い方から調べないといけませんが、結果がわかったらまた書き込みます
用事が出来たので遅くなるかもしれませんが
963 :
950 :2011/11/20(日) 14:32:49.83
>>955 クリック処理の部分でいいのかな?
@Override
public void onClick(View v) {
if(v.getId() == 0) {
frameLayout.removeAllViews();
frameLayout.addView(tableLayout, 0);
} else if(v.getId() == 1) {
frameLayout.removeAllViews();
frameLayout.addView(tableLayout, 1);
} else if(v.getId() == 2) {
frameLayout.removeAllViews();
frameLayout.addView(tableLayout, 2);
}
}
着信受けたときにコールバックを受け取れるリスナーあるからそれ使ってるんじゃないの? はっきり言って他のアプリがどのように動作するかはそのアプリ次第だし 他のアプリから勝手に再生止められるのも困ったもんだと思うけどね
>>947 一応補足しとくと
injustdecodebounds を指定しとくと
画像を読まず、サイズ等の情報だけをとってこれる。
普通は一度これを指定してサイズとかを確認してからsampleサイズを指定して取る
>>920 なんですがどなたか助言いただけませんでしょうか。
>>966 サービスはずっと動いてるわけじゃなくて
止められてしばらくしたら再起動されてることがある
対処法は自分も知りたい
そのときにクリアされてるんじゃね?
>>966 >スタティックな変数を持つクラスがあって、
>それをActivityやServiceから読み込んでるんですが、
SharedPreferences使う、ってのじゃダメなの?
なるほどありがとうございます。 素直にpreferenceに保存することにします。
普通に起動してある状態で作ったウィジェットを追加すると正常に読み込めるんだけども 再起動とかするとAppWidgetがANRになってしまうー AsyncTask使えばいいと書いてあったからウィジェットのデータ読み込みは AsyncTaskでやってるはずなんだけどAsyncTaskの読み込みが終わるまで待機した方がいいのかね? ちなみにそれってどうやれば。。。
フォースだ、、、、フォースを使うのだ、、、、
普通に起動が、普通に勃起に ANRが、アナ○に フォースだ、がフォーに 見えた…もうだめだ…
974 :
956 :2011/11/20(日) 20:48:51.60
>>957 ですよねー。
>>958 それもやったんだが改善せず、最終的にeclipseとAndroidSDKを1から入れなおしてもみたが同じ状況…。
プロジェクトに問題あるのかとも思って別のプロジェクトでも試したけどダメだった。
ググってもaapt.exeが停止するって話は一つもないし、一体何が起きているんです!
queryメソッドで、カラム2の文字列の先頭があ行のものを検索し取り出したいのですができません。 String where = COLUMN_2 + " like 'あ%' OR "+COLUMN_2+" like 'い%'"; 上のwhere条件で先頭文字が"あ"と"い"のものは取り出せました。 しかし、ORは3つ以上の比較には使えず、for文を使うようなのですがどうしても分かりません。 教えて頂けないでしょうか?
977 :
956 :2011/11/20(日) 21:11:51.70
>>976 完全にそれだわ。
ビルド出力のオプションを詳細に変更すると
コンソールにProGuardのログが出るという情報を見かけたので変更してた。
本当にありがとう。
978 :
デフォルトの名無しさん :2011/11/20(日) 21:23:25.92
>>975 ひらがなだけならORDERBYで昇順にすればいいだろ
>ORは3つ以上の比較には使えず AndroidのDBってMySQLだっけ? こんな制限あるの?
>>949 ありがとうございます!
所望の動作になりました
981 :
デフォルトの名無しさん :2011/11/20(日) 23:58:49.03
どうしたらプログラミングってうまくなりますか?
食べ過ぎない。 三食バランスの良いもん食う。朝食重要 適度な運動をする。 夜ふかししない。
983 :
975 :2011/11/21(月) 00:25:03.20
>>978 >>979 すみません、出来ました。
ORは何個使っても大丈夫で、スペースの書き忘れでした。
984 :
971 :2011/11/21(月) 00:44:29.09
ウィジェットでマジ苦しんでるのだが。。。 処理はAsyncTask側でやってるはずなのになんでANRになるのかね
非同期でやるからだろ。タスクが終わるまでUIスレッド待て。
∧,,∧ ⊂(´・ω・`)つ- /// /_/:::::/ で、まだかね? |:::|/⊂ヽノ|:::| /」 / ̄ ̄旦 ̄ ̄ ̄/| /______/ | | | |-----------| |
「非同期処理」と言って「開始したら後は投げっぱなしでOK」って思う人がいるけど、 投げた後に コンポーネントのライフサイクルが終わったらプロセスごとkillされてもおかしくないのがAndroid。 投げた側のライフサイクルを理解した上で、そのライフサイクルからはみ出さない範囲でのみ非同期処理が成立する。 つまり、本格的にバックグラウンドで処理したかったらServiceを書くしかない
Androidプログラムって一難去ったと思ったらまた一難だよな・・・ よっしゃー!完成!と思ってデバック用コードはずして試したら落ちまくり 泣けてくる さて・・・またデバックの旅にいきますよ・・・・
あれ、なんか1.5から1.6にしたりしてたらopenGLで落ちるようになっちゃった…(´・ω・`) Illegal argument exception?
>>988 デバッグコードに実装コードが含まれてるんだろ。
Androidは関係ない。自分の腕次第。
ただ動くものを作るなら、コード量が増えるとバグの入り込む確率が高くなるので
インタフェース(データ構造)設計と実装(メソッドの中身)を別々に考えるんだ。
0.何がやりたいか仕様を検討する
1.インタフェースだけでまずはアプリの動作をイメージする(どういうふうにプログラムしたいかを考える)
2.上手くいきそうなら実装する
3.テストする
の繰り返し。2,3で問題が発生したらインタフェースを再検討。
バグが多いのはインタフェース設計がしっかりしてないから。
APIライブラリ見てみ。うまくプログラムを切り分けて、個々のクラスで仕事を分担してるから、
ある意味シンプルでコードを追っかけやすい。
みなさんデバッグコード外すのどうやってるの? if文でやってるの?
非jniなら、Log.〜 jniなら、_android_〜
バージョン管理ツールでコミットする時に削除。
プリプロセッサ
998 :
996 :2011/11/21(月) 14:28:16.43
>>997 すいません
今出先でして、次スレで改めて質問させて下さい
AlignmentじゃなくてGravityでやればいいよ
1000
1001 :
1001 :
Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。