1、獲取保存的文件的路徑緩存
//如何獲取到文件保存的路徑 File fileDir =this.getFilesDir(); Log.d(TAG,"files dir =="+fileDir.toString());
對代碼進行改進,並利用adb命令刪除以前的info.txt文件ide
private void saveUserInfo(String usernameText,String passwordText){ Log.d(TAG,"保存用戶信息"); //如何獲取到文件保存的路徑 File fileDir =this.getFilesDir(); File saveFile= new File(fileDir,"info.txt"); //此代碼在控制檯打印文件保存的路徑 Log.d(TAG,"files dir =="+fileDir.toString()); try { if(saveFile.exists()){ saveFile.createNewFile(); } FileOutputStream fileOutputStream = new FileOutputStream(saveFile); //以特定的格式存儲 fileOutputStream.write((usernameText+"***"+passwordText).getBytes()); fileOutputStream.close(); }catch (Exception e){ e.printStackTrace(); } }
運行代碼this
查看info.txtspa
與輸入內容一致命令行
再次修改代碼,輸出緩存文件目錄code
//獲取到緩存文件儲存的路徑 File cacheDir = this.getCacheDir(); Log.d(TAG,"cache Dir =="+cacheDir);
/** * files dir ==/data/user/0/com.example.logindemo/files * 上面這個路徑是用來保存文件的,咱們能夠經過代碼命令行刪除,也能夠經過設置裏的應用設置列表進行設置 * cache Dir ==/data/user/0/com.example.logindemo/cache * 上面這個路徑是用來保存緩存文件的,這個目錄下的文件,系統會根據內存進行自動處理。 */
這裏的清除緩存便可刪除保存的文件blog
2、對輸入內容進行判空內存
//對帳號和密碼進行檢測 if(TextUtils.isEmpty(usernameText)){ //帳號爲空 Toast.makeText(this,"用戶名不能夠爲空",Toast.LENGTH_SHORT).show(); return; } if(TextUtils.isEmpty(passwordText)){ //密碼爲空 Toast.makeText(this,"密碼不能夠爲空",Toast.LENGTH_SHORT).show(); }
3、讀取數據回顯get
@Override protected void onResume(){ super.onResume(); try { FileInputStream fileInputStream =this.openFileInput("info.txt"); BufferedReader bufferedReader =new BufferedReader(new InputStreamReader(fileInputStream)); String info=bufferedReader.readLine(); //以特定的格式存儲 //fileOutputStream.write((usernameText+"***"+passwordText).getBytes()); //上面是數據存儲的格式 String [] splits=info.split("\\*\\*\\*"); String username =splits[0]; String password =splits[1]; //回顯數據 mUsername.setText(username); mPassword.setText(password); }catch (Exception e){ e.printStackTrace(); } }