X



Androidプログラミング質問スレ revision54
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
垢版 |
2017/11/15(水) 05:24:17.80ID:F5cxE2Dc
※プログラミング自体が初めて!なあなたには↓↓↓こちらへ
スレ立てるまでもない質問はここで 146匹目
http://mevius.2ch.net/test/read.cgi/tech/1487825717/
Eclipse統合M36【Java/C++/Ruby/Python/Scala】
http://mevius.2ch.net/test/read.cgi/tech/1503723668/
★★Java質問・相談スレッド180★★
http://mevius.2ch.net/test/read.cgi/tech/1492780397/
****オススメ関連リンク****
■ TechBoosterhttp://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 developershttp://developer.android.com/index.html
■ ソフトウェア技術ドキュメントを勝手に翻訳http://www.techdoctranslator.com/
■ 日本Androidの会http://www.android-group.jp/
■ StackOverFlowhttp://stackoverflow.com/questions/tagged/android

****前スレ****
Androidプログラミング質問スレ revision52
http://echo.2ch.net/test/read.cgi/tech/1479305887/
Androidプログラミング質問スレ revision53
http://mevius.2ch.net/test/read.cgi/tech/1488052551/
0340デフォルトの名無しさん
垢版 |
2018/03/24(土) 18:58:14.18ID:3a9WvB4d
LinuxでAndroid studioを使おうと思ってます。
32bit版はSDKにバグがあると聞いたこともあるのですがやってみました。

新しいプロジェクト作成してビルドすると
Faild to find Build tool revison 26.0.2
install Build tool 26.0.2 and synic project.
とエラーが出ます。

いくつか情報探して英語のページにBuild toolを 26.0.2を消して
23.0.2にすればいいとあったので入れ替えてみました。
build.gradleを
compileSDKVersion 23
buildToolVersion "23.0.2"
implementation 'com.android.support:appcompat-v7:23.0.2'
implementation 'com.android.support:design:23.0.2'
と書き換えてキャッシュクリアリスタートしてビルドしたのですが
Faild to find Build tool revison 26.0.2
install Build tool 26.0.2 and synic project.
のエラーはやはり変わりませんでした。
どこにも26.0.2の記述はしてないのに処理系はなぜ
このナンバーにとらわれるのでしょうか?
26を探さずにこのエラーを解消させるにはどうすればよいでしょうか?
0342デフォルトの名無しさん
垢版 |
2018/03/24(土) 19:09:26.56ID:3a9WvB4d
すいません最初のエラーメッセージはFaild to find Build tool revison 26.0.2でなくて
entry fileTemplates singleton.java.ft not found in ...resources_en.jar
とかいうやつでした
その次が26にとらわれたものがいつまでも出ます
0343デフォルトの名無しさん
垢版 |
2018/03/24(土) 19:26:43.51ID:PJNy7Xo/
>>340
AndroidStudioがサポートしているバージョンが26.0.2以降だからじゃない?
そのバージョンがインストールされてなくてエラーになってるみたいだけど。
0349デフォルトの名無しさん
垢版 |
2018/03/24(土) 20:02:10.93ID:9/UBEnz8
>>345-347
あーtargetSdkVersionが26(=Oreo)から対象なんだね
自分のアプリ見たら24だった
多分アプリが使えなくなるまで24から上げないかも…
0351デフォルトの名無しさん
垢版 |
2018/03/24(土) 20:15:26.94ID:5PTcgjGk
ttps://developers-jp.googleblog.com/2017/12/improving-app-security-and-performance.html

>2018 年 8 月: 新しいアプリで、ターゲット API レベル 26(Android 8.0)以降が必須になります。

>2018 年 11 月: 既存のアプリのアップデートで、ターゲット API レベル 26 以降が必須になります。

>2019 年以降: 毎年、targetSdkVersion の要件が上がります。Android の各デザート リリースの後 1 年以内に、新しいアプリとアプリのアップデートは、対応する API レベル以降にターゲットを指定することが義務づけられます。
0352デフォルトの名無しさん
垢版 |
2018/03/24(土) 20:17:50.60ID:9/UBEnz8
>>350
そうするとアップデート検知は明示的インテントにして逃れろという事なのか
まあアプリのアップデートなんて頻繁にするし仕方ないのかな
0355デフォルトの名無しさん
垢版 |
2018/03/24(土) 22:30:12.37ID:Ug4QAJyA
>>340ですが

>>343
26.0.2のインストールはしてます、問題起こるんでわざと外して古いのにしたのが下のエラーです
>>344
それの -Djdk.util.zip.ensureTrailingSlash=false 記述はもうやってたんです 起動時IDEのエラーはなくなりました

No server to server request.というエラーもでてる。
やっぱりubuntuの32bitではは無理なのかな。。
0357デフォルトの名無しさん
垢版 |
2018/03/26(月) 14:45:01.15ID:1dfxBabL
edittextで2文字ぐらい入力されたときに予測を出して選択するようにするにはどうすればいいのでしょうか?
スマホ自体の予測変換ではなくて、その入力される枠に対してこちらが用意したリストから予測を出したいです
例)大学名を入力する枠で、「とう」と入力されたら「東京大学」「東京工業大学」など

よろしくお願いします
0359デフォルトの名無しさん
垢版 |
2018/03/26(月) 15:58:50.02ID:/QuoiSHd
入力中の「とう」を「東」と判定はできないけど、そこはまだIME側の対応だろうと考えます。
0361デフォルトの名無しさん
垢版 |
2018/04/01(日) 11:25:16.99ID:zXYiYzGh
OreoからBroadcastReceiverでNEW_OUTGOING_CALLが捕捉出来ない時があるんだけど
自分のXperiaだけなのかな?
0362デフォルトの名無しさん
垢版 |
2018/04/01(日) 11:33:43.48ID:zXYiYzGh
時間置いた後の1回目が捕捉出来ない事がある
その後は使えるけどDozeが絡んでるのかな
0364デフォルトの名無しさん
垢版 |
2018/04/01(日) 17:24:08.66ID:D2Nk7LlY
メーカーがカスタマイズした省エネモードとかやっかいだよな
結局ホワイトリストに入れてもらうしか対処がない
0365デフォルトの名無しさん
垢版 |
2018/04/01(日) 18:21:21.17ID:zXYiYzGh
OS設定の省電力機能の対象外にする設定のある場所とか
HuaweiとかASUSの省電力、自動起動設定とか
普通のユーザーに分かる訳ないと思うんだけどなぁ
Googleにとってはこれを乗り越えられない開発者はいらないって事なのか
0366デフォルトの名無しさん
垢版 |
2018/04/01(日) 23:21:07.98ID:uuYZUqf2
グーグルのエープリールフールがしっかりと動作してやがる 余計なことしてないで本業をだな
0367デフォルトの名無しさん
垢版 |
2018/04/02(月) 10:36:14.29ID:HK/6o0IR
Android6.0で実機デバッグをしています。
アプリをFLAG_KEEP_SCREEN_ONで常に画面表示でずっと動かしてると、
たまーにアプリがホームボタンを押したのと同じ状態で隠れている状態になる時があります。
実際画面も点きっぱなしなので、右下のメニューボタンを押すとアプリがあり、エラーも無く動きます。

この場合はどんな原因があって、アプリが隠れてしまうのでしょうか?
(WiFiなどはOFFにして、他のアプリは特に動作した形跡も見られません。)
0368デフォルトの名無しさん
垢版 |
2018/04/03(火) 20:13:48.98ID:9o6K6cf3
MainActivity#onCreate()、onResume()、onWindowFocusChanged()にて以下でナビゲーションバーとステータスバーを非表示にしています。

View decorView = getWindow().getDecorView();
int uiOptions = View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
| View.SYSTEM_UI_FLAG_FULLSCREEN
| View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY;
decorView.setSystemUiVisibility(uiOptions);

1.アプリ起動時にナビゲーションバー、ステータスバーが一旦表示されフェードアウトして隠れるのですが、隠れる動作をなくす(最初から両方のバーが隠れている)よう方法はありますでしょうか。

2.オプションメニューやスピナーをタップすると、両方のバー半透明の黒でなく通常の黒状態で表示されますが、抑制する方法はありますでしょうか。

https://developer.android.com/training/system-ui/visibility.htmlを参考にView.OnSystemUiVisibilityChangeListenerに上記を組み込みましたがうまくいきませんでした。
0371デフォルトの名無しさん
垢版 |
2018/04/05(木) 07:20:13.43ID:zG+k4oUP
>>368
2.は俺も前やったな。通常のメニュー表示すると、没入モード解除されて回避方法ないような気がする。
だから、メニュー使わずにダイアログフラグメント使ってメニューっぽく仕上げて回避したな。俺は。
ダイアログフラグメントも普通に表示すると、没入モード解除されるから
フラグ設定して表示すればよかった。

ほんとAndroidはクソすぎて嫌になるわ。
0372デフォルトの名無しさん
垢版 |
2018/04/05(木) 13:21:15.72ID:p8p8O582
Activityがバックグラウンドになった時、フォアグラウンドに復帰させる方法ってありますか?
調べても検知するだけで、復帰方法までは見つからなかったので質問させて貰いました。
0374デフォルトの名無しさん
垢版 |
2018/04/05(木) 13:41:44.15ID:qceqcF3w
>>372
そんな事アプリが勝手にやったらウイルス作れちゃうじゃん
根本的なUIの改善を考えなされ
0375デフォルトの名無しさん
垢版 |
2018/04/05(木) 13:51:13.88ID:p8p8O582
>>373-374
確かに暴走した時にキル出来なくて、
スマホの再起動くらいでしか戻れない迷惑なアプリですよね・・・
考え直してみます
0376デフォルトの名無しさん
垢版 |
2018/04/05(木) 16:29:35.48ID:UuUARDUA
なんかここで質問されるのって普通じゃ思いつかないような変な使い方が多いような気がする笑
0377デフォルトの名無しさん
垢版 |
2018/04/05(木) 17:09:22.13ID:Qh7cAqjK
普通の使い方ならば質問してないでgglksとか言われて終わら
されるような気がするので正しく機能しているということではw

ただ普通の使い方がAPIの更新という名目の元に毎年
ドラスティックに変更されてしまうので付いていけないというか
付き合いたくないってのはあるかな・・・
0380デフォルトの名無しさん
垢版 |
2018/04/05(木) 22:07:59.00ID:jKn24thT
Gradleってなんでオンラインじゃないとだめなんだろ?
なにしてるんだろ、まさかこちらのソース送ってるとかないよね
0382372
垢版 |
2018/04/06(金) 09:17:23.05ID:6G6WbNPR
>>373-374
考えてみたけど、思いつかなかったです・・・。

症状としては、数時間後にアプリが勝手にバックグラウンド(ホームボタンを押した状態)に移動してしまい、
隠れてしまうのを回避したいです。
根本的な解決だと移動する原因を突き止めることなのでしょうが、
アプリが勝手に隠れる原因って何でしょうか?
アプリはFLAG_KEEP_SCREEN_ONで常時画面ONにしていて、
他にアプリが起動した様子は無く、WiFiも切っています。
0384デフォルトの名無しさん
垢版 |
2018/04/06(金) 09:29:14.86ID:1s4vQgLg
>>382
そのフラグって起動している間は画面をオフにしないってだけでは?
常時そのアプリをアクティブにするものとは違ってたかと
0385372
垢版 |
2018/04/06(金) 10:07:25.02ID:6G6WbNPR
>>383
ホワイトリストには入れて無かったです。

>>384
画面ONで他のアプリが動かなければ、常時アクティブになるのかなと思ってました。


ゾンビ化させるつもりで、onPause()の時にonResume()を呼び出してみたけど、ダメでした。

