用于获取和解析 xml 的 Android 应用程序

发布于 2024-11-15 10:34:23 字数 971 浏览 0 评论 0原文

我已经为 Android 应用程序编写了用于获取和解析 xml 的代码。但我无法从另一个类调用方法 getfeed()

代码在下面给出的

public class RssReader extends Activity {
    private RssFeed feed =null;
    @Override
    public void onCreate(Bundle icicle) {
        super.onCreate(icicle);
        setContentView(R.layout.main);
        feed=new getFeed(Url);
    }
}

另一个类下面给出

private RssFeed getFeed(String urlToRssFeed)
{
    try
    {
        URL url= new URL(urlToRssFeed);
        SAXParserFactory factory =SAXParserFactory.newInstance();
        SAXParser parser=factory.newSAXParser();
        XMLReader xmlreader=parser.getXMLReader();
        RssHandler theRSSHandler=new RssHandler();
        xmlreader.setContentHandler(theRSSHandler);
        InputSource is=new InputSource(url.openStream());
        xmlreader.parse(is);
        return theRSSHandler.getFeed();
    }
    catch (Exception ee)
    {
        return null;
    }

}

I have written code for Android Application for fetch and parse xml.but i am not able call method getfeed() from another class.

Code is given below

public class RssReader extends Activity {
    private RssFeed feed =null;
    @Override
    public void onCreate(Bundle icicle) {
        super.onCreate(icicle);
        setContentView(R.layout.main);
        feed=new getFeed(Url);
    }
}

another class given below

private RssFeed getFeed(String urlToRssFeed)
{
    try
    {
        URL url= new URL(urlToRssFeed);
        SAXParserFactory factory =SAXParserFactory.newInstance();
        SAXParser parser=factory.newSAXParser();
        XMLReader xmlreader=parser.getXMLReader();
        RssHandler theRSSHandler=new RssHandler();
        xmlreader.setContentHandler(theRSSHandler);
        InputSource is=new InputSource(url.openStream());
        xmlreader.parse(is);
        return theRSSHandler.getFeed();
    }
    catch (Exception ee)
    {
        return null;
    }

}

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

聚集的泪 2024-11-22 10:34:23

如果 getFeed() 在您的 RssFeed 类中(确保它是公共的),则不要使用 feed=new getFeed(Url);,而是使用:

feed = new RssFeed();
feed.getFeed(Url);

您可能想查看此 有关 Android 上 RSS 阅读的问题

If getFeed() is in your class RssFeed (make sure it's public), then instead of feed=new getFeed(Url);, use:

feed = new RssFeed();
feed.getFeed(Url);

You might want to check out this question regarding RSS Reading on Android.

初雪 2024-11-22 10:34:23
  1. getFeed 是一个类吗?如果是,它是否扩展/实现 RssFeed?如果不是,并且它是一个方法,您应该删除 getFeed 前面的 new 运算符,因为它无效。
  2. Url 在哪里定义的?我在列出的代码中没有看到它...
  3. 您希望此 Activity 执行任何操作吗?根据 getFeed(Url) 的作用,您的代码似乎没有执行任何操作(除了可能解析某些 xml,但它对方法输出不执行任何操作)。也许您只是陷入了第一个问题......
  1. Is getFeed a Class? If it is, does it extend/implement RssFeed? If not, and it is a method, you should get rid of the new operator in front of getFeed, because that is not valid.
  2. Where is Url defined? I do not see it in the listed code...
  3. Do you expect this Activity to do anything? Depending on what getFeed(Url) does, your code does not appear to do anything (except maybe parse some xml, but it does nothing with the method output). Perhaps you are just stuck on this first issue though...
花开柳相依 2024-11-22 10:34:23

由于调用方法和方法定义都在不同的类中

private RssFeed getFeed(String urlToRssFeed)

,因此访问说明符是private。私有方法不能在类外部访问。因此将访问说明符更改为 public。

public RssFeed getFeed(String urlToRssFeed) 而不是 private RssFeed getFeed(String urlToRssFeed)

谢谢
迪帕克

As the calling method and method defination both are in different class

private RssFeed getFeed(String urlToRssFeed)

Here the access specifier is private. Private methods cannot be accessed outside the class. so change the access specifer into public.
write
public RssFeed getFeed(String urlToRssFeed) instead of private RssFeed getFeed(String urlToRssFeed)

Thanks
Deepak

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文