Settare il bakcground da stringa BASE64 in Android con Java

Mattepuffo's logo
Settare il bakcground da stringa BASE64 in Android con Java

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!


Condividi

Commentami!