Twitter Facebook Delicious Digg Stumbleupon Favorites More

Thursday, 31 May 2018

GROCERY LIST SQLITE DATABASE APP


  1. steps : GO TO PROJECT > JAVA > COM......>AND CREATE PAKAGES  FOR ACTIVITY,DATA BASE ,MODEL ,USER INTERFACE,UTILITIES CLASS
  2. GO TO NEW > LAYOUT>CREATE POPUPLIST.XML  ETCCCC
  3. GO TO MODEL FOLDER CREATE  GROCERY CLASS THE CREATE GROCERY CLASS OBJECT ITS CONSTRUCTOR AND GETTER AND SETTER METHOD
  4. GO TO DATA FOLDER CREATE DATABASE HANDLER   ALL DATA BASE QUERIES GOES HERE  >>> GO DIRECT TO UTIL
  5. GO TO UTIL FOLDER AND CREATE CONSTANT  LIKE DATABASE NAME DATE ETC
  6. GO TO DATA FOLDER  database hadler etcLINK  ETCCCCCCC
  7. ANDROID MAINFEAST .XML FILE
<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="http://schemas.android.com/apk/res/android"    package="com.gohool.mygrocerylist.mygrocerylist">

    <application        android:allowBackup="true"        android:icon="@mipmap/ic_launcher"        android:label="@string/app_name"        android:roundIcon="@mipmap/ic_launcher_round"        android:supportsRtl="true"        android:theme="@style/AppTheme">
        <activity            android:name=".Activities.MainActivity"            android:label="@string/app_name"            android:theme="@style/AppTheme.NoActionBar">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity            android:name=".Activities.ListActivity"            android:label="@string/title_activity_list"            android:theme="@style/AppTheme.NoActionBar" />
        <activity android:name=".Activities.DetailsActivity"></activity>
    </application>

</manifest>
  • MAIN ACTIVITY
package com.gohool.mygrocerylist.mygrocerylist.Activities;

import android.content.Intent;
import android.os.Bundle;
import android.os.Handler;
import android.support.design.widget.FloatingActionButton;
import android.support.design.widget.Snackbar;
import android.support.v7.app.AlertDialog;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
import android.util.Log;
import android.view.View;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.Button;
import android.widget.EditText;

import com.gohool.mygrocerylist.mygrocerylist.Data.DatabaseHandler;
import com.gohool.mygrocerylist.mygrocerylist.Model.Grocery;
import com.gohool.mygrocerylist.mygrocerylist.R;

public class MainActivity extends AppCompatActivity {

    private AlertDialog.Builder dialogBuilder;
    private AlertDialog dialog;
    private EditText groceryItem;
    private EditText quantity;
    private Button saveButton;
    private DatabaseHandler db;


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


        db = new DatabaseHandler(this);

        byPassActivity();

        Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
        setSupportActionBar(toolbar);

        FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
        fab.setOnClickListener(new View.OnClickListener() {
            @Override            public void onClick(View view) {
//                Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG)//                        .setAction("Action", null).show();
                createPopupDialog();
            }
        });
    }

    @Override    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.        getMenuInflater().inflate(R.menu.menu_main, menu);
        return true;
    }

    @Override    public boolean onOptionsItemSelected(MenuItem item) {
        // Handle action bar item clicks here. The action bar will        // automatically handle clicks on the Home/Up button, so long        // as you specify a parent activity in AndroidManifest.xml.        int id = item.getItemId();

        //noinspection SimplifiableIfStatement        if (id == R.id.action_settings) {
            return true;
        }

        return super.onOptionsItemSelected(item);
    }


    private void createPopupDialog() {

        dialogBuilder = new AlertDialog.Builder(this);
        View view = getLayoutInflater().inflate(R.layout.popup, null);
        groceryItem = (EditText) view.findViewById(R.id.groceryItem);
        quantity = (EditText) view.findViewById(R.id.groceryQty);
        saveButton = (Button) view.findViewById(R.id.saveButton);

        dialogBuilder.setView(view);
        dialog = dialogBuilder.create();
        dialog.show();

        saveButton.setOnClickListener(new View.OnClickListener() {
            @Override            public void onClick(View v) {

                //Todo: Save to db                //Todo: Go to next screen
                if (!groceryItem.getText().toString().isEmpty()
                        && !quantity.getText().toString().isEmpty()) {
                    saveGroceryToDB(v);
                }

            }
        });


    }

    private void saveGroceryToDB(View v) {

        Grocery grocery = new Grocery();

        String newGrocery = groceryItem.getText().toString();
        String newGroceryQuantity = quantity.getText().toString();

        grocery.setName(newGrocery);
        grocery.setQuantity(newGroceryQuantity);

        //Save to DB        db.addGrocery(grocery);

        Snackbar.make(v, "Item Saved!", Snackbar.LENGTH_LONG).show();

       // Log.d("Item Added ID:", String.valueOf(db.getGroceriesCount()));        new Handler().postDelayed(new Runnable() {
            @Override            public void run() {
                dialog.dismiss();
                //start a new activity                startActivity(new Intent(MainActivity.this, ListActivity.class));
            }
        }, 1200); //  1 second.
    }


    public void byPassActivity() {
        //Checks if database is empty; if not, then we just        //go to ListActivity and show all added items
        if (db.getGroceriesCount() > 0) {
            startActivity(new Intent(MainActivity.this, ListActivity.class));
            finish();
        }

    }
}
  • LIST ACTIVITY
package com.gohool.mygrocerylist.mygrocerylist.Activities;

import android.content.Intent;
import android.os.Bundle;
import android.os.Handler;
import android.support.design.widget.FloatingActionButton;
import android.support.design.widget.Snackbar;
import android.support.v7.app.AlertDialog;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.support.v7.widget.Toolbar;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;

import com.gohool.mygrocerylist.mygrocerylist.Data.DatabaseHandler;
import com.gohool.mygrocerylist.mygrocerylist.Model.Grocery;
import com.gohool.mygrocerylist.mygrocerylist.R;
import com.gohool.mygrocerylist.mygrocerylist.UI.RecyclerViewAdapter;

import java.util.ArrayList;
import java.util.List;

public class ListActivity extends AppCompatActivity {

    private RecyclerView recyclerView;
    private RecyclerViewAdapter recyclerViewAdapter;
    private List<Grocery> groceryList;
    private List<Grocery> listItems;
    private DatabaseHandler db;
    private AlertDialog.Builder dialogBuilder;
    private AlertDialog dialog;

    private EditText groceryItem;
    private EditText quantity;
    private Button saveButton;



