14/10/02 09:09:57.28 Aut4/rlE
このスレではAndroidSDK・NDKやAndroidマーケットに関する質問を扱ってます。
※プログラミング自体が初めて!なあなたには↓↓↓こちらへ
スレ立てるまでもない質問はここで 138匹目
スレリンク(tech板)
Eclipse統合M34【Java/C++/Ruby/Python/Scala】
スレリンク(tech板)
★★Java質問・相談スレッド170★★
スレリンク(tech板)
****オススメ関連リンク****
■ TechBoosterURLリンク(techbooster.org)
■ AndroidメモURLリンク(www.saturn.dti.ne.jp)
■ 逆引きAndroid入門URLリンク(www.adakoda.com)
■ Androidプログラマへの道URLリンク(wiki.livedoor.jp)
■ Android Wiki*URLリンク(wikiwiki.jp)
****公式リファレンス****
■ Android developersURLリンク(developer.android.com)
■ ソフトウェア技術ドキュメントを勝手に翻訳URLリンク(www.techdoctranslator.com)
■ 日本Androidの会URLリンク(www.android-group.jp)
■ StackOverFlowURLリンク(stackoverflow.com)
****前スレ****
Androidプログラミング質問スレ revision44
スレリンク(tech板)
2:デフォルトの名無しさん
14/10/02 10:17:01.88 OEbVs6GB
>>1乙
3:デフォルトの名無しさん
14/10/02 16:35:43.95 2te+4LRL
ViewのLayerTypeってデフォルトはハードでもソフトでもなくNoneになってますが、Noneって具体的にどういう動作になりますか?
4:デフォルトの名無しさん
14/10/02 17:03:26.07 5J3zhIJD
>>3
URLリンク(developer.android.com)
5:デフォルトの名無しさん
14/10/02 18:37:33.73 tdUzi8zO
ホームボタンを押したとき等の
アクティビティがバックグラウンド状態の場合
着信等のイベントを受け取ったりして
アクティビティを再び前面に出す方法を教えてください
バックグラウンドからサービスのスレッドで
startActivityでアクティビティを上にしようとしてもうまくいきませんでした
別アプリのブラウザの起動はできたのですが…
WindowManagerでビューを作成してオーバーレイでやったところ
ビューの表示には成功したのですが
ボタンを押すと何故かエラーで終了してしまいます
6:デフォルトの名無しさん
14/10/02 19:02:42.06 Zh/NpJt3
>>5
ログ見れば解決
7:デフォルトの名無しさん
14/10/02 21:09:02.89 A5HcozOh
全くの初心者ですみません。
アプリ実行時に、LogCatに以下のようなメッセージが表示されるのはアプリの作り方に問題あるのでしょうか?
10-02 21:00:04.103: D/dalvikvm(24403): GC_FOR_ALLOC freed 511K, 6% free 9177K/9724K, paused 54ms, total 55ms
10-02 21:00:06.755: D/dalvikvm(24403): GC_FOR_ALLOC freed 511K, 6% free 9177K/9724K, paused 37ms, total 37ms
10-02 21:00:09.478: D/dalvikvm(24403): GC_FOR_ALLOC freed 511K, 6% free 9177K/9724K, paused 32ms, total 33ms
こちらの情報を参考にして少し改造しただけのソフトなのですが・・・
URLリンク(www.robotsfx.com)
8:デフォルトの名無しさん
14/10/02 21:50:37.88 Ym7Zcgnb
>>7
別にエラーじゃない
GCが走ってるだけ
9:デフォルトの名無しさん
14/10/02 22:21:23.61 A5HcozOh
ありがとうございます。そうなんですね。
でも小さいデータしか扱っていないのに2~3秒おきに数十mSのロスは痛いです。
inputStream・outputStream・timerあたりを使っているから容量消費が激しいのでしょうか・・・?
10:デフォルトの名無しさん
14/10/02 22:23:03.45 P3M8t66+
>>7
Eだけ見たいなら、logcatをフィルタリングしろ。
11:デフォルトの名無しさん
14/10/02 22:50:20.40 UJhEJnpB
前スレ>>998 >>999
なんとかきれいな画質で出すことが出来ました。
未だに解像度の理解ができてないので、勉強します。
ありがとうございました。
12:デフォルトの名無しさん
14/10/03 00:35:24.78 iZr0//ei
>>9
Androidは動的に割り当てメモリふやすから、必ずしも使いすぎが理由でGCが走るわけではない
まあ性能求める部分でメモリ獲得解放を頻繁に行うのはおすすめしない
13:デフォルトの名無しさん
14/10/03 01:37:01.56 lJ+fGULR
>>9
そういう用途ならNDK使えよ。
14:デフォルトの名無しさん
14/10/03 08:05:24.96 4AbwsOUl
>>10
Dの情報が無視して良い情報なのかわからなかったんです><
GC_FOR_ALLOCでググるとプログラミングミスが原因のような情報もあったので心配になって・・・
15:デフォルトの名無しさん
14/10/03 08:23:13.44 4AbwsOUl
>>12
獲得解放はおこなってはいないと思います。newとかのことですよね?
(バッファなどのnewは、プログラム開始時にしかおこなっていません)
もしかして、inputStreamのreadやoutputStreamのwriteとかの時、内部で大きな獲得解放が発生しますか?
timerは、作成時にリソース獲得がおこなわれるだけですよね?
16:デフォルトの名無しさん
14/10/03 08:27:38.30 4AbwsOUl
>>13
初心者なので勘弁して下さい><
それに、100mSに1回、TCP通信(少量データ)とUIの更新をしたいだけの用途なんです。
17:デフォルトの名無しさん
14/10/03 08:36:32.35 lJ+fGULR
>>16
初心者ならそういうものと思っとけよ。
18:デフォルトの名無しさん
14/10/03 08:40:22.75 fkRZcG4z
>>15
Javaはちょっとした文字列操作でもゴミが出るよ。
19:デフォルトの名無しさん
14/10/03 08:50:40.22 teyHlegw
>>15
読め
URLリンク(developer.android.com)
20:デフォルトの名無しさん
14/10/03 09:40:42.98 ccz48my1
読めない
21:デフォルトの名無しさん
14/10/03 09:48:53.44 XY8XTMmp
andengine使ってる人いますか?
画面内で、一部分だけスクロールさせたいのですが、なにかいい方法はありますか?
イメージとしては、HTMLのインラインフレームのような感じなんですが、
xmlで分けるとsceneごとのデータのやりとりが面倒そうなので、
ひとつのsceneの中で「この部分だけはスクロールできる」というようなやりかたがあれば理想なのですが
TouchとMoveで頑張るしかなければ頑張りますが、いいクラスとかあったら教えてください。
22:5
14/10/03 09:59:55.20 Ikptywvs
>>6
すいませんログとはスレの過去ログのことでしょうか?
23:デフォルトの名無しさん
14/10/03 10:04:11.51 8UcXJny1
どう考えたらそうなるんだよ・・・
LogCatのログに決まってんだろ
24:5
14/10/03 10:08:13.06 Ikptywvs
startActivityでやるべきなのかオーバーレイでやるべきなのか
せめてそこを教えてくれませんか?
行き詰ってしまってるんでアドバイス頂きたい
教えるのが嫌なら検索用語だけでも教えてほしい
25:5
14/10/03 10:09:03.09 Ikptywvs
>>23
LogCatのログ確認してみます
26:5
14/10/03 10:11:59.26 Ikptywvs
startActivityでやるやり方の場合
実機でしかバックグラウンドでイベント取れないんでログ見れないんですが
27:5
14/10/03 10:22:33.32 Ikptywvs
オーバーレイでやってたら
ボタンのとこのサービスのストップ処理コメントアウトしたらエラーでなくなりました
ありがとうございました
28:デフォルトの名無しさん
14/10/03 10:29:30.99 4AbwsOUl
>>18
>>19
割り当てトラッカーで確認して原因がわかりました。
Stringの連結ってヒープの消費が大きいのですね><
StringBuilderに変更することで、2~3秒に1回発生していたのが20秒に1回くらいに激減しました。
ありがとうございました。
29:デフォルトの名無しさん
14/10/03 10:53:53.98 Z1hWWZWK
dispatchKeyEventについて質問です
Activityで音量キーを制御していますが
DialogFragmentなどを表示中には制御下を離れてしまいます
この場合どのようにしたら物理キーを制御する事がでますでしょうか?
よろしくお願いします
30:デフォルトの名無しさん
14/10/03 10:59:19.98 8UcXJny1
>実機でしかバックグラウンドでイベント取れないんでログ見れないんですが
「自分のやり方がおかしい」「知識が不足している」
という感覚を持てないのって不幸。
31:5
14/10/03 11:09:58.24 Ikptywvs
>>30
SIPのAPIは実機でしか動かないんですが…
実機でログ見れる方法あるんですか?
Andoroidプログラミングは最近やり始めたので知識不足しててすいません
では実機でログ見れる方法を教えてもらえませんか?
32:29
14/10/03 11:17:51.61 Z1hWWZWK
これで成功しました
DialogFragment dialogFragment = new DialogFragment() {
@Override
public void onResume() {
getDialog().setOnKeyListener(new OnKeyListener() {
public boolean onKey( DialogInterface dialog, int keyCode, KeyEvent event ) {
// 処理
return true;
}
});
super.onResume();
}
......
33:デフォルトの名無しさん
14/10/03 11:21:14.87 Z1hWWZWK
>>31
そういうイベントはサービスじゃなくてブロードキャストレシーバーじゃなくて?
URLリンク(d.hatena.ne.jp)
34:デフォルトの名無しさん
14/10/03 11:26:33.67 lJ+fGULR
>>31
ならまず、入門読みなよ。logcatくらい書いてあるだろ。
あと権限一覧見ればわかると思うが、logを見る権限があるんだから、logを見るアプリがあることも想像できると思うんだが。
35:5
14/10/03 11:38:27.00 Ikptywvs
>>33
バックグラウンド処理の場合サービスが必須と思ってました…
アクティビティ起動 サービスの開始 ブロードキャストレシーバーの登録
↓
ホームボタンを押す
↓
ブロードキャストレシーバーで着信イベント取得
↓
レシーバーでイベント受け取ったら
サービスから元のアクテビティと同じビュー作成
オーバーレイで表示
とややこしいことしてたかもしれません
やりたかったことは
着信来たらバックグラウンドの最初のアクティビティの表示を
最前面にしたかっただけなのですが最前面にできないので
仕方なくオーバーレイでウィンドウ作り直す方法でやってます
>>34
すいません調べてみます
36:デフォルトの名無しさん
14/10/03 12:45:17.46 8UcXJny1
>>31
や、知識不足は悪いことではなくて
調べてみようとってことです。
てか、実機でデバッグしていれば
USBデバッグでもWiFiデバッグでも
logcatに(WindowsPC上に)ログ出ると思うんだけどな。
実機で見たいのならアプリ探せば良いけれど
おそらく実機で見なければいけない理由はないでしょ。
37:デフォルトの名無しさん
14/10/03 13:06:27.68 DZkmJQS+
apkのインストール時にassetsにあるzipファイルを解凍してSDカードにコピーしたいのだが、うまい手あるかな。
apkインストール後の最初の起動時にzipファイルを解凍してSDカードにコピーすることはできたけれど、
インストール時に同時にzipファイルを解凍してコピーしたいのだが..
38:デフォルトの名無しさん
14/10/03 13:24:01.21 Z1hWWZWK
>>37
APK Expansion Filesに任せたらダメ?
39:デフォルトの名無しさん
14/10/03 13:40:33.48 DZkmJQS+
さっそくありがとう。
今のところ野良apkでやりたいのですが、この方法は登録が必要になりますよね..
40:デフォルトの名無しさん
14/10/03 13:52:32.88 DZkmJQS+
ちなみに最初に起動した時にコピーするのは、このコードをちょっといじって出来ました。
URLリンク(stackoverflow.com)
41:デフォルトの名無しさん
14/10/03 13:55:22.01 N63R02OQ
>>37
インスト時に同時にコピーしなくてはいけない事情とは?
42:デフォルトの名無しさん
14/10/03 14:13:49.24 DZkmJQS+
インストールするapkの中身がネイティブのコンソールアプリで、これを動かすのに30MBほどのデータファイルが必要になります。
端末内に保存するには大きすぎるように思われるので、データ部分をSDカードにコピーしています。
コンソールアプリなのでランチャーにはアイコンを表示したくないのです。
(別にGUIのシェルがあって、このアイコンのみを表示させます)
コンソールアプリのインストール後にはアイコンが表示されないので、インストール時にデータをコピーしたいのです。
よろしくおねがしいます。
43:デフォルトの名無しさん
14/10/03 14:22:44.51 IExB43EV
違うアプローチだがマニュフェストのSDにインストール許可
44:デフォルトの名無しさん
14/10/03 14:36:31.47 DZkmJQS+
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
は指定していまして、Assetsに入れたzipファイルをSDカードに解凍できております。
45:デフォルトの名無しさん
14/10/03 14:38:45.23 DZkmJQS+
あ、こちらを使えという話ですね。
android:installLocation="preferExternal"
46:デフォルトの名無しさん
14/10/03 14:42:22.02 N63R02OQ
>>42
実行時にコピー済を確認、無ければコピー、ではダメなのね?
47:デフォルトの名無しさん
14/10/03 14:52:41.01 DZkmJQS+
>>46
そうなんです。データとapkを別々に配ってデータをコピーしてもらうようにしたら、
そこではまる人が多くて…
apkのインストールだけでデータファイルもSDカードにコピーできるとうれしいです。
48:デフォルトの名無しさん
14/10/03 15:38:22.71 IExB43EV
外部assetがあればいいんだけどね
昨今の端末なら30Mくらいキニシナイとか身も蓋
49:デフォルトの名無しさん
14/10/03 15:41:47.15 N63R02OQ
>>47
apkからコピーするのだけど?
アプリのインストと同時にコピーしてもその後SDカードが交換されている可能性もあるし...
50:デフォルトの名無しさん
14/10/03 15:45:37.17 Aq5n5aEI
>>42
kitkatからアプリは内部SDにしか書き込み出来ないのは知ってるか??
おまえの懸念は意味ある?
51:デフォルトの名無しさん
14/10/03 16:00:54.26 N63R02OQ
>>50
ちょっと違う
場所は固定だが書き込み出来る
52:985
14/10/03 16:03:58.04 VvEadn3r
>>50
嘘教えんなよ。
package名を含む特定パスには書き込み可能。
53:デフォルトの名無しさん
14/10/03 17:01:01.94 DZkmJQS+
拙い自作(移植だけど)プログラムさらします。これのAndroid版をどう配布するのがいいのかと悩んでおります…
URLリンク(sourceforge.jp)
GUIはQt、コンソールアプリはCCToolのgfortranで作ってますw
54:デフォルトの名無しさん
14/10/03 17:58:10.08 KNUnyKHm
タッチイベントの閾値設定で、y≧|2x|の範囲でのみ反応するようにするにはどうすればよいでしょうか?
55:デフォルトの名無しさん
14/10/03 18:37:01.79 sOwdu39N
>>53
どう配布といっても野良か、Playでアカ取るかしかないのでは