4/09/2015

Cara Koneksi Database MySQL Eclipse

Cara Koneksi Database MySQL Eclipse - Melakukan koneksi database MySQL pada Eclipse dengan PHP sebagai penghubung koneksi antara Java dengan MySQL.

Cara Koneksi Database MySQL Eclipse
Langsung pada pembahasan, untuk tahapannya perhatikan baik-baik, jangan skip bacaan bila belum sepenuhnya mengerti dan baca berulang kali.
1. Buat project baru android dengan cara File > Android Application Project > Application Name "Koneksi", selanjutnya tinggal next sesuai pengaturan default.

2. Hapus Main.XML berada pada folder res > layout, lalu hapus MainActivity.JAVA berada pada folder scr > com.example.koneksi (di hapus karena kali ini kita tidak membutuhkannya).

3. Buat folder com.example.library pada folder scr, seperti gambar berikut ini struktur foldernya.

Cara Koneksi Database MySQL Eclipse

4. Setelah folder di buat, mari kita buat Activity terlebih dahulu, pertama buat DasboardActivity.JAVA dengan cara klik kanan pada folder com.example.koneksi > new > class, berikan namanya DasboardActivity dan copy source code berikut ini : (DasboardActivity.java)

/*
 * Author: Ravi Tamada
 * Editor: Septian Maulana
 * URL: www.androidhive.info, www.materi-it.com
 * Twitter: http://twitter.com/ravitamada, http://twitter.com/tiancan
 * Facebook: Septian Chun Chan
 */

package com.example.koneksi;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;

import com.example.library.UserFunctions;

public class DashboardActivity extends Activity {
 UserFunctions userFunctions;
 Button btnLogout;
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        
        /**
         * Dashboard Screen for the application
         * */        
        // Check login status in database
        userFunctions = new UserFunctions();
        if(userFunctions.isUserLoggedIn(getApplicationContext())){
         setContentView(R.layout.dashboard);
         btnLogout = (Button) findViewById(R.id.btnLogout);
         
         btnLogout.setOnClickListener(new View.OnClickListener() {
       
       public void onClick(View arg0) {
        // TODO Auto-generated method stub
        userFunctions.logoutUser(getApplicationContext());
        Intent login = new Intent(getApplicationContext(), KoneksiActivity.class);
              login.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
              startActivity(login);
              // Closing dashboard screen
              finish();
       }
      });
         
        }else{
         // user is not logged in show login screen
         Intent login = new Intent(getApplicationContext(), KoneksiActivity.class);
         login.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
         startActivity(login);
         // Closing dashboard screen
         finish();
        }
    }
}

5. Setelah itu dengan cara yang sama buat Class baru dengan cara yang sama dengan nama "KoneksiActivity" dan copy source code berikut ini : (KoneksiActivity.java)

/*
 * Author: Ravi Tamada
 * Editor: Septian Maulana
 * URL: www.androidhive.info, www.materi-it.com
 * Twitter: http://twitter.com/ravitamada, http://twitter.com/tiancan
 * Facebook: Septian Chun Chan
 */

package com.example.koneksi;

import java.util.HashMap;

import org.json.JSONException;
import org.json.JSONObject;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;

import com.example.library.DatabaseHandler;
import com.example.library.UserFunctions;

public class KoneksiActivity extends Activity {
 Button btnLogin;
 EditText inputEmail;
 EditText inputPassword;
 TextView loginErrorMsg;

 // JSON Response node names
 private static String KEY_SUCCESS = "success";
 private static String KEY_ERROR = "error";
 private static String KEY_ERROR_MSG = "error_msg";
 private static String KEY_UID = "uid";
 private static String KEY_NAME = "name";
 private static String KEY_EMAIL = "email";
 private static String KEY_CREATED_AT = "created_at";

 @Override
 public void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.koneksi);

  // Importing all assets like buttons, text fields
  inputEmail = (EditText) findViewById(R.id.loginEmail);
  inputPassword = (EditText) findViewById(R.id.loginPassword);
  btnLogin = (Button) findViewById(R.id.btnLogin);
  loginErrorMsg = (TextView) findViewById(R.id.login_error);

  // Login button Click Event
  btnLogin.setOnClickListener(new View.OnClickListener() {

   public void onClick(View view) {
    String email = inputEmail.getText().toString();
    String password = inputPassword.getText().toString();
    UserFunctions userFunction = new UserFunctions();
    Log.d("Button", "Login");
    JSONObject json = userFunction.loginUser(email, password);

    // check for login response
    try {
     if (json.getString(KEY_SUCCESS) != null) {
      loginErrorMsg.setText("");
      String res = json.getString(KEY_SUCCESS); 
      if(Integer.parseInt(res) == 1){
       // user successfully logged in
       // Store user details in SQLite Database
       DatabaseHandler db = new DatabaseHandler(getApplicationContext());
       JSONObject json_user = json.getJSONObject("user");
       
       // Clear all previous data in database
       userFunction.logoutUser(getApplicationContext());
       db.addUser(json_user.getString(KEY_NAME), json_user.getString(KEY_EMAIL), json.getString(KEY_UID), json_user.getString(KEY_CREATED_AT));      
       
       // Launch Dashboard Screen
       Intent dashboard = new Intent(getApplicationContext(), DashboardActivity.class);
       
       // Close all views before launching Dashboard
       dashboard.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
       startActivity(dashboard);
       
       // Close Login Screen
       finish();
      }else{
       // Error in login
       loginErrorMsg.setText("Inputkan koneksi yang benar");
      }
     }
    } catch (JSONException e) {
     e.printStackTrace();
    }
   }
  });

 }
}

6. Download 3 Library Koneksi untuk ditempatkan pada com.example.library, seperti gambar di bawah ini, untuk cara pembuatan Class nya sama dengan cara di atas :


Cara Koneksi Database MySQL Eclipse


Download file Library Koneksi com.example.library (4Shared)

7. Setelah Activity di buat, lalu buat file XML dengan cara yang sama pada folder layout, namun memilih Interface, lalu berikan nama dashboard, copy source code berikut ini : (dasboard.xml)
<?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:background="#3b3b3b"
    android:orientation="vertical" >

    <TextView
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="20dip"
        android:gravity="center"
        android:text="Koneksi Database"
        android:textSize="40dip" />

    <Button
        android:id="@+id/btnLogout"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="80dip"
        android:background="@null"
        android:text="Disconnected"
        android:textColor="#21dbd4"
        android:textSize="20dip"
        android:textStyle="bold" />

    <TextView
        android:id="@+id/textView1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_weight="0.05"
        android:gravity="center"
        android:text="Materi-IT.COM"
        android:textAppearance="?android:attr/textAppearanceLarge" />

</LinearLayout>
8. Lalu buat Interface baru dan berikan nama koneksi, copy source code berikut ini : (koneksi.xml)
 <?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="#3b3b3b" >

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:orientation="vertical"
        android:padding="10dip" >
        <!--  View Title Label -->
        <TextView
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_marginBottom="10dip"
            android:text="Database Koneksi"
            android:textSize="25dip"
            android:textStyle="bold" />
        <!--  Email Label -->
        <TextView
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:text="Username" />
        <!--  Email TextField -->
        <EditText
            android:id="@+id/loginEmail"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content" />
      
        <!--  Password Label -->
        <TextView
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_marginTop="15dip"
            android:text="Password" />
        <!--  Password TextField -->
        <EditText
            android:id="@+id/loginPassword"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:password="true" />
      
        <!--  Error message -->
        <TextView android:id="@+id/login_error"
                    android:layout_width="fill_parent"
                    android:layout_height="wrap_content"
                    android:textColor="#e30000"
                    android:padding="10dip"
                    android:textStyle="bold"/>

        <!--  Login Button -->      
        <Button
            android:id="@+id/btnLogin"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_marginTop="20dip"
            android:text="Test Koneksi" />

        <!--  Link to Registration Screen -->
        <Button
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_marginTop="40dip"
            android:background="@null"
            android:text="Username : Admin, Password : Admin"
            android:textColor="#21dbd4"
            android:textStyle="bold" />
    </LinearLayout>

</ScrollView>
9. Lalu ubah AndroidManifest.XML dengan source code berikut ini : (AndroidManifest.xml)

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

    <uses-sdk android:minSdkVersion="8" />

    <application
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name" >
        <activity
            android:label="@string/app_name"
            android:name=".DashboardActivity" >
            <intent-filter >
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
       
        <!--  Login Activity -->
        <activity
            android:label="Login Account"
            android:name=".KoneksiActivity"></activity>

    </application>
   
    <!-- Allow to connect with internet -->
    <uses-permission android:name="android.permission.INTERNET" />

