簡體   English   中英

找不到Android資源異常。 通過字符串指定資源

[英]Android resource not found exception. Specify a resource by string

package com.example.tictactoe3d;

import min3d.core.Object3dContainer;
import min3d.core.RendererActivity;
import min3d.parser.IParser;
import min3d.parser.Parser;

import min3d.vos.Light;

public class MainActivity extends RendererActivity {

    private Object3dContainer objModel;

    @Override
    public void initScene() {

        scene.lights().add(new Light());

        IParser parser = Parser.createParser(Parser.Type.OBJ,getResources(), "res/raw/camaro_obj" , true);
        parser.parse();

        objModel = parser.getParsedObject();
        //objModel.scale().x = objModel.scale().y = objModel.scale().z = .7f;
        scene.addChild(objModel);
    }

    @Override
    public void updateScene() {
        //objModel.rotation().x++;
        //objModel.rotation().z++;
        scene.camera().position.setAll(0,0,5);
    }
}

我在Eclipse ADT的日志中遇到了找不到資源的異常。 我正在使用的min3d庫要求使用字符串訪問資源。 我可以使用具有自動完成功能的R.raw.camaro_obj訪問資源,但是min3d庫希望使用字符串來訪問相同的資源。 我努力了:

"com.example.tictactoe3d:raw/camaro_obj"

"res/raw/camaro_obj"

"raw/camaro_obj"

是否可以通過某種方式通過字符串訪問資源“ res / raw / camaro_obj”?

謝謝...

min3d示例項目中的調用如下所示:

        IParser parser = Parser.createParser(Parser.Type.OBJ,getResources(), "min3d.sampleProject1:raw/test2_obj" , true);

該行實際調用的代碼正在執行此操作:

    public AParser(Resources resources, String resourceID, Boolean generateMipMap)
{
    this();
    this.resources = resources;
    this.resourceID = resourceID;
    if (resourceID.indexOf(":") > -1)
        this.packageID = resourceID.split(":")[0];
    this.generateMipMap = generateMipMap;
}

通常,您不使用字符串,而是通過id訪問它們。 R.raw.camaro_obj將是一個int,您可以通過調用getResources().openRawResources(R.raw.camaro_obj);來獲得輸入流getResources().openRawResources(R.raw.camaro_obj);

編輯:

我做了一些谷歌搜索,這http://androidbook.blogspot.com/2009/08/referring-to-android-resources-using.html可能會有所幫助

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM