トップページ⇒tech
1001コメント338KB

Androidプログラミング質問スレ Part8

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん2011/05/08(日) 10:59:20.36
このスレではAndroidSDK・NDKやAndroidマーケットに関する質問を扱ってます。

※プログラミング自体が初めて!なあなたには↓↓↓こちらへ
【超初心者】プログラミング質問スレ【基礎】part5
http://hibari.2ch.net/test/read.cgi/tech/1303105502/
Eclipse統合M31【Java/C++/Ruby/Python/Perl】
http://hibari.2ch.net/test/read.cgi/tech/1295886572/
★★Java質問・相談スレッド144★★
http://hibari.2ch.net/test/read.cgi/tech/1300950228/

****前スレ****
Androidプログラミング初心者質問スレ Part7
http://hibari.2ch.net/test/read.cgi/tech/1301733957/
Androidプログラミング初心者質問スレ Part6
http://hibari.2ch.net/test/read.cgi/tech/1298128401/
Androidプログラミング初心者質問スレ Part5
http://hibari.2ch.net/test/read.cgi/tech/1294136149/
Androidプログラミング初心者質問スレ Part4
http://hibari.2ch.net/test/read.cgi/tech/1290152001/
Androidプログラミング初心者質問スレ Part3
http://hibari.2ch.net/test/read.cgi/tech/1286357268/
Androidプログラミング初心者質問スレ Pert2
http://hibari.2ch.net/test/read.cgi/tech/1282716370/
Androidプログラミング初心者質問スレ
http://hibari.2ch.net/test/read.cgi/tech/1278560954/

****関連リンク****
■ Android developers http://developer.android.com/index.html
■ ソフトウェア技術ドキュメントを勝手に翻訳 https://sites.google.com/a/techdoctranslator.com/jp/
0153デフォルトの名無しさん2011/05/13(金) 17:26:42.03
変な縛りだな
0154デフォルトの名無しさん2011/05/13(金) 17:29:42.00
機種毎に用意しなくてはならないのでしょうか?

Android Marketで機種毎にダウンロードさせるさせないが出来るようになった件。
http://www.taosoftware.co.jp/blog/2011/05/android_market_16.html
0155デフォルトの名無しさん2011/05/13(金) 17:31:23.16
まあ、増え続ける機種に個別対応が必要なことがそもそもナンセンスだもんなぁ
IE的な変な仕様の端末は淘汰されろって事では
0156デフォルトの名無しさん2011/05/13(金) 17:40:09.66
>>154
いやそれ、フィルタ条件は「機種ごと」じゃないからね?

>>152
いや100MBってjavaのプロセス単位のヒープリミットに収まらないから。
まあサイズを別にすると似たような問題を抱えたことはあるな。
そのときは結局ContentProviderを書くのが最善だった。
rootedされたらどうにもならないのはもう仕方がない
0157デフォルトの名無しさん2011/05/13(金) 22:58:37.64
画面の縦横が切り替わる時に、iphoneみたいにクルンっていうアニメーションをつけるには、どうすればよいですか?
0158デフォルトの名無しさん2011/05/13(金) 23:39:01.29
Honeycomb使えばいいんじゃないかな
0159デフォルトの名無しさん2011/05/13(金) 23:57:11.58
>>157
ギャラクシーで出来てたよ
見てみたら?
0160デフォルトの名無しさん2011/05/14(土) 01:08:18.79
この板UTFじゃ無いよね

テスト↓
아호
0161デフォルトの名無しさん2011/05/14(土) 01:10:33.79
使えるのか

카무사하무니다
它与你好哦你
死哦此誒四
0162デフォルトの名無しさん2011/05/14(土) 01:35:41.54
巣に帰ってください><
0163デフォルトの名無しさん2011/05/14(土) 04:46:05.50
間違ったハングルだけどね
0164デフォルトの名無しさん2011/05/14(土) 09:34:18.23
トライハングラー
0165デフォルトの名無しさん2011/05/14(土) 10:59:46.67
Galaxy tab SC-01CにはCM3607近接センサとAK8973温度センサが搭載されていると
APIは返すのだが、イベントが上がってこない。ダミーなんだろうか?
0166デフォルトの名無しさん2011/05/14(土) 12:19:01.27
>>165
そもそもrootじゃないとダメだったり適当な数字だったりする
近接ってのは通話時にタッチパネルをオフにするために搭載されてる
0167デフォルトの名無しさん2011/05/14(土) 12:37:15.84
http://groups.google.com/group/android-group-japan/browse_thread/thread/80d1277db7554e94/d90172ecf3ba2809?show_docid=d90172ecf3ba2809&pli=1

[email protected]
0168デフォルトの名無しさん2011/05/14(土) 13:19:49.33
あちゃーん!
0169デフォルトの名無しさん2011/05/14(土) 13:21:22.79
>>167みたいに粘着してる人きもい
0170デフォルトの名無しさん2011/05/14(土) 13:31:52.20
>>166

ああrootですか。

ありがとうございます。

ググってみます
0171 忍法帖【Lv=22,xxxPT】 2011/05/14(土) 14:33:45.04
>>167
川島崇
http://groups.google.com/group/android-group-japan/browse_thread/thread/66f06e50c0fa1b40/db2542e388321c51?lnk=gst&q=#db2542e388321c51
0172デフォルトの名無しさん2011/05/14(土) 21:55:37.38
Androidとは直接関係ないんだけど、
SQLiteのDBに日付を格納する場合、
後で日付の比較処理をしたい場合は
どの型で格納しておくのが効率いいのだろう?
0173デフォルトの名無しさん2011/05/14(土) 21:57:32.21
俺はlongにした
System.currentTimeMillisの形式そのまま
0174デフォルトの名無しさん2011/05/14(土) 22:23:42.82
>>173
後でDateとかCalendarのコンストラクタに渡せるから
その方が効率的かも。ありがとう。
0175デフォルトの名無しさん2011/05/15(日) 01:11:46.17
しつもんでふ
SurfaceViewを継承してスッドレ実装したクラスをメインActivity内のonCreate()で
イスタンス生成⇒setContentView()してるんですが、
getHolder().lockCanvas()でCanvasが取得できるようになるまで時間がかかりANRが発生してしまいます

何かよい対応方法はないでしょうか?
0176デフォルトの名無しさん2011/05/15(日) 02:07:49.12
TextViewにて、表示文字列内の指定文字列の背景だけ色をつけて、ハイライト
表示のような処理をしたいのですが、方法が考えつきません.

TextViewを色つきとなしに分ければ、
改行の見た目は悪くなりますが、実現はできそうな気がしてます.
できれば、1つTextViewで解決したいです.
0177デフォルトの名無しさん2011/05/15(日) 07:50:32.48
ディベロッパーのアカウントを複数とったりしてる人いる?
0178デフォルトの名無しさん2011/05/15(日) 10:31:54.68
>>176
WebViewでローカルコンテンツをロードでいかがでしょうか?
0179デフォルトの名無しさん2011/05/15(日) 11:30:24.72
>>177
分ける意図が分からん。
0180デフォルトの名無しさん2011/05/15(日) 12:01:18.24
>>175
どこでgetHolder().lockCanvas()やってる?
まさかonCreateでやったりしてないよね?

>>176
文字装飾できるぞ
お手軽にやるならHTMLで装飾して
Html.fromHtmlでSpannedに変換
0181デフォルトの名無しさん2011/05/15(日) 12:35:30.92
>>179
同じ作者とみられたくない場合とかじゃね
例えばお色気系とかおふざけ系とかとまじめなアプリ系が同じ作者と思われたくない場合もとあるかと

ぽぽぽーん系作った人はみな新しく作ったと思うけどw
著作権的にグレーだし

0182デフォルトの名無しさん2011/05/15(日) 13:42:20.72
>>176
2つにするしかないが、並べずに重ねればこうなる
[A]+[ B]→[AB]
ハイライト部分の文字列取る必要が出てくるなら2つにするのが正解
01831762011/05/15(日) 14:02:40.99
解答ありがとうございます.

そうですね、TextViewはhtml対応してました!

