X



Androidプログラミング質問スレ revision55
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
垢版 |
2018/08/14(火) 10:49:08.05ID:GQVl6hxG
※プログラミング自体が初めて!なあなたには↓↓↓こちらへ
スレ立てるまでもない質問はここで 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/
Androidプログラミング質問スレ revision54
https://mevius.5ch.net/test/read.cgi/tech/1510691057/
0039デフォルトの名無しさん
垢版 |
2018/08/24(金) 10:13:58.44ID:w6TGMm6e
kotlin書きやすいしGoogleもやる気みたいだからこれからはkotlinで書いたほうがいいんじゃ?
公式のサンプルコードも最近はkotlin多いし
0043デフォルトの名無しさん
垢版 |
2018/08/24(金) 13:40:45.56ID:MEArwTdw
>>40
それはKotlin作ってるのがGoogleではないからでは?
Javaと同様にJetBrainsが後から対応させれば良かろう。
0046デフォルトの名無しさん
垢版 |
2018/08/24(金) 16:17:22.54ID:qtcVVPQQ
fuchsiaでosのアップデート権限をキャリアからとりもどすのが最大の目的(適当)
0047デフォルトの名無しさん
垢版 |
2018/08/24(金) 16:56:35.17ID:j2NkzGQ/
いつも画面のレイアウト作るのが面倒なんだけど、
なんか良いツールとかありませんか?
0052デフォルトの名無しさん
垢版 |
2018/08/25(土) 06:27:33.16ID:1ijaxKkc
>>30
Gviewのコンストラクタはそういうことをしてよい場所ではありません
TextViewとGviewはともにViewというお母さんを持つ姉妹です
あなたはその妹のおなかのなかで姉を誕生させようとしている変人です

あなたが理解すべきことは
コンストラクタの役割
publicクラスの作り方
View継承クラスは何をしたいときに作るものなのか
の3つです
0054デフォルトの名無しさん
垢版 |
2018/08/25(土) 09:57:07.71ID:y9XpX7TK
ViewとViewクラスは違うのでViewクラスにViewとしての理念を適用してはならない、というなんかこうめんどくさいやつだな
0055デフォルトの名無しさん
垢版 |
2018/08/25(土) 09:57:44.14ID:Zsxg3YBN
>>30
メンバー生成と同時に実体化するとonCreateの前に走ってエラーになったよ
中の人の準備の都合だろうね

onCreateのなかでgView=new Gview(); するとよい
0058デフォルトの名無しさん
垢版 |
2018/08/26(日) 03:37:18.42ID:BKGHUMiF
>>53
「gViewのコンストラクタ」で他のview を生成しid参照することがおかしいということを質問者にざっくり理解してもらいたいだけ

質問者のgViewがViewGroupの継承クラスだとはとても思えないし
0059デフォルトの名無しさん
垢版 |
2018/08/26(日) 08:41:39.90ID:8NHhsyIb
皆様ありがとうございます。
基本的な理解が足りてないようでとても勉強になります。
スッキリ読んだだけだと、そういうセンス的なところが身につかないのかな?
とにかく、とても参考にさせていただきました。
0060デフォルトの名無しさん
垢版 |
2018/08/27(月) 05:58:40.33ID:yeBVo4vF
教えてください。
WebViewでsaveWebArchiveしたファイルを、loadurlで読み込むのですが、webページとして表示されず、テキスト表示なります。
うまく読み込む方法はないでしょうか?
##保存
webview.saveWebArchive("適当なURL")
##読み込み
webview.loadUrl("上記URL")

webview.loadDataWithBaseURL("上記URL", null, "application/x-webarchive-xml", "UTF-8", "上記URL")

## 確認したところ
teratail、スタックオーバーフロー、そのほか個人ブログなど

##開発環境
android 8.0(P10 lite)
0062デフォルトの名無しさん
垢版 |
2018/08/28(火) 19:46:10.63ID:QHXGp2cE
>>45
ページ数をどうやって数えた気分になっているのか。
Googleに表示された検索ヒットページ数は、完全な虚偽表示だぞ。
そのまま1000ページ目まで捲ればわかる。
大抵は14ページから20ページで終るから
0063デフォルトの名無しさん
垢版 |
2018/08/28(火) 19:49:19.72ID:C1AWmFJx
>>62
それ同じやつ表示しないようにしてるからでは?
最後まで行くと同じやつも出すリンク出てくるよ。
0064デフォルトの名無しさん
垢版 |
2018/08/28(火) 21:40:21.26ID:QHXGp2cE
>>63
うん。表示されたページ数を信じる点がスレ住人にしては、素朴だなーって趣旨。
0065デフォルトの名無しさん
垢版 |
2018/08/28(火) 21:46:03.64ID:QHXGp2cE
「確かめようがない情報は、嘘を書いても損失がない。従って何をいっても表示しても規制、誘導してもよい」
それがGoogleダークパタンの根っこにある彼等の共通理解。
0066デフォルトの名無しさん
垢版 |
2018/08/28(火) 21:50:24.13ID:QHXGp2cE
だがページ数の欺瞞でわかるように、確かめる術をみえない所に散りばめてアリバイを作る。
ほら確認すれば、わかりますよニヤニヤ(無能w)

これがGoogleの本質。
0068デフォルトの名無しさん
垢版 |
2018/08/29(水) 16:59:10.02ID:NIus7JyG
ググルの情報の真偽はともかく、一応ググルと違うデータベースを
使ってるbingで検索すると結構違う結果になるし、リンク切れを
起こしてるページもbingだと接続できないけどググルだとAdSenseの
ページが表示されたり怪しいことは怪しいっていうか、色々ググルで
情報が加工されてるような感じはあるね
0069デフォルトの名無しさん
垢版 |
2018/08/29(水) 19:08:18.62ID:rr2ZC/zS
MainActivityで、findViewById(R.id.radioButton);
で取得したButtonビューの、◎ボタンの色を変えたいのですがコードを教えてください
あと、同じく丸いadioButtonを□にしたりできませんか?
0071デフォルトの名無しさん
垢版 |
2018/08/30(木) 16:07:12.92ID:j0LInzoV
1 RadioButton radioButton=findViewById(R.id.radioButton);
2 radioButton.setBackgroundColor(Colorrgb.(255,255,255));
で、バックグラウンドの色はセットできますが、
同じような書式というか丸ボタンの色を変えられるメソッド、
例えば、setButtonColor(…); のようのってないのでしょうか?
0073デフォルトの名無しさん
垢版 |
2018/08/30(木) 19:25:14.45ID:dIvnt+Nr
Admob広告外し対策にはどのような方法がありますか?
何か有効な情報ページないですかね
0074デフォルトの名無しさん
垢版 |
2018/08/30(木) 19:34:18.73ID:E3QEVpGN
>>73
そもそも、そのアプリはそんなにダウンロードされてるの?
対策するのは、その後でも良いような?
0075デフォルトの名無しさん
垢版 |
2018/08/30(木) 21:53:50.24ID:37ILbh01
コンソールで使うJavaのプログラムを移植したいのですが
アプリ内で標準入出力を扱うにはどうすればいいですか?
0076デフォルトの名無しさん
垢版 |
2018/08/31(金) 09:38:01.19ID:mdi0t6di
>>73
逆に広告を表示することで機能を追加するアプリならみたことある
広告が表示されてるかきちんと判定できればこういうやり方もありだなあと
0077デフォルトの名無しさん
垢版 |
2018/09/01(土) 21:19:04.69ID:G8bIZR9O
onAdLoaded() が呼ばれたからといって広告がきちんと表示されてるとはがぎらないってことなのだろうか?
改変したのはこれが呼ばれた上で広告が表示されないとか?
0078デフォルトの名無しさん
垢版 |
2018/09/03(月) 15:33:48.23ID:PWt9xC94
スピナーを付ける時、デフォルトだと右側に▼が付くけど、
android:backgroundでレイアウト.xmlを指定すると消えてしまいます。
▼を表示させるか、レイアウトに▼(に近い形)を追加する方法は無いでしょうか?
0079デフォルトの名無しさん
垢版 |
2018/09/03(月) 23:46:47.84ID:3bxeW9oH
>>77
後付けで如何様にも変更される。
2017年のインタースティシャル広告をペナルティとか。
0083デフォルトの名無しさん
垢版 |
2018/09/06(木) 11:22:26.51ID:yhMxbLes
>>79
onAdLoaded()がだめということは結局広告がきちんと表示されてるかどうかを判別する方法はないってことなんですかね?
何か他の方法はないものだろうか…
0084デフォルトの名無しさん
垢版 |
2018/09/06(木) 11:37:37.59ID:ZcSEFoVt
Timerの中でrunOnUiThreadを実行する時、
runOnUiThreadの中身が重いと、複数回実行してしまうことってありますか?

