Mình đang xây dựng nhóm "anh Thầy & Đồng bọn (Hỏi đáp, chia sẻ kiến thức)" mục đích để các bạn có một nơi giao lưu trao đổi.
Đội MOD của group và mọi người sẽ hỗ trợ bạn ngay lập tức.
Join ở đây nè: https://www.facebook.com/groups/anhthayvadongbon
Lượt xem: 1213 lượt xem
1. Giới thiệu
2. Internal file storage.
<?xml version="1.0" encoding="utf-8"?>
<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">
<TextView
android:textSize="25sp"
android:gravity="center"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Internal storage" />
<EditText
android:id="@+id/myInputText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center">
<requestFocus />
</EditText>
<LinearLayout
android:gravity="center"
android:layout_gravity="center"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<Button
android:layout_weight="1"
android:id="@+id/btnSave"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Lưu vào" />
<Button
android:layout_weight="1"
android:id="@+id/btnDisplay"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Lấy dữ liệu " />
</LinearLayout>
<TextView
android:id="@+id/responseText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="5dp"
android:text=""
android:textAppearance="?android:attr/textAppearanceMedium" />
</LinearLayout>
public class MainActivity extends AppCompatActivity implements View.OnClickListener {
Button btnSave, btnDisplay;
EditText myInputText;
TextView responseText;
private String filename = "internalStorage.txt";
private String filepath = "vncoder.vm";
File myInternalFile;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initView();
ContextWrapper contextWrapper = new ContextWrapper(
getApplicationContext());
File directory = contextWrapper.getDir(filepath, Context.MODE_PRIVATE);
myInternalFile = new File(directory, filename);
}
private void initView() {
myInputText = (EditText) findViewById(R.id.myInputText);
responseText = (TextView) findViewById(R.id.responseText);
btnSave = (Button) findViewById(R.id.btnSave);
btnSave.setOnClickListener(this);
btnDisplay = (Button) findViewById(R.id.btnDisplay);
btnDisplay.setOnClickListener(this);
}
public void onClick(View v) {
String myData = "";
switch (v.getId()) {
case R.id.btnSave:
try {
FileOutputStream fos = new FileOutputStream(myInternalFile);
fos.write(myInputText.getText().toString().getBytes());
fos.close();
} catch (IOException e) {
e.printStackTrace();
}
myInputText.setText("");
responseText
.setText("Đã được lưu vào bộ nhớ trong");
break;
case R.id.btnDisplay:
try {
FileInputStream fis = new FileInputStream(myInternalFile);
DataInputStream in = new DataInputStream(fis);
BufferedReader br = new BufferedReader(
new InputStreamReader(in));
String strLine;
while ((strLine = br.readLine()) != null) {
myData = myData + strLine;
}
in.close();
} catch (IOException e) {
e.printStackTrace();
}
myInputText.setText(myData);
responseText
.setText("Lấy dữ liệu từ bộ nhớ trong");
break;
}
}
}
3. External file storage
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width = "fill_parent"
android:layout_height = "fill_parent"
android:orientation = "vertical"
android:gravity = "center">
<TextView
android:gravity = "center"
android:layout_width = "fill_parent"
android:layout_height = "wrap_content"
android:text = "External Storage " />
<EditText
android:layout_gravity="center"
android:id = "@+id/myInputText"
android:layout_width = "match_parent"
android:layout_height = "wrap_content"
android:ems = "10"
android:gravity = "center"
android:inputType = "textMultiLine"
>
<requestFocus />
</EditText>
<Button
android:id="@+id/btnSave"
android:layout_width = "wrap_content"
android:layout_height = "wrap_content"
android:text = "Lưu vào bộ nhớ ngoài" />
<Button
android:id = "@+id/btnDisplay"
android:layout_width = "wrap_content"
android:layout_height = "wrap_content"
android:text = "Lấy dữ liệu từ bộ nhớ ngoài" />
<TextView
android:id = "@+id/responseText"
android:layout_width = "wrap_content"
android:layout_height = "wrap_content"
android:padding = "5dp"
android:text = ""
android:textAppearance = "?android:attr/textAppearanceMedium" />
</LinearLayout>
public class MainActivity extends Activity implements OnClickListener {
Button btnSave, readFromExternalStorage;
private String filename = "vncoder.txt";
private String filepath = "vncoder";
TextView responseText;
EditText myInputText;
File myExternalFile;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initView();
if (!isExternalStorageAvailable() || isExternalStorageReadOnly()) {
btnSave.setEnabled(false);
} else {
myExternalFile = new File(getExternalFilesDir(filepath), filename);
}
}
private void initView() {
myInputText = (EditText) findViewById(R.id.myInputText);
responseText = (TextView) findViewById(R.id.responseText);
btnSave = (Button) findViewById(R.id.btnSave);
btnSave.setOnClickListener(this);
readFromExternalStorage = (Button) findViewById(R.id.btnDisplay);
readFromExternalStorage.setOnClickListener(this);
}
public void onClick(View v) {
String myData = "";
switch (v.getId()) {
case R.id.btnSave:
try {
FileOutputStream fos = new FileOutputStream(myExternalFile);
fos.write(myInputText.getText().toString().getBytes());
fos.close();
} catch (IOException e) {
e.printStackTrace();
}
myInputText.setText("");
responseText.setText("Dữ liệu đã được lưu vào bộ nhớ ngoài");
break;
case R.id.btnDisplay:
try {
FileInputStream fis = new FileInputStream(myExternalFile);
DataInputStream in = new DataInputStream(fis);
BufferedReader br = new BufferedReader(
new InputStreamReader(in));
String strLine;
while ((strLine = br.readLine()) != null) {
myData = myData + strLine;
}
in.close();
} catch (IOException e) {
e.printStackTrace();
}
myInputText.setText(myData);
responseText.setText("Được lấy ra từ bộ nhớ ngoài");
break;
}
}
private static boolean isExternalStorageReadOnly() {
String extStorageState = Environment.getExternalStorageState();
if (Environment.MEDIA_MOUNTED_READ_ONLY.equals(extStorageState)) {
return true;
}
return false;
}
private static boolean isExternalStorageAvailable() {
String extStorageState = Environment.getExternalStorageState();
if (Environment.MEDIA_MOUNTED.equals(extStorageState)) {
return true;
}
return false;
}
}
4. Shared Preferences
5.Database
6.Tổng kết.
This site does not store any files on its server. We only index and link to content provided by other sites. Please contact the content providers to delete copyright contents if any and email us, we'll remove relevant links or contents immediately.
Trang web này không lưu trữ bất kỳ tệp (files) nào trên máy chủ (server). Chúng tôi chỉ lập chỉ mục và liên kết đến nội dung được cung cấp bởi các trang web khác. Vui lòng liên hệ với các nhà cung cấp nội dung để xóa nội dung bản quyền nếu có và gửi email cho chúng tôi, chúng tôi sẽ xóa các liên kết hoặc nội dung có liên quan ngay lập tức.
Bạn có muốn xác nhận hoàn thành bài học này không?