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

1デフォルトの名無しさん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/

2デフォルトの名無しさん2018/08/14(火) 10:53:24.40ID:UwXfpacN
O2

3デフォルトの名無しさん2018/08/14(火) 12:20:04.64ID:0wjNhgeR
イッチ乙

4デフォルトの名無しさん2018/08/15(水) 22:53:11.73ID:NOFmUe1d
1乙π

5デフォルトの名無しさん2018/08/16(木) 16:53:28.41ID:eam4U5na
ほす
いらない?

6デフォルトの名無しさん2018/08/16(木) 18:36:24.99ID:H0wRoAR6
8.0からproc見れなくなったの?

7デフォルトの名無しさん2018/08/16(木) 18:40:21.84ID:sDoG3cdo
俺のAndroidアプリ、ストアからインストールした直後数回は普通に立ち上がるんだけど、
何回かすると起動しなくなる
考えられる原因ってなんだと思います?

8デフォルトの名無しさん2018/08/16(木) 18:46:40.60ID:UmhzReQA
AndroidStudioからインストールした場合は?
エラーログは?
いったんそうなるとデータ削除しても立ち上がらない?

9デフォルトの名無しさん2018/08/16(木) 20:09:29.15ID:sDoG3cdo
>>8
気づいたのは、バックボタンと用意した終了ボタンで終了すると次立ち上がらないっぽい
タスクキルすると次も起動できる
ってことはちゃんと終了処理ができてないのかな

10デフォルトの名無しさん2018/08/16(木) 22:06:01.36ID:tc57iPC0
立ち上がらないんじゃなくてゾンビ化してるのかな

11デフォルトの名無しさん2018/08/16(木) 23:09:33.10ID:2CyRSyXb
Android8.0に更新してから「クラッシュレポートが〜」て表示されてウザいんだがこれどうすればいいん?

12デフォルトの名無しさん2018/08/16(木) 23:57:17.25ID:3h06Zvbw
具体的な原因箇所を指摘できないけど、
Android 8.0になってから、手動操作でアプリを落とせなくなった感触がある。

アクティビティのみであれば、いままで通りに動くが、
フォアグラウンドサービスなり、なんらかのサービスクラスを派生したスレッドが存在すると
ゾンビ化みたいな挙動を示すときがある。
スタジオを使っている場合は、デバッガが確実にkill -9しに行くようだけど、端末操作だと違った動きをする。

単純な推測、憶測のみで語れば、アクティビティだけを停止して、プロセスそのものは停止しないような制御をするようになった気がする。
過去のレガシーを引きずって、これに陥るとしたらが「アクティビティの破棄」が必ず発生する前提の作りをしているんじゃないかって思う。
何となくアクティビティの破棄(OnDestroy)が来ないタイミングが増えたような気がしている。

13デフォルトの名無しさん2018/08/17(金) 00:04:20.23ID:TP+ulg07
そう考える根拠は3つ
1) 実際に俺も同様な体験した事がある
2) 最近のドキュメントを読むと、やたらとアプリケーションコンテキストに誘導するような記述がある
 → プロセスとアクティビティは異なるという設計思想。 ウィンドウに喰われるリソースとプロセスが保持するリソース量は異なる
3) Unixを基礎にしているから、電力の最適化の観点で上記の設計は、メリットが多い

まあ、あくまで俺の見解。 個人的研究に基づく妄想。

14デフォルトの名無しさん2018/08/18(土) 20:27:37.91ID:1gLPW8Tg
以下のように記述した時に,どうしてgetCursor()を使えるのかわかりません.


getAdapter()の返り値がListAdapterでこれをSimpleCursorAdapterにキャストしているのですが,ListAdapterにないgetCursor()をどうして使えるようになるのでしょうか?

getCursor()自体はSimpleCursorAdapteの親クラスであるCursorAdapterにあってCursorAdapterの親クラスのBaseAdapterはListAdapterを実装しているところまでは分かったのですが,getCursor()を使えるようになる理由がわかりません...


public void onItemClick(AdapterView<?> parent, View view, int position, long id){


    @Override

    Cursor c = ((SimpleCursorAdapter)parent.getAdapter()).getCursor();

    c.moveToPosition(position);

15デフォルトの名無しさん2018/08/18(土) 20:33:20.73ID:1scMQT2g
ヒント:Override

16デフォルトの名無しさん2018/08/18(土) 20:45:49.37ID:1gLPW8Tg
コピペする時にミスりました
以下のようなコードです

@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id){


    Cursor c = ((SimpleCursorAdapter)parent.getAdapter()).getCursor();
 c.moveToPosition(position);

17デフォルトの名無しさん2018/08/18(土) 21:02:19.22ID:kqgWZSb1
SimpleCursorAdapter is CursorAdapter
getCursorを使う目的だったらCursorAdapterへのダウンキャストで十分

18デフォルトの名無しさん2018/08/18(土) 21:08:15.99ID:rejH9nbp
オブジェクト指向の理解が足りてないね
ポリモーフィズムとかのキーワードでぐぐれ

19デフォルトの名無しさん2018/08/18(土) 21:18:41.54ID:1scMQT2g
Overrideできるからどっかに書いてあるんだYO

20デフォルトの名無しさん2018/08/18(土) 23:19:19.30ID:1gLPW8Tg
見る所間違っていて、この場合のgetAdapterの戻り値はListAdapterではなくTだったので普通に理解できました。お騒がせしました。

21デフォルトの名無しさん2018/08/18(土) 23:38:39.76ID:1gLPW8Tg
>>18
オブジェクト指向の言語は初めてなので理解はまだまだ足りていないと思います

レスの口振り的に戻り値がListAdapterの時も動作すると理解されたのだと思いますが、
後学のためにも解説をお願いします。

もし戻り値がListAdapterの場合はそもそもSimpleCursorAdapteにキャストした時点でエラーが出ると思うのですが違うのでしょうか?

22デフォルトの名無しさん2018/08/19(日) 05:02:17.24ID:lz4AfOwu
ListAdapterはinterfaceだから戻り値がListAdapterのオブジェクトであることはありえない

23デフォルトの名無しさん2018/08/19(日) 05:12:02.40ID:TF7KUy8J
ダウンキャストは危険な操作だ。静的コンパイル時に発見できず、ランタイムエラーを誘発する。通常はダウンキャスト前にinstanceof(Javaの場合)で型チェックしておく。まぁ、どちらにせよ結局はランタイムエラーをスローすることになるとは思うけど。
嫌なら自前でCursorListView作ってCursorAdapterを返すgetAdapterを実装しろ。このクラスで常にキャストを実行するようにすれば少しは安全になるかもしれない。

24デフォルトの名無しさん2018/08/20(月) 08:49:06.77ID:1SYmUI47
Androidってjvm介さないネイティブアプリって作れないんかね

25デフォルトの名無しさん2018/08/20(月) 09:19:39.13ID:t2osJeRG
>>24
Androidはjvmなんて一度も使っていないし、DalvikランタイムやARTランタイムを
使わないC言語だけでのアプリならAndroid 2.3から可能になっている

26デフォルトの名無しさん2018/08/20(月) 19:17:12.73ID:TZ+dTlWK
>>24
VisualStudioで作れるよ。
出力されたスケルトン見て、ソッ閉じした。
ネイティブアプリケーションにしても、 ア クティビティのジレンマは回避できない。

27デフォルトの名無しさん2018/08/22(水) 19:20:04.65ID:1XDUu0BB
retrofit2で以下のような階層のリクエストパラメータをpostしたいです。

User
id
name
image(画像)
age
child
id
name
image(画像)
age

画像を送るため@multipartをinterfaceに付加していますが、この場合パラメータをはどのように作成していけばよいでしょうか?
引数に@PartMap Map<String, Object> hogeとして試しましたが、リクエストが送れませんでした。
(コールバックにてonFailure)
ご助言を頂けますと幸いとなります。
宜しくお願いします。

28デフォルトの名無しさん2018/08/23(木) 20:46:12.97ID:M079BOOd
kotorinっているの?

29デフォルトの名無しさん2018/08/23(木) 20:46:42.10ID:M079BOOd
Javaでいいじゃない

30デフォルトの名無しさん2018/08/23(木) 21:38:06.70ID:H8Gnu4tL
よろしくお願いします。

1  public class MainActivity extends AppCompatActivity{
2  ・・・
3  Gview gView=new Gview();
4
5  public class Gview extends View{
6    public GameView(Context context){
7      super(context);
8      TextView textView =(TextView) findViewById(resID);
9      textView.setText("***"); }}}

とすると、コード上はエラーにならず、アプリケーションの起動エラーとなります。
9行目の textView.setText("***");を削除すると起動します。
エラーはNullpointerExceptionで、textViewがNullになってしまっています。
8,9行目のコードをMainActivity下の3行目あたりに移して実行すると、エラーは生じません

なぜ、Gviewクラスのコンストラクタ内ではNullエラーになるのでしょうか?
他のスレで教えていただいたのは、ViewクラスのfindViewByIdを呼んでいるとのこと。
GviewでsetTextする方法を教えてください。

31デフォルトの名無しさん2018/08/23(木) 21:45:53.64ID:8xUc+8Ey
inflate

32デフォルトの名無しさん2018/08/23(木) 22:31:08.10ID:03LwByUR
>>30
どうしてもやりたいなら
8      TextView textView =(TextView) ((AppCompatActivity)context).findViewById(resID);
のような感じでいけると思うけど、おすすめしない

33デフォルトの名無しさん2018/08/23(木) 22:31:45.39ID:VuvpD1iv
MainActivityのfindViewByIdを明示的に呼ぶ

34デフォルトの名無しさん2018/08/23(木) 22:46:31.74ID:4aOJVToK
そもそも何がしたいのこれ

35デフォルトの名無しさん2018/08/23(木) 22:53:27.67ID:t/saHEhx
LayoutInflater.from(context)

36デフォルトの名無しさん2018/08/24(金) 07:07:21.15ID:mDAdGQ8b
みなさま、ありがとうございました。
お教えに従って進めてみます!

37デフォルトの名無しさん2018/08/24(金) 09:08:32.70ID:VXzADi/S
そもそもpublicクラスを2つ書くのが無理じゃない?
内部クラスかな

38デフォルトの名無しさん2018/08/24(金) 09:43:24.03ID:IcAoft1u
>>28
c#勢なんかがアプリ開発に手を出しやすくなると思う

39デフォルトの名無しさん2018/08/24(金) 10:13:58.44ID:w6TGMm6e
kotlin書きやすいしGoogleもやる気みたいだからこれからはkotlinで書いたほうがいいんじゃ?
公式のサンプルコードも最近はkotlin多いし

40デフォルトの名無しさん2018/08/24(金) 10:44:18.20ID:e/yZWM6P
Googleはやる気あるか?
Fuchsiaは対応言語にJavaもKotolinも無いし

41デフォルトの名無しさん2018/08/24(金) 10:58:47.71ID:s/3TSKCx
そんなの流行るわけねえ

42デフォルトの名無しさん2018/08/24(金) 13:36:37.97ID:cHge5Sdm
fuchsiaは別の話では

43デフォルトの名無しさん2018/08/24(金) 13:40:45.56ID:MEArwTdw
>>40
それはKotlin作ってるのがGoogleではないからでは?
Javaと同様にJetBrainsが後から対応させれば良かろう。

44デフォルトの名無しさん2018/08/24(金) 15:35:34.72ID:wJ7eU1qQ
fuchsaiとかそのうち消えてなくなるから

45デフォルトの名無しさん2018/08/24(金) 16:17:04.42ID:Ap2IsA7d
kotlinとscalaだとscalaのが圧倒的に検索ページ数多いな

46デフォルトの名無しさん2018/08/24(金) 16:17:22.54ID:qtcVVPQQ
fuchsiaでosのアップデート権限をキャリアからとりもどすのが最大の目的(適当)

47デフォルトの名無しさん2018/08/24(金) 16:56:35.17ID:j2NkzGQ/
いつも画面のレイアウト作るのが面倒なんだけど、
なんか良いツールとかありませんか?

48デフォルトの名無しさん2018/08/24(金) 17:16:23.79ID:Y6/p2nWd
みなさん、XMLへのメモリの割り当てってどの程度してますか?

49デフォルトの名無しさん2018/08/24(金) 22:02:09.44ID:F52aqs4z
>>38
従来のJavaは今後も使えるの?

50デフォルトの名無しさん2018/08/24(金) 23:03:26.72ID:IcAoft1u
>>49
なんで俺に聞くの?

51デフォルトの名無しさん2018/08/25(土) 02:22:08.29ID:Gn2BltGT
>>50
エロい人かと思ってさ

52デフォルトの名無しさん2018/08/25(土) 06:27:33.16ID:1ijaxKkc
>>30
Gviewのコンストラクタはそういうことをしてよい場所ではありません
TextViewとGviewはともにViewというお母さんを持つ姉妹です
あなたはその妹のおなかのなかで姉を誕生させようとしている変人です

あなたが理解すべきことは
コンストラクタの役割
publicクラスの作り方
View継承クラスは何をしたいときに作るものなのか
の3つです

53デフォルトの名無しさん2018/08/25(土) 09:49:27.30ID:5ar3I1wr
>>52
viewの入れ子なんて極々普通なことだよ。

54デフォルトの名無しさん2018/08/25(土) 09:57:07.71ID:y9XpX7TK
ViewとViewクラスは違うのでViewクラスにViewとしての理念を適用してはならない、というなんかこうめんどくさいやつだな

55デフォルトの名無しさん2018/08/25(土) 09:57:44.14ID:Zsxg3YBN
>>30
メンバー生成と同時に実体化するとonCreateの前に走ってエラーになったよ
中の人の準備の都合だろうね

onCreateのなかでgView=new Gview(); するとよい

56デフォルトの名無しさん2018/08/25(土) 11:04:09.33ID:Rap2BqXc
独自viewクラスって最早アンチパターンじゃないか?

57デフォルトの名無しさん2018/08/25(土) 11:10:29.00ID:yfOI5cD7
なんで?

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

質問者のgViewがViewGroupの継承クラスだとはとても思えないし

59デフォルトの名無しさん2018/08/26(日) 08:41:39.90ID:8NHhsyIb
皆様ありがとうございます。
基本的な理解が足りてないようでとても勉強になります。
スッキリ読んだだけだと、そういうセンス的なところが身につかないのかな?
とにかく、とても参考にさせていただきました。

60デフォルトの名無しさん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)

61デフォルトの名無しさん2018/08/27(月) 07:18:38.70ID:+DQMmbz0
xmlで保存してるからじゃない

62デフォルトの名無しさん2018/08/28(火) 19:46:10.63ID:QHXGp2cE
>>45
ページ数をどうやって数えた気分になっているのか。
Googleに表示された検索ヒットページ数は、完全な虚偽表示だぞ。
そのまま1000ページ目まで捲ればわかる。
大抵は14ページから20ページで終るから

63デフォルトの名無しさん2018/08/28(火) 19:49:19.72ID:C1AWmFJx
>>62
それ同じやつ表示しないようにしてるからでは?
最後まで行くと同じやつも出すリンク出てくるよ。

64デフォルトの名無しさん2018/08/28(火) 21:40:21.26ID:QHXGp2cE
>>63
うん。表示されたページ数を信じる点がスレ住人にしては、素朴だなーって趣旨。

65デフォルトの名無しさん2018/08/28(火) 21:46:03.64ID:QHXGp2cE
「確かめようがない情報は、嘘を書いても損失がない。従って何をいっても表示しても規制、誘導してもよい」
それがGoogleダークパタンの根っこにある彼等の共通理解。

66デフォルトの名無しさん2018/08/28(火) 21:50:24.13ID:QHXGp2cE
だがページ数の欺瞞でわかるように、確かめる術をみえない所に散りばめてアリバイを作る。
ほら確認すれば、わかりますよニヤニヤ(無能w)

これがGoogleの本質。

67デフォルトの名無しさん2018/08/29(水) 06:25:52.59ID:lduaWfqi
scalaの方が古いんだからページ数多いの当然では?

68デフォルトの名無しさん2018/08/29(水) 16:59:10.02ID:NIus7JyG
ググルの情報の真偽はともかく、一応ググルと違うデータベースを
使ってるbingで検索すると結構違う結果になるし、リンク切れを
起こしてるページもbingだと接続できないけどググルだとAdSenseの
ページが表示されたり怪しいことは怪しいっていうか、色々ググルで
情報が加工されてるような感じはあるね

69デフォルトの名無しさん2018/08/29(水) 19:08:18.62ID:rr2ZC/zS
MainActivityで、findViewById(R.id.radioButton);
で取得したButtonビューの、◎ボタンの色を変えたいのですがコードを教えてください
あと、同じく丸いadioButtonを□にしたりできませんか?

70デフォルトの名無しさん2018/08/29(水) 20:09:16.37ID:6pYj0jjM
>>69
AndroidのRadioButtonをiPhone風にしてみた。
https://dev.classmethod.jp/smartphone/android/ios2android-uisegmentedcontrol/

71デフォルトの名無しさん2018/08/30(木) 16:07:12.92ID:j0LInzoV
1 RadioButton radioButton=findViewById(R.id.radioButton);
2 radioButton.setBackgroundColor(Colorrgb.(255,255,255));
で、バックグラウンドの色はセットできますが、
同じような書式というか丸ボタンの色を変えられるメソッド、
例えば、setButtonColor(…); のようのってないのでしょうか?

72デフォルトの名無しさん2018/08/30(木) 17:36:18.35ID:q8Ghvt2B

73デフォルトの名無しさん2018/08/30(木) 19:25:14.45ID:dIvnt+Nr
Admob広告外し対策にはどのような方法がありますか?
何か有効な情報ページないですかね

74デフォルトの名無しさん2018/08/30(木) 19:34:18.73ID:E3QEVpGN
>>73
そもそも、そのアプリはそんなにダウンロードされてるの?
対策するのは、その後でも良いような?

75デフォルトの名無しさん2018/08/30(木) 21:53:50.24ID:37ILbh01
コンソールで使うJavaのプログラムを移植したいのですが
アプリ内で標準入出力を扱うにはどうすればいいですか?

76デフォルトの名無しさん2018/08/31(金) 09:38:01.19ID:mdi0t6di
>>73
逆に広告を表示することで機能を追加するアプリならみたことある
広告が表示されてるかきちんと判定できればこういうやり方もありだなあと

77デフォルトの名無しさん2018/09/01(土) 21:19:04.69ID:G8bIZR9O
onAdLoaded() が呼ばれたからといって広告がきちんと表示されてるとはがぎらないってことなのだろうか?
改変したのはこれが呼ばれた上で広告が表示されないとか?

78デフォルトの名無しさん2018/09/03(月) 15:33:48.23ID:PWt9xC94
スピナーを付ける時、デフォルトだと右側に▼が付くけど、
android:backgroundでレイアウト.xmlを指定すると消えてしまいます。
▼を表示させるか、レイアウトに▼(に近い形)を追加する方法は無いでしょうか?

79デフォルトの名無しさん2018/09/03(月) 23:46:47.84ID:3bxeW9oH
>>77
後付けで如何様にも変更される。
2017年のインタースティシャル広告をペナルティとか。

80デフォルトの名無しさん2018/09/05(水) 11:58:28.67ID:pPt1FGBo
>>78
スピナーに入れる項目を"項目名"+" ▼"ってすれば出るよ

81デフォルトの名無しさん2018/09/06(木) 02:49:42.03ID:tZ3iiW+Y
>>80
それ全部の項目に▼が付くじゃないですか・・・

82デフォルトの名無しさん2018/09/06(木) 03:59:53.68ID:R/X6acj4
レイアウト.xmlの中身は?

83デフォルトの名無しさん2018/09/06(木) 11:22:26.51ID:yhMxbLes
>>79
onAdLoaded()がだめということは結局広告がきちんと表示されてるかどうかを判別する方法はないってことなんですかね?
何か他の方法はないものだろうか…

84デフォルトの名無しさん2018/09/06(木) 11:37:37.59ID:ZcSEFoVt
Timerの中でrunOnUiThreadを実行する時、
runOnUiThreadの中身が重いと、複数回実行してしまうことってありますか?

Timerを1秒毎にscheduleAtFixedRateで実行して、
runOnUiThreadの実行回数を見ていたら、
同じ秒数にrunOnUiThreadが2回発生している現象が見られました。
とりあえずrunOnUiThreadの中身を整理したところ直ったのですが、
原因が不明でスッキリしなくて。
漠然とした質問ですいませんが、よろしくお願いします。

85デフォルトの名無しさん2018/09/06(木) 14:04:56.38ID:dX1/sVDQ
rxjavaでやれば解決する

86デフォルトの名無しさん2018/09/06(木) 19:04:24.74ID:06r0xkCk
>>84
----+----1----+----2----+----3
----------やれ------やれ------やれ
----------はい---------おわた
やれは定期
ハイカラおわたは処理時間

やれはキューされる。
よっておそけりゃ直ぐくるというなら、そういうことかと。

87デフォルトの名無しさん2018/09/06(木) 21:01:09.32ID:mh3HShQw
そもそも、runOnUiThreadで重い処理やっちゃダメだろ。

88デフォルトの名無しさん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つについてお願いします。

89デフォルトの名無しさん2018/09/06(木) 21:59:48.33ID:3+22MjfV
Consent SDKほどの糞はない

90デフォルトの名無しさん2018/09/06(木) 22:17:57.69ID:eiVFavM9
>>88
ひとつだけ
.withAdFreeOption()を有効にすれば『同意しない』ボタンがでるよ
自分はこれで有料版へのリンクもしくは終了させてる

91デフォルトの名無しさん2018/09/06(木) 22:29:37.08ID:Ol66zePV
GDPR程の糞はない

92デフォルトの名無しさん2018/09/06(木) 22:55:55.13ID:5iTUsHl5
>>90
出ました。ありがとうございます。
そのサイトのプログラムでは初回の選択後、2回目からは
onConsentFormClosed()で必ず case NON_PERSONALIZED: が呼ばれてしまいますが
1回目の選択を保存しておいてここでロードしてその内容で自分で設定しないといけない感じなんですかね

93デフォルトの名無しさん2018/09/06(木) 23:18:14.79ID:FxYJjFQD
訂正 onConsentFormClosed()で→onConsentInfoUpdated()で

ボタン文変えるには
/app\build\intermediates\assets\フォルダ内のconsentform.htmlを変えればよい。
とあるけどこれも日本語の解説サイトほとんどないなあ。

94デフォルトの名無しさん2018/09/07(金) 00:24:58.82ID:kBozhQLt
サーバがUNKNOWNを返したらダイアログを表示するというロジックなので、サーバの応答次第では毎回ダイアログが表示されるということもありうる
これを避けるにはアプリ側でもフラグをもってダイアログ表示の制御をしたほうが良いと思う、サーバ側のバグはこちらではどうしようもないから

95デフォルトの名無しさん2018/09/07(金) 10:39:49.42ID:HBOXXdzp
同意しないで終了するボタンつけた方がいいかな
さすがに欧州の人も同意フォームに見慣れてきて
バックボタンが効かなくてムキー☆1ってなることはないと思うんだが

96デフォルトの名無しさん2018/09/07(金) 10:51:24.77ID:a8gtf4oe
デフォルトの Pay for 〜 という名前のボタンじゃ押しにくいよね
これを Exit とかに変更する方法が書いてあるサイトないもんかなあ。

97デフォルトの名無しさん2018/09/07(金) 10:56:46.17ID:qhjBJ+Jf
>>86-87
そうですよねー、ありがとうございますっ!

98デフォルトの名無しさん2018/09/08(土) 12:15:40.04ID:X7/7x4Za
レビューダイアログのライブラリってありますでしょうか
単にplay storeに飛ばすだけじゃなくて、
星を選択して結果を送れるようなものがいいです

99デフォルトの名無しさん2018/09/10(月) 16:03:21.34ID:skuEUIKW
Android上で動くAIアプリ作りたいんだけど入門用におすすめのHPとか参考書あります?
目標としては音声認識して回答を返せるようなの作りたいです

100デフォルトの名無しさん2018/09/10(月) 17:14:43.57ID:r8wcqi7V
おっけーぐーぐる

新着レスの表示
レスを投稿する