JNov 2017 – Jan 2018

Group Project

Gihub Repository
My Contribution was developing and designing the backend server and the android app using android studio.


Problem: We don’t have a good estimate of the dog population in Sri Lanka. Having accurate count of dog in Streets is mandatory for population control strategies. Furthermore stray dogs in Sri Lanka comprise of dogs owned dogs, community dogs and without owners. Estimating these groups are also required for dog population control work. Concept: Is to Develop an Application to be used for dog counting where both dogs living in house and in streets can be reported. Task: To develop an application that can be used in mobile devices that have features to report and record information of dogs and their closes location with GPS coordinate information. Client: Dr Eranda Rajapaksha (BVSc, MS, PhD, DACVB, DACAW) Senior Lecturer, Department of Veterinary Clinical Science, Faculty of Veterinary Medicine and Animal Science, University of Peradeniya,

Project Decription

We developed the mobile application for only android platform. We used android studio to develop and java and xml was the languages we used. As according to statistics, majority of mobile phone users of Sri Lanka use android phones other than other platfor ms. So the platform we choose was android. Also easiness in developing in android was also a reason. The flow of the operation when a user add a dog was made and the software was developed accordingly.

  1. User starts the app.
  2. Click to get location - GPS location is received.
  3. Click to take a photo using camera or gallery.
  4. Choose colors of the dog from list
  5. Choose whether the dog is stray or not.
  6. Choose whether the dog is a puppy or not.
  7. Click to submit - photo uploading finishes
  8. User get suggestions of close dogs around the location submitted with their images and three options to choose saying that the dog is same dog, may be and not same. (The suggestions are the dogs in database with location inside 1km x 1km square with current location at center)
  9. User responds to suggestions.
  10. Dog adding process finishes and a thanking screen is shown.


Location is needed with a good accuracy for a dog to be inserted. So we had to use only GPS provider to get location. But it take few much time for first GPS location fix to arrive. Network provider provide location based on towers quickly than GPS, but not accurate. As we need accuracy much we used GPS for the location provider.

But when the GPS listener is on, there is a high battery drain. To avoid that we start the listener, listen for a fixed number of location fixes, get the most accurate out of t hose and close the listener.

GPS locations are followed by an accuracy in meters. It is radial type one. That says that a circle around the location with radius equal to accuracy in meters will have the real position inside the circle and the probability o f having it there is 68%.

Also it was implemented to sign up to the service using the app for any user. He must provide user name, email and enter a password submit. Then the server will send an email to the user with a verification code, The app will ask for it and once you provide it you are registered and suitable to contribute.

User can log in once and the user details are kept in shared preferences and unless he logout he needs not log in again when opening the app. That means logged - in feature is ava ilable in the app.

User can add a photo using either camera or gallery. User must choose color of dog out of colors white, brown, black and gray. Also few other details. (Stray/not, puppy/not)

Another important feature is suggestions. It reduces the risk of having duplicate dogs added to system. (only reduce, not prevent)

The mobile app has been made to be a user friendly one. Nice colors and shapes.

Front end web app is to be used by administrators to view results. It shows dog counts in different ,111.11 categories and also total dogs can be viewed in a map.

The assumption related to GPS coordinates and distances is 111,111.11 m is equal to 1 degree latitude, and 111,111.111 cos (latitude) is equal to 1 degree longitude. This was needed when getting suggestions because the suggestions are chosen from a square of 1 km side, around the location of added dog. Also it check whether the color code matches and details of dog matches.


Following is the logging screen of the app , signup screen and verify screen

test result

Following is the navigation bar and contribute main screen

test result

Following is adding image, details and suggestion screen

test result

Following is Thanks activity and user profile

test result

The accuracy of the GPS location was between 7.5 m and 3.9 m as checked from Sony Experia E4g


Project Report