1、获取url地址的最后一个斜杠之后的名称
private String getPath(String uri) {
return "/mnt/sdcard/images/" + Uri.parse(uri).getLastPathSegment();
}
2.Android中,联网、下载图片到本地等等是需要在项目清单中设置权限的。
联网的权限是 android.permission.internet
往本地存储写入数据的权限是android.permission.WRITE_EXTERNAL_STORAGE
3.一个进程中有多个组件,考虑最高优先级的组件,来判断该进程的优先级。
比如一个进程中有一个activity不可见,一个activity在前台交互,一个service也在运行。根据下面的优先级的原则。
有一个不可见的activity,那么判断该进程有可能是后台进程,但又有一个运行的Service实例,进一步则有可能是服务进程。
再进一步,该进程有一个处于交互状态的activity组件,那么这个进程有可能是前台进程。综合虽然该进程有三种可能性,但是根据最高优先级的原则,这个进程是
前台进程,前台进程的优先级最高。
Android中的进程优先级
1、前台进程
1)包含处于交互状态的Activity实例的进程
2)包含正在执行生命周期方法的组件实例的进程
3)包含绑定到到交互状态的Activity实例的Service实例的进程
4)包含执行了setForground(true)方法的service实例的进程
2、可见进程
1)包含处于可见但不可交互状态(暂停状态)的Activity实例的进程
2)包含与处于可见状态的Activity实例绑定的service实例的进程
3、服务进程
包含运行中的Service实例的进程
4、后台进程
包含处于停止状态的Activity实例的进程
5、空进程
不包含任何存活的组件实例。
4. Service是单例模式
application也是单例模式,application实例的获取是getApplication或者Context.getApplicationContext().
5.使用Http的Range头字段指定每条线程从文件的什么位置开始下载,下载到什么位置为止,
如:指定从文件的2M位置开始下载,下载到位置(4M-1byte)为止
代码如下:HttpURLConnection.setRequestProperty("Range", "bytes=2097152-4194303");
6.android中的序列化与java不太一样。
序列化实现Parcelable接口,在内存中序列化和反序列化。
除了基本类型以外,只有实现了Parcelable接口的类才能被放入Parcel中。
7.android中全局性的数据的使用与java中的不一样。
java中可能使用static的变量或者其他的方式
android中是使用application来存放全局性的数据