第十一二周作业

package cn.itcast.qq;

import android.content.Context;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;

public class FileSaveQQ {
public static boolean saveUserInfo(Context context, String account, String password) {

FileOutputStream fos = null;
try {//获取文件输出流对象。fos
fos = context.openFileOutput("data.txt", Context.MODE_PRIVATE);
fos.write((account + ":" + password).getBytes());
return true;

} catch (Exception e) {
e.printStackTrace();
return false;
}finally {
try {
if (fos!=null){
fos.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}


}
public static Map<String,String> getUserInfo(Context context) throws IOException {
String content="";
FileInputStream fis = null;
try {
//获取文件输入流对象fis
fis=context.openFileInput("data.txt");
//将输入流对象中的数据转换成字节码的形式
byte[]buffer = new byte[fis.available()];
fis.read(buffer);//通过read方法读取字节码中的数据
content = new String(buffer);//将获取的字节码转换成字符串
Map<String,String>userMap = new HashMap<String, String>();
//将字符串以“:”的形式分割成一个数组的形式
String[]infos =content.split(":");
//将数组中获得第一个数据放入userMAP中
userMap.put("account",infos[0]);
//将数组中获得第er个数据放入userMAP中
userMap.put("password",infos[1]);
return userMap;


} catch (Exception e) {
e.printStackTrace();
return null;
}finally {
try {
if (fis!=null)
fis.close();
} catch (IOException e) {
e.printStackTrace();
}
}


}


}




package cn.itcast.qq;

import androidx.appcompat.app.AppCompatActivity;

import android.content.Intent;
import android.os.Bundle;
import android.text.TextUtils;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;

import java.io.IOException;
import java.util.Map;

import static cn.itcast.qq.FileSaveQQ.getUserInfo;

public class MainActivity extends AppCompatActivity implements View.OnClickListener {
private EditText et1;
private EditText et2;
private Button bt;
private String s="";

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initview();
//通过工具类File中的getuser方法获取QQ信息
Map<String,String>userInfo= null;
try {
userInfo = FileSaveQQ.getUserInfo(this);
} catch (IOException e) {
e.printStackTrace();
}
if (userInfo!=null){
//获取的账号显示到界面上
et1.setText(userInfo.get("account"));
//获取的密码显示到界面上
et2.setText(userInfo.get("password"));


}
}

private void initview() {
bt=findViewById(R.id.BTN);
et1=findViewById(R.id.ET1);
et2=findViewById(R.id.ET2);
bt.setOnClickListener(this);
findViewById(R.id.rb1).setOnClickListener(this);
}


@Override
public void onClick(View view) {
switch (view.getId()){

case R.id.BTN:
//当点击登录按钮的时候,获取界面上输入的账号密码
String account = et1.getText().toString().trim();
String password = et2.getText().toString();

//检验输入的账号密码是否为空
if (TextUtils.isEmpty(account)){
Toast.makeText(this,"请输入账号",Toast.LENGTH_LONG).show();
return;
}
if (TextUtils.isEmpty(password)){
Toast.makeText(this,"请输入密码",Toast.LENGTH_LONG).show();
return;

}
Toast.makeText(this,"登录并保存成功",Toast.LENGTH_LONG).show();
//保存信息
boolean isSaveSuccess = FileSaveQQ.saveUserInfo(this,password,account);
if (isSaveSuccess){
Toast.makeText(this,"保存成功",Toast.LENGTH_LONG).show();
}
else
{
Toast.makeText(this,"保存失败",Toast.LENGTH_LONG).show();
break; }
//进入QQ第一页
Intent intent = new Intent(MainActivity.this,SecondActivity.class);
startActivity(intent);
}
}
}

 

posted @ 2021-10-29 18:36  李成前  阅读(37)  评论(0编辑  收藏  举报