`
kjsoloho
  • 浏览: 10811 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

Android Log

 
阅读更多

查看设备 adb devices

 

指定设备 adb -s emulator-5556 install helloWorld.apk

 

abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ 

 

android 源码

http://grepcode.com/project/repository.grepcode.com/java/ext/com.google.android/android/

 

android:layout_gravity 表示控件本身的布局
android:gravity 表示内部的布局

 

 

Action Data: 对谁(具体的)做了什么

Action Type: 对什么(一类的)做了什么

Category:什么时候做

 

launchmode4种模式:
1,standard:
如果从A跳到A,intent5次,task里5个activity;
2,single Top:
如果从A 跳B,再从B跳A,如果此时栈顶为A,则不创建新实例,直接把Intent给A,但如果栈顶不是A,则还要创建A的实例
3,singleTask
如果从A跳B,再从B跳A,无论是否栈顶栈底,只要A在,则将Intent给A,不会创建A的新实例;
4,singleInstance
不同于前3种模式,前3种只是在同一个task的,而实例化的策略不同。这种模式下的activity会单独存在一个task下。
现成的例子是google地图。比如我有一个应用是导游方面的,其中调用的google地图Activity。那么现在我比如按home(后台activity onstop,back是finish)键,然后到应用列表中打开google地图,你会发现显示的就是刚才的地图,实际上是同一个Activity。
如果使用上面三种模式,是无法实现这个需求的。google地图应用中有多个上下文Activity,比如路线查询等的,导游应用也有一些上下文Activity。在各自应用中回退要回退到各自的上下文Activity中。
总结:
1 2:会创建新实例
3 4:不会创建新实例
123:activity的taskid相同
4:activity的taskid不同。被分到单独一个task中

 

<!--?xml version="1.0" encoding="UTF-8" standalone="no"?--> Market 相关
1.        //寻找某个应用 
2.        Uri uri = Uri.parse("market://search?q=pname:pkg_name"); 
3.        Intent it = new Intent(Intent.ACTION_VIEW, uri);  
4.        startActivity(it);  
5.        //where pkg_name is the full package path for an application 
1.        //显示某个应用的相关信息 
2.        Uri uri = Uri.parse("market://details?id=app_id");  
3.        Intent it = new Intent(Intent.ACTION_VIEW, uri); 
4.        startActivity(it);  
5.        //where app_id is the application ID, find the ID   
6.        //by clicking on your application on Market home   
7.        //page, and notice the ID from the address bar

 

 

Android颜色

 

 

Android获取View坐标的几种方法:
int[] location = new  int[2] ;
view.getLocationInWindow(location); //获取在当前窗口内的绝对坐标,
getLeft , getTop, getBottom, getRight,  这一组是获取相对在它父窗口里的坐标
view.getLocationOnScreen(location);//获取在整个屏幕内的绝对坐标,注意这个值是要从屏幕顶端算起,也就是包括了通知栏的高度
location [0]--->x坐标,location [1]--->y坐标

 

管理你的线程

 

 

android.graphics包中的一些类的使用

 

经典项目

 

 

 

1.List转换成为数组。

List list = new ArrayList();
list.add("1");
list.add("2");
final int size =  list.size();
String[] arr = (String[])list.toArray(new String[size]);

 

2.数组转换成为List。

String[] arr = new String[] {"1", "2"};
List list = Arrays.asList(arr);

 

Java:对象的强、软、弱和虚引用

 

android用于打开各种文件的intent

 

委托

 

如楼主所说,有些地方可以直接调用对象的方法,而不用委托。
但有些时候这样做不合适。
比如,在写这个类的时候,根本就不能确定要调用哪个对象的方法:例如,你把自己的一个对象上的方法挂在微软的textbox 的一个事件上。微软在写textbox时根本就不可能知道这个事件发生时,需要调用哪个对象的哪个方法,只有你自己去指定说需要调什么方法,并且以委托的方式挂在相应的事件上。

微软在写textbox的事件时,唯一能确定的是这个事件的格式,或者说这个事件需要调用的方法的格式,
类似于 button1_click(object sender, EnentArgs e) 等等。 只要是按照这个类型写的方法,都能被挂在这个事件上,并且在事件发生时,方法会被调用。

而规定了事件方法格式,就确保了事件发生时被调用的方法都是合法的,不会出现方法类型不匹配等等。这就是所谓的委托是类型安全的。而c++下面用void* 的函数指针实现事件处理缺少对函数格式的检查。 所以C# 发明了委托这个怪东西,为的就是然被调用的函数格式正确。


这只是基于消息驱动的实现方式之一。

另一个普遍的方式,是使用接口。这是java的事件处理方式。 它以接口的形式规定了被调用方法的格式。这种方式更直接,更简单,更容易理解。

两种方式各有利弊,有各自的使用场景,但从效果上看是等效的。

 

 

4DrawableBitmap的区别

对比项

Bitmap

Drawable

显示清晰度

相同

相同

占用内存

支持缩放

支持色相色差调整

支持旋转

支持透明色

绘制速度

支持像素操作

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics