Upload Text File to Mysql Android Php Mysql

Android - PHP/MYSQL


In this chapter , nosotros are going to explain, how you tin integrate PHP and MYSQL with your android application. This is very useful in case you have a webserver, and you want to access its data on your android application.

MYSQL is used as a database at the webserver and PHP is used to fetch data from the database. Our application will communicate with the PHP page with necessary parameters and PHP volition contact MYSQL database and will fetch the result and return the results to the states.

PHP - MYSQL

Creating Database

MYSQL database tin exist created hands using this uncomplicated script. The CREATE DATABASE statement creates the database.

<?php    $con=mysqli_connect("example.com","username","password");    $sql="CREATE DATABASE my_db";    if (mysqli_query($con,$sql)) {       echo "Database my_db created successfully";    } ?>        

Creating Tables

Once database is created, its fourth dimension to create some tables in the database. The CREATE TABLE statement creates the database.

<?php    $con=mysqli_connect("case.com","username","countersign","my_db");    $sql="CREATE Table table1(Username CHAR(30),Password CHAR(30),Role CHAR(30))";    if (mysqli_query($con,$sql)) {       repeat "Tabular array have been created successfully";    } ?>        

Inserting Values in tables

When the database and tables are created. Now its fourth dimension to insert some data into the tables. The Insert Into statement creates the database.

<?php    $con=mysqli_connect("instance.com","username","password","my_db");    $sql="INSERT INTO table1 (FirstName, LastName, Age) VALUES ('admin', 'admin','adminstrator')";    if (mysqli_query($con,$sql)) {       echo "Values accept been inserted successfully";    } ?>        

PHP - GET and POST methods

PHP is also used to fetch the record from the mysql database once it is created. In order to fetch record some information must exist passed to PHP page regarding what record to be fetched.

The first method to laissez passer information is through Become method in which $_GET command is used. The variables are passed in the url and the record is fetched. Its syntax is given below −

<?php    $con=mysqli_connect("case.com","username","password","database proper name");     if (mysqli_connect_errno($con)) {       repeat "Failed to connect to MySQL: " . mysqli_connect_error();    }     $username = $_GET['username'];    $password = $_GET['password'];    $result = mysqli_query($con,"SELECT Part FROM table1 where Username='$username'        and Countersign='$countersign'");    $row = mysqli_fetch_array($effect);    $data = $row[0];     if($information){       echo $data;    }    mysqli_close($con); ?>        

The second method is to utilize POST method. The only change in the above script is to replace $_GET with $_POST. In Post method, the variables are not passed through URL.

Android - Connecting MYSQL

Connecting Via Go Method

In that location are two ways to connect to MYSQL via PHP folio. The first one is called Go method. We will use HttpGet and HttpClient class to connect. Their syntax is given below −

URL url = new URL(link); HttpClient customer = new DefaultHttpClient(); HttpGet request = new HttpGet(); request.setURI(new URI(link));        

After that you need to telephone call execute method of HttpClient form and receive it in a HttpResponse object. Afterwards that y'all need to open streams to receive the data.

HttpResponse response = customer.execute(asking); BufferedReader in = new BufferedReader (new InputStreamReader(response.getEntity().getContent()));        

Connecting Via Postal service Method

In the Post method, the URLEncoder,URLConnection course will exist used. The urlencoder volition encode the data of the passing variables. It'south syntax is given below −

URL url = new URL(link); String data  = URLEncoder.encode("username", "UTF-8")  + "=" + URLEncoder.encode(username, "UTF-8"); data += "&" + URLEncoder.encode("password", "UTF-8")  + "=" + URLEncoder.encode(password, "UTF-8"); URLConnection conn = url.openConnection();        

The last matter you need to do is to write this data to the link. After writing, you need to open stream to receive the responded data.

OutputStreamWriter wr = new OutputStreamWriter(conn.getOutputStream());  wr.write( information );  BufferedReader reader = new BufferedReader(new  InputStreamReader(conn.getInputStream()));        

Example

The beneath instance is a complete example of connecting your android awarding with MYSQL database via PHP page. It creates a basic application that allows you to login using GET and POST method.

PHP - MYSQL part

In this example a database with the name of temp has been created at 000webhost.com. In that database, a table has been created with the name of table1. This table has three fields. (Username, Password, Role). The table has merely one record which is ("admin","admin","administrator").

The php folio has been given below which takes parameters past mail method.

<?php    $con=mysqli_connect("mysql10.000webhost.com","username","countersign","db_name");     if (mysqli_connect_errno($con)) {       echo "Failed to connect to MySQL: " . mysqli_connect_error();    } 	    $username = $_POST['username'];    $countersign = $_POST['countersign'];    $result = mysqli_query($con,"SELECT Role FROM table1 where     Username='$username' and Password='$countersign'");    $row = mysqli_fetch_array($effect);    $data = $row[0];     if($information){       echo $information;    } 	    mysqli_close($con); ?>        

Android Function

To experiment with this example , you need to run this on an actual device on which wifi net is connected.

Steps Description
i You will employ Android studio IDE to create an Android awarding and name it every bit PHPMYSQL under a package com.instance.phpmysql.
2 Modify src/MainActivity.java file to add Activity code.
3 Create src/SiginActivity.java file to add together PHPMYSQL code.
four Modify layout XML file res/layout/activity_main.xml add any GUI component if required.
5 Change res/values/string.xml file and add necessary string components.
6 Change AndroidManifest.xml to add necessary permissions.
7 Run the application and choose a running android device and install the application on it and verify the results.

Hither is the content of src/com.example.phpmysql/MainActivity.coffee.

packet com.example.phpmysql;  import android.app.Activeness; import android.os.Packet; import android.view.View; import android.widget.EditText; import android.widget.TextView;  public class MainActivity extends Action {     individual EditText usernameField,passwordField;    individual TextView status,role,method;     @Override    protected void onCreate(Packet savedInstanceState) {       super.onCreate(savedInstanceState);       setContentView(R.layout.activity_main);        usernameField = (EditText)findViewById(R.id.editText1);       passwordField = (EditText)findViewById(R.id.editText2);        status = (TextView)findViewById(R.id.textView6);       function = (TextView)findViewById(R.id.textView7);       method = (TextView)findViewById(R.id.textView9);    }       public void login(View view){       String username = usernameField.getText().toString();       String password = passwordField.getText().toString();       method.setText("Get Method");       new SigninActivity(this,status,part,0).execute(username,countersign);     }     public void loginPost(View view){       String username = usernameField.getText().toString();       String countersign = passwordField.getText().toString();       method.setText("Post Method");       new SigninActivity(this,condition,role,1).execute(username,password);    } }        

Here is the content of src/com.example.phpmysql/SigninActivity.coffee.

package com.example.phpmysql;  import java.io.BufferedReader; import java.io.InputStreamReader; import coffee.io.OutputStreamWriter; import java.net.URI; import java.net.URL; import java.cyberspace.URLConnection; import java.net.URLEncoder;  import org.apache.http.HttpResponse; import org.apache.http.client.HttpClient; import org.apache.http.client.methods.HttpGet; import org.apache.http.impl.customer.DefaultHttpClient;  import android.content.Context; import android.os.AsyncTask; import android.widget.TextView;  public class SigninActivity  extends AsyncTask{    private TextView statusField,roleField;    individual Context context;    private int byGetOrPost = 0;     //flag 0 means get and one means post.(By default it is get.)    public SigninActivity(Context context,TextView statusField,TextView roleField,int flag) {       this.context = context;       this.statusField = statusField;       this.roleField = roleField;       byGetOrPost = flag;    }     protected void onPreExecute(){    }     @Override    protected Cord doInBackground(String... arg0) {       if(byGetOrPost == 0){ //means by Become Method           endeavour{             String username = (Cord)arg0[0];             Cord countersign = (Cord)arg0[one];             Cord link = "http://myphpmysqlweb.hostei.com/login.php?username="+username+"& password="+password;              URL url = new URL(link);             HttpClient customer = new DefaultHttpClient();             HttpGet request = new HttpGet();             request.setURI(new URI(link));             HttpResponse response = client.execute(request);             BufferedReader in = new BufferedReader(new                 InputStreamReader(response.getEntity().getContent()));              StringBuffer sb = new StringBuffer("");             String line="";              while ((line = in.readLine()) != null) {                sb.suspend(line);                break;             } 				             in.shut();             return sb.toString();          } catch(Exception e){             render new String("Exception: " + due east.getMessage());          }       } else{          endeavour{             String username = (Cord)arg0[0];             String password = (String)arg0[1];              String link="http://myphpmysqlweb.hostei.com/loginpost.php";             String data  = URLEncoder.encode("username", "UTF-8") + "=" +                URLEncoder.encode(username, "UTF-8");             data += "&" + URLEncoder.encode("countersign", "UTF-eight") + "=" +                 URLEncoder.encode(countersign, "UTF-eight");              URL url = new URL(link);             URLConnection conn = url.openConnection();              conn.setDoOutput(true);             OutputStreamWriter wr = new OutputStreamWriter(conn.getOutputStream());              wr.write( data );             wr.flush();              BufferedReader reader = new BufferedReader(new                InputStreamReader(conn.getInputStream()));              StringBuilder sb = new StringBuilder();             String line = aught;              // Read Server Response             while((line = reader.readLine()) != zippo) {                sb.append(line);                break;             } 				             return sb.toString();          } take hold of(Exception e){             return new String("Exception: " + east.getMessage());          }       }    }     @Override    protected void onPostExecute(String result){       this.statusField.setText("Login Successful");       this.roleField.setText(result);    } }                  

Add the following content to build.gradle and rebuild the whole project.

android {    useLibrary 'org.apache.http.legacy' }        

Here is the content of 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:paddingBottom="@dimen/activity_vertical_margin"    android:paddingLeft="@dimen/activity_horizontal_margin"    android:paddingRight="@dimen/activity_horizontal_margin"    android:paddingTop="@dimen/activity_vertical_margin"    tools:context=".MainActivity" >     <EditText       android:id="@+id/editText2"       android:layout_width="wrap_content"       android:layout_height="wrap_content"       android:layout_alignRight="@+id/editText1"       android:layout_below="@+id/editText1"       android:layout_marginTop="25dp"       android:european monetary system="10"       android:inputType="textPassword" >    </EditText>     <EditText       android:id="@+id/editText1"       android:layout_width="wrap_content"       android:layout_height="wrap_content"       android:layout_alignParentRight="truthful"       android:layout_alignParentTop="true"       android:layout_marginTop="44dp"       android:ems="x" >     <requestFocus android:layout_width="wrap_content" />     </EditText>     <TextView       android:id="@+id/textView1"       android:layout_width="wrap_content"       android:layout_height="wrap_content"       android:layout_alignBottom="@+id/editText1"       android:layout_alignParentLeft="truthful"       android:text="@string/Username" />     <TextView       android:id="@+id/textView3"       android:layout_width="wrap_content"       android:layout_height="wrap_content"       android:layout_alignParentTop="truthful"       android:layout_centerHorizontal="true"       android:text="@string/App"       android:textAppearance="?android:attr/textAppearanceLarge" />     <TextView       android:id="@+id/textView7"       android:layout_width="wrap_content"       android:layout_height="wrap_content"       android:layout_alignBottom="@+id/textView5"       android:layout_alignLeft="@+id/textView6"       android:text="@string/Role"       android:textAppearance="?android:attr/textAppearanceMedium"       android:textSize="10sp" />     <TextView       android:id="@+id/textView5"       android:layout_width="wrap_content"       android:layout_height="wrap_content"       android:layout_below="@+id/textView6"       android:layout_marginTop="27dp"       android:layout_toLeftOf="@+id/editText1"       android:text="@string/LoginRole" />    <TextView       android:id="@+id/textView8"       android:layout_width="wrap_content"       android:layout_height="wrap_content"       android:layout_above="@+id/textView6"       android:layout_alignLeft="@+id/textView5"       android:layout_marginBottom="27dp"       android:text="@string/method" />     <TextView       android:id="@+id/textView4"       android:layout_width="wrap_content"       android:layout_height="wrap_content"       android:layout_alignLeft="@+id/textView8"       android:layout_below="@+id/button1"       android:layout_marginTop="86dp"       android:text="@string/LoginStatus" />      <TextView       android:id="@+id/textView6"       android:layout_width="wrap_content"       android:layout_height="wrap_content"       android:layout_alignTop="@+id/textView4"       android:layout_centerHorizontal="true"       android:text="@string/Status"       android:textAppearance="?android:attr/textAppearanceMedium"       android:textSize="10sp" />     <TextView       android:id="@+id/textView9"       android:layout_width="wrap_content"       android:layout_height="wrap_content"       android:layout_alignBottom="@+id/textView8"       android:layout_alignLeft="@+id/textView6"       android:text="@string/Choose"       android:textAppearance="?android:attr/textAppearanceMedium"       android:textSize="10sp" />     <Button       android:id="@+id/button2"       android:layout_width="wrap_content"       android:layout_height="wrap_content"       android:layout_centerVertical="true"       android:layout_toRightOf="@+id/textView6"       android:onClick="loginPost"       android:text="@string/LoginPost" />     <Button       android:id="@+id/button1"       android:layout_width="wrap_content"       android:layout_height="wrap_content"       android:layout_alignBaseline="@+id/button2"       android:layout_alignBottom="@+id/button2"       android:layout_alignLeft="@+id/textView2"       android:onClick="login"       android:text="@string/LoginGet" />     <TextView       android:id="@+id/textView2"       android:layout_width="wrap_content"       android:layout_height="wrap_content"       android:layout_alignBaseline="@+id/editText2"       android:layout_alignBottom="@+id/editText2"       android:layout_alignParentLeft="true"       android:text="@cord/Countersign" />  </RelativeLayout>        

Here is the content of Strings.xml.

<?xml version="1.0" encoding="utf-8"?> <resource>     <cord name="app_name">PHPMYSQL</cord>    <string name="action_settings">Settings</string>    <string name="hello_world">Hi world!</string>    <string name="Username">Username</string>    <string name="Password">Password</cord>    <string name="LoginGet">Login - Get</string>    <cord name="LoginPost">Login - Mail service</string>    <string name="App">Login Application</string>    <string name="LoginStatus">Login Status</cord>    <string name="LoginRole">Login Role</cord>    <string name="Condition">Not login</cord>    <string name="Part">Not assigned</cord>    <string proper noun="method">Login Method</string>    <string name="Choose">Choose Method</cord> 	 </resources>        

Hither is the content of AndroidManifest.xml.

<?xml version="1.0" encoding="utf-eight"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android"    package="com.example.phpmysql" >        <uses-permission android:name="android.permission.Cyberspace"/>       <uses-permission android:proper name="android.permission.ACCESS_NETWORK_STATE" />           <application       android:allowBackup="true"       android:icon="@drawable/ic_launcher"       android:characterization="@cord/app_name"       android:theme="@style/AppTheme" >              <activity          android:name="com.example.phpmysql.MainActivity"          android:label="@cord/app_name" >                    <intent-filter>             <activeness android:name="android.intent.activeness.Chief" />             <category android:proper name="android.intent.category.LAUNCHER" />          </intent-filter>                 </activity>           </awarding> </manifest>        

Let's try to run your PHPMYSQL application. I presume you take connected your actual Android Mobile device with your computer. To run the app from Android studio, open one of your project's activity files and click Run Eclipse Run Icon icon from the tool bar. Before starting your application, Android studio will display following window to select an selection where you lot want to run your Android awarding.

Anroid PHP/MySQL Tutorial

Select your mobile device equally an option and then check your mobile device which will display following screen −

Anroid PHP/MySQL Tutorial

Now just type in your username and password. In my example i am typing admin as username and password. It is shown in the effigy −

Anroid PHP/MySQL Tutorial

Now press the Get button and expect a few seconds and response will exist downloaded and will be shown to you. In this case, the response is the Office that is fetched in example of admin as username and password.It is shown in the figure below −

Anroid PHP/MySQL Tutorial

At present once more press the POST push button and aforementioned result would appear. It is shown in the effigy below −

Anroid PHP/MySQL Tutorial

Useful Video Courses


Android Online Training

Video

Android Penetration Testing Online Training

Video

The Complete XMPP Course: Chat Server Setup Android/iOS Apps

Video

Setup Own VPN Server with Android, iOS, Win &amp; Linux Clients

Video

Setup Own Asterisk VoIP Server with Android, iOS &amp; Win Apps

Video

GPS Tracking - Setup own GPS Server with android &amp; iOS Apps

Video

mercermoseas76.blogspot.com

Source: https://www.tutorialspoint.com/android/android_php_mysql.htm

0 Response to "Upload Text File to Mysql Android Php Mysql"

Post a Comment

Iklan Atas Artikel

Iklan Tengah Artikel 1

Iklan Tengah Artikel 2

Iklan Bawah Artikel