Skip to content

marco-magdy/TwitterClientExample

Repository files navigation

TwitterClientExample

Twitter Client is an android application using fabric platform “Twitter Kit”, to interact with twitter SDK.

Features:

  • Login to the app using Twitter authentication.
  • Enables multiple accounts
  • Get user followers in a list that contains profile image, full name and bio, with the advantages of pull to refresh and endless scrolling.
  • Display logged in user followers “online and offline mode”
  • Display follower tweets, profile image and background banner in a sticky header.
  • Localization(Arabic and English)

Screens

1. Splash Screen

Starting screen that contains an image view with frequently fade-in and fade-out animation.

2.Login Screen

Contains a login button, when the user click this button a web page is opened and ask the user to grant authentication for the application,

3.Followers List screen

Contains a list of user followers ,pull to refresh and endless scroll view for loading more users.

If the network unavailable, then the list displays the already cached data.

It also contains a drop down menu that show multi-accounts that they already saved on the settings, when the user choose any of these accounts, the page will reload and show the followers corresponding to the selected account. The user can also logout from the account.

4.Follower information screen

This screen displays profile image and background image of a previously selected follower from the followers list", it also displays the last 10 tweets of that user

It contains a sticky header for the user background, when the user scroll the screen, the background should still stick to the top of the screen and stretch.

5. Multi-Language

The application supports multi-language (English, Arabic) and RTL Support

Libraries and frameworks:

1. Fabric framework

Fabric is a platform that helps your mobile team build better apps, understand your users in real time, and grow your business based on analytics. It is not supported for iOS, Android, tvOS, Unity platforms.

2. Universal Image Loader

Universal Image Loader is an smart and powerful library that helps in loading, caching and displaying images on Android. This means, using this library you can download remote images and display on ImageView.

Universal Image Loader Features:

  • Asynchronous and multi-threaded image loading. This allows you to download multiple images Asynchronously.
  • Supports various configurations that helps to tune for your requirement. With this you can control memory, cache type, decoder, display image options, etc.
  • Possibility of image caching in memory and/or on device’s file system (or SD card)
  • Possibility to “listen” loading process. Allows various callback methods using which you will get to know the progress/state of your download request.

3. Retrofit 2.0

Retrofit is a REST Client for Android and Java by Square. It makes it relatively easy to retrieve and upload JSON (or other structured data) via a REST based webservice. Retrofit can be configured with converter is used for its data serialization. Typically for JSON you use GSon, but you can add custom converters to process XML or other protocols. Retrofit uses the OkHttp library for HTTP requests.

Design patterns:

  1. Dependency injection.
  2. Adapter.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages