文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Android如何实现文件存储

2023-06-25 13:54

关注

这篇文章主要讲解了“Android如何实现文件存储”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Android如何实现文件存储”吧!

1、文件存储案例

public class TestActivity extends AppCompatActivity {    private EditText mFileEdit;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_test);        initView();    }    private void initView() {        mFileEdit = findViewById(R.id.fileEdit);        String inputText = load();        if (!TextUtils.isEmpty(inputText)) {            mFileEdit.setText(inputText);            mFileEdit.setSelection(inputText.length());            Toast.makeText(this, "Restoring succeeded", Toast.LENGTH_SHORT).show();        }    }    @Override    protected void onDestroy() {        super.onDestroy();        String inputText = mFileEdit.getText().toString();        save(inputText);    }    //    从文件中读取数据    public void save(String inputText) {        FileOutputStream outputStream = null;        BufferedWriter writer = null;        try {            outputStream = openFileOutput("data", Context.MODE_PRIVATE);            writer = new BufferedWriter(new OutputStreamWriter(outputStream));            writer.write(inputText);        } catch (IOException e) {            e.printStackTrace();        } finally {            try {                if (writer != null) {                    writer.close();                }            } catch (IOException e) {                e.printStackTrace();            }        }    }    //    将文件存储到文件中    public String load() {        FileInputStream inputStream = null;        BufferedReader reader = null;        StringBuilder builder = new StringBuilder();        try {            inputStream = openFileInput("data");            reader = new BufferedReader(new InputStreamReader(inputStream));            String line = "";            while ((line = reader.readLine()) != null) {                builder.append(line);            }        } catch (IOException e) {            e.printStackTrace();        } finally {            if (reader != null) {                try {                    reader.close();                } catch (IOException e) {                    e.printStackTrace();                }            }        }        return builder.toString();    }}

运行结果,Pass

2、SharePreferences存储案例

public class SharePfsActivity extends AppCompatActivity implements View.OnClickListener {    private static final String TAG = "SharePfsActivity";    private Button mSharedData;    private Button mRestoreData;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_shared_pfs);        initView();    }    private void initView() {        mSharedData = findViewById(R.id.sharedBtn);        mSharedData.setOnClickListener(this);        mRestoreData = findViewById(R.id.restoreBtn);        mRestoreData.setOnClickListener(this);    }    @Override    public void onClick(View view) {        switch (view.getId()) {            case R.id.sharedBtn:                sharedData();                break;            case R.id.restoreBtn:                restoreData();                break;            default:                break;        }    }    private void sharedData() {        SharedPreferences.Editor editor = getSharedPreferences("shareData", MODE_PRIVATE).edit();        editor.putString("name", "功勋");        editor.putString("type", "电影");        editor.apply();    }    private void restoreData() {        SharedPreferences preferences = getSharedPreferences("shareData", MODE_PRIVATE);        String name = preferences.getString("name", "");        String type = preferences.getString("type", "");        Log.d(TAG, "名称:" + name + ",类型:" + type);    }}

运行结果,Pass

Android如何实现文件存储

3、登录页面,实现记住username和pwd功能

activity_login.xml文件

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:gravity="center"    android:orientation="vertical">    <LinearLayout        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:orientation="horizontal">        <TextView            android:layout_width="wrap_content"            android:layout_height="wrap_content"            android:text="用户名:" />        <EditText            android:id="@+id/username"            android:layout_width="240dp"            android:layout_height="wrap_content" />    </LinearLayout>    <LinearLayout        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:orientation="horizontal">        <TextView            android:layout_width="wrap_content"            android:layout_height="wrap_content"            android:text="密    码:" />        <EditText            android:id="@+id/pwd"            android:layout_width="240dp"            android:layout_height="wrap_content" />    </LinearLayout>    <LinearLayout        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:orientation="horizontal">        <CheckBox            android:id="@+id/remember"            android:layout_width="wrap_content"            android:layout_height="wrap_content" />        <TextView            android:layout_width="wrap_content"            android:layout_height="wrap_content"            android:text="Remeber password" />    </LinearLayout>    <Button        android:id="@+id/login"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:text="登录" /></LinearLayout>

LoginActivity .class

public class LoginActivity extends AppCompatActivity {    private static final String TAG = "LoginActivity";    private Button mLogin;    private CheckBox mRemember;    private EditText mUsername;    private EditText mPwd;    private SharedPreferences mSharedPs;    private SharedPreferences.Editor mEditor;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_login);        initView();    }    private void initView() {        mSharedPs = PreferenceManager.getDefaultSharedPreferences(this);        mUsername = findViewById(R.id.username);        mPwd = findViewById(R.id.pwd);        mRemember = findViewById(R.id.remember);        mLogin = findViewById(R.id.login);        boolean isRemember = mSharedPs.getBoolean("remember_pwd", false);        if (isRemember) {            // 将账号和密码都设置到文本框中            mUsername.setText(mSharedPs.getString("username", ""));            mPwd.setText(mSharedPs.getString("pwd", ""));            mRemember.setChecked(true);        }        mLogin.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View v) {                String username = mUsername.getText().toString();                String pwd = mPwd.getText().toString();                // 如果账号:admin,密码:123456,就认为登录成功                if (username.equals("admin") && pwd.equals("123456")) {                    mEditor = mSharedPs.edit();                    // 检查复选框是否被选中                    if (mRemember.isChecked()) {                        mEditor.putString("username", username);                        mEditor.putString("pwd", pwd);                        mEditor.putBoolean("remember_pwd", true);                    } else {                        mEditor.clear();                    }                    mEditor.apply();                    Intent intent = new Intent(LoginActivity.this, MainActivity.class);                    startActivity(intent);                    finish();                } else {                    Log.d(TAG, "用户名或密码输入错误,请重新输入");                }            }        });    }}

运行结果,Pass

Android如何实现文件存储

感谢各位的阅读,以上就是“Android如何实现文件存储”的内容了,经过本文的学习后,相信大家对Android如何实现文件存储这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是编程网,小编将为大家推送更多相关知识点的文章,欢迎关注!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