ありがとうございます.試してみます!
0184デフォルトの名無しさん2011/05/15(日) 14:03:12.69
>>182
二つにする必要なんて無い
TextView標準の機能で一部文字に色つけたり背景色変えたり出来る
この辺見ろ
http://d.hatena.ne.jp/androidprogram/20100516/1274028591
0185デフォルトの名無しさん2011/05/15(日) 14:16:53.73
>>183
↑のサイト見てたらそのものずばりのがあったよ
ttp://d.hatena.ne.jp/androidprogram/touch/20100530/1275168217
0186デフォルトの名無しさん2011/05/15(日) 14:24:26.45
以前書いた者ですが、AlertDialogのonClickListener中にさらにAlertDialogを出したくて困っています。
API側で落ちるのですが、内容が「The specifield child already has a parent.
You must call removeView() on The child's parent first.」となっています。
removeViewで最初のダイアログを消せ?って言ってると思って調べたのですが、やり方がわからなくて困っています。

ソースは、レイアウトは用意しておらず、処理中でAlertDialog.Builderをnewしてプロパティをセットして使っています。

どなたかご教授願います。
0187デフォルトの名無しさん2011/05/15(日) 15:40:08.33
>>182
分けて登録するなら、都度$25払うんだよね?
勿体無いと思うのは、貧乏性なんだろな。
0188デフォルトの名無しさん2011/05/15(日) 17:19:56.07
そこそこヒットすれば広告つけてればペイできるでしょ
0189デフォルトの名無しさん2011/05/15(日) 17:37:58.36
画像を表示する方法で困っています。
通常は、setImageResource(R.drawable.sample1) やsetImageResource(R.drawable.sample2)、 というように指定するのだと思うのですが、
sample1やsample2などのファイル名をStringの変数として持っておいて、変数の中身によって違う画像が表示されるようにしたいのです。
しかしsetImageResource()の引数はint型なので、Stringを入れることが出来ません。
どうにかしてStringで表示画像を指定する方法はありませんか?
0190デフォルトの名無しさん2011/05/15(日) 17:44:02.06
>>189
無理
しょうがないからswitchで、、これも無理
0191デフォルトの名無しさん2011/05/15(日) 17:49:35.00
こういう釣り流行ってるの?
0192デフォルトの名無しさん2011/05/15(日) 18:16:07.68
>>189
画像を配列にぶちこんで、配列のキー(int)で指定すればどうよ
01931892011/05/15(日) 18:54:36.34
>>190,192
ありがとうございます。

すみません、自己解決しました。
getResources().getIdentifier(画像ファイル名, "drawable",getPackageName());
でint値を取ってこれましたので解決しました。
0194デフォルトの名無しさん2011/05/15(日) 19:11:37.93
リソースから作成したBitmapの一部のみdrawBitmap()する処理を作っているんですが
実際の画像の幅/高さとgetWidth()/getHeigth()した値が食い違っていて
表示する部分がずれてしまいます。

原因になりそうな事って何かありますか?
0195 忍法帖【Lv=1,xxxP】 2011/05/15(日) 20:32:08.79
>>167

ついに沈黙を保ったのであった。

彼の単位は成仏したのか?

でも日曜日の正午に締め切りって何事なんだか。
0196 忍法帖【Lv=23,xxxPT】 2011/05/15(日) 21:27:22.84
つか学生じゃなくて、プレゼンのためのモックだかサンプルを「できますよ」
って引き受けてしまったアマグラマと思うのだが。
0197デフォルトの名無しさん2011/05/15(日) 21:30:20.65
まあ化けの皮剥がれたほうが本人のためだよね
0198デフォルトの名無しさん2011/05/15(日) 23:40:13.99
明日までにコード書いて送って来いとか何様なんだろうな
最も俺には1日じゃこの課題のアプリ作れないけどね・・
0199 忍法帖【Lv=23,xxxPT】 2011/05/16(月) 01:05:23.16
1.google mapsのAPI使って現在地から住所に変換?それとも都道府県エリアデータ持つ?
2.無問題
3.座標系変換マンドクセ。でもパクればすぐ。
4.地図だけなら簡単
5.どっからデータ持ってくるんだゴルァ
6.題材としては面白そうだけど可能なの?

「近場カフェ」作った人ならすぐだな。自分は無理だけど。
自分が頼まれたら5のデータはどっかに用意されてる事、
6は発信確認ダイアログにして、2人日でプロトコードだけ、みたいな。
0200デフォルトの名無しさん2011/05/16(月) 01:11:50.03
>>199
>>6
番号指定して電話を起動するIntentがあったはず
0201 忍法帖【Lv=23,xxxPT】 2011/05/16(月) 01:15:11.72
あ、Location.distanceBetweenとかLocation.distanceToなんてあるの知らなかった
勉強用につくってみるかな。
0202 忍法帖【Lv=23,xxxPT】 2011/05/16(月) 01:17:59.46
>>200
ACTION_DIAL だね。勉強になるな〜。
0203デフォルトの名無しさん2011/05/16(月) 02:18:05.00
画面が今点灯しているか否かを取得する方法ありますか?
0204デフォルトの名無しさん2011/05/16(月) 02:22:00.60
すいません。よく調べたらPowerManager#isScreenOn()で
取得出来るようです。
0205デフォルトの名無しさん2011/05/16(月) 06:06:24.41
ServiceでTimerTask使って定期処理したいんですが、電源ボタン等で
スリープ状態になると止まってしまいます。スリープ状態にでも動き続けるにはどうすればよいですか?
0206デフォルトの名無しさん2011/05/16(月) 08:35:27.74
>>205
AlarmManagerでフラグにWAKEUPの付いてるものを使う
0207デフォルトの名無しさん2011/05/16(月) 09:38:27.58
9patchで作った画像のボタンの背景に設定しているのですが、画像が引き伸ばされず一部分しか表示されません。
しかし、ボタンのサイズを大きくするとちゃんとボタンのサイズがに合わせて引き伸ばされた画像が背景に表示されます。

これは画像のサイズが表示したいボタンの背景より大きいので発生しているということでよいのでしょうか?
0208デフォルトの名無しさん2011/05/16(月) 09:57:18.31
OSバージョン2.3系でたまに発生するランダムリブート時に
データを保存しておきたいのですが、どこで捕捉すれば
よいのでしょうか?
BroadcastReceiverでシャットダウン通知を受け取れば
いいのでしょうか?
0209デフォルトの名無しさん2011/05/16(月) 11:32:59.76
>>208
ランダムリブートってOSの異常終了のこと?もしそうなら、そんなの通知されるわけないと思うけど。
0210デフォルトの名無しさん2011/05/16(月) 12:15:28.94
>>209
「りぶったー」というアプリがあるんですけど、このアプリは
再起動時に処理をしているようです。
それと同じように出来ないものかと思いました。
0211デフォルトの名無しさん2011/05/16(月) 13:18:41.17
>>210
そのアプリは知らんが再起動と異常終了は違うじゃろ
0212デフォルトの名無しさん2011/05/16(月) 13:23:42.22
>>208
可能な限り早い時点でデータを保存しておくしかないだろう。
0213デフォルトの名無しさん2011/05/16(月) 14:00:23.81
>>210
しかるべき手順を踏んだ正常なシャットダウン処理ならともかく、予期せぬエラーでの強制リセットなんか通知できないよ。

Android自体がエラー吐いて止まってるのにどうやってそのことを(リブート前に)通知するの?
0214デフォルトの名無しさん2011/05/16(月) 14:51:26.35
root取ればできるでしょ?
0215デフォルトの名無しさん2011/05/16(月) 15:15:09.73
できねえよw
普通のlinuxでもpanic出たらユーザプロセスには通知一切なし
0216デフォルトの名無しさん2011/05/16(月) 15:59:56.98
そもそもシステムをそれ以上動作させることが不可能になったから強制終了してるのに、そこで何かできると思うのが間違い。
0217デフォルトの名無しさん2011/05/16(月) 16:50:24.33
端末側でクラッシュレポートを送ろうとすると結構詳しい情報を送信するようなことが確認できるのに
これらを作者が確認することはできないのでしょうか?
デベロッパーコンソールのエラーレポートがどの端末で起きたのかを知りたいのです
プラットフォームの欄は全てOTHERになっています
0218デフォルトの名無しさん2011/05/16(月) 17:26:01.55
>>217
UncaughtExceptionHandler でも使ってcatchしてから好きなとこに送れ。
もちろん送るにはそれなりの権限が必要になるが。
0219デフォルトの名無しさん2011/05/16(月) 17:26:19.90
http://www.adamrocker.com/blog/288/bug-report-system-for-android.html
0220デフォルトの名無しさん2011/05/16(月) 18:11:17.28
ttp://lostlinksearch.net/blog/2011/03/android-%E3%83%95%E3%83%AA%E3%83%83%E3%82%AF%E6%93%8D%E4%BD%9C%E3%81%AE%E5%AE%9F%E8%A3%85%E6%96%B9%E6%B3%95/