    @Override    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_list);
        Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
        setSupportActionBar(toolbar);

        FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
        fab.setOnClickListener(new View.OnClickListener() {
            @Override            public void onClick(View view) {
//                Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG)//                        .setAction("Action", null).show();
                createPopDialog();


            }
        });

        db = new DatabaseHandler(this);
        recyclerView = (RecyclerView) findViewById(R.id.recyclerViewID);
        recyclerView.setHasFixedSize(true);
        recyclerView.setLayoutManager(new LinearLayoutManager(this));

        groceryList = new ArrayList<>();
        listItems = new ArrayList<>();

        // Get items from database        groceryList = db.getAllGroceries();

        for (Grocery c : groceryList) {
            Grocery grocery = new Grocery();
            grocery.setName(c.getName());
            grocery.setQuantity("Qty: " + c.getQuantity());
            grocery.setId(c.getId());
            grocery.setDateItemAdded("Added on: " + c.getDateItemAdded());


            listItems.add(grocery);

        }

        recyclerViewAdapter = new RecyclerViewAdapter(this, listItems);
        recyclerView.setAdapter(recyclerViewAdapter);
        recyclerViewAdapter.notifyDataSetChanged();
    }

    private void createPopDialog() {

        dialogBuilder = new AlertDialog.Builder(this);
        View view = getLayoutInflater().inflate(R.layout.popup, null);
        groceryItem = (EditText) view.findViewById(R.id.groceryItem);
        quantity = (EditText) view.findViewById(R.id.groceryQty);
        saveButton = (Button) view.findViewById(R.id.saveButton);


        dialogBuilder.setView(view);
        dialog = dialogBuilder.create();
        dialog.show();

        saveButton.setOnClickListener(new View.OnClickListener() {
            @Override            public void onClick(View v) {
                saveGroceryToDB(v);
            }
        });



    }

    private void saveGroceryToDB(View v) {

        Grocery grocery = new Grocery();

        String newGrocery = groceryItem.getText().toString();
        String newGroceryQuantity = quantity.getText().toString();

        grocery.setName(newGrocery);
        grocery.setQuantity(newGroceryQuantity);

        //Save to DB        db.addGrocery(grocery);

        Snackbar.make(v, "Item Saved!", Snackbar.LENGTH_LONG).show();

        // Log.d("Item Added ID:", String.valueOf(db.getGroceriesCount()));        new Handler().postDelayed(new Runnable() {
            @Override            public void run() {
                dialog.dismiss();
                //start a new activity                startActivity(new Intent(ListActivity.this, ListActivity.class));
                finish();
            }
        }, 1200); //  1 second.


    }

}
  • DETAIL ACTIVITY
package com.gohool.mygrocerylist.mygrocerylist.Activities;

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

import com.gohool.mygrocerylist.mygrocerylist.R;

import org.w3c.dom.Text;

public class DetailsActivity extends AppCompatActivity {
    private TextView itemName;
    private TextView quantity;
    private TextView dateAdded;
    private int groceryId;

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

        itemName = (TextView) findViewById(R.id.itemNameDet);
        quantity = (TextView) findViewById(R.id.quantityDet);
        dateAdded = (TextView) findViewById(R.id.dateAddedDet);


        Bundle bundle = getIntent().getExtras();

        if ( bundle != null ) {
            itemName.setText(bundle.getString("name"));
            quantity.setText(bundle.getString("quantity"));
            dateAdded.setText(bundle.getString("date"));
            groceryId = bundle.getInt("id");
        }
    }
}
  • DATABASE HANDLER
package com.gohool.mygrocerylist.mygrocerylist.Data;

import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.provider.SyncStateContract;
import android.util.Log;

import com.gohool.mygrocerylist.mygrocerylist.Model.Grocery;
import com.gohool.mygrocerylist.mygrocerylist.Util.Constants;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

/** * Created by paulodichone on 4/7/17. */
public class DatabaseHandler extends SQLiteOpenHelper {

    private Context ctx;
    public DatabaseHandler(Context context) {
        super(context, Constants.DB_NAME, null, Constants.DB_VERSION);
        this.ctx = context;
    }

    @Override    public void onCreate(SQLiteDatabase db) {
        String CREATE_GROCERY_TABLE = "CREATE TABLE " + Constants.TABLE_NAME + "("                + Constants.KEY_ID + " INTEGER PRIMARY KEY," + Constants.KEY_GROCERY_ITEM + " TEXT,"                + Constants.KEY_QTY_NUMBER + " TEXT,"                + Constants.KEY_DATE_NAME + " LONG);";

        db.execSQL(CREATE_GROCERY_TABLE);


    }

    @Override    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {

        db.execSQL("DROP TABLE IF EXISTS " + Constants.TABLE_NAME);

        onCreate(db);

    }

    /**     *  CRUD OPERATIONS: Create, Read, Update, Delete Methods     */
    //Add Grocery    public void addGrocery(Grocery grocery) {
        SQLiteDatabase db = this.getWritableDatabase();

        ContentValues values = new ContentValues();
        values.put(Constants.KEY_GROCERY_ITEM, grocery.getName());
        values.put(Constants.KEY_QTY_NUMBER, grocery.getQuantity());
        values.put(Constants.KEY_DATE_NAME, java.lang.System.currentTimeMillis());

        //Insert the row        db.insert(Constants.TABLE_NAME, null, values);

        Log.d("Saved!!", "Saved to DB");

    }


    //Get a Grocery    public Grocery getGrocery(int id) {
        SQLiteDatabase db = this.getWritableDatabase();

        Cursor cursor = db.query(Constants.TABLE_NAME, new String[] {Constants.KEY_ID,
             Constants.KEY_GROCERY_ITEM, Constants.KEY_QTY_NUMBER, Constants.KEY_DATE_NAME},
                Constants.KEY_ID + "=?",
                new String[] {String.valueOf(id)}, null, null, null, null);

        if (cursor != null)
            cursor.moveToFirst();


            Grocery grocery = new Grocery();
            grocery.setId(Integer.parseInt(cursor.getString(cursor.getColumnIndex(Constants.KEY_ID))));
            grocery.setName(cursor.getString(cursor.getColumnIndex(Constants.KEY_GROCERY_ITEM)));
            grocery.setQuantity(cursor.getString(cursor.getColumnIndex(Constants.KEY_QTY_NUMBER)));

            //convert timestamp to something readable            java.text.DateFormat dateFormat = java.text.DateFormat.getDateInstance();
            String formatedDate = dateFormat.format(new Date(cursor.getLong(cursor.getColumnIndex(Constants.KEY_DATE_NAME)))
            .getTime());

            grocery.setDateItemAdded(formatedDate);



        return grocery;
    }


    //Get all Groceries    public List<Grocery> getAllGroceries() {
        SQLiteDatabase db = this.getReadableDatabase();

        List<Grocery> groceryList = new ArrayList<>();

        Cursor cursor = db.query(Constants.TABLE_NAME, new String[] {
                Constants.KEY_ID, Constants.KEY_GROCERY_ITEM, Constants.KEY_QTY_NUMBER,
                Constants.KEY_DATE_NAME}, null, null, null, null, Constants.KEY_DATE_NAME + " DESC");

        if (cursor.moveToFirst()) {
            do {
                Grocery grocery = new Grocery();
                grocery.setId(Integer.parseInt(cursor.getString(cursor.getColumnIndex(Constants.KEY_ID))));
                grocery.setName(cursor.getString(cursor.getColumnIndex(Constants.KEY_GROCERY_ITEM)));
                grocery.setQuantity(cursor.getString(cursor.getColumnIndex(Constants.KEY_QTY_NUMBER)));

                //convert timestamp to something readable                java.text.DateFormat dateFormat = java.text.DateFormat.getDateInstance();
                String formatedDate = dateFormat.format(new Date(cursor.getLong(cursor.getColumnIndex(Constants.KEY_DATE_NAME)))
                        .getTime());

                grocery.setDateItemAdded(formatedDate);

                // Add to the groceryList                groceryList.add(grocery);

            }while (cursor.moveToNext());
        }

        return groceryList;
    }


    //Updated Grocery    public int updateGrocery(Grocery grocery) {
        SQLiteDatabase db = this.getWritableDatabase();

        ContentValues values = new ContentValues();
        values.put(Constants.KEY_GROCERY_ITEM, grocery.getName());
        values.put(Constants.KEY_QTY_NUMBER, grocery.getQuantity());
        values.put(Constants.KEY_DATE_NAME, java.lang.System.currentTimeMillis());//get system time

        //update row        return db.update(Constants.TABLE_NAME, values, Constants.KEY_ID + "=?", new String[] { String.valueOf(grocery.getId())} );
    }


    //Delete Grocery    public void deleteGrocery(int id) {
        SQLiteDatabase db = this.getWritableDatabase();
        db.delete(Constants.TABLE_NAME, Constants.KEY_ID + " = ?",
                new String[] {String.valueOf(id)});

        db.close();

    }


    //Get count    public int getGroceriesCount() {
        String countQuery = "SELECT * FROM " + Constants.TABLE_NAME;
        SQLiteDatabase db = this.getReadableDatabase();

        Cursor cursor = db.rawQuery(countQuery, null);

        return cursor.getCount();
    }
}
  • GRCERY
