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

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

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

※プログラミング自体が初めて!なあなたには↓↓↓こちらへ
スレ立てるまでもない質問はここで 126匹目
http://toro.2ch.net/test/read.cgi/tech/1363522503/
Eclipse統合M34【Java/C++/Ruby/Python/Scala】
http://toro.2ch.net/test/read.cgi/tech/1361510049/
★★Java質問懽\363蜻樺kスレッド161★★
http://toro.2ch.net/test/read.cgi/tech/1364006637/

****オススメ関連リンク****
■ TechBooster http://techbooster.org/category/android/tableofcontents/
■ Androidメモ http://www.saturn.dti.ne.jp/npaka/android/index.html
■ 逆引きAndroid入門 http://www.adakoda.com/android/
■ Androidプログラマへの道 http://wiki.livedoor.jp/moonlight_aska/
■ Android Wiki* http://wikiwiki.jp/android/

****公式リファレンス****
■ Android developers http://developer.android.com/index.html
■ ソフトウェア技術ドキュメントを勝手に翻訳 http://www.techdoctranslator.com/
■ 日本Androidの会 http://www.android-group.jp/
■ StackOverFlow http://stackoverflow.com/questions/tagged/android

****前スレ****
Androidプログラミング質問スレ Part38
http://toro.2ch.net/test/read.cgi/tech/1385066361/
0002デフォルトの名無しさん2013/12/22(日) 08:04:47.96
前スレの新幹線とトンネル問題において
※カレの釣りは承知の上 Googleの決済だけ出来て内部課金が出来ないようなタイミングはまずありえない
※大手なら自前サーバーで管理するので対策は出来ているはず

管理対象のものは復旧は可能だと思うが、
管理対象外のものの問い合わせって出来ないよね?
0003デフォルトの名無しさん2013/12/22(日) 15:39:43.62
>>1
おつ
0004デフォルトの名無しさん2013/12/22(日) 17:00:10.66
別にプログラミングの質問ってわけじゃないけど
パズドラ関係のアプリって、なんであんなに有るのかと
パズドラ時間割、パズドラ練習ソフト
この人達は、パズドラがここまで人気が無かったら
何を作っていたのだろう





さぁ、製作者達のレスが楽しみだ。
0005デフォルトの名無しさん2013/12/22(日) 17:03:24.34
このスレ最初の、何言ってんだこいつ?頂きました
0006デフォルトの名無しさん2013/12/22(日) 17:13:32.51
そりゃ・・パズドラ以外のアプリを作るんだろ?

楽しみってどんなレスを期待してたの
0007デフォルトの名無しさん2013/12/22(日) 17:24:15.75
勝者に寄生する商法を実施したまでじゃない?
俺は自力でのし上りたいから寄生したくないけど
その結果、ジリ貧だぜ
0008デフォルトの名無しさん2013/12/22(日) 18:29:07.18
俺は勝者に寄生する商法実施してるけどこれもジリ貧だぜ
ま、世の中そううまくいかないようだぜ
0009デフォルトの名無しさん2013/12/22(日) 18:40:29.98
俺も作ったけど自分であったら便利だなと思ったやつを作って公開したわけで
まあ俺得アプリの分類だな
別に儲けようとは思ってないよ(広告は付けたけどw)
0010デフォルトの名無しさん2013/12/22(日) 18:47:40.76
今は進撃の方が熱いな
0011デフォルトの名無しさん2013/12/22(日) 19:52:01.95
質問いいでしょうか。
Android開発を始めたばかりの初心者です。
LogCatがあっという間に流れてしまい困っています。
実機(MemoPad HD7)に接続しているのですが、
LogCatにはRunしたアプリ以外にもその実機で動いているアプリの情報も出力される?ようで、
1秒ちょっとで10万件といった出力がされていて自分のログが読めずに消えてしまいます。
フィルターで表示する情報を絞っても、LogCatはある程度貯まると自動的にクリアされてしまうので
自分の情報は1秒ぐらいしか確認出来ません。
具体的に言うと
Tag:FWKEXT
Text:Enter GetCurrentOP
という出力が凄い勢いでログを食いつぶしています。(Application名は空白です)
LogCatに出力される情報がRunしたアプリだけに出来ないでしょうか?
0012デフォルトの名無しさん2013/12/22(日) 19:57:12.71
いいかげん広告つけてるアプリはクソって事に気づけよ
お金を頂く自信がないなら無料で出せ カスプログラマども
0013デフォルトの名無しさん2013/12/22(日) 20:00:05.24
>>11
フィルタ機能もあったかと思うけど、
俺はコマンドラインで adb logcat > file みたいにファイルに落としてからゆっくり見てる
0014デフォルトの名無しさん2013/12/22(日) 20:09:48.51
>>11
tag:タグの名前
でフィルタできるよ
0015デフォルトの名無しさん2013/12/22(日) 20:11:55.50
>>12
今時広告のないアプリ探す方が無理だわ
そういうビジネスモデルなわけでクソアプリかどうかは別問題
逆に使えるアプリほど強気に広告出まくりな傾向があるな
0016デフォルトの名無しさん2013/12/22(日) 20:43:17.35
誰も押さないアプリの広告って金になる?
0017デフォルトの名無しさん2013/12/22(日) 21:20:55.69
広告主にとってもデベロッパーにとっても金にならん
0018デフォルトの名無しさん2013/12/22(日) 21:24:10.72
>>13-14
ありがとうございます。
助かりました。
0019デフォルトの名無しさん2013/12/22(日) 21:38:21.37
>>11を読む限りだと
フィルタリングしてもログが流れちゃうよー助けてー
っていう質問だったんじゃないのか?
解決したのなら良いのだが。
0020デフォルトの名無しさん2013/12/22(日) 22:16:31.88
>>11
1秒に10万件って凄いなよく回るループにログ出力入れとけばなりそうだが
原因アプリ見つけて止めれ
0021デフォルトの名無しさん2013/12/23(月) 02:11:24.09
>>15
おいおいだから釣られるなってスルー検定中

いつも同じやつが一人で荒らしたり煽ったりしてるだけなんだって
一度からまれるとだんだん見えてくる
0022デフォルトの名無しさん2013/12/23(月) 07:47:05.92
>>17
カネにならないのは広告主じゃなくて広告代理店でしょ
広告主はノークリックの場合代金は請求されない?
0023デフォルトの名無しさん2013/12/23(月) 08:28:52.38
アプリ作ってLinearLayoutの一番最後の行が空いたので
広告付けたんですが
adMobに登録して、広告の付け方を調べたらAndroidのSDKのadMob用のlibでは無く
google_play_serviceをlibでリンクして、実装する
方法で書いてあったので、そうしたのですが
この方法であってるんですか?

あと、google_play_serviceをlibでリンクして
クリーンしてapkをエクスポートしたんですが
libでリンクして、実装した状態でリソース関係を
変更すると、自アプリのRファイルが消えて
google_play_serviceのRファイルだけ残って
自アプリがエラーだらけになるのですが
回避方法はありますか?

まぁ、ダウンロードしてもらえるようなアプリ
でも無いんですが、ちょっと気になります。
0024デフォルトの名無しさん2013/12/23(月) 09:05:04.57
なんかもう、色々あれだな
0025デフォルトの名無しさん2013/12/23(月) 09:14:13.21
広告を搭載する技術もないヤツがつくったアプリでも小銭を稼ぎたがるサモシサ
0026デフォルトの名無しさん2013/12/23(月) 09:46:20.99
ゲームを作る上でFpsの問題なんですが、
一定間隔の描画をSurfaceViewで別プロセスでやってます。
それでFpsを上げようとタイマー割り込みのms値を小さくしてみたのですが
なぜかある一定の速度より速くなりませんでした。
細かく削っていって調べたところ、
canvas = holder.lockCanvas();
//描画
holder.unlockCanvasAndPost(canvas);
このlockCanvas系統が速度を遅くしているというか
一定の速度の維持になってしまう原因だということがわかりました。
(タイマーなくして連続でこれを呼んでも一定になります)
そしてこれは実機で起こる現象でエミュでは起こらないようです。

このlockCanvas系一定速問題を解消する方法はないでしょうか。(SurfaceView使用前提で)
0027デフォルトの名無しさん2013/12/23(月) 09:54:47.43
一定の速度って何のことかわからないけど
単純にそれがCanvas使った描画の限界速度なんじゃないの?
0028デフォルトの名無しさん2013/12/23(月) 11:30:19.13
>>26
VSYNC待ちかな
Jelley Beanから描画はVSYNCに同期するようになった
通常60fpsだけど、機種とか設定によってはもっと低いかもしれない

Androidフレームワークの機能なので、Surfaceview前提だと
どうしようもないんじゃないかな
0029デフォルトの名無しさん2013/12/23(月) 12:07:21.57
やはりSurfaceview描画で勝手に同期かかってましたか。
情報有難うございます。
0030デフォルトの名無しさん2013/12/23(月) 12:18:59.21
file.available();でfilses/のファイルサイズ取得できるのはわかったのですが
app/にある自己apkのファイルサイズ取得はできないようです。
ここの自己サイズを取得する方法はないですか?
0031デフォルトの名無しさん2013/12/23(月) 15:14:07.88
なんか説明が下手くそでよくわからないが
ApplicationInfo#sourceDirをFile型でavailableで取得すれば取れるでしょ
files/はアプリプライベートフォルダ内でapp/はルート配下の/data/app/の話で取得場所間違えてるんじゃないの
0032デフォルトの名無しさん2013/12/23(月) 15:21:21.69
そのフォルダでやりました。
アプリプライベートフォルダではできたのにappの方はエラーになってできなかったもので
0033デフォルトの名無しさん2013/12/23(月) 15:30:41.47
よく見たらFileにavailableなんてなかった
これでやってみ
new File(getApplicationInfo().sourceDir).length();
とれないならシステムフォルダだしroot化してないといけない可能性もある
0034デフォルトの名無しさん2013/12/23(月) 15:45:55.64
>>33
それで取得できました。
ありがとうございます。
0035デフォルトの名無しさん2013/12/23(月) 16:22:02.25
ん?sourceDirってdata/appのapkへのパス取得するだけなんだから
自分で絶対パス指定してnew File()しても結果同じでしょ?
なんで>>30でダメで>>33でいけるんだ
0036デフォルトの名無しさん2013/12/23(月) 16:43:37.90
available();がシステムフォルダに使えないということで
0037デフォルトの名無しさん2013/12/23(月) 19:37:32.33
親ディレクトリから何かしようとしたんじゃ。
new File(親ディレクトリ).listFiles()
とか
0038デフォルトの名無しさん2013/12/24(火) 01:29:18.90
リストを電話帳みたいに右側に頭文字出してソートするのは
どうすればいいんでしょうか?
0039デフォルトの名無しさん2013/12/24(火) 03:21:18.21
そういう動作を実現させるためのアルゴリズムを自分で考える
そしてそれがプログラマーの仕事
0040デフォルトの名無しさん2013/12/24(火) 07:46:34.55
>>38
(1)ジュンク堂に行って関連資料が載っている本を買ってくる
(2)徹底的にググレカス
どちらか
0041デフォルトの名無しさん2013/12/24(火) 09:14:56.09
質問も曖昧だが、回答の煽りもワンパターン
0042デフォルトの名無しさん2013/12/24(火) 09:40:13.08
>>質問も曖昧だが、回答の煽りもワンパターン
>>質問も曖昧だが、回答の煽りもワンパターン
>>質問も曖昧だが、回答の煽りもワンパターン
0043デフォルトの名無しさん2013/12/24(火) 10:17:47.04
longからintにキャストする場合、
intの範囲外の値がキャストされた場合はどのような値になるかのきまりはどうなっていますか?
0044デフォルトの名無しさん2013/12/24(火) 10:22:26.36
>>43
(1)ジュンク堂に行って関連資料が載っている本を買ってくる
(2)徹底的にググレカス
どちらか
0045デフォルトの名無しさん2013/12/24(火) 10:36:22.13
>>44
徹底的にググレカス
記載はない
0046デフォルトの名無しさん2013/12/24(火) 10:41:53.11
>>43
上位8ビットが無くなった値になる
long0000111100001111だったらint00001111になる
0047デフォルトの名無しさん2013/12/24(火) 10:47:24.43
質問は自分で試せばわかる内容だが
回答の煽りもワンパターン、そんなやつが作るアプリもおそらくワンパターン
0048デフォルトの名無しさん2013/12/24(火) 10:50:53.18
>>46
ありがとう
実機で検証して上位ビットがカットされるのは分かっていたのだが、
javaの決まりとしての記述が知りたかった
0049デフォルトの名無しさん2013/12/24(火) 10:54:54.88
>>48
俺もjavaとしての規約になってるかはわからんけど
プログラムの雑談すれで質問したら教えてくれた
0050デフォルトの名無しさん2013/12/24(火) 11:19:21.12
>>48
公式な決まりが読みたいならJava言語仕様を読めば?
俺が今読んだら答えは書いてあったけど。