Timerを1秒毎にscheduleAtFixedRateで実行して、
runOnUiThreadの実行回数を見ていたら、
同じ秒数にrunOnUiThreadが2回発生している現象が見られました。
とりあえずrunOnUiThreadの中身を整理したところ直ったのですが、
原因が不明でスッキリしなくて。
漠然とした質問ですいませんが、よろしくお願いします。
0086デフォルトの名無しさん
垢版 |
2018/09/06(木) 19:04:24.74ID:06r0xkCk
>>84
----+----1----+----2----+----3
----------やれ------やれ------やれ
----------はい---------おわた
やれは定期
ハイカラおわたは処理時間

やれはキューされる。
よっておそけりゃ直ぐくるというなら、そういうことかと。
0087デフォルトの名無しさん
垢版 |
2018/09/06(木) 21:01:09.32ID:mh3HShQw
そもそも、runOnUiThreadで重い処理やっちゃダメだろ。
0088デフォルトの名無しさん
垢版 |
2018/09/06(木) 21:47:23.26ID:66ZeTnAD
GDPRとConsent SDKについて質問です。
ttps://qiita.com/tokisuzume/items/de41f901ce772c7880c4
この解説ページ見てるのですが、選択フォーム表示でNOを選択すると
非パーソナライズ広告の表示に’同意のボタン’が出てきますよね。
EUの人がこちらを選んでAdMobの非パーソナライズ広告を表示すれば制裁の対象にならないのでしょうか? …@
いっそのことヨーロッパの人には全部非パーソナライズ広告にしてしまえばと思うのですが
こうするとなにかデメリットでもあるのでしょうか? …A
またプログラムには default: // 同意が得られなかったのでアプリを終了
がありますが、選択ボタンには非パーソナライズOKの選択ボタンはありますが他に
同意しない(拒否)の選択ボタンはありませんよね?
拒否で終了へ向かうにはどういう操作をすればいいことになっているのでしょうか?(それとも実際はないのか?) …B
@ABの3つについてお願いします。
0090デフォルトの名無しさん
垢版 |
2018/09/06(木) 22:17:57.69ID:eiVFavM9
>>88
ひとつだけ
.withAdFreeOption()を有効にすれば『同意しない』ボタンがでるよ
自分はこれで有料版へのリンクもしくは終了させてる
0092デフォルトの名無しさん
垢版 |
2018/09/06(木) 22:55:55.13ID:5iTUsHl5
>>90
出ました。ありがとうございます。
そのサイトのプログラムでは初回の選択後、2回目からは
onConsentFormClosed()で必ず case NON_PERSONALIZED: が呼ばれてしまいますが
1回目の選択を保存しておいてここでロードしてその内容で自分で設定しないといけない感じなんですかね
0093デフォルトの名無しさん
垢版 |
2018/09/06(木) 23:18:14.79ID:FxYJjFQD
訂正 onConsentFormClosed()で→onConsentInfoUpdated()で

