I have folder with images, but i cant add them to database. They have specific names. App says "AR session failed" This is my code:
public void setupDatabase(Config config, Session session)
{
String filepath = getIntent().getStringExtra("filepath");
Log.d ("AID", "Veriable:" + filepath);
File dir = new File (filepath);
File[] files = dir.listFiles();
AugmentedImageDatabase aid = new AugmentedImageDatabase(session);
for (int i = 0; i < files.length; i++)
{
if (files[i].getName().startsWith("arimage"))
{
String filename = files[i].getName ();
Log.d ("AID", "FileName:" + files[i].getName ());
Bitmap arcontentBitmap =loadAugmentedImage(files[i]);
Log.d ("AID", "Files:" + files[i].getPath ());
String imagename = filename.substring(0, filename.length() - 4);
Log.d ("AID", "NameImage:" + imagename);
aid.addImage(imagename, arcontentBitmap);
}
}
config.setAugmentedImageDatabase(aid);
}
Method loadAugmentedImage
private Bitmap loadAugmentedImage(File file)
{
try (InputStream is = new FileInputStream (file))
{
return BitmapFactory.decodeStream(is);
}
catch (IOException e)
{
Log.e("ImageLoad", "IO Exception", e);
}
return null;
}
I changed a size of buffer from 1024 to 4096 of downloaded file and unzip method. I put a full path of images to my Method loadAugmentedImage.
public void setupDatabase(Config config, Session session)
{
AugmentedImageDatabase aid = new AugmentedImageDatabase(session);
Intent intent = getIntent ();
String filepath = intent.getStringExtra ("filepath");
Log.d ("AID", "Veriable:" + filepath);
File directory = new File (filepath);
File[] files = directory.listFiles ();
Log.d ("AID", "Size: " + files.length);
for (int i = 0; i < files.length; i++)
{
if (files[i].getName().startsWith("arimage"))
{
String filename = files[i].getName ();
Log.d ("AID", "FileName:" + filename);
Bitmap arcontentBitmap = loadAugmentedImage(files[i].getPath ());
Log.d ("AID", "FilePath:" + files[i].getPath ());
Log.d ("AID", "Files:" + files[i].getAbsolutePath ());
String imagename = filename.substring(0, filename.length() - 4);
Log.d ("AID", "NameImage:" + imagename);
aid.addImage(imagename, arcontentBitmap);
}
}
config.setAugmentedImageDatabase(aid);
}
Method loadAugmentedImage
private Bitmap loadAugmentedImage(String file)
{
try (InputStream is = new FileInputStream (file))
{
return BitmapFactory.decodeStream(is);
}
catch (IOException e)
{
Log.e("loadAugmentedImage", "IO Exception", e);
}
return null;
}