今天学习了如何把数据存到应用的数据目录下。
复习了一边布局,自己敲了昨天的点击事件。
以QQ登录为例
activity_main.xml
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".MainActivity"> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="50dp" android:orientation="vertical" android:padding="30dp"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:drawableLeft="@mipmap/ic_launcher" android:text="QQ" android:textSize="50sp"/> <EditText android:id="@+id/et_account" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_marginTop="30dp" android:hint="QQ号/手机号/邮箱"/> <EditText android:id="@+id/et_password" android:layout_width="match_parent" android:layout_height="66dp" android:hint="密码" /> <Button android:id="@+id/bt_login" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="登录" android:textSize="20sp"/> <RelativeLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="10dp"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="忘记密码?" android:textColor="#00aaff" android:textSize="18sp"/> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="新用户注册" android:textColor="#00aaff" android:layout_alignParentRight="true"/> </RelativeLayout> </LinearLayout> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="登录即代表阅读并同意阅读条款" android:textSize="20sp" android:textColor="#F44336" android:layout_alignParentBottom="true" android:layout_centerHorizontal="true" android:layout_marginBottom="100dp"/> </RelativeLayout>
MainActivity.java
package com.xrj.qqlogindemo; import androidx.appcompat.app.AppCompatActivity; import android.os.Bundle; import android.util.Log; import android.view.View; import android.widget.Button; import android.widget.EditText; import java.io.File; import java.io.FileOutputStream; public class MainActivity extends AppCompatActivity { private static final String TAG = "MainActivity"; private EditText mAccount; private EditText mPassword; private Button mLogin; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //找到控件 initView(); //设置点击事件 initListener(); } private void initView() { mAccount = (EditText)this.findViewById(R.id.et_account); mPassword = (EditText)this.findViewById(R.id.et_password); mLogin = (Button)this.findViewById(R.id.bt_login); } private void initListener() { mLogin.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { Log.d(TAG,"点击了登录按钮..."); //拿到界面上的内容 handleLoginEvent(v); } }); } private void handleLoginEvent(View v) { String accountText = mAccount.getText().toString(); String passwordText = mPassword.getText().toString(); //把账号密码保存起来 saveUserInfo(accountText,passwordText); } private void saveUserInfo(String accountTet,String passwordText) { Log.d(TAG,"保存用户信息"); try { File file = new File("info.text"); if(!file.exists()) { file.createNewFile(); } FileOutputStream fos = new FileOutputStream(file); fos.write((accountTet + "***" + passwordText).getBytes()); fos.close(); }catch (Exception e) { e.printStackTrace(); } } }
目前有一个问题还没有解决,运行时发现找不到“info.text”。