package com.gohool.mygrocerylist.mygrocerylist.Model;

/** * Created by paulodichone on 4/7/17. */
public class Grocery {

    private String name;
    private String quantity;
    private String dateItemAdded;
    private int id;

    public Grocery() {

    }

    public Grocery(String name, String quantity, String dateItemAdded, int id) {
        this.name = name;
        this.quantity = quantity;
        this.dateItemAdded = dateItemAdded;
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getQuantity() {
        return quantity;
    }

    public void setQuantity(String quantity) {
        this.quantity = quantity;
    }

    public String getDateItemAdded() {
        return dateItemAdded;
    }

    public void setDateItemAdded(String dateItemAdded) {
        this.dateItemAdded = dateItemAdded;
    }

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }
}
  • RECYCLER VIEW ADAPTER
package com.gohool.mygrocerylist.mygrocerylist.UI;

import android.content.Context;
import android.content.Intent;
import android.support.design.widget.Snackbar;
import android.support.v7.app.AlertDialog;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;

import com.gohool.mygrocerylist.mygrocerylist.Activities.DetailsActivity;
import com.gohool.mygrocerylist.mygrocerylist.Data.DatabaseHandler;
import com.gohool.mygrocerylist.mygrocerylist.Model.Grocery;
import com.gohool.mygrocerylist.mygrocerylist.R;

import org.w3c.dom.Text;

import java.util.Date;
import java.util.List;

/** * Created by paulodichone on 4/8/17. */
public class RecyclerViewAdapter extends RecyclerView.Adapter<RecyclerViewAdapter.ViewHolder> {
   private Context context;
    private List<Grocery> groceryItems;
    private AlertDialog.Builder alertDialogBuilder;
    private AlertDialog dialog;
    private LayoutInflater inflater;

    public RecyclerViewAdapter(Context context, List<Grocery> groceryItems) {
        this.context = context;
        this.groceryItems = groceryItems;
    }

    @Override    public RecyclerViewAdapter.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
        View view = LayoutInflater.from(parent.getContext())
                .inflate(R.layout.list_row, parent, false);

        return new ViewHolder(view, context);
    }

    @Override    public void onBindViewHolder(RecyclerViewAdapter.ViewHolder holder, int position) {

        Grocery grocery = groceryItems.get(position);

        holder.groceryItemName.setText(grocery.getName());
        holder.quantity.setText(grocery.getQuantity());
        holder.dateAdded.setText(grocery.getDateItemAdded());

    }

    @Override    public int getItemCount() {
        return groceryItems.size();
    }

    public class ViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener {
        public TextView groceryItemName;
        public TextView quantity;
        public TextView dateAdded;
        public Button editButton;
        public Button deleteButton;
        public int id;


        public ViewHolder(View view, Context ctx) {
            super(view);

            context = ctx;

            groceryItemName = (TextView) view.findViewById(R.id.name);
            quantity = (TextView) view.findViewById(R.id.quantity);
            dateAdded = (TextView) view.findViewById(R.id.dateAdded);

            editButton = (Button) view.findViewById(R.id.editButton);
            deleteButton = (Button) view.findViewById(R.id.deleteButton);

            editButton.setOnClickListener(this);
            deleteButton.setOnClickListener(this);

            view.setOnClickListener(new View.OnClickListener() {
                @Override                public void onClick(View v) {
                    //go to next screen/ DetailsActivity                    int position = getAdapterPosition();

                    Grocery grocery = groceryItems.get(position);
                    Intent intent = new Intent(context, DetailsActivity.class);
                    intent.putExtra("name", grocery.getName());
                    intent.putExtra("quantity", grocery.getQuantity());
                    intent.putExtra("id", grocery.getId());
                    intent.putExtra("date", grocery.getDateItemAdded());
                    context.startActivity(intent);


                }
            });
        }

        @Override        public void onClick(View v) {
            switch (v.getId()) {
                case R.id.editButton:
                    int position = getAdapterPosition();
                    Grocery grocery = groceryItems.get(position);


                    editItem(grocery);

                    break;
                case R.id.deleteButton:
                     position = getAdapterPosition();
                     grocery = groceryItems.get(position);
                    deleteItem(grocery.getId());

                    break;


            }
        }

        public void deleteItem(final int id) {

            //create an AlertDialog            alertDialogBuilder = new AlertDialog.Builder(context);

            inflater = LayoutInflater.from(context);
            View view = inflater.inflate(R.layout.confirmation_dialog, null);

            Button noButton = (Button) view.findViewById(R.id.noButton);
            Button yesButton = (Button) view.findViewById(R.id.yesButton);

            alertDialogBuilder.setView(view);
            dialog = alertDialogBuilder.create();
            dialog.show();


            noButton.setOnClickListener(new View.OnClickListener() {
                @Override                public void onClick(View v) {
                    dialog.dismiss();
                }
            });

            yesButton.setOnClickListener(new View.OnClickListener() {
                @Override                public void onClick(View v) {
                    //delete the item.                    DatabaseHandler db = new DatabaseHandler(context);
                    //delete item                    db.deleteGrocery(id);
                    groceryItems.remove(getAdapterPosition());
                    notifyItemRemoved(getAdapterPosition());

                    dialog.dismiss();


                }
            });

        }


        public void editItem(final Grocery grocery) {

            alertDialogBuilder = new AlertDialog.Builder(context);

            inflater = LayoutInflater.from(context);
            final View view = inflater.inflate(R.layout.popup, null);

            final EditText groceryItem = (EditText) view.findViewById(R.id.groceryItem);
            final EditText quantity = (EditText) view.findViewById(R.id.groceryQty);
            final TextView title = (TextView) view.findViewById(R.id.tile);

            title.setText("Edit Grocery");
            Button saveButton = (Button) view.findViewById(R.id.saveButton);


            alertDialogBuilder.setView(view);
            dialog = alertDialogBuilder.create();
            dialog.show();

            saveButton.setOnClickListener(new View.OnClickListener() {
                @Override                public void onClick(View v) {

                    DatabaseHandler db = new DatabaseHandler(context);

                    //Update item                    grocery.setName(groceryItem.getText().toString());
                    grocery.setQuantity(quantity.getText().toString());

                    if (!groceryItem.getText().toString().isEmpty()
                            && !quantity.getText().toString().isEmpty()) {
                        db.updateGrocery(grocery);
                        notifyItemChanged(getAdapterPosition(),grocery);
                    }else {
                        Snackbar.make(view, "Add Grocery and Quantity", Snackbar.LENGTH_LONG).show();
                    }

                    dialog.dismiss();

                }
            });

        }
    }

}
  • CONSTANTS
package com.gohool.mygrocerylist.mygrocerylist.Util;

/** * Created by paulodichone on 4/7/17. */
public class Constants {

    public static final int DB_VERSION = 1;
    public static final String DB_NAME = "groceryListDB";
    public static final String TABLE_NAME = "groceryTBL";

    //Table columns    public static final String KEY_ID = "id";
    public static final String KEY_GROCERY_ITEM = "grocery_item";
    public static final String KEY_QTY_NUMBER = "quantity_number";
    public static final String KEY_DATE_NAME = "date_added";


}
  • ATIVITY DETAIL XML
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="com.gohool.mygrocerylist.mygrocerylist.Activities.DetailsActivity">

    <android.support.v7.widget.CardView
        android:layout_width="368dp"
        android:layout_height="wrap_content"
        app:layout_constraintBottom_toBottomOf="parent"
        android:layout_marginBottom="8dp"
        app:layout_constraintTop_toTopOf="parent"
        android:layout_marginTop="8dp"
        android:layout_marginLeft="8dp"
        app:layout_constraintLeft_toLeftOf="parent"
        android:layout_marginRight="8dp"
        app:layout_constraintRight_toRightOf="parent">

        <RelativeLayout
            android:padding="5dp"
            android:layout_width="match_parent"
            android:layout_height="match_parent">

            <TextView
                android:id="@+id/itemNameDet"
                android:text="Textview"
                android:textStyle="bold"
                android:textSize="18sp"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content" />

            <TextView
                android:id="@+id/quantityDet"
                android:layout_below="@id/itemNameDet"
                android:text="Qty:"
                android:textStyle="italic"
                android:textSize="14sp"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content" />

            <TextView
                android:id="@+id/dateAddedDet"
                android:layout_below="@id/quantityDet"
                android:textStyle="italic"
                android:textSize="14sp"
                android:text="Date:"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content" />


            <TableRow
                android:layout_alignParentRight="true"
                android:layout_marginTop="15dp"
                android:orientation="horizontal"
                android:layout_alignBottom="@id/dateAddedDet"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content">

                <Button android:id="@+id/editButtonDet"
                    android:layout_width="30dp"
                    android:layout_marginRight="15dp"
                    android:layout_height="30dp"
                    android:background="@android:drawable/ic_menu_edit"/>

                <Button android:id="@+id/deleteButtonDet"
                    android:layout_width="30dp"
                    android:layout_height="30dp"
                    android:background="@android:drawable/ic_delete"/>



            </TableRow>

        </RelativeLayout>


    </android.support.v7.widget.CardView>
</android.support.constraint.ConstraintLayout>

  • ACTIVITY LIST XML
<?xml version="1.0" encoding="utf-8"?>
<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="com.gohool.mygrocerylist.mygrocerylist.Activities.ListActivity">

    <android.support.design.widget.AppBarLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:theme="@style/AppTheme.AppBarOverlay">

        <android.support.v7.widget.Toolbar
            android:id="@+id/toolbar"
            android:layout_width="match_parent"
            android:layout_height="?attr/actionBarSize"
            android:background="?attr/colorPrimary"
            app:popupTheme="@style/AppTheme.PopupOverlay" />

    </android.support.design.widget.AppBarLayout>

    <include layout="@layout/content_list" />

    <android.support.design.widget.FloatingActionButton
        android:id="@+id/fab"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="bottom|end"
        android:layout_margin="@dimen/fab_margin"
        app:srcCompat="@android:drawable/ic_input_add" />

</android.support.design.widget.CoordinatorLayout>

  • ACTIVITY MAIN
    <?xml version="1.0" encoding="utf-8"?>
    <android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:app="http://schemas.android.com/apk/res-auto"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        tools:context="com.gohool.mygrocerylist.mygrocerylist.Activities.MainActivity">

        <android.support.design.widget.AppBarLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:theme="@style/AppTheme.AppBarOverlay">

            <android.support.v7.widget.Toolbar
                android:id="@+id/toolbar"
                android:layout_width="match_parent"
                android:layout_height="?attr/actionBarSize"
                android:background="?attr/colorPrimary"
                app:popupTheme="@style/AppTheme.PopupOverlay" />

        </android.support.design.widget.AppBarLayout>

        <include layout="@layout/content_main" />

        <android.support.design.widget.FloatingActionButton
            android:id="@+id/fab"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:layout_margin="@dimen/fab_margin"
            app:srcCompat="@android:drawable/ic_input_add" />

    </android.support.design.widget.CoordinatorLayout>

  • CONFORMATION DIALOG
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical" android:layout_width="match_parent"
    android:layout_height="match_parent">

    <android.support.v7.widget.CardView
        android:layout_width="match_parent"
        android:layout_height="match_parent" >

        <RelativeLayout
            android:layout_width="match_parent"
            android:padding="23dp"
            android:layout_height="match_parent">

            <TextView
                android:id="@+id/textAlert"
                android:text="@string/sure_text"
                android:layout_width="wrap_content"
                android:layout_centerHorizontal="true"
                android:paddingTop="5dp"
                android:textSize="17sp"
                android:textStyle="bold"
                android:layout_height="wrap_content" />

            <Button
                android:id="@+id/noButton"
                android:background="@color/colorAccent"
                android:text="@string/no"
                android:layout_marginTop="19dp"
                android:layout_below="@id/textAlert"
                android:textColor="@android:color/white"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content" />


            <Button
                android:id="@+id/yesButton"
                android:layout_alignParentRight="true"
                android:text="@string/yes"
                android:background="@color/colorAccent"
                android:layout_alignBottom="@id/noButton"
                android:textColor="@android:color/white"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content" />

        </RelativeLayout>
    </android.support.v7.widget.CardView>
