2016-12-01 6 views
1

私はいくつかのクラスを使用しています。これは、コンストラクタにはいくつかのファイルを含むファイルパスが必要です。APKでアセットファイルパスを取得

EX)

Komoran komoran = new Komoran("D:\program_project\lib"); 

今、私はAndroidアプリを作ってるんです。私は絶対パスを使用することができません(私のアプリをダウンロードする他の人はそのフォルダとファイルを持っていないので)

私は、おそらくAPKファイルにある 'assets'フォルダを使用することにしました。最終的なコードは以下のようになります。

Komoran komoran = new Komoran("file:///android_asset"); 

しかし、フォルダパスが間違っているようです(このクラスは動作しません)。私が間違ったことは?

+1

の可能性のある重複した[ファイル:///アンドロイド用の\ _assetが動作しません](http://stackoverflow.com/questions/23954878/file-android-asset-does-not-仕事) –

+0

多くのチュートリアルがassestの例からデータを読むためにここにありますhttp://stackoverflow.com/questions/9544737/read-file-from-assets – Swapnil

+0

ありがとう。わかりました。私はこれらの2つのリンクを読む。 getAssets.open( "filename")はうまくいくようです。しかし、私は必要なのはフォルダパスです。私は道を捜すことができない。助けて。 – user2985799

答えて

2

多分あなたはこのコードを追加できます: context.getResources()。getAssets()。open( "fileName")。 uは入力ストリームを取得し、uは必要な処理を実行できます。

3

この"file:///android_asset"パスは、webview exを使用するアプリケーションに使用されます。コードバ/電話隙間Apkの作成時には、このパスを使用してアセットフォルダにアクセスすることができないため、リソースの一部です。このコードはcontext.getResources().getAssets().open("fileName")で作業する必要があります。

0

getResourcesを使用する必要はありません。 あなたが使用することができます直接

context.getAssets().open("fileName"). 
関連する問題