Posted by Materi Teknik Informatika • Informasi Teknologi Informasi • Digital Marketing on 4/09/2015
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.
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 :
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 :
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