Working with SQLite Database (CRUD operations) in Android

We’ve covered data storage options like SharedPreferences and Internal/External Storage before. It’s time to look at another option which is basically SQLite databases. Most data-driven Android applications will need a solution to store structured (relational) data. If that’s the case then SQLite is an amazing option that Android supports out of the box. The SQLite database management classes/APIs are available in the android.database.sqlite package. We’ll learn how to create an SQLite database and then save data into it as well as retrieve, modify and delete data.

Continue reading “Working with SQLite Database (CRUD operations) in Android”

Understanding Android Started and Bound Services

In Android, a Service is an application component that can perform long-running operations in the background on the UI thread. By background, it means that it doesn’t have a user interface. A Service runs on the main thread of the calling Component’s process by default (and hence can degrade responsiveness and cause ANRs), hence you should create a new Thread to perform long running operations. A Service can also be made to run in a completely different process.

Continue reading “Understanding Android Started and Bound Services”

Android Interprocess Communication (IPC) with Messenger (Remote Bound Services)

Interprocess Communication is the communication of threads across process boundaries. This type of communication is supported through the binder framework in Android. In the article on Services earlier, we discussed Bound Services that has a client-server interface. A bound service is the server which allows clients (components such as activities) to bind to the Service and then send requests and receive responses. The code we discussed works across threads in the same process but will fail in the case of remote services where the Service is running in a different process altogether.

Continue reading “Android Interprocess Communication (IPC) with Messenger (Remote Bound Services)”

Android ListView (Scrolling ViewGroup) Hide/Disable Scrollbars

In Android, if you’ve ever wanted to sort of disable the scrollbars of a scrolling ViewGroup like a ListView, GridView, ScrollView, etc. then there are a few tricks to do that. I’ve tried to compile a set of such tricks to disable (or just hide) scrollbars for such scrolling View Groups.

Continue reading “Android ListView (Scrolling ViewGroup) Hide/Disable Scrollbars”

Android Scroll to Top of ScrollView with ListView and Other Child Views (Initial Jump Issue)

In my Android app, I was working in an Activity where I had a ScrollView containing a LinearLayout (could be a RelativeLayout too though) that had a few Views at the top followed by a ListView in the end that was long enough to move out of the bottom edge and add scrollbars to itself. Since I’d set a height to the ListView the ScrollView gained it’s vertical scrollbars.

Continue reading “Android Scroll to Top of ScrollView with ListView and Other Child Views (Initial Jump Issue)”

Android Contain ListView (Without Scrollbars) In a ScrollView With Other Views

When a ListView is put inside a ScrollView with (or without) other views it takes as much space is available in the ScrollView. So let’s say there are three elements like this:

Continue reading “Android Contain ListView (Without Scrollbars) In a ScrollView With Other Views”

Android Push Notifications with Parse.com

Update: Parse is shutting down. So you should start migrating.

If you want to send messages upstream and downstream from your Parse backend to your app and vice-versa then thankfully Parse does allow you to do that. Parse allows you to send unlimited push notifications to 1 million unique recipients (devices). Then they charge $0.05 per 1000 recipients extra. That’s awesome!

Continue reading “Android Push Notifications with Parse.com”