add io.ToDoListFromToJSON,
ToDo-List-Editor now can save and load ToDo-lists from&to JSON
This commit is contained in:
3
plan.txt
3
plan.txt
@@ -1,7 +1,8 @@
|
|||||||
Funktionen:
|
Funktionen:
|
||||||
-ToDo deadline#
|
-ToDo deadline#
|
||||||
-ToDo-Liste nach Datum/Uhrzeit sortieren#
|
-ToDo-Liste nach Datum/Uhrzeit sortieren#
|
||||||
-ToDo-Liste abspeichern
|
-ToDo-Liste als JSON abspeichern#
|
||||||
|
-ToDo-Liste von JSON laden#
|
||||||
-ToDo hinzufügen#
|
-ToDo hinzufügen#
|
||||||
-ToDo abhaken#
|
-ToDo abhaken#
|
||||||
-ToDo löschen#
|
-ToDo löschen#
|
||||||
|
|||||||
8
theList.json
Normal file
8
theList.json
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
[
|
||||||
|
{
|
||||||
|
"id": 0,
|
||||||
|
"content": "asdfgh",
|
||||||
|
"done": false,
|
||||||
|
"deadline": "Feb 2, 2022, 12:00:00 AM"
|
||||||
|
}
|
||||||
|
]
|
||||||
@@ -26,6 +26,11 @@
|
|||||||
<version>4.13.1</version>
|
<version>4.13.1</version>
|
||||||
<scope>test</scope>
|
<scope>test</scope>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>com.google.code.gson</groupId>
|
||||||
|
<artifactId>gson</artifactId>
|
||||||
|
<version>2.8.7</version>
|
||||||
|
</dependency>
|
||||||
</dependencies>
|
</dependencies>
|
||||||
|
|
||||||
<build>
|
<build>
|
||||||
|
|||||||
@@ -4,6 +4,8 @@ import java.text.ParseException;
|
|||||||
import java.text.SimpleDateFormat;
|
import java.text.SimpleDateFormat;
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
|
|
||||||
|
import de.dejan.todolist.io.ToDoListFromToJSON;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
public class Main{
|
public class Main{
|
||||||
@@ -11,6 +13,12 @@ public class Main{
|
|||||||
static ArrayList<ToDo> tasks=new ArrayList<ToDo>();
|
static ArrayList<ToDo> tasks=new ArrayList<ToDo>();
|
||||||
|
|
||||||
public static void main( String[] args ){
|
public static void main( String[] args ){
|
||||||
|
|
||||||
|
//ArrayList<ToDo> tasks_ = ToDoListFromToJSON.loadToDoList("theList.json");
|
||||||
|
|
||||||
|
for (int i = 0; i < ToDoListFromToJSON.loadToDoList("theList.json").size(); i++) {
|
||||||
|
tasks.add(ToDoListFromToJSON.loadToDoList("theList.json").get(i));
|
||||||
|
}
|
||||||
|
|
||||||
while (true) {
|
while (true) {
|
||||||
menu();
|
menu();
|
||||||
@@ -18,6 +26,11 @@ public class Main{
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static void exit(){
|
||||||
|
ToDoListFromToJSON.saveToDoList(tasks, "theList.json");
|
||||||
|
System.exit(0);
|
||||||
|
}
|
||||||
|
|
||||||
public static void menu(){
|
public static void menu(){
|
||||||
|
|
||||||
System.out.println("\n[1]Neues ToDo hinzufügen");
|
System.out.println("\n[1]Neues ToDo hinzufügen");
|
||||||
@@ -36,7 +49,7 @@ public class Main{
|
|||||||
case 3: done(); break;
|
case 3: done(); break;
|
||||||
case 4: delTask(); break;
|
case 4: delTask(); break;
|
||||||
case 5: sortByDeadline(); break;
|
case 5: sortByDeadline(); break;
|
||||||
case 6: System.exit(0);
|
case 6: exit();
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -4,59 +4,59 @@ import java.util.*;
|
|||||||
|
|
||||||
public class ToDo{
|
public class ToDo{
|
||||||
|
|
||||||
private int theID;
|
private int id;
|
||||||
private String theContent;
|
private String content;
|
||||||
private boolean theDone;
|
private boolean done;
|
||||||
|
|
||||||
// https://docs.oracle.com/javase/8/docs/api/java/util/Date.html
|
// https://docs.oracle.com/javase/8/docs/api/java/util/Date.html
|
||||||
// https://stackoverflow.com/questions/5927109/sort-objects-in-arraylist-by-date
|
// https://stackoverflow.com/questions/5927109/sort-objects-in-arraylist-by-date
|
||||||
private Date theDeadline;
|
private Date deadline;
|
||||||
|
|
||||||
|
|
||||||
public ToDo(int id, String content, boolean done, Date deadline){
|
public ToDo(int id, String content, boolean done, Date deadline){
|
||||||
theID=id;
|
this.id=id;
|
||||||
theContent=content;
|
this.content=content;
|
||||||
theDone=done;
|
this.done=done;
|
||||||
theDeadline=deadline;
|
this.deadline=deadline;
|
||||||
}
|
}
|
||||||
|
|
||||||
public ToDo(int id, String content, boolean done){
|
public ToDo(int id, String content, boolean done){
|
||||||
theID=id;
|
this.id=id;
|
||||||
theContent=content;
|
this.content=content;
|
||||||
theDone=done;
|
this.done=done;
|
||||||
}
|
}
|
||||||
|
|
||||||
//get-& set-methods
|
//get-& set-methods
|
||||||
public void setID(int id){
|
public void setID(int id){
|
||||||
theID=id;
|
this.id=id;
|
||||||
}
|
}
|
||||||
|
|
||||||
public int getID(){
|
public int getID(){
|
||||||
return theID;
|
return id;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setContent(String content){
|
public void setContent(String content){
|
||||||
theContent=content;
|
this.content=content;
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getContent(){
|
public String getContent(){
|
||||||
return theContent;
|
return this.content;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setDone(boolean done){
|
public void setDone(boolean done){
|
||||||
theDone=done;
|
this.done=done;
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean getDone(){
|
public boolean getDone(){
|
||||||
return theDone;
|
return this.done;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setDeadline(Date d){
|
public void setDeadline(Date d){
|
||||||
theDeadline=d;
|
this.deadline=d;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Date getDeadline(){
|
public Date getDeadline(){
|
||||||
return theDeadline;
|
return this.deadline;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,50 @@
|
|||||||
|
package de.dejan.todolist.io;
|
||||||
|
|
||||||
|
import de.dejan.todolist.*;
|
||||||
|
//import jdk.internal.org.jline.utils.InputStreamReader;
|
||||||
|
|
||||||
|
import java.io.*;
|
||||||
|
import java.lang.reflect.Type;
|
||||||
|
import java.util.*;
|
||||||
|
import com.google.gson.*;
|
||||||
|
import com.google.gson.reflect.TypeToken;
|
||||||
|
|
||||||
|
public class ToDoListFromToJSON {
|
||||||
|
|
||||||
|
|
||||||
|
public static void saveToDoList(ArrayList<ToDo> tasks, String listname){
|
||||||
|
Gson gson=new GsonBuilder().setPrettyPrinting().create();
|
||||||
|
|
||||||
|
|
||||||
|
try {
|
||||||
|
FileWriter fw=new FileWriter(listname);
|
||||||
|
gson.toJson(tasks, fw);
|
||||||
|
fw.close();
|
||||||
|
} catch (JsonIOException e) {
|
||||||
|
//e.printStackTrace();
|
||||||
|
} catch (IOException e) {
|
||||||
|
//e.printStackTrace();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public static ArrayList<ToDo> loadToDoList(String listname){
|
||||||
|
ArrayList<ToDo> tasks=new ArrayList<ToDo>();
|
||||||
|
Gson gson=new Gson();
|
||||||
|
|
||||||
|
try {
|
||||||
|
BufferedReader br =new BufferedReader(new InputStreamReader(new FileInputStream(listname)));
|
||||||
|
Type list=new TypeToken<ArrayList<ToDo>>(){}.getType();
|
||||||
|
|
||||||
|
tasks=gson.fromJson(br, list);
|
||||||
|
br.close();
|
||||||
|
|
||||||
|
} catch (Exception e) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
return tasks;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user