</LinearLayout>
  • CONTENT LIST
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    app:layout_behavior="@string/appbar_scrolling_view_behavior"
    tools:context="com.gohool.mygrocerylist.mygrocerylist.Activities.ListActivity"
    tools:showIn="@layout/activity_list">

    <android.support.v7.widget.RecyclerView
        android:id="@+id/recyclerViewID"
        android:layout_width="368dp"
        android:layout_height="495dp"
        android:layout_marginLeft="8dp"
        android:layout_marginRight="8dp"
        android:layout_marginTop="8dp"
        app:layout_constraintHorizontal_bias="0.0"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintRight_toRightOf="parent"
        app:layout_constraintTop_toTopOf="parent" />
</android.support.constraint.ConstraintLayout>

  • CONTENT MAIN
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    app:layout_behavior="@string/appbar_scrolling_view_behavior"
    tools:context="com.gohool.mygrocerylist.mygrocerylist.Activities.MainActivity"
    tools:showIn="@layout/activity_main">

    <TextView
        android:id="@+id/textView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginBottom="8dp"
        android:layout_marginLeft="8dp"
        android:layout_marginRight="8dp"
        android:layout_marginTop="8dp"
        android:text="@string/add_item"
        android:textSize="18sp"
        android:textStyle="bold"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintRight_toRightOf="parent"
        app:layout_constraintTop_toTopOf="parent"
        app:layout_constraintVertical_bias="0.558" />
</android.support.constraint.ConstraintLayout>

  • LIST ROW XML
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:padding="5dp"
    android:layout_height="wrap_content">

    <android.support.v7.widget.CardView
        android:id="@+id/cardview"
        android:layout_width="match_parent"
        android:layout_height="match_parent" >

        <RelativeLayout
            android:layout_width="match_parent"
            android:padding="15dp"
            android:layout_height="match_parent">

            <TextView
                android:id="@+id/name"
                android:text="Groceryname"
                android:textSize="18sp"
                android:textStyle="bold"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content" />

            <TextView
                android:id="@+id/quantity"
                android:layout_below="@id/name"
                android:text="Qty"
                android:paddingTop="5dp"
                android:textStyle="italic"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content" />

            <TextView
                android:id="@+id/dateAdded"
                android:paddingTop="5dp"
                android:text="Date:"
                android:textStyle="italic"
                android:layout_below="@id/quantity"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content" />


            <TableRow
                android:layout_alignParentRight="true"
                android:orientation="horizontal"
                android:layout_marginTop="15dp"
                android:layout_alignBottom="@id/dateAdded"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content">

                 <Button android:id="@+id/editButton"
                     android:layout_width="30dp"
                     android:layout_height="30dp"
                     android:layout_marginRight="15dp"
                     android:background="@android:drawable/ic_menu_edit"/>

                <Button
                    android:id="@+id/deleteButton"
                    android:layout_width="30dp"
                    android:layout_height="30dp"
                    android:background="@android:drawable/ic_delete"/>

            </TableRow>

        </RelativeLayout>
    </android.support.v7.widget.CardView>
</LinearLayout>
  • POPUP XML
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:id="@+id/layout_id"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <android.support.v7.widget.CardView
        android:layout_width="match_parent"
        android:layout_height="match_parent">

         <RelativeLayout
             android:padding="25dp"
             android:layout_width="match_parent"
             android:layout_height="wrap_content">

             <TextView
                 android:id="@+id/tile"
                 android:layout_width="wrap_content"
                 android:layout_centerHorizontal="true"
                 android:textStyle="italic"
                 android:textSize="18sp"
                 android:text="@string/enter_item"
                 android:layout_height="wrap_content" />


             <EditText
                 android:id="@+id/groceryItem"
                 android:layout_below="@id/tile"
                 android:layout_width="match_parent"
                 android:hint="@string/hint_item"
                 android:layout_height="wrap_content" />

             <EditText
                 android:id="@+id/groceryQty"
                 android:layout_below="@id/groceryItem"
                 android:hint="@string/quantity_hint"
                 android:layout_marginTop="15dp"
                 android:layout_width="match_parent"
                 android:layout_height="wrap_content" />

             <Button
                 android:id="@+id/saveButton"
                 android:layout_marginTop="5dp"
                 android:layout_below="@id/groceryQty"
                 android:text="@string/save_title"
                 android:textStyle="bold"
                 android:textColor="@android:color/white"
                 android:background="@color/colorAccent"
                 android:layout_width="match_parent"
                 android:layout_height="wrap_content" />


         </RelativeLayout>


    </android.support.v7.widget.CardView>
</LinearLayout>
Share:

database imp things

MAIN DATABASE HANDLER CREATION

package com.example.viraj.grocery_list.Data;

import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;

import com.example.viraj.grocery_list.Model.Grocery;
import com.example.viraj.grocery_list.Util.Constants;

import java.net.PortUnreachableException;
import java.util.List;

public class DatabaseHandler extends SQLiteOpenHelper {
    private Context ctx;

    public DatabaseHandler(Context context) {
        super(context, Constants.DB_NAME, null, Constants.DB_VERSION);
        this.ctx = context;
    }

    @Override
    public void onCreate(SQLiteDatabase db) {
        String CREATE_GROCERY_TABLE = "CREATE TABLE " + Constants.TABLE_NAME + "("
                + Constants.KEY_ID + "INTEGER PRIMARY KEY,"
                + Constants.KEY_GROCERY_ITEM + "TEXT,"
                + Constants.KEY_QTY_NUMBER + "TEXT,"
                + Constants.KEY_DATE_NAME + "LONG);";
        db.execSQL(CREATE_GROCERY_TABLE);
    }

    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
        db.execSQL("DROP TABLE IF EXISTS" + Constants.TABLE_NAME);
        onCreate(db);
    }
    //---------------CRUD OPERATION CREATE READ UPDATE DELETE
//===========GROCERY CLASS KO IMPORT KIYA   ADD GROCERY
    public void  AddGrocery(Grocery grocery)
    {

    }
    //==========================GET A GROCERY
    private Grocery getgrocery(int id)
    {
return null;
    }
    //==========================GET A-L-L GROCERIES
    public List<Grocery> getAllGroceries()
    {
        return null;
    }
//========================= UPDATE GROCRIES
    public int updateGrocery(Grocery grocery)
    {
        return 0;
    }
    //=========================DELETE GROCERY
    public void deleteGrocery(int id)
    {

    }
    //=========================get count
    public int getGroceriesCount()
    {
        return 0;
    }
}

MAIN CONSTANTS

package com.example.viraj.grocery_list.Util;

import java.net.PortUnreachableException;

public class Constants {
    //table creation
    public static final int DB_VERSION = 1;
    public static final String DB_NAME = "groceryListDB";
    public static final String TABLE_NAME = "groceryTBL";

    //TABLE COLOUMS
public static final String KEY_ID="id";
public static final String KEY_GROCERY_ITEM="grocery_item";
public static final String KEY_QTY_NUMBER="quantity_number";
public static final String KEY_DATE_NAME="date_added";

}


