gpt4 book ai didi

java - 如何在android上进行内部存储和拉取?

转载 作者:行者123 更新时间:2023-12-01 05:24:58 25 4
gpt4 key购买 nike

我在尝试在 Android 设备内部存储用户名字符串时遇到问题。我编写的代码是为了存储用户名并将其读入字符串中,然后在 toast 文本框中显示该字符串。我在创建bold_username.txt 文件时遇到错误。这是到目前为止我的代码:

package hello.tab.widget;



import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;

import android.app.Activity;
import android.content.Context;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.EditText;
import android.widget.Toast;

public class DisclaimerActivity extends Activity
{

public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.disclaimer);

final EditText et = (EditText)findViewById(R.id.et_username);
et.setOnClickListener(new View.OnClickListener() {



@Override
public void onClick(View v) {
et.setText("");

}
});

final Button button = (Button) findViewById(R.id.btn_accept);
button.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
final CheckBox checkBox = (CheckBox)findViewById(R.id.cb_disclaimer);

if (checkBox.isChecked()) {

String username = et.getText().toString();

String FILENAME = "bold_username.txt";
try {
FileOutputStream fos = new FileOutputStream(new File("bold_username.txt"));
fos = openFileOutput(FILENAME, Context.MODE_PRIVATE);
fos.write(username.getBytes());
fos.close();
InputStream inputStream = new FileInputStream("bold_username.txt");
BufferedReader r = new BufferedReader(new InputStreamReader(inputStream));
StringBuilder total = new StringBuilder();
String line;
while ((line = r.readLine()) != null) {
total.append(line);
Toast.makeText(DisclaimerActivity.this, line,
Toast.LENGTH_SHORT).show();
}

}


catch (IOException e){
e.printStackTrace();
}

}
else {
Toast.makeText(DisclaimerActivity.this, "Please Check the
Checkbox", Toast.LENGTH_SHORT).show();
}
}
});
}


public void onCheckboxClicked(View v) {
}
}

最佳答案

试试这个

//Write the data
FileOutputStream fos = openFileOutput(FILENAME, Context.MODE_PRIVATE);
OutputStreamWriter out = new OutputStreamWriter(fos);
out.write(username);
out.flush();
out.close();

Read the data
FileInputStream fis = openFileInput(FILENAME);
InputStreamReader in = new InputStreamReader(fis);
BufferedReader r = new BufferedReader(in);
StringBuilder total = new StringBuilder();
String line;

while ((line = r.readLine()) != null) {
Log.i("TEMP", line);
total.append(line);
}
Toast.makeText(MainActivity.this, total.toString(),
Toast.LENGTH_SHORT).show();

关于java - 如何在android上进行内部存储和拉取?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9815221/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com