2016-09-24 23 views
6
I/almak byte içinde Arraylist değerini dönüştürmek çalışıyorum

[] aşağıda bu ArrayList m depolama Nesneler benim ArrayList benim kodbyte için Arraylist <Object> değeri dönüştürün []

final ArrayList<Object> imglists = new ArrayList<Object>(); 

olduğunu bayt şeklinde görüntülerin değerleri ben ArrayList'den belirli bir değer elde ve byte o depolamak çalışıyorum

for (int i=0; i<mPlaylistVideos.size();i++) { 
    holder.mThumbnailImage.buildDrawingCache(); 
    Bitmap bitmap= holder.mThumbnailImage.getDrawingCache(); 
    ByteArrayOutputStream bs = new ByteArrayOutputStream(); 
    bitmap.compress(Bitmap.CompressFormat.JPEG, 50, bs); 
    byte[] rough = bs.toByteArray(); 
    imglists.add(i,rough); 
} 

[] bu ben

yapmaya çalışıyordu budur
byte[] value=imglists.get(2); 

Ben Arraylist

+0

ArrayLIst byte [] ister misiniz? –

+0

Neden ArrayList – Loc

+0

yerine ArrayList tanımlanamıyor Bir java nesnesi bir seri hale getirilebilir. Nesneyi String'e dönüştürebilir ve bundan sonra byte [] öğesine dönüştürebilirsiniz. – AmmY

cevap

4

Ne arıyorsun bir Listbyte[] taşımaktadır ilkel veri türü (yani bayt) desteklemez biliyorum byte [] içine Nesne ArrayList dönüştürmek için herhangi bir tam cevap bulamadık böyle bir şey:

List<byte[]> imglists = new ArrayList<>(); 

Sonra basitçe sonraki add(E) yöntemi kullanarak sizin byte array senin List ekleyebileceğiniz:

imglists.add(bs.toByteArray()); 

Ardından ulaşmak için çalışırken yöntemi get(int) kullanılarak List yılında dizinden belirli bir byte array erişim mümkün olacak:

// Get the 3th element of my list 
byte[] value = imglists.get(2); 
+0

bana bu –

+0

denememe izin verin Teşekkürler Bro bu ne aradığımı tekrar teşekkürler –

0

Bunu [] byte ArrayList dönüştürmek istediğiniz? veya Nesne byte []?

Bu şekilde yazdım, sadece ArrayList öğesindeki öğeyi byte [] olarak dönüştürüyorum, işe yarıyor!

List<Object> objects = new ArrayList<Object>(); 

    objects.add("HelloWorld".getBytes()); 

    byte[] bytes = (byte[]) objects.get(0); 

    System.out.println(new String(bytes)); // HelloWorld