[英]Image files under src root folder not present in android build (Codename ONE)
類似於這個問題 ,但是我的問題是圖像存在於Codename ONE模擬器中(圖像可以被加載並正確顯示),但是當我進行android構建並在手機上嘗試時,我得到了java.io.FileNotFoundException
。 根據Shai Almog對上述問題的評論,它應該起作用。
怎么了 文件名必須全部為小寫還是全部為大寫?
(我在這里省略了源代碼,因為這似乎是打包問題而不是代碼本身的問題。)
更新:我嘗試將所有文件名更改為小寫,但無濟於事。
最終,我發現您必須將文件作為資源打開(感謝@ChrisStratton指出正確的方向,而注釋顯然是關於android SDK開發的)。
這有效:
private static Image loadImage(String path) throws IOException {
InputStream in=null;
try {
// works in simulator but not on device:
// in = FileSystemStorage.getInstance().openInputStream(path);
// works on both simulator and device:
in = Display.getInstance().getResourceAsStream(null, path);
return Image.createImage(in);
} finally {
if (in!=null) {
in.close();
}
}
}
您應該使用EncodedImage.create(“ / fileName”)創建圖像,或者最好將其添加到res文件中,在此您可以使用多圖像格式: http : //www.codenameone.com/how-do-i---從資源文件中獲取圖像--- add-multi-image.html
輸入流的方法效率要比我們內部執行的效率稍低。
src目錄中的文件以代號One隱式放置在Android的資產目錄中,因此不需要資產目錄。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.