Giới thiệu Internal Storage trong Android

Thảo luận trong 'Game - Ứng dụng' bắt đầu bởi n_erudite, 17/1/16.

Đã xem: 935

  1. n_erudite Thành Viên

    Ví dụ của việc đọc và ghi dữ liệu vào bộ nhớ trong android kéo 2 edittexts, 2 textviews và 2 nút từ pallete, bây giờ các tập tin activity_main.xml sẽ như thế này:

    File: activity_main.xml
    Mã:
    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity" >
    
    <EditText
    android:id="@+id/editText1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentRight="true"
    android:layout_alignParentTop="true"
    android:layout_marginRight="20dp"
    android:layout_marginTop="24dp"
    android:ems="10" >
    
    <requestFocus />
    </EditText>
    
    <EditText
    android:id="@+id/editText2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignRight="@+id/editText1"
    android:layout_below="@+id/editText1"
    android:layout_marginTop="24dp"
    android:ems="10" />
    
    <TextView
    android:id="@+id/textView1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignBaseline="@+id/editText1"
    android:layout_alignBottom="@+id/editText1"
    android:layout_alignParentLeft="true"
    android:text="File Name:" />
    
    <TextView
    android:id="@+id/textView2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignBaseline="@+id/editText2"
    android:layout_alignBottom="@+id/editText2"
    android:layout_alignParentLeft="true"
    android:text="Data:" />
    
    <Button
    android:id="@+id/button1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignLeft="@+id/editText2"
    android:layout_below="@+id/editText2"
    android:layout_marginLeft="70dp"
    android:layout_marginTop="16dp"
    android:text="save" />
    
    <Button
    android:id="@+id/button2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignBaseline="@+id/button1"
    android:layout_alignBottom="@+id/button1"
    android:layout_toRightOf="@+id/button1"
    android:text="read" />
    </RelativeLayout>
    Xem thêm: Khóa học lập trình android tại hà nội !


    Lớp Activity

    Chúng ta hãy viết code để viết và đọc dữ liệu từ bộ nhớ trong.

    File: MainActivity.java
    Mã:
    package com.example.internalstorage;
    
    import java.io.BufferedReader;
    import java.io.FileInputStream;
    import java.io.FileNotFoundException;
    import java.io.FileOutputStream;
    import java.io.IOException;
    import java.io.InputStreamReader;
    
    import android.os.Bundle;
    import android.app.Activity;
    import android.content.Context;
    import android.view.Menu;
    import android.view.View;
    import android.view.View.OnClickListener;
    import android.widget.Button;
    import android.widget.EditText;
    import android.widget.Toast;
    
    public class MainActivity extends Activity {
    EditText editTextFileName,editTextData;
    Button saveButton,readButton;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    
    editTextFileName=(EditText)findViewById(R.id.editText1);
    editTextData=(EditText)findViewById(R.id.editText2);
    saveButton=(Button)findViewById(R.id.button1);
    readButton=(Button)findViewById(R.id.button2);
    
    //Performing Action on Read Button
    saveButton.setOnClickListener(new OnClickListener(){
    
    @Override
    public void onClick(View arg0) {
    String filename=editTextFileName.getText().toString();
    String data=editTextData.getText().toString();
    
    FileOutputStream fos;
    try {
    fos = openFileOutput(filename, Context.MODE_PRIVATE);
    //default mode is PRIVATE, can be APPEND etc.
    fos.write(data.getBytes());
    fos.close();
    
    Toast.makeText(getApplicationContext(),filename + " saved",
    Toast.LENGTH_LONG).show();
    
    
    } catch (FileNotFoundException e) {e.printStackTrace();}
    catch (IOException e) {e.printStackTrace();}
    
    }
    
    });
    
    //Performing Action on Read Button
    readButton.setOnClickListener(new OnClickListener(){
    
    @Override
    public void onClick(View arg0) {
    String filename=editTextFileName.getText().toString();
    StringBuffer stringBuffer = new StringBuffer();
    try {
    //Attaching BufferedReader to the FileInputStream by the help of InputStreamReader
    BufferedReader inputReader = new BufferedReader(new InputStreamReader(
    openFileInput(filename)));
    String inputString;
    //Reading data line by line and storing it into the stringbuffer
    while ((inputString = inputReader.readLine()) != null) {
    stringBuffer.append(inputString + "\n");
    }
    
    } catch (IOException e) {
    e.printStackTrace();
    }
    //Displaying data on the toast
    Toast.makeText(getApplicationContext(),stringBuffer.toString(),
    Toast.LENGTH_LONG).show();
    }
    });
    }
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.activity_main, menu);
    return true;
    }
    
    }

    ------------------- || -------------------
    Trung tâm Đào tạo hoc photoshop tai ha noi và học lập trình Game mobile với các khóa học lập trình android cơ bản tại Hà Nội !

     
    Đang tải...
    nam lim xanh

    Bình Luận Bằng Facebook