編輯:關於Android編程
通過內容提供者獲取手機sdcard本地視頻時,
/**
* 從本地的sdcard得到數據
* //1.遍歷sdcard,後綴名
* //2.從內容提供者裡面獲取視頻
* //3.如果是6.0的系統,動態獲取讀取sdcard的權限
*/
private void getDataFromLocal() {
new Thread(){
@Override
public void run() {
super.run();
// isGrantExternalRW((Activity) context);
// SystemClock.sleep(2000);
mediaItems = new ArrayList<>();
ContentResolver resolver = context.getContentResolver();
Uri uri = MediaStore.Video.Media.EXTERNAL_CONTENT_URI;
String[] objs = {
MediaStore.Video.Media.DISPLAY_NAME,//視頻文件在sdcard的名稱
MediaStore.Video.Media.DURATION,//視頻總時長
MediaStore.Video.Media.SIZE,//視頻的文件大小
MediaStore.Video.Media.DATA,//視頻的絕對地址
MediaStore.Video.Media.ARTIST,//歌曲的演唱者
};
Cursor cursor = resolver.query(uri, objs, null, null, null);
if(cursor != null){
while (cursor.moveToNext()){
MediaItem mediaItem = new MediaItem();
mediaItems.add(mediaItem);//寫在上面
String name = cursor.getString(0);//視頻的名稱
mediaItem.setName(name);
long duration = cursor.getLong(1);//視頻的時長
mediaItem.setDuration(duration);
long size = cursor.getLong(2);//視頻的文件大小
mediaItem.setSize(size);
String data = cursor.getString(3);//視頻的播放地址
mediaItem.setData(data);
String artist = cursor.getString(4);//藝術家
mediaItem.setArtist(artist);
}
cursor.close();
}
//Handler發消息
handler.sendEmptyMessage(10);
}
}.start();
}
/**
* 解決安卓6.0以上版本不能讀取外部存儲權限的問題
* @param activity
* @return
*/
public static boolean isGrantExternalRW(Activity activity) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M && activity.checkSelfPermission(
Manifest.permission.WRITE_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) {
activity.requestPermissions(new String[]{
Manifest.permission.READ_EXTERNAL_STORAGE,
Manifest.permission.WRITE_EXTERNAL_STORAGE
}, 1);
return false;
}
return true;
}
ViewGroup的dispatchTouchEvent理解
以下圖例子說明,OFramelayout在最外層 圖1.1 view的層級關系結論1:dispatchTouchEvent()返回false,後續的ACTION_M
Android注解-編譯時生成代碼 (APT)
Android注解越來越引領潮流,比如 Dagger2, ButterKnife, EventBus3 等,他們都是注解類型,而且他們都有個共同點就是編譯時生成代碼,而不
Android Studio安裝及常見錯誤
Android Studio 1.0 已經放出來了,以後的Android平台開發激昂逐步從Eclipse向Android Studio遷移,為了能不落伍我也特意從Goog
Android實戰--簡單的模糊查詢
今天這一篇小案例模擬模糊查詢,即輸入一個字符,顯示手機對應的所有存在該字符的路徑。布局: