Androidプログラミング質問スレ revision53 [無断転載禁止]©2ch.net

レス数が1000を超えています。これ以上書き込みはできません。
2017/02/25(土) 12:46:10.62ID:NbM7/95y0
このスレではAndroidSDK・NDKやAndroidマーケットに関する質問を扱ってます。

※プログラミング自体が初めて!なあなたには↓↓↓こちらへ
スレ立てるまでもない質問はここで 144匹目
http://echo.2ch.net/test/read.cgi/tech/1473241397/
Eclipse統合M35【Java/C++/Ruby/Python/Scala】
http://echo.2ch.net/test/read.cgi/tech/1405391739/
★★Java質問・相談スレッド179★★
http://echo.2ch.net/test/read.cgi/tech/1476706523/
****オススメ関連リンク****
■ 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プログラミング質問スレ revision51
http://echo.2ch.net/test/read.cgi/tech/1457303564/
Androidプログラミング質問スレ revision52
http://echo.2ch.net/test/read.cgi/tech/1479305887/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:----: EXT was configured
2021/02/28(日) 14:03:53.32ID:2DSRaDXz0
>>912 >>913
ありがとうございます。試してみます
2021/02/28(日) 15:10:58.27ID:2DSRaDXz0
>>912 >>913
return; でいけそうです。ありがとうございます。

>>913
友人、知人にAndroidを使っている人が少なく、また使っている人もアプリ開発に詳しい方ではないので、頼む事が出来そうにありません
SNSはこれまで利用して来なかったので、繋がりが全くありません
クラウドソーシングを確認した所、費用が月10万+かかる様で、小規模な開発を目指している私の予算に合いません

ここで募集するといった事はどうでしょうか?(5chは一種のSNSの様な物と考えてます)
2021/02/28(日) 18:24:19.71ID:0bJ/dwd80
ベータ版でストアに公開でもいいと思うよ
ベータ版でも製品版でも最初は誰もDLしてくれないから。。。
2021/03/01(月) 02:35:11.77ID:27ATkQeN0
>>915
考えて実行しないよりまず公開をめざそうぜ!オープンβでもストア公開でもいいから。
スレ住民がいくら優しくても、モノも構想も出せない状態では募集もなにもそんなお人好しはいないからね。
2021/03/01(月) 23:51:30.39ID:Ntd3N/hT0
内部テストというのをやってみましたが、これで良いのかよく分かっていません。

e-hentaiに特化したダウンローダー:
https://play.google.com/apps/internaltest/4700364722824014155

機能は、ehgm.plと言う物の下位互換です。

URL はダウンロード対象のIndexページのアドレスのみ対応してます
https://e-hentai.org/g/xxxxxx/xxxxxxxxxx/

対象としているサイトが、あまり行儀の良く無いサイトである事は承知していますが、
協力頂けるのであれば、意見を受け賜れると幸いです。
よろしくお願いします。
2021/03/02(火) 09:16:28.49ID:CA/md18K0
テスターにメールアドレス追加しないと駄目だろ
deploygateの方が良いんじゃない
2次元バーコード読み取るだけでインストールできる
2021/03/03(水) 11:20:45.04ID:aNER/9350
これだとメアドをどうにかして収集して追加するところからだから、オープンβにするかdeploygateがいいね
2021/03/03(水) 12:33:33.41ID:cKCbT4+r0
deploygate 使い方まだよく分かっていませんが、上げてみました

https://dply.me/4rrsaa

これでいいんでしょうか?
2021/03/03(水) 13:07:58.79ID:qf1rSl260
テストしてやるとは言ってない
2021/03/03(水) 13:31:06.10ID:cKCbT4+r0
>>922
無報酬でテストして貰うのだから、別の形でテスターの方にメリットを提供出来れば良いなと考えてます。
どんなメリットがあればテストしてくれます?
2021/03/03(水) 13:32:40.50ID:yjV9atCA0
依頼は他所でやれ
2021/03/03(水) 13:42:54.10ID:cKCbT4+r0
>>924
話の流れで、この様な形になっています。

>依頼は他所でやれ
どこでやればいいですか?
2021/03/06(土) 21:20:45.85ID:w+6E5OyeM
ランチャーアプリ作ってるんですが、ブラウザからウェブページのショートカットがホーム画面に追加された時の情報ってブロードキャストでキャッチできますか?
レシーバーにACTION_CREATE_SHORTCUTとか追加しても情報が飛んでこないので。分かる方教えてもらえるとありがたいです!
2021/03/17(水) 02:16:34.13ID:slPPJ4Z70
EhViewer というアプリを参考に、あらたなアプリを作ってるんだけど
(EhViewerの配布元:https://github.com/seven332/EhViewer/releases

こいつがどうやって、サーチ&表示してるのか分からない。
誰か分からん?
なんとなく、自前のDB作ってそこを使ってやってそうっぽい?
2021/03/17(水) 08:43:03.19ID:GVUsYX0l0
ソースコード公開してるんだから自分で確認すりゃいいでしょ
2021/03/17(水) 16:56:35.97ID:slPPJ4Z70
それが出来ればいいんだけど…
余力ある人に教えて欲しい
2021/03/17(水) 20:22:23.18ID:y3TGLyIf0
親分てーへんだ
2021/03/24(水) 01:32:49.44ID:1qXI0SVe0
Sony系のエミュレーターって今じゃ手に入らないんですか?

また、Sony系のスマホでフォルダ作成を行った場合エラーが出る様なのですが、
原因や解決方法分かる方いませんか?
2021/03/24(水) 18:49:17.67ID:G8d0xKyZ0
>>931
自分が作成・公開してるアプリで、Google Play Console の Android Vitalsの
「障害およびANR」を見ると、月に1〜2件の頻度でANRが報告されているのだが、
その殆ど(多分9割以上)がXperia(機種は色々)で、そのmainスレッドの一番上
には大抵ストレージアクセス系のnative関数になってる。

Xperiaは低品質のストレージ使ってるか、Sony独自のコードに何かバグがある
のかねえ?
2021/03/24(水) 18:55:01.60ID:abEcFnZFM
IT後進国の企業が作ってる糞コードなんか糞に決まってるだろ
2021/03/24(水) 19:11:10.86ID:G8d0xKyZ0
>>931
あと、Xperia での話ではないが、初回起動などでContext#getFilesDir()で
フォルダが新規に自動作成される時、作成直後はフォルダ内への書き込みに失敗
する場合があるようなので、書けるかテスト・ダメならちょっとSleepしてリト
ライするようにしてる。
2021/03/24(水) 20:49:24.04ID:tdvrnxfw0
MVVMって基本的にActivity一つに対して対応するViewModelを一つ作るんだと思うんですけど
RecyclerViewのadapterの中で使うレイアウトファイルにセットするViewModelは
それ専用のを作るのかActivityに対応するViewModelをセットするのか
どうしたらいいんですか
2021/03/24(水) 21:04:36.89ID:qJXpnSlY0
俺はそのまんま表示するものに対しておとしこんでる
Activityに対してActivityのViewModelがあって、このActivityがItemの一覧をRecyclerViewなりで表示するなら
ItemのViewModelのListをActivityのViewModelが持つ
2021/03/24(水) 21:06:29.20ID:qJXpnSlY0
class ActivityViewModel {
 List<ItemViewModel> itemViewModels
}
こんなイメージ
2021/03/24(水) 21:48:24.09ID:tdvrnxfw0
なるほどviewmodelで親子関係を持つんですね
その場合に、子のviewmodelから親のviewmodelへアクセスしたいとかその逆みたいなことってありませんか
callback とか livedata の observe とか駆使して
子の viewmodel -> adapter -> activity -> 親の viewmodel
とか経由しないといけないと思うんですけど
その辺の煩わしさを感じて結局viewmodelは一つがいいんじゃないかとか
思ってしまうんですけどどうなんでしょうか
2021/03/24(水) 21:49:24.21ID:tdvrnxfw0
子の viewmodel から 別の子の viewmodel とかもアクセスし辛いじゃないすか
2021/03/24(水) 22:00:30.15ID:qJXpnSlY0
androidではその場合は親のViewModelも一緒にRecyclerViewに渡してる

本当は子が親の参照持つべきなのかもしれんが、そうすると子が他で使いまわしづらくなるので
2021/03/24(水) 22:04:16.43ID:qJXpnSlY0
DataBinding使ってるか知らんが、androidのDataBindingは変数いくつでも宣言できるからこれでいってる

xamlとかWPFとかでのMVVMだと、DataContextって言って変数が一つしか割り当てれないから、めんどくさいんだけどね
2021/03/24(水) 22:09:29.49ID:tdvrnxfw0
この辺がやっぱ何かもやっとしますよねえ
2021/03/24(水) 22:14:25.58ID:qJXpnSlY0
俺はMVVMギチギチにやるなら、親の参照を持った専用のItemのViewModel作るけど、そんな完璧にやってもめんどくさくなったりするからそこら辺は自分の適当なさじ加減で
2021/03/24(水) 22:38:45.09ID:qJXpnSlY0
例えば、Twitterアプリ考えて、たいてい一覧画面と詳細画面あるけど、
Tweetを表すTweetViewModelはまとめて両方で使えるように
で一覧画面の
TweetsViewModel {

}

TweetDetailActivity {

}
2021/03/24(水) 22:41:07.57ID:qJXpnSlY0
// 一覧
TweetsActivityViewModel {
 List<TweetViewModel> tweetViewModels;
}

// 詳細
TweetDetailActivityViewModel {
TweetViewModel tweetViewModel;
}
TweetViewModelをどっちでも使いまわしたいからとりあえず、TweetViewModelには親の参照を持たせずに・・
まぁ、適当でいいんじゃねw
946デフォルトの名無しさん (ワッチョイ 8110-oXDN)
垢版 |
2021/03/25(木) 22:43:44.56ID:1ZcQUKKu0
webviewってアプリ側に悪意があったら情報取られますか?
例えばLINEのQRコード読み取りで開いたサイトはChromeではなくLINE内のブラウザで開かれると思いますが、この場合URLだけでなくにcookie等も取得できてしまいますよね?
2021/03/27(土) 15:02:20.37ID:+36ivnm+0
>>932
色々調べてみて貰ったんだけど、原因はAndroid10の可能性が高い
たまたまSony系を使ってる人がAndorido10を使ってたからエラー出てたみたい
2021/03/27(土) 18:52:50.77ID:OFcvctcZ0
いーやお前が悪い
2021/03/30(火) 16:28:47.84ID:SN6IzqgC0
アプリからダウンロードフォルダのパスを取得する方法についての質問です。

API28(Android9) 以下の場合:
File dataDir = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS);

