- iOS (Swift)dz61.com
场景: 创建一个简单的计数器App,可以增加和减少数字。
Swift 示例代码片段 (在Xcode的SwiftUI项目中):
swift
import SwiftUI
struct ContentView: View {
@State private var count = 0
var body: some View {
VStack {
Text("Count: \(count)")
Button("Increment") {
count += 1
}
Button("Decrement") {
count -= 1
}
}
}
}
struct ContentView_Previews: PreviewProvider {
static var previews: some View {
ContentView()
}
}
2. Android (Kotlin)
场景: 同样的计数器App,但使用Kotlin和Android Studio。
Kotlin 示例代码片段 (在Activity中):
kotlin
import android.os.Bundle
import android.widget.Button
import android.widget.TextView
import androidx.appcompat.app.AppCompatActivity
class MainActivity : AppCompatActivity() {
private lateinit var countText: TextView
private var count = 0
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
countText = findViewById(R.id.countTextView)
findViewById<Button>(R.id.incrementButton).setOnClickListener {
count++
countText.text = "Count: $count"
}
findViewById<Button>(R.id.decrementButton).setOnClickListener {
count--
countText.text = "Count: $count"
}
}
}
同时需要一个XML布局文件 activity_main.xml 来定义UI。
- 跨平台 (Flutter)
场景: 同样的计数器App,但使用Dart语言和Flutter框架。
Dart 示例代码片段 (在Flutter项目中):
dart
import ‘package:flutter/material.dart’;
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
appBar: AppBar(
title: Text(‘Counter App’),
),
body: Center(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
Text(‘Count: ${_counter}’),
ElevatedButton(
onPressed: () {
setState(() {
_counter++;
});
},
child: Text(‘Increment’),
),
ElevatedButton(
onPressed: () {
setState(() {
_counter–;
});
},
child: Text(‘Decrement’),
),
],
),
),
),
);
}
}
class _CounterState extends State {
int _counter = 0;
}
注意:由于Flutter组件默认是无状态的,但在这里我们想要更新计数器的值,所以我们需要将其包裹在一个StatefulWidget中。上面的代码示例为了简化,直接修改了MyApp来展示状态变化,实际开发中通常会使用单独的StatefulWidget类。
每种语言的代码示例都提供了基础的计数器App实现,展示了各自平台的基本UI和交互逻辑。由于直接在一个回答中完整展示一个跨多种编程语言的App代码是不现实的(因为每种语言都有其独特的语法和框架),我将为你概述如何使用几种流行的编程语言(如Swift用于iOS, Java/Kotlin用于Android, Python用于跨平台框架如Kivy或Flutter)来开始构建一个简单的App。
- iOS (Swift)
场景: 创建一个简单的计数器App,可以增加和减少数字。
Swift 示例代码片段 (在Xcode的SwiftUI项目中):
swift
import SwiftUI
struct ContentView: View {
@State private var count = 0
var body: some View {
VStack {
Text("Count: \(count)")
Button("Increment") {
count += 1
}
Button("Decrement") {
count -= 1
}
}
}
}
struct ContentView_Previews: PreviewProvider {
static var previews: some View {
ContentView()
}
}
2. Android (Kotlin)
场景: 同样的计数器App,但使用Kotlin和Android Studio。
Kotlin 示例代码片段 (在Activity中):
kotlin
import android.os.Bundle
import android.widget.Button
import android.widget.TextView
import androidx.appcompat.app.AppCompatActivity
class MainActivity : AppCompatActivity() {
private lateinit var countText: TextView
private var count = 0
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
countText = findViewById(R.id.countTextView)
findViewById<Button>(R.id.incrementButton).setOnClickListener {
count++
countText.text = "Count: $count"
}
findViewById<Button>(R.id.decrementButton).setOnClickListener {
count--
countText.text = "Count: $count"
}
}
}
同时需要一个XML布局文件 activity_main.xml 来定义UI。
- 跨平台 (Flutter)
场景: 同样的计数器App,但使用Dart语言和Flutter框架。
Dart 示例代码片段 (在Flutter项目中):
dart
import ‘package:flutter/material.dart’;
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
appBar: AppBar(
title: Text(‘Counter App’),
),
body: Center(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
Text(‘Count: ${_counter}’),
ElevatedButton(
onPressed: () {
setState(() {
_counter++;
});
},
child: Text(‘Increment’),
),
ElevatedButton(
onPressed: () {
setState(() {
_counter–;
});
},
child: Text(‘Decrement’),
),
],
),
),
),
);
}
}
class _CounterState extends State {
int _counter = 0;
}
注意:由于Flutter组件默认是无状态的,但在这里我们想要更新计数器的值,所以我们需要将其包裹在一个StatefulWidget中。上面的代码示例为了简化,直接修改了MyApp来展示状态变化,实际开发中通常会使用单独的StatefulWidget类。
每种语言的代码示例都提供了基础的计数器App实现,展示了各自平台的基本UI和交互逻辑。