1. 程式人生 > >可以載入Gif動畫和png等圖片的方法和控制元件

可以載入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++ 獲取jpgpng圖片高,不使用第三方庫

可以的,不需要使用第三方庫,C++原生封裝 #pragma once #include <stdio.h> #include <tchar.h> #include <SDKDDKVer.h> #define MAKEUS(

image 控制元件載入bmp、JPG、GIFPNG圖片的辦法

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    

啟用chacha20salsa20加密方法

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;

使用powerMockmockito模擬靜態方法私有方法

首先我們要匯入相應的包 <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下的ctagstaglist的使用配置

1.ctags (1)到 http://prdownloads.sourceforge.net/ctags/ctags-5.6.tar.gz         下載ctags原始碼ctags-5.6.tar.gz (2)解壓並安裝 假設在家目錄