Belajar Android Studio CRUD Data MahasiswaAgus Haryanto
Belajar Android Studio yang berfokus pada operasi CRUD Insert, Select, Update dan Delete pada database SQLite Android dengan mengambil contoh data mahasiswa
Une immense majorité de développeurs connaissent jQuery, mais pas vraiment JavaScript. Nous verrons comment faire en pur JS ce que vous avez l’habitude de faire avec jQuery et jQuery UI, en mettant l’accent sur le support par les navigateurs des fonctionnalités JS utilisées, et sur les polyfills disponibles.
Tecnológico Nacional de México
Ing. en Sistemas Computacionales
Base de Datos para Dispsitivos Móviles
Proyecto integrador con Android, Eclipse, SQLite y archivo de texto
A mini intro to web components, starting from what you (presumable) already know and slowly adopting new vanilla web components features. After that, is shows how to accomplish the same using Polymer 2.0.
Intended to be instructor led.
Parse é um PaaS (platform as a service) que foi criado para auxiliar desenvolvedores a criarem seus aplicativos sem a necessidade de criar um web service para gerenciamento dos dados. Através de sua API, é possível gerenciar dados através de um banco com interface visual (Parse Data), configurar o envio de push notifications (Parse Push), integrar contas de redes sociais (Parse Social) e ainda escrever código para customização e tratamento de seus dados na nuvem (Cloud Code).
Parse is a PaaS (platform as a service) which was created to support developers to build their mobile apps without a web service managing the data. Through its API, it is possible to manage data through a database using a visual interface (Parse Data), configure push notifications (Parse Push), integrate social networks accounts (Parse Social) and write code to customize your requests in the cloud (Cloud Code).
Aplicación en JAVA desarrollada con Netbeans 8.2, Jasper, SQL Server 2012, JDBC. Genera las pantallas para Insertar, Modificar y Eliminar, y el reporte general de turbogeneradores.
Javascript and jQuery for mobile
This presentation has been developed in the context of the Mobile Applications Development course, DISIM, University of L'Aquila (Italy), Spring 2013.
http://www.ivanomalavolta.com
Tutorial Android Membuat Aplikasi senter Flash lightAgus Haryanto
Tutorial ini menjelaskan langkah-langkah membuat aplikasi senter flash light pada Android dengan bahasa pemrograman Java. Langkah-langkahnya meliputi menambahkan izin kamera dan flash, mengatur tampilan antarmuka pengguna, serta mengatur logika untuk menyalakan dan mematikan lampu flash ketika tombol ditekan. Aplikasi ini memanfaatkan fitur kamera dan lampu flash pada perangkat untuk berfungsi sebagai senter.
Dokumen tersebut memberikan panduan lengkap untuk mempelajari fitur-fitur Firebase dalam membangun aplikasi chat menggunakan bahasa Indonesia. Panduan ini menjelaskan cara mengaktifkan otentikasi, menyinkronkan data ke Firebase Realtime Database, menerima notifikasi pesan secara latar belakang, mengkonfigurasi aplikasi dari jarak jauh, melacak aliran pengguna, mengirim undangan instalasi, menampilkan iklan, melaporkan
Parse é um PaaS (platform as a service) que foi criado para auxiliar desenvolvedores a criarem seus aplicativos sem a necessidade de criar um web service para gerenciamento dos dados. Através de sua API, é possível gerenciar dados através de um banco com interface visual (Parse Data), configurar o envio de push notifications (Parse Push), integrar contas de redes sociais (Parse Social) e ainda escrever código para customização e tratamento de seus dados na nuvem (Cloud Code).
Parse is a PaaS (platform as a service) which was created to support developers to build their mobile apps without a web service managing the data. Through its API, it is possible to manage data through a database using a visual interface (Parse Data), configure push notifications (Parse Push), integrate social networks accounts (Parse Social) and write code to customize your requests in the cloud (Cloud Code).
Aplicación en JAVA desarrollada con Netbeans 8.2, Jasper, SQL Server 2012, JDBC. Genera las pantallas para Insertar, Modificar y Eliminar, y el reporte general de turbogeneradores.
Javascript and jQuery for mobile
This presentation has been developed in the context of the Mobile Applications Development course, DISIM, University of L'Aquila (Italy), Spring 2013.
http://www.ivanomalavolta.com
Tutorial Android Membuat Aplikasi senter Flash lightAgus Haryanto
Tutorial ini menjelaskan langkah-langkah membuat aplikasi senter flash light pada Android dengan bahasa pemrograman Java. Langkah-langkahnya meliputi menambahkan izin kamera dan flash, mengatur tampilan antarmuka pengguna, serta mengatur logika untuk menyalakan dan mematikan lampu flash ketika tombol ditekan. Aplikasi ini memanfaatkan fitur kamera dan lampu flash pada perangkat untuk berfungsi sebagai senter.
Dokumen tersebut memberikan panduan lengkap untuk mempelajari fitur-fitur Firebase dalam membangun aplikasi chat menggunakan bahasa Indonesia. Panduan ini menjelaskan cara mengaktifkan otentikasi, menyinkronkan data ke Firebase Realtime Database, menerima notifikasi pesan secara latar belakang, mengkonfigurasi aplikasi dari jarak jauh, melacak aliran pengguna, mengirim undangan instalasi, menampilkan iklan, melaporkan
Belajar Android Studio Memberi Efek animasi pada ButtonAgus Haryanto
Dokumen tersebut memberikan tutorial lengkap untuk membuat efek animasi pada button di Android Studio, meliputi cara membuat file animasi XML, menambahkan button dan animasi ke layout, serta menambahkan kode Java untuk memanggil animasi ketika button di klik.
Bel ajar android kali ini akan membahas tentang pembuatan katalog produk pada aplicais android yang ditampilkan dalam bentuk Grid yang didalamnya ada gambar, nama dan harga
Belajar Android PHP MySQL Login dengan VolleyAgus Haryanto
Dokumen tersebut memberikan panduan lengkap untuk membuat aplikasi login Android menggunakan Volley dengan backend PHP dan MySQL. Langkah-langkahnya meliputi persiapan database di server, membuat script PHP untuk login, mendesain antarmuka pengguna di Android, dan mengimplementasikan request login menggunakan Volley.
Android Sliding Menu dengan Navigation DrawerAgus Haryanto
The document discusses how to create an Android project using a navigation drawer to display a class schedule. It provides step-by-step instructions to set up the navigation drawer menu, fragments to display the schedule for each day, and classes to store and display the schedule data. Key aspects covered include creating layouts for the drawer menu, fragments and schedule items, adding sample schedule data, and using fragments and bundles to display the appropriate schedule based on the selected drawer menu item.
Dokumen ini memberikan panduan untuk membuat aplikasi radio streaming di Android melalui 5 tahapan yaitu mencari materi, mempelajari dan mempraktekkan, mengembangkan ide, mengembangkan ide menjadi aplikasi, dan mempublikasikannya ke pasar. Tahap pelajaran dan praktek meliputi pembuatan proyek baru, antarmuka pengguna, logika aplikasi, dan konfigurasi aplikasi. Ditekankan pentingnya desain antarm
Menghitung luas persegi panjang dengan androidAgus Haryanto
Dokumen ini memberikan panduan lengkap untuk menghitung luas persegi panjang menggunakan bahasa pemrograman Android. Terdapat penjelasan tentang komponen-komponen yang dibutuhkan seperti TextView, EditText, dan Button. Juga dijelaskan langkah-langkah pembuatan aplikasi sederhana untuk menghitung luas persegi panjang mulai dari membuat project baru, mendesain tampilan antarmuka, menuliskan kode program, hingga men
3. ANDROID PHP MYSQL
Kali ini kita akan membahas Bagaimana Android dapat mengirim data ke server dan membacanya. Ada beberapa pendekatan untuk komunikasi dengan server ini tetapi yang sering dipakai adalah melalui http. Dengan demikian untuk mempraktekannya kita harus menginstall apache web server lengakap dengan PHP dan MySQLnya.
CRUD ANDROID PHP MYSQL
Aplikasi yang menggunakan database pada umumnya memiliki fungsi untuk
–Menampilkan data
–Menambah data
–Menghapus data
–Merubah data
Database SQLite pada android mempunyai keterbatasan pada salah satunya pada kapasitas penyimpanan data. Akan bermasalah apabila kita memaksakan menyimpan data yang besar (lebih dari 10000 data) pada SQLite. Selain itu jika kita ingin perubahan data aplikasi dirasakan oleh semua user tanpa harus install ulang aplikasi, maka data harus disimpan di Server. Cara yang paling sering digunakan adalah dengan perantara Webserver, PHP dan MySQL. Dimana android untuk melakukan perubahan data atau mendapatkan data dari database server cukup dengan memanggil url php yang telah ditentukan.
Agar lebih dimengerti mari kita buat aplikasi tentang maintenance data harga handphone yang database servernya menggunakan MySQL dengan Web Server Apache dan Server Side Scriptnya menggunakan PHP untuk itu hal yang penting untuk dilakukan sebelum memulai pembuatan aplikasinya adalah menyiaplkan environment servernya dengan menginstall XAMPP (Windows) atau LAMP (Linux). Setelah selesai Instalasi lalu kita lakukan langkah berikut.
1.Pekerjaan di MySql, buat database dan tablenya.
CREATE DATABASE db_phone;
CREATE TABLE tbl_phone (
id INT(4) NOT NULL AUTO_INCREMENT,
phone_name VARCHAR(32) NOT NULL,
price INT(10) NOT NULL,
PRIMARY KEY (id)
)
ENGINE=MyISAM;
insert into tbl_phone values(null,'Galaxy S3',6000000);
insert into tbl_phone values(null,'Galaxy Ace 2',3000000);
insert into tbl_phone values( null,'HTC One',6000000);
4. 2.Siapkan Script PHP untuk memasukkan data baru ke tbl_phone, simpan dengan nama add_phone.php simpan didirectory document_root/phone contoh htdoc/phone jadi urlnya adalah “http://yourdomain/phone/add_phone.php”
<?php
$phone_name = $_POST['phone_name'];
$price = $_POST['price'];
$link = mysql_connect('localhost', 'user', 'password') or die('Cannot connect to the DB');
mysql_select_db('db_phone', $link) or die('Cannot select the DB');
/* grab the posts from the db */
$query = "insert into tbl_phone (phone_name,price) values('".$phone_name."',".$price.")";
$result = mysql_query($query, $link) or die('Error query: '.$query);
if ($result == 1){echo "Save Data Success";}else{ echo "Save Data Fail";}
?>
3.Siapkan Script untuk menampilkan data yang sudah disimpan, simpan dengan nama list_phone.php
<?php
$link = mysql_connect('localhost', 'user', 'password') or die('Cannot connect to the DB');
mysql_select_db('db_phone', $link) or die('Cannot select the DB');
$result["errorcode"]="0";
/* grab the posts from the db */
$query = "SELECT id, phone_name, price FROM tbl_phone";
$rs= mysql_query($query, $link) or die('Errorquery: '.$query);
$countrow= mysql_affected_rows();
$items = array();
while($row = mysql_fetch_object($rs)){
array_push($items, $row);
}
if($countrow >0){
$result["errorcode"] = "1";
$result["data"] = $items;
}else{
$result["errormsg"] = "Tidak ada data";
}
echo json_encode($result);
?>
4.Siapkan Script untuk Melakkukan perubahan data phone diserver, simpan dengan nama edit_phone.php
<?php
$id = $_POST['id'];
$phone_name = $_POST['phone_name'];
$price = $_POST['price'];
$link = mysql_connect('localhost', 'user', 'password') or die('Cannot connect to the DB');
mysql_select_db('db_phone', $link) or die('Cannot select the DB');
/* grab the posts from the db */
$query = "update tbl_phone set phone_name='$phone_name',price=$price where id=$id";
$result = mysql_query($query, $link) or die('Error query: '.$query);
if ($result == 1){echo "Save Data Success";}else{ echo "Save Data Fail";}
?>
5. 5.Siakan Scritpt untuk menghapus data phone di server, simpan dengan nama delete_phone.php
<?php
$id = $_POST['id'];
$link = mysql_connect('localhost', 'user', 'password') or die('Cannot connect to the DB');
mysql_select_db('db_phone', $link) or die('Cannot select the DB');
/* grab the posts from the db */
$query = "delete from tbl_phone where id=$id";
$result = mysql_query($query, $link) or die('Error query: '.$query);
if ($result == 1){echo "Save Data Success";}else{ echo "Save Data Fail";}
?>
6.Sekarang mari kita siapkan bagian androidnya, buat new android project MySQLPhone
7.Buat Class HttpHelper.java lalu ketikkan kode berikut
package net.agusharyanto.mysqlphone;
import java.io.BufferedReader;
6. import java.io.InputStream;
import java.io.InputStreamReader;
import org.apache.http.HttpResponse;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.DefaultHttpClient;
import android.util.Log;
public class HttpHelper {
/**
* Method untuk Mengirimkan data kes erver event by button login diklik
*
* @param view
*/
public static String getRequest(String Url) {
String sret="";
HttpClient client = new DefaultHttpClient();
HttpGet request = new HttpGet(Url);
try {
HttpResponse response = client.execute(request);
sret= request(response);
} catch (Exception ex) {
}
return sret;
}
/**
* Method untuk Menenrima data dari server
*
* @param response
* @return
*/
public static String request(HttpResponse response) {
String result = "";
try {
InputStream in = response.getEntity().getContent();
BufferedReader reader = new BufferedReader(
new InputStreamReader(in));
StringBuilder str = new StringBuilder();
String line = null;
while ((line = reader.readLine()) != null) {
str.append(line + "n");
}
in.close();
result = str.toString();
} catch (Exception ex) {
result = "Error";
}
return result;
}
}
Class HttpHelper ini digunakan untuk mengirim data keserver dan menangkap nilai yang dikembalikan server.
7. 8.Buat class JSONFunction .java lalu ketikkan kode berikut
package net.agusharyanto.mysqlphone;
import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.params.BasicHttpParams;
import org.apache.http.params.HttpConnectionParams;
import org.apache.http.params.HttpParams;
import org.json.JSONException;
import org.json.JSONObject;
import android.util.Log;
public class JSONfunctions {
public static JSONObject getJSONfromURL(String url) {
InputStream is = null;
String result = "0";
JSONObject jArray = null;
try {
HttpParams httpParameters = new BasicHttpParams();
int timeoutConnection = 60000;
HttpConnectionParams.setConnectionTimeout(httpParameters,
timeoutConnection);
int timeoutSocket = 60000;
HttpConnectionParams.setSoTimeout(httpParameters, timeoutSocket);
HttpClient httpclient = new DefaultHttpClient(httpParameters);
HttpPost httppost = new HttpPost(url);
HttpResponse response = httpclient.execute(httppost);
HttpEntity entity = response.getEntity();
is = entity.getContent();
} catch (Exception e) {
Log.e("log_tag", "Error intimeout http connection " + e.toString());
}
// convert response to string
try {
BufferedReader reader = new BufferedReader(new InputStreamReader(
is, "iso-8859-1"), 8);
StringBuilder sb = new StringBuilder();
String line = null;
while ((line = reader.readLine()) != null) {
sb.append(line + "n");
}
is.close();
result = sb.toString();
} catch (Exception e) {
8. Log.e("log_tag", "Error converting result " + e.toString());
result = "{"errorcode":"0"}";
}
try {
jArray = new JSONObject(result);
} catch (JSONException e) {
Log.e("log_tag", "Error parsing data " + e.toString());
result = "{"errorcode":"0"}";
try {
jArray = new JSONObject(result);
} catch (JSONException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
}
return jArray;
}
public static String getStringJSONfromURL(String url) {
InputStream is = null;
String result = "0";
// http post
try {
HttpParams httpParameters = new BasicHttpParams();
int timeoutConnection = 60000;
HttpConnectionParams.setConnectionTimeout(httpParameters,
timeoutConnection);
int timeoutSocket = 60000;
HttpConnectionParams.setSoTimeout(httpParameters, timeoutSocket);
HttpClient httpclient = new DefaultHttpClient(httpParameters);
HttpPost httppost = new HttpPost(url);
HttpResponse response = httpclient.execute(httppost);
HttpEntity entity = response.getEntity();
is = entity.getContent();
} catch (Exception e) {
Log.e("log_tag", "Error intimeout http connection " + e.toString());
}
// convert response to string
try {
BufferedReader reader = new BufferedReader(new InputStreamReader(
is, "iso-8859-1"), 8);
StringBuilder sb = new StringBuilder();
String line = null;
while ((line = reader.readLine()) != null) {
sb.append(line + "n");
}
is.close();
result = sb.toString();
} catch (Exception e) {
Log.e("log_tag", "Error converting result " + e.toString());
9. result = "{"errorcode":"0"}";
}
return result;
}
}
Class JSONFunction ini digunakan untuk menangkap nilai kembalian dari server yang datanya berupa JSON
9.Buat Layoutbaru dengan nama add.xml lalu ketikan kode berikut
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="fill_parent"
android:layout_height="fill_parent">
<TextView android:text = "Smart Phone Name :" android:id="@+id/TextView01"
android:layout_width="wrap_content" android:layout_height="wrap_content"></TextView>
< EditText android:text = "" android:id = "@+id/edtName"
android:layout_width="fill_parent" android:layout_height="wrap_content"></EditText>
<TextView android:text = "Price :" android:id="@+id/TextView02"
android:layout_width="wrap_content" android:layout_height="wrap_content"></TextView>
< EditText android:text = "" android:id = "@+id/edtPrice"
android:layout_width="fill_parent" android:layout_height="wrap_content"></EditText>
<Button android:text = "Simpan" android:id="@+id/btnSave"
android:layout_width="fill_parent" android:layout_height="wrap_content"></Button>
</LinearLayout>
10.Buat Layout dengan nama listphone.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<TextView
android:id="@+id/textView1"
android:layout_width="150sp"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:text = "Phone Name"
android:background="@drawable/border"
android:textSize="20sp" android:padding="5sp" />
<TextView
android:id="@+id/textView2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:background="@drawable/border"
android:layout_toRightOf="@+id/textView1"
android:text = "Price"
android:textSize="20sp" android:padding="5sp" />
<ListView android:id="@+id/list1" android:layout_width="fill_parent"
10. android:layout_height="wrap_content" android:layout_weight = "1"
android:layout_alignParentLeft="true"
android:layout_below="@+id/textView1"/>
</RelativeLayout>
11.Buat layout dengan nama row.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="horizontal"
android:paddingBottom="5sp"
android:paddingTop="5sp" >
< TextView
android:id="@+id/phonename"
android:layout_width="150sp"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true" android:padding="5sp" />
< TextView
android:id="@+id/price"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="right"
android:layout_toRightOf="@+id/phonename" android:padding="5sp" />
<TextView
android:id="@+id/idphone"
android:layout_width="0sp"
android:layout_height="wrap_content"
android:layout_toRightOf = "@+id/indonesia" android:visibility="gone"/>
</RelativeLayout>
12.Semua Layout sudah siap, saatnya membuat bagian javanya. Pada awal yang ditampilkan adalah list smartphone dan harganya, buat class baru dengan nama ListDataPhoneActivity.java
package net.agusharyanto.mysqlphone;
import java.util.ArrayList;
import java.util.HashMap;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import android.app.Activity;
import android.app.ProgressDialog;
import android.content.Context;
import android.content.Intent;
import android.os.AsyncTask;
import android.os.Bundle;
import android.util.Log;
import android.view.ContextMenu;
import android.view.Menu;
11. import android.view.MenuItem;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ListAdapter;
import android.widget.ListView;
import android.widget.SimpleAdapter;
import android.widget.Toast;
public class ListDataPhoneActivity extends Activity {
/** Called when the activity is first created. */
private ListView listView1;
private static final int REQUEST_CODE = 1;
private ArrayList<HashMap<String, String>> mylist = new ArrayList<HashMap<String, String>>();
private static final int ADD_ID = Menu.FIRST + 1;
private static final int EDIT_ID = Menu.FIRST + 2;
private static final int DELETE_ID = Menu.FIRST + 3;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.listphone);
try {
getDataPhone();
} catch (Exception e) {
Log.e("log_tag", "Error parsing data " + e.toString());
}
}
/**
* Class CallWebPageTask untuk implementasi class AscyncTask
*/
private class requestTask extends AsyncTask<String, Void, String> {
private ProgressDialog dialog;
protected Context applicationContext;
private String actionflag;
@Override
protected void onPreExecute() {
this.dialog = ProgressDialog.show(applicationContext,
"Load Data From Server Process", "Please Wait...", true);
}
@Override
protected String doInBackground(String... urls) {
String response = "";
response = getDataServer(urls[0]);
return response;
}
@Override
protected void onPostExecute(String result) {
this.dialog.cancel();
if (actionflag.equals("list")) {
if (result.equals("1"))
setListData();
} else if (actionflag.equals("delete")) {
14. }
private void addData(HashMap<String, String> o, String action) {
callIntent(o, action);
}
private void callIntent(HashMap<String, String> o, String action) {
Intent i = new Intent(this, AddPhoneActivity.class);
i.putExtra("action", action);
i.putExtra("dataphone", o);
startActivityForResult(i, REQUEST_CODE);
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (resultCode == RESULT_OK && requestCode == REQUEST_CODE) {
if (data.hasExtra("refreshflag")) {
if (data.getExtras().getString("refreshflag").equals("1"))
getDataPhone();
}
}
}
}
13.Tentunya Aplikasikita tidak hanya menampilkan data saja tetapi dapat juga menambahkan data dan mengedit data, buat class baru dengan nama AddPhoneActivity.java
package net.agusharyanto.mysqlphone;
import java.io.UnsupportedEncodingException;
import java.net.URLEncoder;
import java.util.HashMap;
import android.app.Activity;
import android.content.Intent;
import android.os.AsyncTask;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
public class AddPhoneActivity extends Activity {
private EditText edtName;
private EditText edtPrice;
private Button btnSave;
// Seusuaikan url dengan nama domain yang anda gunakan
private String url = "";
String action="";
String phoneid="";
/**
* Method yang dipanggil pada saat aplikaasi dijalankan
* */
@Override
public void onCreate(Bundle savedInstanceState) {
17. Tekan yang lama pada salah satu baris
Akan muncul konteks menu, jika ingin menambah data sentuh ADD, untuk merubah data sentuh Edit, untuk menghapus data sentih Delete.