Статьи

Создание клиента Twitter для Android: настройка и обзор

Само собой разумеется, что многие люди используют мобильные устройства для подключения к социальным сетям. В этой серии руководств мы создадим базовый клиент Twitter для платформы Android. Мы будем использовать библиотеку Twitter4J для подключения к Twitter. Приложение отобразит домашнюю временную шкалу пользователя, отправит твиты, ретвитит и ответит на твиты.

Вот предварительный просмотр конечного результата:




  1. Создание клиента Twitter для Android: настройка и обзор
  2. Создание клиента Twitter для Android: создание интерфейса
  3. Создание клиента Twitter для Android: создание базы данных временной шкалы
  4. Создание клиента Twitter для Android: получение обновлений с помощью службы
  5. Создание клиента Twitter для Android: твиты, ретвиты и ответы

Прежде чем мы начнем создавать приложение, давайте уделим немного времени тому, что мы пытаемся достичь и как мы это сделаем! Приложение будет включать в себя различные методы и утилиты Java / Android, включая базу данных SQLite, сервис, широковещательный приемник, адаптер и методы Twitter4J.

Когда пользователь запускает приложение в первый раз, ему будет предложено войти в Twitter, чтобы авторизовать приложение для использования его учетной записи. На этом этапе они будут перенаправлены на страницу в веб-браузере, где Twitter будет обрабатывать их вход в систему и авторизацию приложения для доступа. Затем пользователь будет перенаправлен обратно в приложение, а Twitter вернет информацию об авторизации, необходимую для реализации различных функций твита и временной шкалы.

Как только пользователь предоставил приложению разрешение на использование своей учетной записи, и после этого запускается следующее приложение, первое, что он увидит, — это его домашняя временная шкала Twitter (как на рисунке выше). Домашняя временная шкала изначально отображает самые последние твиты, а новые твиты добавляются с течением времени. Пока пользователь взаимодействует с приложением, Служба будет периодически извлекать новые твиты, и код соответствующим образом обновляет отображение временной шкалы.

В каждом твите на временной шкале пользователь сможет увидеть имя пользователя Twitter соответствующей учетной записи, время отправки твита относительно текущего времени, текст в твиттере и изображение значка профиля пользователя. Если в тексте твита есть URL-адреса, приложение автоматически будет обрабатывать их как веб-ссылки, чтобы пользователь мог щелкнуть их, чтобы получить доступ к связанным ресурсам. Пользователь также сможет ретвитить и отвечать на каждый твит на временной шкале.

Чтобы отправить твит, пользователь нажимает кнопку Tweet в верхней части экрана, которая переводит их на экран Tweet Activity. Здесь они могут войти и отправить свой твит. Если пользователь выберет ответ на твит в своей временной шкале, он также будет перенаправлен на экран твитов, при этом имя пользователя автоматически заполняется в текстовом поле твита, а базовый код хранит информацию, необходимую для ответа на конкретный твит.

Это приложение имеет очень специфическую сферу, но как только вы закончите его разработку, вы, конечно, можете улучшить его. В конце последнего урока из этой серии мы рассмотрим некоторые предложения по дальнейшему развитию, такие как Упражнение для просмотра профилей пользователей Twitter. Приложение, которое мы разработаем здесь, позволит пользователю перейти к профилю пользователя Twitter в веб-браузере, выбрав его имя пользователя на временной шкале, со ссылкой на сайт Twitter, чтобы предоставить пользователю доступ к функциям, которые мы не предоставили. в самом приложении.

Клиентское приложение Twitter будет иметь два основных вида деятельности: один для временной шкалы и один для твитов. Когда приложение запускается, оно создает базу данных SQLite для хранения твитов домашней временной шкалы с адаптером, отображающим строки базы данных в представления в пользовательском интерфейсе приложения. Приложение также запустит службу, пока пользователь взаимодействует с ней, обновляя временную шкалу новыми твитами, когда они станут доступны. Для этого приложение будет отправлять и получать широковещательные сообщения после получения новых обновлений, чтобы оно могло обновлять видимые твиты.

Приложение будет содержать только несколько классов, но эти классы относительно сложны. Нам также нужно будет импортировать библиотеку Twitter4J, создавать и ссылаться на различные файлы ресурсов и редактировать манифест проекта. Если это кажется чем-то большим, не волнуйтесь! Мы проработаем и подробно объясним каждый шаг. Давайте настроимся.


Посетите сайт разработчиков Твиттера и войдите, используя свои собственные данные для входа в Twitter, чтобы зарегистрировать свое приложение Создайте новое приложение в интерфейсе, который вы видите там. Введите имя для вашего приложения. Для этой серии уроков приложение будет называться TwitNice, но вам нужно будет выбрать собственное имя. Введите описание и URL-адрес веб-сайта, который может быть просто вашей домашней страницей. Вы можете ввести тот же адрес (или фактически любой свой адрес), что и URL обратного вызова; нам не нужно это для приложения, но вы должны ввести что-то, чтобы завершить регистрацию.


Как только ваше приложение будет создано в интерфейсе Twitter Developer, вы сможете увидеть его детали. Перейдите на вкладку «Настройки» для приложения и прокрутите вниз до раздела «Тип приложения». Выберите «Чтение и запись» или «Чтение, запись и доступ к прямым сообщениям». В этой серии мы не будем получать доступ к прямым сообщениям, но вы можете расширить свое приложение, чтобы сделать это в будущем. Вы можете изменить эти настройки в любое время. Нажмите кнопку внизу страницы, чтобы обновить настройки приложения.


