抱歉,我对编程知之甚少,但我现在正在尝试通过尝试 Java 来学习。我非常雄心勃勃地尝试编写一个桌面应用程序,该应用程序将来也将成为一个 Web 应用程序。当然,我希望这 2 个应用程序能够相互同步。
我在想象,比方说.. 任务列表管理员。对于 Web 应用程序,我将使用 MySQL 作为数据库。但是在我的桌面应用程序中,我想我会使用 ArrayList 作为数据库。(或者有没有办法让我使用一些 Java DB 而不是类?)
如果我目前走错了路,我还处于发展的初期,所以我可以很容易地改变方向。但本质上,我有一个类任务和一个类数据库来保存任务。
在我试图保持与 MySQL 记录配对的一致 ID 的想法中,我试图存储一个 taskID。我有一些工作要做,但我也不认为这是最好的解决方案。我只是在看看是否有人可以指出我可以研究和/或应该尝试的不同且更有效的方向。
这是我到目前为止编译的代码:
import java.util.ArrayList;
public class Todos {
public static class Database {
private ArrayList<Task> database = new ArrayList<Task>();
private int taskCounter = 0;
/*
// This above taskCounter is not being incremented inside my
// addTask method, so I had put the for-loop in there..
public boolean addTask(Task task)
{
boolean addItemSuccessful = false;
int originalArraySize = database.size();
taskCounter++;
database.add(task);
if (database.size() > originalArraySize)
{
addItemSuccessful = true;
}
return addItemSuccessful;
}
*/
public boolean addTask(Task task)
{
boolean addItemSuccessful = false;
int originalArraySize = database.size();
int taskID = 0;
for(int i = 0; i < database.size(); i++) {
if (database.get(i).taskID > taskID) {
taskID = database.get(i).taskID;
System.out.println(taskID);
}
}
taskID++;
task.setTaskID(taskID);
System.out.println(taskID);
database.add(task);
if (database.size() > originalArraySize)
{
addItemSuccessful = true;
}
return addItemSuccessful;
}
public boolean removeTask(int taskID) {
// This code is actually not correct, here but this is the idea.
boolean removeItemSuccessful = false;
int originalArraySize = database.size();
database.remove(taskID);
if (database.size() < originalArraySize)
{
removeItemSuccessful = true;
}
return removeItemSuccessful;
}
}
public static class Task {
private int taskID;
private String task;
private Priority priority = Priority.ZERO;
public enum Priority { ZERO, MAYBE, LOW, MEDIUM, HIGH, EXTREME }
public void setTaskID(int taskID) {
this.taskID = taskID;
}
// .. Other Getters and Setters for Task
}
public static void main(String[] args) {
Database database = new Database();
Task newTask = new Task();
database.addTask(newTask); // Add 1st Task, taskID = 1
database.addTask(newTask); // Add 2nd Task, taskID = 2
database.addTask(newTask); // Add 3rd Task, taskID = 3
database.removeTask(2); // Remove Task 2
database.addTask(newTask); // Add 4th Task, taskID = 4
}
}