您好,登錄后才能下訂單哦!
這篇文章主要講解了“Android如何實(shí)現(xiàn)文件存儲(chǔ)”,文中的講解內(nèi)容簡(jiǎn)單清晰,易于學(xué)習(xí)與理解,下面請(qǐng)大家跟著小編的思路慢慢深入,一起來(lái)研究和學(xué)習(xí)“Android如何實(shí)現(xiàn)文件存儲(chǔ)”吧!
1、文件存儲(chǔ)案例
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); } // 從文件中讀取數(shù)據(jù) 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(); } } } // 將文件存儲(chǔ)到文件中 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(); } }
運(yùn)行結(jié)果,Pass
2、SharePreferences存儲(chǔ)案例
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); } }
運(yùn)行結(jié)果,Pass
3、登錄頁(yè)面,實(shí)現(xiàn)記住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) { // 將賬號(hào)和密碼都設(shè)置到文本框中 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(); // 如果賬號(hào):admin,密碼:123456,就認(rèn)為登錄成功 if (username.equals("admin") && pwd.equals("123456")) { mEditor = mSharedPs.edit(); // 檢查復(fù)選框是否被選中 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, "用戶名或密碼輸入錯(cuò)誤,請(qǐng)重新輸入"); } } }); } }
運(yùn)行結(jié)果,Pass
感謝各位的閱讀,以上就是“Android如何實(shí)現(xiàn)文件存儲(chǔ)”的內(nèi)容了,經(jīng)過(guò)本文的學(xué)習(xí)后,相信大家對(duì)Android如何實(shí)現(xiàn)文件存儲(chǔ)這一問(wèn)題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是億速云,小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。