@Override
protected void onPause()
{
super.onPause();
onResume();
}
0387372
垢版 |
2018/04/06(金) 14:29:54.97ID:6G6WbNPR
ありがとうございます
確かに電池の最適化なんて何やってるかわからないから、
まず除外して動かしてみます
0388デフォルトの名無しさん
垢版 |
2018/04/06(金) 18:03:16.34ID:yTrFAsEy
普通は勝手にバックグラウンドには行かないし、スリープ復帰後もフォアグラウンドのままだし
その端末がスリープに入るとアプリがすべてバックグラウンドに行く仕様とか
(それも変な仕様だけど。または変なアプリが入ってるとか)
0389デフォルトの名無しさん
垢版 |
2018/04/07(土) 00:37:29.79ID:KyZzR8Ca
クラッシュしてるんじゃ?
バックグラウンドに行く原因を特定するほうが先だと思うが
0391デフォルトの名無しさん
垢版 |
2018/04/07(土) 21:54:49.05ID:usGE3LU3
フォアグラウンドサービスはかなり殺されにくくなるだけで
絶対に殺されないものではないけど
途中で殺されてたりしない?
0393デフォルトの名無しさん
垢版 |
2018/04/08(日) 08:05:06.22ID:yAEsr6bU
google playで公開しているアプリのユーザーが、
とても良いアプリだからdonateしたいんだが的なことを英語のメールで送ってきたんですが、
非消費型アプリ内課金でdonate機能を付けることは問題ないんですかね
つまり、何も機能追加とかはしないけど単にお金を貰うだけということになるんですが
0394デフォルトの名無しさん
垢版 |
2018/04/08(日) 08:23:48.88ID:yAEsr6bU
もしくはそういう機能のあるアプリって既にgoogle playで公開されてたりしますか
0395デフォルトの名無しさん
垢版 |
2018/04/08(日) 08:33:10.78ID:yAEsr6bU
google的には30%の手数料収入が入ってくるわけだから禁止する理由もないのかな
0400デフォルトの名無しさん
垢版 |
2018/04/08(日) 16:14:58.90ID:nkM5b3tX
通報完了
0403デフォルトの名無しさん
垢版 |
2018/04/08(日) 20:09:13.69ID:XJyH/Fya
ブログとかwebサイトでも作ってそこにdonate機能つけて、アプリからそこにリンク貼ればいいんじゃね
0404デフォルトの名無しさん
垢版 |
2018/04/10(火) 08:17:25.88ID:4qTJiNgA
Googleは10%じゃなかったっけ?
リンゴと窓が30%で。
10%でも高すぎると思うんだけさぁ。
0405デフォルトの名無しさん
垢版 |
2018/04/10(火) 09:38:15.81ID:oTtORWOv
AndroidStudio 3.0.1を使用しています。
Android Profilerにてメモリ使用量を確認したところ、「Native」が開始直後は10MB程度から、数時間後に160MBまで増えているところまではわかりました。
ただ、このNativeの何が増えているのかはわかりませんでした。
([Dump Java heap]で開始直後と数時間後を比較すると、FinalizerReferenceやbyte[]は1.5倍程度にしか増えていませんでした)
この場合、何を見れば良いのでしょうか?
よろしくお願いします。
0406405
垢版 |
2018/04/10(火) 10:46:30.85ID:oTtORWOv
画面はこんな感じです。
http://fast-uploader.com/transfer/7078879864621.jpg

Retained Size 49248559Byte ≒ 47MByte 使用ってことでいいのかな?
ただ上のグラフだとNativeが増えて、Total 192MBのメモリを使用しているけども。
0407デフォルトの名無しさん
垢版 |
2018/04/10(火) 11:57:09.41ID:TSJBBdQs
>>393
>>396
俺も似たようなレビューを数件貰ってたから、広告非表示や機能追加で課金を検討してたけどPayPal経由で寄付実装なんてのもあったのか
Googleに怒られるかと思ってた
0408デフォルトの名無しさん
垢版 |
2018/04/10(火) 14:19:05.47ID:lVG+418w
Android Studioで大きな画像を表示してピンチイン・アウトをしたいと思い、
https://qiita.com/satoshinew/items/a5fa3711d76429159dcb
これを使いたいのですけど説明の意味がわからないので解説してください。
(Android Studioの設定は完了して「Hello World」の文字は表示されてます)

