Skip to main content

First Android Application Released: River Water Level Stations

Update: I gifted this code and basically the entire project with related software tools I had made to my friend who I was trying to start a business with after we decided to stop. The app is still active and available on the market under his account and not “CWSolver” anymore.

A friend and I just finished our first Application targeted for the Android marketplace. The application basically allows the user to monitor the level of rivers in the United States thanks to publicly available data that is updated frequently. This is useful to anyone who does boating among other various activities that have some relation to rivers.

Here is the link to Water Level Stations on the Android market.




Here is our official description:

“Do you fish and hunt? Are you out on the river frequently for business or pleasure? It is important to know what the level and flow of the river is, so you can stay safe and maximize your enjoyment. We have an application tailor made for you.Water Level Stations allows you to monitor the flow and level of water in rivers throughout the United States of America. It is simple and easy to use with automatic GPS location acquisition that will load river stations in your area right after you start up the application. If you are interested in viewing stations in another area, it’s easy to turn off the GPS and select any location with the touch of a finger. Advanced graphing is available for many stations, allowing you to see how the water level has changed over a period of days and will also give you an estimate of where the water level will be in the future if that data is available.”

From a technical standpoint it has these features:

  • Fully multi-threaded, this means when it downloads additional information to create a water level graph it happens outside of the main process.
  • Full GPS capability with code to smartly use what is available to get the most accurate coordinates possible in the least amount of time.
  • Integration with Google maps for displaying of station location as well as selection of custom user defined coordinates.
  • Full screen graph of observed water levels as well as forecast if the data is available.
  • Unit conversion throughout the application (US-Units or Metric).
  • Customized help screen for each application screen.

Here are a few screens from the application.


The application took around 3 months longer than initially planned. We also didn’t realize there are a few competitors with our basic idea, but at this point our application has much more usability and functionality. We will most likely add improvements in the future, but I personally want to make sure the application will be lucrative to spend more time on it that I already have.


Edit: We already had to update the application.

We didn’t have the Google Maps API key set to the production keystore. What needs to be done is:

  • all the terminal command keytool -list -keystore /dir_to_file/keystorefile
  • Where keystorefile is your production key. Take the resulting code that was outputted and input it into the site: http://code.google.com/android/add-ons/google-apis/maps-api-signup.html, which will result in a code that should be placed in your XML layout files for all google map views.
  •  still need to figure out an easy way to get the maps to display for production and testing. There might be a way to link eclipse up with the production key so I can simplify things.


Popular posts from this blog

ChatGPT is a new, and faster, way to do programming!

Currently ChatGPT is in a free “initial research preview” . One of its well known use cases at this point is generating software code. I’ve also just used it to write most of this article… Well, actually a future article about cleaning up SRT subtitle files of their metadata faster than I have been by hand with Notepad++ and its replace functionality. Update: I recorded a screencast of writing the SRT subtitle cleaner application loading and processing portion. I relied heavily on ChatGPT for code. It was a fun process! https://youtu.be/TkEW39OloUA ChatGPT, developed by OpenAI, is a powerful language model that can assist developers in a variety of tasks, including natural language processing and text generation. One such task that ChatGPT can help with is creating an SRT cleaner program. SRT, or SubRip Subtitle, files are commonly used to add subtitles to video files. However, these files can become cluttered with unnecessary information, such as timing lines or blank spaces. To clean...

Theme error in 2010s Android App after AppCompat Migration

I plan on releasing a lot of my old work as GPL open source, but most of it has aged to the point that it no longer functions, or if it does work it’s running in compatibility mode. Basically it’s no longer best practices. Not a good way to start off any new public GPL projects, in my opinion. The current project I’m working on is an Android app that calculates star trails meant to help photographers get or avoid that in their night time photos. For now I’m going to skip some of the import process because I didn’t document it exactly. It’s been mostly trial and error as I poke around Android Studio post import. The Android Studio import process… Removing Admob Google Play code before the project would run at all. After removing dependencies, it kind of worked, but when running it in the emulator it shows a pop-up message saying that the app was developed for an old version of Android. Going through the process of updating code to match current best practices… I had the IDE convert the ...

Printing to file in Linux WINE

I noticed that this post has been sitting as a draft since 2011. At this point I have no idea if it’s useful or what I was even doing, but I might as well make it public in case someone can find it helpful! So I’ve been trying to get one of those PDF print drivers working in WINE without success. I then came upon a process that might work. When printing you need to select the checkbox “Print to file” that creates a .prn file. Just Linux things... I was using a program that only has printing facilities, but I want to export around 100 pages of text and images. Once you have the .prn (postscript) file, you can do any number of things to it. In my case I want the postscript file to be converted to HTML. I am also considering PDF format because that has more conversion options to eventually get me to HTML or plain text. sudo apt-get install cups-pdf Or it looks like that package might have changed to this… sudo apt-get install printer-driver-cups-pdf Where PDFs would be generated in /home/...