Androidプログラミング質問スレ Part12at TECH
Androidプログラミング質問スレ Part12 - 暇つぶし2ch862:デフォルトの名無しさん
11/10/01 23:17:42.21
>>861
野良アプリとして実機にインスコしたんでしょ
マーケットでアップした正式のやつなら出ないみたい

863:デフォルトの名無しさん
11/10/01 23:23:17.74
GPSから位置を一回だけ取りたい!
requestLocationUpdatesしてonLocationChangedを待つ処理にしているんだけど
携帯を持って実際に移動しないとonLocationChangedが呼ばれないのね・・・

家のベッドで丸まりながらアプリを使う時とか位置取れないと思うんだけど、みんなどうしてるんですか!?
常に移動しているんですか!?


864:デフォルトの名無しさん
11/10/01 23:23:20.03
標準ボタンがダサいんだけど他に用意されてないの?自分で用意するしか無いのかな

865:デフォルトの名無しさん
11/10/01 23:27:04.28
>>864
drawableにxml用意して動的に描くか、画像用意してimagebuttonにするしかないと思われるよ

866:デフォルトの名無しさん
11/10/01 23:27:05.89
Could not create crash message java.lang.NullPointerException
ってメッセージが出てfinshで落ちます
助けてください

867:デフォルトの名無しさん
11/10/01 23:31:27.56
>>866
ガッ

868:デフォルトの名無しさん
11/10/01 23:32:33.12
>>863
LocationManagerの
getLastKnownLocation(LocationManager.GPS_PROVIDER);
じゃだめかい

869:デフォルトの名無しさん
11/10/01 23:33:15.15
>>864
xmlでグラデーションかけて角丸、フォントに影つけると少しはまともになる

870:デフォルトの名無しさん
11/10/01 23:38:28.32
>>862
なるほど
ありがとうございます

871:デフォルトの名無しさん
11/10/01 23:40:52.16
>>867
ありが10、解決したヌルポ

872:デフォルトの名無しさん
11/10/01 23:43:42.62
>>871
ガッ

873:デフォルトの名無しさん
11/10/01 23:53:02.72
>>868
getLastKnownLocationだと前に別のアプリで取得したGPS位置が取れちゃうんだよね

1.requestLocationUpdates
2.(onLocationChangedが呼ばれる)
3.getLastKnownLocationで位置取得
という流れなら問題無いんだけど

1.requestLocationUpdates
2.(onLocationChangedが呼ばれない)
という流れになった場合、GPS取得に時間がかかってるのか?位置移動していないのか?分からないから
getLastKnownLocationすると、昨日google mapで取得した位置とかが取れてしまう可能性が出てしまう

GPS取得は完了したけど、位置移動してないよ~。ていうリスナーがあればいいんだけどなぁ

874:デフォルトの名無しさん
11/10/02 00:27:25.92
グーグルマップとGPSを使ってアプリ開発をしています。
自分の現在位置を表示できます。
今後、複数のGPSを使って、位置情報を同一画面で共有できるように
したいと思っているのですが、どうしたらいいかわかりません。

どなたか教えていただけませんか。
よろしくお願いします。

875:デフォルトの名無しさん
11/10/02 00:31:01.36
デベロッパーコンソールにエラーレポートが送られてきたんだけど、

