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/
0286デフォルトの名無しさん
垢版 |
2018/03/15(木) 22:13:58.45ID:pe+nbSvS
検索すりゃわかるけど、判定が恣意的らしいよ。引っかかったことないけど。
0290デフォルトの名無しさん
垢版 |
2018/03/16(金) 16:39:58.10ID:3ma6aQHv
読みにくい日本語だな
0291sage
垢版 |
2018/03/18(日) 11:15:12.73ID:CCLc+vNw
拾ったソースをAndroid studioで実装してるんだけど、 public Translate XXX; の宣言でTranslate が見つからないとエラーになる。
Translateって型は初めてなんだけど、これは標準であるのか?何かimportすればいいの?
ググっても分からなかったので、知ってる人が居たら教えてくれ、ここみろURLでもありがたい
0292デフォルトの名無しさん
垢版 |
2018/03/18(日) 13:07:59.24ID:jUFyI0zL
>>291
そのTranslateってのにカーソル移動して[Alt]+[Enter]したら、import class…ってポップアップメニュー出てこない?
出てくるならそれ選べばいいよ
0293デフォルトの名無しさん
垢版 |
2018/03/18(日) 14:25:33.86ID:CCLc+vNw
レスありがとう御座いました。

やってみたらポッポアップに、craate class Translate, enum, interfaceみたいなプルダウンが表示された。
ファイル選択のダイアログのコードのサンプルなんだけど、
public classの関数の中で xxx = new Translate( prameter1..... ); みたいな事をやっていて、
下でpublic Translate xxx ってその変数を宣言してるんだけど、Translateの本体の記述は無いみたいなんです。
0298デフォルトの名無しさん
垢版 |
2018/03/18(日) 16:55:15.77ID:zzqIKeVw
OSとAndroid-SDKを全部入れ直した時にDDMSでデバイスの認識がなされなくなってしまってAndroid-Studioでも認識しないのですが
SDKの何を入れればいいでしょうか?
platform-toolsとtoolsは前のやつが残っていたのでこれだけ入れ替えてみたのですが変わりませんでした
0299デフォルトの名無しさん
垢版 |
2018/03/18(日) 16:55:29.15ID:CCLc+vNw
>>295
ありがとう御座います、それです。

TTSのサンプルがあっさり動いたので、ファイル読ませようとしてました。
ttps://akira-watson.com/android/tts.html

もうちょっと工夫してみます。
0302デフォルトの名無しさん
垢版 |
2018/03/18(日) 21:23:18.62ID:jUFyI0zL
>>299
たぶん、"Open", "Open ...", "Move", "Cancel"ってテキストを、"開く", "開く ...", "移動", "キャンセル"って日本語で表示したいがために挟んでるクラス。
スタックオーバーフローにある実装でよいはず。
0304デフォルトの名無しさん
垢版 |
2018/03/18(日) 22:51:24.60ID:TSRsenip
HttpURLConnectionでサーバー(JavaServlet)と通信しようとしているけど
セッション(クッキー)が使えなくて困ってる。
最初の通信でクッキーは取得できているけど保存されず、次の通信で
セッションIDが送信されてないようだ。
いろいろググってみたけどよくわからない。
どこか分かりやすいページがあったら教えてください。
0307デフォルトの名無しさん
垢版 |
2018/03/20(火) 23:35:20.18ID:rHnlyE8H
>>306
どうもありがとうございました、なんとかできました。