もしかして、Java言語仕様を読めないから代わりに読んでくれって趣旨の質問?
0051デフォルトの名無しさん2013/12/24(火) 11:25:54.38
はいはいw 自慢はいいからw
0052デフォルトの名無しさん2013/12/24(火) 11:37:30.74
>>51
仕様書が読めるだけで自慢になるの?
0053デフォルトの名無しさん2013/12/24(火) 11:40:14.13
url書いてご覧、書けるものなら
0054デフォルトの名無しさん2013/12/24(火) 11:44:36.34
>>53
このスレってちょっと煽ると顔真っ赤でレス返してくれるから
荒らしがいがあるよなwwwスルーされるとつまらんし!
0055デフォルトの名無しさん2013/12/24(火) 11:45:49.94
>>53
https://www.google.co.jp/search?q=Java%E8%A8%80%E8%AA%9E%E4%BB%95%E6%A7%98

# Googleで検索することすらできないプログラマって…
0056デフォルトの名無しさん2013/12/24(火) 11:55:49.66
直で書け アホ
どこに頭のbitをcutするって書いてあるw
0057デフォルトの名無しさん2013/12/24(火) 11:58:21.95
追加
書けるものなら書いてご覧w
0058デフォルトの名無しさん2013/12/24(火) 12:04:24.41
>>56
俺は「上位bitをカットする」とは言ってないが。
仕様書を出せという質問を「上位bitをカットすると書かれたソースを出せ」とすり替えて勝利宣言されてもねぇ。
0059デフォルトの名無しさん2013/12/24(火) 12:06:54.44
2262行目に書いてあるだろ。
アホ
0060デフォルトの名無しさん2013/12/24(火) 12:10:03.58
>>59
もはや会話が成立してませんねえ。
俺は仕様書のURLを出せと言われたから出しただけで、それ以外の質問に答えた気はないんですがねえ。
0061デフォルトの名無しさん2013/12/24(火) 12:10:57.03
>>58
まぁまぁ、可哀想な人として優しく接してあげようよ。
小学校の通信簿に「木を見て森を見ずになっています」と書かれていたと思うよ。
0062デフォルトの名無しさん2013/12/24(火) 12:12:01.90
>>60
お前も落ち着け
おそらくそいつは別人
0063デフォルトの名無しさん2013/12/24(火) 12:51:40.32
>>59
どこの?(笑)
0064デフォルトの名無しさん2013/12/24(火) 12:56:20.96
http://www.y-adagio.com/public/standards/tr_javalang/5.doc.htm#175672
これが真の回答です みなさん ホントに知ってた?(笑)
0065552013/12/24(火) 12:59:57.39
>>64
知らなくても「Java言語仕様」でググって公式の言語仕様見て、
castやlongで検索すれば簡単にその記述に辿りつけるだろう。

その程度もできないのはもはやプログラマではない。PC初心者
0066デフォルトの名無しさん2013/12/24(火) 13:04:15.29
記述を探す以前に数通りのパターンを試して納得でいないほうが
プログラマではない。
0067デフォルトの名無しさん2013/12/24(火) 13:18:20.19
はい、負け惜しみはそれ位にして...
コプロのバグを出した時のインテルの社長の言い訳みたいだな
おんりーじゃばらーのみなさんは数値を16進で見る事がないので理解もしにくいだろうね
サラミでさえ10進で書いてあるし(笑)
みなさんお疲れ様でした ランチタイムのひつまぶしが出来たねぇ
0068デフォルトの名無しさん2013/12/24(火) 16:07:24.63
>>64
javaのSE7 java プログラマー Silver取った時に覚えた
byte→short→int→long→float→double
char→↑
は、暗黙的なキャストする。
ちなみに、Silver取った後、先輩が引数でfloatを取るメソッド
に関してintの値を渡した時
「これは内部でintを、受け取るメソッドがあるんだ( ・`д・´)」
って言ってて、世の中そんなもんかと情けなくなった。
0069デフォルトの名無しさん2013/12/24(火) 16:45:14.98
>>68
「シルバー」ってオラクルかよ!!
と突っ込み入れかけた所で、確かにオラクルになったことを思い出した
オジサンが受けた頃はねー、Sun認定Javaプログラマー(SJC-P)って名前だったんだよー

そう言えばプリミティブのキャストとか出題されてたね
0070デフォルトの名無しさん2013/12/24(火) 16:58:59.01
>>68
…ん?

「引数でfloatを取るメソッドに関してintの値を渡した」ということはどうやって確かめたの?
ソースコードで?IDEでメソッドの定義を確認?
どちらの方法で確認したにせよ、先輩とやらもそれを確認できるはずだから間違えるのはあり得ないだろう

なーんかおかしいですねぇ。
0071682013/12/24(火) 17:17:42.42
>>70
ソースコードです。
0072デフォルトの名無しさん2013/12/24(火) 17:20:32.73
>>71
「floatを取るメソッドとは別にオーバーロードでintを受け取る同名メソッドがあるんだ( ・`д・´)」
という話かと思ったけど、ソースコードを見てるなら内部も糞もないと思うが…

