Android開発質問スレ [無断転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
!extend:checked:vvvvv:1000:512 ↑スレ立て時は1行目と2行目に「!extend:checked:vvvvv:1000:512」をコピペして立てて下さい 荒らし対策のために強制コテハン表示&コピペミス防止 http://info.2ch.net/index.php/BBS_SLIP Androidの開発全般に関する質問を扱います。 以下のスレが荒しによって機能していないのでワッチョイつけたスレ立ててみます。 上手くいきますように Androidプログラミング質問スレ revision51 [無断転載禁止]©2ch.net http://echo.2ch.net/test/read.cgi/tech/1457303564/ VIPQ2_EXTDAT: checked:vvvvv:1000:512:----: EXT was configured コマンドプロンプトで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で注入しなくていいんでしょうか ■ このスレッドは過去ログ倉庫に格納されています
read.cgi ver 07.5.5 2024/06/08 Walang Kapalit ★ | Donguri System Team 5ちゃんねる