Выберите вкладку Details для вашего приложения Twitter. Эта область содержит детали, которые вы должны будете отметить. В разделе настроек OAuth скопируйте значения Consumer Key и Consumer Secret в файл на вашем компьютере для дальнейшего использования. Они оба должны быть конфиденциальными. Мы будем использовать ключ OAuth и секретный код в коде приложения для выполнения функций Twitter.


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


Время создать свой проект. В Eclipse выберите «Файл», «Новый», «Проект», затем «Android Project». Введите имя своего проекта, нажмите «Далее» и выберите уровень API 8, чтобы убедиться, что код из этой серии руководств не вызовет никаких проблем. Нажмите Next и введите название вашего пакета, затем Finish, чтобы создать новый проект.



Мы будем использовать Twitter4J для взаимодействия с Twitter в приложении. Это включает в себя импорт библиотеки, чтобы мы могли создавать объекты, определенные в ней, а затем использовать эти объекты для вызова методов, необходимых для доступа к Twitter. Посетите сайт Twitter4J и загрузите самую последнюю стабильную версию библиотеки. Как только вы загрузите его, распакуйте zip-файл в папку по выбору в файловой системе на вашем компьютере.

Теперь нам нужно добавить библиотеку Twitter4J в путь сборки вашего приложения. Для этого выберите свой проект в обозревателе пакетов Eclipse, затем выберите меню панели инструментов «Проект», затем «Свойства». Окно свойств должно открыться. Выберите «Путь сборки Java», затем вкладку «Библиотеки».

Чтобы добавить библиотеку Twitter4J в свой проект, выберите «Добавить внешние JAR-файлы», затем перейдите к расположению основного файла JAR для Twitter4J, который в данный момент называется «twitter4j-core-android-2.2.5.jar» и хранится в папка «lib» каталога, который вы распаковали. Для более новых версий библиотеки вам может понадобиться найти немного другой файл JAR, но он должен иметь примерно то же имя. После добавления файла JAR вы увидите его на вкладке «Библиотеки».


Нажмите кнопку ОК, чтобы закрыть окно свойств. В каталоге приложения вы должны увидеть файл JAR в разделе «Библиотеки со ссылками».


Ваше приложение теперь имеет возможность ссылаться и использовать функциональность Twitter4J. Если позже вы решите, что хотите добавить мультимедийные функции, такие как выгрузка изображений, в свое приложение Twitter, вам также необходимо добавить медиа-файл JAR Twitter4J, который находится в том же месте, что и основной JAR-файл.


Чтобы закончить подготовку приложения, давайте отредактируем проект Manifest. Откройте файл Manifest в Eclipse Package Explorer, чтобы увидеть его в редакторе. Переключитесь на вкладку AndroidManifest.xml, чтобы редактировать код напрямую.


Нам нужно внести несколько дополнений и поправок в Манифест, чтобы подготовить приложение. Во-первых, добавьте следующий элемент полномочий в любом месте, если он находится вне всех других элементов, кроме самого корневого элемента манифеста:

1
<uses-permission android:name=»android.permission.INTERNET» />

Это позволяет приложению получать доступ к интернет-ресурсам. В элементе приложения измените основное действие следующим образом:

01
02
03
04
05
06
07
08
09
10
11
12
<activity android:label=»@string/app_name» android:launchMode=»singleInstance» android:name=».TwitNiceActivity» >
    <intent-filter >
        <action android:name=»android.intent.action.MAIN» />
        <category android:name=»android.intent.category.LAUNCHER» />
    </intent-filter>
    <intent-filter >
        <action android:name=»android.intent.action.VIEW» />
        <category android:name=»android.intent.category.DEFAULT» />
        <category android:name=»android.intent.category.BROWSABLE» />
        <data android:scheme=»tnice-android» />
    </intent-filter>
</activity>

В открывшемся теге Activity измените атрибут name в соответствии с именем основного класса Activity, который вы выбрали при создании проекта, или именем по вашему выбору, если вы не получили Eclipse для автоматической генерации вашего основного Activity.

Элементы Intent Filter указывают, что ваша основная активность должна запускаться при запуске приложения и что она сможет открывать веб-браузер, чтобы мы могли зарегистрировать пользователя в Twitter для авторизации.

Обратите внимание на элемент данных в нижней части этого кода. Это также для аутентификации приложения. Вы можете изменить значение атрибута схемы, если хотите, но оно указано в коде приложения, так что имейте это в виду. Неважно, что вы вводите здесь, если это соответствует коду Java, который мы напишем позже.

Наконец, добавьте еще два элемента в свой манифест, внутри элемента приложения, но после закрывающего тега для элемента Activity выше:

1
2
<activity android:name=».NiceTweet» ></activity>
<service android:name=».TimelineService» />

Элемент Activity предназначен для второго экрана приложения, который предназначен для отправки твитов. Мы называем класс Activity «NiceTweet». Если вы хотите присвоить классу другое имя, не стесняйтесь сделать это, помня, что выбранное вами имя класса должно соответствовать этому элементу в манифесте и ссылкам в различных точках Java-кода приложения. Второй элемент для Сервиса, который мы реализуем для получения обновлений Twitter. Опять же, не стесняйтесь менять имя класса, если хотите.


Теперь мы заложили основы для нашего клиента Twitter. В следующем уроке мы рассмотрим, как заставить пользователей войти в Twitter, чтобы приложение получило доступ к своим учетным записям. Когда страница Twitter возвращает пользователя в приложение, мы извлекаем информацию об аутентификации и сохраняем ее в настройках приложения. После этого приложение сможет получать и отображать временную шкалу пользователя, а также отправлять твиты с его учетной записи.

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