Friday, October 12, 2018

Registration, Login and Category List with DOTNET MVC

Register Activity

package net.samaysoftware.listviewdemo;

import android.content.Intent;
import android.os.AsyncTask;
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 RegisterActivity extends AppCompatActivity implements View.OnClickListener {

    EditText etName, etMobile, etEmail, etUsername, etPassword, etAddress, etCity;
    Button btnRegister;

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

        btnRegister.setOnClickListener(this);


    }

    private void findAllViews() {
        etName = (EditText)findViewById(R.id.etCName);
        etEmail = (EditText)findViewById(R.id.etCEmail);
        etMobile = (EditText)findViewById(R.id.etCMobile);
        etUsername = (EditText)findViewById(R.id.etCUsername);
        etPassword = (EditText)findViewById(R.id.etCPassword);
        etAddress = (EditText)findViewById(R.id.etCAddress);
        etCity = (EditText)findViewById(R.id.etCCity);
        btnRegister = (Button) findViewById(R.id.btnRegister);
    }

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

    class MyTask extends AsyncTask<String, String, String>{
        String name, email, mobile, address, city, username, password;

        @Override        protected void onPreExecute() {
            super.onPreExecute();
            name = etName.getText().toString();
            email = etEmail.getText().toString();
            mobile = etMobile.getText().toString();
            address = etAddress.getText().toString();
            city = etCity.getText().toString();
            username = etUsername.getText().toString();
            password = etPassword.getText().toString();

        }



        @Override        protected String doInBackground(String... strings) {

            RequestPackage rp = new RequestPackage();
            rp.setMethod("GET");
            rp.setUri("http://192.168.31.163:49962/MobileApp/SignUp");
            rp.setParam("Cname",name);
            rp.setParam("Email",email);
            rp.setParam("Mobile",mobile);
            rp.setParam("Username",username);
            rp.setParam("Password",password);
            rp.setParam("City",city);
            rp.setParam("Address",address);


            String ans = HttpManager.getData(rp);



            return ans.trim();
        }

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

            if(s.equals("success")){
                Toast.makeText(RegisterActivity.this, "Registration is successful !!", Toast.LENGTH_LONG).show();
                Intent i = new Intent(RegisterActivity.this, LoginActivityDemo.class);
                startActivity(i);
                finish();

            }
            else{
                Toast.makeText(RegisterActivity.this, "There seems to be some problem, please try again later !!", Toast.LENGTH_LONG).show();
            }

        }
    }

}


LoginActivity



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.163:49962/MobileApp/SignIn");

            rp.setParam("Username", un);
            rp.setParam("Password", 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();*/
            if(ans.equals("success")) {
                Intent i = new Intent(LoginActivityDemo.this, CategoryListActivity.class);
                startActivity(i);
                finish();
            }
            else{
                Toast.makeText(LoginActivityDemo.this, "Invalid username or password !!", Toast.LENGTH_LONG).show();

            }

        }


    }
}



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;
    ArrayList<String> arrlist = new ArrayList<>();
    @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 = arrlist.get(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.163:49962/MobileApp/GetAllCategories");
            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(",");
            JSONArray arr = null;
            try {
                arr = new JSONArray(ans);
                for(int i = 0; i < arr.length(); i++){
                    JSONObject obj = arr.getJSONObject(i);
                    String catname = obj.getString("CatName");
                    arrlist.add(catname);
                }


            } catch (JSONException e) {
                e.printStackTrace();
            }


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

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

Friday, August 31, 2018

Async Task example Counter

package net.samaysoftware.listviewdemo;

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

public class DemoThreading extends AppCompatActivity {

    TextView tvCounter;

    @Override    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_demo_threading);
        tvCounter = (TextView) findViewById(R.id.tvCounter);

        // call asynctask
        MyTask t = new MyTask();
        t.execute(10);


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

        @Override        protected void onPreExecute() {
            super.onPreExecute();
        }

        @Override        protected String doInBackground(Integer... arr) {
            int value = arr[0];
            for(int i =0; i<value;i++){
                try {
                    Thread.sleep(1000);
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
                publishProgress(i+1);
            }
            return "Done";
        }



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


        }

        @Override        protected void onProgressUpdate(Integer... values) {
            super.onProgressUpdate(values);
            int v = values[0];
            tvCounter.setText(v+"");
        }
    }
}