public class MyService extends Service {
private static final String ACTION_ALARM = "com.android.myapp.ALARM";
private static boolean flag = false;

@Override
public void onStart(Intent in, int si) {
if(ACTION_ALARM.equals(in.getAction())){ ←ここでNullPointerException
flag = true;
}
~~略~~

上記矢印の部分でNullPointerExceptionが発生してるらしい。
手元の携帯では再現しない。
ACTION_ALARMはAlarmManagerのIntentです。
情報少ないけど、どんな事が原因として考えられますか?

876:デフォルトの名無しさん
11/10/02 00:33:33.11
10個のボタンをすべて違う画像にしたいんですが
各ボタンのselectorのxmlを用意しないとできませんか?

877:デフォルトの名無しさん
11/10/02 00:57:40.80
>>875
inがnullなんじゃないか?

878:デフォルトの名無しさん
11/10/02 01:10:01.24
>>877
onStartの引数のIntentがnullになるって事あるんですか?


879:デフォルトの名無しさん
11/10/02 01:21:19.86
>>878
その場所なら
inがnull以外の原因でヌルポにならない

880:875
11/10/02 01:22:46.17
すみません、調べたら解決しました。
onStartだとintentにNULLが入る場合があるらしいです。
なので、onStartではなく、onStartCommandを使わないとイケナイらしい。

参考サイト
URLリンク(9ensan.com)

お騒がせしました。

881:デフォルトの名無しさん
11/10/02 02:07:00.60
>>873
getLastKnownLocation で取得した位置情報には精度と時刻があるから、それを見て捨てるかどうか決めればいい。
あと衛星数もちゃんと取得して表示しとけ。rad*koみたいにな。

ネットワーク位置情報を信用できないケースは色々大変ではあるな。

882:デフォルトの名無しさん
11/10/02 07:17:56.24
XPERIA SO-01B Ver 2.1.1 で、IPA ゴシック(ttf) が使えなかったけどなんでだろう。

フォントは読み込めてて、内部でもちゃんと保持できてるのは確認したけど
フォント情報(FontMetrics)が、全部0で返ってきたり、実際フォントが適応されてなかったりとかで
ちょっと、困った。
因みに同じアプリでGalaxyTabでは問題なく使えてる。

OTFのみかちゃんフォントで試したら、どちらも問題なかったので
TTFフォントが使えないのかな。


883:デフォルトの名無しさん
11/10/02 07:43:37.34
ListViewに関する質問です。
100個ぐらいのTextViewが並んでいて、その色をpositionの値に応じて変えてみたのですが、
なぜかスクロールすると無関係なTextViewの色も変わってしまいます。
何か対策方法はないでしょうか?

884:デフォルトの名無しさん
11/10/02 08:15:28.34
>>883
スクロール時にviewを再利用しているからかな
getviewで確認してみたら?

885:デフォルトの名無しさん
11/10/02 08:20:15.41
>>882
Xperiaシリーズはotfのみ対応

886:882
11/10/02 08:24:54.79
>>885
ありがとう

887:デフォルトの名無しさん
11/10/02 08:28:26.85
>>884
レスありがとうございます。

ここを参考にbaseadapterを拡張して使ってるんですが、
URLリンク(ichitcltk.hustle.ne.jp)
「getView内で前回使用したViewオブジェクトを渡す」部分を削除したら、出来ました。
ただスクロールがガクガクになっちゃいます。


888:デフォルトの名無しさん
11/10/02 08:48:12.94
消さずにgetviewの中でposition見る等で、
色を戻すなり付けるなり

889:デフォルトの名無しさん
11/10/02 09:05:15.54
>>888
getviewの中でposition見て色を変えているのですが、
スクロールすると、そのpositionで無いはずのTextViewの色も変わってしまいます・・・。

890:デフォルトの名無しさん
11/10/02 10:09:25.42
>>889
ソースを貼れ

891:デフォルトの名無しさん
11/10/02 10:23:33.73
>>890
TextView内の要素を検索して、それで判断するようにしたら出来るようになりました。
お騒がせしました。

892:デフォルトの名無しさん
11/10/02 11:03:28.90
logを出力して、それを自動スクロールさせたいと思っています。
そのため、TextViewをScrollViewで挟んで、TextViewにappendするたびに
ScrollViewにfullScroll(ScrollView.FOCUS_DOWN);を実行しました。

でも、2行にわたるような文字列をappendした場合、2行目が隠れる位置まで
しかスクロールされません。
appendした後に指で、ぐいっと動かすと2行分ぐらいまだスクロールする余地があります。
これを完全にスクロールするためにはどうしたらよいのでしょうか?

893:デフォルトの名無しさん
11/10/02 12:26:50.32
ListViewでImageButton使ってるとsetOnTouchListenerが効かないみたいなのですが、
解決方法わかるかたいますか?

894:デフォルトの名無しさん
11/10/02 13:21:03.38
AppWidget で、OSにメモリを勝手に開放されて苦しんでいます。
Activity であれば、onSaveInstanceState にデータを永続化する処理を入れて、
onRestoreInstanceState で復元するなどの手立てがありそうですが、
AppWidget の場合、どうやってOSからのkillをとらえればよいのでしょうか。
または、開放されないような手立てがあれば教えて下さい。

895:デフォルトの名無しさん
11/10/02 13:33:48.88
>>893
ImageButtonのtouchlistenerからsetOnTouchListenerを呼ぶんだ

896:デフォルトの名無しさん
11/10/02 15:28:14.24
>>895
マジっすか

897:デフォルトの名無しさん
11/10/02 15:52:56.43
SDKについての質問はここでしてもいいんですか?

898:デフォルトの名無しさん
11/10/02 16:53:36.33
>>894
サービスたててないの?
死んで困るような処理はwidgetでやらんもんじゃね

899:デフォルトの名無しさん
11/10/02 17:07:48.57
ImageViewで透過pngを表示させた時って、勝手に後ろ(?)の画像や背景色が透過されるわけじゃないんでしょうか。
透明部分のはずのところが真っ黒に塗られてしまいます。

900:デフォルトの名無しさん
11/10/02 17:14:31.08
>>898
サービスは立てています。
でも、サービス自体に定義した static変数なんかは軒並みクリアされてしまいますし、
場合によっては、サービスからセットしたonClick を拾うための PendingIntent なんかも
キャンセルされてるっぽい挙動です。

901:デフォルトの名無しさん
11/10/02 18:24:55.86
>>900
stopしていないサービス(を含むプロセス)が殺されるのってよほどメモリがないときだけど
自分でメモリ使いすぎてるとか
長時間常駐するサービスでたまに殺されてもしかたないものなら、onStartCommandでflag見て復元処理

902:デフォルトの名無しさん
11/10/02 18:44:50.04
質問です。
いくら探しても見つからないので出来ないかもなのですが、
アプリ自分自身を再起動させることは可能でしょうか?
ホームから戻ってきたときにメモリが開放されていたら再起動したいと思っています。

よろしくお願いします。

903:デフォルトの名無しさん
11/10/02 18:55:28.34
プログラム内で、例えばホットワードを日本ならYahoo!から取ってくる、
それ以外ならGoogleから取ってくるといったように処理をわけたいのですが
ローカライズ?国?みたいなのを確認するにはどうしたらいいんでしょうか?

リソースは国別に用意すればいいというのは知っているのですが…


904:デフォルトの名無しさん
11/10/02 19:03:14.37
Locale.getDefault() じゃあかんの?

905:デフォルトの名無しさん
11/10/02 19:07:16.51
>>902
何の意味があるのか詳しく

906:デフォルトの名無しさん
11/10/02 19:18:39.47
>905
アプリ起動->ホームボタン->色々やって戻る
とするとメモリが開放されていて落ちてしまいます。
アクティブ数も多くデータもクラス化されているので復帰が難しのでコアデータ以外は全て初期化して
タイトルへ戻したいと考えています。

是非ご存知でしたらよろしくおねがいします。

907:デフォルトの名無しさん
11/10/02 19:48:44.64
>>906
savedInstanceStateもしくはParcelableだっけかで調べてみ。綴りは気にすんな。

908:デフォルトの名無しさん
11/10/02 20:37:57.43
ListViewで、あとから追加した文字列が画面下の方へ行ってしまうのを
画面上の方に表示したいです。
どうしたらいいですか?

909:デフォルトの名無しさん
11/10/02 21:02:11.83
>907
再起動は無理ですか?

910:デフォルトの名無しさん
11/10/02 21:04:26.66
>>908
insert

911:デフォルトの名無しさん
11/10/02 22:04:23.94
質問内容をまとめてみました

activityStartForResultで起動したのにonActivityresultが呼ばれない問題

setResult(Activity.RESULT_OK, new Intent);
finish();
としています。
マニュフェストのLunchModeが原因ともあるが、なにも記載せずに動作しない

解決方法宜しくお願いします。

912:デフォルトの名無しさん
11/10/02 22:07:39.31
>>909
自分インテント投げて、finishでいんじゃね?


913:デフォルトの名無しさん
11/10/02 22:16:05.65
>912
ありがとう試してみます。

914:デフォルトの名無しさん
11/10/02 22:43:30.21
>>911
activityStartForResultを使っているのが問題です。

915:デフォルトの名無しさん
11/10/02 22:44:03.97
非rooted端末で、他アプリのclasses.dexをコピーする方法をお教えください。
AppMonsterは非rootedでもapkをバックアップできるので、
同様のことを自分でも実装できると思っているのですが…。

916:デフォルトの名無しさん
11/10/03 01:25:45.26
Application の Context と Activity の Context は何か違いがあるでしょうか?
View のコンストラクタにどちらを与えても結果は同じでしょうか?

917:デフォルトの名無しさん
11/10/03 01:29:09.92
場合によって違う
Activityのコンテキストはインスタンスに依存してApplicationのコンテキストは静的なアプリケーションに依存する

そのViewが求めるコンテキストがインスタンスに依存するものだった場合にアプリケーションに依存するコンテキストを渡すと落ちる

918:デフォルトの名無しさん
11/10/03 01:38:57.90
>そのViewが求めるコンテキストがインスタンスに依存するものだった場合にアプリケーションに依存するコンテキストを渡すと落ちる

ライブラリの設計が糞すぎるwwww

919:デフォルトの名無しさん
11/10/03 01:43:07.79
mediaPlayerのCreateとかにApplicatonContextを渡すと落ちるよね

920:デフォルトの名無しさん
11/10/03 05:23:00.07
ActionBarをタブにすると、addTabする度にselectedイベントが走る。
解決策はActionBarのNavigationModeをaddTabより後に設定する。
ってのに、出会った時は参照透過性って大事だなって思ったな。

921:デフォルトの名無しさん
11/10/03 06:00:28.22
なんでActionBarをタブにするんだ

922:デフォルトの名無しさん
11/10/03 07:15:24.45
ググる先生が、タブ使いたいなら今後はこちらを使うようにと下知賜れたから。

923:デフォルトの名無しさん
11/10/03 08:11:14.88
>>920
lispから入った人なの?

924:デフォルトの名無しさん
11/10/03 08:32:09.80
いや、業務では手続き型言語ばかりだ。
趣味というか一般教養レベルでschemeやhaskellもかじったけど。
だがせめてビルダーを用意するなりして、順序を隠蔽してほしかったと思う。

925:デフォルトの名無しさん
11/10/03 09:17:46.16
>>896
うん

926:デフォルトの名無しさん
11/10/03 09:43:29.08
>>914
startactivityforresultのミスでした
まだ呼ばれません。。

927:デフォルトの名無しさん
11/10/03 10:22:44.43
>>900
そもそも絶対にkillされないアプリは書けない
2.3以降はホームアプリさえkillされる
それでもkillされたくなければAlarmManager使って1秒に1回
startServiceさせれば滅多にkillされなくなるが
安定性もお行儀もバッテリの持ちも良くないことは覚悟すべし

928:デフォルトの名無しさん
11/10/03 10:27:39.87
ListViewで、自動的にスクロールするようにしたいんですが、
そういったメソッドってありますか?

929:デフォルトの名無しさん
11/10/03 11:03:31.81
スロットみたいにしたいってこと?

930:デフォルトの名無しさん
11/10/03 11:07:49.70
>>929
setSelectionで指定したpositionまで飛ぶのはわかったのですが、
その間のアニメーション、動いてる部分が無いので、それが欲しいのです。
ちなみにAndroid2.2にはそういったメソッドがありましたが、1.6だと無いようなので、
自分で作るしかないですかね?

931:デフォルトの名無しさん
11/10/03 13:08:12.37
onDestroy()でfinish()を呼ぶと、実機を縦横変換した時にfinishが呼ばれて変数の受け渡しができなくなってしまいませんか?

932:デフォルトの名無しさん
11/10/03 13:20:18.08
なんでfinish呼ぶの?

933:デフォルトの名無しさん
11/10/03 13:53:39.94
戻るボタン押したときとかメニューで終了おしたときにfinish()呼ぶ

934:デフォルトの名無しさん
11/10/03 14:20:20.14
finishでondestroyが呼ばれるんじゃないのん

935:デフォルトの名無しさん
11/10/03 14:21:14.61
戻るボタン押したときにfinish呼ばないとどうなるの?

936:デフォルトの名無しさん
11/10/03 14:47:16.66
これはひどい

937:デフォルトの名無しさん
11/10/03 15:03:25.07
他アプリから住所情報を持たせナビにインテント渡して
処理させることは可能でしょうか?

938:デフォルトの名無しさん
11/10/03 15:18:37.76
SQLiteOpenHelperクラスについて教えてください。

onCreate()、onUpgrade()を実装した一般的なHelperクラスを作成し、

DBを検索するActivityで

DB名を指定して、getReadableDatabase()を実行すると、

存在しないDBを指定した場合、DBのうつわだけ作成されます。
存在しない場合、これを作成されないようにする方法はありますか?


939:デフォルトの名無しさん
11/10/03 17:55:40.27
2.2で作ってるアプリを3.0以降のデバイスで実行すると、下段のシステムバーに
アプリの下橋が隠されてしまいます。

WindowManager.getDefaultDisplay() が返すwidthとheightの値がシステムバーも
含んだ物理モニター領域担っているのが原因のようです。

2.2環境のビルドでは3.0に対応した最適化は出来ないと思うのですが、3.0のシステムバー
を除いた領域をアプリが取得できるようなAPIは2.2以前には無いですか?

よろしくお願いします

940:デフォルトの名無しさん
11/10/03 18:32:01.26
そりゃDisplayのサイズだし。Viewのサイズを取りましょう
まあroot領域のサイズくらいonCreate時点で確定してくれよと思わんではないがね

941:デフォルトの名無しさん
11/10/03 18:34:15.19
>>938
なぜ存在しないDBを指定する必要があるのか?

942:デフォルトの名無しさん
11/10/03 20:43:09.38
直接Androidに関係するわけじゃないんだけど
Google Codeのソースって一括でダウロードできないの?

943:デフォルトの名無しさん
11/10/03 20:47:26.86
無理

944:デフォルトの名無しさん
11/10/03 20:48:40.47
Project Hostingのこと?
subversionやmercurial入れてチェックアウトする

945:デフォルトの名無しさん
11/10/03 20:48:43.63
そうか...めんどくさいな...まあ公開してくれるだけありがたいんだよな

946:デフォルトの名無しさん
11/10/03 20:50:08.78
>>944
thx
ちょっと調べてみる

947:デフォルトの名無しさん
11/10/03 21:22:11.03
>>937
可能。
geo:0,0?q=横浜
投げれば検索される。



最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch