Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //TaskAdaptetr
- ------------------
- import android.content.Context;
- import android.os.StrictMode;
- import android.view.LayoutInflater;
- import android.view.View;
- import android.view.ViewGroup;
- import android.widget.BaseAdapter;
- import android.widget.CheckBox;
- import android.widget.EditText;
- import android.widget.ImageView;
- import android.widget.TextView;
- import com.example.android.loginapp.Cls.ClsTask;
- import com.example.android.loginapp.R;
- import com.example.android.loginapp.UtlShared;
- import java.util.List;
- /**
- * Created by Android on 16/01/2017.
- */
- public class TaskAdapter extends BaseAdapter {
- Context context;
- String spUser;
- List<ClsTask> myTaskList;
- public TaskAdapter(Context context,String spUser,List<ClsTask> myTaskList)
- {
- this.context=context;
- this.spUser=spUser;
- this.myTaskList=myTaskList;
- }
- @Override
- public int getCount() {
- return myTaskList.size();
- }
- @Override
- public Object getItem(int i) {
- return null;
- }
- @Override
- public long getItemId(int i) {
- return 0;
- }
- @Override
- public View getView(final int position, View view, ViewGroup viewGroup) {
- final ClsTask singleItem=myTaskList.get(position);
- final View singleTask= LayoutInflater.from(context).inflate(R.layout.task_layout,null,false);
- TextView txtTask=(TextView)singleTask.findViewById(R.id.txtTask);
- txtTask.setText(singleItem.taskName);
- ImageView btnTrash=(ImageView)singleTask.findViewById(R.id.btnTrash);
- btnTrash.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View view) {
- UtlShared.removeTask(context,spUser,singleItem.taskName);
- myTaskList.remove(position);
- notifyDataSetChanged();
- }
- });
- CheckBox cbIsDone=(CheckBox)singleTask.findViewById(R.id.cbIsDone);
- cbIsDone.setChecked(singleItem.isDone);
- cbIsDone.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View view) {
- }
- });
- return singleTask;
- }
- }
- -------------------------
- //ClsTask
- --------------------------
- package com.example.android.loginapp.Cls;
- import android.content.Context;
- import java.util.Date;
- /**
- * Created by Android on 16/01/2017.
- */
- public class ClsTask {
- public Date taskDate;
- public Date taskDue;
- public String taskName;
- public String taskDetails;
- public boolean isDone;
- public ClsTask(String userTask,String myData)
- {
- String[]myTaskInfo=myData.split(",");
- this.taskDate=new Date();
- this.taskDue=new Date();
- this.taskName=userTask;
- this.taskDetails=myTaskInfo[3];
- this.isDone=myTaskInfo[4].equals("1");
- }
- }
- --------------------------------
- //TaskActivity
- ---------------------------------
- package com.example.android.loginapp;
- import android.app.Dialog;
- import android.content.Context;
- import android.content.DialogInterface;
- import android.support.v7.app.AlertDialog;
- import android.support.v7.app.AppCompatActivity;
- import android.os.Bundle;
- import android.view.LayoutInflater;
- import android.view.View;
- import android.widget.Button;
- import android.widget.EditText;
- import android.widget.ListView;
- import android.widget.TextView;
- import android.widget.Toast;
- import com.example.android.loginapp.Adapters.TaskAdapter;
- public class TaskActivity extends AppCompatActivity {
- Context context;
- TextView taskLogo;
- Button btnAddTask;
- String spUser="";
- ListView lvTask;
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_task);
- setPointers();
- getExtra();
- showData();
- }
- private void getExtra()
- {
- String myData=getIntent().getStringExtra("userName");
- taskLogo.setText("Hello "+myData);
- Toast.makeText(context,"user"+myData+"is logged in",Toast.LENGTH_SHORT).show();
- spUser=getIntent().getStringExtra("user");
- }
- private void setPointers()
- {
- this.context=this;
- taskLogo=(TextView)findViewById(R.id.taskLogo);
- btnAddTask=(Button)findViewById(R.id.btnAddTask);
- btnAddTask.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- showAdAddTask();
- }
- });
- lvTask=(ListView)findViewById(R.id.lvTask);
- }
- private void showData()
- {
- TaskAdapter myAdapter=new TaskAdapter(context,spUser,UtlShared.getAllTask(context,spUser));
- lvTask.setAdapter(myAdapter);
- }
- private void showAdAddTask()
- {
- AlertDialog.Builder adTask=new AlertDialog.Builder(context);
- View inflatedTask= LayoutInflater.from(context).inflate(R.layout.alert_dialog_new_task,null,false);
- final EditText myNewTask=(EditText)inflatedTask.findViewById(R.id.txtNewTask);
- adTask.setView(inflatedTask);
- adTask.setPositiveButton(getResources().getString(R.string.adPosBtn), new DialogInterface.OnClickListener() {
- @Override
- public void onClick(DialogInterface dialog, int which) {
- String myTask=myNewTask.getText().toString();
- UtlShared.addTask(context,spUser,myTask);
- showData();
- }
- });
- adTask.setNegativeButton(getResources().getString(R.string.adNegBtn), new DialogInterface.OnClickListener() {
- @Override
- public void onClick(DialogInterface dialog, int which) {
- dialog.dismiss();
- }
- });
- adTask.show();
- }
- }
- --------------------------------
- //UtlShared
- ------------------------------
- package com.example.android.loginapp;
- import android.content.Context;
- import android.content.SharedPreferences;
- import android.os.StrictMode;
- import com.example.android.loginapp.Cls.ClsTask;
- import java.util.ArrayList;
- import java.util.List;
- import java.util.Map;
- /**
- * Created by esra on 1/14/2017.
- */
- public class UtlShared {
- Context context;
- SharedPreferences userPref;
- SharedPreferences.Editor editor;
- public UtlShared(Context context)
- {
- this.context=context;
- userPref=context.getSharedPreferences("users",Context.MODE_PRIVATE);
- editor=userPref.edit();
- }
- //return true if user excists
- //else return false
- public boolean checkUser(String userName)
- {
- String checkString=userPref.getString(userName,"n/a");
- return !checkString.equals("n/a");
- }
- //returns true if password matches the user name
- //else returns false
- public boolean checkPass(String userName,String password)
- {
- if(!checkUser(userName))return false;
- String[] values=userPref.getString(userName,"n/a").split(",");
- String pass=values[0];
- return pass.equals(password);
- }
- public void addUser(String userName,String pass,String nickName)
- {
- editor.putString(userName,(pass+","+nickName));
- editor.commit();
- }
- public String getNickName(String userName)
- {
- String[] values=userPref.getString(userName,"n/a").split(",");
- return values[1];
- }
- public static void addTask(Context context,String spUser,String userTask)
- {
- SharedPreferences myPref=context.getSharedPreferences(spUser,Context.MODE_PRIVATE);
- SharedPreferences.Editor editor=myPref.edit();
- editor.putString(userTask,"date"+","+"due"+","+userTask+","+"userDetails"+","+"0");
- editor.commit();
- }
- public static void taskStatusToggle(Context context,String spUser,String userTask)
- {
- SharedPreferences myPref=context.getSharedPreferences(spUser,Context.MODE_PRIVATE);
- SharedPreferences.Editor editor=myPref.edit();
- boolean taskStatus=!(myPref.getString(userTask,"0").equals("1"));
- editor.putString(userTask,taskStatus?"1":"0");
- editor.commit();
- }
- public static List<ClsTask> getAllTask(Context context,String spUser)
- {
- SharedPreferences myPref=context.getSharedPreferences(spUser,Context.MODE_PRIVATE);
- SharedPreferences.Editor editor=myPref.edit();
- List<ClsTask> myTasks=new ArrayList<>();
- Map<String,?> tasks=myPref.getAll();
- for(Map.Entry<String,?> singleTask:tasks.entrySet())
- {
- myTasks.add(new ClsTask(singleTask.getKey(),singleTask.getValue().toString()));
- }
- return myTasks;
- }
- public static void removeTask(Context context,String spUser,String taskName)
- {
- SharedPreferences myPref=context.getSharedPreferences(spUser,Context.MODE_PRIVATE);
- SharedPreferences.Editor editor=myPref.edit();
- editor.remove(taskName);
- editor.commit();
- }
- }
- --------------------------
- //task_layout
- -----------------------------
- <?xml version="1.0" encoding="utf-8"?>
- <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
- android:orientation="horizontal" android:layout_width="match_parent"
- android:layout_height="wrap_content">
- <CheckBox
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- android:id="@+id/cbIsDone"
- android:layout_weight="5"/>
- <TextView
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- android:text="@string/txtTask"
- android:id="@+id/txtTask"
- android:layout_weight="2"
- android:textSize="22sp"
- android:gravity="center_horizontal|left"/>
- <ImageView
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- android:src="@drawable/delete_task"
- android:layout_weight="5"
- android:id="@+id/btnTrash"/>
- </LinearLayout>
- -----------------------------
- //strings
- ------------------------------
- <resources>
- <!--activity_login layout-->
- <string name="app_name">MyLoginApp</string>
- <string name="logo_login">Log In</string>
- <string name="username_hint">Enter your name...</string>
- <string name="pass_hint">Enter your password...</string>
- <string name="btn_login">Log in</string>
- <string name="btn_reg">Register</string>
- <string name="msgLogo">Log in</string>
- <!--activity_register layout-->
- <string name="reg_logo">Register</string>
- <string name="regHintUserName">Enter your name...</string>
- <string name="regHintPass">Enter a pssword...</string>
- <string name="checkPass">Enter your password again...</string>
- <string name="nickName">Enter your nick name...</string>
- <string name="btn_cancel">Cancel</string>
- <!--activity_task layout-->
- <string name="task_logo"></string>
- <string name="add_task">Add a Task</string>
- <!--alertv dialog new task-->
- <string name="adLogo">New Task</string>
- <string name="adTxtHint">write a new task here...</string>
- <string name="adPosBtn">OK</string>
- <string name="adNegBtn">Cancel</string>
- <!--task layout-->
- <string name="txtTask">single item..</string>
- </resources>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement