Это была старая версия Talon для Twitter. С тех пор я открыл исходный код версии приложения Material Design. Все будущие взносы будут идти в эту версию. Эту классическую версию следует считать «устаревшей», но проект останется в силе для всех, кто захочет с ней ознакомиться.
Новую версию Talon можно найти здесь: https://github.com/klinker24/talon-twitter-material.
Это полная версия клиента Twitter, которую я создал для Android. Это 100% открытый исходный код, единственное, что вам нужно будет подключить, — это ваши собственные ключи API.
Я написал большую часть этого приложения, когда мне было 19 лет, с одним уроком Java в средней школе и половиной урока в колледже, и это можно заметить в некоторых местах. Я знаю, что это не самый красивый код, который вы когда-либо видели, но он работает, и работает очень хорошо! Так что не судите слишком строго о коде, со временем он определенно стал лучше :)
На данный момент в нем не так уж много комментариев, большую часть из них довольно легко понять, если вы просто покопаетесь некоторое время, но со временем я пройдусь по ним и попытаюсь прокомментировать больше.
В этом приложении есть несколько довольно интересных вещей, не только связанных с Твиттером. Кто-то, посмотрев на это, может получить полное представление о таких вещах, как:
Не стесняйтесь использовать это как ресурс для подобных вещей, это одна из причин, по которой я вообще хотел открыть исходный код. У такого большого проекта есть чему поучиться, и я думаю, что это очень важно в постоянно меняющемся мире Android.
Однако я прошу вас не распространять это приложение ради собственной выгоды. Если вы сделали сборку и хотите поделиться ею с людьми, это здорово, это то, для чего это нужно. Однако не взимайте с них плату за эту сборку. Я потратил тяжелый год на создание этого проекта, и вот о чем я прошу, если вы решите сделать его для себя.
Пожалуйста, не пытайтесь скомпилировать его как сборку ANT. Умоляю вас, просто используйте Android Studio или IntelliJ и скомпилируйте его с помощью Gradle. Это значительно облегчит вашу жизнь, и я не буду отвечать на вопросы о зависимостях и компиляции для Eclipse. Мы потратили много времени на перевод всех наших проектов на Gradle, и я хочу, чтобы он помог некоторым людям.
Чтобы скомпилировать его:
git clone <clone URL>
./gradlew assembleDebug
Чтобы получить ключ Twitter API, выполните следующие действия:
В файле .gitignore
я проигнорировал secrets.properties
, который должен содержать ваши ключи. Идем дальше, копируем файл secrets.properties.sample
в secrets.properties
и заполняем в нем ключи.
Это позволяет мне держать ключи вне контроля версий, но при этом создавать приложение без каких-либо проблем.
Для выпускных сборок добавьте хранилище ключей просто как keystore
в корень проекта, а затем добавьте в корень файл keystore.properties
с помощью (без кавычек вокруг этих строк!):
KEY_SIGNATURE=xxxx
KEY_ALIAS=xxxx
Одна из причин, по которой я решил открыть исходный код, заключалась не только в том, что люди смогут на нем учиться. Мне тоже нужна помощь. Есть вещи, которые я просто не знаю, как сделать лучше. У меня еще нет опыта или знаний, чтобы понять, что с ними не так или почему у некоторых людей они случайно выходят из строя.
Я сделал все, что мог, с этим приложением, но чем больше умов работает над ним, тем лучше. Скорее всего, если вы здесь и действительно читаете файл readme, у вас в любом случае гораздо больше опыта программирования, чем у меня, и вы знаете, как все можно улучшить.
Если вы думаете, что что-то можно сделать лучше, скажите мне. Я не говорю, что соглашусь с вами в этом или что когда-нибудь все будет так, как вы думаете, но спрашивать не повредит.
Больше мне нечего сказать по этому поводу. Я вложил массу времени и усилий в этот проект и искренне надеюсь, что это кому-то поможет. Сделайте прыжок, попробуйте то, чего вы никогда раньше не делали, посмотрите, чему вы можете научиться у меня и моих ошибок.
Дайте мне знать, если у вас есть вопросы, и я отвечу на них в меру своих возможностей.
Спасибо и удачи с Talon!
Люк Клинкер (ведущий разработчик Klinker Apps)
Copyright 2014 Luke Klinker
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.