Android, PHP dan MYSQL database bagian 3

Android, PHP dan MYSQL database bagian 3 - Hallo sahabat Kumpulan Aplikasi Android Tercanggih Pilihan Yang Paling Berguna, Pada Artikel yang anda baca kali ini dengan judul Android, PHP dan MYSQL database bagian 3, kami telah mempersiapkan artikel ini dengan baik untuk anda baca dan ambil informasi didalamnya. mudah-mudahan isi postingan yang kami tulis ini dapat anda pahami. baiklah, selamat membaca.

Judul : Android, PHP dan MYSQL database bagian 3
link : Android, PHP dan MYSQL database bagian 3

Baca juga


Android, PHP dan MYSQL database bagian 3

Sebelum baca halaman bagian 3 ini, bacalah dahulu Android PHP dan MYSQL bagian 1 dan Android PHP dan MYSQL bagian 2
Bagian 1 dan bagian 2 meliputi halaman Login, halaman Baca Komentar dan halaman Registrasi
Dan sekarang sampailah kita pada halaman untuk Tambah Komentar, baik itu untuk Tambah Komentar di bagian server maupun tentang Tambah Komentar bagian klien-nya. Seperti saya katakan sebelumnya, bahwa bagian klien-nya di bangun pakai java dan bagian server di bangun pakai PHP.

Perhatikan kode di ClassBacaKomentar.java di tutorial bagian 2. Disana saya telah tulis sebuah metode untuk membuka class baru bernama tambahKomentar(); yang nampak sebagai berikut
public void tambahKomentar(View v) {
Intent intentNya = new Intent(ClassBacaKomentar.this, ClassTambahKomentar.class);
startActivity(intentNya);
}

Itu berarti bahwa dari dalam ClassBacaKomentar ada ClassTambahKomentar, dan oleh karena ClassTambahKomentar tersimpan di sebuah tombol di dalam ClassBacaKomentar maka metode tambahKomentar(); di panggil dari UI(user interface) dalam hal ini metode-nya di panggil dari dalam baca_komentar.xml melalui metode android:onClick
Perhatikan kode berikut yang saya ambil dari dalam baca_komentar.xml. Perlu di ingat bahwa baca_komentar.xml adalah UI-nya ClassBacaKomentar

<button 
android:background="@drawable/tombol_kirim"
android:id="@+id/tombol_kirim"
android:layout_gravity="right"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:onclick="tambahKomentar"
android:text="@string/tombol_kirim" />


Sangat jelas terlihat bahwa sepotong kode xml di atas adalah membicarakan tombol Kirim Komentar yang letaknya pada bagian bawah halaman Baca Komentar, sangat jelas bukan? Mau lihat lagi bentuknya? nihhh

Ok ketika tekan tombol Kirim Komentar tentunya yang di triger adalah halaman Tambah Komentar, Oleh karena itu mari kita bangun sebuah class yang bekerja untuk itu. Kita sebut saja nama class-nya  ClassTambahKomentar.java Berikut adalah isinya
package com.vik_sintus.projects.koneksiandroidmysql;
/**
* Copyright ©Vik Sintus Projects
*
* Segala kelebihan dan kekurangan di luar tanggung jawab pembuat.
* Di larang memakai kode ini untuk kepentingan komersial tanpa ijin.
* Silahkan di pakai untuk kepentingan belajar.
* vik.sintus@gmail.com
* http://belajar-android-indonesia.blogspot.com
* Unless required by applicable law or agreed to in writing, this software
* is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
*
*
*/
import java.util.ArrayList;
import java.util.List;

import org.apache.http.NameValuePair;
import org.apache.http.message.BasicNameValuePair;
import org.json.JSONException;
import org.json.JSONObject;

import android.app.Activity;
import android.app.ProgressDialog;
import android.content.SharedPreferences;
import android.os.AsyncTask;
import android.os.Bundle;
import android.preference.PreferenceManager;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;

