有没有替代javax.swing.text。* for android?

时间:2013-09-12 13:11:00

标签: java android

我是Java / Android的新手,所以请耐心等待。提前谢谢您的时间。我正在编写一个简单的Android应用程序,它将扫描网页的源代码以获取= href链接并返回它们

我已经用Google搜索了大约2天,找不到任何确定的答案,因此我向SO提出了问题。 目前我正在使用以下导入,这些导入是在使用Ctrl-Shift-O

时由eclipse生成的
import javax.swing.text.EditorKit;
import javax.swing.text.SimpleAttributeSet;
import javax.swing.text.html.HTML;
import javax.swing.text.html.HTMLEditorKit;

问题是,当我运行我的Android应用程序时,它会崩溃使用这些库的代码(下面的代码)。

我需要在不使用javax.swing导入的情况下找到一种方法。我已经设法弄清楚android.text.html有一些功能,但不是我需要的。

我是否可以使用任何Android导入来执行以下操作,或者有没有办法让javax.swing.text。*导入与android一起工作?

代码在这里:

 try {  

    URLConnection conn = params[0].openConnection();

    Log.i(DEBUG_TAG, "Code fails here for the new declarations");
    BufferedReader rd = new BufferedReader( new InputStreamReader(conn.getInputStream()));
    EditorKit kit = new HTMLEditorKit();
    HTMLDocument doc = (HTMLDocument) kit.createDefaultDocument();

    kit.read(rd, doc, 0);

    HTMLDocument.Iterator it = doc.getIterator(HTML.Tag.A);


while (it.isValid()) {
            SimpleAttributeSet s = (SimpleAttributeSet) it.getAttributes();
            String link = (String) s.getAttribute(HTML.Attribute.HREF);

            if (link != null) {

              if (link.contains("naruto") && !link.contains("http://mangastream.com")){
                  // find the chapter number / id and print to console

                  String chapterNumber = link.replace("http://readms.com/r/naruto/", "");
                  // System.out.println("Chapter = " + chapterNumber.substring(0,3));
                  // System.out.println("ChapterID = " + chapterNumber.substring(4,8));
                  if (!registeredChapters.containsKey(chapterNumber.substring(0,3))){
                      registeredChapters.put(chapterNumber.substring(0,3),chapterNumber.substring(4,8));                     

                  }
              }      

            }
      it.next();
    }


    //appendToFile("Done with URL processing");
    Log.i(DEBUG_TAG, "Current chapters / id's found: ");

    }

catch (IOException ioe){
    ioe.printStackTrace();
}

catch (Exception e){
    Log.i(DEBUG_TAG, e.getLocalizedMessage());
}

catch (Throwable t){
    Log.i(DEBUG_TAG,t.getClass().getName());
}

1 个答案:

答案 0 :(得分:-1)

  

我正在编写一个简单的Android应用程序,它将扫描网页的源代码以获取= href链接并返回它们

使用HTML解析器解析HTML。

  

目前我正在使用以下导入

其中没有一个是通用HTML解析器。使用HTML解析器来解析HTML。

在主要搜索引擎上搜索java html parser后会出现:

此搜索还会在StackOverflow上显示Java HTML ParsingWhich HTML Parser is the best?以及许多其他资源。