Android 启动页加载gif、视频、图片、并下载到本地
生活随笔
收集整理的這篇文章主要介紹了
Android 启动页加载gif、视频、图片、并下载到本地
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
之前了解了一些這方面的知識,網上具體沒有一個全面的,由于近期項目用到了,所以就記錄一下,大神勿噴~
效果圖就不奉上了,公司保密嘛~
需求描述:
具體的邏輯就不寫了,直接上代碼吧!
首先當后臺給你數據后? 你要做一個判斷,分別去做下載,最后帶去本地讀取相應的圖片也好,GIF也好,視頻也好。
switch(ad_type){ //1:代表圖片case 1:break; //2:代表Gifcase 2:break; //3:代表視頻case 3:break; }?先說下圖片的上傳與下載吧
case 1:PicassoUtils.loadOpenPicFromUrl(openScreenAdResponseApiResponse.getData().getAd().getImage_url());//這是后臺給的URLbreak;//自己封裝的PicassoUtils
算了? ?代碼涉及的太多了? 不過給大家手寫個通用的吧 ,我也就不封裝了
忽略上面哈哈~
好了開始正題
下面寫個不管是圖片還是gif,還是視頻都能下載的
case 3:// 下載地址,這個是后臺的url,不同的參數會對應不同的Urlpath = openScreenAdResponseApiResponse.getData().getAd().getImage_url();// 1.創建文件夾,在存儲卡下String dirName = Environment.getExternalStorageDirectory() + "/" + getPackageName();// 2.創建的File做相應的判斷File file = new File(dirName);// 3.文件夾不存在時創建if (!file.exists()) {file.mkdir();}// 下載后的文件名int i2 = path.lastIndexOf("/"); // 取的最后一個斜杠后的字符串為名fileName = dirName + path.substring(i2, path.length());File file1 = new File(fileName);if (file1.exists()) {// 如果已經存在, 就不下載了, 去存儲它的路徑,這是我自己封裝的一個SP相關工具類,你們可以自己寫一個sputilsad.put(SPConstants.AD.popup_vove, fileName);} else {new Thread(new Runnable() {@Overridepublic void run() {// 下載具體操作DOWNLOAD();}}).start();}break;//DOWNLOAD();
// 下載具體操作 private void DOWNLOAD() {try {URL url = new URL(path);// 打開連接URLConnection conn = url.openConnection();// 打開輸入流InputStream is = conn.getInputStream();// 創建字節流byte[] bs = new byte[1024];int len;OutputStream os = new FileOutputStream(fileName);// 寫數據while ((len = is.read(bs)) != -1) {os.write(bs, 0, len);}// 完成后關閉流os.close();is.close();// }} catch (Exception e) {e.printStackTrace();} }我就不封裝了 自己動下小手哦
上面已經吧圖片,gif,視頻的路徑下載好了,下面開始去根據不同的參數顯示不同的內容吧
記住把后臺的參數也傳過去哦? ?我們還要去顯示呢~? ??
// 假設ad_type就是參數 switch (ad_type) {case 1://加載圖片用Picasso 或著 glide都可以自己去寫 這個要不會就沒誰了break;case 2://implementation 'pl.droidsonroids.gif:android-gif-drawable:1.2.16' 本人采用的是它加載的gif 你也可以 用glide ,具體各個好處就不說了try {// 1.new 一個GifDrawable popup_gif是你Sp儲存的gif路徑 imagess是你的控件GifDrawable gifFromPath = new GifDrawable(popup_gif);imagess.setImageDrawable(gifFromPath);} catch (IOException e) {e.printStackTrace();}break;case 3://videoURI是你Sp儲存的視頻路徑 iv_videoviwe是你播放視頻的控件,我才用的是VideoViewiv_videoviwe.setVideoURI(Uri.parse(videoURI));// 播放iv_videoviwe.start(); break; }寫的很清楚了 xml 布局自己寫 最后倒計時自己寫把? ?學會靠自己? 加油少年~
總結
以上是生活随笔為你收集整理的Android 启动页加载gif、视频、图片、并下载到本地的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Qt解决连接https报错
- 下一篇: 每天定时发邮件