📅  最后修改于: 2023-12-03 14:39:07.471000             🧑  作者: Mango
Android 是谷歌主导的移动操作系统,它经历了大量的更新迭代,从Android 1.1 到 Android 4.1.2,这期间发生了很多的变化和更新。本文将比较 Android 1.1 和 Android 4.1.2 之间的区别。
Android 1.1 中的通知是通过一个叫做“Notification Manager”的 API 来实现的,但是它只能在状态栏上显示一个通知,而且无法对其进行分类。而在 Android 4.1.2 中,通知被分为三种类型:普通通知(Normal),大图通知(Big Picture)和大文本通知(Big Text),用户可以根据自己的需求选择不同类型的通知,并且还可以在通知中加入操作按钮。
// Android 1.1 实现通知
NotificationManager nm = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
int icon = R.drawable.icon;
CharSequence tickerText = "Hello";
long when = System.currentTimeMillis();
Notification notification = new Notification(icon, tickerText, when);
CharSequence contentTitle = "My notification";
CharSequence contentText = "Hello World!";
Intent notificationIntent = new Intent(this, MyActivity.class);
PendingIntent contentIntent = PendingIntent.getActivity(this, 0, notificationIntent, 0);
notification.setLatestEventInfo(context, contentTitle, contentText, contentIntent);
nm.notify(1, notification);
// Android 4.1.2 实现通知
NotificationCompat.Builder builder = new NotificationCompat.Builder(this)
.setSmallIcon(R.drawable.icon)
.setContentTitle("My notification")
.setContentText("Hello World!")
.setContentIntent(pendingIntent)
.setAutoCancel(true);
NotificationManagerCompat notificationManager = NotificationManagerCompat.from(this);
notificationManager.notify(1, builder.build());
Android 1.1 中的最高分辨率只有320x480,但是在 Android 4.1.2 中,设备的分辨率已经可以支持1280x720,甚至更高的分辨率,这让用户在手机上获得更好的视觉体验。
<!-- density-independent pixel -->
<TextView
android:text="Hello World!"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textSize="18sp" />
<!-- pixel -->
<ImageView
android:src="@drawable/icon"
android:layout_width="48dp"
android:layout_height="48dp"
android:scaleType="centerCrop" />
Android 1.1 中只能在一个任务中运行一个应用程序,一旦切换到其他应用程序,就必须重新启动应用程序。而在 Android 4.1.2 中,用户可以同时运行多个应用程序,并且可以方便地在不同应用程序之间切换。
// Android 1.1 多任务管理
Intent intent = new Intent(Intent.ACTION_MAIN);
intent.addCategory(Intent.CATEGORY_HOME);
startActivity(intent);
// Android 4.1.2 多任务管理
ActivityManager am = (ActivityManager) getSystemService(Activity.ACTIVITY_SERVICE);
List<ActivityManager.RunningTaskInfo> taskList = am.getRunningTasks(10);
for (ActivityManager.RunningTaskInfo taskInfo : taskList) {
Log.i(TAG, "Task: " + taskInfo.baseActivity.getClassName());
}
Android 4.1.2 带来了许多的新特性和改进,如更好的通知系统、更高的屏幕分辨率、多任务管理等等,这些让用户可以更加方便地操作手机。而对于程序员来说,这意味着更多的新功能和特性可用,可以开发出更好的应用程序。