こちらのサイトを参考にフリックの処理を入れたところ、うまく動かすことができました。
しかし、本来スクロールバーが表示される長さのviewでもバーが表示されなくなってしまいました。

調べたところ以下の一文でFlickTouchListenerのonTouchの中が空でもバーが出てこなくなっているようです。
view.setOnTouchListener(new FlickTouchListener());

つまりはonTouchの処理にバー関係の処理が含まれていないからだと思うのですが、どのように書けばバーの処理を追加できるのか、
あるいはsetOnTouchListenerを呼ばずにフリックの処理を追加できるでしょうか。
0221デフォルトの名無しさん2011/05/16(月) 20:26:12.24
できない
0222デフォルトの名無しさん2011/05/16(月) 22:27:21.74
Activityの中でsendBroadcastを実行して、BroadcastReceiver内の
処理が行わせているのですが、Activityの中でこの処理が終わるのを
同期的に待つにはどうすればよいでしょうか?
0223デフォルトの名無しさん2011/05/16(月) 22:36:52.31
>>222
待てないからBroadcast側から通知を返すしかない
0224デフォルトの名無しさん2011/05/16(月) 22:39:23.53
EditTextのInputFilterを使って、文字制限をしています。
処理自体は正常で、対象文字(英数以外)は入力できないようになってます。

それで質問なんですが、現状だと、例えば「あ→い→a→12」と入力した場合
最初に禁止する文字が入力されるので、後の「a」や「12」が入力できません。(確定せず続けた場合)
これを、同じように入力した場合、「a」や「12」(禁止していない文字)だけ入力できるようにできますか?

どなたかご教授願います。
0225デフォルトの名無しさん2011/05/17(火) 01:01:17.05
>>224
できない。
0226デフォルトの名無しさん2011/05/17(火) 01:28:26.18
教授を願ってどうするんだね
0227デフォルトの名無しさん2011/05/17(火) 01:33:53.95
あれ、短絡的に書いたんだけど
教授する、とは使うか

願うのもありなのか・・どうだろう・・

