android相冊多選
① 如何調用android的拍照或本地相冊選取,然後再實現相片上傳伺服器
首先是拍照:使用Intent即可,
[java] view plainprint?
01.final String start = Environment.getExternalStorageState();
02.private static final String PHOTOPATH = "/photo/";
03.
04.if(start.equals(Environment.MEDIA_MOUNTED)){
05.Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
06.File file = new File(Environment.getExternalStorageDirectory()+PHOTOPATH);
07.if(!file.exists()){
08.file.mkdirs();
09.}
10.tempphontname = System.currentTimeMillis()+".jpg";
11.buffer.append(Environment.getExternalStorageDirectory()+PHOTOPATH).append(tempphontname);
12.intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(new File(buffer.toString())));
13.startActivityForResult(intent, 1);
14.}
final String start = Environment.getExternalStorageState();
private static final String PHOTOPATH = "/photo/";
if(start.equals(Environment.MEDIA_MOUNTED)){
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
File file = new File(Environment.getExternalStorageDirectory()+PHOTOPATH);
if(!file.exists()){
file.mkdirs();
}
tempphontname = System.currentTimeMillis()+".jpg";
buffer.append(Environment.getExternalStorageDirectory()+PHOTOPATH).append(tempphontname);
intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(new File(buffer.toString())));
startActivityForResult(intent, 1);
}
其次是從本地相冊選:依舊是Intent.
如下代碼:
[java] view plainprint?
01.if(start.equals(Environment.MEDIA_MOUNTED)){
02. Intent getImage = new Intent(Intent.ACTION_GET_CONTENT);
03. getImage.addCategory(Intent.CATEGORY_OPENABLE);
04. getImage.setType("image/jpeg");
05. startActivityForResult(getImage, 0);
06.}
if(start.equals(Environment.MEDIA_MOUNTED)){
Intent getImage = new Intent(Intent.ACTION_GET_CONTENT);
getImage.addCategory(Intent.CATEGORY_OPENABLE);
getImage.setType("image/jpeg");
startActivityForResult(getImage, 0);
}
接下來是主要的:因為調用完系統的方法後,回返回到回調方法onActivityResult(int, int, Intent)中,
在裡面進行主要的照片上傳伺服器的操作,
見代碼:
[java] view plainprint?
01.@Override
02. protected void onActivityResult(int requestCode, int resultCode, Intent data) {
03. ContentResolver resolver = getContentResolver();
04. if(requestCode==1)//
05. {
06. if(resultCode==Activity.RESULT_OK)
07. {
08. if(Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED))
09. {
10.ew Thread(new Runnable()
11. {
12. @Override
13. public void run() {
14.//進行上傳操作
15.}
16.}.start();
轉載
② Android10以上拍照和選擇相冊適配以及向下兼容適配
最近一直被Android10相關的適配搞得焦頭爛額,之前也聽說過android10中的所有的視頻,音頻以及圖片等資源為了統一的管理,統一放在一個共有的文件下,也就是所謂的沙箱。看了一下其他人寫的文章,也提供了一種簡單粗暴的方式也就是在清單文件application下配置#android:requestLegacyExternalStorage="true"#,但如果android11出來又得適配了,android11是禁止除了共有文件夾下新建視頻,音頻以及圖片等文件。不然就會報找不到文件相關的錯誤,好了說到底我們還是得花點時間去適配android10以上的沙箱適配。
進入正題,接下來我們就來適配Android10相關的拍照以及選擇相冊並兼容android10以下的絕大部分的適配。
進入系統相冊的操作都是一樣的這里就不贅述:
主要的還是要對返回的data進行處理,也就是把uri轉換成文件File的路徑path
當然了拍照和點陣圖Bitmap相關的適配是一樣的。
7.0以上Android版本的路徑配置
第一步
@xml/file_camera_paths 文件配置
拍照首先需要申請拍照許可權
申請完後調用camera就可以拍照,拍照主要就是在調用相機的時需要自己去配置文件存儲路徑。
回調處理這里我就不贅述了 主要是對Android10以上關於圖片配置相關的處理
既然關於Android 10那麼我們也講一下關於定位方面的適配,Android10以上需要在清淡文件中添加一個新的定位許可權
③ 【基礎筆記】Android Studio拍照、選擇相冊(第三方框架)
①選擇指定後綴文件
②在圖片選擇器中選擇圖片或視頻
③接受返回的文件
FilePicker
①、添加依賴
②、Activity實現takephoto
③實例圖片
④Git地址
TakePhoto
④ android系統下有沒有多選和全選文件的功能
安裝RE文件管理器,進入相應文件夾以後按menu鍵,點多選,再點全選就行了
⑤ android手機有哪些手勢操作,能具體點嗎
android手機有哪些手勢操作:
「點擊」,也叫「單擊」,即輕觸屏幕一下。無論是搭載何種操作系統的觸控手機,這個都是出現頻率最高的動作。點擊主要用來打開程序,還有功能表(抽屜)。
「點住」,也叫「長按」、「按住」,按住屏幕超過兩秒。此動作通常用來調出「菜單」。某些應用程序在界面空白處長按可以調出菜單;某些條目長按也可以彈出菜單,比如當您需要轉發簡訊時,在簡訊對話界面長按簡訊內容,必然會彈出菜單,菜單中通常會有「轉發」選項。
在進行文字編輯時,點住文字部分,然後調出遊標進行精準定位。
當然,此動作也可用於多選、快捷視圖,比如在「圖庫(相冊)」中,默認視圖下,長按相冊文件夾、可對文件夾進行多選操作;打開相冊文件夾後,長按照片,同樣可對照片進行多選操作,選擇完畢後可進行批量操作(發送、刪除)。
「拖動」,准確來說應該叫做「按住並拖動」。「拖動」主屏幕編輯時的常見動作,比如對桌面「小組件」或者「圖標」進行位置編輯時。另外也用於進度定位,比如播放音樂或者視頻時,需要常常拖動進度條。
「雙擊」就是短時間內連續雙擊屏幕兩次,主要用於快速縮放,比如瀏覽圖片時雙擊可以快速放大,再次雙擊可以復位;瀏覽網頁時,對文章正文部分雙擊可使文字自適應屏幕,當然某些視頻播放器雙擊可切換至全屏模式。
滑動,也算是一個常見操作。主要用於查看屏幕無法完全顯示的頁面,功能類似滑鼠的滾輪。此操作主要用於查看圖片、網頁、純文本(簡訊、郵件、筆記)。
某些視頻播放器還定義了特殊功能,比如亮度調節、快進快退,比如「MX Player」、「VPlayer」。
「縮放」動作,是查看圖片、網頁時最常見的操作,照相時也可使用縮放手勢來進行調焦。在MX Player中,甚至可以將視頻畫面進行縮放。