Friday, September 28, 2018

Sqlite Database insert

package net.samaysoftware.listviewdemo;

import android.content.Intent;
import android.database.sqlite.SQLiteDatabase;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;

import java.io.FileReader;
import java.io.Reader;

public class NewExpenseActivity extends AppCompatActivity implements View.OnClickListener {

    EditText etReason, etAmount;
    Button btnAddExpense;

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

        setTitle("Add expense");
        createTable();

        etReason = (EditText) findViewById(R.id.etReason);
        etAmount = (EditText) findViewById(R.id.etAmount);
        btnAddExpense = (Button) findViewById(R.id.btnAddExpense);
        btnAddExpense.setOnClickListener(this);
    }

    private void createTable() {
        SQLiteDatabase db = null;
        try {
            db = openOrCreateDatabase("SampleDB", MODE_PRIVATE,null);
            String q = "create table if not exists Expense(expenseid integer primary key autoincrement,reason varchar(100), amount integer)";
            db.execSQL(q);
        }catch (Exception ee){
            Toast.makeText(this, "Some error while creating expense table", Toast.LENGTH_LONG).show();
        }
        finally {
            if(db!=null && db.isOpen()) {
                db.close();
            }
        }

    }

    @Override    public void onClick(View view) {

        String stramount = etAmount.getText().toString();
        String strreason = etReason.getText().toString();

        SQLiteDatabase db = null;
        try {
            db = openOrCreateDatabase("SampleDB", MODE_PRIVATE,null);
            String q = "insert into Expense(amount, reason) values("+stramount+",'"+strreason+"')";
            db.execSQL(q);
            Toast.makeText(this, "Expense added successfully !!", Toast.LENGTH_LONG).show();
            Intent i = new Intent(this, ExpenseListActivity.class);
            startActivity(i);
        }catch (Exception ee){
            Toast.makeText(this, "Some error while inserting in Expense table", Toast.LENGTH_LONG).show();
        }
        finally {
            if(db!=null && db.isOpen()) {
                db.close();
            }
        }



    }
}

Thursday, September 27, 2018

Android Code with below PHP Code for Login, CategoryList, and ProductList Display with Alert Dialog code

LOGIN


package net.samaysoftware.listviewdemo;

import android.app.ProgressDialog;
import android.content.Intent;
import android.content.SharedPreferences;
import android.os.AsyncTask;
import android.preference.PreferenceManager;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;

import utility.HttpManager;
import utility.RequestPackage;

public class LoginActivityDemo extends AppCompatActivity implements View.OnClickListener {
    String un, pw;
    EditText etUser, etPass;
    Button btnLogin;
    @Override    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_login_demo);
        etUser = (EditText) findViewById(R.id.etUser);
        etPass = (EditText) findViewById(R.id.etPass);
        btnLogin = (Button) findViewById(R.id.btnMyLogin);
        btnLogin.setOnClickListener(this);


        SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(LoginActivityDemo.this);
        int oldid = sp.getInt("id", -1000);
        if(oldid!=-1000){
            Intent i = new Intent(LoginActivityDemo.this, CategoryListActivity.class);
            startActivity(i);
            finish();
        }

    }

    @Override    public void onClick(View view) {
        new LoginTask().execute();
    }

    class LoginTask extends AsyncTask<String, String, String>{
        ProgressDialog pd;
        String un, pw;

        @Override        protected void onPreExecute() {
            super.onPreExecute();
            un = etUser.getText().toString();
            pw = etPass.getText().toString();
            pd = new ProgressDialog(LoginActivityDemo.this);
            pd.setTitle("Please Wait");
            pd.setMessage("Loading");
            pd.setIndeterminate(true);
            pd.setCancelable(false);
            pd.show();
        }

        @Override        protected String doInBackground(String... arr) {
            RequestPackage rp = new RequestPackage();
            rp.setMethod("GET");
            rp.setUri("http://192.168.31.10:81/2018testing/mobilesupport.php");
            rp.setParam("type","login");
            rp.setParam("un", un);
            rp.setParam("pw", pw);

            String ans = HttpManager.getData(rp);
            return ans.trim();
        }

        @Override        protected void onPostExecute(String ans) {
            super.onPostExecute(ans);

            if(pd!=null){
                pd.dismiss();
            }
            int id;
            try {
                id = Integer.parseInt(ans);
            }catch (Exception ee){
                Toast.makeText(LoginActivityDemo.this, "Cannot connect to server", Toast.LENGTH_LONG).show();
                return;
            }

            if(id==0){
                Toast.makeText(LoginActivityDemo.this, "Invalid username or password !!", Toast.LENGTH_LONG).show();
                return;
            }

            SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(LoginActivityDemo.this);
            sp.edit().putInt("id", id).apply();


            Intent i = new Intent(LoginActivityDemo.this, CategoryListActivity.class);
            startActivity(i);
            finish();

        }


    }
}


CATEGORY LIST


package net.samaysoftware.listviewdemo;

import android.app.ProgressDialog;
import android.content.DialogInterface;
import android.content.Intent;
import android.os.AsyncTask;
import android.support.v7.app.AlertDialog;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.*;

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

import java.util.ArrayList;

import utility.HttpManager;
import utility.RequestPackage;

public class CategoryListActivity extends AppCompatActivity implements AdapterView.OnItemClickListener {
    ListView listView;
    String[] arr;
    @Override    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_country_list);
        listView = (ListView) findViewById(R.id.lvDynamicCountries);

        new MyTask().execute();


    }

    @Override    public void onItemClick(AdapterView<?> adapterView, View view, int pos, long l) {
        String catname = arr[pos];
        Intent i = new Intent(this, ProductListActivity.class);
        i.putExtra("catname", catname);
        startActivity(i);

/*        AlertDialog.Builder builder1 = new AlertDialog.Builder(this);        builder1.setMessage("Are you sure you want to delete");        builder1.setCancelable(true);
        builder1.setPositiveButton(                "Yes",                new DialogInterface.OnClickListener() {                    public void onClick(DialogInterface dialog, int id) {
                        dialog.cancel();                    }                });
        builder1.setNegativeButton(                "No",                new DialogInterface.OnClickListener() {                    public void onClick(DialogInterface dialog, int id) {                        dialog.cancel();                    }                });
        AlertDialog alert11 = builder1.create();        alert11.show();*/
/*        AlertDialog.Builder builderSingle = new AlertDialog.Builder(this);        builderSingle.setIcon(R.drawable.flagindia);        builderSingle.setTitle("Select One Name:");
        final ArrayAdapter<String> arrayAdapter = new ArrayAdapter<String>(this, android.R.layout.select_dialog_singlechoice);        arrayAdapter.add("Hardik");        arrayAdapter.add("Archit");        arrayAdapter.add("Jignesh");        arrayAdapter.add("Umang");        arrayAdapter.add("Gatti");
        builderSingle.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {            @Override            public void onClick(DialogInterface dialog, int which) {                dialog.dismiss();            }        });
        builderSingle.setAdapter(arrayAdapter, new DialogInterface.OnClickListener() {            @Override            public void onClick(DialogInterface dialog, int which) {                String strName = arrayAdapter.getItem(which);                AlertDialog.Builder builderInner = new AlertDialog.Builder(CategoryListActivity.this);                builderInner.setMessage(strName);                builderInner.setTitle("Your Selected Item is");                builderInner.setPositiveButton("Ok", new DialogInterface.OnClickListener() {                    @Override                    public void onClick(DialogInterface dialog,int which) {                        dialog.dismiss();                    }                });                builderInner.show();            }        });        builderSingle.show();
*/
    }

    class MyTask extends AsyncTask<String, String, String>{

        ProgressDialog pd = null;
        @Override        protected String doInBackground(String... strings) {
            RequestPackage rp = new RequestPackage();
            rp.setMethod("GET");
            rp.setUri("http://192.168.31.10:81/2018testing/mobilesupport.php");
            rp.setParam("type","getcategorylist");
            String ans = HttpManager.getData(rp);
            return ans.trim();
        }

        @Override        protected void onPreExecute() {
            super.onPreExecute();
            pd = new ProgressDialog(CategoryListActivity.this);
            pd.setIndeterminate(true);
            pd.setMessage("Loading....");
            pd.setCancelable(false);
            pd.setTitle("Please Wait");
            pd.show();
        }

        @Override        protected void onPostExecute(String ans) {
            super.onPostExecute(ans);

            arr = ans.split(",");



            ArrayAdapter<String> aa = new ArrayAdapter<>(CategoryListActivity.this, android.R.layout.simple_list_item_1, android.R.id.text1, arr);
            listView.setAdapter(aa);
            listView.setOnItemClickListener(CategoryListActivity.this);
            pd.dismiss();
        }
    }
}


PRODUCT LIST


package net.samaysoftware.listviewdemo;

