android项目实例源码:从零开始,如何实现一个完整的Android项目实例源码
我们将创建一个名为“TaskMaster”的待办事项应用,具备以下功能:
- 添加、删除、标记完成任务
- 任务列表的本地存储(使用SharedPreferences)
- 任务的分类管理
- 简单的动画效果
项目结构
TaskMaster/
├── app/
│ ├── src/
│ │ ├── main/
│ │ │ ├── java/com/example/taskmaster/
│ │ │ │ ├── MainActivity.java
│ │ │ │ ├── AddTaskActivity.java
│ │ │ │ ├── TaskAdapter.java
│ │ │ │ ├── TaskItem.java
│ │ │ │ └── utils/
│ │ │ │ ├── DataStorage.java
│ │ │ │ └── Constants.java
│ │ │ └── res/
│ │ │ ├── layout/
│ │ │ │ ├── activity_main.xml
│ │ │ │ ├── activity_add_task.xml
│ │ │ │ ├── item_task.xml
│ │ │ └── values/
│ │ │ └── strings.xml
│ │ └── AndroidManifest.xml 源码实现
数据模型类 TaskItem.java
public class TaskItem {
private String id;
private String title;
private String description;
private boolean completed;
// 构造函数、getter和setter方法
public TaskItem(String id, String title, String description, boolean completed) {
this.id = id;
this.title = title;
this.description = description;
this.completed = completed;
}
// 省略getter和setter方法
} 数据存储工具类 DataStorage.java
public class DataStorage {
private static final String FILE_NAME = "tasks.json";
private static final String PREFS_NAME = "TaskMasterPrefs";
public static void saveTask(TaskItem task) {
// 使用SharedPreferences保存任务
SharedPreferences sharedPreferences = MainActivity.context.getSharedPreferences(PREFS_NAME, Context.MODE_PRIVATE);
Set<String> taskIds = sharedPreferences.getStringSet("taskIds", new HashSet<>());
taskIds.add(task.getId());
sharedPreferences.edit().putStringSet("taskIds", taskIds).apply();
}
// 其他方法:加载任务、删除任务等
} 主界面 MainActivity.java
public class MainActivity extends AppCompatActivity {
private RecyclerView recyclerView;
private TaskAdapter adapter;
private List<TaskItem> taskList;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
recyclerView = findViewById(R.id.recyclerView);
taskList = new ArrayList<>();
adapter = new TaskAdapter(taskList);
recyclerView.setAdapter(adapter);
recyclerView.setLayoutManager(new LinearLayoutManager(this));
// 加载任务数据
loadTasks();
}
private void loadTasks() {
// 从SharedPreferences加载任务
// 然后更新适配器
}
} 添加任务界面 AddTaskActivity.java
public class AddTaskActivity extends AppCompatActivity {
private EditText titleEditText, descriptionEditText;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_add_task);
titleEditText = findViewById(R.id.titleEditText);
descriptionEditText = findViewById(R.id.descriptionEditText);
Button saveButton = findViewById(R.id.saveButton);
saveButton.setOnClickListener(v -> saveTask());
}
private void saveTask() {
String title = titleEditText.getText().toString();
String description = descriptionEditText.getText().toString();
// 创建新任务并保存
DataStorage.saveTask(new TaskItem(UUID.randomUUID().toString(), title, description, false));
finish();
}
} 适配器 TaskAdapter.java
public class TaskAdapter extends RecyclerView.Adapter<TaskAdapter.TaskViewHolder> {
private List<TaskItem> taskList;
public TaskAdapter(List<TaskItem> taskList) {
this.taskList = taskList;
}
@Override
public TaskViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.item_task, parent, false);
return new TaskViewHolder(view);
}
@Override
public void onBindViewHolder(TaskViewHolder holder, int position) {
TaskItem task = taskList.get(position);
holder.title.setText(task.getTitle());
holder.description.setText(task.getDescription());
holder.completed.setChecked(task.isCompleted());
}
// 省略其他方法
} 运行与测试
- 在Android Studio中创建新项目,选择“Empty Activity”。
- 将上述代码分别放入对应的文件中。
- 运行应用,测试添加任务、标记完成、删除任务等功能。
优化建议
- 使用Room数据库替代SharedPreferences进行数据存储。
- 添加网络请求功能,实现云端同步。
- 使用ViewModel和LiveData实现更好的数据管理。
- 添加动画效果,提升用户体验。
通过这个完整的Android项目实例,你可以学习到Android开发的核心技术,包括Activity、Fragment、RecyclerView、数据存储、动画效果等,希望这个项目能帮助你更好地理解Android开发,并为你的实际项目打下坚实的基础。
完整源码可通过以下链接获取:
GitHub仓库链接

相关文章:
文章已关闭评论!