MAIN MODEL  


package com.example.viraj.grocery_list.Model;

public class Grocery {
    private String name;
    private String quantity;
    private String dateItemAdded;
    private int id;

    //firstgrocery class ka object kiya he
    //second constructor
   // third getter and setter method

//empty constructor
    public Grocery() {
    }

    public Grocery(String name, String quantity, String dateItemAdded, int id) {
        this.name = name;
        this.quantity = quantity;
        this.dateItemAdded = dateItemAdded;
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getQuantity() {
        return quantity;
    }

    public void setQuantity(String quantity) {
        this.quantity = quantity;
    }

    public String getDateItemAdded() {
        return dateItemAdded;
    }

    public void setDateItemAdded(String dateItemAdded) {
        this.dateItemAdded = dateItemAdded;
    }

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }
}


Share:

Wednesday, 23 May 2018

media player basic not original

image

package com.example.viraj.musicapp;

import android.media.MediaPlayer;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.SeekBar;
import android.widget.Switch;
import android.widget.TextView;

import java.text.SimpleDateFormat;
import java.util.Date;

public class MainActivity extends AppCompatActivity implements View.OnClickListener {
    private MediaPlayer mediaPlayer;
    private ImageView artistimage;
    private TextView lefttime, righttime, artistname, songname;
    private SeekBar seekBar;
    private Button previousbuttion, playpausebutton, nextbutton;
    private Thread thread;

    @Override    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        //----------------------------        setUpUI();
        //------------------------------        seekBar.setMax(mediaPlayer.getDuration());
        //------------------------------        seekBar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
            @Override            public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
                if (fromUser) {
                    mediaPlayer.seekTo(progress);
                }
                //------inside start time formate class  set min sdk to 24 on gradle build.gradle modul app                SimpleDateFormat dateFormat = new SimpleDateFormat("mm:ss");
                int currentpos = mediaPlayer.getCurrentPosition();
                int duration = mediaPlayer.getDuration();
                lefttime.setText(String.valueOf(dateFormat.format(new Date(currentpos))));
                righttime.setText(String.valueOf(dateFormat.format(new Date(duration - currentpos))));
                //------inside start time formate class            }

            @Override            public void onStartTrackingTouch(SeekBar seekBar) {

            }

            @Override            public void onStopTrackingTouch(SeekBar seekBar) {

            }
        });
//-----------------------------------------    }

    public void setUpUI() {
        mediaPlayer = new MediaPlayer();
        mediaPlayer = MediaPlayer.create(getApplicationContext(), R.raw.tola);
        artistimage = (ImageView) findViewById(R.id.id_artistimage);
        lefttime = (TextView) findViewById(R.id.id_lefttime);
        righttime = (TextView) findViewById(R.id.id_righttime);
        seekBar = (SeekBar) findViewById(R.id.id_seekBar);
        previousbuttion = (Button) findViewById(R.id.id_previousbutton);
        playpausebutton = (Button) findViewById(R.id.id_playbutton);
        nextbutton = (Button) findViewById(R.id.id_nextbutton);
        artistname = (TextView) findViewById(R.id.id_artistname);
        songname = (TextView) findViewById(R.id.id_songname);

        previousbuttion.setOnClickListener(this);
        playpausebutton.setOnClickListener(this);
        nextbutton.setOnClickListener(this);
    }

    @Override    public void onClick(View v) {
        switch (v.getId()) {
            case R.id.id_previousbutton:
                //code                backMusic();
                break;
            case R.id.id_playbutton:
                //code                if (mediaPlayer.isPlaying()) {
                    pauseMusic();
                } else {
                    startMusic();
                }
                break;
            case R.id.id_nextbutton:
                //code                nextMusic();
                break;
        }
    }

    //method he    public void pauseMusic() {
        if (mediaPlayer != null) {
            mediaPlayer.pause();
            playpausebutton.setBackgroundResource(android.R.drawable.ic_media_play);
        }
    }

    public void startMusic() {
        if (mediaPlayer != null) {
            mediaPlayer.start();
            updateThread();
            playpausebutton.setBackgroundResource(android.R.drawable.ic_media_pause);
        }
    }
public void backMusic()
{
   if (mediaPlayer.isPlaying())
   {
       //for no       mediaPlayer.seekTo(0);
   }
}
public void nextMusic()
{
    if (mediaPlayer.isPlaying())
    {
        mediaPlayer.seekTo(mediaPlayer.getDuration()-100);
    }
}
    public void updateThread() {
        thread = new Thread() {
            @Override            public void run() {
                try {
                    while (mediaPlayer != null && mediaPlayer.isPlaying()) {
                        Thread.sleep(50);
                        runOnUiThread(new Runnable() {
                            @Override                            public void run() {
                                int newPositio = mediaPlayer.getCurrentPosition();
                                int newMax = mediaPlayer.getDuration();
                                seekBar.setMax(newMax);
                                seekBar.setProgress(newPositio);
//update the text                                lefttime.setText(String.valueOf(new java.text.SimpleDateFormat("mm:ss")
                                        .format(new Date(mediaPlayer.getCurrentPosition()))));
                                righttime.setText(String.valueOf(new java.text.SimpleDateFormat("mm:ss")
                                        .format(new Date(mediaPlayer.getCurrentPosition()))));
                            }
                        });
                    }

                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
            }
        };
        thread.start();

    }

    @Override    protected void onDestroy() {
      if (mediaPlayer!=null && mediaPlayer.isPlaying())
      {
          mediaPlayer.stop();
          mediaPlayer.release();
          mediaPlayer=null;
      }
      thread.interrupt();
      thread=null;
        super.onDestroy();
    }
}
xml file

