【问题标题】:Format/Indent Java code in an Android App [duplicate]在 Android 应用程序中格式化/缩进 Java 代码 [重复]
【发布时间】:2016-02-09 04:42:34
【问题描述】:

我必须在我的 Android APP 中显示 Java 代码 sn-ps。我想要什么:以纯字符串格式将 te sn-p 保存在数据库中。喜欢:

"public class Whatever {public static void main(String[] args) {new Whatever().print(3);}void print (int x){  System.out.println(x); }}"

从数据库导入 sn-p 后,我必须在 Android 屏幕上以格式正确/缩进的方式显示它,就像 StackOverflow 中的这里:

public class Whatever {

    public static void main(String[] args) {
        new Whatever().print(3);
    }

    void print (int x){
        System.out.println(x);
    }    
}

有没有办法在 Android 中做到这一点而无需创建/实现我自己的 Java Code Formatter 算法?


编辑

更多信息:

我只需要格式化代码。我不想要语法高亮,因为我需要一些不依赖于代码编辑器的东西。所以我将从数据库中检索代码并应用格式,它将在任何简单的文本编辑器中运行。

我查看了其他问题,但大多数都需要嵌入一些外部代码或需要一些容器,如 Swing(java-prettify)、WebKit(android-codepad 等)。 Eclipse 有一个code formatter,但它依赖于一个“TextEdit”组件。但我会对其进行测试并尝试从中提取纯文本。

我无法存储使用空格/制表符格式化的源代码,因为大多数时候我不会接触代码。

我需要它识别 java 8 代码块。


编辑

Here 是我将按照答案中的建议尝试的其他一些选项。但大多数都已经过时了。


This 正是我需要的,但我需要免费的:\

【问题讨论】:

  • 我想要更多的代码格式化程序/缩进器,而不是您指出的问题所要求的语法突出显示。
  • 该库的文档表明它是一个“漂亮的打印机”,这通常意味着它也会格式化代码。
  • @DougStevenson 不一样。我需要一个独立的解决方案,我传递未格式化的代码并接收带有格式化代码的字符串,而不需要外部容器/编辑器。

标签: java android string-formatting indentation text-editor


【解决方案1】:

您可以查看This comment。有一些关于满足您需要的库的讨论。

【讨论】:

  • 链接失效!!!
【解决方案2】:

是的,使用 Eclipse 代码格式化程序,可以通过下面的 url 获得示例和 api,您可以使用它们来执行此操作。

http://help.eclipse.org/juno/index.jsp?topic=%2Forg.eclipse.jdt.doc.isv%2Fguide%2Fjdt_api_codeformatter.htm

【讨论】:

  • 您可以分享您对本帖子的疑问。
【解决方案3】:

使用转义码将代码保存到数据库中。 Java 中没有 API 可以自动将应用程序代码格式化为字符串并将其打印到 UI。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-11-23
    • 2015-08-30
    • 2011-07-06
    • 2016-04-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-05
    相关资源
    最近更新 更多