Bài học số 44: Vấn đề về lưu trữ dữ liệu trong Android

Thảo luận trong 'Rao Vặt Toàn Quốc' bắt đầu bởi datecom, 5/8/15.

  1. datecom

    datecom Thành Viên Mới

    Tham gia ngày:
    10/7/15
    Bài viết:
    35
    Đã được thích:
    0
    Điểm thành tích:
    6
    Vietpro xin chia sẻ với các thành viên website itseo serries bài học lập trình android miễn phí: Bài 44: Lưu trữ dữ liệu trong Android
    Android cung cấp nhiều loại dung lượng lưu trữ cho các ứng dụng để lưu trữ dữ liệu của họ. Những nơi lưu trữ được chia sẻ sở thích, lưu trữ nội bộ và bên ngoài, lưu trữ SQLite, và lưu trữ thông qua kết nối mạng.

    Trong bài học lap trinh android này chúng ta sẽ nhìn vào bộ nhớ trong. Lưu trữ nội bộ là việc lưu trữ các dữ liệu cá nhân trên bộ nhớ điện thoại. Theo mặc định các tập tin riêng và được truy cập bằng cách chỉ ứng dụng của bạn và có được xóa, khi người dùng xóa ứng dụng của bạn.


    1. Viết tập tin
    Để sử dụng bộ nhớ để viết một số dữ liệu trong tập tin, gọi phương thức openFileOutput() với tên của tập tin và các chế độ. Các chế độ có thể là private , public e.t.c. Cú pháp của nó được đưa ra dưới đây:

    1
    FileOutputStream fOut=openFileOutput("file name here",MODE_WORLD_READABLE);
    Phương thức openFileOutput() trả về một thể hiện của FileOutputStream. Vì vậy, bạn nhận được nó trong đối tượng của FileInputStream. Sau đó bạn có thể gọi phương pháp ghi để ghi dữ liệu vào tệp. Cú pháp của nó được đưa ra dưới đây:

    Stringstr="data";
    fOut.write(str.getBytes());
    fOut.close();


    2. Đọc tập tin

    Để đọc từ tập tin bạn vừa tạo ra, gọi phương thức openFileInput() với tên của tập tin. Nó trả về một thể hiện của FileInputStream. Cú pháp của nó được đưa ra dưới đây

    1
    FileInputStream fin=openFileInput(file);
    Sau đó, bạn có thể gọi phương thức đọc để đọc một ký tự tại một thời điểm từ các tập tin và sau đó bạn có thể in nó. Cú pháp của nó được đưa ra dưới đây

    intc;
    Stringtemp="";
    while((c=fin.read())!=-1){
    temp=temp+Character.toString((char)c);
    }

    //string temp contains all the data of the file.
    fin.close();
    Ngoài các phương pháp ghi và gần gũi, có những phương pháp khác được cung cấp bởi lớp FileOutputStream cho các tập tin văn bản tốt hơn. Những phương pháp này được liệt kê dưới đây –

    STTPhương pháp và mô tả
    1FileOutputStream (file File, append boolean)
    Phương pháp này xây dựng một FileOutputStream mới mà viết vào tập tin.
    2getChannel()
    Phương thức này trả về một chỉ ghi FileChannel mà chia sẻ vị trí của mình với dòng này
    3getFD()
    Phương pháp này trả về mô tả tập tin cơ bản
    4write (byte [] buffer, int byteOffset, int byteCount)
    Phương pháp này Ghi đếm byte từ bộ đệm mảng byte bắt đầu từ vị trí bù đắp cho dòng này

    Ngoài các phương pháp đọc và gần gũi, có những phương pháp khác được cung cấp bởi lớp FileInputStream cho các tập tin đọc sách tốt hơn. Những phương pháp này được liệt kê dưới đây –

    STTPhương pháp và mô tả
    1available()
    Phương thức này trả về một số ước tính của byte có thể được đọc hoặc bỏ qua mà không chặn cho nhiều đầu vào
    2getChannel ()
    Phương thức này trả về một chỉ đọc FileChannel mà chia sẻ vị trí của mình với dòng này
    3getFD ()
    Phương pháp này trả về mô tả tập tin cơ bản
    4read (byte [] buffer, int byteOffset, int byteCount)
    Phương pháp này đọc nhiều nhất byte chiều dài từ suối này và lưu giữ chúng trong mảng byte b bắt đầu tại offset
    3. Ví dụ
    Dưới đây là một ví dụ minh hoạ việc sử dụng bộ nhớ trong để lưu trữ và đọc tập tin. Nó tạo ra một ứng dụng lưu trữ cơ bản cho phép bạn đọc và viết từ lưu trữ nội bộ.

    Để thử nghiệm với ví dụ này, bạn có thể chạy trên một thiết bị thực tế hoặc trong một mô phỏng.

    Các bướcMô tả
    1Bạn sẽ sử dụng Android Studio IDE để tạo ra một ứng dụng Android dưới một gói com.example.sairamkrishna.myapplication. Trong khi tạo dự án này, chắc chắn bạn Target SDK và biên dịch với các phiên bản mới nhất của Android SDK sử dụng các cấp cao hơn của các API.
    2Sửa file src/ MainActivity.java để thêm mã cần thiết.
    3Sửa đổi res/layout/activity_main để thêm các thành phần XML tương ứng
    4Chạy ứng dụng và chọn một thiết bị Android chạy và cài đặt các ứng dụng trên nó và xác minh các kết quả

    Sau đây là nội dung của các sửa đổi tập tin chính hoạt động src/MainActivity.java. học photoshop designer cơ bản đến nâng cao tại VietPro !


    packagecom.example.sairamkrishna.myapplication;

    import android.app.Activity;
    import android.os.Bundle;
    import android.view.Menu;
    import android.view.MenuItem;
    import android.view.View;
    import android.widget.Button;
    import android.widget.EditText;
    import android.widget.TextView;
    import android.widget.Toast;
    import java.io.FileInputStream;
    import java.io.FileOutputStream;

    publicclassMainActivityextendsActivity{
    Button b1,b2;
    TextView tv;
    EditText ed1;

    @Override
    publicbooleanonCreateOptionsMenu(Menu menu){
    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.menu_main,menu);
    returntrue;
    }

    @Override
    publicbooleanonOptionsItemSelected(MenuItem item){
    // Handle action bar item clicks here. The action bar will
    // automatically handle clicks on the Home/Up button, so long
    // as you specify a parent activity in AndroidManifest.xml.

    intid=item.getItemId();

    //noinspection SimplifiableIfStatement
    if(id==R.id.action_settings){
    returntrue;
    }
    returnsuper.onOptionsItemSelected(item);
    }
    }


    Nội dung file xml res/layout/activity_main.xml. Trung tâm đào tạo học PHP từ cơ bản tới nâng cao chất lượng cao.

    <EditText
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:id="@+id/editText"
    android:hint="Enter Text"
    android:focusable="true"
    android:textColorHighlight="#ff7eff15"
    android:textColorHint="#ffff25e6"
    android:layout_below="@+id/imageView"
    android:layout_alignRight="@+id/textView"
    android:layout_alignEnd="@+id/textView"
    android:layout_marginTop="42dp"
    android:layout_alignLeft="@+id/imageView"
    android:layout_alignStart="@+id/imageView"/>

    <TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Read"
    android:id="@+id/textView2"
    android:layout_below="@+id/editText"
    android:layout_toLeftOf="@+id/button2"
    android:layout_toStartOf="@+id/button2"
    android:textColor="#ff5bff1f"
    android:textSize="25dp"/>

    </RelativeLayout>


    Nội dung file res/values/string.xml.

    <resources>
    <stringname="app_name">My Application</string>
    <stringname="hello_world">Hello world!</string>
    <stringname="action_settings">Settings</string>
    </resources>


    Nội dung file AndroidManifest.xml.

    package="com.example.sairamkrishna.myapplication">
    <application
    android:allowBackup="true"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:theme="@style/AppTheme">

    <activity
    android:name=".MainActivity"
    android:label="@string/app_name">

    <intent-filter>
    <action android:name="android.intent.action.MAIN"/>
    <category android:name="android.intent.category.LAUNCHER"/>
    </intent-filter>

    </activity>

    </application>
    </manifest>


    Kết quả:
    Bây giờ những gì bạn cần làm là nhập vào bất kỳ văn bản trong lĩnh vực này. Ví dụ, tôi đã nhập một số văn bản. Nhấn vào nút lưu. Thông báo sau sẽ xuất hiện trong bạn AVD

    [​IMG]
    Bây giờ khi bạn nhấn vào nút tải, các ứng dụng sẽ đọc các tập tin, và hiển thị dữ liệu. Trong trường hợp của chúng tôi, các số liệu sau đây sẽ được trả lại

    Lưu ý: Bạn thực sự có thể xem các tập tin này bằng cách chuyển sang tab DDMS. Trong DDMS, chọn file explorer và điều hướng theo đường này.
    Nguồn: Bài 44: Lưu trữ dữ liệu trong Android
     
    Cảm ơn đã xem bài:

    Bài học số 44: Vấn đề về lưu trữ dữ liệu trong Android

    Đang tải...


Like và Share ủng hộ ITSEOVN