0

我想创建一个活动,您可以在其中插入/删除/移动/连接彼此之间的节点,并基于它们生成一个字符串值,该字符串值稍后将通过蓝牙发送到其他设备。

这样的东西

结果字符串应如下所示:

`"do[i<0-2>]:
{case[i]:
{0:"Hello ",1:"World",2:"!"}
}"

我的问题是我不知道如何开始创建将放置节点的视图以及节点本身

我认为“工作区”应该只是一个简单的空视图,您可以在其中平移和放大/缩小

但是对于节点我不知道从哪里开始,因为它们需要能够有多个输入/输出......也许我需要创建一个自定义 veiw/组件,但就像我说的 :( 我不知道如何开始

我在这里先向您的帮助表示感谢!

编辑:我决定使用 Google 的 Blockly 来生成字符串,我已经按照生成字符串所需的方式自定义了块,但我不知道如何将“代码”生成为字符串,所以我可以稍后使用它...有人有想法吗?

4

1 回答 1

0

Blockly for Android 使用 aCodeGenerationRequest.CodeGeneratorCallback将代码字符串传递回应用程序。

TurtleActivity看这个例子:

private final CodeGenerationRequest.CodeGeneratorCallback mCodeGeneratorCallback =
        new CodeGenerationRequest.CodeGeneratorCallback() {
            @Override
            public void onFinishCodeGeneration(final String generatedCode) {
                // Sample callback.
                Log.i(TAG, "generatedCode:\n" + generatedCode);
                Toast.makeText(getApplicationContext(), generatedCode,
                        Toast.LENGTH_LONG).show();
                mHandler.post(new Runnable() {
                    @Override
                    public void run() {
                        String encoded = "Turtle.execute("
                                + JavascriptUtil.makeJsString(generatedCode) + ")";
                        mTurtleWebview.loadUrl("javascript:" + encoded);
                    }
                });
            }
        };
于 2017-04-19T21:28:02.650 回答