API29(Android10) の場合:
マニュフェストに android:requestLegacyExternalStorage="true" を追記
File dataDir = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS);

API30(Android11) の場合:
 どーしたらいいのか分かりません。

Environment.getExternalStoragePublicDirectory が API29で使えなくなったけど、マニュフェストを弄ればなんとか使える
API30 でそれも許されなくなって、どうやってダウンロードフォルダのパスを取得したらいのやら教えて欲しいのです。

よろしくお願いします。
2021/03/30(火) 16:35:50.63ID:blrMEvRh0
contentResolverじゃね
2021/03/30(火) 17:35:42.83ID:SN6IzqgC0
>>950
contentResolver を調べてみたのだけど
>アプリが作成していない MediaStore.Downloads コレクション内のファイルにアクセスする場合は、ストレージ アクセス フレームワークを使用する必要があります。
>参考URL:https://developer.android.com/training/data-storage/shared/media?hl=ja
API30(Android11) の場合ストレージ アクセス フレームワーク(SAF)を経由しないとダウンロードフォルダのパスを取得出来なくなってるのでは?



初めてAndroidアプリを作ってます。
アドバイス(出来れば具体的に)お願いします。
2021/03/30(火) 17:51:03.21ID:tA63+zJpM
もうストレージアクセスフレームワーク使わないと駄目なんじゃないかね
2021/03/30(火) 18:02:28.01ID:tA63+zJpM
API29対応して放置してるアプリがあるんだけど、pixel4aのAPI30で動かして見ると、SAFを通してならばダウンロードファイル全部見えてるぽい
scoped storage 経由だとなんか一部しか見えない
2021/03/30(火) 18:09:11.42ID:tA63+zJpM
API29対応するときに、SAFかscoped storageだけしか見ないようにした
ファイルパスを入手するのでは無くて、ContentResolver::openFileDescriptor使ってファイル見るようにしたと思った
2021/03/30(火) 18:23:05.54ID:tA63+zJpM
この辺見て頑張りたまえ

