不定期更新,无废话开始:List<Integer>不是List<Number>的子类,但List<Integer>是Collection<Integer>的子类。
- 一个List<? extends Number>的对象引用可以被赋值任何以Number或其子类为泛型的List或其子类的对象实例引用,如下例
1 List<? extends Number> nums = new ArrayList<Integer>();
- 泛型方法可以显示指定其返回结果的泛型类型,如下例
1 Arrays.<Object>asList(1, 1.2, "Hello");
2 Collections.<Number>copy(objs, ints);
- Get与Put原则:当仅从结构中取出值则使用extends通配符,当仅向结构中添加值则使用super通配符,当对一个结构即取出又添加值时不要使用任何通配符。
1 //Collections.copy方法即使用super又使用extends的例子
2 public static <T> void copy(List<? super T> dest, List<? extends T> src)
1 //另一个例子,对同一个结构即取值又设值,不使用任何通配符
2 public static double sum(Collection<? extends Number> nums) {
3 double s = 0.0;
4 for (Number num : nums) s += num.doubleValue();
5 return s;
6 }
7
8 public static void count(Collection<? super Integer> ints, int n) {
9 for (int i = 0; i < n; i++) ints.add(i);
10 }
11
12 //注意这个方法参数的签名,没有使用任何通配符
13 public static double sumCount(Collection<Number> nums, int n) {
14 count(nums, n);
15 return sum(nums);
16 }
启动应用
onCreate
onStart
onResume
按退出键
onPause
onStop
onDestory
按HOME键或当前应用被其他全屏应用覆盖时(如电话呼入)
onPause
onStop
按HOME键后,再次点击应用图标或长按HOME键点击任务列表中的应用图标或覆盖当前应用的其他全屏应用退出后
onRestart
onStart
onResume
被弹出对话框覆盖时(如弹出短信提醒对话框)或屏幕关闭时
onPause
对话框关闭时或屏幕点亮时
onResume
横竖屏切换时
onPause
onStop
onDestory
onCreate
onStart
onResume
ImageView中有setImageURI,但是传递一个URI.parse("http://www.google.com.hk/tools/dlpage/res/chrome/images/chrome-205_noshadow.png")这样的URL路径不能成功载入网络上的图片,最终还是需要借助java.net.URL,如下代码所示:
1 URL picUrl = new URL("http://www.google.com.hk/tools/dlpage/res/chrome/images/chrome-205_noshadow.png");
2
3 Bitmap pngBM = BitmapFactory.decodeStream(picUrl.openStream());
4
5 imageView.setImageBitmap(pngBM);
很简单吧,哪位朋友如果有更简单的方法请通知我。