可以載入Gif動畫和png等圖片的方法和控制元件
如果是的話進行下載(裝填炮彈)final Guide_Result result = new Gson().fromJson(str, Guide_Result.class); // result.setMessage("http://img4.duitang.com/uploads/blog/201405/19/20140519115336_mQNyR.thumb.224_0.gif"); // result.setMessage("https://ss0.bdstatic.com/5aV1bjqh_Q23odCf/static/superman/img/logo/bd_logo1_31bdc765.png"); // 獲取圖片bitmap後 // 如果網路和本地是同一張圖片,什麼都不做 // 如果不是同一張,下載網路上的圖片替換到本地 // 如果是同一張,判斷本地檔案是否存在,不存在下載 if (result !=null ){ if (!RequestTool.ToMD5(result.getMessage()).equals((String) SPUtils.get(GuideActivity.this, "GuidePic", ""))) { File file = new File((String) SPUtils.get(GuideActivity.this, "GuidePic", "")); if (file.exists()) { Log.e("321", "file.exists()"); file.delete(); } new Thread(new Runnable() { @Override public void run() { SPUtils.put(GuideActivity.this, "GuidePic", RequestTool.ToMD5(result.getMessage())); File file = new File((String) SPUtils.get(GuideActivity.this, "GuidePic", "")); try { file.createNewFile(); } catch (IOException e) { e.printStackTrace(); } if (checkURL(result.getMessage())) ; { String suffix = result.getMessage().substring(result.getMessage().length() - 4, result.getMessage().length()); Log.e("3321", suffix); if (suffix.equals(".gif")) { saveGif(result.getMessage()); SPUtils.put(GuideActivity.this, "Picformat", ".gif"); } else { saveBitmap(result.getMessage()); SPUtils.put(GuideActivity.this, "Picformat", ".png"); } } } }).start(); } else { File file = new File((String) SPUtils.get(GuideActivity.this, "GuidePic", "")); if (!file.exists()) { try { file.createNewFile(); } catch (IOException e) { e.printStackTrace(); } new Thread(new Runnable() { @Override public void run() { SPUtils.put(GuideActivity.this, "GuidePic", RequestTool.ToMD5(result.getMessage())); if (checkURL(result.getMessage())) ; { String suffix = result.getMessage().substring(result.getMessage().length() - 4, result.getMessage().length()); Log.e("3321", suffix); if (suffix.equals(".gif")) { saveGif(result.getMessage()); SPUtils.put(GuideActivity.this, "Picformat", ".gif"); } else { saveBitmap(result.getMessage()); SPUtils.put(GuideActivity.this, "Picformat", ".png"); } } } }).start(); } }
相關推薦
可以載入Gif動畫和png等圖片的方法和控制元件
final Guide_Result result = new Gson().fromJson(str, Guide_Result.class); // result.setMessage("http://img4.duitang.com/uploads/blog/201405
C++ 獲取jpg和png的圖片寬和高,不使用第三方庫
可以的,不需要使用第三方庫,C++原生封裝 #pragma once #include <stdio.h> #include <tchar.h> #include <SDKDDKVer.h> #define MAKEUS(
image 控制元件載入bmp、JPG、GIF、PNG等圖片的辦法
procedure TForm1.Button1Click(Sender: TObject); var jpg: TJPEGImage; // 要use Jpeg單元 png: tpngimage; gif: tgifimage; begin jpg := TJPEGImage.Cr
C++儲存BItmap、Jpg、png等圖片的方法
1.擁有RGB資料直接將資料寫出為.bmp檔案 void Save_bmp(const vector<char>& data) { BITMAPFILEHEADER bmfHdr; BITMAPINFOHEADER
啟用chacha20和salsa20等加密方法
sta get download fig odi dconf down div etc wget https://download.libsodium.org/libsodium/releases/LATEST.tar.gz tar zxf LATEST.tar.gz
封裝axios和上傳圖片方法
頁面呼叫,post為例 this.$post(url, data, res => { if (res.code == 1) { -------成功返回資料 } else { console.lo
android 新聞應用、Xposed模組、酷炫的載入動畫、下載模組、九宮格控制元件等原始碼
Android精選原始碼 靈活的ShadowView,可替代CardView使用 基於Tesseract-OCR實現自動掃描識別手機號 Android播放介面仿QQ音樂開源音樂播放器 新聞應用專案採用了 RxAndroid + Retrofit + Databinding 的 MVVM 架
[IOS 開發] 利用UIWebView 載入GIF動畫
如果你使用過iOS版本的Spotify ,你會注意到在這款應用的新版本中,他們使用了一個播放的視訊作為app啟動的背景。相對於靜態的圖片背景來說,這是一個相當酷的設計。如果你還沒有見過這類設計,可以瞄一下我做的最終結果: 僅僅為了讓你覺得有趣,我在從柏林到格拉茨的火車
HTML5+js的兩種輪播圖(靜態獲取圖片方法和動態獲取圖片)
第一種:靜態獲取圖片寫法,給定圖片的個數,用js實現輪播圖自動轉換。<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>D
iOS 直接載入gif動畫
<pre name="code" class="objc">// iOS 載入gif動畫,不用一幀幀切圖,直接實現載入.gif圖片</pre><pre name="code" class="objc">// 首先我們定義了一個<sp
載入Gif動畫
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:
優化載入gif動畫
專案開發中都會用到各種載入進度的動畫,有幾下幾種方式可以參考: 1、使用animation-list一幀一幀的播放出來 最簡單的方式是將設計同學給的png序列直接放到一個 animation-list中 然後直接,放在設定為一個ImageView就
整合大量開源庫專案(八)可以載入Gif動畫的GifImageView
上週大多數時間都是根據興起,想到什麼做什麼寫了幾個自定義控制元件,把Soyi丟在那沒怎麼動,今天就把寫的東西整合進來,順便把SOyi”個人研發的結構理一下”。 先上一下今天整合之後的效果,以及新加進來的幾個庫: 按照慣例,貼一下Gradle的配置:
43. fastjson處理下劃線和駝峰問題的方法和源碼分析
fastjson一. 前言在開發過程中經常遇到json解析和生成的問題,所以用自己也一直用fastjson來實現這個功能。但是,最近遇到一個問題: json字符串裏面的數據很多都是"_"下劃線的比如,op_id。而在java裏面,很多都是駝峰的寫法,如opId那這兩種可以匹配然後解析嗎?二. http請求的解
lua中點號和冒號在定義方法和呼叫方法的區別
local a = {x=2} --[[function a.foo1(b) self.x = b end a.foo1(5) print(a.x) --報錯:attempt to index global 'self' (a nil value)]] --[[funct
div 中 滑鼠懸停 和 離開事件 圖片修改 和背景修改
.kuan{ border: 1px solid #1aa094;padding: 10px 0; width: 145px;height:40px; -webkit-border-radius: 8px;
使用powerMock和mockito模擬靜態方法和私有方法
首先我們要匯入相應的包 <dependency> <groupId>org.powermock</groupId> <artifactId>powermock-api-mockito</artif
java 中的sleep()和wait() 等的區別和詳解
1、sleep() 使當前執行緒(即呼叫該方法的執行緒)暫停執行一段時間,讓其他執行緒有機會繼續執行,但它並不釋放物件鎖。也就是說如果有synchronized同步快,其他執行緒仍然不能訪問共享資料。注意該方法要捕捉異常。 例如有兩個執行緒同時執行(沒有
app崩潰的原因 和 提前測試流程/方法 和出現崩潰後怎麼定位和處理 總結
轉自:http://blog.csdn.net/qq_22795513/article/details/74590956首先,崩潰有幾種情況:1.閃退2.提示停止執行3.無響應( 不同情況雖然沒有嚴格意義上區分開引起原因,但是都有側重。在之後的工作中,我會實時補充統計。)1.
vim下的ctags和taglist等的使用和配置
1.ctags (1)到 http://prdownloads.sourceforge.net/ctags/ctags-5.6.tar.gz 下載ctags原始碼ctags-5.6.tar.gz (2)解壓並安裝 假設在家目錄