一般從相簿選擇完**後,返回的是乙個uri ,我們一般要將其轉換為string型別的路徑才能使用。那麼,如何將uri轉換為string型別的路徑呢?
在給出**之前,我先用android 4.4 以上的手機從相簿選擇**,列印出返回的uri為:
content:
再用android 4.4 以下的手機從相簿選擇**,列印出返回的uri為:
content://media/external/images/media/34148
可以發現,兩次返回的uri是不一樣的,那麼uri轉換為string型別路徑的方法也是不一樣的。
1、android 4.4以下的手機用此方法將uri轉為string型別的路徑
public
static string getpathfromuri(final context context, final uri uri)
final string scheme = uri.getscheme();
string path = null;
if (scheme == null)
path = uri.getpath();
else else
if (contentresolver.scheme_content.equals(scheme)) , null, null, null);
if (null != cursor)
}cursor.close();}}
}return path;
}
2、android 4.4以上的手機用此方法將uri轉為string型別的路徑
public
class
getimagepathutil
} else
if (isdownloadsdocument(uri)) else
if (ismediadocument(uri)) else
if ("video".equals(type)) else
if ("audio".equals(type))
final string selection = "_id=?";
final string selectionargs = new string;
return getdatacolumn(context, contenturi, selection, selectionargs);
}} else
if ("content".equalsignorecase(uri.getscheme())) else
if ("file".equalsignorecase(uri.getscheme()))
return
null;
}public
static string getdatacolumn(context context, uri uri, string selection, string selectionargs) ;
try
} finally
return
null;
}/**
*@param uri the uri to check.
*@return whether the uri authority is externalstorageprovider.
*/public
static
boolean
i***ternalstoragedocument(uri uri)
/***@param uri the uri to check.
*@return whether the uri authority is downloadsprovider.
*/public
static
boolean
isdownloadsdocument(uri uri)
/***@param uri the uri to check.
*@return whether the uri authority is mediaprovider.
*/public
static
boolean
ismediadocument(uri uri)
/***@param uri the uri to check.
*@return whether the uri authority is google photos.
*/public
static
boolean
isgooglephotosuri(uri uri)
}
其實,後面寫的那個工具類相容了android 4.4以下的情況,也就是說,後不管是android 4.4以前的手機,還是android 4.4以後的手機,都可以用後面那個工具類將uri裝為string型別路徑。 string型別轉換為char
標準庫string類提供了3個成員函式來從乙個string得到c型別的字元陣列,c str data copy p,n 1.c str 是borland封裝的string類中的乙個函式,它返回當前字串的首位址。換種說法,c str 函式返回乙個指向正規c字串的指標常量,內容與本 string串相同。...
Clob型別轉換為String
sql clob 是內建型別,它將字元大物件儲存為資料庫表某一行中的乙個列值,使用char來儲存資料,如xml文件。如下是乙個clob轉換為string的靜態方法,可將其放在自己常用的工具類中,想直接用的話,自己稍作修改即可 public staticstring clobtostr clob cl...
將char型別轉換為string型別
將char型別轉換為string型別 string的建構函式中有此函式原型 string size t n,char c 因此我們可以直接使用此函式 string s 1,a 建立s並將1個a存入到s中 前面的數字代表多少個 擴充套件將char型別放入到vector容器中 第一種就是 vectorv...