介面中開發系統檔案並獲得URI

2021-07-10 13:24:18 字數 1270 閱讀 4527



這裡有可行的一段**:

// 新增附件

w_addattach.setonclicklistener(new onclicklistener()

}); 

private void onselectfromfileexplorer()

system.out.println("uri=" + data.getdata());

// 通過contentreslover查詢對應的uri的資訊

contentresolver cr = this.getcontentresolver();

cursor cursor = cr.query(data.getdata(), null, null, null, null);

cursor.movetofirst();

for (int i = 0; i < cursor.getcolumncount(); i++)

// cursor中的第一列就是絕對位址

system.out.println(cursor.getstring(1));

// pic_file=new file(cursor.getstring(1));

super.onactivityresult(requestcode, resultcode, data);}

訪問系統檔案必然向獲得檔案的目錄位址,先來解釋一下uri

在學習如何獲取contentresolver前,有個名詞是必須了解的:uri。uri是網路資源的定義,在android中賦予其更廣闊的含義,先看個例子,如下:

將其分為a,b,c,d 4個部分:

a:標準字首,用來說明乙個content provider控制這些資料,無法改變的;

b:uri的標識,它定義了是哪個content provider提供這些資料。對於第三方應用程式,為了保證uri標識的唯一性,它必須是乙個完整的、小寫的類名。這個標識在元素的 authorities屬性中說明:

c:路徑,content provider使用這些路徑來確定當前需要生什麼型別的資料,uri中可能不包括路徑,也可能包括多個;

d:如果uri中包含,表示需要獲取的記錄的id;如果沒有id,就表示返回全部;

由於uri通常比較長,而且有時候容易出錯,切難以理解。所以,在android當中定義了一些輔助類,並且定義了一些常量來代替這些長字串,例如:people.content_uri

//獲得檔案的輸入流

//inputstream is=contentresolver.openinputstream(uri);

輸入歌手獲得歌曲並寫入檔案

coding utf 8 import requests import json import os while true name input 請輸入歌曲名稱 if not name.strip break if not os.path.exists name.txt with open name...

用python呼叫系統命令並獲得返回

目的 有時候需要一些系統的資訊或者執行不是python的檔案,這時候需要通過os模組呼叫它們。環境 windows 7 python 3.5.3 情景 1 我通過python處理生成乙個系統可以直接執行的檔案,如bat批處理,需要執行它 2 我對批處理比較熟悉,想要在python執行命令並獲得它的返...

檔案系統介面

檔案系統介面 1.檔案概念 檔案是記錄在外存上的相關資訊的具有名稱的集合。通常檔案表示程式和資料。資料檔案可以是數字 字元 字元數字或二進位制。檔案可以是自由形式,如文字檔案,也可以是具有嚴格的格式。因此,檔案的概念極為廣泛。1.1檔案屬性 檔案有一定的屬性,這根據系統而有所不同,但是通常都包括如下...