Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //=========================ENTRY CLASS
- import android.support.v7.app.AppCompatActivity;
- import android.app.AlertDialog;
- import android.content.Context;
- import android.content.DialogInterface;
- import android.content.Intent;
- import android.content.SharedPreferences;
- import android.os.Bundle;
- import android.text.InputType;
- import android.widget.EditText;
- import android.widget.ListView;
- import android.widget.TextView;
- public class Entry extends AppCompatActivity{
- private TextView txt;
- protected static ListView myList;
- private String myText;
- private Context context = this;
- private String myUser ;
- private TaskAdapter myTask ;
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.entry);
- txt=(TextView)findViewById(R.id.text);
- myList=(ListView)findViewById(R.id.myListV);
- myUser = getIntent().getStringExtra("putUser");
- txt.setText("Hello " + myUser);
- refresh();
- }
- @Override
- public boolean onCreateOptionsMenu(Menu m)
- {
- MenuInflater inflater = getMenuInflater();
- inflater.inflate(R.menu.menu_entry, m);
- return super.onCreateOptionsMenu(m);
- }
- @Override
- public boolean onOptionsItemSelected(MenuItem item)
- {
- switch (item.getItemId())
- {
- case R.id.addTask:
- btnAddTask();
- break;
- case R.id.logout:
- btnLogout();
- break;
- }
- return super.onOptionsItemSelected(item);
- }
- public void refresh()
- {
- myTask=new TaskAdapter(context,myUser);
- myList.setAdapter(myTask);
- }
- public void btnAddTask()
- {
- //create builder
- AlertDialog.Builder builder=new AlertDialog.Builder(this);
- //set title
- builder.setTitle("Enter new task");
- //set up the input
- final EditText input = new EditText(this);
- //specify the type of input expected
- input.setInputType(InputType.TYPE_CLASS_TEXT);
- //add EditText view to the Dialog
- builder.setView(input);
- // positive feed back
- builder.setPositiveButton("ADD TASK", new DialogInterface.OnClickListener() {
- public void onClick(DialogInterface dialog, int which) {
- myText = input.getText().toString();
- UtlShared myPref = new UtlShared(context, myUser);
- myPref.newTask(myText);
- refresh();
- }
- });
- //negative feed back
- builder.setNegativeButton("CANCEL", new DialogInterface.OnClickListener() {
- @Override
- public void onClick(DialogInterface dialog, int which) {
- dialog.cancel();
- }
- });
- builder.setIcon(android.R.drawable.ic_dialog_info);
- builder.show();
- }
- public void btnLogout()
- {
- //declaration of shared preferences
- SharedPreferences pref=getApplicationContext().getSharedPreferences("myPref",MODE_PRIVATE);
- //declaration of editor
- SharedPreferences.Editor editor=pref.edit();
- //remove key user and pass
- editor.remove("userLogged").commit();
- //start another window - main window
- Intent iMain = new Intent(this,MainActivity.class);
- this.startActivity(iMain);
- finish();
- }
- }
- //===================================UTL SHARED CLASS
- import android.content.Context;
- import android.content.SharedPreferences;
- import java.util.ArrayList;
- import java.util.Map;
- public class UtlShared
- {
- private Context context;
- private SharedPreferences userPref;
- private SharedPreferences.Editor editor;
- public String taskName;
- public Boolean taskDone;
- private String userName;
- private TaskAdapter myTask ;
- private ArrayList<UtlShared> taskList ;
- //constructor for adding name to list
- public UtlShared(String taskName, Boolean taskDone)
- {
- this.taskName=taskName;
- this.taskDone=taskDone;
- }
- //constructor for new UtlShared instance
- public UtlShared(Context context, String userName)
- {
- //get context
- this.context = context;
- //get username for shared preferences file
- this.userName=userName;
- userPref=context.getSharedPreferences(userName, Context.MODE_PRIVATE);
- editor = userPref.edit();
- //create new list
- taskList = new ArrayList<UtlShared>();
- //get all tasks to list
- getTasks();
- }
- public void newTask(String taskName)
- {
- //PUT NEW TASK INTO SHARED PREFERENCES
- editor.putString(taskName, "0");
- editor.commit();
- //PUT TASK INTO LIST
- taskList.add(new UtlShared(taskName, false));
- }
- public void removeTask(String taskName)
- {
- //REMOVE TASK FROM SHARED PREFERENCES
- editor.remove(taskName);
- editor.commit();
- //REMOVE TASK FROM LIST
- taskList.remove(taskName);
- refresh();
- }
- public void doneTask(String taskName, boolean taskDone)
- {
- //CHANGE TASK IN SHARED PREFERENCES
- editor.putString(taskName, taskDone ? "1" : "0");
- editor.commit();
- //REMOVE TASK FROM LIST
- taskList.remove(taskName);
- //ADD TASK WITH NEW TASK DONE INTO LIST
- taskList.add(new UtlShared(taskName, taskDone));
- refresh();
- }
- public void getTasks()
- {
- //GET ALL TASK FROM SHARED PREFERENCES
- Map<String,?> tasks= userPref.getAll();
- for(Map.Entry<String,?> singleTask:tasks.entrySet())
- {
- //INSERT TASK INTO LIST
- taskList.add(new UtlShared(singleTask.getKey(), singleTask.getValue().equals("1")));
- }
- }
- public ArrayList<UtlShared> getAllTasks()
- {
- //GETTER RETURN TASK LIST
- return taskList;
- }
- public void refresh()
- {
- myTask=new TaskAdapter(context,userName);
- Entry.myList.setAdapter(myTask);
- }
- }
- //===============================TASK ADAPTER CLASS
- import android.app.AlertDialog;
- import android.content.Context;
- import android.content.DialogInterface;
- import android.graphics.Color;
- import android.view.View;
- import android.view.ViewGroup;
- import android.widget.BaseAdapter;
- import android.widget.ImageButton;
- import android.widget.LinearLayout;
- import android.widget.TextView;
- import java.util.ArrayList;
- public class TaskAdapter extends BaseAdapter
- {
- //SET CONTEXT
- Context context;
- String userName;
- ArrayList<UtlShared> userTasks;
- public TaskAdapter(Context context,String userName)
- {
- this.context=context;
- this.userName=userName;
- //CREATE UtlShared instance
- UtlShared myPref = new UtlShared(context,userName);
- //get all task into instance
- userTasks = myPref.getAllTasks();
- }
- @Override
- public int getCount() {
- //RETURN SIZE OF ALL TASKS
- return userTasks.size();
- }
- @Override
- public Object getItem(int position) {
- return null;
- }
- @Override
- public long getItemId(int position) {
- return 0;
- }
- @Override
- public View getView(final int position, View convertView, ViewGroup parent) {
- LinearLayout myLayout = new LinearLayout(context);
- myLayout.setOrientation(LinearLayout.HORIZONTAL);
- ImageButton delete=new ImageButton(context);
- delete.setBackgroundResource(R.drawable.trash);
- //CREATE NEW TEXT VIEW
- final TextView taskName = new TextView(context);
- //PUT TASK NAME INTO TEXT VIEW
- taskName.setText(userTasks.get(position).taskName);
- taskName.setTextSize(30);
- //SET COLOR OF TASK
- myLayout.setBackgroundColor(userTasks.get(position).taskDone.equals(true) ? Color.GREEN : Color.RED);
- //Change color
- myLayout.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- AlertDialog.Builder builder=new AlertDialog.Builder(context);
- builder.setTitle(userTasks.get(position).taskDone.equals(true) ? "Are you sure the task not completed?" : "Are you sure task completed?");
- builder.setPositiveButton("OK", new DialogInterface.OnClickListener() {
- @Override
- public void onClick(DialogInterface dialog, int which) {
- UtlShared myPref = new UtlShared(context, userName);
- myPref.doneTask(userTasks.get(position).taskName, userTasks.get(position).taskDone.equals(true) ? false : true);
- }
- });
- builder.setIcon(android.R.drawable.ic_menu_help);
- builder.show();
- }
- });
- delete.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- AlertDialog.Builder builder=new AlertDialog.Builder(context);
- builder.setTitle("Are you sure to delete task?");
- builder.setPositiveButton("OK", new DialogInterface.OnClickListener() {
- @Override
- public void onClick(DialogInterface dialog, int which) {
- UtlShared myPref = new UtlShared(context, userName);
- myPref.removeTask(userTasks.get(position).taskName);
- }
- });
- builder.setIcon(android.R.drawable.ic_delete);
- builder.show();
- }
- });
- //RETURN TEXT VIEW
- myLayout.addView(delete);
- myLayout.addView(taskName);
- return myLayout;
- }
- }
Add Comment
Please, Sign In to add comment