編輯:關於Android編程
步驟如下:
通過 Intent
打開安卓的系統相冊。
推薦使用 QAndroidJniObject::getStaticObjectField
獲取靜態字段。
QAndroidJniObject action = QAndroidJniObject::getStaticObjectField(
"android/content/Intent",
"ACTION_GET_CONTENT",
"Ljava/lang/String;");
用戶在系統相冊選擇到一個圖片後,在 C++
代碼中獲取到圖片的 content
地址。
通過查詢得出圖片的本地路徑。
Uri uri = data.getData();
String[] proj = { MediaStore.Images.Media.DATA };
Cursor actualimagecursor = managedQuery(uri,proj,null,null,null);
int actual_image_column_index = actualimagecursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);
actualimagecursor.moveToFirst();
String img_path = actualimagecursor.getString(actual_image_column_index);
File file = new File(img_path);
將上訴的 Java 代碼轉成 C++ 代碼。參考 Qt and Android Gallery - MediaStore using QAndroidJniObject。
例子下載CallNativeGallery,你也可以選擇 fork 這個項目。
參考資料:
Qt and Android Gallery - MediaStore using QAndroidJniObject
HOW TO OPEN ANDROID IMAGE GALLERY IN QT
android實現Uri獲取真實路徑轉換成File的方法
Thread: Converting QAndroidJniObject to jobjectArray: most elements are NULL!
How to return an array from JNI to Java?
最近在項目開發中遇到一個關於手機輸入鍵盤的坑,特來記錄下。應用場景:項目中有一個界面是用viewpaper加三個fragment寫的,其中viewpaper被我屏蔽了左右
您應該始終外部化應用資源,例如圖像和代碼中的字符串,這樣有利於您單獨維護這些資源。 此外,您還應該為特定設備配置提供備用資源,方法是將它們分組到專門命名的資源目錄中。 在
仿微信相冊選擇圖片,查看大圖,寫的不太好,希望評論指出不足,諒解,先介紹一下我的基本思路第一步獲取手機上的所有圖片路徑: Uri
這是我在 MDCC 上分享的內容(略微改動),也是源碼解析第一期發布時介紹的源碼解析後續會慢慢做的事。從總體設計和原理上對幾個圖片緩存進行對比,沒用到他們的朋友也可以了解