1. 程式人生 > >Android開發:已經發布的APP,如何更改啟動圖片

Android開發:已經發布的APP,如何更改啟動圖片

由於近由於工作需要,要實現在已經發布的APP上實現更新啟動圖片,發現網上沒有這塊的資訊,雖然實現方式比較簡單,但還是寫下來,供參考;

1、首先,用一個介面訪問網路,下載新的啟動畫面的圖片,我用的是ImageView裡面的一張畫面來實現的,程式碼如下:

View tempView = mGridView.getChildAt(0);
		ImageView imageView = (ImageView) tempView
				.findViewById(R.id.gv_image_detail);
		File file = ImageUtils.saveSplashImageToSdCard(imageView);

2、把取到的圖片儲存在本地目錄:
public static final File saveSplashImageToSdCard(ImageView image) {
    	boolean success = false;
    	String imageName = "splash.jpg";
    	File storeDir = AppData.getContext().getExternalFilesDir(null);
    	File imageFile = new File(storeDir, imageName);
    	F.makeLog(imageFile.toString());
    	BitmapDrawable drawable = (BitmapDrawable) image.getDrawable();
    	FileOutputStream outStream;
		Bitmap bitmap = drawable.getBitmap();
		try {
			outStream = new FileOutputStream(imageFile);
			bitmap.compress(Bitmap.CompressFormat.PNG, 100, outStream);
//			 100 to keep full quality of the image 
			outStream.flush();
			outStream.close();
			success = true;
		} catch (FileNotFoundException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}
		if (success) {
//			Toast.makeText(getApplicationContext(), "Image saved with success",
//					Toast.LENGTH_LONG).show();
			F.makeLog("success save to sd card");
			UserInfo.saveSplashPath(imageFile.toString());
			return imageFile;
		} else {
					return null;
		}
    }

3、建立一個sharepreference,儲存儲存的路勁和更新啟動畫面的判斷;
public static void saveSplashPath(String msg) {
		SharedPreferences sharedPreferences = AppData.getContext()
				.getSharedPreferences(USER_INFO_TAG, Context.MODE_PRIVATE);
		SharedPreferences.Editor editor = sharedPreferences.edit();
		editor.putString(FILE_TAG, msg);
		editor.putBoolean(SPLASH_TAG, true);
		editor.commit();
	}
	
	public static boolean isSplashImageChange() {
		SharedPreferences sharedPreferences = AppData.getContext()
				.getSharedPreferences(USER_INFO_TAG, Context.MODE_PRIVATE);
		boolean change = sharedPreferences.getBoolean(SPLASH_TAG, false);
		return change;
	}
	
	public static String getSplashImagePath() {
		SharedPreferences sharedPreferences = AppData.getContext()
				.getSharedPreferences(USER_INFO_TAG, Context.MODE_PRIVATE);
		String path = sharedPreferences.getString(FILE_TAG, "0");
		return path;
	}

4、最後一步就是在啟動畫面的時候,判斷是否有新的啟動圖片,有的話,顯示新的啟動圖片:
if (UserInfo.isSplashImageChange()) {
			String file = UserInfo.getSplashImagePath();
			F.makeLog(file.toString());
//			F.makeToast(file.toString());
			Bitmap bitmap = BitmapFactory.decodeFile(file);
			imageView.setImageBitmap(bitmap);
		}

這樣就可以實現更新啟動圖片了。

由於是上班時間,偷偷來更新部落格的,寫的很是簡略,不過應該可以看懂的吧,程式碼是整合在公司的專案中,不好上原始碼,望海涵。

相關推薦

Android開發已經APP如何更改啟動圖片

由於近由於工作需要,要實現在已經發布的APP上實現更新啟動圖片,發現網上沒有這塊的資訊,雖然實現方式比較簡單,但還是寫下來,供參考; 1、首先,用一個介面訪問網路,下載新的啟動畫面的圖片,我用的是ImageView裡面的一張畫面來實現的,程式碼如下: View t

應用已經如何在tomcat前部署一個nginx

.net host con set 不用 http spa server cnblogs 1在應用已經發布後,如何在tomcat前部署一個nginx,可以正常訪問jsp,靜態資源(html,css,js),而不用修改已有的應用部署環境 1 upstream morr

Android 開發繪製多條線帶快取帶觸控的圖表(基金圖表的實現)

對之前的幾篇文章裡的model進行補充 後期會把這個功能類,新增到這個框架裡 連結 Android開發框架,有興趣的可以下載下來看,這個框架會經常更新: public class BaseFundChartView extends View im

Android開發Parallax效果的ScrollerView改編自ParallaxListView

最近在專案中,有用到一個仿照Path的Parallax效果,苦苦搜尋,在github上面,有一個類似的效果,不過是listview的,加一個頂部的headerView,實現了該效果,不過我需要的是ScrollerView的,於是對該程式碼進行的修改,實現了ScrollerV

JDK 13 都已經Java 8 依然是最愛

在 JDK 版本的世界裡,從來都是 Oracle 發他的新版本,我們繼續用我們的老版本。三年之前用 JDK 7,後來終於升級到了 JDK 8。自從升級了沒多久,JDK 就開始了半年發一個新版本的節奏,陸續釋出了 9 、10、11、12,直到前兩天(2019年9月17日)釋出了 JDK13。 2018年12月,

Android開發解決三星裝置拍照後獲取的圖片被旋轉的問題

呼叫Android系統拍照功能後,三星手機拍攝後的照片被旋轉了90度,橫著拍變成豎的,豎著拍變成橫的。。。測試其它品牌的手機是正常的,就三星出現這個問題。 解決方法: 1、首先在呼叫拍照方法時,儲存拍照後的相片原圖,得到原圖路徑,(PhotoBitmapUtils是我

tomcat與iis公用80端口(已經.net項目現在開發Java項目時tomcat在eclipse中localhost8080打不開問題)

擴展 key 錯誤 允許 conf true fig 安全 order 在開發過.net項目的電腦上安裝eclipse配置tomcat運行時打不開頁面問題描述,這也是本人親生經歷,找了好多資料網上大多都是tomcat配置問題描述,今天突然想到是不是IIS的問題,果然上網一搜

Android開發-5】界面裝修五大局你選誰

比例 技術分享 article 嵌套 content java lin layout mark 前言:假設要開一家店,門店裝修是非常重要的事情。有錢都請專門的建築設計公司來設計裝修,沒錢的僅僅能自己瞎折騰。好不好看全憑自己的感覺。像Android開發。在移動端大家看到的

【視頻】零基礎學Android開發藍牙聊天室APP(一)

android入門 mod http 開發 org 薪資 get target 下載 零基礎學Android開發:藍牙聊天室APP第一講 1. Android介紹與環境搭建:史上最高效Android入門學習 1.1 Google的大小戰略 1.2 物聯網與雲計算 1.3

APICloud首款全功能集成開發工具重磅彰顯雲端一體理念

tro ebs 常用 訪問 效率 提交代碼 svn app制作 全部 近日,APICloud重磅推出首款雲端一體的全功能集成開發工具——APICloud Studio 2。為了更深入了解這款開發工具的特性及優勢,APICloud CTO 鄒達針對幾個核心問題做出了解答。

寫給 Android 開發的小程序局指南Flex 局!

反向 android 容易 一起 些許 意思 移動 之間 img 一、序 Hi,大家好,我是承香墨影! 最近在做小程序,驗證一些方向,開發效率確實很快,就是各種微信的審核有點費勁,但是總歸是有辦法解決的。 想要開發一款小程序,其實和我們正常寫一款 App 類似,你需要有精

微信開發微信js_sdk分享使用場景網頁在微信app內部分享時的標題與描述包括logo設置(一)

lap 判斷 bsp 準備 自己的 tp5 獲取 處理 圖片 主要有下面幾步。首先大家先分清楚 小程序的appid,appSecret 跟公眾號的appid,appSecret是不一樣的。因為這兩個都能拿到token,且是不同的值。 準備開始: 1.準備好 公眾號的appi

Android 開發(二)安卓常用5大局方式

一、Android中常用的5大布局方式有以下幾種: 1.線性佈局(LinearLayout):按照垂直或者水平方向佈局的元件; 2.幀佈局(FrameLayout) :元件從螢幕左上方(0,0)佈局元件; 3.相對佈局 (RelativeLayout) :相對其它元件的佈

android開發web頁面喚起其他應用app

如何在webview載入的網頁,喚醒其他應用app? 具體步驟: 第一步: 開啟AndroidMenifest.xml檔案,新增下面程式碼 <activity android:name=".MainActivity"> <intent-f

android開發在Macbook環境android studio 配置git環境

第一步:對專案啟用git管理 這步是將專案納入git管理之下,點選android studio選單欄的VCS後,選擇Enable Version Control Integration. 在彈出的框裡選擇Git 然後可以發現在快捷工具圖示裡面多了兩個版本控制的按鈕,並且

android開發release打包Error:Execution failed for task ':app:transformClassesWithJarMergingForRelease'.

情景 專案進行release打包,結果報錯: Error:Execution failed for task ':app:transformClassesWithJarMergingForRelease'. > com.android.build.api.transform

Android開發int型別資料按照高低位存放到byte型別的陣列

int型別的資料—>byte型別陣列轉換 //byte陣列"按高位在前,低位在後"的方式存放int型別資料 int src = 123; int[] dec = new int[4]; dec[0] = (src /256/256/256); dec[1] = (src /25

Android開發通過樣式修改SeekBar背景顏色進度條顏色滑塊圖片

通過樣式style修改 seekBar 的 背景、進度、遊標等圖片。 佈局檔案: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.and

新的Redis桌面管理工具(跨平臺)Kedis已經歡迎大家試用

Kedis Kedis是一個基於AngularJS、Electron和Node.JS搭建的Redis桌面管理工具,前端樣式表採用了Bootstrap作為原始程式碼,並在此基礎上做了一些個性化的改造。 除此之外,Kedis還依賴了ioredis和ssh

Android開發仿微信和QQ空間說說相簿讀取、拍照、圖片裁剪和圖片上傳伺服器等功能的實現

第一步:新增依賴包: dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) compile 'com.android.support:appcompat-v7:23.2.1' compile project('