ボタン文変えるには
/app\build\intermediates\assets\フォルダ内のconsentform.htmlを変えればよい。
とあるけどこれも日本語の解説サイトほとんどないなあ。
0094デフォルトの名無しさん
垢版 |
2018/09/07(金) 00:24:58.82ID:kBozhQLt
サーバがUNKNOWNを返したらダイアログを表示するというロジックなので、サーバの応答次第では毎回ダイアログが表示されるということもありうる
これを避けるにはアプリ側でもフラグをもってダイアログ表示の制御をしたほうが良いと思う、サーバ側のバグはこちらではどうしようもないから
0095デフォルトの名無しさん
垢版 |
2018/09/07(金) 10:39:49.42ID:HBOXXdzp
同意しないで終了するボタンつけた方がいいかな
さすがに欧州の人も同意フォームに見慣れてきて
バックボタンが効かなくてムキー☆1ってなることはないと思うんだが
0096デフォルトの名無しさん
垢版 |
2018/09/07(金) 10:51:24.77ID:a8gtf4oe
デフォルトの Pay for 〜 という名前のボタンじゃ押しにくいよね
これを Exit とかに変更する方法が書いてあるサイトないもんかなあ。
0098デフォルトの名無しさん
垢版 |
2018/09/08(土) 12:15:40.04ID:X7/7x4Za
レビューダイアログのライブラリってありますでしょうか
単にplay storeに飛ばすだけじゃなくて、
星を選択して結果を送れるようなものがいいです
0099デフォルトの名無しさん
垢版 |
2018/09/10(月) 16:03:21.34ID:skuEUIKW
Android上で動くAIアプリ作りたいんだけど入門用におすすめのHPとか参考書あります?
目標としては音声認識して回答を返せるようなの作りたいです
0101デフォルトの名無しさん
垢版 |
2018/09/10(月) 17:16:16.56ID:wQh8RVrU
オウム(鳥)の方が賢い
0102デフォルトの名無しさん
垢版 |
2018/09/11(火) 00:41:31.16ID:fTXfDv9R
まずは人工無能という非人工知能技術を調べてみ
真っ先に人工知能を考えとるやろうけど、
おそらくやりたいことは人工無能で出来るはずや
0103デフォルトの名無しさん
垢版 |
2018/09/11(火) 08:34:56.89ID:CG4qePFK
音声認識は、OCRと似たところで応用の需要が途絶えるように見える。
複雑な入力を手間を掛けずに与える点で非合理。
人語を認識せず、予め技名みたいな言葉に動作を仕込むマクロみたいな使い方が主流になりそう。
「システムコマンド!エクスカリパーをジェネレート?」
→ そのコマンドは見つかりません
0105デフォルトの名無しさん
垢版 |
2018/09/11(火) 09:47:55.07ID:8TFPOuLo
うるう秒が発生した時の時刻を取得した時、
8:59:60か、8:59:59の繰り返しか、どちらになるのでしょうか?
0106デフォルトの名無しさん
垢版 |
2018/09/11(火) 12:07:36.58ID:GvNUhsXr
>>105
全てのスマホがうるう秒知ってるわけじゃないので、9:00:00じゃない?
しばらくして時刻補正がかかると。
0107デフォルトの名無しさん
垢版 |
2018/09/11(火) 12:18:31.08ID:8TFPOuLo
>>106
うるう秒の瞬間に同時に動くのでは無く、
後からの時間補正で調整ですか、ありがとうございます。
0108デフォルトの名無しさん
垢版 |
2018/09/11(火) 14:12:12.03ID:pwo3DQbp
>おそらくやりたいことは人工無能で出来るはずや

ほんそれ
0109デフォルトの名無しさん
垢版 |
2018/09/12(水) 14:48:33.30ID:Lnm1q5yq
SharedPreferencesはXML形式で保存されるということですが
これはユーザーにもアクセスされる可能性があるため大事なデータの保存は危険性があるということでしょうか?
アクセスの危険性を避けるには他にどういった方法がいいでしょうか
0111デフォルトの名無しさん
垢版 |
2018/09/12(水) 18:14:55.99ID:vy5L+ZV3
>>109
想定するユーザのレベルにもよる
アプリケーションを作るときに自分でゆるいアクセス権を
設定していなければ、作成したアプリ内に作成する情報は
アプリでアクセス方法を提供しているもの意外には、
他のアプリ(ユーザ)からアクセスできないようになって
いるので何もしなくても良い

root化したユーザからも中身を確認されたくない場合には
>>110がいうようにデータ自体を読めなくする必要がある
0112デフォルトの名無しさん
垢版 |
2018/09/12(水) 19:16:14.29ID:lbv9RsCS
>>109
・アプリケーションのローカルキャッシュフォルダ
・SQLiteを使うコンテンツプロバイダ
・クラウドアップルロード
やるならアプリケーションのローカルキャッシュを暗号化するのだろうが、
極限的に言えば、ルート虎れたときに防ぐ術はない。デバッガなりICEを刺されたら防げないし、プロセスメモリにアタッチして、復号したメモリを読まれるだけ。

とりまプリフアレンスは、そういう目的の保存手段ではない。
セーブデータの改竄予防したいなら、シンクライアントにして、セーブデータは全部クラウドに置くしかない。
怠いから誰もやらない。
0114デフォルトの名無しさん
垢版 |
2018/09/12(水) 21:06:23.20ID:Bn8IdQJ0
大抵のファイラーはSMBサーバーへの接続設定をSharedPreferencesに保存してるけど
パスワードを生で書き出してるものは(自分が確認した範囲では)一つもなかった。

重要度に応じて暗号化する/しない の判断は変わってくるのでは?
0115デフォルトの名無しさん
垢版 |
2018/09/13(木) 23:03:35.31ID:Pc/2n09C
AndroidStudioでVector AssetをNewする際に、
Overrideのチェックボックスにチェックを入れるのと入れないのは何が違うんでしょうか
0116デフォルトの名無しさん
垢版 |
2018/09/14(金) 11:09:11.94ID:EdFDi0B+
フラグメントをreplaceしてaddBackstackしたあとpopBackstackで戻すとき、コールされるはずのonCreateあたりのライフサイクルが呼ばれないんだが
誰か同じ状況になったことない?
ほぼ何も触ってないフラグメント作って試してみてもなるしfragmentViewPagerでも同じ症状出るしもう訳わからん
0117デフォルトの名無しさん
垢版 |
2018/09/14(金) 12:05:00.20ID:S3uv3uiZ
C#でのデスクトップアプリと、Javaでのサーバーサイドしか経験がないんですが、
android開発始めるなら、XamarinとAndroid Studio(Kotlin)のどちらがなじみやすいでしょうか?
0119デフォルトの名無しさん
垢版 |
2018/09/14(金) 14:33:44.62ID:EdFDi0B+
>>118
複数のサイトで確認したし何よりコールされないせいでViewがxmlから作っただけのデフォルト状態になるんだよ……
あ、でもつまりonCreateViewは少なくとも呼ばれてるって事か?う〜ん
0124デフォルトの名無しさん
垢版 |
2018/09/14(金) 18:23:50.68ID:oi+IHaDe
>>117
それならJavaじゃないかな。
なんの違和感なく、とはいかないが
application暮らすがプロセス
activityクラスがウィンドウ
fragmentがビュー、あるいは子ウィンドウ
serviceクラスは、使い方にクセがあるスレッド
UIスレッド(メインスレッド)しか画面に触るコンポーネントを操作できない

それでいけると思う
0125デフォルトの名無しさん
垢版 |
2018/09/14(金) 23:20:35.20ID:w6HAFQaw
>>116
間違ったサイト見ても何の役にも立たない。
公式の説明の通り、onViewCreatedかonStateRestoredでBundleを受け取れる。
0126デフォルトの名無しさん
垢版 |
2018/09/15(土) 17:18:45.01ID:XDNCkIti
>>125
なんか勘違いしてるみたいだな……
まあもう自己解決したから良いけどonCreateViewからonResumeまでのライフサイクルは呼ばれるよ

つか知らないのになんでこんなドヤ顔で解説出来るんだろう……
0128デフォルトの名無しさん
垢版 |
2018/09/16(日) 14:28:18.96ID:LDd7ehUR
ふと気になって検索したらkothlinでiphoneも開発できるのね
まんま動くわけじゃないだろうけどまんま動くようになってくれたら有りがたいな
0131デフォルトの名無しさん
垢版 |
2018/09/18(火) 10:33:17.89ID:9AO9WU5h
NumberPickerで、MaxValueやMinValueまでスクロールしたら、そこで止めることって出来ますか?
最小値や最大値にしようとして思いっきり回して、
通り越してしまうことを防げないかなと思っています。
0134デフォルトの名無しさん
垢版 |
2018/09/26(水) 10:41:11.85ID:DmEOYjhw
質問させてください。どうかよろしくお願いします。

public class MainActivity extends Activity implements ListSelectionListener{

@Override
public void onListSelection(int index){ "---1

}
}


public class MyFragment1 extends ListFragment{
 private ListSelectionListener listener=null;
 …
 public void onListItemClick(int position){
  listener.onListSelection(position); "---2
 }
 @Override
 public void onAttach(Context context){
  …
  listener =(ListSelectionListener)context;
 }
}

interface ListSelectionListener{
 public void onListSelection(int index); "---3
}

activity_main.xml

<fragment
0135デフォルトの名無しさん
垢版 |
2018/09/26(水) 10:48:38.60ID:DmEOYjhw
質問させてください。どうかよろしくお願いします。
public class MainActivity extends Activity implements ListSelectionListener{

@Override
public void onListSelection(int index){ "---1
…}}

public class MyFragment1 extends ListFragment{
 private ListSelectionListener listener=null;
 …
 public void onListItemClick(int position){
  listener.onListSelection(position); "---2
 }
 @Override
 public void onAttach(Context context){
  …
  listener =(ListSelectionListener)context;
}}

interface ListSelectionListener{
 public void onListSelection(int index); "---3
}

activity_main.xml

<fragment android:id="@+id/fragment"/>

ここで、フラグメント1に設定したリストを選択すると---2から、インターフェイスListSelectionListenerの---3のメソッドが呼び出されるのはわかるのですが、
同時にMainActivityの---1(インターフェースの---3のオーバーライドメソッド)もposition情報を引数として呼び出されているのでしょうか?
■ このスレッドは過去ログ倉庫に格納されています

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