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!




Share

Commentami!

About Mattepuffo.com

Blog dedicato all'informatica e alla programmazione!
Tutti i contenuti di questo blog, tranne casi particolari, sono sotto licenza Licenza Creative Commons Creative Commons Attribution-Noncommercial-Share Alike 2.5. .

2707 articoli
310 commenti
21 progetti
Altri link
  • About
  • Scrivimi
  • Copyright
  • Sitemap
  • matteo.ferrone@yahoo.it
  • GitHub
  • Privacy Policy