私はスワイプの目的のためにいくつかの断片を含むアプリケーションを持っています。そしてフラグメントの1つで、ユーザーは名前を入力することができ、入力後、アプリケーションはFileOutputStreamでデータを保存します。Androidスタジオ - アプリを初めて起動したときにデータをアプリに読み込む方法
次に、ユーザーがアプリを起動するたびに、FileInputStreamを使用してデータを取得し、データを表示したいと考えています。
問題は、私はパブリックビューonCreateView(にコードを実装した後、それを実行しようとする私のアプリのクラッシュ毎回ので、私は、)私は、パブリックビューonCreateView(へのFileInputStreamを実現するために間違っていると思う、である)、エラーは、ありませんイベントログには何も表示されず、クラッシュするだけです。以下は、Javaの
package layout;
import ...;
public class page1 extends Fragment{
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
final EditText text = (EditText) getView().findViewById(R.id.p1Name);
try {
FileInputStream fileinputStream = getActivity().openFileInput("page1name.txt");
InputStreamReader inputstreamReader = new InputStreamReader(fileinputStream);
BufferedReader bufferedReader = new BufferedReader(inputstreamReader);
StringBuffer stringBuffer = new StringBuffer();
String lines;
while ((lines = bufferedReader.readLine())!= null){
stringBuffer.append(lines+"\n");
}
text.setText(stringBuffer.toString());
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return inflater.inflate(R.layout.page1, container,
false);
}
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
final EditText text = (EditText) getView().findViewById(R.id.p1Name);
text.addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
}
@Override
public void afterTextChanged(Editable s) {
String p1sName = s.toString();
try {
FileOutputStream fileoutputStream = getActivity().openFileOutput("page1name.txt", Context.MODE_PRIVATE);
fileoutputStream.write(p1sName.getBytes());
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
});
}
}
、私の断片である、したがって、私はどこで働いてそれを得るために、FileInputStreamのを実装する必要があり、知っていただきたいと思いますか?ありがとう!代わりのFileInputStreamを使用しての、あなたはFileInputStreamをを使用してファイルに保存したい場合は、AsyncTaskを使用する必要が
public static void saveName(Context context, String name) {
SecureSharedPreferences sharedPreferences = new SecureSharedPreferences(context);
SecureSharedPreferences.Editor ed = sharedPreferences.edit();
ed.putString("name", name);
ed.commit();
}
public static String getName(Context context) {
SecureSharedPreferences sharedPreferences = new SecureSharedPreferences(context);
String name = sharedPreferences.getString("name", null);
return name;
}
のように好み
をして
返信ありがとうございます!できるだけ早くそれを試してみよう! –