how to insert a data into database using android studio and phpmyadmin(wampserver)?

I have an example of similar thing for saving username and password,try modifying according to your idea. The process is very similar.

//Layout of Activity
<?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:padding="2dp"
tools:context="com.test.test.ScreenOne">


<EditText
    android:layout_width="240dp"
    android:layout_height="wrap_content"
    android:id="@+id/etUsername"
    android:layout_marginTop="150dp"
    android:hint="username"
    android:layout_alignParentTop="true"
    android:layout_centerHorizontal="true" />

<EditText
    android:layout_width="240dp"
    android:layout_height="wrap_content"
    android:id="@+id/etPassword"
    android:hint="password"
    android:layout_below="@+id/etUsername"
    android:layout_centerHorizontal="true" />

<Button
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Save"
    android:id="@+id/bSave"
    android:layout_below="@+id/bLogin"
    android:layout_centerHorizontal="true"
    android:layout_marginTop="42dp" />
</RelativeLayout> 

Activity has 1 buttons and 2 EditText, and Save button saves your data in server:

package com.test.test;

import android.app.ProgressDialog;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.view.Window;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;

import com.android.volley.AuthFailureError;
import com.android.volley.Request;
import com.android.volley.Response;
import com.android.volley.VolleyError;
import com.android.volley.toolbox.StringRequest;

import java.util.HashMap;
import java.util.Map;

public class ScreenOne extends AppCompatActivity {

private static final String URL_SAVE = "http://IP_ADDRESS/save.php";
private EditText username;
private EditText password;
Button save;
String name;
String pass;

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

    username = (EditText) findViewById(R.id.etUsername);
    password = (EditText) findViewById(R.id.etPassword);

    (save = (Button) findViewById(R.id.bSave)).setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            saveRequest();
        }
    });
}

private void saveRequest() {
    name = username.getText().toString().trim();
    pass = password.getText().toString().trim();
    final ProgressDialog mDialog = new ProgressDialog(this);
    mDialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
    mDialog.setMessage("Loading...");
    mDialog.show();

    StringRequest request = new StringRequest(Request.Method.POST, URL_SAVE,
            new Response.Listener<String>() {
                @Override
                public void onResponse(String response) {
                    mDialog.dismiss();
                    Toast.makeText(ScreenOne.this, response, Toast.LENGTH_LONG).show();
                    username.setText("");
                    password.setText("");
                }
            },
            new Response.ErrorListener() {
                @Override
                public void onErrorResponse(VolleyError error) {
                    mDialog.dismiss();
                    Toast.makeText(ScreenOne.this, "Something went wrong", Toast.LENGTH_LONG).show();
                }
            }){
        @Override
        protected Map<String, String> getParams() throws AuthFailureError {
            Map<String, String> key = new HashMap<>();
            key.put("username", name);
            key.put("password", pass);
            return key;
        }
    };

    NetworkCalls.getInstance().addToRequestQueue(request);
}

Singleton class for Volley request:

import android.content.Context;

import com.android.volley.Request;
import com.android.volley.RequestQueue;
import com.android.volley.toolbox.Volley;

/**
 * Created by W4R10CK on 13-09-2016.
 */
public class NetworkCalls {
    private RequestQueue requestQueue;
    private static Context context;

    private static NetworkCalls ourInstance = new NetworkCalls();

    public static NetworkCalls getInstance() {
        return ourInstance;
    }

    private NetworkCalls() {
    }

    public RequestQueue getRequestQueue(){
        requestQueue = Volley.newRequestQueue(context.getApplicationContext());
        return requestQueue;
    }

    public <T> void addToRequestQueue(Request<T> request){
        getRequestQueue().add(request);
    }
}

API to call server:

 //conn.php for connection (file one)
<?php
$host = "localhost";
$user = "root";
$pass = "";
$db_name = "hello";

$con = new mysqli($host,$user,$pass,$db_name);

if($con -> connect_error){
echo "Connection error";
}   


//save.php(file two)
<?php
$username = $_POST['username'];
$password = $_POST['password'];
require_once('conn.php');

$sql = "INSERT INTO user (username, password) VALUES ('$username','$password')";

if($con -> query($sql) === TRUE) {
echo "User added";
}
//$con -> close();
?>
?>

Lastly create one DB named hello and table in localhost user with 2 fields username, password.

Leave a Comment