Autore Topic: Immagini non visualizzate  (Letto 583 volte)

Offline emaborsa

  • Utente normale
  • ***
  • Post: 274
  • Java Developer
  • Respect: +33
    • Google+
    • emaborsa
    • Mostra profilo
    • www.emaborsa.com
  • Dispositivo Android:
    Samsung Galaxy S2
  • Sistema operativo:
    Linux 10 - Win8.1 - Android 4.1.2
Immagini non visualizzate
« il: 16 Maggio 2011, 23:04:05 CEST »
0
Sto sviluppando in Eclipse, ho un aliberia nativa che richiama dei byte[] da un database usando classi C++. Nella parte Java ho scritto il seguente codice:

Codice: [Seleziona]
ImageView imageItem1 = (ImageView) findViewById(R.id.imageItem1);
                byte[] pictureItem1 = getImageItem1();
                Bitmap bitmapItem1 = BitmapFactory.decodeByteArray(pictureItem1, 0, pictureItem1.length);
                imageItem1.setImageBitmap(bitmapItem1);
                imageItem1.setOnClickListener(this);

Questa operazione viene fatta per 6 volte per creare un activity. Nel database ci sono un'ottantina di immagini, tutte jpg e tutte grandi uguali. Alcune di queste però non vengono visualizzate, e sono sempre le stesse. La cosa strana è che ho usato lo stesso database in QT, e li non ho avuto problemi. Dove potrebbe essere il problema?


EDIT:

Anzi, ho scoperto addirittura che non centra quale immagine. A volte le mostra e a volte no. Per esempio ho l'immagine di una chiave, a volte viene visualizzata, a volte no. Forse qualcose nella JNI? Code:
Codice: [Seleziona]
JNIEXPORT jbyteArray JNICALL Java_com_tamagotchi_ItemShop_getImageItem5(JNIEnv *env, jobject){
int size = item1->getPictureSize();
unsigned char* picture = item5->getpictureInArray();
jbyteArray result = env->NewByteArray(size);
size_t i;

for (i=0; i < size; ++i)
{
jbyte n = (signed char)picture[i];
env->SetByteArrayRegion(result, i,1, &n );
}

return result;
}
« Ultima modifica: 16 Maggio 2011, 23:19:15 CEST da emaborsa »