<?xml version="1.0" encoding="utf-8"?><android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:app="http://schemas.android.com/apk/res-auto"    xmlns:tools="http://schemas.android.com/tools"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:orientation="vertical"    tools:context=".MainActivity">

    <ImageView        android:id="@+id/id_artistimage"        android:layout_width="150dp"        android:layout_height="150dp"        android:layout_marginEnd="8dp"        android:layout_marginLeft="8dp"        android:layout_marginRight="8dp"        android:layout_marginStart="8dp"        android:layout_marginTop="28dp"        app:layout_constraintEnd_toEndOf="parent"        app:layout_constraintStart_toStartOf="parent"        app:layout_constraintTop_toTopOf="parent"        app:srcCompat="@drawable/oval" />

    <ImageView        android:id="@+id/imageView2"        android:layout_width="342dp"        android:layout_height="7dp"        android:layout_marginBottom="8dp"        android:layout_marginEnd="8dp"        android:layout_marginLeft="8dp"        android:layout_marginRight="8dp"        android:layout_marginStart="8dp"        android:layout_marginTop="8dp"        app:layout_constraintBottom_toBottomOf="parent"        app:layout_constraintEnd_toEndOf="parent"        app:layout_constraintStart_toStartOf="parent"        app:layout_constraintTop_toBottomOf="@+id/id_artistimage"        app:layout_constraintVertical_bias="0.077"        app:srcCompat="@drawable/divider" />

    <TextView        android:id="@+id/id_songname"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:layout_marginEnd="8dp"        android:layout_marginLeft="8dp"        android:layout_marginRight="8dp"        android:layout_marginStart="8dp"        android:layout_marginTop="20dp"        android:text="@string/songname"        android:textColor="@color/pink"        android:textSize="24sp"        android:textStyle="bold"        app:fontFamily="monospace"        app:layout_constraintEnd_toEndOf="parent"        app:layout_constraintHorizontal_bias="0.425"        app:layout_constraintStart_toStartOf="parent"        app:layout_constraintTop_toBottomOf="@+id/imageView2" />

    <TextView        android:id="@+id/id_artistname"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:layout_marginBottom="8dp"        android:layout_marginEnd="8dp"        android:layout_marginLeft="8dp"        android:layout_marginRight="8dp"        android:layout_marginStart="8dp"        android:layout_marginTop="8dp"        android:text="@string/Artist"        android:textColor="@color/pink"        android:textSize="24sp"        android:textStyle="bold"        app:fontFamily="monospace"        app:layout_constraintBottom_toBottomOf="parent"        app:layout_constraintEnd_toEndOf="parent"        app:layout_constraintHorizontal_bias="0.502"        app:layout_constraintStart_toStartOf="parent"        app:layout_constraintTop_toBottomOf="@+id/id_songname"        app:layout_constraintVertical_bias="0.03" />

    <SeekBar        android:id="@+id/id_seekBar"        android:layout_width="360dp"        android:layout_height="28dp"        android:layout_marginBottom="8dp"        android:layout_marginEnd="8dp"        android:layout_marginLeft="8dp"        android:layout_marginRight="8dp"        android:layout_marginStart="8dp"        android:layout_marginTop="8dp"        app:layout_constraintBottom_toBottomOf="parent"        app:layout_constraintEnd_toEndOf="parent"        app:layout_constraintStart_toStartOf="parent"        app:layout_constraintTop_toBottomOf="@+id/id_artistname"        app:layout_constraintVertical_bias="0.026" />

    <TextView        android:id="@+id/id_lefttime"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:layout_marginBottom="8dp"        android:layout_marginLeft="16dp"        android:layout_marginStart="16dp"        android:layout_marginTop="8dp"        android:text="@string/lefttime"        app:layout_constraintBottom_toBottomOf="parent"        app:layout_constraintStart_toStartOf="parent"        app:layout_constraintTop_toBottomOf="@+id/id_seekBar"        app:layout_constraintVertical_bias="0.0" />

    <TextView        android:id="@+id/id_righttime"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:layout_marginBottom="8dp"        android:layout_marginEnd="12dp"        android:layout_marginLeft="8dp"        android:layout_marginRight="12dp"        android:layout_marginStart="8dp"        android:layout_marginTop="8dp"        android:text="@string/righttime"        app:layout_constraintBottom_toBottomOf="parent"        app:layout_constraintEnd_toEndOf="parent"        app:layout_constraintHorizontal_bias="0.968"        app:layout_constraintStart_toEndOf="@+id/id_lefttime"        app:layout_constraintTop_toBottomOf="@+id/id_seekBar"        app:layout_constraintVertical_bias="0.0" />

    <TableRow        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:layout_marginBottom="8dp"        android:layout_marginEnd="8dp"        android:layout_marginLeft="8dp"        android:layout_marginRight="8dp"        android:layout_marginStart="8dp"        android:layout_marginTop="8dp"android:background="@color/colorPrimaryDark"        android:gravity="center"        android:padding="14dp"        app:layout_constraintBottom_toBottomOf="parent"        app:layout_constraintEnd_toEndOf="parent"        app:layout_constraintStart_toStartOf="parent"        app:layout_constraintTop_toBottomOf="@+id/id_lefttime"        app:layout_constraintVertical_bias="0.0">

        <Button            android:id="@+id/id_previousbutton"            android:layout_width="40dp"            android:layout_height="40dp"
            android:background="@android:drawable/ic_media_previous" />

        <Button            android:id="@+id/id_playbutton"            android:layout_width="40dp"            android:layout_height="40dp"            android:background="@android:drawable/ic_media_play" />

        <Button            android:id="@+id/id_nextbutton"            android:layout_width="40dp"            android:layout_height="40dp"            android:background="@android:drawable/ic_media_next" />
    </TableRow>

</android.support.constraint.ConstraintLayout>
Share:

Tuesday, 22 May 2018

basic music play from saved mp3 android app

package com.example.viraj.mplay;

import android.media.MediaPlayer;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.view.accessibility.AccessibilityManager;
import android.widget.Button;
import android.widget.SeekBar;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity {
    private MediaPlayer mediaPlayer;
    private Button playButton;
    private SeekBar MseekBar;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        MseekBar=(SeekBar)findViewById(R.id.id_seekbar);
        mediaPlayer = new MediaPlayer();
        mediaPlayer = MediaPlayer.create(MainActivity.this, R.raw.free);
MseekBar.setMax(mediaPlayer.getDuration());
        MseekBar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
            @Override
            public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
if (fromUser)
{
    mediaPlayer.seekTo(progress);
}
            }

            @Override
            public void onStartTrackingTouch(SeekBar seekBar) {

            }

            @Override
            public void onStopTrackingTouch(SeekBar seekBar) {

            }
        });
        mediaPlayer.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
            @Override
            public void onCompletion(MediaPlayer mp) {
                int duration=mp.getDuration();
                String mDuration=String.valueOf(duration/1000);
                Toast.makeText(getApplicationContext(),"Duration is"+mDuration,Toast.LENGTH_LONG).show();
            }
        });

        playButton = (Button) findViewById(R.id.id_button);
        playButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                if (mediaPlayer.isPlaying()) {
                    //stop and give option
                    pausemusic();
                }
                else {
                    startmusic();
                }
            }
        });
    }

    public void pausemusic() {
        if (mediaPlayer != null) {
            mediaPlayer.pause();
            playButton.setText("play");
        }
    }

    public void startmusic() {
        if (mediaPlayer != null) {
            mediaPlayer.start();
            playButton.setText("PAUSE");
        }
    }

    @Override
    protected void onDestroy() {
        if (mediaPlayer!=null && mediaPlayer.isPlaying())
        {
mediaPlayer.stop();
mediaPlayer.release();
mediaPlayer=null;
        }
        super.onDestroy();
    }
}



xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity"
    android:orientation="vertical"
    android:gravity="center">

    <Button
        android:id="@+id/id_button"
        android:layout_width="wrap_content"

        android:layout_height="wrap_content"
        android:text="@string/Buttonplay" />

    <SeekBar
        android:id="@+id/id_seekbar"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" />

</LinearLayout>

Share:

Saturday, 19 May 2018

raw file creation


Share:

Saturday, 12 May 2018

PET BIO ORIGINAL


FIRST PAGE JAVA