CookieManager cookieManager = new CookieManager()
をstatic変数で保持しておいてそこから通信の度にクッキーを取り出して
リクエストに追加する方法でできました。
0308デフォルトの名無しさん
垢版 |
2018/03/20(火) 23:37:26.70ID:rHnlyE8H
>>305
ありがとうございます、アプリを終了した後もクッキーを保持したい場合はその方法がよさそうですね。
0309デフォルトの名無しさん
垢版 |
2018/03/20(火) 23:42:23.76ID:UYhDaQME
どんな通信してるか知らんけどOSS使ったほうがいいよ
あとAndroidのstatic変数は実際ヤバい
0310デフォルトの名無しさん
垢版 |
2018/03/21(水) 00:58:42.92ID:y6AX/PTk
どんな端末でも動き続けるServiceの作り方が知りたい
setForegroundでも死ぬとかDozeって何なの
0312デフォルトの名無しさん
垢版 |
2018/03/21(水) 13:04:49.15ID:XXsasApU
Dozeってロリポあたりから導入されたOSの省エネ機能だけど
最初わからなくてスケジュールとかタイマーが勝手に止まるから苦労したよ
0313デフォルトの名無しさん
垢版 |
2018/03/21(水) 17:21:39.50ID:YRqTlifo
>>310

死なないサービスを作るのではなくて、色々なインテントで
動いていることを確認して動いていなかったら起動する
インテントハンドラを登録するのが古の手法なんだけど
今は駄目なのかな
0315デフォルトの名無しさん
垢版 |
2018/03/21(水) 21:46:09.67ID:y6AX/PTk
>>313
死活監視してるもの自体が死ぬこと考えると面倒だな
多重化して監視し合うとかするのか?
0319デフォルトの名無しさん
垢版 |
2018/03/22(木) 16:50:16.19ID:U7Myot5k
>>315
通常のプログラムは監視プロセスが必要だけどインテントハンドラは
システムにこのインテントが着たらこのプログラムを呼び出して
くださいって登録するので自分で管理しなくても自動的にシステムが
監視してくれる

ただシステム任せなんでシステムの挙動がおかしくなると動かな
かったりもするけど、システムがおかしい時の挙動なんて誰も保障
しないだろうけど

>>317>>318
AlarmManagerはロリポかその前くらいからシステムが勝手に時間を
まとめて実施したりするように変更されたのでちゃんとした定期実行
にはつかえなくなったんじゃなかったけな

JobSchdulerで監視すると監視タイミングごとにプロセスが起動されて
しまうため、あまり短時間で監視を行うとただのバッテリードレイン
アプリができてしまうことがあるかな
0320デフォルトの名無しさん
垢版 |
2018/03/22(木) 17:22:02.19ID:doODULmf
ここのページに
ttp://pancreatic.cocolog-nifty.com/oncle/2015/03/android-50-e878.html
Android5.0以降ではLVLのバグがあってクラッシュするから
このように修正しろってあるけど、実際どうなんですか?
自分は5.0以降でもクラッシュしたことないけど
Googleでこのことについてなにか公式のアナウンスあった?
0321デフォルトの名無しさん
垢版 |
2018/03/22(木) 23:06:03.77ID:qBdsyPIV
複数のアクティビティに対してアクションバーに同じメニューの追加、ナビゲーションバーを非表示にしたいのですが、それぞれのアクティビティに同じ処理を書くしかないでしょうか?
共通機能として呼び出す形に出来ますでしょうか?
0322デフォルトの名無しさん
垢版 |
2018/03/22(木) 23:13:34.68ID:qHRh2ld2
>>321
まずActivityをextendedしてベースとなるActivityを定義、それにお望みの処理を書いとく。
あとはそれぞれのActivityをベースからextendedすればいいと思う。
0323デフォルトの名無しさん
垢版 |
2018/03/23(金) 14:34:26.63ID:KsJUpWGa
Android-StudioをノーパソにインストールしてGradleも正常に動いてました。
デスクトップ側に面倒なのでAndroid-StudioのフォルダとAndroid-SDKのフォルダをコピーして
フォルダ構成も全く同じにして起動すると
Gradle's dependency cache may be corrupt (this sometimes occurs after a network connection timeout.)
と出てGradleの同期に失敗します。ネットには繋がっています。
これはただフォルダをコピーするだけではいけない何かがあるのでしょうか?
どうすればGradle同期可能になるのでしょうか。
また0から地道にダウンロードインストールしなければ正常になりませんか?
0324デフォルトの名無しさん
垢版 |
2018/03/23(金) 14:53:56.53ID:9STFPDgD
>>323
Gradleの依存関係キャッシュが壊れている可能性があります(ネットワーク接続のタイムアウト後に発生することがあります)。

