Как Google Reader получает каждый объект в канале RSS?

Исключение нулевого указателя - это индикатор того, что вы используете объект, не инициализируя его.

Например, ниже - класс ученика, который будет использовать его в нашем коде.

public class Student {

    private int id;

    public int getId() {
        return this.id;
    }

    public setId(int newId) {
        this.id = newId;
    }
}

Приведенный ниже код дает вам исключение с нулевым указателем.

public class School {

    Student obj_Student;

    public School() {
        try {
            obj_Student.getId();
        }
        catch(Exception e) {
            System.out.println("Null Pointer ");
        }
    }
}

Поскольку вы используете Obj_Student, но вы забыли инициализировать его, как в правильном коде, показанном ниже:

public class School {

    Student obj_Student;

    public School() {
        try {
            obj_Student = new Student();
            obj_Student.setId(12);
            obj_Student.getId();
        }
        catch(Exception e) {
            System.out.println("Null Pointer ");
        }
    }
}
23
задан Laurel 7 June 2016 в 20:25
поделиться

3 ответа

Google следует за одним экземпляром канала для всех его пользователей, таким образом, они отслеживали и хранили статьи Slashdot, например, задолго до того, как любой новый подписчик начинает читать.

, Чтобы сделать то же, необходимо было бы опросить каналы RSS, которые Вы хотите равномерно и храните любые уникальные статьи, которые Вы находите локально.

19
ответ дан scronide 29 November 2019 в 02:22
поделиться

Я просто обнаружил, что, если Вы аутентифицируетесь, можно сделать что-то как:

http://www.google.com/reader/atom/feed/http://rss.slashdot.org/Slashdot/slashdot?n=100

для получения произвольного числа результатов канала.

13
ответ дан Tom Lehman 29 November 2019 в 02:22
поделиться

Они индексировали сеть в течение многих лет и хранят все, что они прибывают. Так момент Вы добавляете, "подписываются на эту" ссылку на Вашу страницу, поисковый робот Google начнет индексировать ту страницу и сохранит ее.

Для RSS они также обладают преимуществом наличия нескольких человек, подписывающихся на тот же канал.

Так для Вашего приложения я предлагаю решить это путем сохранения любых загруженных объектов локально, так, чтобы новый подписался, может вернуться к моменту времени первый пользователь, подписанный на тот канал. Это не даст Вам неограниченный, но со временем это будет давать Вам намного более крупный архив, чем просто 20 последних объектов.

2
ответ дан Jonas Follesø 29 November 2019 в 02:22
поделиться