</manifest>
10. Persiapan pada Aplikasi Koneksi Database telah selesai tinggal kita buat cara mengkoneksikannya antara Java dengan MySQL menggunakan PHP, langkahnya aktifkan XAMPP lalu ke PhpMyAdmin buat database dengan nama db_eclipse, lalu import file SQL berikut ini :

Download file SQL db_eclipse (4Shared)

11. Setelah itu buat folder di HTDOCS dengan nama koneksi_eclipse dan download file lengkapnya pada link berikut ini :

Download file PHP koneksi_eclipse (4Shared)

12. Coba jalankan program menggunakan emulator android virtual, bila sukses maka hasilnya akan seperti ini :

Cara Koneksi Database MySQL Eclipse

Keterangan Test Koneksi
  • Username : admin (default)
  • Password : admin (default)
Notes : Run aplikasi koneksi android ini menggunakan Genymotion sedangkan bila menggunakan emulator default Eclipse yaitu AVD, ubah pengaturan koneksi pada library UserFunctions.java.

http://10.0.2.2 > AVD
http://10.0.3.2 > Genymotion

Sekian artikel tentang Cara Koneksi Database MySQL Eclipse, semoga bermanfaat.

21 komentar:

  1. di Koneksiactivity masih ada yg error

    BalasHapus
  2. Gan kalo mau login pake data yg udh ada di sistem bisa ga yah ? username Dan password udh ada di database

    BalasHapus
    Balasan
    1. tinggal di ubah aja db nya gan di sesuaikan nama tabelnya biar nyambung ke koneksi dan di proses sm JSONparse.. atau bisa ngikutin tutor ini..

      http://www.materi-it.com/2015/03/cara-login-dan-register-android-eclipse.html

      Hapus
  3. file librarynya ga bisa di unduh

    BalasHapus
  4. Mantap gan...ijin nyoba..

    BalasHapus
  5. kq gk bisa ya gan, ada pesan error..tpi stlh diperbaiki saat di running (avd) ada pesan "koneksi brhenti tidak bisa brjalan"

    BalasHapus
    Balasan
    1. coba cek koneksinya gan, saran ane coba built apk aja.

      Hapus
  6. min kalo waktu di run, trus mau login keluar "koneksi has stopped"
    masalahnya apa ya min??

    BalasHapus
    Balasan
    1. coba liat di logcatnya gan untuk builtnya ane pernah ngalamin kyknya masalahnya di json parsingnya.

      Hapus
  7. udah aq coba sesuai buat aplikasinya, sampai aq ulang2 terus takut ada yg error. permasalahan saya sama.waktu aplikasinya di coba ,setelah diisi user name & password..pas LOGIN..." sayangnya ,koneksi telah berhenti.pleaaasee...gimana pemecahannya ? tks

    BalasHapus
    Balasan
    1. permasalahannya ini ampirs ama, kyknya di json parsingnya gan. coba ini aja http://www.materi-it.com/2015/03/cara-login-dan-register-android-eclipse.html

      Hapus
  8. min waktu di input pas login ko aplikasinya stop ya? apa manifestnya?
    thanks

    BalasHapus
    Balasan
    1. check logcat nya gan dan coba artikel ini aja http://www.materi-it.com/2015/03/cara-login-dan-register-android-eclipse.html

      Hapus
  9. database buatnya bisa di local bisa di server gan.

    BalasHapus
  10. file yang mau di unduh kok ga ada ya?

    BalasHapus
    Balasan
    1. udah ane cek masih ada silahkan klik direct link setelah skip page

      Hapus
  11. bagaimana cara mengunduh Download file Library Koneksi com.example.library (4Shared) ny min?

    BalasHapus
    Balasan
    1. udah ane cek masih aktif, silahkan login ke akun 4shared.

      Hapus

Silahkan komentar jika ada yang ingin Anda tanyakan mengenai artikel Materi IT.

Jangan lupa melakukan Checklist "Notify me" untuk mendapatkan email balasan dari Admin.

Septian Maulana - 08997206535 (WhatsApp).

Computer Science:
Group CS - https://bit.ly/CSUtama
Group CS 2 - https://bit.ly/cs2group
Group CS 3 - https://bit.ly/cs3group
Group CS 4 - https://bit.ly/cs4group
Group CS 5 - https://bit.ly/cs5group
Group CS 6 - https://bit.ly/cs6group
Group CS Telegram - https://bit.ly/cstelgroup