當前位置:首頁 » 安卓系統 » android下載保存圖片

android下載保存圖片

發布時間: 2022-06-30 01:45:57

安卓手機怎麼上網下載圖片呢下載的圖片保存在哪裡呢

有些手機跟有些手機不一樣,就比方說我的手機是小米的,下載的圖片所有手機最初都是一樣的,下載好的圖片最初都保存在手機管理裡面,我的小米打開方式非常簡單,手機管理打開後直接點擊圖片二字就可以了,下載的圖片就在那裡面,而再比方說華為手機,下載好的圖片是保存在別的英文文件夾里的開頭好像是dows什麼什麼的,你們可以都翻找一下,比較麻煩,下載好的圖片如果要放到相冊裡面,直接對那個文件夾里的圖片剪切就可以了,然後回到相冊的文件夾里粘貼就OK了。別的手機在哪裡面我還不知道,不過我相信百分百都保存在文件管理裡面,仔細查找一下就能找到的。謝謝採納。

⑵ android開發如何執行下載圖片到指定目錄里,然後通過imageview去讀取該圖片。

1、首先你有一個保存圖片的路徑 filePath

還有一個現在圖片的鏈接 url

java">StringfilePath="....";
Stringurl="....";
bytes[]b=newbytes[1024];
Filefile=newFile(filePath);
FileOutputStreamfs=newFileOutputStream(file);
InputStreamin=newURL(url);
while(in.read(b)){
fs.wirte(b);
}
Bitmapbitmap=BitmmapFactory.decodeStream(in);
imageView.setBitmapResource()

大概就是這樣詳細的你自己弄吧

⑶ 安卓手機拍的照片和下載的圖片,保存在哪個文件夾里求大師

下載的安卓手機主題一般保存在文件夾sdcard/系統名稱/theme里。
手機主題其特點類似windows的主題功能,使手機用戶通過下載某個自己喜歡的手機主題程序就可以一次設定好相應的待機圖片、屏幕保護程序、鈴聲以及操作界面和圖標等內容,使用戶可以更快捷方便的將自己心愛的手機實現個性化。根據主題的不同,用戶在使用手機時感覺身歷其境,不再只是面對一成不變手機操作界面、圖片和色彩。

⑷ 安卓手機到底怎麼保存INS裡面的圖片

安卓手機保存ins照片的詳細操作步驟如下,以oppo r15手機為例

第一步:在ins軟體中找到需要保存的照片,點擊復制鏈接

⑸ Android 保存圖片到本地。

這里只介紹按下「保存」後如何將一個Bitmap對象保存為圖片文件的執行步驟,對圖片的下載,圖片到Bitmap對象的轉換,Bitmap對象的格式轉換和壓縮,以及界面設計部分全部都忽略了。

  • 確定存儲路徑

  • 獲取外部存儲許可權

  • 確定外部存儲狀態

  • 確定文件名

  • 保存到文件中

  • 發送廣播,通知系統掃描保存後的文件

  • 確定存儲路徑

    在Android中文件存儲路徑包括內部存儲和外部存儲兩種類型。

    對內部存儲,當一個app被安裝到手機後,Android系統會在內部存儲的/data/data/目錄下創建一個以包名稱命名的文件夾。例如/data/data/com.sohu.inputmethod.sogou/。一個應用對內部存儲的所有訪問都被限制在這個文件夾中,也就是說Android應用只能在該目錄中讀取,創建,修改文件。對該目錄之外的其他內部存儲中的目錄都沒有任何操作的許可權。因此,如果將圖片保存在內部存儲中,只能被應用自身讀取,其他應用均無法讀取。如果需要讓系統圖庫,相冊或其他應用能夠找到保存的圖片,必須將圖片保存到外部存儲中。

    對外部存儲,當一個app被安裝到手機後,Android系統會在外部存儲的/Android/data/目錄下創建一個以包名命名的文件夾(這里第一個/不是根路徑,而是相對外部存儲所掛載路徑的相對路徑)。例如/storage/emulated/0/Android/data/com.sohu.inputmethod/。這個路徑同樣只能被應用自身讀取,其他應用不能訪問。因此,也不能將圖片保存在這個目錄中。

    除外部存儲的/Android目錄之外的其他目錄一般都是可以被其他應用訪問的。目前,大多數應用都會在外部存儲的根路徑下建立一個類似包名的多層目錄,以存儲需要共享的文件。例如/storage/emulated/0/sogou/image/。還需要注意的是,很多查看圖片的應用都支持按照文件夾來查看圖片。如果將圖片所在的文件夾取名為image,photo之類的,就無法和其他文件夾區分開,用戶也不能識別該文件夾的用途。因此最好取一個有區分度的文件夾名字,例如網路貼吧就保存在/tieba目錄,微信是保存在/tencent/MicroMsg/WeiXin目錄。

    由於Android系統的碎片化問題,不同設備上外部存儲的路徑很可能會不同,因此,不能直接使用/storage/emulated/0/作為外部存儲的根路徑。
    Android SDK中 Environment類 提供了getExternalStorageDirectory()方法來獲取外部存儲的根路徑。示例如下:

    [java]view plain

  • Stringdir=Environment.getExternalStorageDirectory().getAbsolutePath()+"/tencent/MicroMsg/WeiXin/"

  • 需要注意的是Environment.getExternalStorageDirectory()返回的路徑中最後一個字元不是/,如果需要創建子目錄,需要在子目錄的前後都加上/。

    獲取外部存儲許可權

    由於需要在外部存儲中寫文件,需要在AndroidManifest.xml中增加如下的許可權聲明。

    [java]view plain

  • <uses-permissionandroid:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

  • 確定外部存儲狀態

    由於外部存儲需要被掛載,也可以被卸載,在寫入文件之前,需要先判斷外部存儲的狀態是否正常。只有狀態正常情況下才可以執行保存文件的操作。獲取外部存儲狀態同樣是通過Environment類,通過Environment.getExternalStorageState()可以得到一個字元串,來表示外部存儲的狀態。同時在Environment類中定義了一系列的String常量表示不同的狀態。在所有的狀態中只有內部存儲處於Environment.MEDIA_MOUNTED狀態時才可以讀寫文件,因此,需要將獲取到的狀態和Environment.MEDIA_MOUNTED做比較,如果不是Environment.MEDIA_MOUNTED狀態,就返回保存失敗。示例如下。

    [java]view plain

  • //獲取內部存儲狀態

  • Stringstate=Environment.getExternalStorageState();

  • //如果狀態不是mounted,無法讀寫

  • if(!state.equals(Environment.MEDIA_MOUNTED)){

  • return;

  • }



  • 確定文件名

    保存的圖片文件名可以由應用根據自身需要自行確定,一般來說需要有一個命名規則,然後根據命名規則計算得到文件名。
    這里列舉幾種常見的命名規則。

  • 隨機命名
    這種命名規則是隨機生成一個字元串或一組數字來對圖片命名。
    字元串可以通過UUID來生成,數字可以通過Random()類來生成,例如:

    [java]view plain

  • //通過UUID生成字元串文件名

  • StringfileName1=UUID.randomUUID().toString();

  • //通過Random()類生成數組命名

  • Randomrandom=newRandom();

  • StringfileName2=String.valueOf(random.nextInt(Integer.MAX_VALUE));

  • 這種命名規則是按照數字從小到大的順序來對圖片命名。
    在程序啟動時先獲取圖片文件名中當前最大數字的文件名,之後每保存一張圖片就將數字加1即可。

  • 時間命名
    這種命名規則是根據保存圖片的當前系統時間來對圖片命名。
    系統時間可以通過System.currentTimeMillis()來獲取,不過System.currentTimeMillis()獲取到的時間是一個long型的整數,如果用它做文件名,無法通過文件名直接看出文件的具體保存時間。可以通過SimpleDateFormat先對當前時間做格式化,然後再將其作為文件名來使用。例如:

    [java]view plain

    使用這種命名規則來命名需要注意的是同一秒鍾可能會有多張圖片需要保存,在得到當前系統時間對應的文件名後,需要判斷該文件是否存在。如果文件已經存在,需要重新生成文件名。重新生成的文件名可以在之前的文件名後加上一個隨機數後綴,或者是用毫秒數做後綴。

  • Calendarnow=newGregorianCalendar();

  • SimpleDateFormatsimpleDate=newSimpleDateFormat("yyyyMMddHHmmss",Locale.getDefault());

  • StringfileName=simpleDate.format(now.getTime());

  • 文件URL命名
    每張網路圖片都有一個對應的圖片URL,可以根據圖片的URL來對圖片命名。
    不過URL中會包含一些不能用作文件名的特殊字元,此外直接用URL來命名可能會帶來安全問題。為了避免這兩個問題,可以將圖片URL的MD5值作為文件名來使用。由於MD5是不可逆的,也就無法通過MD5值反向得到圖片URL,同時MD5值對應的字元串只包含[0-9A-Z],不包含特殊字元,可是作為文件名使用。
    由於每張圖片的URL是唯一的,其對應的文件名也就是唯一的。如果需要每張網路圖片只能生成一個文件,不允許保存為多份拷貝,可以用這種命名規則。在得到URL對應的文件名後,先判斷文件是否已經存在,如果已經存在,直接覆蓋或不處理。

  • 保存到文件中

    保存圖片文件時,通過Bitmap的compress()方法將Bitmap對象壓縮到一個文件輸出流中,然後flush()即可。示例如下。

    [java]view plain

  • try{

  • Filefile=newFile(dir+fileName+".jpg");

  • FileOutputStreamout=newFileOutputStream(file);

  • mBitmap.compress(Bitmap.CompressFormat.JPEG,100,out);

  • out.flush();

  • out.close();

  • }catch(Exceptione){

  • e.printStackTrace();

  • }



  • 發送廣播,通知系統掃描保存後的文件

    至此,已經實現將Bitmap對象保存成外部存儲中的一個jpg格式的文件。但此時該文件只是保存在外部存儲的一個目錄中,必須進入其所在的目錄中才可以看到。在系統圖庫,相冊和其他應用中無法看到新建的圖片文件。為了讓其他應用能夠知道圖片文件被創建,必須通知MediaProvider服務將新建的文件添加到圖片資料庫中。

    Android系統中常駐一個MediaProvider服務,對應的進程名為android.process.media,此服務用來管理本機上的媒體文件,提供媒體管理服務。在系統開機或者收到外部存儲的掛載消息後,MediaProvider會調用MediaScanner,MediaScanner會掃描外部存儲中的所有文件,根據文件類型的後綴將文件信息保存到對應的資料庫中,供其他APP使用。

    MediaScannerReceiver是一個廣播接收者,當它接收到特定的廣播請求後,就會去掃描指定的文件,並根據文件信息將其添加到資料庫中。當圖片文件被創建後,就可以發送廣播給MediaScannerReceiver,通知其掃描新建的圖片文件。示例如下。

    [java]view plain

  • try{

  • Filefile=newFile(dir+fileName+".jpg");

  • FileOutputStreamout=newFileOutputStream(file);

  • mBitmap.compress(Bitmap.CompressFormat.JPEG,100,out);

  • out.flush();

  • out.close();

  • //保存圖片後發送廣播通知更新資料庫

  • Uriuri=Uri.fromFile(file);

  • sendBroadcast(newIntent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE,uri));

  • }catch(Exceptione){

  • e.printStackTrace();

  • }



  • 圖片的非同步保存

    保存圖片文件時,如果圖片很大,或需要同時保存多張圖片時,就需要較多的時間。為了避免阻塞UI線程,出現幀率下降或ANR,通常需要將圖片保存操作放到線程中去執行。當圖片保存完畢後通過sendMessage()方法通知UI線程保存結果。
    將圖片保存放到後台線程去執行需要增加一些同步機制避免一些多線程問題。例如有兩張圖片需要保存,分別放到兩個線程中去執行,保存圖片時文件名以數字順序增加。第一個線程選中文件名為125.jpg,但此時文件還未創建,第二個線程判斷125.jpg不存在,於是也選取125.jpg作為文件名,兩張圖片就保存到同一個文件中了。

⑹ Android 開發.下載多張圖片保存到本地,大概9M,時間比較3~5分鍾。時間太長了,用戶會等太久,求解決方法

一張圖片的URL想要對應多張圖片基本實現不了,URL是唯一的存在,如果1個URL存在多個內容就出亂子了,除非這個URL不是JPG等結尾,而是HTML等頁面格式結尾,可以把多張圖片放在一個頁面當中。
可以有以下幾種方法:
1.將多張圖片處理成長條的1張圖片,保存時降低精度以減小圖片大小,下載時間可縮短並節約用戶流量。
2.將圖片打包成一個zip包-。-手機可能無法查看

其他方法想不到了。

⑺ 安卓手機如何下載網頁圖片

方法一:長按圖片,接著會伴隨震動而彈出一個窗口目錄提示,裡面一般會有一個「保存」(或者「下載」按鈕)的選項,選擇即可。

方法二:點擊你 瀏覽器 的主菜單里會出現個圖片模式那附近里有一個也可以保存圖片的。保存在那個相應的文件夾也就是下載下來了。有的圖片可下載的話,就直接在網頁上就有提供下載。

⑻ android開發中下載圖片並且保存到sd卡中,不通過點擊什麼的怎麼完成,代碼如下

OutputStream os = openFileOutput("test.png", MODE_WORLD_READABLE);
byte[] buff = new byte[1024];
int hasRead = 0;
while((hasRead = is.read(buff)) > 0){
os.write(buff, 0, hasRead);
}
is.close();
os.close();

你這里不是已經存文件了嗎,只是這種是存在app的私有目錄中
如果要存在指定位置,就用
FileOutputStream fout = new FileOutputStream(path,append);
這種啊

熱點內容
scratch少兒編程課程 發布:2025-04-16 17:11:44 瀏覽:642
榮耀x10從哪裡設置密碼 發布:2025-04-16 17:11:43 瀏覽:368
java從入門到精通視頻 發布:2025-04-16 17:11:43 瀏覽:89
php微信介面教程 發布:2025-04-16 17:07:30 瀏覽:312
android實現陰影 發布:2025-04-16 16:50:08 瀏覽:794
粉筆直播課緩存 發布:2025-04-16 16:31:21 瀏覽:348
機頂盒都有什麼配置 發布:2025-04-16 16:24:37 瀏覽:213
編寫手游反編譯都需要學習什麼 發布:2025-04-16 16:19:36 瀏覽:818
proteus編譯文件位置 發布:2025-04-16 16:18:44 瀏覽:369
土壓縮的本質 發布:2025-04-16 16:13:21 瀏覽:596