Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.coba.aplikasiku;
- import android.app.Activity;
- import android.app.ProgressDialog;
- import android.content.Intent;
- import android.os.AsyncTask;
- import android.os.Bundle;
- import android.util.Patterns;
- import android.view.View;
- import android.widget.Button;
- import android.widget.EditText;
- import android.widget.Toast;
- import java.io.BufferedReader;
- import java.io.IOException;
- import java.io.InputStream;
- import java.io.InputStreamReader;
- import java.net.HttpURLConnection;
- import java.net.MalformedURLException;
- import java.net.URL;
- import android.net.Uri;
- import com.basgeekball.awesomevalidation.AwesomeValidation;
- import com.basgeekball.awesomevalidation.ValidationStyle;
- import java.io.BufferedWriter;
- import java.io.OutputStream;
- import java.io.OutputStreamWriter;
- public class Login extends Activity {
- // CONNECTION_TIMEOUT and READ_TIMEOUT are in milliseconds
- public static final int CONNECTION_TIMEOUT=10000;
- public static final int READ_TIMEOUT=15000;
- private EditText etEmail;
- private EditText etPassword;
- private Button btnLogin;
- private AwesomeValidation awesomeValidation;
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_login);
- // Get Reference to variables
- etEmail = (EditText) findViewById(R.id.et_email);
- etPassword = (EditText) findViewById(R.id.et_password);
- btnLogin = (Button) findViewById(R.id.btn_login);
- awesomeValidation = new AwesomeValidation(ValidationStyle.BASIC);
- //adding validation to edittexts
- awesomeValidation.addValidation(this, R.id.et_email, Patterns.EMAIL_ADDRESS, R.string.emailerror);
- awesomeValidation.addValidation(this, R.id.et_password, "^[A-Za-z\\s]{1,}[\\.]{0,1}[A-Za-z\\s]{0,}$", R.string.passworderror);
- btnLogin.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- if (awesomeValidation.validate()) {
- // Get text from email and passord field
- final String email = etEmail.getText().toString();
- final String password = etPassword.getText().toString();
- // Initialize AsyncLogin() class with email and password
- new AsyncLogin().execute(email,password);
- }
- }
- });
- }
- private class AsyncLogin extends AsyncTask<String, String, String> {
- ProgressDialog pdLoading = new ProgressDialog(Login.this);
- HttpURLConnection conn;
- URL url = null;
- @Override
- protected void onPreExecute() {
- super.onPreExecute();
- //this method will be running on UI thread
- pdLoading.setMessage("\tMohon Ditunggu ...");
- pdLoading.setCancelable(false);
- pdLoading.show();
- }
- @Override
- protected String doInBackground(String... params) {
- try {
- // Enter URL address where your php file resides
- url = new URL("http://alamathosting.com/code/login.php");
- } catch (MalformedURLException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- return "exception";
- }
- try {
- // Setup HttpURLConnection class to send and receive data from php and mysql
- conn = (HttpURLConnection)url.openConnection();
- conn.setReadTimeout(READ_TIMEOUT);
- conn.setConnectTimeout(CONNECTION_TIMEOUT);
- conn.setRequestMethod("POST");
- // setDoInput and setDoOutput method depict handling of both send and receive
- conn.setDoInput(true);
- conn.setDoOutput(true);
- // Append parameters to URL
- Uri.Builder builder = new Uri.Builder()
- .appendQueryParameter("username", params[0])
- .appendQueryParameter("password", params[1]);
- String query = builder.build().getEncodedQuery();
- // Open connection for sending data
- OutputStream os = conn.getOutputStream();
- BufferedWriter writer = new BufferedWriter(
- new OutputStreamWriter(os, "UTF-8"));
- writer.write(query);
- writer.flush();
- writer.close();
- os.close();
- conn.connect();
- } catch (IOException e1) {
- // TODO Auto-generated catch block
- e1.printStackTrace();
- return "exception";
- }
- try {
- int response_code = conn.getResponseCode();
- // Check if successful connection made
- if (response_code == HttpURLConnection.HTTP_OK) {
- // Read data sent from server
- InputStream input = conn.getInputStream();
- BufferedReader reader = new BufferedReader(new InputStreamReader(input));
- StringBuilder result = new StringBuilder();
- String line;
- while ((line = reader.readLine()) != null) {
- result.append(line);
- }
- // Pass data to onPostExecute method
- return(result.toString());
- }else{
- return("unsuccessful");
- }
- } catch (IOException e) {
- e.printStackTrace();
- return "exception";
- } finally {
- conn.disconnect();
- }
- }
- @Override
- protected void onPostExecute(String result) {
- //this method will be running on UI thread
- pdLoading.dismiss();
- if(result.equalsIgnoreCase("true")){
- /* Here launching another activity when login successful. If you persist login state
- use sharedPreferences of Android. and logout button to clear sharedPreferences.
- */
- Intent intent = new Intent(Login.this,MainActivity.class);
- startActivity(intent);
- Login.this.finish();
- }else if (result.equalsIgnoreCase("false")){
- // If username and password does not match display a error message
- Toast.makeText(Login.this, "Username dan Password tidak sesuai", Toast.LENGTH_LONG).show();
- } else if (result.equalsIgnoreCase("exception") || result.equalsIgnoreCase("unsuccessful")) {
- Toast.makeText(Login.this, "Terjadi Kesalahan. Periksa Koneksi Anda.", Toast.LENGTH_LONG).show();
- }
- }
- }
- public void onClickRegister(View theButton) {
- Intent register = new Intent(this, Register.class);
- startActivity(register);
- }
- public void onClickForgot(View theButton) {
- Intent forgot = new Intent(this, ForgotPass.class);
- startActivity(forgot);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement