Monday, 4 April 2016

Login with php webservice

MainActivity

import android.content.Intent;
import android.os.AsyncTask;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ListAdapter;
import android.widget.SimpleAdapter;
import android.widget.Toast;

import org.json.JSONArray;
import org.json.JSONObject;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.HashMap;

public class MainActivity extends AppCompatActivity {

    public EditText username,password;
    Button b1,b2;
    String jsonusername;
    ArrayList<HashMap<String,String>> ar;
    ArrayAdapter arrayAdapter;

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

        username=(EditText)findViewById(R.id.edusername);
        password=(EditText)findViewById(R.id.edpassword);
        b1=(Button)findViewById(R.id.btnlogin);
        b1.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                ar=new ArrayList<HashMap<String, String>>();
                arrayAdapter=new ArrayAdapter(getApplicationContext(),R.layout.activity_main,ar);
                new getdata().execute();

            }
        });
        b2=(Button)findViewById(R.id.btnsignup);
        b2.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent i=new Intent(getApplicationContext(),Registration.class);
                startActivity(i);
            }
        });
    }

    class getdata extends AsyncTask<Void,Void,Void>{

        String s="http://192.168.0.105:81/test1/sel.php?u_name="+username.getText().toString().trim()+"&password="+password.getText().toString().trim();
        //String s = "http://10.0.2.2:81/test1/index.php";

        @Override
        protected Void doInBackground(Void... params) {


        httpasynktask ask=new httpasynktask();
            String json=ask.getdata(s);
            Log.d("js", json.toString());
            if (json.toString()!=null) {
            try {
                JSONObject jo=new JSONObject(json);
                Log.d("json",json);
                JSONArray ja=jo.getJSONArray("users");

                for (int i=0;i<ja.length();i++){
                    HashMap<String,String> map=new HashMap<>();
                        JSONObject jobj=ja.getJSONObject(i);
                    map.put("id", jobj.getString("id"));
                    map.put("uname", jobj.getString("username"));
                    map.put("password", jobj.getString("password"));
                    Log.d("asdf0", jobj.getString("username"));
                    jsonusername=jobj.getString("username");
                    ar.add(map);

                    }
            }
            catch (Exception e){
                       // e.printStackTrace();
                System.out.print("Invalid User");
            }
            }
            else{
                Log.d("Error","json not get");
            }
            return null;
        }
        @Override
        protected void onPostExecute(Void aVoid) {
            super.onPostExecute(aVoid);

            if(jsonusername==null){
                    Toast.makeText(getApplicationContext(),"Please Enter Correct Username and Password",Toast.LENGTH_LONG).show();
            }
            else {
                Intent i=new Intent(getApplicationContext(),secact.class);
                i.putExtra("uname",jsonusername);
                startActivity(i);

            }


        }
    }
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.menu_main, menu);
        return true;
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        // Handle action bar item clicks here. The action bar will
        // automatically handle clicks on the Home/Up button, so long
        // as you specify a parent activity in AndroidManifest.xml.
        int id = item.getItemId();

        //noinspection SimplifiableIfStatement
        if (id == R.id.action_settings) {
            return true;
        }

        return super.onOptionsItemSelected(item);
    }

}


httpasynktask

import android.util.Log;

import java.io.BufferedInputStream;
import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;

/**
 * Created by Nappy on 19-Feb-16.
 */
public class httpasynktask {

    String s;
    static String stream=null;
    httpasynktask(){

    }
    public String getdata(String urlnew){

        Log.d("URL",urlnew);
        try {
            URL url=new URL(urlnew);
            HttpURLConnection httpURLConnection=(HttpURLConnection)url.openConnection();
            httpURLConnection.setRequestMethod("GET");
            s= String.valueOf(httpURLConnection.getResponseCode());
            Log.d("Connection",s);
            Log.d("Con","con");
            if(httpURLConnection.getResponseCode()==200){
                Log.d("res","200");
                InputStream in= new BufferedInputStream(httpURLConnection.getInputStream());
                BufferedReader br=new BufferedReader(new InputStreamReader(in));
                StringBuilder sb=new StringBuilder();
                String line;
                while((line=br.readLine())!=null){
                    sb.append(line);
                    Log.d("sb", sb.toString());
                    }
                stream =sb.toString();

                httpURLConnection.disconnect();
            }
            else{

            }
        }
        catch (Exception e){
            e.printStackTrace();
        }
        return stream;
    }
}


Registration

import android.content.Intent;
import android.content.SharedPreferences;
import android.os.AsyncTask;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;

public class Registration extends AppCompatActivity {

    String uname,pass;
    EditText username,password;
    Button b1;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_registration);

        username=(EditText)findViewById(R.id.edusername);
        password=(EditText)findViewById(R.id.edpassword);
        b1=(Button)findViewById(R.id.btnreg);
        b1.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {


                                        new httpinserttask().execute();
            }
        });


    }
    class httpinserttask extends AsyncTask<Void,Void,Void>{

        String s = "http://10.0.2.2/test1/insert.php?u_name="+username.getText().toString().trim()+"&password="+password.getText().toString().trim();

        @Override
        protected Void doInBackground(Void... params) {
                httpasynktask ask=new httpasynktask();
                Log.d("Asynk Task", "done");
                String json = ask.getdata(s);
                System.out.println(json);

            return null;
        }


        @Override
        protected void onPostExecute(Void aVoid) {
            super.onPostExecute(aVoid);
            Toast.makeText(getApplicationContext(), "You are Register", Toast.LENGTH_SHORT).show();
            Intent i=new Intent(getApplicationContext(),MainActivity.class);
            startActivity(i);
        }
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.menu_registration, menu);
        return true;
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        // Handle action bar item clicks here. The action bar will
        // automatically handle clicks on the Home/Up button, so long
        // as you specify a parent activity in AndroidManifest.xml.
        int id = item.getItemId();

        //noinspection SimplifiableIfStatement
        if (id == R.id.action_settings) {
            return true;
        }

        return super.onOptionsItemSelected(item);
    }
}


secact

import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.TextView;

public class secact extends AppCompatActivity {

    TextView t;
    String s;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_secact);

        t=(TextView)findViewById(R.id.textView2);

        Intent i=getIntent();
        s=i.getStringExtra("uname");
        t.setText(s);
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.menu_secact, menu);
        return true;
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        // Handle action bar item clicks here. The action bar will
        // automatically handle clicks on the Home/Up button, so long
        // as you specify a parent activity in AndroidManifest.xml.
        int id = item.getItemId();

        //noinspection SimplifiableIfStatement
        if (id == R.id.action_settings) {
            return true;
        }

        return super.onOptionsItemSelected(item);
    }
}


activity_main.xml

<LinearLayout 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:orientation="vertical" tools:context=".MainActivity">


    <EditText
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:inputType="textEmailAddress"
        android:ems="10"
        android:id="@+id/edusername"
        android:layout_gravity="center_horizontal"
        android:hint="Enter Username" />

    <EditText
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:inputType="textPassword"
        android:ems="10"
        android:id="@+id/edpassword"
        android:layout_gravity="center_horizontal"
        android:hint="Enter Password" />

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Login"
        android:id="@+id/btnlogin"
        android:layout_gravity="center_horizontal" />

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Signup"
        android:id="@+id/btnsignup"
        android:layout_gravity="center_horizontal" />
</LinearLayout>


activity_registration.xml

<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="com.example.nappy.firstlogin.Registration">

    <EditText
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:inputType="textPersonName"
        android:ems="10"
        android:id="@+id/edusername"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true"
        android:hint="Enter Username" />

    <EditText
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:inputType="textPassword"
        android:ems="10"
        android:id="@+id/edpassword"
        android:layout_below="@+id/edusername"
        android:layout_alignLeft="@+id/edusername"
        android:layout_alignStart="@+id/edusername"
        android:hint="Enter Password" />

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Register"
        android:id="@+id/btnreg"
        android:layout_below="@+id/edpassword"
        android:layout_centerHorizontal="true" />
</RelativeLayout>


activity_secact.xml

<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="com.example.nappy.firstlogin.secact">

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textAppearance="?android:attr/textAppearanceLarge"
        android:text="Large Text"
        android:id="@+id/textView2"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true" />
</RelativeLayout>



WEBSERVICE

sel.php

<?php
include "connection.php";

$uname=$_GET["u_name"];
$pass=$_REQUEST["password"];
if($uname==null ){

$r ["res"]="Fill all the Fields";
echo json_encode($r);
}


$sql="Select * from user Where username='$uname' AND password='$pass'";
$array=mysql_query($sql);

$no_of_rows = mysql_num_rows($array);
        if ($no_of_rows > 0) {
            // user existed 
            $arr=array();

while($row=mysql_fetch_assoc($array)){

$arr ["users"][]=$row;

}
echo json_encode($arr);
        } else {
            // user not existed
//$arr=null;
            //echo json_encode($arr);
$arr=array();

while($row=mysql_fetch_assoc($array)){

$arr ["invaliduser"][]=$row;

}
echo json_encode($arr);
        }
?>


insert.php

<?php

include "connection.php";

$uname=$_REQUEST["u_name"];
$pass=$_REQUEST["password"];

if($uname==null || $pass==null){

$r ["res"]="Fill all the Fields";
echo json_encode($r);
}
else{
$q="Insert into user(`username`,`password`) values('$uname','$pass')";

$d=mysql_query($q);
if(!$d){
$r["res"]="Problem in Insertation";
echo json_encode($r);
}
else{
$r["res"]="Insertation success";
echo json_encode($r);

}

}

?>




No comments:

Post a Comment