まず、導入の方法は2つあるようです。

「ライブラリプロジェクトをインポートする」場合、
https://github.com/satoshinew/GestureTransformableView/tree/master/GestureTransformableView
このページのどれをどうすればインポートできるのでしょうか?

「gesturetransformableview.jarを直接libsに突っ込む」場合
https://github.com/satoshinew/GestureTransformableView/tree/master/GestureTransformableViewSample/libs
このページには「android-support-v4.jar」「gesturetransformableview.jar」「picasso-2.2.0.jar」
と3つのjarがありますが
「gesturetransformableview.jar」だけをクリックして次の画面でダウンロードすればいいのでしょうか?

(ちなみに、Picassoというのは大きな画像を取り込める機能をもつライブラリ?のようですが
 このPicassoも使いたいと思ってます。
 このページにある「picasso-2.2.0.jar」をDLして突っ込むとPicassoも使えるようになるのでしょうか?)

そして次の
------------------------------------------
xmlで宣言する場合は  〜 (コード) 〜

直接書いちゃう人は   〜 (コード) 〜
------------------------------------------
についてですが
「xmlで宣言する場合」というのは「activity_main.xml」のところに書けばいいのでしょうか
「直接書いちゃう人は」というのは何をどこに直接なのでしょうか

よろしくお願いします。
0412デフォルトの名無しさん
垢版 |
2018/04/10(火) 19:51:27.91ID:lVG+418w
>>409
ライブラリプロジェクトのインポートやlibsやjarについて
詳しく書いてある本教えてください。

>>410
こんな短期間でやり方変わっちゃうんですか?
0413デフォルトの名無しさん
垢版 |
2018/04/10(火) 20:53:29.71ID:TVXUJkSK
公式に書いてあるんだからまずはそれを読むこと
そして4年は短期間ではない
0415デフォルトの名無しさん
垢版 |
2018/04/10(火) 21:09:11.67ID:FWUcHiU9
そもそもAndroid Studioじゃないんじゃねえの
4年前に最新のeclipaeでやったらうまくいくかもよ
0417デフォルトの名無しさん
垢版 |
2018/04/10(火) 22:34:26.61ID:lVG+418w
みなさんありがとうございます

広大なマップの上を移動していくゲームのように
大きな画像を無劣化で取り込みたいです
普通にimageviewで入れると勝手に小さくリサイズされて荒くなるけど
リサイズなしで取り込むにはどうしたらいいでしょうか
経験ある方教えてください

https://developer.android.com/studio/intro/index.html
この公式のガイド見てもよくわからないです
0421デフォルトの名無しさん
垢版 |
2018/04/10(火) 23:41:55.63ID:dT3ZHUu3
画像を表示させるだけでいいならBitmapRegionDecoderで必要な範囲だけ読み込む
それを元にゲームを作るのなら最初からゲームエンジンを使ったほうがいい
0423デフォルトの名無しさん
垢版 |
2018/04/11(水) 17:06:17.71ID:F/Ous+9J
Android ProfilerのMEMORYを見ていると、
GC発生毎にNativeが20〜50Byteほど増えるのですが、
GCの発生回数カウンタみたいな物はあるのでしょうか?
0424デフォルトの名無しさん
垢版 |
2018/04/11(水) 21:16:11.99ID:Ekrt4SSu
>417
エスパーしてリソースフォルダから読み込んでるとするとnodpiフォルダを作って
そんなかに入れとけば拡縮されないよ
0425デフォルトの名無しさん
垢版 |
2018/04/11(水) 21:18:55.41ID:MzqRQf+a
ASで新規プロジェクトでMapを選んで作成した場合
build.gradleで
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'com.android.support:appcompat-v7:27.1.0'
implementation 'com.google.android.gms:play-services-maps:12.0.1'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.android.support.test:runner:1.0.1'
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.1'
}
'com.android.support:appcompat-v7:27.1.0'の部分に赤の破線が出てしまいます。
通常のプロジェクト作成で自分でimplementation 'com.google.android.gms:play-services-maps:12.0.1'を
追加した場合も同じです。
0426デフォルトの名無しさん
垢版 |
2018/04/11(水) 21:19:15.36ID:MzqRQf+a
エラーの内容の詳細を見ると次のようになっています。
All com.android.support libraries must use the exact same version specification
(mixing versions can lead to runtime crashes).
Found versions 27.1.0, 26.1.0. Examples include com.android.
support:animated-vector-drawable:27.1.0 and com.android.support:support-media-compat:26.1.0.
There are some combinations of libraries, or tools and libraries, that are incompatible, or can lead to bugs.
One such incompatibility is compiling with a version of the Android support libraries that is not the latest version (or in particular, a version lower than your targetSdkVersion).
すべてのcom.android.supportライブラリは、まったく同じバージョン仕様を使用する必要があります
(バージョンを混在させるとランタイムクラッシュにつながる可能性があります)。
バージョン27.1.0、26.1.0が見つかりました。 例にはcom.androidがあります。
サポート:アニメーションベクタ描画可能:27.1.0、com.android.support:support-media-compat:26.1.0。
互換性がない、またはバグにつながるライブラリやツールやライブラリの組み合わせがいくつかあります。
このような非互換性の1つは、Androidサポートライブラリの最新バージョン(または特にtargetSdkVersionよりも低いバージョン)ではないバージョンのAndroidサポートライブラリでコンパイルされています。

特に26.1.0を指定した記述もしていないのになぜこうなってしまうのでしょうか?
環境構築になにか問題があるのでしょうか?
どうすればこの赤破線は消せますか?
0428デフォルトの名無しさん
垢版 |
2018/04/11(水) 22:25:40.20ID:bGKmreb3
AS3.0でプロジェクト新規作成したみたが26で作られて特にエラーはでないな
AS3.1は糞だからゴミ箱に入れてAS3.0でやり直したらいいんじゃね
0429デフォルトの名無しさん
垢版 |
2018/04/11(水) 22:39:16.57ID:bGKmreb3
AS3.1.1で試してみたが確かにエラーがでるね
appcompat-v7:26.1.0に変えて、compileSdkVersionとtargetSdkVersionを26に変えればいいんじゃね
0430デフォルトの名無しさん
垢版 |
2018/04/11(水) 23:04:49.66ID:2wRg4OP5
自作ホームアプリを起動したあとに他のアプリから呼び出すとactivityが二重に起動してしまいます。
launcherModeはsingleTaskに設定しているのですが、原因がわかりません。
どなたか原因わかる方いるでしょうか?
0431デフォルトの名無しさん
垢版 |
2018/04/11(水) 23:21:10.85ID:56ydcTG7
>>425
implementation 'com.android.support:appcompat-v7:27.1.0'
implementation 'com.google.android.gms:play-services-maps:12.0.1'
の依存でコンフリクトが起きているようで上にあるよう26に戻すか、オレのアプリは特にクラッシュしないので特に気にしていない
0432デフォルトの名無しさん
垢版 |
2018/04/11(水) 23:25:34.29ID:MzqRQf+a
>>429
それらを26にして破線を消すことができました
ありがとうございます
実機で実行した時になぜかクラッシュするようなので3.0を入れて試してみます
0437デフォルトの名無しさん
垢版 |
2018/04/12(木) 19:01:50.87ID:P2lbY/yn
ASの所為でもなく、敢えて言えば個々のライブラリが悪い。
けれど、この手の問題は良く発生するから、
implementation 'com.github.bumptech.glide:glide:4.6.1', {
exclude group: 'com.android.support'
}
という逃げ方があるのは覚えておく。
0438デフォルトの名無しさん
垢版 |
2018/04/13(金) 10:25:00.04ID:HJAWiCuj
カウンタを時間に変換したいと思っていますが、

SimpleDateFormat():スレッドセーフでは無い
String.format():すごく遅い

複数スレッドでたくさん時間に変換したいので、スレッドセーフかつ速い変換って何が良いのでしょう?
ググってもデメリットの説明ばかりで、代替え案が出てこないので教えてください。
■ このスレッドは過去ログ倉庫に格納されています

ニューススポーツなんでも実況