2023年7月7日发(作者:)
Android在内部存储读写⽂件⽂件读写操作* Ram内存:运⾏内存,相当于电脑的内存* Rom内存:内部存储空间,相当于电脑的硬盘* sd卡:外部存储空间,相当于电脑的移动硬盘在内部存储空间中读写⽂件>⼩案例:⽤户输⼊账号密码,勾选“记住账号密码”,点击登录按钮,登录的同时持久化保存账号和密码。界⾯如下:1. 定义布局代码如下: android:orientation="vertical" > android:id="@+id/cb" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="记住账号和密码"
/>
看着会不怎么舒服,重新调整布局,代码如下: 2. 完成按钮的点击事件弹Toast提⽰⽤户登录成功xt(this, "登录成功", _SHORT).show();3. 拿到⽤户输⼊的数据* 判断⽤户是否勾选保存账号密码CheckBox cb = (CheckBox) findViewById();if(ked()){}完整代码如下:package m;import ;import tputStream;import ;import ty;import ;import ;import ox;import xt;import ;public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { te(savedInstanceState); setContentView(ty_main); } public void click(View v) { // 获取⽤户输⼊的账号和密码 EditText et_name = (EditText) findViewById(_name); EditText et_pass = (EditText) findViewById(_pass); String name = et_t().toString(); String pass = et_t().toString(); // 获取选框组件 CheckBox cb = (CheckBox) findViewById(); // 检测选框是否被勾选 if (ked()) { saveAccount(name, pass); } // 弹Toast提⽰框 xt(this, "登录成功", _SHORT).show(); } public void saveAccount(String name, String pass) { File file = new File("data/data/m/"); try { FileOutputStream fos = new FileOutputStream(file); ((name + "##" + pass).getBytes()); (); } catch (Exception e) { // TODO: handle exception tackTrace(); } }}运⾏程序之前,内部存储照中的⽂件夹如下可以看到相关⽂件夹是空的运⾏得到如下界⾯点击登录按钮,⽣成⼀个的⽂件导出该⽂件到本地电脑⽂件内容为:wuyudong##1234564. 开启io流把⽂件写⼊内部存储* 直接开启⽂件输出流写数据//持久化保存数据File file = new File("data/data/m/");FileOutputStream fos = new FileOutputStream(file);((name + "##" + pass).getBytes());();* 读取数据前先检测⽂件是否存在if(())* 读取保存的数据,也是直接开⽂件输⼊流读取File file = new File("data/data/m/");FileInputStream fis = new FileInputStream(file);//把字节流转换成字符流BufferedReader br = new BufferedReader(new InputStreamReader(fis));String text = ne();String[] s = ("##");* 读取到数据之后,回显⾄输⼊框et_t(s[0]);et_t(s[1]);* 应⽤只能在⾃⼰的包名⽬录下创建⽂件,不能到别⼈家去创建最后的代码如下:package m;import edReader;import ;import putStream;import tputStream;import treamReader;import ;import ty;import ;import ox;import xt;import ;public class MainActivity extends Activity { // File file = new File("data/data/m/"); @Override protected void onCreate(Bundle savedInstanceState) { te(savedInstanceState); setContentView(ty_main); loadAccount(); } public void click(View v) { // 获取⽤户输⼊的账号和密码 EditText et_name = (EditText) findViewById(_name); EditText et_pass = (EditText) findViewById(_pass); String name = et_t().toString(); String pass = et_t().toString(); // 获取选框组件 CheckBox cb = (CheckBox) findViewById(); // 检测选框是否被勾选 if (ked()) { saveAccount(name, pass); } // 弹Toast提⽰框 xt(this, "登录成功", _SHORT).show(); } public void saveAccount(String name, String pass) { File file = new File("data/data/m/"); try { FileOutputStream fos = new FileOutputStream(file); ((name + "##" + pass).getBytes()); (); } catch (Exception e) { tackTrace(); } } public void loadAccount() { File file = new File("data/data/m/"); if (()) { try { FileInputStream fis = new FileInputStream(file); // 把字节流转换为字节流 BufferedReader br = new BufferedReader(new InputStreamReader( fis)); String text = ne(); String[] s = ("##"); // 获取⽤户输⼊的账号和密码 EditText et_name = (EditText) findViewById(_name); EditText et_pass = (EditText) findViewById(_pass); et_t(s[0]); et_t(s[1]); } catch (Exception e) { tackTrace(); } } }}
发布者:admin,转转请注明出处:http://www.yc00.com/news/1688675451a161690.html
评论列表(0条)