- 前端(Web): HTML + CSS + JavaScript
HTML (结构)1i8.cn
html
我的待办事项
添加css
body { font-family: Arial, sans-serif; }
#todoList { list-style-type: none; padding: 0; }
#todoList li { margin: 8px 0; }
JavaScript (逻辑)
javascript
function addTodo() {
let input = document.getElementById(‘todoInput’).value.trim();
if (input) {
let list = document.getElementById(‘todoList’);
let item = document.createElement(‘li’);
item.textContent = input;
item.onclick = function() { this.remove(); }; // 删除项
list.appendChild(item);
document.getElementById(‘todoInput’).value = ‘’;
}
}
2. 后端(Node.js + Express)
Node.js (使用Express)
javascript
const express = require(‘express’);
const app = express();
const PORT = 3000;
app.get(‘/’, (req, res) => {
res.sendFile(__dirname + ‘/index.html’); // 假设HTML文件在同一目录下
});
app.listen(PORT, () => {
console.log(Server running on port ${PORT}
);
});
3. 移动端(Android - Kotlin)
对于Android,这里只提供一个Activity中添加待办事项的简化逻辑。
Kotlin (Android Studio)
kotlin
// 假设你有一个RecyclerView来显示待办事项
fun addTodo(todo: String) {
// 假设你有一个MutableList来存储待办事项
todoList.add(todo)
// 更新RecyclerView的Adapter
adapter.notifyItemInserted(todoList.size - 1)
}
// 在某个按钮点击事件中调用
button_add.setOnClickListener {
val todo = editText_todo.text.toString()
if (!todo.isEmpty()) {
addTodo(todo)
editText_todo.setText(“”)
}
}
4. 跨平台(Flutter)
Dart (Flutter)
dart
// 假设你有一个ListView.builder来显示待办事项
List todos = [];
void addTodo(String todo) {
if (todo.isNotEmpty) {
setState(() {
todos.add(todo);
});
}
}
// 在某个按钮的onPressed中调用
onPressed: () {
final todo = todoController.text.trim();
if (todo.isNotEmpty) {
addTodo(todo);
todoController.clear();
}
},
以上只是非常基础的示例,实际应用中需要考虑更多的功能和细节,如数据持久化、用户认证、错误处理等。每种语言和框架都有其独特的生态系统和最佳实践,因此深入学习并实践是很重要的。由于直接在一个回答中完整展示一个跨多种编程语言的完整App代码是不现实的,我可以为你概述一个简单App的概念,并提供每种语言中用于构建这个App的核心部分的伪代码或简短的代码片段。假设我们创建一个简单的待办事项列表App,这个App可以添加、查看和删除待办事项。
- 前端(Web): HTML + CSS + JavaScript
HTML (结构)
html
我的待办事项
添加css
body { font-family: Arial, sans-serif; }
#todoList { list-style-type: none; padding: 0; }
#todoList li { margin: 8px 0; }
JavaScript (逻辑)
javascript
function addTodo() {
let input = document.getElementById(‘todoInput’).value.trim();
if (input) {
let list = document.getElementById(‘todoList’);
let item = document.createElement(‘li’);
item.textContent = input;
item.onclick = function() { this.remove(); }; // 删除项
list.appendChild(item);
document.getElementById(‘todoInput’).value = ‘’;
}
}
2. 后端(Node.js + Express)
Node.js (使用Express)
javascript
const express = require(‘express’);
const app = express();
const PORT = 3000;
app.get(‘/’, (req, res) => {
res.sendFile(__dirname + ‘/index.html’); // 假设HTML文件在同一目录下
});
app.listen(PORT, () => {
console.log(Server running on port ${PORT}
);
});
3. 移动端(Android - Kotlin)
对于Android,这里只提供一个Activity中添加待办事项的简化逻辑。
Kotlin (Android Studio)
kotlin
// 假设你有一个RecyclerView来显示待办事项
fun addTodo(todo: String) {
// 假设你有一个MutableList来存储待办事项
todoList.add(todo)
// 更新RecyclerView的Adapter
adapter.notifyItemInserted(todoList.size - 1)
}
// 在某个按钮点击事件中调用
button_add.setOnClickListener {
val todo = editText_todo.text.toString()
if (!todo.isEmpty()) {
addTodo(todo)
editText_todo.setText(“”)
}
}
4. 跨平台(Flutter)
Dart (Flutter)
dart
// 假设你有一个ListView.builder来显示待办事项
List todos = [];
void addTodo(String todo) {
if (todo.isNotEmpty) {
setState(() {
todos.add(todo);
});
}
}
// 在某个按钮的onPressed中调用
onPressed: () {
final todo = todoController.text.trim();
if (todo.isNotEmpty) {
addTodo(todo);
todoController.clear();
}
},
以上只是非常基础的示例,实际应用中需要考虑更多的功能和细节,如数据持久化、用户认证、错误处理等。每种语言和框架都有其独特的生态系统和最佳实践,因此深入学习并实践是很重要的。