As much as I enjoy the accomplishment, the journey has been the most important part. From reading the specification to receiving the code review, the last two months have been a great experience. The finished project isn't just a completed app, but a culmination of technical skills that demonstrate the Android framework, and what its developers, can do. This post showcases a few of the more interesting aspects of the Popular Movies app, how I chose to implement them, and the challenges faced along the way.
The User Interface
According to the specification, the project displays a grid of posters for movies that are currently popular or highly rated among viewers. Tapping on a movie shows a screen that includes details such as release data, average rating, trailers, and reviews. There's also an option to mark a movie as a "favorite" for offline viewing.
When looking for movies, people are generally searching for a specific type, so in addition to the options to view "popular" and "top rated" movies, I also allow users to filter by genre. The number of available genres wouldn't be suitable for a tab-based layout or a spinner, so the filtering options are shown in a navigation drawer.
![]() |
Genres can be selected from the navigation drawer. |
The actual movies themselves were displayed without borders, in a GridView. The image thumbnails also have text containing the movie's title.
The details page is where things get interesting. It primarily consists of LinearLayouts and is designed for vertical scrolling. For version 2 of the project, I was required to display trailers and reviews for the selected movie. Although the built-in views are suitable for displaying this data, reusing multiple views would make the coding process much easier. For this reason, I created a compound view by subclassing view groups. Doing so allowed the reuse of multiple views, simplifying the code, without compromising the visual appearance.
![]() |
Custom views for trailers and reviews. |
The Data Model
Data for the app is supplied by The Movie Database API. While I initially used standard HttpUrlConnections for version 1 of the project, part 2 demanded more requests than simply fetching movies. The first code review suggested I try the Retrofit library to help with networking, but because of its simplicity, I opted to use Volley for this project instead.
The data model was another important aspect of the user experience. By tapping the "favorite" button, movies would be saved to the device storage for offline viewing.
Although the requirements only asked for the movie data to be stored, I thought it would be the best experience to also persist trailers and reviews. That way, this information would still be available if the connection was offline, since no additional downloads would be required.
Each movie can have multiple trailers and multiple reviews, so this task is best solved with a relational database. Knowing the difficulty of working with raw SQLite, I decided to implement the data model using GreenDAO. The library had a few nuances making it more difficult to work with than my previous experience with Apple's Core Data, but it did its job well. I'm glad I gave it a try, though I intend to try out other ORM solutions before recommending its use.
The Challenges
Tackling a project of this scale is a challenge of its own, but there were a few specific challenges that I faced when building the app.
Because of the way Android manages the lifecycle of activities and fragments, they can be destroyed and recreated several times during the lifetime of an app. Events like rotating the device or moving an app to the background can cause these changes in the activity's lifecycle. As a result, it's important for developers to save and restore the UI state.
Doing so is a straightforward process but it's important to get it right. Because the app makes use of custom views, restoring these views' state is an added challenge. Saving and restoring each fragment can be tedious at times, but it's definitely worth it to provide the best user experience.
Another consideration in producing a quality app is handling edge cases. Because I wanted to persist movies and trailers along with the movie data, the potential for additional bugs was introduced. For example, a user could mark a movie as a "favorite" before the movies and trailers are downloaded. If the network were to go down before these downloads complete, the app would need to remember to download this data next time the network is available. These scenarios don't always happen, but when they do, a high quality app should handle them accordingly.
A final challenge involved adapting the UI for tablets with the master-detail flow. The two pane layout works well in landscape but most tablets in portrait mode don't have enough screen space. For the alternate, portrait mode layout, I took a less conventional approach, displaying the detail view as a popover. Perhaps it won't be the next UI design craze, though I still think it's an interesting solution to for two-pane layouts in portrait mode. Implementing it this way, the detail fragment can be reused across orientation changes, since it won't be tied to a separate activity like in the phone layout.
![]() |
The details page on a tablet in portrait mode. |
Overall it was an incredible learning experience and the end product turned out great. In just 2 months, the great folks at Udacity took me from no Java knowledge to building a polished Android app. It's been an excellent journey so far and I can't wait to see what comes next.
This comment has been removed by a blog administrator.
ReplyDeleteHey, that's a nice post. Good work :)
ReplyDeleteThanks for sharing nice information with us. i like your post and all you share with us is uptodate and quite informative, i would like to bookmark the page so i can come here again to read you, as you have done a wonderful job. DVD
ReplyDeleteI haven’t any word to appreciate this post.....Really i am impressed from this post....the person who create this post it was a great human..thanks for shared this with us. Tech Tricks
ReplyDeleteI am happy to find this post very useful for me, as it contains lot of information. I always prefer to read the quality content and this thing I found in you post. Thanks for sharing. UC mini for android
ReplyDeleteI am happy to find this post very useful for me, as it contains lot of information. I always prefer to read the quality content and this thing I found in you post. Thanks for sharing. Download 9apps
ReplyDeleteI appreciated your work very thanks free movies
ReplyDeleteI recently found many useful information in your website especially this blog page. Among the lots of comments on your articles. Thanks for sharing.
ReplyDeleteAllucfree
I appreciated your work very thanks megashare9 HD free movies online
ReplyDeleteThe blog is a spotlight for individuals, A blog that is so pure, lucky to read it.
ReplyDeleteholm law group san diego
Thank you for taking the time to publish this information very useful! free movies online hd
ReplyDeleteThank you a bunch for sharing this with all of us you actually realize what you are talking about! Bookmarked. Please also seek advice from my site =). We could have a hyperlink change contract between us! 123movies
ReplyDeleteThank you for helping people get the information they need. Great stuff as usual. Keep up the great work!!! ACMarket
ReplyDeleteCan’t get over the fact that words can be used this beautifully.
ReplyDeleteclick here
I really loved reading your blog. It was very well authored and easy to understand. Unlike other blogs I have read which are really not that good.Thanks alot! Cydia Impactor
ReplyDeleteI am very much pleased with the contents you have mentioned. I wanted to thank you for this great article. iFile iOS 11
ReplyDeleteAn essential hotspot for the gathering of people that makes the peruser stride by step.
ReplyDeletesource
Just admiring your work and wondering how you managed this blog so well. It’s so remarkable that I can't afford to not go through this valuable information whenever I surf the internet! Download iOS 11.3
ReplyDeleteClick on a Online free full movies and you will get information about the movie along with the link for streaming. This is the website that you should try first. This online free full movies website is one of its kinds and that’s the reason we have listed it in list of free movies streaming sites. Moreover, there are more than 7 mirrors obtainable for free movie streaming which are sorted on this basis of user rating. It is one of helpful feature of this free movie website which is very handy. . This movie site is not having cluster of pop ads. So, you can enjoy this movie website without an issue and can enjoy free movies without any problem.
ReplyDeletei am watching movies online here
ReplyDeleteWatch Deadpool 2 Movie Online
Deadpool 2 2018 Movie Online
I can't clarify the emotions I had while perusing this blog. I was totally entranced.
ReplyDeletehttps://123movieshub.it/
There was a time, in the not so distant past, when a trip out to your local video store with the family was a weekly or monthly treat. Watch The 100 free online
ReplyDeleteBest work you have done, this online website is really cool with great facts. vidmate apk
ReplyDeleteGreat post, and great website. Thanks for the information! best edm mastering
ReplyDeleteI am making a full length motion picture, and I am searching for financial specialists. The monetary allowance is just $100,000, and you can contribute as meager as $5000. I am putting my own cash in the film. Movies
ReplyDeleteThe open air film generation organization you pick ought to have a screen estimate perfectly for your terrace flick night. The organization ought to likewise have the capacity to furnish you with a projector and sound hardware to make your film night an exceptional, peaceful affair much like a drive-in motion picture or motion picture theater. 123movies
ReplyDeleteThis is my first time i visit here. I found so many interesting stuff in your blog especially its discussion. From the tons of comments on your articles, I guess I am not the only one having all the enjoyment here! keep up the good work the good fight season 2
ReplyDeleteI wanted to thank you for this great read!! I definitely enjoying every little bit of it I have you bookmarked to check out new stuff you post. buy dvd mr. mercedes season 1
ReplyDeleteIm no expert, but I believe you just made an excellent point. You certainly fully understand what youre speaking about, and I can truly get behind that. watch thank you for your service online free
ReplyDeleteMovieflix is the newest entertainment mobile movie apps where you can watch unlimited HD Free Movies and Series online and movie box,mobile app
ReplyDeleteThis is my first time i visit here. I found such a substantial https://movgotv.com/movies/ number of interesting stuff in your blog especially its examination. Really its inconceivable article. Keep it up.
ReplyDeleteOn the off chance that there are kids on the house and you need to invest some family energy watching movies together, you may look for the appropriate movie online. all movies free online
ReplyDeleteInteresting topic for a blog. I have been searching the Internet for fun and came upon your website. Fabulous post. Thanks a ton for sharing your knowledge! It is great to see that some people still put in an effort into managing their websites. I'll be sure to check back again real soon. myla sinanaj
ReplyDeleteThanks for another wonderful post. Where else could anybody get that type of info in such an ideal way of writing? film streaming
ReplyDeleteI recently came across your blog and have been reading along. I thought I would leave my first comment. I don't know what to say except that I have enjoyed reading. Nice blog. I will keep visiting this blog very often. Bogobeats
ReplyDeleteThis comment has been removed by the author.
ReplyDeleteThis is a great inspiring article.I am pretty much pleased with your good work.You put really very helpful information. Keep it up. Keep blogging. Looking to reading your next post. gomovies
ReplyDeleteWow, incredible blog layout! How long have you been blogging for? you make blogging look easy. The overall look of your web site is wonderful, as well as the content! 123movies
ReplyDeleteI’m excited to uncover this page. I need to to thank you for ones time for this particularly fantastic read !! I definitely really liked every part of it and i also have you saved to fav to look at new information in your site.
ReplyDelete123 movies
I have read all the comments and suggestions posted by the visitors for this article are very fine,We will wait for your next article so only.Thanks! https://spider-manfarhomefull.com/
ReplyDeleteA sumptuous blog, honestly. Valued each and every piece of it.
ReplyDeletePinoy Teleserye Replay
Hello, I have browsed most of your posts. This post is probably where I got the most useful information for my research. Thanks for posting, maybe we can see more on this. Are you aware of any other websites on this subject. fmovies
ReplyDeleteExcellent to be visiting your blog again, it has been months for me. Rightly, this article that I've been served for therefore long. I want this article to finish my assignment within the faculty, and it has the same topic together with your article. Thanks for the ton of valuable help, nice share. film streaming
ReplyDeleteI think this is an informative post and it is very useful and knowledgeable. therefore, I would like to thank you for the efforts you have made in writing this article.
ReplyDeletejadwal film bioskop
Excellent information on your blog, thank you for taking the time to share with us. Amazing insight you have on this, it's nice to find a website that details so much information about different artists. it chapter 2 stream
ReplyDeleteThanks for posting this info. I just want to let you know that I just check out your site and I find it very interesting and informative. I can't wait to read lots of your posts. 123movies
ReplyDeleteHi there! Nice post! Please tell us when I will see a follow up! click for more info
ReplyDeleteHey what a brilliant post I have come across and believe me I have been searching out for this similar kind of post for past a week and hardly came across this. Thank you very much and will look for more postings from you. How To Stream Frozen 2 (2019)
ReplyDeleteI was reading some of your content on this website and I conceive this internet site is really informative ! Keep on putting up. hdfilme.cc
ReplyDeleteThanks for the blog loaded with so many information. Stopping by your blog helped me to get what I was looking for. indoxx1
ReplyDeleteI love the way you write and share your niche! Very interesting and different! Keep it coming! app development company
ReplyDeleteGreat content material and great layout. Your website deserves all of the positive feedback it’s been getting. filmyzilla
ReplyDeleteThanks for picking out the time to discuss this, I feel great about it and love studying more on this topic. It is extremely helpful for me. Thanks for such a valuable help again. cimalight
ReplyDeleteIm no expert, but I believe you just made an excellent point. You certainly fully understand what youre speaking about, and I can truly get behind that.
ReplyDeletedvds
It would not be reasonable in the event that we compliment all the blog compositions yet not the creator. Incredible Work!
ReplyDelete123 movies
Please continue this great work and I look forward to more of your awesome blog posts. https://t.me/s/disneyplusaccountgenerator
ReplyDeleteDon’t focus on having a great blog. Focus on producing a blog that’s great for your readers.
ReplyDeletehttps://t.me/s/tindergoldfree2020
https://t.me/s/tindergoldfree
http://online.fliphtml5.com/lwlii/uwfj/
https://www.teamapp.com/clubs/531861
If you are looking for more information about flat rate locksmith Las Vegas check that right away. dubbed anime
ReplyDeleteThere are no greater treasures than the highest human qualities such as compassion.
ReplyDeletehttps://t.me/s/freenetflixgiftcode,
https://www.teamapp.com/clubs/532249,
https://marketplace.visualstudio.com/publishers/Netflix-Gift-Codes-Generator-2020,
http://fliphtml5.com/pnzna/ppwh
This bit of blog shows commitment of essayist.
ReplyDeleteดูหนัง
Finally reached the Apex of Standardized Suckitude.
ReplyDeletehttps://www.ulule.com/chaturbate-free-tokens/#/badges/,
https://www.bizcommunity.com/Profile/ChaturbateFreeTokensHackOn,
https://marketplace.visualstudio.com/publishers/HackChaturbateCheatFreeTokens2020,
https://teespring.com/chaturbate-hack-free-toke?pid=371&cid=6547
social define
ReplyDeletesocial define
social define
social define
social define
social define
social define
social define
social define
ReplyDeletesocial define
social define
social define
social define
social define
social define
social define
social define
People can find it quite beneficial for themselves to download flicks at their homes without having to spend unnecessary money on highly priced DVD movies that can either be bought or rented from retail shops. 123movies.to new site
ReplyDeleteGetting to Know You - If watching movies is your thing now, movies 123 why not start from the beginning? Each of you chooses your own favorite movie from when you were a child and watch them together.
ReplyDeleteI think this is one of the most significant information for me. And i’m glad reading your article. But should remark on some general things, The web site style is perfect, the articles is really great : D. Good job, cheers try this
ReplyDeleteWonderful blog! I found it while surfing around on Yahoo News. Do you have any suggestions on how to get listed in Yahoo News? I’ve been trying for a while but I never seem to get there! Appreciate it. 토토사이트
ReplyDeleteGambling can be fun, but it’s designed to part you from your hard-earned cash.party supplies melbourne eastern suburbs
ReplyDeleteI am unable to read articles online very often, but I’m glad I did today. This is very well written and your points are well-expressed. Please, don’t ever stop writing. 메이저사이트
ReplyDeleteGreat post, you have pointed out some fantastic points , I likewise think this s a very wonderful website. click here
ReplyDeleteSomeone Sometimes with visits your blog regularly and recommended it in my experience to read as well. The way of writing is excellent and also the content is top-notch. Thanks for that insight you provide the readers! 토토커뮤니티
ReplyDeleteHere at BUY Packaging Boxes, we specialize in Custom Packaging Boxes<a href="http://www.buypackagingboxes.co.uk/product/double-wall-tuck-top/http://www.buypackagingboxes.co.uk/product/double-wall-tuck-top/</a>
ReplyDeleteKeep up the good work , I read few posts on this web site and I conceive that your blog is very interesting and has sets of fantastic information. Lifeguard recertification
ReplyDeleteThis is a truly good site post. Not too many people would actually, the way you just did. I am really impressed that there is so much information about this subject that have been uncovered and you’ve done your best, with so much class. If wanted to know more about green smoke reviews, than by all means come in and check our stuff. 토토사이트
ReplyDeleteA very excellent blog post. I am thankful for your blog post. I have found a lot of approaches after visiting your post. 릴게임
ReplyDeleteI am unable to read articles online very often, but I’m glad I did today. This is very well written and your points are well-expressed. Please, don’t ever stop writing. 먹튀사이트
ReplyDeleteWonderful blog! I found it while surfing around on Yahoo News. Do you have any suggestions on how to get listed in Yahoo News? I’ve been trying for a while but I never seem to get there! Appreciate it. 먹튀검증
ReplyDeleteThe source of the best online slot games It comes in the form of famous anime from Japan such as One Piece, Naruto.สมัคร PG Slot
ReplyDeleteI have seen some great stuff here. Worth bookmarking for revisiting. I surprise how much effort you put to create such a great informative website. Your work is truly appreciated around the clock and the globe. 88카
ReplyDeleteKeep up the good work , I read few posts on this web site and I conceive that your blog is very interesting and has sets of fantastic information. 먹튀검증
ReplyDeleteSports wagering can definitely provide extreme fun and excitement to those passionate about sports as well as the serious bettors finding a way to make smart money. Before one embarks on sports betting, it would be wise to understand the basic of sports betting. 토토사이트
ReplyDeleteThis is very educational content and written well for a change. It's nice to see that some people still understand how to write a quality post.! 토토사이트
ReplyDeleteWow, What an Outstanding post. I found this too much informatics. It is what I was seeking for. I would like to recommend you that please keep sharing such type of info.If possible, Thanks. 파워볼사이트
ReplyDeleteAs a seller of legal steroids, you can buy Crazy Bulk products, explore stacks and finally get the body you’ve always wanted tafsir ahlam
ReplyDeleteThey normally need to shop it around to sell it. That has been my own experience up until now. I've never made substance with a movie appropriation bargain set up.
ReplyDeletefilmy4wep
Shipping from China to Us Thanks for posting this info. I just want to let you know that I just check out your site and I find it very interesting and informative. I can't wait to read lots of your posts. Shipping from China to Usa
ReplyDeleteThe main inquiry film financial backers and movie wholesalers pose is who the cast is. amazon.commytv
ReplyDeleteI love the way you write and share your niche! Very interesting and different! Keep it coming! 대전마사지
ReplyDeleteLiposuction is possible in almost any area of the body. Many of our patients opt to target more than one area of the body during their liposuction procedure because we offer discounts for multiple target areas. cosmetic surgery
ReplyDeleteYou have beaten yourself this time, and I appreciate you and hopping for some more informative posts in future. Thank you for sharing great information to us. 바둑이게임
ReplyDeleteThis is also a very good post which I really
ReplyDeleteenjoyed reading. It is not every day that I have the possibility to see
something like this.. interpretation of the dream
This is also a very good post which I really
ReplyDeleteenjoyed reading. It is not every day that I have the possibility to see
something like this.. Hero Academia Manga
I truly use them on an especially central level confusing parts : you will see these individuals during: https://visualaidscentre.com/
ReplyDeleteVery informative post! There is a lot of information here that can help any business get started with a successful social networking campaign. https://sites.google.com/view/buy-twitch-followers/
ReplyDeleteI just couldn't leave your website before telling you that I truly enjoyed the top quality info you present to your visitors? Will be back again frequently to check up on new posts. 토토사이트
ReplyDeleteYou can get custom packaging boxes with logo here. Our company makes packaging with good material at wholesale prices. If you order more than 50 pounds, our company give you free shipping for all over the world.Custom packaging boxes with logo
ReplyDeleteIt's cool to put in any amount of work course to get your movie seen by watchers and potential film purchasers, yet throughout the years from conversing with different producers there is a typical inclination that the film celebration scene is too jam-packed at this point.https://www.buyyoutubesubscribers.in/
ReplyDeleteFor instance a jug with outlandish sand, layered by the shading or even in an extraordinary plan, will be demolished if essentially laid on its side. Movers will make a point to pack the jug that it will be protected, yet they probably won't understand that the sand layers inside the container are not fixed and may blend into an appalling wreck from vibration in the truck.https://www.buyyoutubeviewsindia.in/youtube-marketing/
ReplyDeleteThey are blamed for twisting the story to perform occasions and make intriguing movies. One of such movies is "Pearl Harbor", which was delivered under much analysis. With movie producers taking such freedom with the verifiable topics, it is both ill bred and indefensible. fmovies
ReplyDeleteGreat post, you have pointed out some excellent points, I as well believe this is a very superb website. North American Bancard Agent Program
ReplyDeleteChiefs like Quentin Tarantino in Hollywood and Anurag Kashyap in Bollywood have their separate explanation and sensible clarifications with respect to such substance. Notwithstanding their sensible clarifications there is no rejecting that the openness to brutality might cause behavioral condition in kids and other open segment. There exists legitimate cycles of recognizable proof and distributing class a movie goes through before its delivery to lessen such antagonistic impacts. Anyway their quality is just on par with the execution. Putlockers
ReplyDeleteOr then again the later one "Happythankyoumoreplease", which shows characters, the same as the ones in our area. The characters in the reel world are the same as those in our genuine world and the difficulties they face are only an adaptation of the ones we face. What's more movies assist us with understanding life through alternate points of view.Telugu dubbed movie download,
ReplyDeleteGreat website you have got here. Keep up the good work and thanks for sharing your blog site it really helps a lot. chelseabootsmaker
ReplyDeleteMedical Products Simplibuy is your online one-stop resource for buying medical supplies, diagnostic equipment and accessories.Medical Equipment
ReplyDeleteyet throughout the years from conversing with different movie producers there is a typical inclination that the film celebration scene is too jam-packed at this point. live tv for pc
ReplyDeletealbeit that could appear to be an exaggeration. In numerous immature nations movies and TV series are utilized as the means for instructing the populace for social change and bring a general change. There is no denying on a huge reach of movies, this anyway could have an extremely awful impact, as few out of every odd movie conveys similar empathetic qualities. https://streameast.watch/
ReplyDeleteservices saves a lot of time and effort, but there are still some things that may need to be done to ensure that the cleaning process goes as smoothly as possible.
ReplyDeletebest carpet cleaner uae
Hii,
ReplyDeleteThis is great and awesome post for me. i loved to read your blog. it's really-really amazing. thanks for inspired me by your blog.Buy YouTube Subscriber
I truly expanded some outstanding experiences looking over your article Pinoy Lambingan. I found this as a basic and spellbinding post, so I think Lambingan TV is huge and knowledgeable. this is an awesome blog article in which you have covered Teleserye, PinoyFlix, Lambingan, and Pinoy Tv. Much thanks again.
ReplyDeleteHaving a carpet professionally cleaned is by far the best way to clean it. However, if the cleaning method used is detrimental to the life of the rug, then it basically serves no purpose. rug cleaning services near me
ReplyDeletebeauty plus
ReplyDeleteThis is a smart blog. I mean it. You have so much knowledge about Teleserye, and also have so much passion about Pinoy Teleserye. You also know how to make people rally behind it, obviously from the responses of Pinoy Flix, Pinoy Lambingan and Lambingan.
ReplyDeleteHaving a carpet professionally cleaned is by far the best way to clean it. However, if the cleaning method used is detrimental to the life of the rug muktisugar.com
ReplyDeleteThis is great and awesome post for me. i loved to read your blog. it's really-really amazing. totosugar.com
ReplyDelete