### Android 1.5 Cupcake (API Level 3)
**主要特性:**
- 支持 Widgets:用户可以添加 Widgets 到主屏幕,以便快速访问应用功能。
- 增强的 UI 动画以及多媒体功能。
**示例代码:**
```java
// Example of using a simple Widget in Android 1.5
public class ExampleAppWidgetProvider extends AppWidgetProvider {
@Override
public void onUpdate(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds) {
for (int appWidgetId : appWidgetIds) {
RemoteViews views = new RemoteViews(context.getPackageName(), R.layout.example_appwidget);
appWidgetManager.updateAppWidget(appWidgetId, views);
}
}
}
```
### Android 4.0 Ice Cream Sandwich (API Level 14)
**主要特性:**
- 引入了全新的用户界面设计(如 Holo Theme)。
- 新增面部识别解锁功能。
- 改进了应用程序管理和多任务处理功能。
**示例代码:**
```xml
<!-- Example of Holo Theme Usage -->
<application
android:theme="@android:style/Theme.Holo">
...
</application>
```
### Android 5.0 Lollipop (API Level 21)
**主要特性:**
- 引入了 Material Design,为应用提供了一致的用户界面外观。
- 新增通知中心和锁屏通知。
- 增强了电池性能和安全性。
**示例代码:**
```xml
<!-- Example of Material Design Components -->
<com.google.android.material.floatingactionbutton.FloatingActionButton
android:id="@+id/fab"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/ic_add"
app:fabSize="large" />
```
### Android 8.0 Oreo (API Level 26)
**主要特性:**
- 引入画中画 (Picture-in-Picture) 模式,提升多任务处理能力。
- 更精细的通知控制。
- 提升了启动速度和后台应用的管理能力。
**示例代码:**
```java
// Example of Picture-in-Picture Mode
public class MainActivity extends AppCompatActivity {
@Override
protected void onUserLeaveHint() {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
enterPictureInPictureMode();
}
}
}
```
### Android 11 (API Level 30)
**主要特性:**
- 增强的隐私保护功能,如一次性权限。
- 新增“气泡”通知功能,提升消息应用的便利性。
- 改进了 5G 网络支持和折叠屏设备的兼容性。
**示例代码:**
```java
// Example of Requesting One-time Permission
if (checkSelfPermission(Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
requestPermissions(new String[]{Manifest.permission.ACCESS_FINE_LOCATION}, LOCATION_PERMISSION_REQUEST_CODE);
}
```
这些版本代表了 Android 系统发展的几个重要里程碑,每个版本都有助于提升用户体验、增加系统安全性和扩展应用的可能性。通过例子,你可以更全面地理解各版本的独特改进和新特性,帮助开发者在应用设计中充分利用这些差异。