在Android应用程序中格式化/缩进Java代码

时间:2016-02-09 04:42:35

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

我必须在我的Android APP中显示Java代码片段。我想要的:以纯String格式在数据库中保存te片段。像:

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

从数据库导入代码片段后,我必须在Android屏幕上显示格式良好/缩进,就像在StackOverflow中一样:

public class Whatever {

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

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

有没有办法在没有创建/实现我自己的Java Code Formatter算法的情况下在Android中执行此操作?

修改

更多信息:

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

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

我无法存储使用空格/制表符格式化的源代码,因为大部分时间我都不会触及代码。

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

修改

Here是我将在回答中尝试的其他一些选项。但大多数都已过时了。

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

3 个答案:

答案 0 :(得分:1)

您可以查看This comment。有一些关于图书馆的讨论可满足您的需求。

答案 1 :(得分:1)

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

答案 2 :(得分:1)

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

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