0

I have a problem to solve: i've found a video tutorial that explain how to create a Register page in Android. In this video, the developer don't use a direct connetion to database through JDBC, but he use a page called conn.php for the database information, and a page called register.php for the register system with POST method:

conn.php:

<?php
$db_name = "database_name";
$mysql_username = "root";
$mysql_password = "";
$server_name = "localhost";
$conn = mysqli_connect($server_name, $mysql_username, $mysql_password, $db_name);
if($conn){
    echo "Connection successful!";
    }
    else{
        echo "Connection not working!";
    }
?>

register.php

<?php
require "conn.php";
$nome = $_POST["Nome"];
$cognome = $_POST["Cognome"];
$indirizzo = $_POST["Indirizzo"];
$citta = $_POST["Citta"];
$stato_occhi = $_POST["Stato_Occhi"];
$note = $_POST["Note"];

$mysql_query = "INSERT INTO Richieste (Nome, Cognome, Indirizzo, Citta, Stato_Occhi, Note) VALUES ('$nome', '$cognome', '$indirizzo', '$citta', '$stato_occhi', '$note')";

if($conn->query($mysql_query)=== TRUE){
        echo "Richiesta eseguita correttamente!";
    }
    else{
        echo "Errore: " . $mysql_query . "<br>" . $conn->error;
    }
    $conn->close();
?>

BackgroundWorker.java

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 ProgrammingKnowledge on 1/5/2016.
 */
public class BackgroundWorker extends AsyncTask<String,Void,String> {
    Context context;
    AlertDialog alertDialog;
    BackgroundWorker (Context ctx) {
        context = ctx;
    }
    @Override
    protected String doInBackground(String... params) {
        String type = params[0];
        String register_url = "http://localhost/register.php";
        if(type.equals("register")) {
            try {
                String nome = params[1];
                String cognome = params[2];
                String indirizzo = params[3];
                String citta = params[4];
                boolean stato_occhi = params[5];
                String note = params[6];
                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("Nome","UTF-8")+"="+URLEncoder.encode(nome,"UTF-8")+"&"
                        +URLEncoder.encode("Cognome","UTF-8")+"="+URLEncoder.encode(cognome,"UTF-8")+"&"
                        +URLEncoder.encode("Indirizzo","UTF-8")+"="+URLEncoder.encode(indirizzo,"UTF-8")+"&"
                        +URLEncoder.encode("Citta","UTF-8")+"="+URLEncoder.encode(citta,"UTF-8")+"&"
                        +URLEncoder.encode("Stato_Occhi","UTF-8")+"="+URLEncoder.encode(stato_occhi,"UTF-8")+"&"
                        +URLEncoder.encode("Note","UTF-8")+"="+URLEncoder.encode(note,"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 null;
    }

    @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);
    }
}

Now i need to create the same project for a simple Java Application (not for android), but the class BackgroundWorker.java not working for normal java applications, what i'll must edit to make this class working for normal Java Application?

0 Answers0