Ubufundi
A repo containing simple compilable android projects to explain android programming concepts.
What's in here?
The repo contains simple compilable projects that we put together when learning or experimenting on some android concepts and techonologies and we document relevant parts for fast access.
How do I use this?
Scroll down or visit the wiki page : https://github.com/blikoon/Ubufundi/wiki to see what content is covered so far. It is helping our team already and if somebody else finds it helpful, even better!
What have you covered so far?
1.Layouts and Views
1.Working with styles and themes
2.Show your activity fullscreen when necessary
3.Create Layouts in XML and add Views at run time(in Java)
4.Creting Completely custom Views
5.Animating Views
6.Use ObjectAnimator to animate a View
7.Use AnimatorSet to chain animations
8.Animate Layout Changes
9.Custom Layout Animations
10.Target multiple screen sizes with your app
11.Show text over images in appropriate colors.
12.Use RecyclerViews to show subViews in Lists.
13.Notify user of empty data sets(still RecyclerView)
14.Show images in ListViews using CardView and RecyclerView
15.Show Section Headers in RecyclerView
16.Create compound Views(Widgets) from standard views
17.Animate activity transitions per Activity basis
18.Animate activity for entire application
19.Animate Fragment transitions with custom animations
20.Bundle the fragment transition animation into the fragment class
21.Animate Native Fragments transitions( Not fragments from support libs)
22.Implement the Animation logic inside a native fragment subclass.
23.Animate fragment transactions in entire application
24.Apply visual Transformations to child views of ViewGroup
25.A more advanced example of transforming child view of ViewGroups
3.Communications and Networking
1.Basic WebView usage
2.Use the Webview to load local asset files and html formated strings
3.WebView : handle web link click internaly and enable zooming
4.WebView: Intercept link click events and apply your own custom logic
5.Interface between Java code and javascript code in the webview
6.Use Glide to Load Images from the web
7.Use DownloadManager to download large files
8.Use Gson to handle Rest Apis in your App
9.Use Retrofit to Handle REST Apis in your android app
10.Use Retrofit to handle Rest Apis in your App ( Github apis Retrofit Version)
5.Persisting Data
1.Design a Settings or Preference Screen for your app
2.Loading Default Settings and Accessing them Settings in your app
3.House your settings or preferences in PreferenceFragment
4.Displaying Custom Preferences
5.Use SharedPreferences to Persist simple data
6.Reading and writing files on Internal Storage
7.Reading and writing files on external storage
8.Reading from files stored in assets folder
9.Storing data in SQLite Database
10.Backing up and restoring your database
11.Share your database through ContentProviders
12.Share your ContentProviders across apps
I like this and I want to help make it better?
Clone this project, add in your project and a small intuitive doc( Something like this : https://github.com/blikoon/Ubufundi/wiki/Interface-between-Java-code-and-javascript-code-in-the-webview) and send us a pull request.
Found a bug or something wrong?
File a github issue
Contact
If you need one of our Commercial Services then do Contact us otherwise file a github issue or comment on the particular commit relevant to your question and will try to respond in our time.