jQuery basics


jQuery - lightweight, "write less, do more", JavaScript library

jQuery Core - jQuery UI - jQuery Mobile – QUnit - Sizzle

jQuery Features
Html/Dom Traversal & Manipulation
CSS Manipulation
Event Handling
Effects & Animations
AJAX

Install: head + script + src

Syntax: $(selector).action()
$ = access jQuery
Selector = a query to find HTML elements
Action = action to be performed on the selected elements

$(document).ready(function(){
});


SELECTORS
$(document).ready(function(){
$("p").hide();
$("#test").hide();
$(".test").hide();
});


jQuery EVENTS
Mouse Events
Keyboard Events
Form Events
Document/Window Events
click
keypress
submit
load
dblclick
keydown
change
resize
mouseenter / mouseleave
keyup
focus
scroll
mouseover / mouseout

blur
unload
mousedown / mouseup
select
ready
mousemove
hover

Click
$("#dv2 ").click(function(){
$(this).hide();
});

Hover
$("#p1").hover(
function(){alert("You entered p1!");},
function(){alert("Bye! You now leave p1!");}
);


jQuery Effects

HIDE/SHOW
$(selector).hide(speed, callback); //speed milliseconds (or “slow”, “fast”), callback function
$(selector).show(speed, callback);
$(selector).toggle(speed, callback);

FADE
$(selector). fadeIn (speed, callback);
$(selector). fadeOut (speed, callback);
$(selector). fadeToggle (speed, callback);
$(selector). fadeTo (speed, Opacity, callback);

SLIDE
$(selector). slideUp (speed, callback);   - same as hide, just effect is different
$(selector). slideDown (speed, callback);
$(selector). slideToggle (speed, callback);

ANIMATE
$(selector).animate({params},speed,callback);
$(selector).stop(stopAll,goToEnd);

e.g. $(‘.button’).click(function(){
                $(this).animate({‘width’:’200px’, ‘height’:’80px’}, 100, function(){ alert(‘done’) });
});

speed is optional, callback is optional

METHOD CHAINING
$("#p1"). slideUp(2000).slideDown(2000);

GET
$(selector).text(); //>> Text content
$(selector).html(); //>> HTML content
$(selector).val(); //>> Form Element
$(selector).attr(“href”);

SET
$(selector).text(“Hello”); //>> Text content
$(selector).html(“<div>Hello</div>”); //>> HTML content
$(selector).val(“Upanish”); //>> Form Element
$(selector).attr(“href”, “http://www.samaysoftware.net”);

ADD
$(selector).append(“</br>Last Line”); //>> append to content of the selected element
$(selector).prepend(“</br>First Line”);

$(selector).after(“<div>Last Line</div>”); //>> add this AFTER the selected element
$(selector).before(“</br>First Line”); //>> add this BEFORE the selected element

HEIRARCHY

$(“ul”).children().css(‘border-color’:’red’); -> Applies to all “li” which are within ul
$(“.p”).first().css(‘border-color’:’red’); -> Applies to 1st element whose class is p, - last()
next() -> next element after selected element  -  prev()
parent() -> immediate parent of selected element



REMOVE
.remove() - .empty()

CSS
.addClass(“”) – .removeClass(“”) – .toggleClass(“”)
.css(“propertyname”) //>> Get Value
.css(“propertyname”, “value”) //>> Set Value
.css({"propertyname":"value","propertyname":"value",...});


DIMENSIONS
width() - height() - innerWidth() - innerHeight() - outerWidth() - outerHeight()

jQuery AJAX

$("button").click(function(){
$("#div1").load("demo_test.txt",function(responseTxt, statusTxt, xhr){
if(statusTxt=="success")
alert("External content loaded successfully!");
if(statusTxt=="error")
alert("Error: "+xhr.status+": "+xhr.statusText);
});
});


$("button").click(function(){
$.get("demo_test.asp",function(data,status){
alert("Data: " + data + "\nStatus: " + status);
});
});

$("button").click(function(){
$.post("demo_test_post.asp",
{
name:"Donald Duck",
city:"Duckburg
},
function(data,status){
alert("Data: " + data + "\nStatus: " + status);
});
});



Near by App

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