どうでもいいかもだけど・・w
0228デフォルトの名無しさん2011/05/17(火) 01:47:33.18
ご教示な
0229デフォルトの名無しさん2011/05/17(火) 01:52:21.44
ふいんき(ry
0230デフォルトの名無しさん2011/05/17(火) 06:37:40.22
>>220
onTouch()がfalseを返せばバー出てこない?
0231デフォルトの名無しさん2011/05/17(火) 07:47:32.30
インテント使う際にデフォルトでは画面右から次の画面がmove inしてきますが
この挙動を変えることは可能でしょうか?例えば下から出てきたり。
0232デフォルトの名無しさん2011/05/17(火) 08:56:56.43
>>231
それはアニメーションの機能を有効にしてるからで、確か固定だったかと。
0233デフォルトの名無しさん2011/05/17(火) 09:00:27.38
>>231
http://www.adamrocker.com/blog/289/activity_open_close_animation.html
0234デフォルトの名無しさん2011/05/17(火) 09:40:55.02
bitmapを大量に扱うプログラムを書いてるんだけど、
OOMに悩まされてる。

結局bitmap以外のオブジェクトの生成/消滅もあるからヒープの断片化は避けられないのか?
最初にbitmapを何枚かcreateして、そこに描画していくようにしないとダメか?
そもそもbitmapを使うのが間違いなのか?
bitmap以外にcanvasにテクスチャを描画する方法はないのか?

そもそもVMヒープの上限と現在の使用量ってどうやったら分かるんだ?

サムネイルとかだと初期化時にビットマップを必要枚数分確保して、
デコードしたデータはそこに一端コピーすることで断片化を回避できるんだろうか?

なんかいいやり方とかあったら教えてくれ。
0235デフォルトの名無しさん2011/05/17(火) 10:04:34.04
>>234
http://mtnk.org/down/PDF/OutOfMemoryError.pdf に書いてあることは一通りやるとして、

あと onPause or onStop での全bitmapのrecycle をやると画面遷移を挟んだ直後のOOMを防げる。
記事にもあるがbitmapに関しては自動で発生するGCだけでは不十分なので、なるべく recycle を自分で呼び出すべき。
0236デフォルトの名無しさん2011/05/17(火) 12:30:09.64
OOMが出るのは断片化が問題じゃなくて
参照が開放されてないビットマップがあったりするからなんじゃないかな
0237デフォルトの名無しさん2011/05/17(火) 13:24:47.18
>>224
全部入力許可して入力確定後に禁止文字削除
0238デフォルトの名無しさん2011/05/17(火) 13:38:50.07
EditTextの押されたキーを取得しようとsetOnKeyListenerして、onKeyを書きました。

しかし、「あ」や「a」などを入力してもonKeyが呼ばれず、
確定キーでファーカスが移動したとき(変換確定時は実行されない)や、DELキーを押したときにしかonkeyが実行されません。
どうすればすべてのキーを取得できるでしょうか。
0239デフォルトの名無しさん2011/05/17(火) 14:54:39.79
どこからでもアクセス出来るグローバル変数的な使い方として
Preferenceを使うのは正しいのだろうか…?
0240デフォルトの名無しさん2011/05/17(火) 17:03:22.60
>>239
API level 11 の MODE_MULTI_PROCESS で苦労しやがれ。

まあパフォーマンスロスが気にならないシチュなら悪くないとは思うが。
0241デフォルトの名無しさん2011/05/17(火) 17:26:26.78
>>238
onchangeで
>>239
SDにxmlで保存しとけ
いろいろ捗る
0242デフォルトの名無しさん2011/05/17(火) 17:45:18.57
>>240
SCREEN_ONとOFFの度に値をPreferenceに突っ込んだりしてるから、
パフォーマンスロスはあるかもしれない。

>>241
頻繁にファイルIOが発生するのもどうなんだろう?
使い勝手は悪くないけど、なるべく外部保存媒体って
使いたくないと個人的に思ってたり。
0243デフォルトの名無しさん2011/05/17(火) 18:29:36.25
>>242
Preference はファイルだぞww
0244デフォルトの名無しさん2011/05/17(火) 19:13:00.92
>>243
全く知らなかった。ファイルだったのか…。
そうすると頻繁にアクセスするのはマズいな。
0245デフォルトの名無しさん2011/05/17(火) 19:13:00.97
アプリ内課金が特許を侵害か--iOSアプリ開発者らに警告状 - CNET Japan
http://japan.cnet.com/news/service/35002723/

無料版アプリのアプリ内課金で有料版にアップグレードって機能がひっかかるらしいけど
これってAndroidでも同じってことだよね?
0246デフォルトの名無しさん2011/05/17(火) 19:25:56.61
>>245
そんなのPC向けのアプリでもいっぱいあったじゃん。
iOSやAndroidだけ問題になる訳がない。
0247デフォルトの名無しさん2011/05/17(火) 20:07:38.26
インテントでTreeMapを渡そうとしてるんですが、
受け取り側でgetIntent().getStringExtra()にTreeMapをキャストして
値を取得しようとするとClassCastExceptionが発生します。
TreeMapはインテントでは受け取れないのでしょうか?
0248デフォルトの名無しさん2011/05/17(火) 20:20:24.35
>>247
Stringにキャストできるわけ無いだろ
02492472011/05/17(火) 20:25:39.52
>>248
すいません。記載ミスです。
○ getIntent().getSerializableExtra()
× getIntent().getStringExtra()
0250デフォルトの名無しさん2011/05/17(火) 20:38:57.42
>>249
んじゃTreeMapの中にSerializableじゃないのが詰まってるんじゃないの?
02512472011/05/17(火) 20:49:26.49
>>250
TreeMap<String, Float>と定義して使ってますが、
Serialize可能なクラスではないのでしょうか?
0252デフォルトの名無しさん2011/05/17(火) 20:54:54.66
>>251
それだったらいけるはず
とりあえずSerializableで値取って、
デバッグで何が入っているか見てみたら?
■ このスレッドは過去ログ倉庫に格納されています