データ ストレージとファイル ストレージの概要
https://developer.android.com/training/data-storage?hl=ja
対象範囲別ストレージ
https://developer.android.com/training/data-storage?hl=ja#scoped-storage
Android ストレージのユースケースとおすすめの方法
https://developer.android.com/training/data-storage/use-cases?hl=ja
Android 11 でのストレージに関する更新
https://developer.android.com/about/versions/11/privacy/storage?hl=ja
Android 10 との互換性を維持する
https://developer.android.com/about/versions/11/privacy/storage?hl=ja#maintain-compatibility-android-10
2021/03/30(火) 18:26:02.66ID:oe3FBI0+M
ファイルパスはもう見れないんじゃね
2021/03/30(火) 20:02:06.80ID:SN6IzqgC0
沢山のアドバイスありがとうございます。
頂いたアドバイスの内容を調べ、勉強させて貰います。
2021/03/31(水) 19:07:15.63ID:lwtQ5GkB0
自分はちょっと特殊な(工場で使うような)ファイルのビューアを作ってます。
やっぱりAPI30のファイルアクセスで悩んでいて、ファイル形式が一般的でなくて拡張子で種類を判断していたけど、これからどうしたものかと。
別のアプリはSAF使ってファイル選択後に種類判断したけど、関係ないファイルが表示されるし、選択ミスもあるしで使いにくいったらありゃしない。
また別のアプリはフォルダ下にある複数のファイルが必要なのでどうすりゃいいんだろ?
2021/03/31(水) 20:15:04.48ID:thzCmkYw0
Googleの手数料が15%になるってことはAdMobの広告収入が今までより20%くらい増えるってことなん
2021/03/31(水) 22:20:02.61ID:tw4xdBq70
>>958
SAFのUIでファイルを指定させるのではなくて、フォルダを指定させることができる
アプリは指定されたフォルダ以下の階層のファイルやフォルダへのアクセス権が貰えるので、ファイルの一覧を自分で取得して選択リストを自前で表示すればいい
ただ面倒なのは、ファイルの一覧の取得やファイルへのアクセスには、SAFの独自関数を使用する必要がある(はず)で、JavaのFileクラスやLinxuのシステムコールではアクセスできない(と思う)
ユーザによるSAF UI上でのフォルダの指定は、最初に一度やって貰えば、アプリ側でそれを保存しておける
2021/03/31(水) 22:40:30.10ID:lwtQ5GkB0
>>960
ありがとうございます。調べてみます。
2021/04/01(木) 00:20:57.77ID:Ht+Na1Lt0
本当にパスが必要ならスーパー権限要求すればいいだけ
MANAGE_EXTERNAL_STORAGE
ストア経由しなければこれでもいいし、ストアで配布すると審査厳しくなるのだろう..
2021/04/05(月) 15:00:44.26ID:QlQVv+Ua0
開発中のアプリを見せた際、マテリアルデザインのテンプレートを使った開発を行った方が良いとアドバイスを受けました。
なので、マテリアルデザインについて勉強中なのですが、

皆さんは、どのようにデザインを作られていますか?
また、マテリアルデザインのテンプレートのお勧めなどありますか?
2021/04/05(月) 16:26:47.46ID:0tu2RPBZ0
アプリ更新して40時間ぐらい経つのにまだ審査中なんだがなにやってんの
2021/04/05(月) 18:18:00.71ID:08wdQHfO0
>>964
アンタのアプリを待ってる人なんか誰もいないから気にすんな
2021/04/05(月) 20:04:29.28ID:s4XNa1gN0
たまにあるよな、すげー時間かかるとき
別のアプリが2時間ぐらいで承認されるのに、一方で1週間ぐらい待たされるアプリもあったな
2021/04/05(月) 20:13:42.40ID:0tu2RPBZ0
今やappleより審査厳しくなってるんじゃないの
2021/04/06(火) 01:25:04.83ID:ZNqtV0fC0
コロナの影響か分からないけど最近は72時間以上かかる事が多いみたい
2021/04/06(火) 10:24:31.75ID:equoTOm3M
勝った

GoogleがOracleとの10年越しの裁判で勝訴 最高裁はJava著作権侵害せずの判断
https://www.itmedia.co.jp/news/spv/2104/06/news055_0.html
2021/04/06(火) 10:26:51.71ID:equoTOm3M
https://www.publickey1.jp/blog/21/10googlejava_se.html

GoogleがJava SE APIをコピーしたことは、プログラマーが自分の才能を生かして新しいプログラムを開発するために必要なコードのみを含んでおり、法律上、その素材におけるフェアユースにあたる。
2021/04/06(火) 15:43:36.21ID:2rq1TMM70
おおおおいい!まだアプリ更新されねえぞはよしろよ!!
2021/04/15(木) 16:22:00.72ID:wd5TCrZo0
私がこないだ、申請した時は3〜5日(土日挟む)くらい掛かった記憶がある
2021/04/15(木) 16:26:49.91ID:wd5TCrZo0
Android11だとダウンロードフォルダのパスの取得が難しくなってるよね
chromeでダウンロードする場合、どうやって処理してるんやろか?
2021/04/15(木) 19:43:02.78ID:NeOuZGfy0
アプリ更新されたよ。ダウンロードしてね
2021/04/17(土) 15:25:05.37ID:lWhefxZ40
SDカードの存在確認ってどうやって作っていますか?
2021/04/17(土) 23:06:33.80ID:Jr8yB9AX0
目標管理とかうぜー
2021/04/25(日) 18:46:45.94ID:nfdEzF6CM
Stethoがchromeで使えないのはよ直せや
2021/05/10(月) 16:54:15.95ID:NknrS4Mg0
もうAndroid studioぐらいのエディタになるとグローバル変数は色分けしてくれるんで
変数の接頭にこれはグローバルだとわかるようなの書かなくていいんですかね?
2021/05/10(月) 19:45:26.43ID:dbraRp9ZM
グローバル変数を使ってしまっているという罪の意識を常に喚起する様に接頭辞にXXX_とかつけるべきだよ
2021/05/10(月) 19:48:11.03ID:EccFdDEK0
使うなと言われるけど速度優先の時にはどうしても使ってしまう
毎回下の階層に余計にデータ渡ししないといけないし、繰り返し呼ばれるようなところは特に
2021/05/10(月) 19:50:22.42ID:XMzCpLnaM
AndroidはC/C++みたいな糞と違って自由だから
むしろSharedPreferenceManagerとか作ってグローバルで持ったらいいよ
2021/05/10(月) 20:51:53.51ID:ifX51dGw0
Androidってグローバル変数の値保持は保証されてないでしょ?
怖くて使えない
2021/06/07(月) 14:58:50.88ID:IxrG8iEi0
android-studioでrxjavaをデバッグしているのですが

関数
return Observable.just(1)
.observeOn(Schedulers.computation())
.concatMap(v -> {処理})
.observeOn(AndroidSchedulers.mainThread())
.concatMap(v -> Observable.just(2));

