Проблема - когда я пытаюсь прочитать файл LoginCredentials.txt, он по какой-то причине оказывается пустым. Другие действия могут прочитать его, но не MainActivity.Это может быть из-за кода CheckFirstTimeRun, который я использую в onCreate of MainActivity, но я не уверен.
Это класс CreateUserID.class, из которого я создаю файл,
public class CreateUserID extends AppCompatActivity {
private EditText usernameField;
private EditText passwordField;
public String userid;
public String userpass;
private final String File_Name = "LoginCredentials.txt";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_create_user_id);
usernameField = (EditText)findViewById(R.id.Username);
passwordField = (EditText)findViewById(R.id.Password);
}
public void MakeAccount(View v) throws IOException {
userid = usernameField.getText().toString();
userpass = passwordField.getText().toString();
String x=null;
x=userid+userpass;
FileOutputStream fos = null;
try {
fos = openFileOutput(File_Name,MODE_PRIVATE);
fos.write(x.getBytes());
} catch(FileNotFoundException e) {
e.printStackTrace();
} catch(Exception e) {
e.printStackTrace();
}
finish();
}
}
А вот класс MainActivity.class, который должен читать файл.
public class MainActivity extends AppCompatActivity {
protected EditText Authentication_Username;
protected EditText Authentication_Password;
protected String File_Name = "LoginCredentials.txt";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
SharedPreferences wmbPreference = PreferenceManager
.getDefaultSharedPreferences(this);
boolean isFirstRun = wmbPreference.getBoolean("FIRSTRUN", true);
if (isFirstRun)
{
Intent k = new Intent(this,CreateUserID.class);
startActivity(k);
SharedPreferences.Editor editor = wmbPreference.edit();
editor.putBoolean("FIRSTRUN", false);
editor.commit();
}
}
public void Verify_User(View v) {
Authentication_Username=(EditText)findViewById(R.id.Username);
Authentication_Password=(EditText)findViewById(R.id.Password);
String Match_Username = Authentication_Username.getText().toString();
String Match_Password = Authentication_Password.getText().toString();
String Collected = null;
FileInputStream fis;
try {
fis = new FileInputStream(File_Name);
byte[] a = new byte[fis.available()];
while(fis.read(a)!=-1) {
Collected = new String(a);
}
} catch(Exception e) {
e.printStackTrace();
}
Toast.makeText(MainActivity.this,Collected,Toast.LENGTH_LONG).show();
}
}