返回

android项目实例源码:从零开始,如何实现一个完整的Android项目实例源码

来源:网络   作者:   日期:2025-10-15 09:38:50  

我们将创建一个名为“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());
    }
    // 省略其他方法
}

运行与测试

  1. 在Android Studio中创建新项目,选择“Empty Activity”。
  2. 将上述代码分别放入对应的文件中。
  3. 运行应用,测试添加任务、标记完成、删除任务等功能。

优化建议

  • 使用Room数据库替代SharedPreferences进行数据存储。
  • 添加网络请求功能,实现云端同步。
  • 使用ViewModel和LiveData实现更好的数据管理。
  • 添加动画效果,提升用户体验。

通过这个完整的Android项目实例,你可以学习到Android开发的核心技术,包括Activity、Fragment、RecyclerView、数据存储、动画效果等,希望这个项目能帮助你更好地理解Android开发,并为你的实际项目打下坚实的基础。


完整源码可通过以下链接获取:
GitHub仓库链接

android项目实例源码:从零开始,如何实现一个完整的Android项目实例源码

分类:编程
责任编辑:今题网
版权声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。

相关文章:

文章已关闭评论!