て話だから、メニューの「ファイル >キャッシュを無効にする/再起動する」を実行してみては?
.gradleの削除とあわせてみたりとかも
0325デフォルトの名無しさん
垢版 |
2018/03/23(金) 15:21:20.50ID:KsJUpWGa
キャッシュを無効にする/再起動するはやってみましたがだめでした。
.gradleの削除というのは環境本体は破壊されないのでしょうか?
調べてやってみます。
0326デフォルトの名無しさん
垢版 |
2018/03/23(金) 15:53:25.49ID:j+r5E+o7
>>322
提示していただいた方法で実装できました。
初歩的な質問にご回答いただき有り難うございました。
0327デフォルトの名無しさん
垢版 |
2018/03/23(金) 16:22:01.31ID:KsJUpWGa
.gradleフォルダ削除してもだめでした。
イベントログの方にはこう表示されてました。
Gradle sync failed: Cause: error in opening zip file

gradle-wrapper.propertiesには
distributionUrl=https\://services.gradle.org/distributions/gradle-4.1-all.zip
と記述がありこれも以前の環境では動いていたと思います。

他にどこを見ればいいでしょうか、もうさっぱりわかりません。
0331デフォルトの名無しさん
垢版 |
2018/03/23(金) 17:47:01.78ID:p9Zh+6Kq
あれこれ試行錯誤するよりデスクトップ側で再インストールして既存プロジェクトを開くなんやらした方がめんどくさくないと思う
0332デフォルトの名無しさん
垢版 |
2018/03/23(金) 18:10:46.67ID:KsJUpWGa
この動画を見ながら設定からGradleフォルダを直接指定にして
ttps://www.youtube.com/watch?v=qyXnYhUfOi0
それでもまだで、どこかのサイトに書いてあったJavaのバイトコードのバージョンを1.7に設定したら
同期できました。(後で設定見たらなぜかまたクリアされていたけど)
ん〜、Gradleは難しいですね、ちょっとしたことですぐ同期不可エラーになってしまう。
どうもお世話になりました。
0335デフォルトの名無しさん
垢版 |
2018/03/24(土) 15:58:52.76ID:PJNy7Xo/
>>334
319に書いてあるとおり、私(このアプリ)はこういうインテントを処理しますよー、っていうのをOSに知らせるもの。

たとえば、ギャラリーアプリで画像を処理するとしたときに、複数の画像編集アプリがインストールされている場合は、どのアプリ。使うか選ぶことになるけど、その一覧に出てくるようになる。
0336デフォルトの名無しさん
垢版 |
2018/03/24(土) 16:12:00.52ID:U4P6Y3mH
broadcastreciverをいろんなintentで登録しまくって受け取るたびに死んでたら起動するってことだろ
あまり行儀は良くないな
0337デフォルトの名無しさん
垢版 |
2018/03/24(土) 16:13:55.57ID:9/UBEnz8
>>335
を見て既定アプリに登録出来ないアプリはどうするのかと思ったけど
>>336
を見て色んなインテントに引っかかるように登録しておくって事か…
0339デフォルトの名無しさん
垢版 |
2018/03/24(土) 18:42:56.52ID:9/UBEnz8
>>338
色々制限かけてくるなぁ
そこ見てたら「ACTION_PACKAGE_REPLACED) are not exempted from the new restrictions.」と書いてあるけど
これは制限されないって事?自分のアプリでは8.0でもアプリアップデート時に引っ掛けてサービス起動出来てる
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も切っています。
■ このスレッドは過去ログ倉庫に格納されています

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