Всем привет.
Появился вопрос. Как можно сделать так, чтобы при установке приложение автоматически создавало определенный файл в определенной папке? К примеру, sample.txt в папке Android?
Заранее спасибо! И извиняюсь за, возможно, глупые вопросы.
MainActivity:
import android.content.Intent;
import android.content.SharedPreferences;
import android.graphics.Typeface;
import android.os.Bundle;
import android.preference.PreferenceManager;
import android.support.v7.app.ActionBarActivity;
import android.text.method.LinkMovementMethod;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;
import com.google.android.gms.ads.AdRequest;
import com.google.android.gms.ads.AdView;
import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
public class MainActivity extends ActionBarActivity {
private final static String FILENAME = "sample.txt"; // имя файла
private EditText mEditText;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mEditText = (EditText) findViewById(R.id.editText);
AdView mAdView = (AdView) findViewById(R.id.adView);
AdRequest adRequest = new AdRequest.Builder().build();
mAdView.loadAd(adRequest);
TextView t2 = (TextView) findViewById(R.id.textView8);
t2.setMovementMethod(LinkMovementMethod.getInstance());
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.menu_main, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.action_save:
saveFile(FILENAME);
return true;
default:
return true;
case R.id.action_settings:
Intent intent = new Intent();
intent.setClass(this, SettingsActivity.class);
startActivity(intent);
return true;
case R.id.plus:
intent = new Intent();
intent.setClass(this, PlusActivity.class);
startActivity(intent);
return true;
}
}
@Override
public void onResume() {
super.onResume();
SharedPreferences prefs = PreferenceManager
.getDefaultSharedPreferences(this);
// читаем установленное значение из CheckBoxPreference
if (prefs.getBoolean(getString(R.string.pref_openmode), false)) {
openFile(FILENAME);
// читаем стили текста из ListPreference
String regular = prefs.getString(getString(R.string.pref_style), "");
int typeface = Typeface.NORMAL;
if (regular.contains("Bold"))
typeface += Typeface.BOLD;
if (regular.contains("Italic"))
typeface += Typeface.ITALIC;
// меняем настройки в EditText
mEditText.setTypeface(null, typeface);
}
}
// Метод для открытия файла
private void openFile(String fileName) {
try {
InputStream inputStream = openFileInput(fileName);
if (inputStream != null) {
InputStreamReader isr = new InputStreamReader(inputStream);
BufferedReader reader = new BufferedReader(isr);
String line;
StringBuilder builder = new StringBuilder();
while ((line = reader.readLine()) != null) {
builder.append(line + "\n");
}
inputStream.close();
mEditText.setText(builder.toString());
}
} catch (Throwable t) {
Toast.makeText(getApplicationContext(),
"Exception: " + t.toString(), Toast.LENGTH_LONG).show();
}
}
// Метод для сохранения файла
private void saveFile(String fileName) {
try {
OutputStream outputStream = openFileOutput(fileName, 0);
OutputStreamWriter osw = new OutputStreamWriter(outputStream);
osw.write(mEditText.getText().toString());
osw.close();
} catch (Throwable t) {
Toast.makeText(getApplicationContext(),
"Exception: " + t.toString(), Toast.LENGTH_LONG).show();
}
}
}