import android.app.ProgressDialog;
import android.content.Intent;
import android.os.AsyncTask;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.ListView;

import utility.HttpManager;
import utility.RequestPackage;

public class ProductListActivity extends AppCompatActivity{
    ListView listView;
    String[] arr;
    String catname;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        catname = getIntent().getStringExtra("catname");

        setContentView(R.layout.activity_country_list);
        listView = (ListView) findViewById(R.id.lvDynamicCountries);

        new MyTask().execute();


    }


    class MyTask extends AsyncTask<String, String, String>{

        ProgressDialog pd = null;
        @Override
        protected String doInBackground(String... strings) {
            RequestPackage rp = new RequestPackage();
            rp.setMethod("GET");
            rp.setUri("http://192.168.31.10:81/2018testing/mobilesupport.php");
            rp.setParam("type","getproductlist");
            rp.setParam("catname",catname);

            String ans = HttpManager.getData(rp);
            return ans.trim();
        }

        @Override
        protected void onPreExecute() {
            super.onPreExecute();
            pd = new ProgressDialog(ProductListActivity.this);
            pd.setIndeterminate(true);
            pd.setMessage("Loading....");
            pd.setCancelable(false);
            pd.setTitle("Please Wait");
            pd.show();
        }

        @Override
        protected void onPostExecute(String ans) {
            super.onPostExecute(ans);

            arr = ans.split(",");



            ArrayAdapter<String> aa = new ArrayAdapter<String>(ProductListActivity.this, android.R.layout.simple_list_item_1, android.R.id.text1, arr);
            listView.setAdapter(aa);



            pd.dismiss();
        }
    }
}


Thursday, September 20, 2018

PHP Code for MobileSupport.php

<?php
$type = $_REQUEST["type"];
if($type=="login"){
$username= $_REQUEST["un"];
$pw= $_REQUEST["pw"];

if($username=="v" && $pw=="v"){
echo "4";
}
else{
echo "0";
}
}
else if($type=="getcategorylist"){
echo "Clothes,Electronics,Food";
}
else if($type=="getproductlist"){
$catname = $_REQUEST["catname"];
if($catname == "Clothes"){
echo "Tshirt,Jeans,Shirt";
}
if($catname == "Electronics"){
echo "TV,Mobile,Laptop";
}
if($catname == "Food"){
echo "Burger,Pizza,Noodles";
}

}
else if($type=="getmyprofile"){

}
else if($type=="getproductdetails"){

}
?>

Monday, September 17, 2018

Show List of Countries using API

package net.samaysoftware.listviewdemo;

import android.app.ProgressDialog;
import android.os.AsyncTask;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.*;

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

import java.util.ArrayList;

import utility.HttpManager;
import utility.RequestPackage;

public class CountryList extends AppCompatActivity {
    ListView listView;
    @Override    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_country_list);
        listView = (ListView) findViewById(R.id.lvDynamicCountries);

        new MyTask().execute();

    }
    class MyTask extends AsyncTask<String, String, String>{

        ProgressDialog pd = null;
        @Override        protected String doInBackground(String... strings) {
            RequestPackage rp = new RequestPackage();
            rp.setMethod("GET");
            rp.setUri("https://restcountries.eu/rest/v2/all");
            String ans = HttpManager.getData(rp);
            return ans;
        }

        @Override        protected void onPreExecute() {
            super.onPreExecute();
            pd = new ProgressDialog(CountryList.this);
            pd.setIndeterminate(true);
            pd.setMessage("Loading....");
            pd.setCancelable(false);
            pd.setTitle("Please Wait");
            pd.show();
        }

        @Override        protected void onPostExecute(String ans) {
            super.onPostExecute(ans);

            ArrayList<String> arrlist = new ArrayList<>();

            try {
                JSONArray rootarr = new JSONArray(ans);

                for(int i = 0; i <rootarr.length(); i++){
                    JSONObject obj = rootarr.getJSONObject(i);
                    String countryname = obj.getString("name");
                    arrlist.add(countryname);
                }
            } catch (JSONException e) {
                e.printStackTrace();
            }


            ArrayAdapter<String> aa = new ArrayAdapter<String>(CountryList.this, android.R.layout.simple_list_item_1, android.R.id.text1, arrlist);
            listView.setAdapter(aa);



            pd.dismiss();
        }
    }
}

Near by App

https://drive.google.com/file/d/0B2ag35s4X53Eb2pSQVI1SzNudE0/view