Advertisement
Guest User

my task

a guest
Mar 27th, 2016
131
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 13.25 KB | None | 0 0
  1. main activity
  2. ================
  3. package com.example.zeevmindali.mytaskmanager;
  4.  
  5. import android.content.Context;
  6. import android.content.Intent;
  7. import android.content.SharedPreferences;
  8. import android.support.v7.app.AppCompatActivity;
  9. import android.os.Bundle;
  10. import android.view.View;
  11. import android.widget.EditText;
  12. import android.widget.Toast;
  13.  
  14. public class MainActivity extends AppCompatActivity {
  15.  
  16.     Context context;
  17.     EditText userName;
  18.     EditText userPass;
  19.     SharedPreferences myPref ;
  20.     SharedPreferences.Editor editor;
  21.  
  22.     @Override
  23.     protected void onCreate(Bundle savedInstanceState) {
  24.         super.onCreate(savedInstanceState);
  25.         setContentView(R.layout.activity_main);
  26.         userName=(EditText)findViewById(R.id.userName);
  27.         userPass=(EditText)findViewById(R.id.userPassword);
  28.  
  29.  
  30.         myPref = getSharedPreferences("userPref", MODE_PRIVATE);
  31.         editor = myPref.edit();
  32.  
  33.         final String getUserName = checkIfLogged();
  34.         if (!getUserName.equals("na"))
  35.         {
  36.             startTaskActivity(getUserName);
  37.         }
  38.     }
  39.  
  40.     public void btnLogin(View v)
  41.     {
  42.         if (checkUser())
  43.         {
  44.             updateLogged();
  45.             userName.requestFocus();
  46.             startTaskActivity(userName.getText().toString());
  47.             userName.setText("");
  48.             userPass.setText("");
  49.             userName.requestFocus();
  50.  
  51.         }
  52.         else
  53.         {
  54.             Toast.makeText(this, "Error in user name or password", Toast.LENGTH_SHORT).show();
  55.         }
  56.     }
  57.  
  58.     public void btnRegister(View v)
  59.     {
  60.         Intent registerIntent = new Intent(this,Register.class);
  61.         startActivity(registerIntent);
  62.     }
  63.  
  64.  
  65.     private String checkIfLogged()
  66.     {
  67.  
  68.         return myPref.getString("logged","na");
  69.     }
  70.  
  71.     private void updateLogged()
  72.     {
  73.         //move user to loged mode
  74.         editor.putString("logged", userName.getText().toString());
  75.         editor.commit();
  76.     }
  77.  
  78.     private void startTaskActivity(String loggedUserName)
  79.     {
  80.         //move to task activity
  81.         Intent taskIntent = new Intent(this,TaskList.class);
  82.         taskIntent.putExtra("logged",loggedUserName);
  83.         startActivity(taskIntent);
  84.  
  85.     }
  86.  
  87.     private boolean checkUser()
  88.     {
  89.             if (userName.getText().toString().isEmpty() || userPass.getText().toString().isEmpty()) return false;
  90.             return myPref.getString(userName.getText().toString(),"na").equals(userPass.getText().toString());
  91.     }
  92. }
  93.  
  94.  
  95. register
  96. =============
  97. package com.example.zeevmindali.mytaskmanager;
  98.  
  99. import android.content.SharedPreferences;
  100. import android.support.v7.app.AppCompatActivity;
  101. import android.os.Bundle;
  102. import android.view.View;
  103. import android.widget.EditText;
  104. import android.widget.Toast;
  105.  
  106. public class Register extends AppCompatActivity {
  107.  
  108.     EditText userName;
  109.     EditText userPass;
  110.     EditText userPassCheck;
  111.  
  112.     @Override
  113.     protected void onCreate(Bundle savedInstanceState)
  114.     {
  115.         super.onCreate(savedInstanceState);
  116.         setContentView(R.layout.activity_register);
  117.         userName=(EditText)findViewById(R.id.regUserName);
  118.         userPass=(EditText)findViewById(R.id.regUserPass);
  119.         userPassCheck=(EditText)findViewById(R.id.regUserPassCheck);
  120.     }
  121.  
  122.     public void btnCancel(View v)
  123.     {
  124.         finish();
  125.     }
  126.  
  127.     public void btnRegister(View v)
  128.     {
  129.         if (checkUser())
  130.         {
  131.             finish();
  132.         }
  133.     }
  134.  
  135.     private boolean checkUser()
  136.     {
  137.         if (userName.getText().toString().isEmpty() || userPass.getText().toString().isEmpty())
  138.         {
  139.             Toast.makeText(Register.this, "Fill all fields", Toast.LENGTH_SHORT).show();
  140.             return false;
  141.         }
  142.  
  143.         if (!userPass.getText().toString().equals(userPassCheck.getText().toString()))
  144.         {
  145.             Toast.makeText(Register.this, "Password not match", Toast.LENGTH_SHORT).show();
  146.             return false;
  147.         }
  148.  
  149.         SharedPreferences myPref = getSharedPreferences("userPref",MODE_PRIVATE);
  150.         if (myPref.contains(userName.getText().toString()))
  151.         {
  152.             Toast.makeText(Register.this, "User already exists", Toast.LENGTH_SHORT).show();
  153.             return false;
  154.         }
  155.  
  156.         SharedPreferences.Editor editor = myPref.edit();
  157.         editor.putString(userName.getText().toString(),userPass.getText().toString());
  158.         editor.commit();
  159.         return true;
  160.     }
  161. }
  162.  
  163.  
  164. task adapter
  165. ============
  166. package com.example.zeevmindali.mytaskmanager;
  167.  
  168. import android.app.AlertDialog;
  169. import android.content.Context;
  170. import android.content.DialogInterface;
  171. import android.graphics.Color;
  172. import android.view.View;
  173. import android.view.ViewGroup;
  174. import android.widget.BaseAdapter;
  175. import android.widget.TextView;
  176. import android.widget.Toast;
  177.  
  178. import java.util.ArrayList;
  179. import java.util.List;
  180.  
  181. /**
  182.  * Created by zeevmindali on 24/03/16.
  183.  */
  184. public class taskAdapter extends BaseAdapter
  185. {
  186.     Context context;
  187.     String userName;
  188.     List<utlShared> taskList;
  189.  
  190.     public taskAdapter(Context context,List<utlShared> myTaskList)
  191.     {
  192.         this.context=context;
  193.         taskList= myTaskList;
  194.     }
  195.  
  196.     @Override
  197.     public int getCount()
  198.     {
  199.         return taskList.size();
  200.     }
  201.  
  202.     @Override
  203.     public Object getItem(int position) {
  204.         return null;
  205.     }
  206.  
  207.     @Override
  208.     public long getItemId(int position) {
  209.         return 0;
  210.     }
  211.  
  212.     @Override
  213.     public View getView(final int position, View convertView, ViewGroup parent)
  214.     {
  215.  
  216.         final TextView singleTask = new TextView(context);
  217.         singleTask.setText(taskList.get(position).taskName);
  218.         singleTask.setTextColor(taskList.get(position).taskDone ? Color.GREEN : Color.RED);
  219.         singleTask.setOnClickListener(new View.OnClickListener() {
  220.             @Override
  221.             public void onClick(View v) {
  222.                 AlertDialog.Builder builder = new AlertDialog.Builder(context);
  223.                 builder.setTitle("Change Status of? "+taskList.get(position).taskName);
  224.                 builder.setPositiveButton("Yes", new DialogInterface.OnClickListener() {
  225.                     @Override
  226.                     public void onClick(DialogInterface dialog, int which) {
  227.                         utlShared myPref = new utlShared(context, userName);
  228.                         final boolean changeStatus = !Boolean.parseBoolean(String.valueOf(taskList.get(position).taskDone));
  229.                         myPref.doneTask(taskList.get(position).taskName, changeStatus);
  230.                         taskList.get(position).taskDone=changeStatus;
  231.                         singleTask.setTextColor(changeStatus? Color.GREEN : Color.RED);
  232.                     }
  233.                 });
  234.                 builder.setNegativeButton("No", new DialogInterface.OnClickListener() {
  235.                     @Override
  236.                     public void onClick(DialogInterface dialog, int which) {
  237.                         dialog.cancel();
  238.                     }
  239.                 });
  240.                 builder.show();
  241.             }
  242.         });
  243.             return singleTask;
  244.         }
  245. }
  246.  
  247.  
  248. task list
  249. =================
  250. package com.example.zeevmindali.mytaskmanager;
  251.  
  252. import android.app.AlertDialog;
  253. import android.content.Context;
  254. import android.content.DialogInterface;
  255. import android.content.SharedPreferences;
  256. import android.support.v7.app.AppCompatActivity;
  257. import android.os.Bundle;
  258. import android.text.InputType;
  259. import android.view.Menu;
  260. import android.view.MenuInflater;
  261. import android.view.MenuItem;
  262. import android.widget.EditText;
  263. import android.widget.ListView;
  264. import android.widget.Toast;
  265.  
  266. import java.util.ArrayList;
  267. import java.util.List;
  268.  
  269. public class TaskList extends AppCompatActivity {
  270.  
  271.     ListView myList;
  272.     String myTask="";
  273.     ArrayList<utlShared> myTaskList;
  274.     utlShared myUtlShared;
  275.     taskAdapter myAdapter;
  276.     Context context;
  277.     @Override
  278.  
  279.     protected void onCreate(Bundle savedInstanceState) {
  280.         super.onCreate(savedInstanceState);
  281.         setContentView(R.layout.activity_task_list);
  282.         myList=(ListView)findViewById(R.id.taskList);
  283.         context=this;
  284.         final String userName=getIntent().getStringExtra("logged");
  285.         myUtlShared = new utlShared(this,userName);
  286.         myTaskList = myUtlShared.getAllTasks();
  287.         if (myTaskList!=null)
  288.         {
  289.             taskAdapter adapter = new taskAdapter(this, myTaskList);
  290.  
  291.             myList.setAdapter(adapter);
  292.         }
  293.     }
  294.  
  295.     @Override
  296.     public boolean onCreateOptionsMenu(Menu menu)
  297.     {
  298.         MenuInflater inflater = getMenuInflater();
  299.         inflater.inflate(R.menu.menu, menu);
  300.         return super.onCreateOptionsMenu(menu);
  301.     }
  302.  
  303.     @Override
  304.     public boolean onOptionsItemSelected(MenuItem item)
  305.     {
  306.         switch (item.getItemId())
  307.         {
  308.             case R.id.logOut:
  309.                 SharedPreferences myPref = getSharedPreferences("userPref",MODE_PRIVATE);
  310.                 SharedPreferences.Editor editor = myPref.edit();
  311.                 editor.remove("logged");
  312.                 editor.commit();
  313.                 finish();
  314.                 break;
  315.  
  316.             case R.id.addTask:
  317.                 dlgAddTask();
  318.                 break;
  319.         }
  320.         return super.onOptionsItemSelected(item);
  321.     }
  322.  
  323.     private String dlgAddTask()
  324.     {
  325.         //create builder
  326.         AlertDialog.Builder builder=new AlertDialog.Builder(this);
  327.         //set title
  328.         builder.setTitle("Input new task");
  329.  
  330.         //set up the input
  331.         final EditText input = new EditText(this);
  332.         //specify the type of input expected
  333.         input.setInputType(InputType.TYPE_CLASS_TEXT);
  334.         //add EditText view to the Dialog
  335.         builder.setView(input);
  336.  
  337.         // positive feed back
  338.         builder.setPositiveButton("ADD TASK", new DialogInterface.OnClickListener() {
  339.             public void onClick(DialogInterface dialog, int which) {
  340.                 myTask = input.getText().toString();
  341.                 myUtlShared.newTask(myTask);
  342.                 //myTaskList.add(new utlShared(myTask, false));
  343.                 taskAdapter adapter = new taskAdapter(context,myTaskList);
  344.                 myList.setAdapter(adapter);
  345.             }
  346.         });
  347.         //negative feed back
  348.         builder.setNegativeButton("CANCEL", new DialogInterface.OnClickListener() {
  349.             @Override
  350.             public void onClick(DialogInterface dialog, int which) {
  351.                 dialog.cancel();
  352.             }
  353.         });
  354.         builder.show();
  355.         return myTask;
  356.     }
  357. }
  358.  
  359.  
  360. utlShared
  361. =================
  362. package com.example.zeevmindali.mytaskmanager;
  363.  
  364. import android.content.Context;
  365. import android.content.SharedPreferences;
  366. import android.util.Log;
  367. import android.widget.Toast;
  368.  
  369. import java.util.ArrayList;
  370. import java.util.List;
  371. import java.util.Map;
  372.  
  373. /**
  374.  * Created by zeevmindali on 24/03/16.
  375.  */
  376. public class utlShared
  377. {
  378.     private Context context;
  379.     private SharedPreferences userPref;
  380.     private SharedPreferences.Editor editor;
  381.     public String taskName;
  382.     public Boolean taskDone;
  383.     private String userName;
  384.     private ArrayList<utlShared> myTasks;
  385.  
  386.     //contructor for adding name to list
  387.     public utlShared(String taskName, Boolean taskDone)
  388.     {
  389.         this.taskName=taskName;
  390.         this.taskDone=taskDone;
  391.     }
  392.  
  393.     //contructor for new utlShared instance
  394.     public utlShared(Context context, String userName)
  395.     {
  396.         //get context
  397.         this.context = context;
  398.         //get username for shared preferances file
  399.         this.userName=userName;
  400.         userPref=context.getSharedPreferences(userName, Context.MODE_PRIVATE);
  401.         editor = userPref.edit();
  402.         //create new list
  403.         myTasks = new ArrayList<utlShared>();
  404.         //get all tasks to list
  405.         getTasks();
  406.     }
  407.  
  408.     public void newTask(String taskName)
  409.     {
  410.         //PUT NEW TASK INTO SHARED PREFERANCES
  411.         editor.putString(taskName,"0");
  412.         editor.commit();
  413.         //PUT TASK INTO LIST
  414.         myTasks.add(new utlShared(taskName, false));
  415.     }
  416.  
  417.     public void removeTask(String taskName)
  418.     {
  419.         //REMOVE TASK FROM SHARED PREFERANCES
  420.         editor.remove(taskName);
  421.         editor.commit();
  422.         //REMOVE TASK FROM LIST
  423.         myTasks.remove(taskName);
  424.     }
  425.  
  426.     public void doneTask(String taskName, boolean taskDone)
  427.     {
  428.  
  429.         //CHANGE TASK IN SHARED PREFERANCES
  430.         editor.putBoolean(taskName, taskDone);
  431.         //REMOVE TASK FROM LIST
  432.         myTasks.remove(taskName);
  433.         //ADD TASK WITH NEW TASK DONE INTO LIST
  434.         myTasks.add(new utlShared(taskName, taskDone));
  435.     }
  436.  
  437.     public void getTasks()
  438.     {
  439.         //GET ALL TASK FROM SHARED PREFERANCES
  440.         Map<String,?> userTasks= userPref.getAll();
  441.         for(Map.Entry<String,?> singleTask:userTasks.entrySet())
  442.         {
  443.             if (!singleTask.getKey().isEmpty())
  444.             //using parse to store boolean
  445.             //Boolean.parseBoolean((String) singleTask.getValue())
  446.             myTasks.add(new utlShared(singleTask.getKey(),Boolean.parseBoolean((String) singleTask.getValue())));
  447.         }
  448.     }
  449.  
  450.     public ArrayList<utlShared> getAllTasks()
  451.     {
  452.         return myTasks;
  453.     }
  454. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement