Settare il bakcground da stringa BASE64 in Android con Java
Sto sviluppando una app per Android che prende i dati da un web service remoto.
I dati includono anche le stringhe delle immagini da settare nelle view; le stringhe sono in BASE64.
Oggi vediamo come settare il background usando Java:
public class MyActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.mug);
String img = "..........";
if (!TextUtils.isEmpty(rfidTxt)) {
byte[] img = Base64.decode(ml.image, Base64.DEFAULT);
Bitmap bitmap = BitmapFactory.decodeByteArray(img, 0, img.length);
Drawable drawable = new BitmapDrawable(getContext().getResources(), bitmap);
LinearLayout linearLayout = findViewById(R.id.myLayout);
linearLayout.setBackground(drawable);
}
}
}
Prima di tutto controlliamo che la stringa non sia vuota; nel caso la appa andrebbe in errore.
Sotto decodifichiamo la stringa con Base64.decode, e creiamo una Bitmap.
Infine creiamo il nostro oggetto Drawable che dobbiamo passare al metodo setBackground.
Nel nostro esempio abbiamo messo il background ad un layout; ma potete modificare il codice usando il componente che vi serve.
Enjoy!
java android base64 bitmap drawable
Commentami!