package com.gohool.petbio.petbio;

import android.content.Intent;
import android.media.Image;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.ImageView;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity implements View.OnClickListener{
    private ImageView catView;
    private ImageView dogView;

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

        catView = (ImageView) findViewById(R.id.catID);
        dogView = (ImageView) findViewById(R.id.dogId);

        catView.setOnClickListener(this);
        dogView.setOnClickListener(this);


    }

    @Override
    public void onClick(View v) {
        switch (v.getId()) {
            case R.id.catID:
                //go to second activity
                Intent catIntent = new Intent(MainActivity.this, BioActivity.class);
                catIntent.putExtra("name", "Jarvis");
                catIntent.putExtra("bio", "Great cat.  Loves people and meows a lot!");
                startActivity(catIntent);
              //  Toast.makeText(MainActivity.this, "Cat", Toast.LENGTH_LONG).show();
                break;

            case R.id.dogId:
                //go to second activity
                Intent dogIntent = new Intent(MainActivity.this, BioActivity.class);
                dogIntent.putExtra("name", "Dufus");
                dogIntent.putExtra("bio", "Great Dog.  Loves people and barks and eats a lot!");
                startActivity(dogIntent);
              //  Toast.makeText(MainActivity.this, "Dog", Toast.LENGTH_LONG).show();
                break;


        }

    }
}


SECOND PAGE

package com.gohool.petbio.petbio;

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

import org.w3c.dom.Text;

public class BioActivity extends AppCompatActivity {
    private ImageView petImageView;
    private TextView petName;
    private TextView petBio;
    private Bundle extras;

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

        petImageView = (ImageView) findViewById(R.id.petImageViewID);
        petName = (TextView) findViewById(R.id.nameID);
        petBio = (TextView) findViewById(R.id.bioTextID);


        extras = getIntent().getExtras();

        if (extras != null) {
            String name = extras.getString("name");
            String bio = extras.getString("bio");

            setUp(name, bio);
        }



    }

    public void setUp(String name, String bio) {

        if (name.equals("Dufus")) {
              //We show Dog stuff
            petImageView.setImageDrawable(getResources().getDrawable(R.drawable.icon_lg_dog));
            petName.setText(name);
            petBio.setText(bio);




        } else if (name.equals("Jarvis")) {

             //We show cat stuff
            petImageView.setImageDrawable(getResources().getDrawable(R.drawable.icon_lg_cat));
            petName.setText(name);
            petBio.setText(bio);

        }

    }
}






FIRST PAGE XML

<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@color/colorAccent"
    tools:context="com.gohool.petbio.petbio.MainActivity">

    <ImageView
        android:id="@+id/catID"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintRight_toRightOf="parent"
        app:srcCompat="@drawable/icon_lg_cat"
        app:layout_constraintHorizontal_bias="0.502"
        app:layout_constraintTop_toTopOf="parent"
        android:layout_marginTop="8dp"
        app:layout_constraintBottom_toBottomOf="parent"
        android:layout_marginBottom="8dp"
        app:layout_constraintVertical_bias="0.216" />

    <ImageView
        android:id="@+id/dogId"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="72dp"
        app:layout_constraintHorizontal_bias="0.486"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintRight_toRightOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/catID"
        app:srcCompat="@drawable/icon_lg_dog" />
</android.support.constraint.ConstraintLayout>



SECOND PAGE XML

<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/petBioImageViewID"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="com.gohool.petbio.petbio.BioActivity">

    <ImageView
        android:id="@+id/petImageViewID"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginBottom="8dp"
        android:layout_marginTop="8dp"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintHorizontal_bias="0.501"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintRight_toRightOf="parent"
        app:layout_constraintTop_toTopOf="parent"
        app:layout_constraintVertical_bias="0.109"
        app:srcCompat="@android:drawable/screen_background_dark_transparent"
        tools:layout_editor_absoluteX="188dp"
        tools:layout_editor_absoluteY="58dp" />

    <TextView
        android:id="@+id/nameID"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginBottom="8dp"
        android:layout_marginTop="0dp"
        android:text="TextView"
        android:textSize="18sp"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintRight_toRightOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/petImageViewID"
        app:layout_constraintVertical_bias="0.148" />

    <TextView
        android:id="@+id/bioTextID"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginBottom="8dp"
        android:layout_marginLeft="8dp"
        android:layout_marginRight="8dp"
        android:layout_marginTop="8dp"
        android:text="TextView"
        android:textSize="24sp"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintRight_toRightOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/nameID" />
</android.support.constraint.ConstraintLayout>

Share:

switch case and set on click on diffrent side

public class MainActivity extends AppCompatActivity implements View.OnClickListener{
    private ImageView catView;
    private ImageView dogView;

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

        catView = (ImageView) findViewById(R.id.catID);
        dogView = (ImageView) findViewById(R.id.dogId);

        catView.setOnClickListener(this);
        dogView.setOnClickListener(this);


    }

    @Override
    public void onClick(View v) {
        switch (v.getId()) {
            case R.id.catID:
                //go to second activity
                Intent catIntent = new Intent(MainActivity.this, BioActivity.class);
                catIntent.putExtra("name", "Jarvis");
                catIntent.putExtra("bio", "Great cat.  Loves people and meows a lot!");
                startActivity(catIntent);
              //  Toast.makeText(MainActivity.this, "Cat", Toast.LENGTH_LONG).show();
                break;

            case R.id.dogId:
                //go to second activity
                Intent dogIntent = new Intent(MainActivity.this, BioActivity.class);
                dogIntent.putExtra("name", "Dufus");
                dogIntent.putExtra("bio", "Great Dog.  Loves people and barks and eats a lot!");
                startActivity(dogIntent);
              //  Toast.makeText(MainActivity.this, "Dog", Toast.LENGTH_LONG).show();
                break;


        }

    }
}
Share:

Tuesday, 17 April 2018

Tips to speed Up Android Studio

  • Update Android Studio(2.3) and Java To the latest One
  • Disable unwanted Plugins. Demo Video
  • If you are not using VCS and Google Cloud Services then disable the following Plugins:
GitIntegration, GitHub, CVS Integration, Google Login and its dependent Plugins, Subversion Integration.
  • Close All Windows and Browser While Using Android Studio.
  • Avoid Built in Emulators. Try GenyMotion or Real Devices(Recommended)
  • Disable Unwanted Startup Programs. Check the help here
  • Tweak the Gradle to reduce Build Time
  • Update Your RAM to 8GB (atleast 4GB)
Hope its helpful..!! Happy Androidify...!!!!

video link 
Share:

Sunday, 11 February 2018

calories counter android app

1) 
Share:

Search This Blog

Popular Posts

Pages

how to make crores from 1 lakh in stock markets in 1 year

how to make crores from 1 lakh in stock markets in 1 year

Blogger Tutorials

Blogger Templates

Sample Text

Copyright © ANDROID TUTORIAL CODE | Powered by Blogger
Design by SimpleWpThemes | Blogger Theme by NewBloggerThemes.com & Distributed By Protemplateslab