Riky Metall's Blog di Facebook!

Like Page halaman rikymetalist.blogspot.com di Facebook!
Dan Update status kamu via rikymetalist.blogspot.com disini!

INFO

- Mohon dibaca : Cara download di Blog ini. (rikymetall's Blog)
- Mohon dibaca : CARA DOWNLOAD via TUSFILES.NET
- Jika terdapat Link Download yang rusak, silahkan laporkan kepada saya melalui
email saya di : rikymetal10@gmail.com

Jasa Pemasangan Iklan

Jasa Pemasangan Iklan

PERHATIAN

Perhatian. Khusus Untuk Daerah MEDAN dan SEKITARNYA. Bagi Anda Mahasiswa/Mahasiswi yang sedang menyelesaikan SKRIPSI ataupun Tugas Akhir tetapi Anda Merasa Bingung, Tidak Sempat dan banyak kesibukan untuk mengerjakannya, Anda bisa Hubungi di

rikymetal10@gmail.com

(Jasa Pengerjaan Skripsi). Hanya Menangani Skripsi Mahasiswa dengan Jurusan sbb :

- Bahasa Indonesia - PBSI
- PKn
- Matematika
- Kimia
- Biologi
- Sejarah

TIDAK MELAYANI Jurusan : Bahasa Inggris, Telekomunikasi, Manajemen dan Teknik Informatika, Komputer.
Untuk Harga Bisa Di Negosiasi kepada Bpk. Sarwono. Alamat silahkan tanya melalui EMAIL yang tercantum di atas.
Namun yang terpenting Anda juga harus Membantu walaupun sedikit agar Anda paham apa isi Skripsi Anda.
Beberapa mahasiswa/i dari kampus terkenal di Medan telah menyelesaikan skripsinya disini. :)

Jika Ada pertanyaan, silahkan kirim pesan Anda di : rikymetal10@gmail.com

Thursday, August 28, 2014

Android Backup SQLite ke SDCard dan Restore Database, Import SQLite dari SDCard ke Aplikasi

Android Backup SQLite ke SDCard dan Restore Database, Import SQLite dari SDCard ke Aplikasi
Android Backup SQLite ke SDCard dan Restore Database, Import SQLite dari SDCard ke Aplikasi. Teknik ini dibutuhkan ketika ingin membuat aplikasi yang dapat membackup secara dinamis (export) Database SQLite yang ada di Aplikasi ke SDCard, maupun sebaliknya yaitu merestore (import) file database SQLite dari SDCard ke Internal Aplikasi Android.

Langkah pertama buatlah Buka Eclipse dan buatlah Project Android baru.

Tambahkan Class baru dengan cara Klik File - New - Class, beri nama misalnya SQLHelper, sehingga menjadi file SQLHelper.java dan tambahkan kode program berikut ini :


package com.amijaya.backup_restore_sqlite;

import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.util.Log;

//http://cariprogram.blogspot.com
//nuramijaya@gmail.com

public class SQLHelper extends SQLiteOpenHelper{

private static final String DATABASE_NAME = "peta.db";
private static final int DATABASE_VERSION = 1;

public SQLHelper(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
// TODO Auto-generated constructor stub
}
@Override
public void onCreate(SQLiteDatabase db) {
String sql = "create table kota( id integer primary key autoincrement, nama text null, " +
"latitude text null, longitude text null);";
Log.d("Data", "onCreate: " + sql);
db.execSQL(sql);
sql = "INSERT INTO kota (id, nama, latitude, longitude) VALUES (1, 'Yogyakarta', '111', '222');";
db.execSQL(sql);
sql = "INSERT INTO kota (id, nama, latitude, longitude) VALUES (2, 'Surakarta', '333', '444');";
db.execSQL(sql);

}

@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
// TODO Auto-generated method stub


}

}

Kemudian tambahkan kode program berikut ini ke dalam file MainActivity.java :

package com.amijaya.backup_restore_sqlite;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.OutputStream;

import android.app.Activity;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.Toast;

public class MainActivity extends Activity {
Button button1;
Button button2;
Button button3;
Button button4;

protected Cursor cursor;
SQLHelper dbHelper;

private static String DB_PATH = "/data/data/com.amijaya.backup_restore_sqlite/databases/";
 
    private static String DB_NAME = "peta.db";


@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

dbHelper = new SQLHelper(this);

button1 = (Button)findViewById(R.id.button1);
button1.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
SQLiteDatabase db = dbHelper.getReadableDatabase();

cursor = db.rawQuery("SELECT * FROM kota",null);

cursor.moveToFirst();
for (int cc=0; cc < cursor.getCount(); cc++)
{
cursor.moveToPosition(cc);
Toast.makeText(getApplicationContext(), cursor.getString(1).toString(), Toast.LENGTH_SHORT).show();
}
}
});

button2 = (Button)findViewById(R.id.button2);
button2.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
try {
File file = new File(DB_PATH + DB_NAME); //Uri.toString());
//FileInputStream myInput = FileInputStream(file); // myContext.getAssets().open(DB_NAME);
FileInputStream myInput;

myInput = new FileInputStream(file);

     
    // Path to the just created empty db
    String outFileName = "/sdcard/peta.db"; // DB_PATH + DB_NAME;
 
    //Open the empty db as the output stream
    OutputStream myOutput = new FileOutputStream(outFileName);
 
    //transfer bytes from the inputfile to the outputfile
    byte[] buffer = new byte[1024];
    int length;
    while ((length = myInput.read(buffer))>0){
    myOutput.write(buffer, 0, length);
    }
 
    //Close the streams
    myOutput.flush();
    myOutput.close();
    myInput.close();
    Toast.makeText(getApplicationContext(), "Berhasil", Toast.LENGTH_LONG).show();
} catch (Exception e) {
// TODO Auto-generated catch block
Toast.makeText(getApplicationContext(), e.getMessage(), Toast.LENGTH_LONG).show();
e.printStackTrace();
}
}
});

button3 = (Button)findViewById(R.id.button3);
button3.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
try {
File file = new File("/sdcard/peta.db"); //Uri.toString());
//FileInputStream myInput = FileInputStream(file); // myContext.getAssets().open(DB_NAME);
FileInputStream myInput;

myInput = new FileInputStream(file);

     
    // Path to the just created empty db
    String outFileName = DB_PATH + DB_NAME;
 
    //Open the empty db as the output stream
    OutputStream myOutput = new FileOutputStream(outFileName);
 
    //transfer bytes from the inputfile to the outputfile
    byte[] buffer = new byte[1024];
    int length;
    while ((length = myInput.read(buffer))>0){
    myOutput.write(buffer, 0, length);
    }
 
    //Close the streams
    myOutput.flush();
    myOutput.close();
    myInput.close();
    Toast.makeText(getApplicationContext(), "Berhasil", Toast.LENGTH_LONG).show();
    finish();
} catch (Exception e) {
// TODO Auto-generated catch block
Toast.makeText(getApplicationContext(), e.getMessage(), Toast.LENGTH_LONG).show();
e.printStackTrace();
}
}
});

button4 = (Button)findViewById(R.id.button4);
button4.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
SQLiteDatabase db = dbHelper.getWritableDatabase();
db.execSQL("delete from kota");
Toast.makeText(getApplicationContext(), "Berhasil", 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;
}

}

Untuk desain tampilan tambahkan empat buah Button, sehingga activity_main.xml tampak seperti ini :

 xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/LinearLayout1"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context=".MainActivity" >

    
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Backup Restore Database SQLite" />

    

Pada file konfigurasi di AndroidManifest.xml jangan lupa ditambahkan Uses Permission READ EXTERNAL STORAGE dan WRITE EXTERNAL STORAGE, misalnya seperti ini :

xml version="1.0" encoding="utf-8"?>
 xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.amijaya.backup_restore_sqlite"
    android:versionCode="1"
    android:versionName="1.0" >

    
        android:minSdkVersion="8"
        android:targetSdkVersion="16" />
     android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
     android:name="android.permission.READ_EXTERNAL_STORAGE"/>

    
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        
            android:name="com.amijaya.backup_restore_sqlite.MainActivity"
            android:label="@string/app_name" >
            
                 android:name="android.intent.action.MAIN" />

                 android:name="android.intent.category.LAUNCHER" />
            

Hasilnya ketika dijalankan akan tampil sebagai berikut :

Android Backup SQLite ke SDCard dan Restore Database, Import SQLite dari SDCard ke Aplikasi

Read DB untuk mengetes apakah ada data di dalam database, Backup DB untuk membackup dengan cara mengkopi file Database SQLite ke SDCard, pada contoh ini file database bernama peta.db dan akan terkopi di direktori SDCard/peta.db. Empty DB untuk membuat agar data di database kosong. Bisa dites dengan Read DB maka kelihatan database sudah kosong. Kemudian Restore DB untuk mengembalikan file SQLite peta.db dari SDCard tercopy masuk dan mereplace database yang ada di direktori internal Aplikasi. Bisa dites lagi dengan Read DB maka tampak data sudah kembali ada.

File project dapat anda download disini. Jika bingung cara download, silakan lihat caranya disini.

Semoga bermanfaat ^_^

Sumber : link

Komentar Terakhir