public class ClassTambahKomentar extends Activity implements OnClickListener{

private EditText isiJudul, isiKomentar;
private Button kirimKomentar;

// utk progress bar_nya
private ProgressDialog progressBarNya;

// utk tambah komentar perlu deklarasi class JSON
ClassJSONParser jsonParserNya = new ClassJSONParser();

// lokasi script utk tambah komentar: bernama tambah_komentar.php

// biasanya localhost :
// tapi untuk testing, lebih baik pakai alamat IP
// kalau tak tahu IP-nya di windows silahkan buka
// command prompt lalu ketik ipconfig
// lihat IPv4 Address
// kalau di mac ketik ifconfig dan cari ip dengan en0 atau en1
// private static final String LINK_TAMBAH_KOMENTAR =
// "http://xxx.xxx.x.x.xxx/folderNya/tambah_komentar.php";

// coba di Emulator:jangan lupa di ganti dengan 
//alamat IP komputer anda sendiri
private static final String LINK_TAMBAH_KOMENTAR = "http://192.168.1.109/mysql_android/tambah_komentar.php";

// coba di server jauh(remote), server bayaran:
// private static final String LINK_TAMBAH_KOMENTAR =
// http://www.namaWeb.com/folderNya/tambah_komentar.php;

// berikut adalah identitas dari JSON element yang
// merespond dari halaman PHP (tambah_komentar.php)
private static final String TAG_BERHASIL = "sukses";
private static final String TAG_PESAN = "pesan";

@Override
protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);
setContentView(R.layout.tambah_komentar);

isiJudul = (EditText)findViewById(R.id.judulKomentar);
isiKomentar = (EditText)findViewById(R.id.isiKomentar);

kirimKomentar = (Button)findViewById(R.id.kirimKomentar);
kirimKomentar.setOnClickListener(this);

}

@Override
public void onClick(View v) {
new TambahKomentar().execute();
}


class TambahKomentar extends AsyncTask<String, String, String> {

@Override
protected void onPreExecute() {
super.onPreExecute();
progressBarNya = new ProgressDialog(ClassTambahKomentar.this);
progressBarNya.setMessage("Sedang kirim Komentarnya...");
progressBarNya.setIndeterminate(false);
progressBarNya.setCancelable(true);
progressBarNya.show();
}

@Override
protected String doInBackground(String... args) {
// priksa jika proses tambah komentar berhasil
// lihat TAG_BERHASIL
int komentar_sukses;
String judulKomentar = isiJudul.getText().toString();
String komentar = isiKomentar.getText().toString();

//ini harus di ubah
SharedPreferences sharedPrefNya = PreferenceManager.getDefaultSharedPreferences(ClassTambahKomentar.this);
String userNameNya = sharedPrefNya.getString("username_nya", "anon");

try {
// menyusun parameter-nya
List<NameValuePair> parameterNya = new ArrayList<NameValuePair>();
parameterNya.add(new BasicNameValuePair("username_nya", userNameNya));
parameterNya.add(new BasicNameValuePair("judul_komentar", judulKomentar));
parameterNya.add(new BasicNameValuePair("isi_komentar", komentar));

Log.d("me-request!", "dimulai");

//kirim data dari user ke halaman php script
JSONObject jsonObjectNya = jsonParserNya.membuatHttpRequest(
LINK_TAMBAH_KOMENTAR, "POST", parameterNya);

// jawaban dari JSON
Log.d("mencoba kirim komentar", jsonObjectNya.toString());

// Bagian JSON jika komentarnya berhasil/tidak terkirim
komentar_sukses = jsonObjectNya.getInt(TAG_BERHASIL);
if (komentar_sukses == 1) {
Log.d("Komentar_nya telah di masukan!", jsonObjectNya.toString());
finish();
return jsonObjectNya.getString(TAG_PESAN);
}else{
Log.d("Kirim komentar_nya Gagal!", jsonObjectNya.getString(TAG_PESAN));
return jsonObjectNya.getString(TAG_PESAN);

}
} catch (JSONException e) {
e.printStackTrace();
}

return null;

}

protected void onPostExecute(String url_link_nya) {
// matikan progressBarnya dengan metode dismiss();
progressBarNya.dismiss();
if (url_link_nya != null){
Toast.makeText(ClassTambahKomentar.this, url_link_nya, Toast.LENGTH_LONG).show();
}

}

}


}

Agar ClassTambahKomentar.java dapat di lihat oleh manusia maka di perlukan tampang UI_nya dengan nama tambah_komentar.xml berikut adalah isinya:
<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"
>

<ImageView
android:id="@+id/imageView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/textView2"
android:layout_centerHorizontal="true"
android:src="@drawable/lodok" />

<EditText
android:id="@+id/isiKomentar"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_above="@+id/kirimKomentar"
android:layout_alignParentLeft="true"
android:layout_alignRight="@+id/textView2"
android:layout_below="@+id/TextView01"
android:ems="10"
/>

<EditText
android:id="@+id/judulKomentar"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentRight="true"
android:layout_below="@+id/textView1"
android:ems="10" >

<requestFocus />
</EditText>

<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_toLeftOf="@+id/imageView1"
android:text="isi Judul" />

<Button
android:id="@+id/kirimKomentar"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true"
android:layout_alignParentRight="true"
android:text="Kirim Komentar" />

<TextView
android:id="@+id/TextView01"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/textView1"
android:layout_below="@+id/judulKomentar"
android:layout_marginTop="14dp"
android:text="isi Komentar" />

<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_marginTop="16dp"
android:gravity="center"
android:text="Koneksi Android MYSQL"
android:textAppearance="?android:attr/textAppearanceLarge"
android:textStyle="bold" />

</RelativeLayout>

Berikut adalah tampang dari halaman Tambah Komentar pada layar HP anda

Bandingkan kode XML-nya dengan tampangnya, disana dengan jelas terlihat bahwa UI android tidak sesulit yang di bayangkan.
Kode untuk halaman Tambah Komentar bagian klien sudah selesai...
Berikut adalah kode untuk halaman Tambah Komentar bagian server yang saya beri nama tambah_komentar.php
<?php
/**
* Copyright ©Vik Sintus Projects
*
* Segala kelebihan dan kekurangan di luar tanggung jawab pembuat.
* Di larang memakai kode ini untuk kepentingan komersial tanpa ijin.
* Silahkan di pakai untuk kepentingan belajar.
* vik.sintus@gmail.com
* http://belajar-android-indonesia.blogspot.com
* Unless required by applicable law or agreed to in writing, this software
* is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
*
*
*/
//perlu data dari konfigurasi_nya.php untuk bisa koneksi
require("/konfigurasi_nya.php");

if (!empty($_POST)) {

if (empty($_POST['judul_komentar']) || empty($_POST['isi_komentar'])) {


// data yang di pakai oleh JSON untuk respond ke android
$jawaban_dari_server["sukses"] = 0;
$jawaban_dari_server["pesan"] = "Mohon di isi Judul dan komentarNya.";

// kalau judul dan komentar belum di isi maka
// hentikan aplikasi-nya dengan metode die(); sambil mengeluarkan
// pesan tsb diatas ke android
die(json_encode($jawaban_dari_server));
}

//query yang di perlukan utk isi komentar
$query = "INSERT INTO tempat_komentar ( username_nya, judul_komentar, isi_komentar ) VALUES ( :user, :judul, :komentar ) ";

//query-nya perlu di update karena VALUES belum ada di database,
// :user, :judul, :komentar hanya di buat2 sebagai
// place holder persiapkan tempat kosong yg
// akan di tempatkan data
$query_parameter_nya = array(
':user' => $_POST['username_nya'],
':judul' => $_POST['judul_komentar'],
':komentar' => $_POST['isi_komentar']
);

//query_nya di eksekusi
try {
$statement_nya = $db->prepare($query);
$result = $statement_nya->execute($query_parameter_nya);
}
catch (PDOException $ex) {
// boleh saja pakai metode.
die("Gagal menjalankan query: " . $ex->getMessage());

//atau lebih ringan pakai sbb::
$jawaban_dari_server["sukses"] = 0;
$jawaban_dari_server["pesan"] = "ada kesalahan database. Tak bisa kirim komentarnya!";
die(json_encode($jawaban_dari_server));
}

$jawaban_dari_server["sukses"] = 1;
$jawaban_dari_server["pesan"] = "Komentarnya berhasil di kirim!";
echo json_encode($jawaban_dari_server);

} else {
?>
<h1>Isi Komentar</h1>
<form action="tambah_komentar.php" method="post">
Nama User:<br />
<input type="text" name="username_nya" placeholder="username" />
<br /><br />
Judul:<br />
<input type="text" name="judul_komentar" placeholder="kirim_judul" />
<br /><br />
Komentar:<br />
<input type="text" name="isi_komentar" placeholder="kirim_komentar" />
<br /><br />
<input type="submit" value="Tambah Komentar" />
</form>
<?php
}

?>

Kode untuk halaman Tambah Komentar sudah selesai.... berikutnya akan saya bangun sebuah class JSON(JavaScript Object Notation) yang akan di siarkan ke semua halaman agar aplikasinya menjadi responsive.
Semua kode yang saya telah tulis telah ada elemen JSON_nya..... silahkan baca tentang class JSON_nya dengan klik disini


Demikianlah Artikel Android, PHP dan MYSQL database bagian 3

Sekianlah artikel Android, PHP dan MYSQL database bagian 3 kali ini, mudah-mudahan bisa memberi manfaat untuk anda semua. baiklah, sampai jumpa di postingan artikel lainnya.

Anda sekarang membaca artikel Android, PHP dan MYSQL database bagian 3 dengan alamat link https://aplikasijalantikus.blogspot.com/2013/10/android-php-dan-mysql-database-bagian-3.html

0 Response to "Android, PHP dan MYSQL database bagian 3"

Posting Komentar