The problem Quake-Watch solves
It’s hard to know when an earthquake happens, how far is it and how severe it was to that place in real time. This is where quake watch comes in its a one stop solution for all the news and live updates of all the earthquakes happening around the world, easy to use, real time updates and news instantly on the application along with its location on the maps itslef, it is a great tool to know updates regarding the earthquakes and it's related information. It also provides great user interface along with search and filter options according to magnitude and time.
Challenges we ran into
Challenges ran into:
- fetching data from internet. there are many services like retrofit, volley but we used default AsycTask.
- problem with asynctask is that it is not aware about lifecycle of activity or fragment so, whenever user rotates screen or by any chance onCreate() method triggers it create another instance of asynctask so, we migrated from aynctask to aynctaskloader it is more efficient way to handle these kind of situations.
- Sending latitude and longitude Data to fragments, we all know working with fragments is tired-sum task because of it's lifecycle.
- make round cornered images, believe it or not make round cornered image is not a simple task for this we used library RoundImageView.
- Loading images from url to imageView, firstly we tried loading images directly but it slows down the performance of listView drastically. To solve this issue i used glide library for smooth scrolling and for placeholder for images that are not downloaded for user to see.
- managing menu items on ActionBar when fragment is changed because not every page requires same menu options (it was the hardest task)
- handling swipe Down event for that i have to create custom swipetouchlistener to listen to users swipedown events for dismissing custom dialog boxes.