Fu Gong Mental Health
Creating a content provider is no easy feat, and it has many components. Many developers have struggled with this, so naturally, someone created a library to simplify this process. Check out Schematic for an example of such a library.
Loading images over the network is a challenge since it depends heavily on network availability and consumes a lot of battery. There are many libraries that help with this, including robust features such as caching, configured timeouts and more. See Picasso for an example of such a library.
Barcode scanning is a feature that is available in many different applications, so that should give you a hint that there are libraries that help with that. The Google Mobile Vision library includes API’s for scanning barcodes.
Complex logging needs can also be addressed using Libraries. The default logger falls short if you need to modify what kind of things you need displayed in the debugger depending on what version of your app is Running. Timber includes this, and many more features.
Updated on 6th November 2016
Following my previous post on Android libraries that developers should have, I have decided to share the development applications and frameworks, as well as the IDEs, I have on my computer that I feel other developers should have kept up-to-date with them. Of course nothing is absolute and you are free to recommend your favourites in the comments section. So here’s my list in alphabetical order:
- Android Studio: de facto as it is better than using the eclipse plugin now
- Bootstrap: SASS/SCSS web front-end
- Brackets: editor for text/html
- Dash: an offline API documentation reader for all the libraries available
- Express/Loopback: frameworks for Node.js
- Firebase: mobile backend
- Google App Engine/Ninja Web Framework: for building Java web applications
Google Web Designer/Starter Kit: for building HTML5 web pages
- H2/MySQL/MongoDB/Redis/SQLite: different databases for different purposes
- Hazelcast: for in-memory distributed caching
- Jaspersoft Studio: for creating reports in Java
- Momentics: for native BlackBerry apps
- OpenShift/Laravel: for building PHP web applications
- PhoneGap: for cross-platform mobile web apps
- R: for data analysis
- SourceTree: for Git and Mercurial repositories
- Vagrant/Docker: for setting up development environments
There are others that are just simply great to have:
This blog post is written in response to the Top 5 Android libraries every Android developer should know about by Dario Penić. He gave 5 libraries for features that every Java developer, not just Android developers, should import into his/her applications to ease development. However, I want to make some modifications to his list to suit my own and include one or two libraries which others may find more to their styles or needs.
- Gson – Passing information between clients and servers using JSON is kind of the standard now and Gson is just the library to convert Java Objects into their JSON representation.
- Retrofit – If you are dealing with REST API, this library will turn it into a Java interface for calling with parameters filled.
- Otto – I find Otto slightly easier to use than EventBus recommended by Dario and since it is by the developers of Retrofit too, it makes it easier to ask questions as a whole when needed.
- Realm – I list Realm, a database ORM, here even though it is an iOS library is because the developers said they are launching the Android version soon. So for developers building on both platforms, they may not have to learn an additional API.
- Picasso – Even though Dario said that Picasso lacks customisation that Universal Image Loader provides, I don’t find it a deterrent as I don’t think most developers will need that. Besides, Picasso comes from the same developers as Retrofit and Otto and I like my libraries to be from the same family. Makes it easier to deal with them.
I have bought the ASUS WL-330NUL, a wireless-N150 combo USB adapter, for a long while now and I had not get it to work with my MacBook Pro… …until now. The manual doesn’t illustrate fully some of the alternative steps and I am recording what I have done, in proper sequence, to make it connect to my ASUS RT-AC68U dual-band wireless-AC1900 gigabit router.
- Download WL-330NUL manual and scroll to the section for MAC OS X users, specifically Mode 4.
- For Yosemite, you need to update the adapter’s firmware. Log into the adapter from another computer using the instructions given in the manual and update the firmware downloaded.
- Connect the adapter to your MacBook and log into it via the new url http://router.asus.com.
- My router is set up with mac address filter for security so in the adapter under the “MAC Clone” tab, clone the mac address. It should show the mac address of the adapter in the text field and add it to the router’s filter list.
- Save all settings.
- Under the “WAN” tab, scan for your router’s SSID and connect to it. A prompt would ask for your router network’s passkey. Fill that in and save.
You should be able to surf the internet now and this mode is particularly useful for my case where my laptop’s built-in wireless is faulty.