Androidストレージにファイルを書き込む際に問題が発生しました。 /ストレージ//0 /アンドロイド/ fileSD(パーミッション拒否)アンドロイドのファイルにパスワードを保存するには?
はい、私は追加している用途をエミュレート:私は多くの例を使用し、最も厄介な問題が
java.io.FileNotFoundExceptionがあります-permission私のマニフェスト
にこれが私の活動です:
public class MainActivity extends Activity { // init variables EditText pass; Button login; String password; // final String DIR_SD = "/Android"; // final String FILENAME_SD = "fileSD"; // final String LOG_TAG = "myLogs"; //init onCreate method that provide our logic when activity start open @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // if(mFileName.()){ // // } pass = (EditText) findViewById(R.id.pass); login = (Button) findViewById(R.id.button); login.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { password = pass.getText().toString().trim(); if (TextUtils.isEmpty(password)) { pass.setError("password mustnot be empty"); pass.focusSearch(View.FOCUS_DOWN); } else if (password.length() >= 6 && password.length() <= 24) { Toast.makeText(getApplicationContext(), "validation sucess", Toast.LENGTH_LONG).show(); Intent intent = new Intent(MainActivity.this, new_activity.class); startActivity(intent); } else { pass.setError("password length must be match:5=<password>=10"); pass.focusSearch(View.FOCUS_DOWN); } } }); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.main_menu, menu); return true; } @Override public boolean onOptionsItemSelected(MenuItem item) { // Handle action bar item clicks here. The action bar will // automatically handle clicks on the Home/Up button, so long // as you specify a parent activity in AndroidManifest.xml. int id = item.getItemId(); //noinspection SimplifiableIfStatement if (id == R.id.action_settings) { return true; } return super.onOptionsItemSelected(item); } }
初めてのユーザオープンアプリならば、彼はパスワードを入力し、それをファイルに書き込む必要があります。ファイルが存在する場合は、それを読み取って、ユーザーが入力するパスと比較して、新しいアクティビティを開始する場合はそれを、そうでない場合はパスが間違っているというメッセージを表示する必要があります。
、私は数日のためにそれを行う試してみて、私は何をすべき
あなたのファイルコードはどこですか? –
上記のコードでファイルを読み取ろうとしていません –
1)Android API 23+では実行時のアクセス許可を要求する必要があります。2)SharedPrefencesを使用しないでください。 –