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來存放全局性的數據