このコードで上側のconcatMapは呼ばれるのですが
ステップ実行していくと{処理}の部分が全く呼ばれず
次のobserveOnに行ってしまいます
なぜか分かる方いらっしゃいましたらどう対応すればいいのか教えて貰えませんか
関数は戻り値を他のObservableとつなげて使っています
2021/06/09(水) 23:24:01.43ID:lP0Gy2su0
ブレイクポイントの位置がズレてるとか?
一度処理の部分を関数に切り出して関数の中にブレークポイントを置いて、動作するか確認
2021/06/09(水) 23:46:55.98ID:7MnLem3f0
人類にrxjavaは早すぎる
986デフォルトの名無しさん (アウアウウー Sa67-F5ry)
垢版 |
2021/06/15(火) 09:48:59.31ID:Pt7e5czla
うん。俺は未だにわからない。
2021/06/20(日) 23:42:03.85ID:8bKSVR8hM
midiシーケンサーつの作り方考えてます。
midiserviceってドキュメントみると外付けのmidi機器だけでなく、仮想デバイス(xmlで定義しておくとgetDevicesで取得出来る?)からmidiキーノートの送信って出来そうですけど合ってますか?
988デフォルトの名無しさん (ワッチョイ 832c-C2Ex)
垢版 |
2021/06/22(火) 14:17:42.46ID:Zl20nMwz0
皆さん…Android12対応…スプラッシュ…いつやります?…7月くらいにやってもいいんだけど…
Androd12のSDKは…まだpreviewになってるけど…もうやっちゃった方がいいの…?
2021/06/22(火) 18:18:35.57ID:5urFnBJ50
スプラッシュなんかいらね
990デフォルトの名無しさん (ワッチョイ 832c-C2Ex)
垢版 |
2021/06/22(火) 23:18:38.17ID:Zl20nMwz0
Android11が…2020年9月リリースで…Xperiaが対応したのは…2021年2月…
結構時間かかってるので…そんなに…焦らなくてもいいかもしれない…
ちなみに…今のところ…ベータでは…どのSDKでも…勝手にスプラッシュが出る…
それを…調整しないといけない…
991デフォルトの名無しさん (ワッチョイ 832c-C2Ex)
垢版 |
2021/06/23(水) 04:10:03.84ID:Pe6ElgGw0
Pixelは…Android11リリースした次の日に…アップデートが来たらしい…
まずいなぁ…どのタイミングで…アプリを更新すればいいのやら…
2021/06/23(水) 04:36:53.61ID:qrlMFNnZ0
>>990
>それを…調整しないといけない…
なぜ?
993デフォルトの名無しさん (ワッチョイ 832c-C2Ex)
垢版 |
2021/06/23(水) 15:06:45.30ID:Pe6ElgGw0
デフォルトのままだと…アイコンのサイズが…フィットしてない…
それに加えて…僕は…独自のスプラッシュを使用しているので…
そっちを出すように…変えたい…
2021/06/23(水) 15:16:22.42ID:PR3Q8cxM0
かゆ...うま...
995デフォルトの名無しさん (ワッチョイ 832c-C2Ex)
垢版 |
2021/06/23(水) 15:24:19.01ID:Pe6ElgGw0
ラウンドアイコンなら…綺麗に出るみたいだが…そこらへんも込み込みで…
2021/06/23(水) 17:46:59.63ID:njXWOXdR0
まだAdaptiveIconにしてない奴いるの?
2021/06/23(水) 17:53:40.25ID:r4A1q/qaM
アイコンとか12関係あんのか
2021/06/23(水) 19:54:10.31ID:eYtPlWiRa
なんだか…おれも…真似したくなって…きた…
2021/06/27(日) 06:47:44.16ID:hEIlPoQ70

Slot
🎰👻🎰
🌸🎴😜
💰🎰👻
🚩(LA: 1.12, 0.91, 0.81)
2021/06/27(日) 06:47:49.05ID:hEIlPoQ70

Status ♠5 ♦9 ♠6 ♦6 ♠8 (1st.)HP: 1000 pts. たぶん(0)
1.25, 0.95, 0.83(931.988281) Proc. [0.241014 sec.]
10011001
垢版 |
Over 1000Thread
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 1582日 18時間 1分 39秒
レス数が1000を超えています。これ以上書き込みはできません。
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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