Androidプログラミング質問スレ revision55
■ このスレッドは過去ログ倉庫に格納されています
スピナーを付ける時、デフォルトだと右側に▼が付くけど、
android:backgroundでレイアウト.xmlを指定すると消えてしまいます。
▼を表示させるか、レイアウトに▼(に近い形)を追加する方法は無いでしょうか? >>77
後付けで如何様にも変更される。
2017年のインタースティシャル広告をペナルティとか。 >>78
スピナーに入れる項目を"項目名"+" ▼"ってすれば出るよ >>80
それ全部の項目に▼が付くじゃないですか・・・ >>79
onAdLoaded()がだめということは結局広告がきちんと表示されてるかどうかを判別する方法はないってことなんですかね?
何か他の方法はないものだろうか… Timerの中でrunOnUiThreadを実行する時、
runOnUiThreadの中身が重いと、複数回実行してしまうことってありますか?
Timerを1秒毎にscheduleAtFixedRateで実行して、
runOnUiThreadの実行回数を見ていたら、
同じ秒数にrunOnUiThreadが2回発生している現象が見られました。
とりあえずrunOnUiThreadの中身を整理したところ直ったのですが、
原因が不明でスッキリしなくて。
漠然とした質問ですいませんが、よろしくお願いします。 >>84
----+----1----+----2----+----3
----------やれ------やれ------やれ
----------はい---------おわた
やれは定期
ハイカラおわたは処理時間
やれはキューされる。
よっておそけりゃ直ぐくるというなら、そういうことかと。 そもそも、runOnUiThreadで重い処理やっちゃダメだろ。 GDPRとConsent SDKについて質問です。
ttps://qiita.com/tokisuzume/items/de41f901ce772c7880c4
この解説ページ見てるのですが、選択フォーム表示でNOを選択すると
非パーソナライズ広告の表示に’同意のボタン’が出てきますよね。
EUの人がこちらを選んでAdMobの非パーソナライズ広告を表示すれば制裁の対象にならないのでしょうか? …@
いっそのことヨーロッパの人には全部非パーソナライズ広告にしてしまえばと思うのですが
こうするとなにかデメリットでもあるのでしょうか? …A
またプログラムには default: // 同意が得られなかったのでアプリを終了
がありますが、選択ボタンには非パーソナライズOKの選択ボタンはありますが他に
同意しない(拒否)の選択ボタンはありませんよね?
拒否で終了へ向かうにはどういう操作をすればいいことになっているのでしょうか?(それとも実際はないのか?) …B
@ABの3つについてお願いします。 >>88
ひとつだけ
.withAdFreeOption()を有効にすれば『同意しない』ボタンがでるよ
自分はこれで有料版へのリンクもしくは終了させてる >>90
出ました。ありがとうございます。
そのサイトのプログラムでは初回の選択後、2回目からは
onConsentFormClosed()で必ず case NON_PERSONALIZED: が呼ばれてしまいますが
1回目の選択を保存しておいてここでロードしてその内容で自分で設定しないといけない感じなんですかね 訂正 onConsentFormClosed()で→onConsentInfoUpdated()で
ボタン文変えるには
/app\build\intermediates\assets\フォルダ内のconsentform.htmlを変えればよい。
とあるけどこれも日本語の解説サイトほとんどないなあ。 サーバがUNKNOWNを返したらダイアログを表示するというロジックなので、サーバの応答次第では毎回ダイアログが表示されるということもありうる
これを避けるにはアプリ側でもフラグをもってダイアログ表示の制御をしたほうが良いと思う、サーバ側のバグはこちらではどうしようもないから 同意しないで終了するボタンつけた方がいいかな
さすがに欧州の人も同意フォームに見慣れてきて
バックボタンが効かなくてムキー☆1ってなることはないと思うんだが デフォルトの Pay for 〜 という名前のボタンじゃ押しにくいよね
これを Exit とかに変更する方法が書いてあるサイトないもんかなあ。 >>86-87
そうですよねー、ありがとうございますっ! レビューダイアログのライブラリってありますでしょうか
単にplay storeに飛ばすだけじゃなくて、
星を選択して結果を送れるようなものがいいです Android上で動くAIアプリ作りたいんだけど入門用におすすめのHPとか参考書あります?
目標としては音声認識して回答を返せるようなの作りたいです まずは人工無能という非人工知能技術を調べてみ
真っ先に人工知能を考えとるやろうけど、
おそらくやりたいことは人工無能で出来るはずや 音声認識は、OCRと似たところで応用の需要が途絶えるように見える。
複雑な入力を手間を掛けずに与える点で非合理。
人語を認識せず、予め技名みたいな言葉に動作を仕込むマクロみたいな使い方が主流になりそう。
「システムコマンド!エクスカリパーをジェネレート?」
→ そのコマンドは見つかりません うるう秒が発生した時の時刻を取得した時、
8:59:60か、8:59:59の繰り返しか、どちらになるのでしょうか? >>105
全てのスマホがうるう秒知ってるわけじゃないので、9:00:00じゃない?
しばらくして時刻補正がかかると。 >>106
うるう秒の瞬間に同時に動くのでは無く、
後からの時間補正で調整ですか、ありがとうございます。 >おそらくやりたいことは人工無能で出来るはずや
ほんそれ SharedPreferencesはXML形式で保存されるということですが
これはユーザーにもアクセスされる可能性があるため大事なデータの保存は危険性があるということでしょうか?
アクセスの危険性を避けるには他にどういった方法がいいでしょうか >>109
想定するユーザのレベルにもよる
アプリケーションを作るときに自分でゆるいアクセス権を
設定していなければ、作成したアプリ内に作成する情報は
アプリでアクセス方法を提供しているもの意外には、
他のアプリ(ユーザ)からアクセスできないようになって
いるので何もしなくても良い
root化したユーザからも中身を確認されたくない場合には
>>110がいうようにデータ自体を読めなくする必要がある >>109
・アプリケーションのローカルキャッシュフォルダ
・SQLiteを使うコンテンツプロバイダ
・クラウドアップルロード
やるならアプリケーションのローカルキャッシュを暗号化するのだろうが、
極限的に言えば、ルート虎れたときに防ぐ術はない。デバッガなりICEを刺されたら防げないし、プロセスメモリにアタッチして、復号したメモリを読まれるだけ。
とりまプリフアレンスは、そういう目的の保存手段ではない。
セーブデータの改竄予防したいなら、シンクライアントにして、セーブデータは全部クラウドに置くしかない。
怠いから誰もやらない。 プリファレンスは別に消えてもいいようなゆるい設定を置いとくところだな 大抵のファイラーはSMBサーバーへの接続設定をSharedPreferencesに保存してるけど
パスワードを生で書き出してるものは(自分が確認した範囲では)一つもなかった。
重要度に応じて暗号化する/しない の判断は変わってくるのでは? AndroidStudioでVector AssetをNewする際に、
Overrideのチェックボックスにチェックを入れるのと入れないのは何が違うんでしょうか フラグメントをreplaceしてaddBackstackしたあとpopBackstackで戻すとき、コールされるはずのonCreateあたりのライフサイクルが呼ばれないんだが
誰か同じ状況になったことない?
ほぼ何も触ってないフラグメント作って試してみてもなるしfragmentViewPagerでも同じ症状出るしもう訳わからん C#でのデスクトップアプリと、Javaでのサーバーサイドしか経験がないんですが、
android開発始めるなら、XamarinとAndroid Studio(Kotlin)のどちらがなじみやすいでしょうか? >>116
その状況でコールされると勝手に君が思い込んでただけだと思うよ >>118
複数のサイトで確認したし何よりコールされないせいでViewがxmlから作っただけのデフォルト状態になるんだよ……
あ、でもつまりonCreateViewは少なくとも呼ばれてるって事か?う〜ん >>117
Android単体の開発ならザマリンが選択肢に入ることはないかな個人的には >>117
サンプルのソース読んでみて読みやすいような
気がするほうってんじゃだめなのかな >>117
それならJavaじゃないかな。
なんの違和感なく、とはいかないが
application暮らすがプロセス
activityクラスがウィンドウ
fragmentがビュー、あるいは子ウィンドウ
serviceクラスは、使い方にクセがあるスレッド
UIスレッド(メインスレッド)しか画面に触るコンポーネントを操作できない
それでいけると思う >>116
間違ったサイト見ても何の役にも立たない。
公式の説明の通り、onViewCreatedかonStateRestoredでBundleを受け取れる。 >>125
なんか勘違いしてるみたいだな……
まあもう自己解決したから良いけどonCreateViewからonResumeまでのライフサイクルは呼ばれるよ
つか知らないのになんでこんなドヤ顔で解説出来るんだろう…… ふと気になって検索したらkothlinでiphoneも開発できるのね
まんま動くわけじゃないだろうけどまんま動くようになってくれたら有りがたいな >>129
まさか「ヒヨコ」色のコスだから「小鳥ン」とか言うのか? NumberPickerで、MaxValueやMinValueまでスクロールしたら、そこで止めることって出来ますか?
最小値や最大値にしようとして思いっきり回して、
通り越してしまうことを防げないかなと思っています。 スマン、自己解決した。
setWrapSelectorWheel(false);
で、良かったのね。 AR Coreを使って、深度画像を取得することって出来ますか? 質問させてください。どうかよろしくお願いします。
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 質問させてください。どうかよろしくお願いします。
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情報を引数として呼び出されているのでしょうか? >>134は誤って書き込んでしまいすみませんでした >>135
onAttachのContextはActivityになるから、listener=Activityとなり、onListItemClick中のlistenerはActivityで実装している1を呼び出すことになる >>140
おはようございます。ありがとうございました!
テキストに書き込んで理解を進めます。
感謝です!ありがとうございました! >>140
ほんとにありがとうございます。
続けての質問ですみません、、どうかお願いします。
>>135
<質問1>
のMyFragment1では、インターフェスListSelectionListener型の変数を宣言しているだけで
ListSelectionListenerのインスタンスを生成してるわけではないのに(インターフェイスのインスタンスは生成できないと学んでます)
---2で、同インターフェイスのメソッドを使えるのは何故なのでしょうか?
<質問2>
流れとしては、MainActivityが呼び出されて、Fragment1が呼ばれる
onAttachで変数listenerにMainActivity?が格納される
リスト項目をクリックすると、Mainactivityが呼び出され、---2が実行されるが
その時には、ListSelectionListenerを実装したMainActivityのonListSelection()が呼ばれて実行される、
ということなのでしょうか?
<質問3>
もしそうなら、---2を、MainActivity.onListSelection(position);としても同じなのでしょうか? >>142
>>140
ほんとにありがとうございます。
<質問1>
MainActivityはListSelectionListenerをimplements宣言により実装する(MainActivity is ListSelectionListener)
またlistenerはMainActivityである。
<質問2>
そう。
<質問3>
だめ、MainActivityのクラスオブジェクトのメソッドとなる。インスタンスのメソッドを呼ぶことにならない。 >>143
ありがとうございました!
テキストの該当部分に書き込んで読み込んでみます。
心から感謝です!! >>145
ちょっと表現間違えたかな
クラスオブジェクトのメソッドではなくstaticフィールドのメソッド(スタティックメソッド or クラスメソッド)かな >>146
ご丁寧にありがとうございました。
随分と理解が進みましたし、復習にもなりました。
とてもよくしていただいて感謝です! AR Coreを使って、深度画像を取得することって出来ますか?
AR Coreを使って、深度画像を取得することって出来ますか?
AR Coreを使って、深度画像を取得することって出来ますか? 👀
Rock54: Caution(BBR-MD5:1341adc37120578f18dba9451e6c8c3b) kotlinにすればjavaより2倍くらいスピードアップしますか? handleMassage でMassageを受け取るときに
whatという変数が宣言されずに利用されているのですが
どういう仕様になっているのでしょうか? >>154
ありがとうございます。
massegeクラスにあるフィールドを使っていた、ということなのですね
このページを紹介してくださってありがとうございます
分かりやすいページで、とても勉強になります。丁寧に読み理解していきます! 質問お願いします。
質問1
イベントリスナーをonCreateメソッド外に設置することは可能なのでしょうか?
ライフサイクルのメソッド外で、private void button.setOnClickListener(){}と書き込んでみるとエラーになります
質問2
onCreate()メソッドと、違うメソッドは、それぞれスレッドが異なるのでしょうか? アクティビティにOnClickイベントをimplementする書き方をしてみて
質問の書き方はイベントのなかで設定する方法だよ アクティビティのイベントっていうことなら同じUIスレッド ありがとうございました!
早速試してみます!
スレッドのご説明もありがとうございました! >>160
前から聞きたかったんでせっかくだし聞いてみていいかな
試す前にそれ書き込んだのはなんで?
試してから結果をもって書き込もうと思わなかったのはなんで?
ほんとにぜんぜん怒ってないから、よかったらおしえて >>162
すみません、色々試したり調べてるのですが、
煮詰まってしまうときに質問させてもらってます
レベルの低い質問ですみません
どこが理解できていないのかを理解できていない状態のようで
ご迷惑おかけしてすみません。 >>163
答になっていない
自分で試す前に>>160を書き込んだのはどうしてなのかと聞いている Firebaseのrealtimedatabaseでアクセスのルールを指定アプリからのみにしたいんですが
パッケージIDで弾いたりできますでしょうか >>164
別に結果も書き込んでるんだし、そこまで突っかかるのはなんで? >>164
勘違いしてました、すみません。
家事育児しながら空いた時間に勉強していて
すぐに返事ができないと申し訳ないので
先にお礼をお伝えしたのです。 AndroidstudioってRyzenで動きますよね? >>168
エミュレータは大丈夫なんですかね
自分はその環境で使ったことないけど ServiceプログラムってAPI26からstartForegroundService使わないと
バックグランドで動作しなくなるなったらしいけど、TargetSdkVersionと
CompileSdkVersionをAPI25にした場合にはstartForegroundServiceを
使わなくてもバックグラウンドで動くものですか? 動きます。
ただ、ストアに出すつもりなら、もう API は 26 以上にするしかないので。 新しいアプリをkotlinで作るか悩んでる俺にアドバイス下さい Android Studioがウンチみたいに遅くてPCを新しく買おうと思いますが
みんなどれくらいのスペックのPCを使ってますか?
自分はもちろん高スペックであればあるほどそれが欲しいですが
やっぱり高すぎる買い物は避けたいと思ってまして。 ■ このスレッドは過去ログ倉庫に格納されています