Android開発質問スレ [無断転載禁止]©2ch.net
レス数が1000を超えています。これ以上書き込みはできません。
WorkManagerでPeriodicWorkRequestをスケジュールすると、アプリがcold startする度に再スケジュールされるのですがどうすればいいですか? 僕の知り合いの知り合いができたパソコン一台でお金持ちになれるやり方
役に立つかもしれません
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』
9YNLV Google Play Consoleで、「有効なインストール数」がいきなり1.5倍になったのはオレだけ?? 今日は一気に減った。
総インストール数は見れないしGoogle何してるん Nougatで署名の異なるAuthenticator(AccountManager)使えてる人います? ProgressDialogを非同期処理後のあとに処理を挟んでから閉じたいんだけど、多分Thread.join()でメインスレッドが止まってしまってProgressDialogが表示されないんですがなんか方法ありますか?
こんな感じなんですけど
public void onClick(View p1){
ProgressDialog progres = new ProgressDialog(activity);
progres.setMessage("読み込み中...");
progres.show();
Thread thread = new Thread(new Runnable(){
@Override
public void run(){
なんか処理
}
});
thread.start();
try{
thread.join();
}catch(Exception e){}
なんか処理
if((progres != null) && (progres.isShowing())){
try{
progres.dismiss();
}
}
} >>247
その最初の"なんか処理"がUIいじってる処理じゃない?
ProgressDialogと"なんか処理"のUIスレッドがバッティングするから
順番的にProgressDialog表示→ProgressDialog非表示→非同期終了
になって表示されてないように見える
AsyncTaskとか試したけど結局UIスレッドはシングルスレッドだから無理だった
RxJava使えば解決できるのかな? >>250
なるほど
確かに処理でHandrerPost使ってUI弄ってた
でもそれ省いてsleepで待たせてみてもなぜか表示されないな
RXjavaっていうのならできるのか val dialog = ProgressDialog(this)
dialog.show()
disposable = Observable
.interval(5, TimeUnit.SECONDS)
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe({
dialog.dismiss()
disposable?.dispose()
}) RxJavaもいいけど、まずThreadの基本的なことは知った上でないと。
>>247
何が悪いか自分でほぼわかってんじゃん。
>>250
大間違いもいいとこwww
・メインスレッドでの、join()は厳禁(ANRを引き起こす。)
・別スレッドからUI処理を行うにはHandlerを経由する。
handler.post(()->{ UI処理 }) メインスレッドでjoinしちゃいけないんですね
みなさんありがとうございました
勉強し直します 10msec単位で精度重視の定期処理タイマーを使うとしたら、
何が一番良いんでしょう? >>256
Threadでぶん回すしかない
でも10msだと他の処理(やアプリ)によっては辛くなるよ
よってthreadとタイマー(時計)をうまく使いこなせ >>257
ありがとうございます。
作りたいのはメトロノームみたいな感じで、中の処理は10ms以内に終わる程度なんです。
そのかわりに速度が出来るだけ正確で、速度を任意に変更させたいと思ったら、
意外と難しくて悩んでました。 なんかちょくちょくズレた回答するやつがいるな。
ScheduledExecutorServiceには、scheduleAtFixedRate()かscheduleWithFixedDelay()があり、
RxJavaだと、それぞれinterval()、timer()に相当する。
FixedRateとFixedDelayの動作の違いは自分で確認。 正確に行うにはscheduleAtFixedRate()だと思うのですが、
間隔を再設定するにはどうしたら良いのでしょう?
下記コードだと、点滅速度がどんどん早くなる一方でした。
View _viewMain; // 表示ビュー
ScheduledExecutorService _service = Executors.newSingleThreadScheduledExecutor();
int _Color;
private void SpeedChange(final Long lngMs) {
// _service.shutdownNow(); // 一度止める・・・と、アプリが停止する
_service.scheduleAtFixedRate(new Runnable() {
@Override
public void run() {
_Color += 8;
if(_Color > 256)_Color = 0;
_viewMain.setBackgroundColor(Color.rgb(_Color, _Color, _Color));
}
}, 0, lngMs, TimeUnit.MILLISECONDS);
} そのlngMsログに出してみた?
たぶんそこの値が変 ProgressDialogはAPI level 26でDeprecatedになってるから気を点けなよ UI操作する重い処理の前にProgressDialog表示だけど、
Handler().postDelayedで遅らせるとくるくる回るやつが出るけど
遅らせた分だけくるくる回ってUI操作する重い処理に入ると
くるくるが止まったままになる
だけど、Oreoの端末だと重い処理が終わるまでくるくる回ったままで
思った通りの動作になるんだよな
この辺改善されたのかな >>258
いっそのこと100fpsの動画再生すりゃいいんじゃね 画面サイズから計算してパーツの配置を行なっているのですが、
getDefaultDisplayのgetMericsやgetSizeを行うと常にナビゲーションバーを除いた数値しか取得できず、
ナビゲーションバーの表示/非表示で位置を調整することができません
ナビゲーションバーの表示/非表示を取得する、またはナビゲーションバーの表示/非表示を考慮した画面サイズの取得をする方法はないでしょうか?
ナビゲーションバー以外のサイズを取得したく、非表示の場合は画面全体サイズを手に入れたいです >>265
>ナビゲーションバー以外のサイズを取得したく、非表示の場合は画面全体サイズを手に入れたいです
イコール 一番外のFrameLayoutのサイズでは?
>ナビゲーションバーの表示/非表示を取得
View#getSystemUiVisibility
>画面サイズから計算してパーツの配置を行なっているのですが、
機種・Androidのバージョンによっては、音量Up/down・USB抜き差しでもアプリの
画面サイズが変わるから、その方法は破綻するよ xml以外でレイアウト配置するのはマジでやめたほうがいいよ でもそうしないとダイナミックなコンテンツは作れない >>267
ナビバーの表示状態とサイズはこれで取得できるんじゃないか
Display disp = getWindowManager().getDefaultDisplay();
Point p1 = new Point();
Point p2 = new Point();
disp.getRealSize(p1);
disp.getSize(p2);
if(p1.y != p2.y){
//ナビバーが表示されている
}else{
//ナビバーが表示されていない
} Handler().postDelayedって、
Delayed指定時間毎に実行されるのでは無く、
処理時間+Delayed指定時間を繰り返すってことで良いのでしょうか? postDelayedそのものにループする機能はない。
postDelayedを再帰させてループにすることはできる。 final Handler handler = new Handler();
final Runnable r = new Runnable() {
@Override
public void run() {
何かの処理();
handler.postDelayed(this, 1000);
}
};
handler.post(r);
この場合の時間は、何かの処理() + postDelayed(1000) ってことなのかな? 再帰の形になってるから、
なんかの処理+1000ms
が、延々と続くね。 Oreoでフォアグラウンドサービスを起動して放置しておくと
Doze→Deep Dozeに遷移してスリープしちゃうから
AlarmManager#setExactAndAllowWhileIdleで10分おきに
意味のないBroadcast投げて疑似ウェイクアップさせてるんだけど
ファーウェイの端末だと全然効果ないみたい
ファーウェイの設定でバックグラウンド起動許可しても何しても
数回かに1回はスリープ入ってしまって肝心な時に動かない
これどうすれば回避出来るんだろう?
常に起きてるフォアグラウンドサービスという作りが悪いのかな? >>274
何かの処理()の時間を計測して、
postDelayed(1000 - 処理時間)
ってした方が良いのですね。
ありがとうございました。 >>276
一定周期で実行したいならscheduleAtFixedRate
どうしてもHandlerを使いたいなら、「何かの処理();」の前に「postDelayed();」 >>275
バッテリーの最適化しないの方にもアプリを登録した?
Oreoになってからこれに登録しないとxperiaでも動かなくなったよ >>277
TimerTaskのscheduleAtFixedRateが良いのですか!
ググるとTimerは評判悪かったので回避してました。
現在時刻を基準に長時間動かすなら、誤差が累積するHandlerよりも、
TimerTaskが良さそうですね、ありがとうございます。 >>277
お前も理解足りてない。
ひっくり返したところで「タイマー」としては、おかしな動作になるだろ。
handler.postDelayed自体は名前の通り、delayしてpostするだけですぐに終わる。 >>275
>例えば、Huaweiの一部の端末ではServiceのForeground化が行えない(正確には、API的には使えますが、すぐにKILLされます。
>また、CPU WakeUpも無効です)ため、一部の重要なServiceを常駐することができません。
>これは業務用アプリでは致命的になる恐れがあります。
https://qiita.com/eaglesakura/items/3f552dc5971d39fa9466
これかな? >>278
最適化から除外したり省電力設定から除外したりしたけど
数回に1回はまともに動かないみたい(ユーザに試してもらった)
手持ちのXperiaでも5回に1回くらいの割合でスリープしてるようで
BroadcastReceiverに通知が飛んでこない事がある
>>281
多分それだと思う
スタックオーバーフローとかQiitaも色々見たけど解決策がなかった
個人アプリだから深刻ではないけど業務アプリはどうするんだろう…? LINEとかどうやってバックグラウンド維持してるんだろう?
KeepAliveで通信を延々とやってるとか? 電話のパーミッション使ってるから優先度高く設定されてて殺されにくいとか >>280
>ひっくり返したところで「タイマー」としては、おかしな動作になるだろ。
どのようにおかしな動作になるのでしょうか? Handlerは基本スレッド間通信だからな
精度っつうもんは期待できない androiderに代わるサービスって今何が一番メジャーなの ここで聞く内容ではないかもしれないけど、詳しい人がいることを期待して来ました。
google play service が動かない端末って、どんな理由で動かないの?
ガラケータイプの端末(具体的には Yモバの 702KC など)であるアプリを動かそうとすると同サービスが必要だと言われ、
同サービスをインストールして再び試すと今度はこの端末では同サービスがサポートされてないと言われ、結局起動できない。
なんとか動かしたいと思ってるんだけど、そもそも端末の問題でどうやっても無理ってことがあるのか知りたい。
前述の 702KC の旧代である 502KC では動いてるようで、何か意図的に動作させないような細工が加えられたのならそれを無効にしてしまえばいいんじゃないかと思ってもいる。
702KC は android 5.1.1、502KC も同じはずで、同サービスが動く動かないを分けるような違いがどこにありそうか、心当たりをぜひ教えてほしい。 >>289
そういうガラスマみたいな端末はメーカーがかなりいじってるから
play serviceが対応してないのでは
デベコンの端末カタログにその型番で調べたけどなかったから
公式にサポートされてない端末ってことになる >>290,291
ありがとう
デベコンの端末カタログってのを自分で設定したことが無いから外してるかもしれないけど、google play services については google が設定してるんだよね?
ケータイメーカーの方がわざわざ動作確認する義理が無いのはいいんだけど、わざわざ除外登録を google に申し入れてるかもしれないってことかな?
アプリ起動時のエラーメッセージ的には「この端末では同サービスがサポートされてない」と出てくるけど、これは同サービス自身が端末カタログを確認してあえてエラーにしてるってこと?
あるいは同サービスはわざわざエラーにするようなことはしてないけど、この端末で機能を動かそうとしたら本当にエラーが出ちゃってる感じなのかな。
具体的にアプリがどの機能を使ってるか分からないけど、ひとつは「みまもりマップ」ってアプリで少なくともマップを使ってるだろうし、
もうひとつ試したところだと「Gyao!」で、これは何使ってるのか分からないけど支払い関係なのかな(お目当てはみまもりマップの方でGyao!は試しただけでよく知らない)。
どっちにしてもそれほどシビアなものじゃなさそうな気がするし、アプリ起動初っぱなで出てくる。 逆にplay servicesに対応できてる端末をカタログに入れてそうな
エラーがでるならやっぱりコード的に動かないと思う(オフラインで試してみたら)
どうしてもその端末で動かしたいならplay servicesを使わないアプリにするしかないかも play serviceのバージョン見るapiが確かあったから
対応してるか否かを判別するapiもあるかもね
それで確かめてみたら >>289
非対応機種は必要要件を満たしていないので、何をやっても無理 R.id.text
↑これを
"R.id.text"
↑のようにString型文字列に変換する方法はありますか? >>296
少なくとも俺は聞いたことないな
contextかresourcesのクラスになければ無いのでは >>297
ないですか...
ありがとうございます Activity継承してないクラスで
Contextが必要なメソッドを使うとき
どうやればいいですか?
継承してるクラスではthisやgetAplicationContextを与えてやればいいと思いますけど そのままcontextのオブジェクト作って渡せばできますか? contextは勝手に作らない。
Activityのthisを渡しとけ。 viewが絡むならactivityのthis
そうでないならgetApplicationContext Activityを継承するかActivityのインスタンスを作って
継承ならthisかgetApplicationContext、インスタンスならgetApplicationContext渡せばいいということですか?
viewが絡むならthisで >>296
何がしたいのか良くわからんが・・・
Reflectionを使えば、(リソース等から生成されるClassである)Gの("id"などの)フィールド
や、さらに("text"などの)id下のフィールドを列挙し、名前・型・値など取得できるから
その値がR.id.textと一致するもの("id"/"text")を探せばいいのでは?
参考: ttps://did2memo.net/2013/09/10/java-reflection-how-to-display-all-java-field/ 俺の自作アプリ数カ月に一回数千規模で
インストール端末数が増えたり減ったりするんだけど
なんなん どこかの国のplayストアでオススメかなにかに載っているのかもね 過去にインストールされてたものもジワジワ削除されてたら右肩下がりになりそうだ もしかしてandroid9でokhttp3を使うとクラッシュします?
play consoleで9だけclassnotfoundexceptionのクラッシュ報告が出てるけど原因が分からない。
androidstudioの9エミュではクラッシュしないので困ってます。 ちょっと教えてください
android開発始めて1か月ちょっとなので
質問自体が意味不明かもしれませんが
常駐部分がネットに定期的にアクセスして
ある条件に合致したらメインを起動(?)して
得られた情報を表示するって感じです
serviceを使うんだと思いますがタイプが2種類あるとか
ちなみにプログラミング言語はJavaじゃなくマイナーな言語で
表示部分やネットアクセス部分はもうできてます
(Windows版を修正してandroid対応させただけですが)
よろしくお願いします とりあえずJavaかコトリンで作って下さい
それだけです 質問が意味不明で申し訳ありませんでした
あれから検索して簡単なサンプルプログラムで
serviceを実装するところまではできました
serviceからメインの方へのデータの引き渡し方など
試行錯誤してみます あなたのアプリを買い取りますというメール来たのだが詐欺でしょうか?
ちなみにろくにダウンロードされないクソアプリです
どう見ても買い取る価値のないアプリです >>323
なら売っても害はないだろ?
200万円で売ってみりゃいいじゃん まず契約金として10万振り込んで下さい
その後そちらの口座に200万振り込みます 買い取る価値があるかどうかはお前が決めることではない
先に全額入金させて売れ >>325
じゃあ180万でいいんで振り込んでおいて下さい 9月1日までにターゲットユーザーの設定をしろってメール来てるけど、
これしないとどうなるんだろ?
小学校高学年ぐらいから使えるアプリなんで9才以上にしようとしたら
プライバシーポリシーの設定を求められたんで、まずこれを設定したが、
「アップデートを処理しています 」で一日経っても終わらない。
みんな駆け込みでやってて、Googleでの(審査?)処理がパンクしてるの
かねえ・・・ アップデート遅くなったよねえ
審査が入ったという噂もあるが アプリの審査遅いんやが
Appleより遅くなってないか canvas.drawLineでバーをスクロールさせると60fpsでもかくかくしてる気がするんですけどopenglにしたら良くなるんでしょうか? GLで動いてるソフトがヌルヌル動いて見えるなら良くなる
全部カクカクに見えるならそれが限界 audioRecordってwhileの無限ループでreadするのとsetRecordPositionUpdateListenerのhandlerでreadするのと何が違うんすか? AndroidStudio3.5にしたら特定の機種(qua tab 01)でインスト―ルができなくなりました
Installation did not succeed.
The application could not be installed.
Installation failed due to: 'device '293c69129f' not found'
デバッグを開始するとこんなメッセージがログに出て、デバッグが始まりません
調べたらInstall Flagsに-r -tというフラグを設定したり、APK from app bundle にするといいと書かれてましたが効果ありませんでした
どうすればいいでしょうか エミュ?実機かな?
私よりレベル高そうな書込みだから気が引けるけど
エミュのAPIをアップデートするときにウィルスソフトのチェックに引っ掛かったから、何をしたか忘れたけど有効にしたら上手くいった経験があります
でも不安定なんだよね
エミュで22が未だにおかしい
23は上手くいった
何が違うのか未だにわからずですがw
参考になれば エミュのAPIのアップデート?自分で書いててなんだかなw正しい表現ではないと自分で思う
過去にあまり開発経験がないから上手くいえないけど3.4から3.5にしたら何かあるごとにアップデートが裏で走ってて、たまにチェックに引っ掛かった
ネットつないでコンパイルすると何かダウンロードするのよ
エミュで実行しようとすると何かダウンロードするのよ
それを対処したら実行できた
未だにだめなのがAPI22のエミュ
何故なのかはわからないけど、経験のみの話ですすまん device xxxx not found
だからそういうことじゃねーの >>336
実機です。
ウイルスソフトは例外に登録してるので大丈夫だと思います。
>>338
デバッグボタンを押すまではデバイスとしてAndroidStudioに認識されていますが、
デバッグボタンを押して実機にAPKをインストールする段になると内部的に認識されなくなるのか上記のごとくなります。
他の機種では正常にデバッグが開始されます。 ケーブルには問題なさそうだね
その機種のコネクタは?
古い機種ならサビやガタつきなど
(もう私レベルではハードを疑うしか…w) アンチウイルスをウイルスソフトっていうと怒られるらしいよ。
USBメモリをUSBっていったり
WikipediaをWikiっていうとぶん殴られるよ。 コピーはゼロックス
ステープラーはホッチキス
増税は軽減税率
老人はよしねは後期高齢者 >>332
毎回drawLineするのをやめる。
一旦Buffer(Bitmap)に書き出して、それをdrawImageするようにする。
draw処理が複雑な程効果が高い。
大事なのは、Bufferに書き出す処理は、UIスレッド(onDraw中)でなくてもいいという点。 android入門書に
import android.support.v7〜
こういう表記が出てくるのですが
Android Studioでこのライブラリの補完候補が出てきません
別途インストール必要があるのでしょうか? studioは最新の3.5かな?
いま書いてるプロジェクトを新規で作るときandroidXにチェック入れてたかな?
そうならandroidXをimportしておこう
v7,v4とか本に出てきたらandroidX入れとけば赤文字は消えるはず import じゃなくて、build.gradle の dependencies が多分足りない androidxにかえたらいけました
どうもありがとうございます 一応補足しときます
3.5で最新の状態だと新規のプロジェクトを作成するときに有無を言わさずAndroidXの使用にチェックが入ります
いろんな参考書のサンプルで試してるけど、importのV4,V7のとこをandroidX〜に代えて選んでおけばまずコンパイルエラーはクリアできるかな?
なんかできなかったのもあるけど、いちいち調べてない
ちなみにkotlinでやってる、たぶんjavaでも同じだろうね androidXにしたらガラリと変わるやつはどうやって変更したらいいんだ?
文字に削除線が入る canvas2枚重ねて上側は60fpで背景透明、下側は20fpsってやるのはバッドな設計ですか?
作ってるのはカラオケの精密採点みたいなアプリでピッチ取得のイベントハンドラから画面更新します(20fpsくらい)、再生位置を示す縦ラインだけ60fpsで動かしたいです。 Googleから
[Action Required] Update your Android targetSdkVersion by November 1
って件名のメールが来てるんだけど、今まで同様、
@ 新しいAPKをアップロードする時は targetSdkVersion≧28 でないど弾かれる
A targetSdkVersion<28 のAPKも、既にインストール済のユーザーはそのまま使える
B PlayStorのAPKが targetSdkVersion<28 のままでも、継続して公開され、新規ユーザーもインストール出来る
って言う理解であってるよね? surfaceviewの拡張クラスにcontext渡して((Activity)mContext).findviewByIdしてもアクセスエラーになるけど対処法ってあります? 嘘です、出来ました。
canvasのロック中にそれ以外のビューの更新やるのは良くない? >>355
なんでsurfaceviewでそんなことするんだよ
根本的に見直せ。設計から考え直せ surfaceviewのcanvasのsaveって次回のcanvasのロック時に持ち越せないですよね?
何か手段ないでしょうか。時間が立ってdrawrectの数が増えるとカクカクしてきます。 自分で作ったアプリから座標を指定してタップイベントを発生させて
他の任意のアプリに対してタップイベントを送信することって可能なんでしょうか
ググるとINJECT_EVENTSのpermissionが必要とあるんですがこれを付与できるのは
プリインアプリだけのようです GPLのOSSを使用したアプリをgoogleplayで公開したいのですが、ソースコードの開示要求された場合はアプリのソースコード全てを渡さないといけないのでしょうか?
なおソースコードは改変せずgithubからダウンロードしたjarをimportして使用しているだけです。 >>359
アプリと一緒に再配布せずに
別途ダウンロードさせてダイナミックにロードすればええんとちゃう? >>366 ←こいつ、絶対GPL無視して盗用する気だな そもそも実際ショボい個人開発アプリにソース要求してくる事ある? 盗用じゃないですよ。
コードリーディングして必要なアルゴリズム部分は20行くらいと分かって元ネタというか数式は古い論文で公開されているものなのでそれ読めば自力実装出来る。 同じようなもの作りたいと思った人が要求してくるのは考えられるかなと。 AIωが進化ωωしてコードが自動生成ωωωされる時代になると
きっとGPL汚染だらけ emulator(play store無し)でWebViewがnot foundなんだけど調べた感じplay storeがインストールされてる端末じゃないとWebViewは使えない感じ? 無料アプリとして公開して後から広告除去の有料オプションつけるの無理? >>376
ttps://support.google.com/googleplay/android-developer/answer/6334373?visit_id=637091513430964887-3067576443&rd=1#paid_free 別アプリとして元々有料のアンロッカー出せばいいんじゃね どうも。
有料アプリってapkぶっこ抜きで別端末にインストール出来るの? >>380
ttps://developer.android.com/google/play/licensing/index.html
LVL使って購入確認を実装してあるアプリば簡単にはできないらしいけど、
実装されてないアプリも多いし、確認処理を回避するツールもあるらしい 質問@
Androidでさ…例えばファイルのコピーでAsyncTask使うとするじゃん、
その時、重複があればwaitするじゃん?その時に、Activity破棄したり
バックグラウンド制限して落とすとするじゃん、Activity破棄はonDestroyが
走るので、なんとかできそうだけど、バックグラウンド制限だと
onDestroyすら走らずにrestore?じゃん?。アプリ再度起動したときに、
生きてるタスクのwaitの状態があるので、タスク効かないじゃん?
□ボタンからプロセスごと落とすしかないじゃん?
static領域にタスク持ってれば、再度拾えるけど、notifyしてキャンセル処理するのも
なんか辛いじゃん?さらにwaitの状態でcancel設定できるかは微妙じゃん?
先にcancel設定したいじゃん?無条件にnotifyAllなんて時間かかりすぎるじゃん?
思い切って並列って手もあるけどバグりそうじゃん?どうすればいいの?
偶然それやっちゃった人はさようならって割り切ればいいの?
もちろん、foregroundServiceのnotificationは表示してるので落ちにくい
質問A
largeHeapの端末によっての最大値は512MBまで確認したけど、今どれくらいなの? 結局…cancelしてnotifyするわ…通知メッセージも込みで
前回起動時の処理は…みたいな…辛い…大幅改修…リストアは…しない でも僕のロジックだとメモリ不足でActivity破棄され、
onPostExecuteで落ちるケースがあるから…そこもかわせるんだけど…
cancelとnotifyもしないで、□ボタンのタスクマネージャーからアプリを除去か、
設定・アプリからアプリケーションの終了(ForceClose)してくださいを延々と促す
決めた!ヽ(。・_・。)ノ決めた! それかWAITだと解ったらInteger.parseInt("a");とかして、
丁寧な説明文入れて、強引に落として、自動的にForceCloseとか
しばらく考えてみるわ!(。・_・。)ノ 普通にthrowでいいか…throw new WaitingTaskExistException();とか
なんか、そういった方針で、なんか考えるわ!(。・_・。)ノ 新規公開で非承認なったけど連続で非承認ならアカウント停止とかなるんですかね? AsyncTask.StatusはRUNNINGだった…WAITか解らない。
全waitで落ちるケースをcancelしてnotifyは、工数がかかりすぎるので
今回はほっとく…ファイラー系だと延々とぐるぐる回るので、
おのずと□で落とすしかなくなる…。ここはこれでいいか…。
あるアプリでリストア処理を入れて見ようと思ってる…プログレスバー。
staticフィールドとget/setだけを持ったクラスにタスクぶち込んで、
次回起動時に復元してみようと思ってる、ちなみにプログレスバーは
Activityに直接貼りついてる、ダイアログじゃないからリストアしやすいし、
この処理は時間がかかるので、念のためにリストア処理しとくよ。 AsyncTaskに独自フラグ持ってれば解るか…とりあえず、wait系は今はほっとく。
やるんだったら、staticでタスク拾って、独自フラグ見てなんかのExceptionで落とす。
wait中に独自フラグがgetできるかはしらんが、できたらメッセージ出してForceCloseするよ。 おかしい。。。神アプリ公開したのに誰からもダウンロードされない。。。 俺も先週リリースしたんだが
Google Playでアプリ名と全く同じ文字列で検索して
結果を一番下までスクロールしても出てこない
おかしくね ストアが不人気の新規アプリを優遇する意味はないからな
まずGooglePlay以外で人集めて来るか、広告費払えっていうことだろ それにしたってアプリ名と完全一致の文字列で検索して
一番下までスクロールして表示されないのはどうかと たぶんだが、Google検索と同じで index に登録されるまで時間かかるんじゃね?
たぶん1週間ぐらいは必要 2年ぐらい前から、ユーザーが少ないアプリは名前で検索してもヒットしないようになった。
完全一致より、名前が似てる有名アプリの方が上位表示 神様考えたんだけど自分のアプリ内に自分のプレイストアのアプリ一覧ページへリンク貼るの利用規約的にOKなの? 何が問題なんだ?
リンク、誘導のみのアプリならダメだろうけど たぶんだけど、Google以外の広告があるページへの誘導はNGのような気がする
Google は他の事はザルでユルいけど、自社の広告ビジネスの脅威はどんなものでも排除しようとする それじゃadmob以外の広告使えないってことになるじゃん Google以外の広告を特別に否定する規約なんてないし、もしあれば独禁法に引っかかる可能性すらあるんじゃないか
広告ブロックには厳しいけど広告そのものに対する態度はむしろ緩くすら感じる 公開スレってあります?
創作板にあったけど人いない。 このアプリのように他のアプリにタップイベントを送るにはどうしたらいいんでしょうか
ttps://play.google.com/store/apps/details?id=com.autoclicker.clicker&hl=ja Accessibility Serviceを使っていることはわかりました
が、座標を指定してタップイベントを送り込む方法がわかりません
上のアプリはどうやっているのか 神様ですけど公開から約1ヶ月でインドネシアからダウンロードされたわ(^_^)v 作りたいものの型が漸く完成した
本番想定したサイズの画像に置き換えて、5×5のcsvを数千行のファイルに置き換えてテストしたらPC固まった
泣いていいですか? すまんが、規制された「32bitネイティブコード」ってなんなの?
C/C++/Kotlin Native等で書かれたものだけが規制されて、普通にJava/Kotlinで作成したアプリは中間言語だからなんもしなくてセーフって認識でおけー?
https://android-developers.googleblog.com/2019/01/get-your-apps-ready-for-64-bit.html 広告ライブラリとか他者が作ったもので.soとかネイティブあると64bit版を使う必要あるのかな >>411
>>412
ttps://developers-jp.googleblog.com/2019/02/get-your-apps-ready-for-64-bit.html
↑日本語
>普通にJava/Kotlinで作成したアプリは中間言語だからなんもしなくてセーフって認識でおけー?
おけー。
>.soとかネイティブあると64bit版を使う必要あるのかな
32bitと64bit両方入れとく必要あり。
自分は処理の主要部をC++で書いてるアプリを公開してるんだか、
ASのARM64のエミュレータが不安定でテストにすら使い物にならないんで、
去年仕方なく中古のNexus9を買ったよ (ToT) 昔のアンドロイド用に32bitのffmpegライブラリ使ってたのにそれのせいで使用不可になった レイアウト見れなくなったんだけど設定はどこですか? 編集終了して閉じた後再編集方法わからなくなったっていうなら
左上のフォルダアイコンからリソースフォルダ探してレイアウトファイルをクリックする AACで用意されているViewModelのメリットがよく分からないんですが、
それを継承せずに単に class MyViewModel() { } とか作って、
ViewModelProviders.of() も使わずに自分で new して使った場合に何か困ったことってあるんですか タッチやキー入力を一時的に無効にする方法ありませんか? オーバーレイでタッチを取得しつつ後ろのアプリにタッチを伝達するにはどうしたら良いですか? Vulkanで3Dゲーム作るならやっぱNativeActivityがいいの? Unityってよく知らないんだけど
ビルドされたapkってバックエンドは何で動いてるんかな? Javaとか他言語で組んだ場合と同じランタイムで動いてるのかって意味です スマホ用ツクールでクリエイターごっこ
そういうのも面白いかもね
凄いもの作った人が勝ち 余りにも無知過ぎてお茶吹いたわ。
今やゲームアプリの殆ど全てがUnityやUE4やCocos2dのようなゲームエンジン上で作られてるぞ。
Unityだけでもシェア50%以上でポケGOもマリオカートもFateもCODもドラクエもモバイル版はUnityで作られてるのに
お前の妄想世界のクリエイターとやらはUnity使ってないんだな。
ネイティブ開発してる俺スゲエって独りよがりがしたいなら自由にすればいいけど
真っ当なゲーム開発者がいる所でUnityをツクール扱いしたら大恥をかく事になるからこの程度の常識は知っておいた方がいいぞ。 どしたの顔真っ赤にしてw俺はスマホ用のツクールの話ししてんだけどw
茶が湧いたのは俺の方だわ >>428
ならユニテーでいいじゃん。
何か問題でも? 無理矢理そうやって現実逃避しながらツクール馬鹿にして優越感に浸ってなよ。 クオリティ高い製品を高い生産性で作れるならツールはなんだっていいよ
ゲームならツクールだろうがなんだろうが面白いのが正義 ゲームなら、絵や音やシナリオこそがメインの調理
コードしか書けない奴がゲーム制作に関わりたいなら、ゲームそのものでなくツールやエンジンを作る方向に行ったほうがいいぞ 絵や音は具材
シナリオはレシピ
プログラムは調理
プロデューサーはコック
この方が近くないか ユニティとかだと、ちょっとしたアプリを作ってもサイズがデカくなるのが嫌なんだよな 著作権的に他人にコア部分押さえられてるんでしょ他人のフンドシなのよね これに懇切丁寧に反論してきたらステマって奴なのかもしれんな先に言っておくご苦労さん ソース -> レシピ
開発環境 -> 自動調理器
ユニティ -> 出来合いの何か いつの間にやらロック解除のイベント使えなくなってるやん ネイティブAPIも他人のフンドシだろ
Googleのさじ加減次第で機能が使えなくなっただの別のインターフェースに対応しないといけないとか振り回されて
低レベルに拘るのなんてただの自己満足でしかない 五十歩百歩という言葉があるが、程度において両者は対等ではなく格差があることを認めねばならない 物理エンジンにレンダラにアセットで8割位かしら 他人のフンドシ率 自分で作る必要のない部分を作る労力をゲームの完成度を高める方に掛けてるだけだよ。
効率の悪い方法で仕事しておいて苦労してる方が偉いとのたまってる老害思考そのもの。 車輪の再発明って言葉もあるが
車輪を車輪としてしてしか見ることができなくなる危険性
この意味が分かると、簡単に老害の一言で片づけられないんだわな どんなに美辞麗句で飾っても所詮他人のフンドシよねコア部分は他人の物 程度の話だから、それをいったらAPIガー、OSガー、とか、ちょっと違うんだけどね 他人の褌で良くない?
業務アプリでもライブラリぐらい買うっしょ。
最近はOSSすら使うし。
やりたい事が出来ればそれで良しじゃないのかな。 Unityは簡単にゲーム作れるみたいな謳い文句を真に受けて
初心者が作ったサンプルに毛が生えた程度の出来のアプリや
買ったアセット並べただけの出来損ないのアプリ見て偏見持った奴が
よく知りもせずにツクールとか言い出して馬鹿にされたから
引っ込み付かなくなっちゃったんでしょ 目的も人それぞれ。
ただ、自分を騙して目的を見失っちゃいかん。 ツクールの話ししたら勝手に勘違いして攻撃してくるユニティーの営業うざいんですけど
べつにユニティーをバカにはしてないですよ読解力無いお前はバカだけど わが社のコーティング技術は世界第一位
その技術力は、棒高跳び用のバーにも使用されるほどである
アスリートの鍛え抜かれた肉体に体当たりされてもキズ1つつかない
高品質ポリカルボナートによるコーティング
わが社の技術であなたのバーもカバーしませんか?
驚きのバーカバー力を是非 (何故このスレで突然ツクールの話したんだろう...) Windows 上で C# で造ったアプリがあるのですが同じソースから
Android で動かす方法または apk を造る方法を教えて下さい Xamarin.Androidとかあるみたいだけど、c#自体使わないから知らん。
今後の開発環境の対応とか考えると、android studioとkotlinで作り直したほうが手間が少ないと思う。 Windows側アプリを捨てるわけでないならKotlin移行は必ずしも正しくない
例えばビジネスロジックなら共用したほうがいいと思う
山程あるUnityアプリはC#製
その基盤であるMonoはXamarinでも使われている multi platform では、
C# で、Mono を使っているのは、Unity, Xamarin
JavaScript では、
React Native + Expo
アシアルのMonaca(Cordova/PhoneGap) + Onsen UI AndroidアプリにGoogle翻訳機能を実装して公開すると、
アプリ利用者ではなく、アプリ開発者に翻訳費用の請求が来るって本当でしょうか? よくわからんけど自分のトークン情報とかでサービス利用するようにしたらそうなるのでは この問題が影響するアプリはほとんど無いと思うが、自分のアプリが見事に
引っ掛かったので、チラシの裏代わりにここに書いとく。
GPSを利用したアプリなのだが、LocationListenerのonLocationChanged()
に渡されるLocationからgetTime()で取得するデータの時間がおかしい。
どうも、「GPS週数ロールオーバー問題」に引っ掛かったらしい。
ttps://qzss.go.jp/column/gps-rollover_190225.html
家にあるデバイスでは、
Nexus7(2013) NG
LG-G2mini NG
SH-M05 問題無し
Androidのバージョン依存なのか、機種、あるいは製造時期依存なのかは不明。
今大丈夫なデバイスでも、2038年におかしくなる可能性あり。 soundPool遅延がひどくて使いものにならないんだけど
やっぱUnityで作るしかないのか 初心者でーす
android studio でボタン配置してるんだけど、デフォルトのままだとクリック前と後で色が変わらないから、変える方法教えてほしい...単純にbacground を変えちゃうと余白も無くなるし色も単色でなんかかっこ悪い...てっきり規定で色変わると思ってたんだが クリック後ってのはisEnabledをfalseにしたときって意味です >>477
isEnabledでなくsetEnabledね
android button style.xml でググってみ intentの発行について、
他のアプリで撮った画像のuriを自アプリで受け取って、
そのuriの画像を見るために自アプリからビューワーに
uriをintentで渡したところ、
パーミッションがなく見れないとエラーが出ます
ビューワーでファイル名は出るのでパーミッションだけの
問題だろうと思うのですが、.setFlagsでそれっぽい設定を
してもエラーでアプリが落ちます
パーミッションをどう設定したらいいですか?
あるいは、無理ですか? 自己解決についてですがエミュレーターだとダメでしたが
実機だと問題なかったので解決としました >>479
なんかいい感じにできそうだ
ありがとーう 3軸加速度センサーの出力を画面(LandScape固定)に表示するテスト用アプリ
ttps://pastebin.com/iM63jNby
を、Nexus7(写真手前)とACER-A500(写真奥)を壁に立てかけて実行すると
ttps://i.imgur.com/DasIPv8.jpg
のようになり、垂直(短手方向)がNexus7ではX軸に、ACER-A500ではY軸に、と
異なっている(X軸Y軸が逆である)ことがわかります。
どなたか、端末がどちらのタイプなのかアプリから知る方法を御存じでしたら
お教えください。
既にリリースしているアプリで、3D加速度センサーの出力と3D地磁気センサー
の出力から端末が向いている方向を計算しているのですが、ACER-A500のよう
なタイプがあるとは知らず考慮してないため、この場合アプリが正常に動作し
ません。
よろしくお願いいたします。 >>483
設定でユーザーに選ばすのが手っ取り早い
あとセンサーも必ず付いてるとは限らない
端末によってはエミュレートされてたりもする
なので端末を絞った法が楽 解決しました。
考え方が間違っていたようで、Nexus7とACER-A500はセンサーの軸が異なっているのでは
無く、基本の画面の向きが異なっているということのようです。
Nexus7は縦長が画面の基本の向きなのでLandscapeは画面を90度回して使っている状態=
端末を90度回して使っている状態=センサーの軸を90度回して使っている状態、というこ
とになります。
他方ACER-A500は横長が画面の基本の向きなのでLandscapeは画面・端末・センサーが基本
の向きで使われていることになります。
画面の回転は getWindowManager().getDefaultDisplay().getRotation() で取得でき、
Landscapeの時、Nexus7はSurface.ROTATION_90を、ACER-A500はSurface.ROTATION_0を返
します。
◎解決の糸口になったサイト
ttps://siblog.seiwatec.co.jp/2015/04/android-3d%E8%A1%8C%E5%85%88%E3%82%B3%E3%83%B3%E3%83%91%E3%82%B9-ar-%E4%BF%AE%E6%AD%A3%E3%80%80ver1-11/
◎確認用に作ったアプリ
ttps://pastebin.com/TDyYbPbr
>>484
最終手段としては有りですが、最初からそれを言ったら技術者として負けでしょ。 rawフォルダに置いたファイルをそのままアプリのローカルストレージに置きたいんですが
try{
// 読み込み
InputStream is = this.getResources().openRawResource(R.raw.ファイル名);
int size = is.available();
byte[] buffer = new byte[size];
is.read(buffer);
is.close();
// 書き込み
FileOutputStream os = openFileOutput("ファイル名", Context.MODE_PRIVATE);
os.write(buffer);
os.flush();
os.close();
}
でいいのでしょうか?
できてないみたいなのですが どう「できてない」かわからんが、InputStream#availableはファイル全体のサイズ返すわけじゃないぞ。 >>487
なるほどそうなのか
どうできないかはファイルができてるか確かめる方法が分からなくて… コマンドプロンプトでls /data/data/パッケージ名/filesやったらno such file or directoryなんです 今、Androidアプリをアップデートしても、反映されない。
時間がかかっているらしい。 >>486
try{
InputStream is = this.getResources().openRawResource(R.raw.ファイル名);
FileOutputStream os = openFileOutput("ファイル名", Context.MODE_PRIVATE);
byte[] buffer = new byte[16384]; // 16KB 適当なサイズで
int length;
while ((length = is.read(buffer)) > 0)
os.write(bytes, 0, length);
} 水着の絵でも削除されるのだが
業者アプリで水着キャラって結構なくね?(よう調べてないけど)
業者はワイロでも渡してるのか? アプリって個人で作った場合でも連絡先とか登録必要なの?
パッケージネームのところ自分の名前で作ってしまったし
んー Japan, Tokyo にしてるが何も言ってこない。馬鹿正直に従うことはない String str1,str2;
str1="abcd";
str2="efgh";
str1.insert(2,str2);
この文字の任意位置への挿入がJavaやAndroidで使えるらしいのですが
実際Android Studioで記述するとinsertの部分が赤字になってしまいます。
これは他に何か記述する必要があるのでしょうか? まずJAVAやAndroidで使えるってどういう意味なんだ? googleで『java string insert』を検索すると
StringBuilderクラス…が出てくるね 今までWindowsでAndroid studioの勉強していたのですが
壊れて買い替えてMacになりました
今まで作っていたプロジェクトをMac内に持っていったのですが
そのプロジェクトを初めて開くときに警告ウインドがでます
「Sync Android SDKs」←こんなの
設定が変わるから揃えるぞーみたいな警告なのはわかるのですが
別のPCから持って来てるからユーザー名とかも揃えていないとダメなのかな? SDKとかはプロジェクトとは別位置に保存されるからマシン変わったら再度だうんろーどされるよ。
その他のツールやライブラリも。 >>503
ありがとうございます
なんかダウンロードされて一応の動作確認していますが問題なく使えそうです
アプリの署名さえ合っていれば別のPCで作業しようとこのまま作業しても問題ないのかな?
まぁ変なことなったらなったで問い合わせてみます
ありがとうございました ネイティブアプリとして作成する時は
載せる広告はAdMobの広告のみで、
いわゆる自分コード、i-mobileとか
そういった自分で用意した広告は載せることは出来ないでしょうか?
ハイブリッドアプリというものだと、
webviewで、その中に用意したwebサイトでは
自分で用意した広告が貼られたサイトが表示されるのは理解できますが、
webview以外の場所に関しての外枠などの広告はどうなっているのか
知りたくして質問させてもらいました・・。 メモリの割当てを変更したんだけど
IDE max heap size : 4096MB
これの下の
Gradle deamon max heap size
kotlin deamon max heap size
って何ですか?
Gradleの方はビルドの速度に関係するのかな?
kotlin側は何なんだろ
とりあえず両方とも 2048MBにはしましたが無駄な所に割当ててるなら戻した方がいいのかな 一応32MBノートPCです
エミュ使うとCPU温度が90超えるから低い側に抑えた方がいいのかな 32MBってThinkPad235かよ
まあ打ち間違いだろうけど ウィルスとかマルウェアとか感染しまくってて何もアプリ起動しない状態でも重たくなってんじゃないの あれまw メモリ32GBですw
CPUの全8コアが85℃を超え一部90を超える
ノートだからやばいのよw
エミュではなく実機なら熱の心配は全くないです
でも、実機なんて複数持ってないしエミュ使うから
エミュを軽くする方法はないのでしょうか ローカルなServiceクラスを含むアプリで、
ApplicationクラスのインスタンスとServiceクラスのインスタンスは
ライフサイクルは同一ですか? エミュが重いってARM版やソフトレンダで使ってんのかしら WebViewのsaveWebArchiveの保存したアーカイブの保存場所はどこですか? MapView.getMapAsync()をコールしてもGoogleMapが起動しないのですがFragmentを利用しないと出来ないのでしょうか?
■activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent">
<com.google.android.gms.maps.MapView
android:id="@+id/mapView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:apiKey="@string/google_maps_key" />
</LinearLayout>
class MapsActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
val mv = findViewById<MapView>(R.id.mapView)
mv.getMapAsync { p0 ->
val sydney = LatLng(-34.0, 151.0)
p0!!.addMarker(MarkerOptions().position(sydney).title("Marker in Sydney"))
p0!!.moveCamera(CameraUpdateFactory.newLatLng(sydney))
}
}
} フラグメントってやつはスマホとタブレット画面サイズ解像度が大きく違う場合の
画面構成を環境別で自動的に切り替えてくれる仕組みだから地図が出ないのは
関係ないんじゃない androidアプリリリースについて、
playストアのリンクの作成の仕方についてお聞きしたいです。
自分の要望としては
プレイストアへのリンクは自分のサーバーのphpなどに飛ばして
そこで時刻やリファラなどを取ってから
転送させてplaystoreを表示させたいと思うのですが、
Googleplayバッジ作成ページにはここで作成してくださいとあり
リンクの改変はだめとは書いてないですが、
良いとも書いてないので、改変は一応認められてないのでしょうか?
あと、同ページ下のテキスト内でGoogleplayを使用するには審査の承認が必要とあるのですが、
playstoreへのリンクは
画像はバッジを使いサイズ変更以外は不可能で、
テキストは審査に出さなくてはいけない、というのが正解でしょうか・・? リダイレクトでなくてPHPのページそのものにしてしまえば、
例えばアプリの宣伝をもう一度して、
LPのようなものを作ってしまえば、
そこで時刻もリファラも取って、
そこにバッジをしっかり貼れば
問題はないと思います…。
これだと最初のリンクはLPページにして
URLはLPとなるし、テキストリンクもLPでよく、
LP内はバッジで、URLも変えなくてよいですが、
バッジのURL変更が認められていれば
LPのワンクッションもなくなるので
間違いなくPlaystoreへは行くと思うのですが、
自分が色々勘違いしているだけなのか
改変はやはりだめなのか・・・ だれか↓を日本語で分かり易く説明してくれ
ttps://android-developers.googleblog.com/2020/06/new-features-to-acquire-and-retain-subscribers.html 長くすみませんでした・・
つまり例えば、自分で用意した画像にアプリのストアページのリンクを貼っても良いのでしょうか・・・ 文字でリンクするのはお咎めなしで画像リンクボタンだと怒られるとか思っているの? >>528
いえ、今は分からない状態です。
文字リンクは審査提出・・
画像リンクは画像もURL部分変更もだめ・・
とある気がしますが、どちらも
オリジナルでやって大丈夫ですよね?
と、疑問に思っているところです、すみません・・ >>526
さらっと流れ読みだと
デスクトップからクラウドベースに移り
定期購読者やアカウントアクセスの管理をシンプルかつセキュアにして
ネットブック的な使い方をするスマホアプリ
に洗練されたデザイン開発が出来るようになりますよ
ってな事かと。 なんか、アプリ開発の中でやれる事、やれない事がわかるサイトない?
スマホのIPアドレスの設定は権限が高すぎてできないとかapkインストール時に処理は出来ないとか、内部linuxコマンドはどこまで使えるとか
さっぱりわからないし、バージョンで変わりすぎてる Googleから>>526の日本語版が
「[要対応] XXXX様: 定期購入プラットフォームを更新しました」
という件名のメールで送られてきた。
ウワーめんどくさそ〜〜〜〜 アプリA・アプリBがあり、アプリAからアプリBをデータを渡して起動したい
のですが、このデータを渡す方法について、以下のように検討しています。
何か間違っている点・まずい点や、もっと良いアイデア等がありましたらご
教示下さい。
[渡すデータ]
@ int 数個
A double 数個
B byte[](独自形式の画像データ) 1MB〜4MB程度
※ ボツになった案
Intent.putExtra()でデータを渡すのが正攻法ですが、
ttps://developer.android.com/guide/components/activities/parcelables-and-bundles?hl=ja
によるとデータサイズが数KBに制限されているそうなのでボツ。
※ できれば使いたくない案
アプリAでファイルに書く → アプリBでファイルを読むの制限が無さそうで
すが、できればファイルR/Wの Runtime Permission を実装したくない。
※ 現段階で最有力の案
両アプリに同じ android:sharedUserId を設定し、アプリAでSharedPreferences
に書く → アプリBはアプリAのSharedPreferencesを読む。
ただし、SharedPreferencesはdouble・byte[]を直接は扱えないので、
Double.parseDouble() → String.valueOf()
Base64.encodeToString() → Base64.decode()
で文字列に変化して受け渡す。
以上、よろしくお願いいたします。 ExcelからAccessにデータ渡して起動するみたいな話?
CSV方式はイヤだったらどうするんだろうなぁ・・ つーかリアルタイムにやり取りするわけでもなく
一方的に送りつけて起動だろ?
共通のtempフォルダに必要なファイルを転送して
そのファイルを使うようにしとけ そうだっ良い事思いついた!クリップボードを乗っとっ・ アプリAがデータを紙に印刷
アプリBがそれをカメラでとって解析 >>544
ありがとうございます。
コンテンツプロバイダー、知りませんでした。
まさに今回のようなアプリ間のデータ共有のための機能ですね。
これで検討してみます。 すみません最近始めたばかりの初心者なんですが
https://i.imgur.com/qrQbkXQ.png
や、
https://i.imgur.com/uH3uJCM.png
のように
色々な図形を描いてメインの関数を書き換えてみてはいるんですが
リストボックスかラジオボタンで切り替えたい思ったりしました
しかしメインアクティビティ全体にcanvasをアタッチしたviewを描いているのでボタンの配置などが分からなかったのです
スライダー等のフォームから図形をインタラクティブに変化させてもみたいのですが、よく分からなくて
少し調べてみたところ、
ViewPager を使用してタブ付きスワイプビューを作成する
https://developer.android.com/guide/navigation/navigation-swipe-view?hl=ja#kotlin
【はじめてのAndroidアプリ開発】タブ機能を使う
https://youtu.be/CmYFQej_RSA
等で取り敢えず複数画面は
ViewPagerやタブをスワイプするようなのですが
フラグメントにcanvasのviewを接続するのが良く分からないです
各タブそれぞれ図形に応じてスライダーなどで変化出来れば理想です
他に何かアドバイス有れば宜しくお願いします AOSPの話でもいいですか?
externalの下に、あるオープンソースのライブラリのプロジェクトを追加したいのですが、
既存のプロジェクトを見るとどうもconfigureを走らせてconfig.hを生成した後の状態で
ソースファイル等を置いてあるっぽく見えました。
しかしふと、Androidの環境に相当するconfig.hを生成するにはどうやってconfigure
を走らせたらいいのかと。
いうまでもなく、AOSPはクロスビルドなのでビルド環境上(Ubuntuとか)でconfigureを
走らせてもそれはAndroid用のconfig.hを生成したことにはならないですよね?
仮に手でconfig.hを作るにしても各#defineをどう設定したらいいかよくわからない。 >>549
configure build host target
でググッてみ >>550-552
ああそっか、ありがとうございます。
と思ったのですが、以下のようなエラーが。クロスコンパイラの癖が強いw
configure:4240: arm-linux-androideabi-gcc conftest.c
$(AOSP_PATH)/prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.9/bin/../lib/gcc/arm-linux-androideabi/4.9/../../../../arm-linux-androideabi/bin/ld: error: cannot open crtbegin_dynamic.o: No such file or directory
このクロスコンパイラ、いろんなものを指定してやんないと動かないのかな?
あと普段のAOSPのビルドを見るとgccでなくclangが呼ばれてるw まさかこのgcc死んでる? AACのViewModelのコンストラクタでデータを渡せなくてFactory経由で渡さないといけない感じになっていて面倒臭いんですが
あんまりコンストラクタでデータを渡すのは推奨しない感じなんでしょうか 静的なファクトリメソッドの最大の利点ってメソッド名を自由にできることじゃない?
コンストラクタはクラス名1つしかつけられないけどFactoryにすれば自由に名前つけられるから
使用目的が明確になる >>549の件、一応ビルドはできるようになりました (AOSPのMakefileに癖があり少しハマった)。
新たな疑問が。普通のLinuxとかだと関連ファイルを /usr/local/lib とかに置いたりしますが
Android内部ではそれはどこに置いたらいいんですかね?
とりあえず/data の下に適当にディレクトリを作ってみましたが、ここは不思議なアクセス制限(?)
があって、どのプロセス(アクティビティ)からもアクセスできるようにファイルを置くことは困難? firestoreのデータの読み取り回数ってデータ取得のタイミングで
プログラムから取得できたりしないんdしょうか お助けください。
問題が起きているのはファイラ―等からIntentで渡されたファイルのURLで示
されたファイルを読み込んで表示する機能を持つアプリです。
これまでAndroid4.0.3からAndroid9までは問題なく動いていたのですが、
AndroidStudioのAndroid10のAVD(API29/x86/GooglePlay有り)でファイルの読
み込みに失敗します。
デバッガ―で調べてみたところ、Downloadに置いたファイル"hogehoge"は
アプリに渡されたintentを
Uri uri = intent.getData() ;
String strPath = uri.getPath();
でファイルのパスを取得すると、
例えばNexus7-2013(Android6.01)では
strPath=/storage/emulated/0/Download/hogehoge
となり、このパスで問題なくファイルを読むことができます。
ところがAVDでは
strPath=/le//storage/emulated/0/Download/hogehoge
となり、このパスでファイルを読もうとすると、NoSuchFile例外になります。
試しにファイルを開く前に
strPath = strPath.replace( "/le//storage/", "/storage/" ) ;
としてみると問題なくファイルを読めるので、ファイルが無いとかファイルの
中身の問題ではなく、渡されたIntentのURLが間違っていると思われます。
ttps://play.google.com/store/apps/details?id=com.lonelycatgames.Xplore
ttps://play.google.com/store/apps/details?id=jp.buffalo.filemanager
の二つのファイラ―で同じ状況なのでファイラ―のせいでは無いと思われます。
「Android "/le//storage/"」でググってみましたが、関連しそうな情報は
見つからず、お手上げの状態です。何か解決に繋がりそうなヒントをください。 <application android:requestLegacyExternalStorage="true" ... >
で直ったりしないの >>560
><application android:requestLegacyExternalStorage="true" ... >
>で直ったりしないの
はい、既に入れていますがダメです。 >>562
ttps://developer.android.com/about/versions/10/behavior-changes-all
を一通り見てみましたが、原因になりそうな物は見つかりませんでした。
その後、Android10のADV環境に自分ので無いアプリ(Perfect Viewer)を入れて
ファイラーからIntent渡しを試してみると問題無く起動します。
また、Android11のADV環境を作って自分のアプリを試して見るとAndroid10
環境と同様に /le//storage/emulated/0/Download/hogehoge に化けました。
以上から、自分のアプリに原因があることは間違いなさそうです。
明日、問題の起きているアプリとは全く別にIntentを受けてパスを表示する
だけのアプリを新規に作って試して見ます。 よろしくお願いします
OTGという機能がありますが
android2.3ではサポートされていなかったように思います
仮にその機種を4.0にアップデート出来たとしたら、どんな2.3の機種でもOTGは使えるようになるのでしょうか?
それともOSの問題ではなく、ハード的にOTGに対応していないというのもあったりするのでしょうか 解決しました。
Manifestの<intent-filter>には(昔作った時のどこかからのコピペしたままで)
<data android:scheme="file" /> と
<data android:scheme="content" /> の二つのschemeを記述していたのですが、
この場合、Android9まではfileの、Android10/11ではcontentのIntentを送って
くるようです。
問題のアプリは常にfileで来るとして
Uri uri = intent.getData() ;
String strPath = uri.getPath();
File file = new File(strPath);
と処理していたため、contentのUriを無理矢理uri.getPath()すると
strPath=/le//storage/emulated/0/Download/hogehoge
となっていました。
getPath()せずUriのまま
InputStream stream = getContentResolver().openInputStream(uri);
とすることでfile/content両対応にし、Android10/11でも正常動作するように
なりました。
<data android:scheme="content" />を削除すればAndroid10もfileで送って
くるかと試してみましたが、ダメ(ファイラ―での開くアプリ候補にこのアプ
リが現れない)でした。
なぜダメなのかは不明です。 >>567
それ単に送る側のアプリの仕様変更じゃない?5年以上前に初アプリ作ったときも、一部のアプリがcontent://送ってくるから対応した覚えがある 質問いいですか
Androidアプリで、もしくはサイトをAndroidのブラウザで見る場合で
画面録画を検知することはできるのでしょうか
内輪で利用する用の配信サイト・アプリを作ろうと思ってるんだけど、画面録画を検知したら警告表示が出るor運営にログが行くor録画ファイルが黒塗りになる という仕様をAndroidでも実装できるのかを知りたいのです 録画するアプリのリスト作って
そのアプリが起動しているかを見るのは可能じゃね?
リストの更新が大変だろうし
自作のアプリには対応不可だろうけど PCでAndroidのエミュレーター起動して
PC側で録画されてたら? 他の端末のカメラアプリで画面越しに録画とかもされるしあきらめたら 録画した人がわかるように
画面端に本人垢を表示して抑止にするとかの対策は出来ると思う アカウント表示だともろ判るからそこ消されたりする
撮影者に判らん程度に
画面上の一部点滅させたり
どこか一部隠しても他の部分から復号して
アカウント追跡出来るようにしておく nasneはスクリーンショットをできなくしているから何か方法はあるかも なるほど…実現するのは難しいんですね…
インスタとかは、なんかの投稿をスクショすると相手に通知が行くみたいな機能ありましたけど、結構レアケースなんですかね VRAM見ても残ってない1ラインずつ転送して消去する動画プレーヤーをNDKで書くがよい
ってんなことする方法があるのかしらんが 皆さんBLEの開発どうしてます?
エミュレーター上では動作しないので
いちいち実機つないでデバッグしてるけど
画面遷移を見たいだけの時ってコンパイルオプションとかで切り替えてるの? Android9ですが、sqlliteのDB保存パスって変えられないのですか? sqliteにお好きなDBファイルパスを指定すればよい。
sqliteに限らず権限のないところにはファイルを置けないだけ。 ASを最新版に更新してtargetSdkVersionを29にしろとアナウンスがあったので
compileSdkVersion 29 buildToolsVersion '29.0.3'も29に合わせました
実機をUSBで繋いでデバッグしているのですが
それまで実行した時にLVLコールバックがdontAllowをちゃんと返していたのに
applicationErrorしか返さなくなりました
そこでベータ版テストをしようと思いアップデート後ダウンロード実行すると
allowを返していたので正常に動作しているかのようにも見えました
しかしストアのダウンロード実行でない方法でインストールして実行した時も
コールバックがallowを返してしまいます
環境を最新にしたせいなのか、正常に機能しなくなったように思えます
(ただエミュレータで実行した時は常に正常な動作反応をしているのです)
LVL実装の際エラーが出るので useLibrary 'org.apache.http.legacy'を付けろと
情報があったので以前から付けてるのですが、これのせいか署名ビルドの時に
「Android の最新バージョンをターゲットにしていません。互換モードが適用されます。」
というメッセージがでます これは関係あるのでしょうか?
同じようにこのLVLの問題を経験された方はいないでしょうか?
これはどうやれば解決できるのでしょうか ViewModelのDIのサンプルコードをネットで探すと
ViewModelFactoryをDIしていてViewModel自体は
onCreateとかでViewModelFactoryから普通にセットしているんですが
ViewModel自体はDIで注入しなくていいんでしょうか factoryごとまるっと入れ替えたいのが作者の意思だからでしょ
abstructfactoryでぐぐれ そもそもDI意味あるんすか
ごちゃごちゃして面倒臭いだけじゃないんすか
学習のハードルも高いとの意見も多いし
やらない方がいいんじゃないですかね >>590
実装がインターフェースだけに依存するようにしたい! (これが目的)
コンストラクター呼び出しが実装に依存しちゃうんだけど? -> ファクトリーを作れ
ファクトリーいちいちつくるのメンドイ -> DIというものを用意した そのまま実装を渡すで実際に何か致命的な問題を経験したことありますか?
テストがしやすくなるってだけなんじゃないですか
単体テストも無駄に工数掛かるだけで実際メリットないと思いますね
大抵100%パスするようにテストコード書くし何の意味あるのかと思う serializableとparcelableを両方とも実装しても特に問題はないんでしょうか Play Consoleのダッシュボードに
「2020年11月1日までにアカウントの一時停止と復元の機能をアプリに実装してください。」
と表示されて、これはやらないといけないような感じなのですが
デベロッパードキュメント というボタンの先を簡単に見てみたところ
いまいちよく分からず、すみません・・
何か解説サイトなり、やり方を教えて頂けたらと思いこちらへ来ましたが、
どうすればよいでしょうか・・ そして必須といったところで
もし出来なかったらどうなるのでしょうか。まさか・・ アカウントの一時停止と復元って専門以外難度高くね?
グルさんは関係ないでしょうが >>596
ttps://medium.com/@syarihu/2020%E5%B9%B4%E7%89%88-play-commerce%E3%82%A2%E3%83%83%E3%83%97%E3%83%87%E3%83%BC%E3%83%88%E5%AF%BE%E5%BF%9C-682716d240fd
を読んだあと、
ttps://developer.android.com/google/play/billing/billing_subscriptions?hl=ja
を読めば理解しやすいと思うよ。
私のアプリは上記は対応不要だけど、まだAIDLを使ってるんで、
「既存アプリは2021年の11月1日から、Play Billing Library 3.0以上を利用することが必須」
のための修正が必要そう・・・ 布団からwifiでid変わるかもしれませんが
すみません。
>>598
アプリ課金等なく初心者の自分が開発した簡単なアプリなのですが、本当にこの実装が必要なのかどうかよく分かっていない状態です…。
>>599
有り難うございます。
リンク先を読ませて頂きますと同時に
これは皆さんやらなくてはいけない実装だと思ったのですが、そうではないわけですか…。
本当に自分に必要なのかどうか疑問です…。
てっきり皆さんのダッシュボードに表示されたのかと思っていました。
うーむ、有り難うございました!
しかしよく分からないです…。 kotlinでAndroid開発をしています
ボタン等のクリックイベントについて質問させてください
実装の方法として下記2種類ある認識ですが、
どちらが優れているとか、どちらが一般的とかありますか?
@以下のようにリスナを使う
ボタン名.setOnClickListener{
処理
}
AxmlでonClick属性を使い、ktでメソッドを用意する
@はそのボタンでしか使わないような処理の場合に使う、
Aはそのボタン以外のボタンでも使うような処理の場合に共通化するためにメソッドとして外出しするために使う
という考えですが合ってますかね。。。 @:普通の方法
A:お手軽な方法、共通化云々も含め多少の横着が利く
ただしAを乱用すると見通しが悪くなる恐れがあるため注意 >>602
特に理由がなければ@で実装していくのが良さそうですかね?
言語側が@Aどちらを推奨してるとかあればそれも知りたいです つうかGoogleがMVVM推奨って言ってるんだから
基本的にメソッドはViewModelに書いて
レイアウトのxmlにdataBindingでViewModelを渡して
android:onClick="{() -> viewModel.someFunction()}"
するのが正しい >>601-603
@2⃣🅰❷機種依存文字化けるので使わないで下さい iPhoneだが化けないぞ?
まあ意味なく絵文字のボタン文字はやめろと思うが丸つき数字は今時機種依存文字とは言えないやろ。 今時の絵文字表現は色がついてるからボタンアイコン代わりに便利。 明確な回答がないし@でもAでもどっちでもいいって感じですかね? 前のPlayConsoleでは、内部テスト版にリリース・動作確認の後に[アルファ版としてリリース]を行えば、
その直後にアルファ版から[製品版としてリリース]が行え、審査で待たされるのはアルファ版から
製品版の一回だけだった。
新しいPlayConsoleではアルファ版の審査が終わらないと製品版にプロモートできないのか?
何日待たされるんだ・・・ 内部テストとアルファ版の審査って数時間で終わらないっけ?
何日も待った記憶ない >>613
内部テスト版はリリース即公開です。
内部テスト版からアルファ版・アルファ版から製品版へのプロモートは
早ければ数時間だが、コロナの影響か数日かかることもあった。
今回、内部テスト版からアルファ版は10時間ほどだった。
現在、アルファ版から製品版への審査待ち。 >>611
@だよ、初学者ならAは禁止でいいよ >>604 が理解できたらこっちもやればいい アプリをバージョンアップしたら、インストール数が急落したんだけど、原因が分からん。。。
明らかに、Google側に操作されてる気がするんだけど。
原因分かる人いる?
180人/日で安定してたのが、30人/日に急落したわ 似たような経験あるわ
説明文とか何も変えてないのにアプデ後に急にSEOが下がった
結局原因はよく分からなくて元には戻らなかった >>621
戻らんかったのか…
広告の形式を変えただけなんだけどなー
Googleに目付けられたのかも >>622
逆にライバルが追い上げてきたのかもよ?
自分だけしか見てないのと違う? 広告ありはいいけど
時々全画面再生する広告があるのは使わなくなる ContentResolverの処理でMediaStore.Images.Media.BUCKET_IDとかってAPI Level 29からの警告が出るんですが、
実際使ってみると古い端末でも動くんですが特に気にせず使っていいんですかね これ何かおかしいね
去年API29対応した時に消えたと思ったけど、
API30でMediaColumns の方に新規追加されたっぽい
ImageColumns が MediaColumns を継承してるから元に戻ったことになる
いや API29 だけが未サポートということになるのか
厄介な いやリファレンスにはAPI29から追加になってるな
つまり一旦消したのを取り消したということになるわけか?
でもLintがこの事態に対応できてないと このスレを見てる方で、どなたかAPK拡張ファイルを使ったアプリをリリース
されている方、あるいは(他の誰かの)APK拡張ファイルを使ったアプリを御存
じの方がおられましたら、そのアプリをお教えください。
自分の公開しているAPK拡張ファイルを使ったアプリをインストールしたユー
ザーの方から動作しないとの問い合わせを受け、メールでやりとりしながら調
べたところ、アプリ本体はインストールされているのにAPK拡張ファイルがイン
ストールされてない状態で、再インストールを行ってもこれが再現します。
(今のところ1件のみ)
これが自分のアプリの問題なのか、その端末(AQUOS sense4lite)固有の問題な
のか調査の参考にしたいためです。 >>631
探しているのは、APKをPlayストア外で配布しているアプリでは無く、
Playストアからアプリをインストールした時に、アプリ本体と同時にAPK拡張ファイル
ttps://developer.android.com/google/play/expansion-files?hl=ja
がインストールされるアプリです。
adguardをインストールしてみましたが、adguardはAPK拡張ファイルは使用していませんでした。 失礼した
このスレの人に協力してもらえば?
■■ SHARP AQUOS sense4 lite 楽天専売 ■■ Part2
https://egg.5ch.net/test/read.cgi/smartphone/1605930206/ そんな必要があるのかどうかはともかく、
宣伝用に無料版だけPlayに公開して有料版はPlay以外で配布(及び決済)って
ググル様的にはアリなんだろうか AmazonやNetflixがストア経由アプリ配布してアプリ内決済させてないので実質的に同じ話じゃないかな?
Netflixはアプリ内に決済リンク置けないから、電話番号記載で電話するとwebの決済フォームが届く。こんな手法がまかり通ってるんだぜ COCOAは何が悪かったんだろうね。
あれはCovid-19Radarというオープンソースのやつとはもう別物なの? Xamarinの最新の環境を常に追ってる人って日本に何人くらいいるの? Android開発を今後行うことを想定し、ノートPCを買おうとしています。
(開発環境はAndroid Studioを使ってみたい)
おすすめのスペックを教えてください。
また、おすすめのメーカーやノートPCの機種があれば教えてください。
当方は貧乏でハードウェアについては詳しくありません。
半年くらいバイトして買いたいです。
宜しくお願いします。 30万のmacbook pro買っとけ
mac miniなら20万で同等スペック >>644
RAMの多いのを探してみて。今なら16GBくらいは欲しいかな
あと最低でもwin10採用のやつと1920x1080pの液晶
この程度なら10万もしないで探せると思うよ >>646
ありがとう。必要なスペックは理解できました。
RAMが16GBですね。液晶も了解しました。
いちおう、HPかLenovoを漠然と考えているんですが、キーボードに拘りたいです。
キーを押したときの打鍵感があり、Home/End/PgUp/PgDownのキーを1キーで打てる
ものがいいのですが、HPとLenovoではどちらが良いでしょうか? >>648
SSDも必須でしたね。当たり前すぎて忘れてたw
>>647
HDDよりはSSDですよ
後考えるとIntel系CPUが地雷にハマりにくい感じがします
メーカーは好みかと。。。DELLも良いけと値段が高めかも?
でもイメージとして安いLenovoの機種は中華製(&開発品?)なので自分は避けますね
でもそれらの安い機種はNECでも売ってたり!?w Dellですか!
想定外でした!検討の視野広げます。
SSDは了解しました。 thinkpadの大和の開発拠点はもうなくなったんか? >>651
あるけど10万円程度の安いのは中華製や〜 いまは確か横浜のみなとみらいだよ
ランボルギーニかなんか売ってるんだかなんだか知らないけど同じビルだったような クイックタイルから設定の中にあるプライベートdnsをオンオフしたいのですがandroidのセキュリティ上、手間がかかりそうなのでプライベートdnsを設定するページを開くようにしたいです
それに関する情報が出てきません
知ってる方いたら教えてください アプリでDB接続してるときに、スワイプとかでアプリを終了された場合ってクローズはどうしてますの?
postgre SQLだとセッション残ったまんまななっちゃう >>655
onPause()以降のどれかに書くんじゃだめなん? 最新のAndroidsystemのwebviewインストールして、ユーザー補助などアプリにたいしてアクセス権限与える機能をオンにするとwebviewが非常にモッサリしたり、ajax通信 or lazyロードしてそうな画像がとかで止まったりするんだか、ここの賢者で知ってる方いたら解決方法教えてください。。 Google Playで表示されるレビューが国毎になってね
全世界で1000件以上レビュー貰ってるのに
国別になったから32件としか表示されてない 国内市場なんかオワコン、全世界で売れてるから問題無し!とか言ってる奴がいっぱい居たからな。
市場ごとに相応の扱いされるようになっただけ。 どこに表示されるレビュー数?
俺には普通に全部の数字が見えるけど 普通に、検索結果のアプリ一覧画面
○○件のレビュー
星平均も全レビュー平均の方が高いのに日本のみの結果になったから下がった 普通に今まで通り全部の数値がみえる
俺のplayストアアプリかOSのバージョンが低いのかな? android用のライブラリ作ろうとしてるのですが、一部機能を別のライブラリからインポートして使いたいです。
jarからjarをインポートして使うことはできますか? bundletoolを使って(Android4.xあたりの)古い端末にaabをインストール
しようとすると、
The APKs have been extracted in the directory: C:\Users\hogehogru\AppData\Local\Temp\4190438243877553898
04:56:53 E/Device: Error during Sync: timeout.
[BT:1.4.0] Error: Installation of the app failed.
com.android.tools.build.bundletool.model.exceptions.CommandExecutionException: Installation of the app failed.
と、タイムアウトで失敗することが多々あるのですが、これを回避する方法を
どなたかご存じないでしょうか?
ググってみてもDDMSの設定を変える等の古〜い情報しか見つからない・・・ Googleからの 件名 "[ご対応のお願い] ・・・ Google Play Billing Library 3
以降にアップデートしてください"のメールには、
「なお、AIDL または古いバージョンの Billing Library を使用しているアプリ
については、・・・ 2021年11月1 日を過ぎるとアプリ自体がブロックされます
のでご注意ください。」
と書かれており、
ttps://developer.android.com/google/play/billing/deprecation-faq?hl=ja
には、
「ただし、すでに管理していない APK の場合 ・・・引き続き正常に機能します。」
と書かれている。
どっちが本当??
アプリ内購入にAIDL使ってるんだが、今現在問題無く動いているものを弄りたく
ないんだよなあ〜 androidアプリ初なんですけど、
スマホスリープのときって内部で処理はし続けるもんなの?
それともonpauseが来たら処理は停止しといて
アクティブになったら再開とかするもの? >>671
基本は止まるからそれを想定して作る
裏で動かしたいならサービスにする 裏で動かすとwifiが切れちゃうのでどうしたものかと思っておりました
サービスというの調べてみます!
ありがとうございます! Alfred cameraという監視カメラアプリを外付けカメラで使いたいのですが、root化などで外付けカメラをシステムのカメラ入力にする方法はありますでしょうか。
端末はこれから購入予定です。
中古の訳ありスマホで5000円以内で買えるようなものを使うつもりです。 Google maps APIなどで、ある地点AとBを結ぶ経路を表示することはできると思うんですが
そこからさらに、100mなどの距離を与えてスタート地点AからB地点方向の経路に沿って
100m歩いた軌跡を表示することは可能ですか B地点から100m離れた所をB地点にしないと
どの方向に100mなのかわからない AからB方向にです
経路の線をまず引いたあとに、実際に歩いた線を別で表示したい >>681
マップの上にViewを重ねて、そのViewに歩いた線を表示(線以外は透明に)すればいいんでないの?
歩いた軌跡の情報は座標の配列だろうから、直線補完なりSplineを求めるなりして100m毎の地点を計算しろ いや、実際には歩かなくって、
入力としては100mとかの距離を入力して、
予め描画しておいたAからBの経路に沿って
100m分を歩いたものとして軌跡を描画したいんです >>683
だったらそう言うふうにプログラムすればいいだけじゃない?
何でも出来合いの物で作れるとは思わない方がいいよ
逆に誰も気軽に作れないんだからそれが出来たら凄いしチャンスになるよ 分からないならレスしないでください。ウザいだけです 別スレで君にレスしてる人がいたからもう一度貼ってあげるね
121 デフォルトの名無しさん sage 2020/07/04(土) 12:12:20.99 ID:LEDuzYUZ
自分で調べることもできない時点で向いてないよキミ
挙句5ちゃんで質問して逆ギレとかアホすぎかと >>683
まず経路無しのマップを表示してgetDrawingCach等でマップイメージをビットマップで取得
同様に経路有のマップのイメージを取得
二つの画像の差分から経路を線として抽出
マップ描画のパラメータから検出した線上の各ピクセルの座標を逆算
各ピクセル間の距離を積算し、100m地点までビットマップに上書き・表示 自前で頑張らないと駄目なんですかね
Google Maps API か似たような他のSDKで簡単にできませんかね >>688
もっとスマートな方法も見つけたんだが、スレの流れ的に教えないほうがよさそうだね ああなるほど、スタート地点とゴール地点を指定してルート検索すると
途中の緯度経度の情報が配列で全部得られるのか
あとは緯度経度から距離を計算しつつ100m分進ませればできそうだな Android StudioでKotlinでプログラムしてるんだけどエクセル使いたくてpoi導入したいんだけどどうやったらいいの?
ネットみてやってもエラーしかはかん poi on android以前使った。
確かに苦労したが、githubからcloneしてGetting started参考にコンパイル、サンプルが動いたのを確認してライブラリ作って組み込んだような。
ただ、poiのバージョンが古くて使えない機能があったので運用で逃げた。
poiのバージョンを最新にしようとしたらうまくいかなくてあきらめた記憶が。
リリースモード時に動かなかったからproguard-rulesに試行錯誤で追加した。 Soliレーダーで遊びたんだけど触ってる人いるかな? APKの生成で使用するキーって、1プロジェクトにつき1個しか対応してないんだね。
プロジェクト毎にキー生成するのって面倒臭いな 別に1プロジェクトごとに1個ではないんでは?
gradleで何指定するかじゃないの? 動作確認はエミュレーターより実機の方がいいのかね? 全部実機でやりたいけど、画面サイズとかAndroidバージョンとか実機で揃えられない分はエミュで済ます Google Playの手数料15%引き下げって定期購入だけですか。AdMobの収入は増えない? FireHD10 なんですが、2019(9th)は、
・アプリケーションバイナリインターフェイス(ABI) 32ビット
・CPU 4xARM Cortex-A73(2.0GHz)、4xARM Cortex-A53(2.0GHz)
のように、CPUは、ARM-v8A(64BIT命令)なのに、なぜABIは32BITなんでしょう?
2021(11th)は、
・アプリケーションバイナリインターフェイス(ABI) 32ビット/64ビットハイブリッド
・CPU MT8183、64ビットオクタコア(最大2GHz)
のようにABIも64BITになりましたが、何を変えたんでしょう。
2019のは、32BITモードで動いていたんでしょうか?
それとも、JavaのJNIが64BITモードに対応していなかっただけ? googleplayでアプリの説明に不備があったみたいでリジェクト。
また審査中に逆戻りw 審査ながいよ。 WebViewでMhtmlファイルを読み込むと
net::File_Not_Foundというエラーがでるんですがどうすればいいでしょうか?
webview.loadUrl("file:///storage/emulated/0/Download/Google");
このように読み込んでます 対象範囲別ストレージで引っかかってるとかではなく? 対象範囲別ストレージっていうのがあるんですね。
ありがとうございます。
やってみます。 以下のようなアプリの作成を考えてます
1 ユーザーに自作アプリのアイコンを押してもらいアプリを起動してもらう。
2 自作アプリが起動したらAndroidのOS画面下の□ボタン(メニュー?今は履歴?)を押す。
3 アプリの履歴の一覧が表示されたら、自作アプリで一番上にある「すべて消去」を押す。
4 自作アプリも終了する。
ここで質問ですが、3の「すべて消去」をAPI等で直接的に呼び出す方法ってありますか?
同じことができればそれを呼び出して終了でいいと思ってます。
動作対象OSは自分が所持してる4.4や8.0辺りです。 殺す方法なかった気がする
せいぜいfinish() >>709
ありがとうございます。
窓だとpowershell等でサクっとできるんですが
androidは中々かゆいですね なぜそんなことがしたいのか、する必要があるのかがわからんな >>711
目的ですがAndroid端末をジジババに使わせていて、例えばyoutubeだと誤タッチでコメント欄入力とかの変な状態になってしまうと、
そこから画面を戻せないとクレームが来ます。
そういう時にまず「○」でホームに戻ってもらって、今回のようなアプリを実行してもらい、履歴のアプリを一旦全部終了させたいのです。
画面下中央の「○」を押してホーム画面に戻すことはなんとか覚えてくれましたが、
「□」を押した後に対象のアプリをスワイプで消したり、「すべて消去」を押すという操作は説明しても中々覚えてくれないので、
いっそ操作を肩代わりするアプリをホーム画面に配置しとこうというわけです。 activityを保持しない設定にするじゃ解決しないん >>712
Android黎明期に流行ったタスクキル系のアプリを使うか、同じようなアプリ作るのは?
現在はもう必要なくなったアプリジャンルだけど用途に合うかも、ウィジェットでワンタップキルの機能があれば完璧か 対象範囲別ストレージなんですがAndroid10で直接ファイルパスを指定してimageviewに画像を表示できないでしょうか?
場所によってmedia storeとかsaf使わないとできないでしょうか? 携帯のセンサーを使って何かできないかなと考えています
当方はLinuxやWindows(mingw on Linux)での開発経験があります
AndroidのUserLAndを使えばLinuxを入れられると知りました
このLinuxから携帯のセンサーにアクセスすることはできますか? ストア経由のみadmobが表示されない。
リリースビルドでapkをインストールした場合は表示されるのですが、google play 経由のみAd failed to load : 3。
ストアとも紐つけてるのにadmobはエラー3はよく分からない。 app-ads.txtを公開したいんですが開発者ページはどこで作ったら良いんでしょうか 実際app-ads.txtがあるのとないのとでかなり収益が変わってくるものなんでしょうか すいません
unityでアンドロイドアプリ作ってるんですけど、
バージョン管理で
app01
app02
app03
みたいにフォルダごとコピーしていて、ある日app01、app02のフォルダを削除すると
ビルドできなくなりました。
でゴミ箱に入れていたapp01、app02をもとに戻すとビルドできます
これっていったい何が原因なのでしょう? app01でビルド
そのあとapp01をコピーしてapp02
とかだと絶対パスでapp01のファイルを参照しているだけでは? >>722
そのとおりの運用しています
app03での変更点はすべて反映されてビルドできているのですが、
絶対パスでapp01を見ているものもあるのですか? app03のフォルダでapp0[12]をgrepしてみ。 Arctic Foxにしたら検索画面の日本語が豆腐になるんやがどうしたらいんすか プライバシーパリシーは
以前は掲載情報で設定でしたが
別項目に移動してましたね
ほんとGooqleは暇ですね
次から次に設定変えやがって
嫌がらせかよ Androidのプロジェクトをgitで管理しています
このプロジェクトにgit submoduleで自作ライブラリのプロジェクトを追加しました
この状態で普段はデバッグして、プロジェクトのコミット時にはライブラリのaarファイルだけコミットしたいです
このような構成を作ることは可能でしょうか?
またサブモジュールを読み込まないときもデバッグできるでしょうか? build variant 使えば行けそうな気もするが
最悪setting.gradleやbuild.gradleはサブモジュール無しでaarリンクするのをコミットしておいて、サブモジュール使うための記述はコメントアウトしておいたのを有効にして使うとかすればいいだろう >>731
ありがとうございます
releaseビルドの時はaarファイルを使用
debugビルドの時はライブラリのモジュールソースを使用という感じでしょうか?
自動でsettings.gradleを切り分けて、submoduleが無いときはincludeしないと出来たら最高なのですが、まだそこまでは出来ていません
もう少し調べます Build Variantはデフォルトだとビルドタイプだけの debug/release だけど、プロダクトフレーバーを追加してたとえば developmentDebug/developmentRelease/productionDebug/productionRelease みたいにできる
aar直接リンクとsubmoduleを切り替えるならそれにふさわしいプロダクトフレーバーを用意するのがいいと思われ
この辺見てね https://developer.android.com/studio/build/build-variants?hl=ja あと、setting.gradleでincludeしたプロジェクトは空っぽのディレクトリでもいいみたい
依存関係が無いけどincludeされているプロジェクトの中身を空っぽにしてbuild.gradleをsyncしても、AndroidStudioは特にエラーとか出さなかなった
gradleの公式ドキュメントにも大丈夫そうなこと書いてあるけど、ホントに大丈夫かどうか自分で確認してみてください >>733
>>734
為になる情報ありがとうございます! JavaのMVVMでViewModelからModelの非同期メソッドを実行するとして、
ViewModelが結果を受け取るにはどうすればいいのでしょうか? livedataはLifecycleownerでないとobserveできなくないですか? Modelから貰ったLiveDataでViewModelのメンバーを初期化(observeはしない)
ActivityとかがそのViewModelのメンバーをobserve
ViewModelでLiveDataの変換をしてもいい もっとシンプルにと言われてもこれがAndroid Architecture Componentsの基本でしょ
だからRoomもLiveData返すようになってる
リアクティブプログラミングを理解してないと難しいかな Roomが返すLiveDataを処理する例はいっぱい見つかるけど、LiveDataを返すmodelの作り方は簡単なのは見つからないね
今どきにかっこよくやるなら Kotlin Flow を返すように作ってそれを LiveData へ変換するとか?
Javaでやるなら泥臭く作るしかないのかなあ
頑張ってください AndroidのMIN SDK versionいくつにしてる?
どこを見て参考にしてる? AndroidStadioにすると14までしか下げれないんですよね
EcrisupeのアプリをAndroidStadioでアップデートしたら
ダウンロード数が半分以下に激減しました。
まだ諸外国だと14以下の機種がたくさんあるんだと思う。
特に貧乏な国は10年以上前の古い機種がたくさん使われてるんだと思う。 >>745
> まだ諸外国だと14以下の機種がたくさんあるんだと思う。
14はまだしも14未満はさすがにほとんど無いと思うぞ
Google Play Console、そのアプリの統計情報で、Androidのバージョン毎に
インストール数の変化を
ttps://i.imgur.com/pETQgTj.png
のように見れるから、確認してみたら? 14未満はダウンロード数には反映されてても
バージョン別の統計に反映されないのかもしれない
貧困国や発展途上国は世界の中古品を集めて使用してると思うから
0なのはむしろおかしい
例えばバングラデッシュの国民はAndroid1.6が主流かもしれない
あくまで想像ですが minsdk21でkitkatで動くようにしてくれと言われてminsdk19にしたら64kの壁で無理だった、、、 例えばネパールは、あれだけ貧困国なのにスマホ普及率は高い
だが貧困者が多いのだから新しいスマホは買えるわけない
使用されてるのはほとんどAndroid1.6端末だと想像に難くない
あくまで想像ですが >>745
> AndroidStadioにすると14までしか下げれないんですよね
試しにminSdk9とかしてみたが、問題無く動いたぞ
ttps://i.imgur.com/3UPMNWj.png
ワッチョイ f15f は全て同一? 愚痴ってるだけで解決の為に調べたり
試したりを出来ない人?
>>750
>64kの壁で無理だった
余分なライブラリをリンクしてないかい?
一個のアプリに自分で6万個もメゾッド書くのって並大抵じゃないぞ >>752
ライブラリを結構リンクしてたので圧縮して使えないapiを外したら起動できました
ただ、デバッグでは起動できたのですが、リリースで落ちました
問題あるものをproguardから除外すればいけると思うのですがあきらめました
わざわざ古いっ機種に今更苦労して対応してもなぁと思って 2.3系はもうGoogleアカウントにログイン出来ないらしい
最低でも3.0以上が必要
>>747
https://gs.statcounter.com/android-version-market-share/mobile-tablet/bangladesh
StatCounterだとバングラデシュでも古いバージョンほどシェアが低いぞ?
どれくらい正確かしらんけど
5.1 Lollipopで4.28%とか 今の環境でLVL付きでビルドするとエラーはでるけどとりあえずは動く
という状態になってるよね 一応機能はしてるようだけど
Gはこれを修正する気はないのだろうか
ずっと前からAndroid5.0では不具合があるからソースをこう変えろってユーザーの
解説サイトが出回ってるのにそれも全然直す気もなくLVLは古いバージョンのまま
これでいいのか AndroidX入れたら14未満にできませんが
なにか? どうも。開発初心者です。
スマホ持ってないんですけど、カメラも兼ねてandroid5のスマホを買おうかなと思うんですが、android5向けに開発したものは上位互換性はないんでしょうか?
開発はreact nativeにしようと思うんですが。 また、お勧めのエミュってありあすか・
エミュのみで開発は難しいそうですが ある程度互換性はあるけど仕様変更の影響は色々受ける
何よりストアにアップロードすることができない >>759
reactだとgoogle playにup出来ないということですか?
古いバージョン向けのものはup出来ないということですか?
react使えばすべてのバージョンをカバー出来るのかなと考えていました。
バージョンごとに調整が必要になるんでしょうかね。 教えてください
実機にデータベースを移したいんですけど、何度やっても上手く行きません
adbのrun-asコマンドで自身のアプリパッケージにアクセスしようとしたら
has wrnong owner 0/1000 not 1000
と出ます
アクセス権がないと判断してるんですが、このアクセス権は端末依存なんでしょうか?
端末はHuaweiのmate20xです >>760
react nativeは画面を作るだけ
その他の機能が動くかどうかは全てandroid自身の互換性の問題 >>760
古いバージョン向けはアップロードできない
公開するなら新しいバージョンをターゲットにして、実装で下位互換性を持たせる形になる
エミュはAndroid Studio使ってそれに付いてるやつ使えば一応それだけで完結できる >>762
画面を作る?アプリの動作部分は作れないんでしょうか? 下記のようなメールがGoogleから来たが、同様のメールを受けたことのある人いる?
Google Play Console でそのアプリの「ポリシーステータス」を見ても
「問題は検出されませんでした」となっており、何が問題なのか不明。
====================================
件名
Action Required: Your app is not compliant with Google Play Policies (アプリ名)
本文
Hi Developers at XXX,
After a recent review, we found that your app (アプリ名) is not compliant with
one or more of our Developer Program Policies. Please resolve the issue
within 7 days of the issuance of this notification or your app will be
removed from Google Play. >>767
>差出人とか本文中のURLは正規なの?
はい。
メールのヘッダー情報からもスパム等で無いことは確認済です。
ttps://support.google.com/googleplay/android-developer/contact/appwarning
から警告理由の問い合わせができるようなので、問い合わせ中。 小一時間悩んでるので皆さんの知識をお借りしたいです
Android Studioで既存のアプリに、viewBinding、Fragment、ViewPager2、TabLayoutを使用しバージョンアップを考えています
コーディングは終わりましたがNPEが出てしまいどこを見たらよいのか全く見当がつきません
アドバイスお願いしたいです
https://dotup.org/uploda/dotup.org2658226.jpg ビューが作られる前にビューにアクセスしてるから
onCreateメソッド->onCreateViewメソッドの順に呼ばれて、ビューはonCreateViewで作られてるが、
onCreateメソッド内でbuttonClicked呼んだりTextInputEditにアクセスしたり、ビューが作られる前にビューにアクセスしてる >>770
ありがとうございます!
動きました
ActivityとFragmentではviewの生成されるタイミングが違うのですね
上記のコードは元々MainActivityのonCreateに書いてたのでそのままコピーしてしまった、、、 FragmentではViewの生成はonCreateView、Viewを初回参照する処理はonViewCreatedにかくのがセオリー アプリ開発をしてみて、普段使ってるアプリにも色んな工夫がされてるんだなと勉強になってきた
楽しい お聞きしたことがあります
PreferenceFragmentCompatというクラスはFragmentを継承して作られたクラスですよね?
例えば
class MainFragment:Fragment()
class SecondFragment:PreferenceFragmentCompat()
これら二つのクラスをFragmentStateAdapterで管理したいのですが可能なのでしょうか?
https://dotup.org/uploda/dotup.org2660659.jpg だけど、基本設定画面は自分でViewPager2とか使わずにxmlでPreferenceScreen使えば複数画面からなる設定画面を簡単に作れるようになってる 問い合わせに対し、googleから回答が来ました。
私の側では何も修正等行って無いので、先の「Action Required」のメール
そのものがGoogle側での何かの手違いだったのでしょう。
========================
ご担当者 様
Google Play チームにお問い合わせいただきありがとうございます。
お客様のアプリ、XXXX が承認されましたのでお知らせいたします。
以上のご対応は不要でございます。 こんばんは
onViewCreatedで生成されたViewのIdを取得し、特定のIdがタップ(クリック?)されたとき処理を実行したいと考えています
現状は画像のようなコードを書いていますが、「Incompatible types: Button and Int」というエラーが出てしまっています
何とかスマートに書く方法を模索中なのですが、やはりView一つ一つにsetOnClickListenerで処理を書いていくほうが正しいのでしょうか?
https://dotup.org/uploda/dotup.org2663837.jpg エラーのそのまんまだって。
idはただの整数値
when (view.id)ってやるなら
when (view.id) {
R.id.hoge ->
R.id .hage ->
}
hogeやhageはxmlで各ビューにandroid:name="@+id/hogehoge"で つけた名前がくる >>781
そうでしたありがとうございます・・・
長時間やってるとおかしくなっちゃいますね
休憩します R.idでいいけど、
when (view.id) {
binding.pinkColorButton.id ->
}
でもいいし
idじゃなくてビュー同士比較して
when (view) {
binding.pinkColorButton ->
}
でもいいい やり方はいろいろあるんですね
私はidを比較する方法をとりました
しかしながらエラーは消えて、修正したコードを実行しましたが
思うような処理が走りませんでした
onViewCreatedの引数viewは、xml側で定義したview全てを参照してるわけではないのでしょうか?
公式ドキュメントを見てもパラメーターviewは、onCreateViewによってViewが返される
と書いてあるので間違ってはないと思うのですが
https://developer.android.com/reference/android/app/Fragment#onViewCreated(android.view.View,%20android.os.Bundle) onViewCreatedの引数のviewにはonCreateViewで返したViewが渡されるんだぞ
Viewは階層構造(ツリー構造)になっててそのルートのViewが引数viewに渡される
onViewCreatedは1回しか呼ばれないぞ、xmlで定義したView全てに対して呼ばれるわけではない onCreateView で
return binding.root
としてるように読み込んだViewのツリー構造の一番上のルートのViewを返してる まぁ、たぶんやりたい事はボタンクリックしたら色を変えたいんだろうから
changeTextColor(binding.pinkColorButton)
changeTextColor(binding.redColorButton)
と1つずつセットしていく binding.rootのrootってそういう、、、
頭が痛いので寝ます!またよろしくお願いします! テキストのカラー設定を保存する処理というのはどうすればいいのだろう
文字に設定されているカラーコードを16進表記にして文字列として保存するんでしょうか?
テキストデータは、pref.editでMEMOというKeyに対してputStringを使い保存しています それでもいいし、色が決まってるならintで番号を保存して
呼び出すとき1なら赤とか2なら青とかにすればいいんでない Android 11以降って他アプリの
/sdcard/Android/data/パッケージ名/files
にはどうやってもアクセスできないの?
ここみたらMANAGE_EXTERNAL_STORAGEなしで
出来るみたいに書いてあるけど
Googleの意図した仕様じゃなくて、セキュリティ上のバグなの?
バグだったら将来修正されて使えなくなったりする?
https://stackoverflow.com/questions/65967690/how-do-some-apps-reach-the-contents-of-android-sub-folders-on-android in future Google may patch this hole in their "security" intentions, and this may not work after some security update >>790
ありがとうございます
Int型ってのがヒントになりとてもシンプルなコードでいけました
putInt("COLOR", binding.textInputEdit.currentTextColor) >>792
やっぱバグだよね
素直にアクセスするのは諦めるか
Googleのやつめ、コロコロ仕様変えて制限キツくしやがって Gmailでメールを送信したときに"UNDO"と書かかれたメッセージボックスが表示されますよね?
あれを、テキストを復元する形で自作アプリに実装したいのですがうまくいきません
そもそもあれは何なのでしょうか?
FrameLayoutの中にTexiViewとButton?を置いているだけなのでしょうか
https://jp.techcrunch.com/2018/08/22/2018-08-21-gmails-undo-send-feature-hits-android/ >>796
ありがとうございます
これSnackbarっていうんですねぇ。。。 FragmentにAlertDialogを表示し、Seekbarをドラッグして文字のサイズを変える処理を実装したいと考えています
Seekbarは表示できましたが、テキストサイズが変わりません
どこがおかしいかご教授お願いします
onProgressChangedというのはシークバーを動かしている際に呼ばれるメソッドですよね?
https://dotup.org/uploda/dotup.org2672807.jpg 同じレイアウトを2回読み込んて、実際に表示されてるのとイベントハンドラを設定してるレイアウトが別々になってる 普通のFragmentはonCreateViewで表示するレイアウトを返すが、DialogFragmentではonCreateViewでレイアウトを返すかonCreateDialogでDialogを返すかの片方だけでOK
君の場合はonCreateDialogで返したDialogが表示されてて、onCreateViewで作ったレイアウトは表示されておらず完全に無視されてる onCreateViewを削除して
_binding = FragmentTextSizeDialogBinding の部分を
onCreateDialogに移動して
builder.setView(_binding.root)
とすればよい そもそもonViewCreated呼ばれてないんじゃないか
onCreateDialogの中でリスナをセットしたら? >>803
あー出来ました!
ありがとうございます
Dialogとviewは別物なのかな...
ちょっと調べる必要がありますね 前から感じてたが君はブレイークポイントしてデバッグしてないやろ
まずはブレイークポイント、デバッグで検索して勉強した方がいい そうですね
もう少し自分で問題解決できるようになりたいので修行してきます... データ セーフティ未対応でもアプリ消されない?
チェック項目が意味不明すぎてわけがわからん データ セーフティ意味不明その1
<統計情報>
グーグルコンソールで勝手に取得してるけど
それは開発者が意図して取得してるわけじゃないしどこのユーザーかもわからん
それなのにユーザー情報取得の項目にチェックするのか?
そもそもアプリではなくグーグルが取得してる情報に
なんで開発者が責任取らなきゃいけないのか
全然意味が分からん Google Maps API について質問です
ちょっとスレチで申し訳ないのですが
WebブラウザのJavascriptでGoogleMapsAPIを使って現在地を確認してる漁師です
町中だとGPSだけではなく、道路情報、他人のスマホ、WiFi情報、基地局などで精度が上がると思うのですが
有明海ですが海の上だと、ほとんどGPSだよりです
なのに自作のJavascriptだと精度悪くってGoogleMapならかなり精度高いです
やっぱりブラウザのJavascriptより専用アプリのほうがなんか精度高い計測方法があるんですかね?
それとも単純にGetCurrentPosition()使ってるだけじゃダメなんですかね? >>814
ありがとうございます
アプリ作ってみます 一つのプロジェクト内に複数のテスト用コードのフォルダ(MainActivity.javaなど一式)がある場合、どうやって任意のものをビルドするのでしょうか? android 10でファイルマネージャーみたいに内部ストレージ、外部ストレージのファイルを一覧表示して書き込んだりできますか? 悩んでます。
<ScrollView>
<ConsyraintLayout>
内容1
内容2
</ConsyraintLayout>
</ScrollView>
という感じで画面全部(内容1と内容2)が縦スクロールは出来ているんですが。
<ConsyraintLayout>
内容1
<ScrollView>
<ConsyraintLayout>
内容2
</ConsyraintLayout>
</ScrollView>
</ConsyraintLayout>
で内容1は常に画面上部に残って、内容2は縦スクロールしたいけど書き方わからんです。 LinearLayout使うかCoordinatorLayout使うか scrollviewの直下はlinearlayoutいれてその中は自由 オーディオレコードとかいう関数みたいなので0.1ミリ秒位のパルス波を録音してみると
周期がズレル時が有ります。
どうにかならないもんでしょうか?。
機種はP-01Dです。 フルスクリーン表示から、画面タップで、
システムバー(ステータスバーとナビゲーションバー)の表示・非表示
を切り替えれるようにしたいです。
View.SYSTEM_UI_FLAG_FULLSCREEN
View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY
を指定してフルスクリーン化することにより、
@外部からスワイプでシステムバー表示
A一定時間経過でシステムバー非表示
はできていますが、画面タップで、
@Aと同じような動作をさせる方法がわからず
困っております。
動画再生アプリでは大抵実現されている
一般的な操作仕様だと思うのですが、
このような機能はどう実装すればよいのでしょうか? Safe Argsについて質問です。
公式のドキュメントを参照したところSafe Argsをプロジェクトに追加するには最上位のbuild.gradleにclasspathを追加するとの記述があります。
しかし現在のgradleファイルを確認しても本来追加する箇所に当たるbuildscriptもdependenciesもありません。
以前のバージョンならあったような気がしたのですが仕様が変わってしまったのでしょうか?
もし変わっているのならどこにclasspathを記述すればよいのでしょう?
ちなみに開発はAndroidStudioのBumblebeeを使用しています。 >>828
仕様が変わった
調べれば色々出て来るよ 昨日、GooglePlayでレビューをもらったメールが届いたのですが、
GooglePlayのアプリのページを開いても反映されていません
メールのリンクをクリックして
GooglePlayConsoleをひらくと返信入力のページはでるのですが、
すべてのレビューをみると、そのレビューは表示されません…
更新が遅れているだけでしょうか? >>831
レビューした人がその後直ぐにアプリをアンインストールすると、そのレビューは消える
っていう話を聞いたことがある。(悪戯やステマ防止のため??) >>832
返信ありがとうございます
確認したんですが、アンインストールはしていませんでした
言語の違いか?とも思ったのですが日本語であってました
ナゾのままです… >>829
うーんそこ見て実装してるけど思ったようにならなくて困ってます。
setSystemUiVisibility に渡すフラグの組み合わせは、
思いつく限り試してみたけど、どれも期待した動きになりませんでした。
まぁもうちょい試行錯誤してみますが、
なんかはまりそうなポイントなどあれば教えてください。 リスト一行分のレイアウト(Horizontal)の中で、CheckBox→TextViewを二段重ね→ドラッグハンドラ
といった具合に、レイアウトの途中で行数を変更したのですがどうすればよいのでしょうか
TableLayoutというViewを使えばよいのでしょうか? そんな難しいことをする必要ないのでは
CheckBox→縦のリニアレイアウト→ドラッグハンドラ
縦のリニアレイアウトの中にテキストビューを2つ入れる >>836
返信遅れてすいません、そうですね難しく考えてました いつからかわからないけど難読化にR8という新しいのができてる(これに移行したがいいんだろか?)
そして古い難読化であげてるやつをクラッシュレポートで見てみるとなぜか難読化される前のが見えてる
不思議に思ってあげたaabファイルをデコンパイルして見てみるとちゃんと難読化はされてる
これはどういうことなんでしょう? aab形式になってからは難読化されてもプレコンソールでは難読化以前のものが見れるの? android studioから起動したエミュレータでの質問なんですが、拡張コントロール画面でバッテリー残容量を変更してもエミュレータ側にリアルに反映さ)まけん。
エミュレータを再起動すれば変更した値で反映されるような感じです。
GPS位置情報とかは即反映されます。
バッテリーに関しては即反映しないのが仕様なのでしょうか? 以下の様なListを使っていましたが、
List<String> name;
name = new ArrayList<String>();
わけあって4個のListにしました。
private List<String>[] name = new List[4];
name[0] = new ArrayList<String>();
name[1] = new ArrayList<String>();
name[2] = new ArrayList<String>();
name[3] = new ArrayList<String>();
として使っていましたが、
Android Studioから「推奨されないAPIを使用またはオーバーライドしています。」の警告が出ます。
良い記述ありますか? 正しくはname = List<ArrayList<String>>[4]でないの? あ、なんかめちゃくちゃになった
ようはListの中身の型 zxingのQRコード表示とカメラ取り込みを使ってますが、QRコードを表示してスクショ撮った写真からQRコードを取り込む方法知りませんか?
カメラを起動しないでギャラリーを起動して写真を選択するとStringが返されるのを希望です。 >>841
今どきカギ括弧の中に型をコーティングしないっしょ surfaceviewって廃止されたんですか?
使おうと思ったらサジェスト?に無いですが もうじき android.permission.WRITE_EXTERNAL_STORAGE を外したものでアップデートしないといけなくなるって
本当ですか? <integer-array>に1~50までの数値をぶち込んで配列を作る
↓
そいつをgetIntArrayで変数 list に格納
↓
ArrayAdapterでAutoCompleteTextViewに紐づけしようとしてるんですがエラーが出ます
ArrayAdapterの第三引数でエラーが発生しているのですが、listをもってくるのが間違っているのでしょうか
それとも根本的に違うのでしょうか 下記操作手順をWeb公開するのですが、現在一つの端末しか持ってないので、記述内容が別端末で動作するかの確認が取れません
やってることはデータベースに文字列を加えるだけなので即文鎮化するものではありませんよね?
記述が間違ってたり、書き戻しに失敗したとしてもbackup.abをadb restoreで戻せば復活しますよね?
adb backupでcom.android.providers.telephonyを抜きだしbackup.abとして保存
android-backup-tookitでbackup.tarに変換
展開してtelephony.dbにSQLITEを用いて一行記述
またtarに圧縮してmod.tarとリネーム
android-backup-tookitでmod.tarをmod.abに変換
adb restoreでmod.abを本体に書き戻す 質問です。
onViewCreatedでSpinnerにsetAdapterして、範囲外のsetSelectionをしたところ、例外にならずに実際の描画タイミングでアプリが落ちます。Try〜catchで拾えない。
試しにSpinnerにsetAdapterしていないとアプリは落ちない。
setAdapterの項目数が不明の場合、setSelection出来る範囲を知ることはできますか? >>844
報告するのが遅くなりました。自己レスです。
長くなるのでtryなどは省略してます。
ActivityResultLauncher<Intent> _imageLauncher = registerForActivityResult(new ActivityResultContracts.StartActivityForResult(), new ActivityResultCallbackFromImage());
public void ImageCapture() {
Intent intent = new Intent(Intent.ACTION_OPEN_DOCUMENT);
intent.addCategory(Intent.CATEGORY_OPENABLE);
intent.setType("*/*");
_imageLauncher.launch(intent);
}
private class ActivityResultCallbackFromImage implements ActivityResultCallback<ActivityResult> {
@Override
public void onActivityResult(ActivityResult result) {
if (result.getResultCode() == RESULT_OK) {
if (result.getData() != null) {
ParcelFileDescriptor pfDescriptor = null;
Uri uri = result.getData().getData();
pfDescriptor = getContentResolver().openFileDescriptor(uri, "r");
if (pfDescriptor != null) {
FileDescriptor fileDescriptor = pfDescriptor.getFileDescriptor();
Bitmap bmp = BitmapFactory.decodeFileDescriptor(fileDescriptor);
pfDescriptor.close();
int[] intArray = new int[bmp.getWidth() * bmp.getHeight()];
bmp.getPixels(intArray, 0, bmp.getWidth(), 0, 0, bmp.getWidth(), bmp.getHeight());
LuminanceSource source = new RGBLuminanceSource(bmp.getWidth(), bmp.getHeight(), intArray);
BinaryBitmap bbitmap = new BinaryBitmap(new HybridBinarizer(source));
MultiFormatReader reader = new MultiFormatReader();
Result resultQR = reader.decode(bbitmap);
QR_code = resultQR.getText();
QR_result = true;
pfDescriptor.close();
}}}}} >>856
明日、OnResumeで設定やってみます。
何度も飛んで来るので気持ち悪いが。 >>856
OnResumeでsetSelectionを範囲外で呼び出したが、try〜catchでは捕獲出来ず、落ちました。
あらかじめ範囲を何かの変数で記憶して、都度チェックするしかないのかな? >>854
spinner.count
adapter.count
とかも使えない感じ?
素人なんで参考にならんかも >>859
spinner.getCount()で出来ました。
ありがとう! どなたか
ttps://developer.android.com/reference/kotlin/androidx/core/location/GnssStatusCompat
を使っている・使ったことがある・使い方を知っている方はいませんか?
min-API15(Android4.03)の時代からのGPSを使うアプリで、GPSの衛星取得
状態の情報をユーザーに提示するのに、
https://developer.android.com/reference/android/location/GpsStatus.html
を(Deprecated in API level 24 なのに)ずっと使っていた(使えていた)のですが、
さすがに target-API31で使えなくなったようです。
上記GnssStatusCompat でAPIレベルの境なく纏められそうなのですが、
"GnssStatusCompat"でググッても参考となるコードが見つからず、LocationManager
へのつなぎ方等が不明です。
よろしくお願いいたします。 GooglePlayからのアプリ配布形式を、"apk" → "aab" に変更して配布したいと考えております。
apkをインストール済みのユーザーは、aab形式でストアからアップデートした場合、上書き(データ引き継ぎ)できますか?
Firebaseでapk → aabのアップデートを試すと、アンインストール → インストール(データがクリアされる)となったので... 問題なくアプデできたはずだけど、不安ならGoogle Play Consoleの内部テストでaabアップロードして試してみたらどうでしょう。 MutableListを監視し、アイテムのadd,removeをUIにリアルタイムで反映させたいのです
LiveDataを使う方法だとaddメソッドが使えないので困っています MutableListとLiveDataを継承したList専用のLiveDataクラスを自作してそれを利用すればなんとかなるのでは? >>866
これを多重継承と言って良いかはあれですが、MutableListはinterfaceでLiveDataはabstract classだから出来ることだと思われます。
livedata mutablelist add とかでググるとそれっぽい記事がでてくるので試してみては? androidの開発を学ぼうと
2つ講座を見つけたのですが、
Javaとandroid studioの学習がセットになった開発講座と
Android Jetpack Composeとkotlinがセットになった開発講座
どちらも受講する必要はありますか?
もしくは後者のAndroid Jetpack Composeとkotlinが
セットになった講座のみを学べばよいでしょうか? 普通に考えて後者は前者の知識があることが前提なのでは 初心者質問すいません
SDK Platform-ToolsをSDカードを内部ストレージにする為に使ったのですが、
このソフトは無料なのでしょうか? 自作アプリを公開しようとして公開用アドレスを作ったのですが
デベロッパー登録をするときに、メールアドレスを登録するようになってるのですけど
そこの下に「このメールアドレスはgoogle playに公開されません」って書いてあるけど
公開用のメールアドレスって、この後登録するんですか? アプリごとに問合せ用のメールアドレスを設定するよ。 android studio環境で質問します。
Build Generate Signed Boundle(s)/APKで作成したapkを端末にインストールした後に、android studioでRun'app'またはDebug 'app'を実行すると「different signature.」でアプリをアンインストールしないと続けられないダイアログが出ます。
keystoreファイルはbuild.gradle(:app)にも同じファイルを指定していますが、何故違うと表示されるのでしょうか? >>874
多分gradleファイルにどこかミスがあるんだろうね
例えば試しにandroid studioでRun'app'またはDebug 'app'を実行する時に
'Build Generate Signed Boundle(s)/APK'で使用したkeystoreファイルを
一時的に消しておいたらどうなる?
Gradleファイルが正しく同じ署名データを使うようになってたら「署名
データが無い」というエラーになるはずだよね。 >>875
すみません、途中で送ってしまった。
keystoreファイルを削除すると署名ファイルが無い赤文字のエラーが出ます。 >>875
後だしですみません。
事の発端は、パッケージ名を変更したことです。
c:\data\src\abcで作っていたのをc:\data\src\efgにパッケージ名を変更して、Build Boundle(s)/APK(s)の初回にefg.jksを生成しました。
ところがbuild.gradleのsigningConfigsの内容が元のabc.jksのままだったので、efg.jksのパスに書き換えましたが、今回の状態です。
Build Boundle(s)/APK(s)ではefg.jksを選択していて、APKとかAABを生成しているので、署名はefg.jksを使っていると思うのです。 すいません
初めてアプリ公開するのですけど、プライバシーポリシーってどんな風に書けばいいのかわからない
と言うか、まずホームページ借りなきゃだけど皆何処の借りてるの? すいません、アンドロイドのハード寄りの質問をさせて下さい。
イヤホンジャックのファンクションキーのA〜Dはループ抵抗の変化は判るのですが、
イベントタイプ5(EV_SW)イベントコード4(SW_MICROPHONE_INSERT)は何処で判別?
やっぱり、ループ抵抗が∞と1KΩと見分けているのでしょうか?
そして、アプリ側からその変化を検出する事は可能なのでしょうか? 公式に掲載されているアプリをメールで配信ですが、提供元不明のアプリをインストールする設定なんですよね? >>880
あら
そういうのでいいのですね
プライバシーポリシーのために無料ホームページ借りようか迷ってたけど
だったらいいや
OAuthのやり方とかめっちゃはまったけど
取りあえず審査中まで持っていけました
ありがとうございます
愛してる 家にあったfireタブレット(amazon)で試しにアプリのデバッグやってみようと思ったんだが
LVLのチェック処理が通らない
もともとgooglePlay非対応だからかね
一応googlePlayをインストールして、そこからDLしたアプリのLVLは通るんだよね 自己解決した
Fireタブレットというより、android9以上からLVLの一部のデコード処理で例外発生するようになってたっぽい
久々に更新したら、もうワケワカメ しかも古いapkはandroid9以降でも問題なく動作しているので
新しくビルドしたapkだと駄目になるという、にんともかんとも 訳の分からない動きしてて困ってるけどエスパーお願い
作ったアプリで
あるページに移動すると特定の条件でクラッシュ
実機ではデバッグビルドでもリリースビルドでもそんなことは発生しない
アプリを配布した人に聞いてもそんなこと発生しないといわれてしまう
けどエミュレーターを使うとリリースビルドだと100パーセントクラッシュ
デバッグビルドだと発生しない
ちなみにそのページはただのヘルプページでラベルに文字が書いてるだけで何でクラッシュするのか全く持ってわからない
エミュレーターだとなんかあるの知ってる人いますか? Google playのクローズドテストでメーリングリストにテスターを追加してダウンロード頂いていますが、テスター全員に案内メールとかどうやればいいのですか? Androidのサポートアーキテクチャに
x86_64を追加したら治りました
エミュレーターをx86_64出作ったから?
他の機能は何で平然と動いてるのかとか不思議な気はしますが
直ったのでよし >>889
Windows ならデフォルトでそうなると思うけど詳しく知りたいな。 MediaPlayerの質問なのですがシークしながら音を再生するって事は可能でしょうか?
シークバーを巻き戻し方向に動かすとキュルキュル言いながらその部分が逆再生してるようになる機能です 画面上部が固定されたconstraintlayoutで組まれて(常時見える)、その後はScrollViewでスクロールさせたい。
よろしくです。 >>893
とりあえずボタンを1つ常時表示したかったので最初にLinearLayoutでボタンを定義して次にScrollViewにしてScrollView内はconstraintlayoutで組みました。 クローズドテストでメーリングリストでテスターを管理していますが、Gmailアプリでメーリングリストにメール投稿とか出来るんですか? regacyExternalStorageフラグってどこかのタイミングで無効化されるって聞いたけど、未だになってないような気がするんだけどまだ使ってていいんすか >>897
requestLegacyExternalStorageは、targetSdkVersionが29なら有効 target32に上げてAndroid10の端末で動いているっぽいんだよなあ >>899
アンストールして再インストールするとダメとか アプリ申請して36時間くらい経ったのにまだ公開されない
何やってるん 公開が早いアプリと遅いアプリの違いって何ですか
何をしたら遅かったのが早くなるんですか 初回じゃない
アプリによって違う
早いときもある
いらつくわー まだ公開されねえぞもう60時間以上待ってるんだけど早くしてくんない やっと公開されたわ
iPhoneの方がましな環境になってきてるなあ >>910
FXySさんって書き込み見てると暇な人そうなんだけど、
公開に時間が掛かると何かマズイことがあるの?
何かユーザーに大迷惑をかけているようなバグの修正とか? 趣味アプリに新機能追加したから早くユーザーの反応見たかっただけよ 50時間待ってもアプリ更新されねえぞ
土日とか関係ねーじゃねーか 平日なら2時間から5時間位で公開されるな。
最近は寝る前に挙げといて、朝には審査終わってるからひょいっと公開するけど。 特定のアプリだけ遅い
何が原因で遅くなった
どうしたら早くなるのか 自分も2日たっても更新されない
今回は機能追加だからいいけど不具合修正だったらちょっと辛いな 2時間くらいで公開された
遅い時はなんかあったのかな? 更新遅すぎて製品版、クローズドベータ、内部テストの全部審査待ち行列だけどなんなん >>923
クローズドベータ と 内部テスト の両方やってるの?
必要?? 俺も今、クローズドテストを更新したわ。
審査が終わるのが楽しみ。 >>925
驚きだわ。
今確認したら公開準備完了になっとる?
最速だわ。
週末も仕事してるのか?
若しくはAI判定なのか?
前回のアップデートが8/25で結構空いてるかな? 製品版審査待ち中にバグが見つかったんで
その修正版を公開したいが製品版に上書くとまた時間掛かるんで
クローズドベータに上げて審査待ちしている間に
微修正したいことがみつかったんで上書きしたいが
上書くとまた審査に時間掛かるんで内部テストに上げて
審査が通る度に昇格して更新していこうとしてるけど
何一つ審査が進まない状況 審査部に複数ベータテストが見破られているんじゃない? 製品以外に同じパッケージネームがいくつか審査しているとそう思わないかなと。 審査の遅さを嘆くよりもっと落ち着いて修正するほうが良さそうに思うけど… android studioの場合だけどandroidTestとtestのフォルダを使ってテストしている方いますか? すみませんプログラミング初心者です
pythonとanacondaとjupyterをpcに入れてブラウザのjupyterを立ち上げたのですがgit cloneコマンドが使えません
gitコマンドが無いと言われるのですがどうすればいいのでしょうか >>935
ありがとうございます
色々サイト調べて今再インストールしている途中なので終わったら試してみます すみません自己解決しましたconda install gitを先にやってないとダメみたいでしたお恥ずかしい 70時間待たされて公開された後の
更新が2時間で公開された
どういう基準で公開してんだよ >>938
ここ2週間は30分から2時間くらいだな。
更新の内容を詳しく書くようにしたからかな?
些細な更新と思われているかな? >>938
新規登録は時間がかかるよ
特に権限が増えるたびに時間も増える
既存の更新(権限変わらず)だと下手すりゃ数分で終わる Slackで俺がリアクションした後
同じ絵文字でリアクションせずに、
必ず俺が送った絵文字とは別の絵文字で送る奴なんなん
いらつくわー 非推奨になったというActivityResultの替えで次のようにしろと各解説サイトにあるんですが
ActivityResultLauncher<Intent> mGetContent = registerForActivityResult(new ActivityResultContracts.GetContent(),
new ActivityResultCallback<ActivityResult>() {
@Override
public void onActivityResult(ActivityResult result) {
// Handle the returned
}
});
この registerForActivityResult の部分が赤線になってどうにもうまくいきません。
使用言語はjavaです。javaの解説でもこうなってます。
このregisterForActivityResultはjavaでは使えないんでしょうか?Kotlinでなければ。 すいません質問の本スレはここでなかったですか
向こうに移動します。 admobって、急激に収益が落ちると、クリック単価上げて補正入らない?
逆に急激に増えると単価下がる気がする アプリにビジュアルプログラミング的な機能を実装したいのですが、そんなライブラリーありますか? インストール数が倍になるとeCPMが半分になるという・・・ ボタンを押したらSpinnerが開くようなことは出来ますか?
Spinnerをタップすれば良いのですが、操作順番を教える感じで次はSpinnerを操作することがわかるということです。 >>948
Spinner.performClick() class MainActivity内にclass Aを定義して、その中で内部ストレージからファイルを読み込む部分で以下のコードがありました。
FileInputStream fis = openFileInput(fname);
class Aが肥大化したため別ファイルにしようとa.javaにpublic class A extends MainActivityで中身をごっそり持っていきましたが、openFileInput(fname)で例外が発生します。
例外は java.lang.NullPointerException: Attempt to invoke virtual method 'java.io.FileInputStream android.content.Context.openFileInput(java.lang.String)' on a null object referenceです。
fnameには内部ストレージに存在するファイル名となっています。
class MainActivity内に定義していた時は例外もなく動作していました。
どうやったら良いのでしょうか? >>951
classをnewする時にcontextを渡して、context.openで出来ました。 Layoutで質問です。
全体にLinearLayoutを設定して、その中に上側はLinearLayoutと下側はScrollViewを入れ子にします。
それぞれにConstraintlayoutを設定します。
ScrollView側のConstraintlayoutにSpinnerを貼って、実行します。
Spinnerがスクロールで上側に隠れるときSpinnerの三角マークだけが隠れずに上側のLinearLayoutに透かした(亡霊)ように表示されるのですが、バグでしょうか?
三角マークはタッチしても反応ないので実害は無いのですが気持ち悪いです。 >>953
おまかんの様でした。
自分のスマホのGalaxy A51だとそうなるが、他の端末はちゃんと消えてた。orz EditText.setOnClickListener(v -> {}))したらテンキー機能のアクティビティを.launch(intent)してますが、最初のクリックでOSキーボードが開いて、もう一度クリックするとアクティビティが起動します。
最初のクリックでOSキーボードが開く前に起動するにはどうしたら良いですか? >>956
解決しました。
.setOnTouchListenerでevent.getAction() == MotionEvent.ACTION_DOWNでintentしました。 API26以上の条件でバイブレータを使うのですが、else節で
警告:[deprecation] ContextのVIBRATOR_SERVICEは推奨されません
Vibrator vib = (Vibrator)getSystemService(Context.VIBRATOR_SERVICE);
となります。どう書くべきなんでしょう?
if (Build.VERSION.SDK_INT >= 31) {
VibratorManager vib = (VibratorManager)getSystemService(VIBRATOR_MANAGER_SERVICE);
VibrationEffect vibrationEffect = VibrationEffect.createOneShot(time, DEFAULT_AMPLITUDE);
CombinedVibration combinedVibration = CombinedVibration.createParallel(vibrationEffect);
vib.vibrate(combinedVibration);
} else {
Vibrator vib = (Vibrator)getSystemService(Context.VIBRATOR_SERVICE);
VibrationEffect vibrationEffect = VibrationEffect.createOneShot(time, DEFAULT_AMPLITUDE);
vib.vibrate(vibrationEffect);
} >>958
一応、android12(API31)と11の端末でthen節とelse節が実行されるのは確認できましたが、ググるとelse節のコードがIDEのワーニングになるので関数に分けて、その関数にTargeApiアノテーション付ける方法がありました。まだ試していませんが。
折角条件分岐して対応したのにIDEに文句言われるのは残念です。 >>958
elseを使わずに
if (Build.VERSION.SDK_INT >= 31) {
・・・
}
if (Build.VERSION.SDK_INT <= 30) {
・・・
}
としたら? >>958
@Suppress("DEPRECATION")付けるとかは? >>961
>>962
ありがとうございました。
それぞれ試させて頂き、下記でlintのワーニングを抑えました。
@SuppressWarnings("deprecation") DatePickerDialogで取得したdate型データを、呼び出し元のfragmentへ送りたいと思っています
bundleでDate型は扱うことはできないのでしょうか? >>964
putSerializable使えばよいのでは applicationのシングルトン作って送る手もある 今日google playの内部テストにアップロードしたら警告が出ました。
警告
行政アプリに関する申告を完了していません。
どうすれば良いですか? >>965
>>966
ありがとうございます
試してみたのですが技量的にまだまだ未熟だと判断しましたのでStringで扱うことにしました。。 Fragmentでの記述ですが、どこかの記事をコピペして以下のようにやっていましたが
String[] str = new String[]{“test1”, “test2”};
ArrayAdapter<String> adapter = new ArrayAdapter<>(this.getActivity(), R.layout.spinner_item, str);
以下が正解な気がして
ArrayAdapter<String> adapter = new ArrayAdapter<>(getContext(), R.layout.spinner_item, str);
どうでしょうか?
動作自体は変化がありません。 >>972
ありがとうございました。
お互い同じインスタンスでしたので、短い記述で済む後者で使います。 ダークテーマとandroid studioのNavigation Drawer Activityで質問です。
New ProjectでNavigation Drawer Activityを選んで、そのままビルドして、端末で実行、オプションメニューを開くとSettings文字列が白背景に黒文字で表示されます。
ダークテーマにすると黒背景で黒文字で見えません。
ナビゲーションメニューは色反転して黒背景で白文字で見えます。
オプションメニューだけメニュー文字が反転しませんが何をすれば良いですか? AndroidアプリってAndroid/dataのなかにインストールしたアプリのフォルダが作られるもんなんだと思ってたんだけど、作られてない(見えてない?)アプリがちょいちょいある。
この違いって何なんだ? >>975
Context#getFilesDir() を呼ばないと作られない >>976
無知で申し訳ないんだけど、アプリ用のフォルダを作成しない場合、インストールしたアプリはどこにいくんだ?
exe同様どこかしらにapkを展開したファイルが配置されるものだと思ってたんだけど俺の認識が違うのか? たぶん見えてない
作られて見えてるのも実行ファイルを格納してるフォルダじゃなくてアプリから出力したデータをファイルとして保存されたもの >>978
そうなんだ…
アプリ抽出するアプリとかあるくらいだから、てっきり明確に分かってるもんなんだと思ってたわ。
ありがとう 簡単に見られないだけでインストールされる場所は"/app/パッケージ名"とかで明確に決まってるよ
rootとるかadbコマンド叩けば見れるんじゃないかな >>980
そうなのか!
ちょっとコマンド調べてみるわ。ありがとう! ネットの記事で「リリース日が動かせない案件の場合は、クローズドトラックに一度公開して審査をしてもらい(通過しても非公開状態)、リリース日に製品版へプロモートするというフローになります。」とあります。
プロモートとは具体的な作業なのかな? クローズド版から製品版に切り替えること
公開するタイミングを自分で管理するようにもできる。それをやると審査が終わって自分で公開ボタンを押したタイミングで公開される >>983
ありがとうございます。
クローズドテストやってて審査の時間が長いので、ここ最近は内部テストなんですが、クローズドテストで公開されたら製品版に切り替えれば良いのですか?
まだ、製品版の切り替えは経験無いのですが、やり方とかご指導お願いします。 内部テストなら内部テストのところにリリースをプロモートというのがあるからそこから製品版に変えられる
製品版に変えたあと再度審査が入るんだったかは忘れた
公開の概要のところで管理対象の公開オンにしておけば製品版に切りかえたあと再度自分で公開ボタンを押さないと公開されない アプリ開発初心者何ですが、今の実力では自分の作りたいアプリが作れません
コードを調べ書いていってもどこかしらで行き詰って諦めてしまいます
皆さんはどのようにして力をつけていってるのでしょうか?
簡素なアプリをいくつも作っていくうちに分かってくるようになるのでしょうか? >>985
ありがとうございます。
製品版に切り替えた後に機能追加などでクローズドテストして、完成したら製品版に切り替えは出来ますか?
よろしくお願いいたします。 一旦製品版アップしたらバージョンコードを上げて新たに別のをアップし直さないと機能追加はできない >>988
今のバグフィックス時と同じでversionCodeは更新しないと登録出来ないので大丈夫です。
ところでversionNameはデフォルトの"1.0"のままですが、これは製品版では都度更新するのが普通ですよね? そうですね。軽めのバグフィックスならそのままのこともある >>986
そりゃあ分からん事は調べるしかないだろう
ただネット、本、人づて、スクール等方法は様々なので本人の適正と時間と金次第なところはあるけど
何にせよ諦めたらそこで試合終了ですよ、できる事から始めようや GitHub copilotやchatGPTに作りたいものを伝えたらコード作ってくれるんじゃね ボタンを押したらintentの起動元に結果を返しています。
intent.putExtra(~);
setResult(~);
finish();
ところが、ボタンを押さずに終了させてしまうと結果を返せないので
ボタンはfinish();のみとして
onPause()で
intent.putExtra(~);
setResult(~);
にしたら例外になりました。
何故でしょうか? >>994
onBackapressed()にブレークかけて、来た事を確認し、
intent.putExtra(~);
setResult(RESULT_OK, intent);
すると次に
起動元activityのActivityResultLauncherで
result.getResultCode()がRESULT_OKにならないのでデータを受け取れないです。
result.getResultCode()を覗くとdata=nullになっています。 >>995
覗いたところです。
onBackapressed()でsetResult(RESULT_OK, intent)すると
ActivityResult{resultCode=RESULT_CANCELED, data=null}となります。
onCreate()内で
button.setOnClickListener(v -> {~});でsetResult(RESULT_OK, intent)すると
ActivityResult{resultCode=RESULT_OK, data=Intent { cmp=com.***.***/.MainActivityTenkey (has extras) }}です。
***は伏せてます。 super.onBackPressedを先にやっちゃてるとか >>997
ありがとうございました。
それでした。
onPause()の時に前後どちらも駄目だったので試していませんでした。 またまた質問です。
内部テストで何時も「難読化コード(R8 / ProGuard)」の警告が出ますが、どんな設定してますか?
app/build.gradleに
android {
buildTypes {
release {
minifyEnabled true
proguardFiles getDefaultProguardFile(‘proguard-android.txt’)
}
}
がググると出てきますが、これでOKですか?
どうやって確認するんでしょう? javaで教えて
switch~caseでEditTextのIDをcase R.id.hoge:で組んでいて、ビルドすると非推奨でGradle8.0との互換性はないとの警告が出ます。
これはあかんやり方ですか? このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 2362日 8時間 40分 28秒 5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。
───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────
会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。
▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/
▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php レス数が1000を超えています。これ以上書き込みはできません。