問題タブ [android-assets]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
3 に答える
8894 参照

android - Android で openRawResourceFd が失敗する

res/raw初めての Android アプリケーションを作成していて、リソース ファイルを読み込もうとしています。

次のコードthrowsFileNotFound例外です。

しかし、このコード行は機能します:

AssetFileDescriptorファイルの長さを決定するために必要です。それが機能しない理由はありますか?

0 投票する
3 に答える
8103 参照

android - Assets から Android にプリロードされた SQLite データベースを使用する方法

アプリで使用したいpreloaded databaseのは、apk のインストール時にデータベースを取得しようとすることで、既に保存されているデータを使用できます。assets フォルダにある「ingredients.db」 ファイルをコピーします。次のコードを使用しますが、 「リソース ファイルからデータベースをコピーする際に問題が発生しました」というエラーが表示されます。

どうすればこの問題を解決できますか? 可能な方法を教えてください

私のデータベースヘルパークラスはそのようなものです

0 投票する
3 に答える
8973 参照

java - ファイルをアセットフォルダーにコピーします

1時間検索した後、問題の解決策が見つかりませんでした。

ファイルをsdcardからassetsフォルダーに移動し、assetsフォルダー内の既存のファイルを上書きしたい(両方のファイルはsqliteデータベースであり、データが少し異なるだけで同じ名前です)

??

0 投票する
1 に答える
753 参照

android - ボタンのクリックで埋め込まれたsqlite macアドレスデータベースアンドロイドを更新する

アプリケーションに MAC アドレスの埋め込みデータベース ファイル (assets ディレクトリにある Macs.db) があります。データベースは、テーブルが 1 つだけの非常に単純な sqlite データベースです。mactoname という名前のテーブルには、1. macaddress、2.name の 2 つの列があります。この埋め込みデータベース ファイルには、事前に読み込まれた MAC アドレスと名前がいくつかあります。ある場所の MAC アドレスを検出するための wifi アナライザー ツールがあります。このアナライザーのコードを以下に示します (marakana.com から)。

今、MACアドレスを検出したので、検出されたMACアドレスをMacs.dbファイルに入れてMacs.dbを更新したいと思います。更新は、次のボタンをクリックして行う必要があります。

MAC アドレスが既に存在する場合は、Macs.db に再度追加されることはありません。macaddress coulmn で検出された新しい MAC アドレスとともに、edittext ビューでユーザーが入力した名前は、Macs.db の mactoname テーブルの名前列でも更新されます。SQLiteOpenHelper クラスの実装があります。新しい MAC アドレスと名前でデータベースを更新するために、このヘルパー クラス内と updatemacdb ボタンの OnClickListener 内で必要なコードは何ですか?

私の SQLiteOpenHelper クラスを以下に示します。このクラスでどのメソッドを変更する必要がありますか?

0 投票する
1 に答える
2092 参照

android - アセットフォルダー内に保存されているデータベースファイルのテーブルを参照する (android)

SQL は初めてです。Sqliteman ブラウザーを使用して作成した mac アドレスのデータベースがあります。これは、「access_points」という名前のテーブルが 1 つだけある単純なデータベースです。macad.db という名前のデータベースは私の資産フォルダーにあります。edittextview からテーブル access_points に新しい MAC アドレスを挿入するアプリケーションがあります。私のDBアダプタには次の初期化があります:

私のテーブル(access_points)の初期化の値はどうあるべきですか。疑問符をあなたの答えに置き換えてください。

さらに、DB アダプターの insertmac メソッドを以下に示します。assets フォルダーに保存されている macad.db のテーブル「access_points」を参照するにはどうすればよいですか? 以下に示す db.insert() ステートメントの疑問符を回答に置き換えてください。

また、mac-address が access_points テーブルに既に存在する場合、テーブルに再度配置されないようにする方法はありますか?? 解決策を事前に感謝します。私の DBAdapter クラスは次のとおりです。

私のアクティビティでは、更新ボタンを押すと、edittextview に入力された MAC アドレスが macad.db に入れられます。このコードは次のとおりです。

0 投票する
4 に答える
162699 参照

android - AssetsフォルダのファイルへのAndroidパス文字列を取得するには?

文字列パスを受け取る必要があるマップ API を使用しており、マップを assets フォルダーに保存する必要があるため、assets フォルダーにあるファイルへの文字列パスを知る必要があります。

これは私が試しているコードです:

"file:///android_asset/m1.map"マップが読み込まれていないため、何か問題が発生しています。

私の資産フォルダーに保存されているファイルm1.mapへの正しい文字列パス ファイルはどれですか?

ありがとう

Dimitru の編集: このコードは機能しません。IOException で失敗しますis.read(buffer);

0 投票する
2 に答える
2814 参照

android - アプリケーションのアセットフォルダからプログラムでデータベースファイルをコピーします

私はこの問題についてたくさん検索しました。私の電話は根付いていません。アプリケーションのアセットフォルダーからAndroidデバイスの/system/usrにデータベースファイルをプログラムでコピーしたいと思います。そこからデータベースファイルにアクセスして、アプリのユーザーがデータベースをアップグレードできるかどうかを確認できるようにします。次のコードで「outFileName」と「outputStream」を変更する必要があることはわかっていますが、次のコードで/ sytem/usrの出力パスを指定する方法が正確にわかりません。

提案をありがとう。

0 投票する
1 に答える
408 参照

android - ファイル作成アセットandroid

私はそれがすることはrootフォルダをスキャンすることであるアプリを構築しています

資産

次に、内部にフォルダがあるかどうかを検索します...これの目的は、すべてのテキストファイルルートをデータベースに保存することです。データベースには、テキストファイル名とルートが含まれます。

これはコードの一部です:

しかし、通常のJavaでは、ルートを使用してファイルを作成し、それを次のようなメソッドに送信します。seedData(1, new File("/root"));つまり、私の質問は、Androidでこれを行うにはどうすればよいですか。または、より正確に言うと、コードによって「スキャン」されるようにroot、にあるフォルダーを指すファイルを作成するにはどうすればよいですか。assets私はすでに試しseedData(1, new File("/assets/root")); ましたが、うまくいきませんでした。どんな助けでも大歓迎です。

注:いいえ、これらすべてのサブフォルダーに3kを超えるテキストファイルがあるため、パスを手動で保存することはできません。

0 投票する
0 に答える
491 参照

android - コンテンツ プロバイダーは、すべてのデバイスで完全に機能するわけではありません

以下を実装しましたが、HTC Desire (Android 2.2) で簡単に動作します。

私のコンテンツ プロバイダーでは、openFile メソッドを実装しました。

問題は、メソッドopenFile() がSamsung Galaxy S II (Android 2.3.5)、HCT Wildfire (2.2.1)、および HTC Sensation (Android 2.3.4) で呼び出されないことです。ただし、メソッド onCreate() はすべてのデバイスで呼び出されます。

誰でも助けてください。

0 投票する
6 に答える
22395 参照

android - アセットフォルダから通知音を設定する

通知でサウンドを再生するためにアセットフォルダーにサウンドファイルを添付していますが、アセットフォルダーからサウンドを再生できません。

通知の音を設定したり、音を鳴らしたりできる設定ページがあります。この部分は完了です。メディアプレーヤーを使用してアセットフォルダからサウンドを再生できます。通知の作成時に同じロジックを使用できますが、メディアプレーヤーがまだサウンドを再生しているため、ユーザーが通知をクリックすると問題が発生する可能性があります。

私は試した

このようにも試してみました

しかし、私の問題はまだ解決されていません。

アセットディレクトリからの通知にサウンドを設定する他の方法はありますか?

Logcat

または他のアイデア?ヒントを教えてください。