如何访问一个文件在处理使用 Android studio

发布时间: 2016/9/26 5:53:23
注意事项: 本文中文内容可能为机器翻译,如要查看英文原文请点击上面连接.

我试图运行内的处理素描我 android application 。 在这张草图,我需要访问 SVG 文件位于我 raw 目录。 我不知道如何访问该文件,即使文件位于"数据"目录就像它如何工作的处理,它根本就不会工作。请检查此示例代码︰

import processing.core.PApplet;
import processing.core.PShape;
import processing.core.PVector;

public class Menu extends PApplet {
    /**************************************************/
    //icon:
    PShape icon;

    /**************************************************/
    public void settings()
    {
        size(displayHeight, displayHeight);
    }
    /**************************************************/
    public void setup()
    {
        icon =  loadShape("menu.svg");  //here is where an error occurs;
    }
    /**************************************************/
    public void draw()
    {
        background(0);
    }
    /**************************************************/

更新

错误消息︰

                                                                --------- 

beginning of crash
09-07 07:36:07.503 2939-2986/letalis.safr.com.letalis E/AndroidRuntime: FATAL EXCEPTION: Animation Thread
                                                                        Process: letalis.safr.com.letalis, PID: 2939
                                                                        java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String processing.data.XML.getString(java.lang.String)' on a null object reference
                                                                            at processing.core.PShapeSVG.<init>(Unknown Source)
                                                                            at processing.core.PShapeSVG.<init>(Unknown Source)
                                                                            at processing.core.PGraphicsAndroid2D.loadShape(Unknown Source)
                                                                            at processing.core.PApplet.loadShape(Unknown Source)
                                                                            at letalis.safr.com.letalis.Esquech_Menu.setup(Esquech_Menu.java:111)
                                                                            at processing.core.PApplet.handleDraw(Unknown Source)
                                                                            at processing.core.PSurfaceNone.callDraw(Unknown Source)
                                                                            at processing.core.PSurfaceNone$AnimationThread.run(Unknown Source)
09-07 07:36:07.578 2939-2952/letalis.safr.com.letalis W/EGL_emulation: eglSurfaceAttrib not implemented
09-07 07:36:07.578 2939-2952/letalis.safr.com.letalis W/OpenGLRenderer: Failed to set EGL_SWAP_BEHAVIOR on surface 0xacb7f860, error=EGL_SUCCESS
09-07 07:36:07.592 2939-2952/letalis.safr.com.letalis E/Surface: getSlotFromBufferLocked: unknown buffer: 0xaebf1150
09-07 07:36:07.734 2939-2952/letalis.safr.com.letalis W/EGL_emulation: eglSurfaceAttrib not implemented
09-07 07:36:07.735 2939-2952/letalis.safr.com.letalis W/OpenGLRenderer: Failed to set EGL_SWAP_BEHAVIOR on surface 0xab2c9da0, error=EGL_SUCCESS
09-07 07:36:07.942 2939-2952/letalis.safr.com.letalis V/RenderScript: 0xa21fe000 Launching thread(s), CPUs 2
09-07 07:36:08.053 2939-2952/letalis.safr.com.letalis E/Surface: getSlotFromBufferLocked: unknown buffer: 0xaebf1230

解决方法 1:

加载 shape 可能不是问题。您的绘制不 SVG shape 屏幕。 menu.svg 应该是在你的项目的根 Menu.pde 在哪里。见下面的截图。我显示 svg 文件所在的位置。

import processing.core.PApplet;
import processing.core.PShape;
import processing.core.PVector;

public class Menu extends PApplet {
    /**************************************************/
    //icon:
    PShape icon;

    /**************************************************/
    public void settings()
    {
        size(400, 400);
    }
    /**************************************************/
    public void setup()
    {
        icon =  loadShape("Ghostscript_Tiger.svg"); 
    }
    /**************************************************/
    public void draw()
    {
        shape(icon, 50, 50, 300, 300);  // need to draw the shape you loaded
    }
    /**************************************************/
}

官方微信
官方QQ群
31647020