Tuesday, 10 January 2017

How to pass form data from Android to PHP CODE EXAMPLE

22:37

(1)write code for Main2Activity.java file:
package com.guru.login;

import android.app.ProgressDialog;
import android.content.Intent;
import android.net.Uri;
import android.os.AsyncTask;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.EditText;
import android.widget.Toast;

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;

public class Main2Activity extends AppCompatActivity {

   
// 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 etEmail1;
   
private EditText etPassword;

   
@Override
   
protected void onCreate(Bundle savedInstanceState) {
       
super.onCreate(savedInstanceState);
        setContentView(R.layout.
activity_main2);

       
// Get Reference to variables
       
etEmail = (EditText) findViewById(R.id.email);
       
etEmail1 = (EditText) findViewById(R.id.email1);
       
etPassword = (EditText) findViewById(R.id.password);

    }

   
// Triggers when LOGIN Button clicked
   
public void checkLogin(View arg0) {

       
// Get text from email and passord field
       
final String email = etEmail.getText().toString();
       
final String email1 = etEmail1.getText().toString();
       
final String password = etPassword.getText().toString();

       
// Initialize  AsyncLogin() class with email and password
       
new AsyncLogin().execute(email,email1, password);

    }

   
private class AsyncLogin extends AsyncTask<String, String, String>
    {
        ProgressDialog
pdLoading = new ProgressDialog(Main2Activity.this);
        HttpURLConnection
conn;
        URL
url = null;

       
@Override
       
protected void onPreExecute() {
            
super.onPreExecute();

           
//this method will be running on UI thread
           
pdLoading.setMessage("\tLoading...");
           
pdLoading.setCancelable(false);
           
pdLoading.show();

        }
       
@Override
       
protected String doInBackground(String... params) {
           
try {

               
// Enter URL address where your php file resides
               
url = new URL("http://funmoviemasti.com/om/insert.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(
"email", params[0])
                        .appendQueryParameter(
"email1", params[1])
                        .appendQueryParameter(
"password", params[2]);
                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(Main2Activity.this,SuccessActivity.class);
                startActivity(intent);
                Main2Activity.
this.finish();

            }
else if (result.equalsIgnoreCase("false")){

               
// If username and password does not match display a error message
               
Toast.makeText(Main2Activity.this, "Invalid email or password", Toast.LENGTH_LONG).show();

            }
else if (result.equalsIgnoreCase("exception") || result.equalsIgnoreCase("unsuccessful")) {

                Toast.makeText(Main2Activity.
this, "OOPs! Something went wrong. Connection Problem.", Toast.LENGTH_LONG).show();

            }
        }

    }
}

(2)write code for  activity_main2.xml file:
<?xml version="1.0" encoding="utf-8"?>

<android.support.design.widget.CoordinatorLayout

    xmlns:android="http://schemas.android.com/apk/res/android"

    xmlns:app="http://schemas.android.com/apk/res-auto"

    xmlns:tools="http://schemas.android.com/tools"
 android:layout_width="match_parent"

    android:layout_height="match_parent" android:fitsSystemWindows="true"

    tools:context="com.guru.login.Main2Activity">



    <android.support.design.widget.AppBarLayout
 android:layout_height="wrap_content"

        android:layout_width="match_parent"
 android:theme="@style/AppTheme.AppBarOverlay">



        <android.support.v7.widget.Toolbar android:id="@+id/toolbar"

            android:layout_width="match_parent"
 android:layout_height="?attr/actionBarSize"

            android:background="?attr/colorPrimary"
 app:popupTheme="@style/AppTheme.PopupOverlay" />



    </android.support.design.widget.AppBarLayout>



    <include layout="@layout/content_main2" />



    <android.support.design.widget.FloatingActionButton android:id="@+id/fab"

        android:layout_width="wrap_content" 
android:layout_height="wrap_content"

        android:layout_gravity="bottom|end" 
android:layout_margin="@dimen/fab_margin"

        android:src="@android:drawable/ic_dialog_email" />



</android.support.design.widget.CoordinatorLayout>

(3)write code for content_main2.xml file:
<?xml version="1.0" encoding="utf-8"?>

<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" 
android:paddingLeft="@dimen/activity_horizontal_margin"

    android:paddingRight="@dimen/activity_horizontal_margin"

    android:paddingTop="@dimen/activity_vertical_margin"

    android:paddingBottom="@dimen/activity_vertical_margin" 
tools:context=".Main2Activity">



    <EditText

        android:layout_width="match_parent"

        android:layout_height="wrap_content"

        android:inputType="textEmailAddress"

        android:ems="10"

        android:id="@+id/email"

        android:layout_alignParentTop="true"

        android:layout_alignParentLeft="true"

        android:layout_alignParentStart="true"

        android:hint="Email"

        android:layout_marginTop="100dp"/>

    <EditText

        android:layout_width="match_parent"

        android:layout_height="wrap_content"

        android:inputType="textEmailAddress"

        android:ems="10"

        android:id="@+id/email1"

        android:layout_alignParentTop="true"

        android:layout_alignParentLeft="true"

        android:layout_alignParentStart="true"

        android:hint="Email1"

        android:layout_marginTop="130dp"/>



    <EditText

        android:layout_width="match_parent"

        android:layout_height="wrap_content"

        android:inputType="textPassword"

        android:ems="10"

        android:id="@+id/password"

        android:layout_below="@+id/email"

        android:hint="Password"

        android:layout_marginTop="10dp"/>



    <Button

        android:layout_width="match_parent"

        android:layout_height="wrap_content"

        android:text="LOGIN"

        android:id="@+id/button"

        android:layout_below="@+id/password"

        android:layout_marginTop="10dp"

        android:onClick="checkLogin"/>



</RelativeLayout>

(4)write code for SuccessActivity.java file:
 
package com.guru.login;



import android.support.v7.app.AppCompatActivity;

import android.os.Bundle;



public class SuccessActivity extends AppCompatActivity {



    @Override

    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_success);

    }

}

(5)write  code for  activity_success.xml  file:
<?xml version="1.0" encoding="utf-8"?>

<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" 
android:paddingLeft="@dimen/activity_horizontal_margin"

    android:paddingRight="@dimen/activity_horizontal_margin"

    android:paddingTop="@dimen/activity_vertical_margin"

    android:paddingBottom="@dimen/activity_vertical_margin">



    <TextView

        android:layout_width="wrap_content"

        android:layout_height="wrap_content"

        android:textAppearance="?android:attr/textAppearanceLarge"

        android:text="WELCOME"

        android:id="@+id/textView"

        android:layout_alignParentTop="true"

        android:layout_centerHorizontal="true"

        android:layout_marginTop="62dp" />



    <TextView

        android:layout_width="wrap_content"

        android:layout_height="wrap_content"

        android:textAppearance="?android:attr/textAppearanceMedium"

        android:text="Successfully LoggedIn"

        android:id="@+id/textView2"

        android:layout_marginTop="46dp"

        android:layout_below="@+id/textView"

        android:layout_centerHorizontal="true" />



</RelativeLayout>

(6)write code for php server side:
<?php

$email = $_POST['email'];
$email1 = $_POST['email1'];
$password=$_POST['password'];

if($email=="email" && $email1=="email1" && $password="password")
{
echo "true";
}
else
{
echo " false";
}


?>

Written by

We are Creative Blogger Theme Wavers which provides user friendly, effective and easy to use themes. Each support has free and providing HD support screen casting.

6 comments:

  1. Android Corporate Training Gurgaon - Android Training Company Delhi will help developers build great apps is what the Android Developer do. This post contains a lot of information. Thanks for sharing

    ReplyDelete
  2. Thanks for sharing this good really very unique way of writing the code
    got the required result.
    android training in bangalore near marathahalli

    ReplyDelete
  3. Android training in Jaipur is also provide complete live project training with best industry experts in Jaipur.

    ReplyDelete
  4. Twigs Technologies is a leading company in the development of applications for Android. Development of Android applications Being the core of today's mobile strategy, we are helping global companies develop and implement the best Android class applications to keep them before the curve. Not only do we develop excellent Android applications, but we also support it in terms of marketing and monetization applications. With a ready-to-use framework and a strong team of Android application developers, we are rapidly developing the application and deploying the project according to the planned schedule. Android App Development in Gurgaon

    ReplyDelete
  5. Excellent Blog. Your blog actually solve the big problem of the Android application for the summer training for cs student.

    ReplyDelete

 

© 2013 ANDROID TRAINING AT VISSICOMP BY OM SIR. All rights resevered. Designed by Templateism

Back To Top