Project Name | Stars | Downloads | Repos Using This | Packages Using This | Most Recent Commit | Total Releases | Latest Release | Open Issues | License | Language |
---|---|---|---|---|---|---|---|---|---|---|
Ultimateandroidreference | 7,693 | 8 months ago | 15 | apache-2.0 | Java | |||||
:rocket: Ultimate Android Reference - Your Road to Become a Better Android Developer | ||||||||||
Shitter | 176 | a day ago | 4 | apache-2.0 | Java | |||||
Lightweight Android app for Twitter/Mastodon | ||||||||||
Twitlatte | 100 | 2 months ago | 40 | apache-2.0 | Kotlin | |||||
Twitter and Mastodon client for Android | ||||||||||
Photosearcher | 32 | 8 years ago | apache-2.0 | Java | ||||||
Android App to search & fav photos | ||||||||||
Summary | 22 | 2 years ago | 1 | |||||||
Contact Tracing Apps - Summary | ||||||||||
Android Youtube Downloader | 17 | 10 months ago | gpl-3.0 | Java | ||||||
This is an android video downloader which is availaible for many websites ( including Youtube, Facebook, Twitter, Twitch, TikTok). It's a yt-dlp and pytube adaptation for android 8 and more. | ||||||||||
Shareintent | 10 | 7 years ago | Java | |||||||
Share links, app's, text and others from your android APP for any app ( WhatsApp , Facebook , Twitter, Snapchat , among others) | ||||||||||
Applaud Tmt5p1 Oauth Twitter | 8 | 12 years ago | JavaScript | |||||||
Sample PhoneGap Android app using OAuth 1.0a, Twitter and non-PIN method | ||||||||||
Openfeed | 6 | 8 years ago | mit | Java | ||||||
OpenFeed Android App | ||||||||||
Twitter Helper | 4 | 6 years ago | apache-2.0 | Java | ||||||
A helper library that helps making twitter integration easy |
The goal of this project is to provide a hand-picked collection of Android libraries, tools, open-source projects, books, blogs, tutorials - you name it.
This project will try to showcase only the best, most popular and well-tested resources that you will actually need and find useful rather than overwhelming you with a plethora of low-quality ones.
Happy learning. 👍
This project is open to all kinds of contribution in all of its categories. Together, we can make it the ultimate Android reference available for free, for everyone, forever.
For resource contribution, just follow the following format: [reference-name](link) - Description
, and raise a Pull Request. If you want to contribute multiple resources, raise separate PRs for each of them. Please consider adding resources maintaining the default sorting order of the category, like alphabetical sorting.
If you have any suggestion for including more categories, feel free to open a Github issue for us to have more discussion on it. Please DO NOT contribute low-quality, spammy or self-promotional stuff. Let's keep this project clean and useful.
If you feel that a particular resource(s) listed here is not a good fit for this project and should be removed, feel free to let me know by opening an issue.
These are some of the best and the most popular libraries and utilities to boost up your Android development. This list is divided into several essential categories and only includes resources which have been battle-tested by a variety of developers over a long time.
There are lots of open-source apps available in the Android community for developers to learn from, but it becomes very difficult to find the ones which are actually worth your time and can help you learn a lot of things. This list (loosely categorized on the basis of your Android skills) can help you find the resource you always wanted.
"A craftsman is only as good as his tools" - to level up your Android development workflow you need to have the right tools always ready in your toolbox. This list is here to provide you with hand-picked tools to significantly improve your Android development life.
Kotlin, the new statically-typed programming language from JetBrains aims to make Android app development fun and enjoyable once again. It's like Java on steroids. Here is a list of some cool Kotlin resources for you to get started.
IDE shortcuts can really make your development workflow fast and smooth and Android Studio shines perfectly in this aspect. Ideally, you should make it a habit to not pick up the mouse to perform most of your actions and slowly migrate towards a mouseless-workflow. Here are some of the most useful shortcuts for you to get started.
(Currently, only Mac shortcuts are available. Windows and Linux shortcuts coming soon.)
Never-ever-ever forget these shortcuts.
Description | Shortcut |
---|---|
Find everything (like files, classes, symbols, etc.) | Shift + Shift |
Show a list of automatic fixes and IDE suggestions at the cursor | Option + Enter |
Rename all copies of the variable/method/class at the cursor | Shift + F6 |
List all usages of the variable/method/class at the cursor | Command + Option + F7 |
Generate code (like getters, setters, constructors, method overrides) | Command + N |
Search for any action in Android Studio | Command + Shift + A |
Find text occurencesin the current file (Enter = cycle through results, Esc. = cancel) | Command + F |
Show the list of recently used files in the IDE | Command + E |
Run the app or test | Control + R |
You will surely need these quite often.
Description | Shortcut |
---|---|
Search for and open any file by name | Command + Shift + O |
Move a piece of code in upward/downward direction | Command + Shift + Up/Down |
View javadoc of symbol at cursor in pop-up | F1 |
View definition of method at cursor in pop-up | Command + Y |
Search for and list any occurrences of text | Command + Shift + F |
Comment/Uncomment all selected lines (also works in xml files) | Command + / |
Show available parameters for current method (must be inside parentheses) | Command + P |
Format code to match Android Studio's default style | Command + Option + L |
Delete a complete line at one go | Command + Delete |
Navigate through classes and methods | Command + Left Click |
These can help you level up your development workflow.
Description | Shortcut |
---|---|
Go to next highlighted error in current file | F2 |
Go to the declaration of the variable/method/class at cursor | Command + B |
Go to given line number in current file | Command + L |
Duplicate current line | Command + D |
Search for and go to any symbol (incl. variables and methods) | Command + Option + O |
Show class structure in pop-up | Command + F12 |
List recently edited files in pop-up | Command + Shift + E |
View full refactor menu | Control + T |
Collapse/expand all code blocks | Command + Shift + +/- |
Collapse/expand individual code block | Command + +/- |
Insert new line below current cursor position | Shift + Enter |
Complete statement (add braces, parentheses, semi-colon) | Command + Shift + Enter |
Just like shortcuts, Live Templates can make your life a lot easier by generating tons of boring boilerplate code in a jiffy. Android Studio comes pre-loaded with a lot of these templates and here is a collection of some of the best ones for you to get started.
Toast
- Creates a new Toast.makeText(context, "", Toast.LENGTH_SHORT).show();
toastnewInstance
- Generates the static newInstance
factory method in a Fragment with argumentsnoInstance
- Generates a private empty constructor to prevent instance creationViewConstructors
- Generates the view constructorsParcelable
- Generates the boilerplate code for Pacelable implementationfbc
- Generates the findViewById
code with the appropriate castconst
- Generates a constant according to Android's coding conventionslogd
- Generates Log.d(TAG, "");
log. Check the other variants as welllogm
- Generates a log with the current method name and its argumentslogr
- Generates a log result of the current methodpsf
- Generates the boilerplate public static final
. Also check psfi
and psfs
key
- Generates the key constant for a Bundlesout
- Prints a string to System.out
. Also check soutm
and soutp
visible
- Sets a view's visibility to VISIBLEgone
- Sets view's visibility to GONEtodo
- Adds a TODO comment. Also check stopship
Can't get enough of Live Templates? Here is a huge repository of lots of custom Live Templates for you to get your hands on.
If you want to keep yourself updated with all the latest Android development news, articles and tutorials then these are some of the best sites in the Internet where the good Androidy-things happen all the time.
"Books are gifts that you can open again and again" - here is a curated list of some of the best books that can help you sharpen your Android, Java and overall programming skills. Pick one of them and just start reading.
Not too fond of reading books or blogs? You should definately try listening to some of these podcasts in your free time, while driving, cooking or doing the dishes.
If you want to get started with something quick-and-dirty, then sample projects are something which can help you a lot in understanding the concepts and technicalities in almost no time.
Love learning from videos? Don't worry, we have got you covered. This list contains some of the most useful and informative video tutorials to boost up your Android development skills to the next level.
If you are somebody who loves to engage with other fellow developers and surround yourself with all the latest news, ideas and happenings, then this list is just for you. Start following some of the best and most active Android and Java developers on Twitter.
If you aspire to develop amazing games for the Android platform, we haven't forgotten about you. Here are some of the best resources which can help you in kickstarting your Android game development career.
If you found this project useful, then please consider giving it a ⭐️ on Github and sharing it with your friends via social media.
Android & Backend Developer. Blogger. Designer. Fitness Enthusiast.
Copyright 2017 aritraroy
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.