2017-07-13 9 views
0

まず、Androidアプリケーションにプライベート設定を保存する方法についてアドバイスが必要です。この設定には、アプリケーションがREST APIにログインするために必要なserver/login/password/clientIdが含まれます。設定は将来変更される可能性があるので、すべてのデバイスで「easly」アップデートできるソリューションが必要です。アプリは+700のクライアント電話で使用されます。携帯電話にはSDカードがありません。アンドロイドアプリケーションの設定ファイル

私の考えは、この設定をハッシュテキストファイルに保存することです。クライアントに用意された設定ファイルを送信して、クライアントがUSB経由でデバイスメモリにコピーすることができます。 - アラーム、DCIMなどがあるメインストレージの新しいフォルダ。

これは良い解決策ですか?

例方法ストレージをチェックするために - 私のテスト携帯電話でfalseを返すの両方:

public boolean isExternalStorageWritable() { 
     String state = Environment.getExternalStorageState(); 
     if (Environment.MEDIA_MOUNTED.equals(state)) { 
     return true; 
     } 
     return false; 
    } 

    public boolean isExternalStorageReadable() { 
     String state = Environment.getExternalStorageState(); 
     if (Environment.MEDIA_MOUNTED.equals(state) || Environment.MEDIA_MOUNTED_READ_ONLY.equals(state)) { 
     return true; 
     } 
     return false; 
    } 

アンドロイド外部メモリ(ないSDカード)にファイルを保存する方法は?ここ

+0

なぜこれを行うには中央サーバを使用せず、ユーザが初めてログインして設定をローカルに保存するのかをサーバに要求します。そのように設定を変更する必要がある場合は、サーバー上で変更するだけで、700以上のデバイスに設定ファイルを送信するのではなく、すべてのデバイスで更新されます – sumit

答えて

0

グレートDOC: https://developer.android.com/training/basics/data-storage/files.html

外部記憶装置は、Android用のSDカードを意味しないことを理解して、それをお読みください。 SDカードがなくても携帯電話は、外部記憶装置に

を持っていますあなたのマニフェストにこの権限を必要とする:

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

(私のために読み取り権限が同様に動作します...)

その後あなたが許可

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { 
     if (PackageManager.PERMISSION_GRANTED != this.checkSelfPermission(Manifest.permission.WRITE_EXTERNAL_STORAGE)) { 
      requestPermissions(new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE}, READ_EXTERNAL_STORAGE_RIGHT_REQUEST_CODE); 
     } 
    } 

を依頼する必要があり、新しいAndroidのバージョンについては、その後、私はいくつかのファイルを保存するために自分のアプリケーションディレクトリを取得するためにgetExternalFilesDirを使用しています。 https://developer.android.com/reference/android/content/Context.html#getExternalFilesDir(java.lang.String)

しかし、あなたは取り外し可能ストレージをしたくないので、あなたはgetFilesDirのHTTPSで方が良いことがあります。//developer.android.com/reference/android/content/Context.html#getFilesDir()

PS :私はちょうどあなたがあなたのアプリケーションディレクトリにアクセスするためにあなたがKitKatからのアクセス許可を必要としないことを医者が言うことに気づいた。後でそれを見てみることができます...

関連する問題