2017-03-08 4 views
-1

私は子監視アプリケーションに取り組んでいますが、私は外部記憶装置内のファイルにフェッチされたコールログを直接保存/書き込む方法については知らないですアンドロイドで直接ファイルに保存していますか?

+0

は、これは非常に広範な問題です。より具体的にしてください。 –

+0

あなたはどうやってアンドロイドのファイルに直接データを保存することができますか? –

+0

"どこから見始めたらいいか"ではなく "問題に直面している"ここでは、質問のためのガイド:https://stackoverflow.com/help/how-to-ask –

答えて

-1

あなたの質問によくコメントされています質問それはあなたの質問のための明快さを与えるだろうと

はそれが役に立てば幸い、詳細なコードと同様にあなたの答えを得るyo'llこのGoogleの開発者リンクで

https://developer.android.com/training/basics/data-storage/files.html

を見てみましょう:)

0

アンドロイドのセキュリティ問題を避けるには、ファイルURIを使用する必要があります。あなたが(彼らに付与権限)他のアプリケーションでこのファイルを操作することができます。この方法で、すべての

まず、あなたのAndroidマニフェストにこれを置く:

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> 
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/ 

その後、あなたの中のファイル・プロバイダーを定義する必要がありますアプリケーションタグ:

<provider 
      android:name="android.support.v4.content.FileProvider" 
      android:authorities="com.yourpackagename.yourapp" 
      android:exported="false" 
      android:grantUriPermissions="true"> 
      <meta-data 
       android:name="android.support.FILE_PROVIDER_PATHS" 
       android:resource="@xml/file_paths"/> 
     </provider> 

FILE_PATHリソースは次のようになります必要があります。

<?xml version="1.0" encoding="utf-8"?> 
<paths> 
    <external-path 
     name="YourAppCacheStorage" 
     path="YourAppCacheStorage"/> 
</paths> 

その後、いつでもファイルURIを取得することができます。

public Uri getUriForFile(File file, Context context) { 
       final Uri uriForFile = FileProvider.getUriForFile(context, 
          context.getString(R.string.file_provider_authority), 
          file); 
       return uriForFile; 
} 

このURIは、ファイルに入力\出力ストリームを開くために使用することができます。

InputStream inputStream = this.context.getContentResolver().openInputStream(uri); 

あなたはそこに多くの情報を得ることができます:https://developer.android.com/reference/android/support/v4/content/FileProvider.html

関連する問題