我想根據JSON文件中的base-64數據記錄爲我的mainActivity設置背景圖像。我應該將base-64數據轉換爲我的背景圖片,所以可繪製資源文件夾無法幫助我。有什麼建議麼?更改Android活動的背景圖像
更多說明:我的繪圖資源中沒有圖像。我的應用程序讀取一個JSON文件並解析它。 JSON記錄之一是應用程序背景圖像的base-64數據。所以在解析之後,我想解碼這些數據並將其設置爲我的主要活動的背景。
我想根據JSON文件中的base-64數據記錄爲我的mainActivity設置背景圖像。我應該將base-64數據轉換爲我的背景圖片,所以可繪製資源文件夾無法幫助我。有什麼建議麼?更改Android活動的背景圖像
更多說明:我的繪圖資源中沒有圖像。我的應用程序讀取一個JSON文件並解析它。 JSON記錄之一是應用程序背景圖像的base-64數據。所以在解析之後,我想解碼這些數據並將其設置爲我的主要活動的背景。
試試這個
public Bitmap StringToBitMap(String base64String){
try{
byte [] encodeByte=Base64.decode(base64String,Base64.DEFAULT);
Bitmap bitmap=BitmapFactory.decodeByteArray(encodeByte, 0, encodeByte.length);
return bitmap;
}catch(Exception e){
e.getMessage();
return null;
}
}
調用此方法通過
String bas64String="data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEBLAEsAAD/2wBDAAMCAgMCAgMDAwMEAwMEBQgFBQQEBQoHBwYIDAoMDAsKCwsNDhIQDQ4RDgsLEBYQERMUFRUVDA8XGBYUGBIUFRT.......=="
bas64String=bas64String.replace("data:image/jpeg;base64,","");
Bitmap b=StringToBitMap(bas64String);
if(b!=null)
{
Drawable dr = new BitmapDrawable(b);
yourlayout.setBackgroundDrawable(drawable);
}
下面應該工作:
byte[] decodedString = Base64.decode(encodedString, Base64.DEFAULT);
Bitmap bitmap = BitmapFactory.decodeByteArray(decodedString, 0, decodedString.length);
Drawable backgroundDrawable = new BitmapDrawable(getResources(), bitmap);
yourLayout.setBackgroundDrawable(backgroundDrawable);
https://www.google.nl/webhp?sourceid=chrome -instant&ion = 1&espv = 2&ie = UTF-8#q = android%20base64%20to%20image –
告訴我們你已經嘗試了哪些東西,哪些不起作用。請閱讀http://stackoverflow.com/help/how-to-ask –
@AlexandreCartapanis起初,我爲我的佈局選擇了一個id,然後爲它設置一個默認背景圖像(在可繪製文件夾中):RelativeLayout rl =(RelativeLayout )findViewById(R.id.mainLayout); rl.setBackground(R.drawable.game_1);現在我想用我的json文件中的一個(base-64數據)來更改這個背景。在這裏,我不知道如何繼續。 –