先輩とやらはキャスト以前にJavaのソースコードを読めないのでは?
0073682013/12/24(火) 17:27:14.33
>>70
追伸
その先輩は、Androidの知識はあるけど
javaの知識は、あまりないようで
色々とjava関連の知識が欠如していて
Eclipse使ってる以上、インテリセンスで、int型の引数
も受け取るメソッドのオーバーロードがあれば
そのメソッドが出るはずですが、無かった故に
言った言葉でした。
0074デフォルトの名無しさん2013/12/24(火) 17:49:10.44
本やHPばかり眺めてないで、もっと手を動かそうぜ。
0075デフォルトの名無しさん2013/12/24(火) 17:58:49.39
>>74
毎日動かしてるぜ!!
特にモニター見ながら、右手を上下に!!
0076デフォルトの名無しさん2013/12/24(火) 18:04:45.41
>>75
腰の方動かせや
0077デフォルトの名無しさん2013/12/24(火) 19:15:10.60
androidのOpenGLでテクスチャAの部分をテクスチャBに貼ってそれを画像へ表示するということをしたいのですが
テクスチャAの部分をテクスチャBにコピーするサンプルと解説が載ってあるページをどこかあったら紹介してもらえないでしょうか
このテクスチャ間のコピーの用語がわからないのでなかなか見つからないでいます
0078デフォルトの名無しさん2013/12/24(火) 19:25:51.87
えっちぺーじ
0079デフォルトの名無しさん2013/12/24(火) 19:29:37.27
subimageじゃダメ?
glTextureSubImage
みたいな命令があった気がするけど、glesにもあるかは調べてない
0080デフォルトの名無しさん2013/12/24(火) 19:33:49.05
普通に2枚ポリゴン用意して重ねて表示しれば
0081デフォルトの名無しさん2013/12/24(火) 19:52:19.84
>>79
subimageで調べていたら
glTexSubImage2Dというのが出てきました
どうもこれが近そうです。
こちらを調べてみます。ありがとうございます。
0082デフォルトの名無しさん2013/12/24(火) 20:11:55.99
>>68
逆の事ですけど?
増える分にはさほど問題ではない
0083デフォルトの名無しさん2013/12/24(火) 20:42:15.04
なんか伸びてると思ったら・・・
今度は型キャストでもめてたのかよ
そういう話題こそデベロッパースレでやれ
0084デフォルトの名無しさん2013/12/24(火) 20:45:25.46
最近は8割方デベロッパースレ向けのネタだな。
そろそろム板にも戻すか
0085デフォルトの名無しさん2013/12/24(火) 23:00:01.50
>>38
AdapterにSectionIndexer実装していろいろやってみな
0086デフォルトの名無しさん2013/12/24(火) 23:45:37.26
オーバーレイ系アプリを作っています。
WindowManagerのaddviewにパラメータとしてFLAG_FULLSCREENを入れてるのですが、通知領域やナビゲーションバーまで広がりません
ディスプレイ全体に広げたいのですが、どういった方法が有効でしょうか。どなたかご教授下さい。
0087デフォルトの名無しさん2013/12/25(水) 00:03:18.10
フルスクリーンにすればいい
0088デフォルトの名無しさん2013/12/25(水) 00:54:10.53
千野うざい
0089デフォルトの名無しさん2013/12/25(水) 13:33:50.60
Android 2.3〜4.3 対応で
アンインストール時に消されないフォルダパスって
どうやって取得すればいいですか?
IMAGEとかの共有フォルダは使いたくないのです。
0090デフォルトの名無しさん2013/12/25(水) 14:47:46.46
>>89
getExtornalStoragePath みたいなので、本体ストレージまたはSDカードのパスがとれるよ
そこに保存すればアンインストールしても消えないよ
0091デフォルトの名無しさん2013/12/25(水) 15:04:00.21
ノートで快適に開発している方に
どのくらいのスペックで開発してますか?
Celeronとかなめてますかね?エミュレータが起動すらしないので新しいPC買おうとおもってます
0092デフォルトの名無しさん2013/12/25(水) 15:04:43.72
>>86です。
パラメータにFLAG_LAYOUT_IN_SCREENを入れ、レイヤをTYPE_SYSTEM_ERRORに指定する事でステータスバーを覆う事ができました。
しかしナビゲーションバーは隠れてくれません。4.3のエミュで実行しているのですが、ナビゲーションバーの表示レイヤはステータスバーより高いという事なんでしょうか。。。
0093デフォルトの名無しさん2013/12/25(水) 15:10:46.08
>>92
getWindow().addFlags( WindowManager.LayoutParams.FLAG_FULLSCREEN );
ただしActivity.setContentViewする前じゃないといけないのと
ナビゲーション領域を消せなかったかもしれない
0094デフォルトの名無しさん2013/12/25(水) 15:35:16.86
>>93
返信ありがとうございます。
Activityでナビゲーション領域を隠す事はできるのですが、Serviceからinflaterで生成したViewを画面に常駐表示する時に
ナビゲーションバー領域に表示させたいと思っています。説明が足りなくてすみません。。
0095デフォルトの名無しさん2013/12/25(水) 16:35:46.39
質問させていただきます。
ディープスリープ状態でも、目覚ましみたいな
ある一定の時刻になると処理を開始して処理が
終わったら終了させる動作をさせるには
どうやったら良いのでしょうか。
サービスだとディープスリープ状態では
停止してしまうので、どなたかご教示願います。
0096952013/12/25(水) 16:42:53.90
追伸
アドバンスドタスクマネージャを見ると
サービスでは無く、別の方法で
フォアグラウンドでアプリが生きてるようなので
そのような実装の方法を知りたいです。
0097デフォルトの名無しさん2013/12/25(水) 17:33:36.93
xx分後に処理をするようにしたのですが
sleepとtimer.scheduleどっちを使った方がいいでしょうか?
途中で処理を受け付けたり変更などはしません。
0098デフォルトの名無しさん2013/12/25(水) 17:44:11.25
久しぶりに開発やってみようかと思って聞きたいんだけど
無料アプリを有料に変更ってできなかったと思うけど
アプリ内課金ってのを使えば無料版を課金版に変更できるの?
0099デフォルトの名無しさん2013/12/25(水) 18:49:27.44
>>95
>>97
AlarmManager
0100デフォルトの名無しさん2013/12/25(水) 19:54:30.39
>>98
>>アプリ内課金ってのを使えば無料版を課金版に変更できるの?
android2.2以上が対象なら出来るよ
0101デフォルトの名無しさん2013/12/25(水) 19:58:26.00
書き足し
Playストアが入っている端末ならOK Android2.1以下(マーケット)はダメ
PCに既にサンプルが入っているはずだからそれを参考にすれば長くて1日あれば実装出来る
■ このスレッドは過去ログ倉庫に格納されています