Android 将数据写入文档[以登陆页面为例]

目录

1. 涉及的步骤:

2. 要点(注意点):

3. 知识点:

4. Activity和源代码

5. 最后点个在再走呗!


1. 涉及的步骤:

  1. 获取输入框中的文本信息前,需要检查输入框是否为空。
  2. 获取Android系统默认存储位置并在该文件夹下设置info.txt文件。
  3. 写入数据。

2. 要点(注意点):

  1. 判断文件夹是否成功创建的语句,要放在写入操作后面,不是写在File info = new File(FileName);的后面。
  2. File info = new File(FileName);                  表示定义一个叫info.txt的文件变量,并未创建文件
  3. 需要在AndroidManifest.xml中给写入的权限,第二条是挂载权限,第二条可以不写。
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

3. 知识点:

  1. 定义控件,并通过id关联到布局文件中的控件
    private EditText user_id;
  2. 文字工具检查输入框是否为空:
    TextUtils.isEmpty(user_id.getText())
    true:表示输入框为空    false:表示输入框不为空
  3. 获取输入框内容
    uid = user_id.getText().toString();
  4. Log.d("这个空是标志作用,可以直接空着", "写下需要在控制台显示的内容");
  5. 获取Android存储路径
    File FilePath = this.getFilesDir();
  6. 写入操作
    FileOutputStream fos = new FileOutputStream(info);    //info为要写入的文件的路径
    fos.write((uid + "***" + upassword).getBytes());
    fos.close();    
  7. 俗称“吐司”,有页面上提示的功能
    Toast.makeText(QQTest.this, "数据保存成功!!", Toast.LENGTH_SHORT).show();
  8. 控件的点击事件,此处是登录按钮login的点击事件
    login.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            //保存数据
            SaveData();
        }
    });

4. Activity和源代码

activity预览图

public class QQTest extends AppCompatActivity {
    private EditText user_id;
    private EditText user_password;
    private Button login;
    private TextView miss_password;
    private TextView id_register;
    private TextView server_contract;
    private String uid;
    private String upassword;

    //初始化
    void Init() {
        user_id = findViewById(R.id.user_id);
        user_password = findViewById(R.id.user_password);
        login = findViewById(R.id.login);
        miss_password = findViewById(R.id.miss_password);
        id_register = findViewById(R.id.id_register);
        server_contract = findViewById(R.id.server_contract);
    }

    void SaveData() {
        //文字工具检查是否为空
        if (TextUtils.isEmpty(user_id.getText()) || TextUtils.isEmpty(user_password.getText())) {
            Toast.makeText(QQTest.this, "请将数据补充完整", Toast.LENGTH_SHORT).show();
        } else {
            //获取输入框内容
            uid = user_id.getText().toString();
            upassword = user_password.getText().toString();
            Log.d("", "用戶名:" + uid + "  ,   密碼:" + upassword);
            Save(uid, upassword);
        }
    }

    private void Save(String uid, String upassword) {
        //获得路径
        File FilePath = this.getFilesDir();
        Log.d("", "filesDir==" + FilePath.toString());
        //获得绝对路径
        String FileName = FilePath + "/info.txt";
        File info = new File(FileName);
        Log.d("", "file==" + info.getAbsolutePath());
        try {
            //if若放在此处必返回false,
            // File info = new File(FileName);表示定义一个交info的文件变量,并未创建文件
            //写入数据
            FileOutputStream fos = new FileOutputStream(info);
            fos.write((uid + "***" + upassword).getBytes());
            fos.close();    //是否创建成功
            if (info.exists()) {
                Log.d("", "info.txt创建成功!");
                Toast.makeText(QQTest.this, "数据保存成功!!", Toast.LENGTH_SHORT).show();
            } else {
                //写入失败
                Log.d("", "写入失败!!!");
                Toast.makeText(QQTest.this, "数据保存失败!!", Toast.LENGTH_SHORT).show();
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_qqtest);
        //控件初始化
        Init();
        //登录按钮的点击事件
        login.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                //保存数据
                SaveData();
            }
        });
    }
}

5. 最后点个在再走呗!

点完赞再走呗!

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Larry Chow

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值