Skip to main content

Cara Membuat Menu Login Dengan Android Dan PHP

Kali ini saya ingin share cara membuat menu login dengan Android. Mungkin kalau kita cari-cari di Internet dengan Om Google pasti banyak sekali yang membuat tutorial ini.
Tapi bagaimana jika username dan passowordnya dibaca atau di ambil dari database?

Pertama sekali saya sangat kebingungan untuk membuat aplikasi ini.
Karena adanya interaksi dengan database dengan PHP.
Untuk itu sebagai sesama kita diwajibkan untuk saling berbagi pengetahuan...hihihi

Bisa dibilang saya adalah seorang newbie dalam hal Android. Karena saya itu mulai belajar Android seminggu yang lalu.
Tapi saya banyak belajar dari master-master dan agan-agan yang ada di forum-forum danberselancar dengan Om Google.
Akhirnya setelah berselancar dan diskusi dengan teman-teman, saya bisa membagikan tutorial ini.

Hasil Akhir
Pertama kali kita buat tabel t_user di database kita dimana fieldnya yaituusername(varchar[255]) dan password(varchar[255]). Kalau saya menggunakan phpMyAdmin.

Setelah itu buat file dengan nama koneksi.php, login.php dan simpan di local webserver yang berguna sebagai koneksi ke MYSQL.

Setelah itu kita buat project baru dengan menngunakan ecllipse, buka file javanya. Copykan code dibawah ini dan pastekan.
package contoh.spinneControl;
import java.io.IOException;
import java.util.ArrayList;
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.NameValuePair;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.HttpClient;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.message.BasicNameValuePair;
import org.apache.http.util.EntityUtils;
import android.app.Activity;
import android.app.AlertDialog;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
import android.content.Intent;
public class spinControl extends Activity  {
 String result = null;
 StringBuilder sb = null;
 EditText user, pass;
 Button btnlog;
 ArrayList authentication;
 String passIn, userIn;
 
 //Deklarasi variable
 Button masuk, keluar;
 AlertDialog alert;
 EditText stand;
 String isi_passwd, username;
 
 /** Called when the activity is first created. */
 @Override
 public void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.main);

  user   = (EditText) findViewById(R.id.username);
  btnlog = (Button)   findViewById(R.id.masuk);
  pass   = (EditText) findViewById(R.id.passwd_input);
  btnlog.setOnClickListener(new View.OnClickListener() {
     public void onClick(View tombol_login) 
     {
        user = (EditText) findViewById(R.id.username);
        pass = (EditText) findViewById(R.id.passwd_input);
    
     try {
        this.sendAuthenticationData(user.getText().toString(),
   pass.getText().toString() );
     } catch (ClientProtocolException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
   }

public void sendAuthenticationData(String username, String password)
      throws ClientProtocolException, IOException 
   {
      authentication = new ArrayList();
      authentication.add(new BasicNameValuePair("username", username));
      authentication.add(new BasicNameValuePair("password", password));
      this.sendData(authentication);
   }

   public void sendData(ArrayList data) throws ClientProtocolException, IOException 
   {
      readURL rL; 
      String temp="";
      HttpClient httpclient = new DefaultHttpClient();      // I use real path here 
   HttpPost httppost = new HttpPost("http://alamat urlnya/login.php"); 
      httppost.setEntity(new UrlEncodedFormEntity(data));
      try
      {
         HttpResponse response = httpclient.execute(httppost);
         HttpEntity entity = response.getEntity();
         temp = EntityUtils.toString(entity); 
         try {
            rL = new readURL("http://alamat URLnya/login.php?username=" +
         user.getText().toString() + "&password=" +
         pass.getText().toString());
            String auth = rL.getHTML();
            
            if(auth.equals("TRUE")){
               Toast.makeText(getBaseContext(), "Selamat Datang " + user.getText(),
            Toast.LENGTH_LONG).show();
               Intent i = new Intent(spinControl.this, Splash.class);
               startActivity(i);
            } else {
               Toast.makeText(getBaseContext(), "Periksa Kembali Data Anda...!!!",
            Toast.LENGTH_LONG).show();
            }
            
          } catch (Exception ex) {
              System.out.println("Error=" + ex.getMessage());
          }
      }
      catch(Exception e)
      {
          e.printStackTrace();
      }
    } 
   });
 }
}

Setelah itu buat class baru dan beri nama Splash.java :
package contoh.spinneControl;
import android.app.Activity;import android.os.Bundle;import android.os.Handler;import android.widget.ProgressBar;
public class Splash extends Activity{
  private static int progress = 0;  private int status = 0;
ProgressBar progressBar;
Handler handler = new Handler();
 public void onCreate(Bundle savedInstanceState){ super.onCreate(savedInstanceState);
setContentView(R.layout.splash);
 progressBar = (ProgressBar) findViewById(R.id.progg);
 new Thread(new Runnable() {

@Overridepublic void run() {// TODO Auto-generated method stub
while(status < 100){
   status = loading();
   handler.post(new Runnable() {
      @Override
      public void run() {
         // TODO Auto-generated method stub
         progressBar.setProgress(status);
      }
   });
}
handler.post(new Runnable() {
@Overridepublic void run() {
  // TODO Auto-generated method stub
  setContentView(R.layout.index);
}
});
}
public int loading(){try {
 Thread.sleep(50);
} catch(InterruptedException ie){
 ie.printStackTrace();
}return ++progress;
}

}).start();
}
}

Buat satu class lagi dengan nama readURL.java :
package contoh.spinneControl;java.net.*;
import java.io.*;
public class readURL {
  private String url;
 
  public readURL(String url) {
     this.url = url;
  }
 
  public String getHTML(){
  String isi = "";
  try {
      URL urlExc = new URL(url);
      BufferedReader in = new BufferedReader(
                          new InputStreamReader(urlExc.openStream()));
      String inputLine;
      while ((inputLine = in.readLine()) != null){
        isi+=inputLine;
      }
      in.close();
  } catch(Exception ex) {
      System.out.println("Error=" + ex.getMessage());
  }
  return isi;
 }
}

Setelah itu buka file XML nya yang terletak di res. Buat File XML sebanyak 3 buah yaitu main.xmlindex.xml , splash.xml
Form Login
Form Welcome

Full Sourcenya dapat di download disini : Cara Mudah Membuat Menu Login Dengan Android danKoneksi ke MYSQL
Dan Tutorialnya dapat di ambil disini : Cara Mudah Membuat Menu Login Dengan Android.doc

Comments

Popular posts from this blog

Cara Mengatasi Masalah System Doesn't Permit To Flash BIOS

Pernah mengalami hal seperti ini ? Berarti Kita Sama... :D tapi jangan cemas, masalah bukan berasal dari mainboar agan2 sekalian... beberapa hari yang lalu temen ane dengan laptop Asus x43u, datang bawa masalah kaya gini, pertama ane kira batre biosnya yang udah suak, terus ane bongkar dah tu laptop, sudah capek bongkar ternya tidak salah duga, bukan batrenya yang suak, ringkas cerita ane mulai pusing ngak tau mau ngomong apa sama temen ane udah jauh jauh datang masa nga ada hasil, ane sebagai alumnus IT meskipun konsentrasinya bukan perangkat keras tapi kan malu kalau masalah seperti ini ngak sanggup pecahin, trus ane pasang lagi tu laptop, sebelum ane pasang keyboard ane coba idupin tu laptop eh kok langsung bisa booting dengan normal, ternyata masalahnya ada di keyboard, untuk agan agan atau temen temen yang punya masalah seperti yang ane dapet, coba buka keyboard laptop agan yang bermasalah tersebut, kalau dalam keadaan tanpa keyboard laptop agan bisa berfungsi normal lag...

Cara Edit Template Login Hotspot Mikrotik

Cara Mengganti Halaman Login Hotspot Mikrotik  - Bagi anda yang sudah membuat Hotspot di Mikrotik nya pastinya tau kan gimana tampilan halaman login default Mikrotik nya. Tampilannya simple dan cenderung membosankan. Nah, sebenarnya  Halaman Login Hotspot Mikrotik  dapat kita edit, modifikasi, dan ganti sesuai keinginan kita loh. Jadi halaman login default Mikrotik yang simple itu bisa kita buat jadi keren abis. Gimana caranya? Gampang kok, konsepnya hampir sama kaya bikin web sederhana. Jadi anda paling tidak harus ngerti bahasa HTML sedikit-sedikit, dan sedikit sentuhan desain tentunya. Oke, sebelum mulai  Belajar Mikrotik  kali ini persiapkan dulu senjatanya : > HTML editor : Dreamweaver, Notepad++, dll > Picture editor : CorelDraw, Photoshop, dll Pastikan  Hotspot Mikrotik  anda sudah jalan, coba akses halaman login hotspot anda di Browser. Buka Winbox, masuk ke menu Files. Semua file halaman login hotspot ada di folder h...

Download Gratis Aplikasi Karaoke Dzone 8 Pro

DZONE 8 XTREME PRO - Software yang selalu menjadi incaran para penikmat karaoke.Tampil baru dengan fitur single layer,dual layer,movie,dan tools untuk tampilan depan.Untuk proteksi nya tidak bisa diragukan lagi,balutan mxprotector,icekey untuk generate serialnya.Masih ditambah enigma dan dongle untuk balutan exe nya.Yang jadi pertanyaan apakah dzone versi baru atau yang sekarang berubah nama menjadi XD MULTIMEDIA tidak bisa dijalankan di pc dengan spec ala kadarnya ?? Bisa jadi...Karena menurut saya sendiri sih,proteksi yang terlalu berlebihan di exe akan menghabiskan banyak memory di windows.jadi spec PC yg ngepas biasanya sering bikin hang.Permasalahan yang sering timbul biasanya tidak jauh-jauh dari kecilnya VGA,memory,dan hard disk. Tanya : Apakah dzone cukup bagus yahh,buat koleksi pribadi saya ?? karena search software karaoke di google pun ujung2 nya lari ke dzone...berarti bagus donk.. Jawaban : Bagus ga sesuaikan dengan kebutuhan anda,uang anda ...