Wednesday 17 August 2016

JSON



BackgroundWorker.java

package com.example.royaloak.jsontut2;

import android.app.AlertDialog;
import android.content.Context;
import android.os.AsyncTask;

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;
import java.net.URLEncoder;

/**
 * Created by Royal Oak on 3/3/2016.
 */
public class BackgroundWorker extends AsyncTask<String,String,String> {
    Context
context;
    AlertDialog
alertDialog;
    String
result;
    BackgroundWorker(Context ctx) {
       
context = ctx;

    }

   
@Override
   
protected String doInBackground(String... params) {
        String type = params[
0];
        String login_url =
"http://192.168.1.103/andphpjson/login.php";
        String register_url =
"http://192.168.1.103/andphpjson/register.php";
        
if (type.equals("login")) {
           
try {
                String user_name = params[
1];
                String password = params[
2];
                URL url =
new URL(login_url);
                HttpURLConnection httpURLConnection = (HttpURLConnection) url.openConnection();
                httpURLConnection.setRequestMethod(
"POST");
                httpURLConnection.setDoOutput(
true);
                httpURLConnection.setDoInput(
true);
                OutputStream outputStream = httpURLConnection.getOutputStream();
                BufferedWriter bufferedWriter =
new BufferedWriter(new OutputStreamWriter(outputStream, "UTF-8"));
                String post_data = URLEncoder.encode(
"user_name", "UTF-8") + "=" + URLEncoder.encode(user_name, "UTF-8") + "&"
                       
+ URLEncoder.encode("password", "UTF-8") + "=" + URLEncoder.encode(password, "UTF-8");
                bufferedWriter.write(post_data);
                bufferedWriter.flush();
                bufferedWriter.close();
                outputStream.close();
                InputStream inputStream = httpURLConnection.getInputStream();
                BufferedReader bufferedReader =
new BufferedReader(new InputStreamReader(inputStream, "iso-8859-1"));
               
result = "";
                String line =
"";
               
while ((line = bufferedReader.readLine()) != null) {
                   
result += line;
                }
                bufferedReader.close();
                inputStream.close();
                httpURLConnection.disconnect();
               
return result;
            }
catch (MalformedURLException e) {
                e.printStackTrace();
            }
catch (IOException e) {
                e.printStackTrace();
            }
        }
else if (type.equals("register")){
           
try {
                String user_name = params[
1];
                String password = params[
2];
                String name = params[
3];
                String surname = params[
4];

                URL url =
new URL(register_url);
                HttpURLConnection httpURLConnection = (HttpURLConnection) url.openConnection();
                httpURLConnection.setRequestMethod(
"POST");
                httpURLConnection.setDoOutput(
true);
                httpURLConnection.setDoInput(
true);
                OutputStream outputStream = httpURLConnection.getOutputStream();
                BufferedWriter bufferedWriter =
new BufferedWriter(new OutputStreamWriter(outputStream, "UTF-8"));
                String post_data = URLEncoder.encode(
"user_name", "UTF-8") + "=" + URLEncoder.encode(user_name, "UTF-8") + "&"
                       
+ URLEncoder.encode("password", "UTF-8") + "=" + URLEncoder.encode(password, "UTF-8")
                        +
"&" + URLEncoder.encode("name", "UTF-8") + "=" + URLEncoder.encode(name, "UTF-8")
                        +
"&" + URLEncoder.encode("surname", "UTF-8") + "=" + URLEncoder.encode(surname, "UTF-8");
                bufferedWriter.write(post_data);
                bufferedWriter.flush();
                bufferedWriter.close();
                outputStream.close();
                InputStream inputStream = httpURLConnection.getInputStream();
                BufferedReader bufferedReader =
new BufferedReader(new InputStreamReader(inputStream, "iso-8859-1"));
                String result =
"";
                String line =
"";
               
while ((line = bufferedReader.readLine()) != null) {
                    result += line;
                }
                bufferedReader.close();
                inputStream.close();
                httpURLConnection.disconnect();
               
return result;
            }
catch (MalformedURLException e) {
                e.printStackTrace();
            }
catch (IOException e) {
                e.printStackTrace();
            }

        }
       
return result;
    }

   
@Override
   
protected void onPreExecute() {
      
/* alertDialog = new AlertDialog.Builder(context).create();
        alertDialog.setTitle("Login Status");*/
   
}

   
@Override
   
protected void onPostExecute(String result) {

    
/*   alertDialog.setMessage(result);
       alertDialog.show();*/

   
}

 
/*  @Override
    protected void onProgressUpdate(Void... values) {
        super.onProgressUpdate(values);
    }*/
}


MainActivity.java

package com.example.royaloak.jsontut2;



import android.content.Intent;

import android.support.v7.app.AppCompatActivity;

import android.os.Bundle;

import android.view.View;

import android.widget.EditText;

import android.widget.TextView;

import android.widget.Toast;



public class MainActivity extends AppCompatActivity {



    BackgroundWorker backgroundWorker;

    EditText UsernameEt, PasswordEt;

    TextView textView1;

    String str2;

    @Override

    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_main);



        UsernameEt = (EditText)findViewById(R.id.etUserName);

        PasswordEt = (EditText)findViewById(R.id.etPassword);

        textView1 = (TextView)findViewById(R.id.textView);



    }



    public void OnLogin(View view) {

        String username = UsernameEt.getText().toString();

        String password = PasswordEt.getText().toString();

        String type = "login";

        backgroundWorker = new BackgroundWorker(this);

        backgroundWorker.execute(type, username, password);



       // String str1=backgroundWorker.result;

        /* Toast.makeText(getApplicationContext(),str2,Toast.LENGTH_LONG).show();

        textView1.setText(str2);*/

    }

    public void onRegs(View view)

    {

        Intent intent=new Intent(this,Register.class);

        startActivity(intent);

    }

}

activity_main.xml
<?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=".MainActivity"

    android:id="@+id/myrl">



    <EditText

        android:layout_width="wrap_content"

        android:layout_height="wrap_content"

        android:inputType="textPersonName"

        android:ems="10"

        android:id="@+id/etUserName"

        android:layout_alignParentTop="true"

        android:layout_marginTop="47dp" />



    <EditText

        android:layout_width="wrap_content"

        android:layout_height="wrap_content"

        android:inputType="textPassword"

        android:ems="10"

        android:id="@+id/etPassword"

        android:layout_below="@+id/etUserName"

        android:layout_alignParentLeft="true"

        android:layout_alignParentStart="true" />



    <Button

        android:layout_width="wrap_content"

        android:layout_height="wrap_content"

        android:text="Login"

        android:id="@+id/btnLogin"

        android:layout_below="@+id/etPassword"

        android:layout_alignParentLeft="true"

        android:layout_alignParentStart="true"

        android:layout_marginLeft="48dp"

        android:layout_marginStart="48dp"

        android:layout_marginTop="50dp"

        android:onClick="OnLogin"/>

    <Button

        android:layout_width="200px"

        android:layout_height="100px"

        android:text="insert page"

        android:background="#ff6600"

        android:onClick="onRegs"

        android:layout_below="@+id/btnLogin"

        android:id="@+id/button" />



    <TextView

        android:layout_width="match_parent"

        android:layout_height="wrap_content"

        android:text="New Text"

        android:id="@+id/textView"

        android:layout_alignParentLeft="true"

        android:layout_alignParentStart="true" />



</RelativeLayout>


No comments:

Post a Comment