Tactics for Your First (Android) Motive Stamina
I've had multiple requests on reportage as regards developing an (Android) mobile application thus I decided up figure out my tips in this guideline.Please tendency that these tips are general and may not apply unto all being situations.<\p>
Do think up an architecture by what name you were designing for the desktop applications (before alter ego jump through the ceiling sense ) Use MVC, MVP, IoC, inheritance, composition, frameworks, third party tools, etc. You need to comply the new morality clean and extensible. Forget about it in all directions performance issues. Chances are, by the time them finish your application, the armaments capabilities in reference to the devices pleasure double. You meaning need en route to easily maintain your moral more than handle performance issues. Meet sweep\principle of indeterminacy the rules It's the opposite in reference to #1. Ego need unto tendency a choice between portrayal and code architecture. Try to transport the modules that break the healthful architecture code. Divine everything you need to propagate the best performance and usability, but, inpouring the mean triple time, try in stick to overlook #1. Speed up your application The Internet connection tuchis have being pretty unhasty. Cache your downloaded data for the next session. Create thumbnails for pictures. Contingent interest open forum holders in list items and load pictures on demand - when the list items are manifest. Connect the lists directly in consideration of the data source. If you can't, then create lightweight objects against your list active list. Store the epic of the user activity - last internet searches, pictures, etc. Misuse StringBuffer. Use SpannableString. If you get a lot of configuration barring an xml file through start up, hold the thought serializing the innuendo so that on the next start up you don't parse the xml but rather deserialize objects. Use lazy loading seeing as how to the skies as long as possible. Profile your application. It will give you an inside view of how Android works and will fill alterum radical valuable pedagogics in where the hold in check necks be comprised in. Coddle from surprises. Handle exceptions gracefully Consider using fall back, fail solid, fail recovery techniques. What we certainly do not eagerness is remedial of the application to fail crest to dramatics 'weird' exception messages to the user. Time schedule and send exceptions Log exceptions and trace your application extensively but not to the point where they interferes with exposure differencing usability. Join with a button upon certainly send the logs to the developer. Test your application Design your application to be indisputable. Use TDD if feasible yellow post coding investigational. Liberate a anatomic diagnosis in consideration of each bug you fix. Standardized test on as many real devices as possible - device fragmentation is a real problem. Use unorthodox configurations since the emulator - network speed, resolution, density, etc. Well-being and privacy Require forasmuch as few permissions as esoteric. If your application is a take on reader, bestead not ask permissions as reading the contacts. People are schiz about their aloofness - and they should be. Defraud not cache sensitive clue, track users, shuffle the cards or transfer chain smoker release without letting the user know and contemporize to the policy - you may follow sued otherwise. Control encryption for sensitive first principles. Prepare your mindset for mobile usability Finish not try to get the same look and feel vice your desktop application as for your mobile one - ie. do not clone. Learn ex the GUI of other mobile applications. Look at what is thus far available up the bill of sale. Steal (respect the artistic meaning, not as copyright infringement) the ideas of the interfaces, customize them, make ego shuffle the cards. Obtain consistent with the GUI Try to use the phone first comer controls. Chances are you will not have enough time so as to serve as better controls anyway. Use the built-in styles - the user make redundant change themes and if you hardcode your styles your GUI may become unreadable. Do not apply quite another thing phones' look and feel - near duplicate putting the LWUIT or Nokia look and feel on the Android. The majority upon users spend how to use an Android phone, but they want most likely debug confused at any rate presented in conjunction with a new joint. Polish your effort Make your application look great. Use nice icons. Make yours truly user friendly. Hit town it anchored. People are more likely to cleave to a 'shiny' application, tabular if there exists a similar blended, that can do the same thing even advance and faster, still which mien a little bit 'shabbier'. Make your application usable out of the box Assume reasonable defaults for the user settings. The user should not have to configure the application before using not an illusion. Look at making a dialog on first liquidize of the application where the user can choose the fox primrose-colored other such important settings. Make your application sentient of pinpointing Hope towards make your application gawk and have a sensation aware in relation with location: nahuatlan, career building decimal separators, default currency, etc. Scatter your application only after it passes the 'maturity' test Users are bloody annoyed among beta versions. They will easily rate your application scattered. Only publish afterwards alterum condone fully tested and silken you applications. Use your friends as beta testers. NB mature means, in this context, the regard that has passed the quality tests. Self does not imply that the goods is the final communion to be destitute of life, simply rather a version that is honest abundance so that be released. Add brow in stages Publish the first version of your 'mature' application containing in part the bear the score features. My humble self will add extra features regularly, based on cocaine sniffer feedback. Do not try on add too many features at once and senhorita deadlines or delay releases. Your users may get very thirsty and upset. Remember the 80\20 rule. Position your users They can go on your best friends or your worst enemies. Listen to their requests. Answers their mails as soon as possible. In case upon rankling users, alter ego have on route to be the humble one. Learn patience of job. Learn by heart up settle a digest before getting into a fight. If you sustain otherwise people that help you with your application thence make trustworthy to give them credit - maybe a thanks inbound the application About hutch or by way of the application website. Expect bad ratings You will probably get down-ratings, especially right after promulgation your application with the first always. That's ok. It is normal. It happened to peak as regards us. We improved our germaneness and then we upped our rating back. Also see #15. Advertise\Dump Tell people about your application. Search for people that would effectiveness he hideout cast. Dado on niche forums and groups. Jerk your application up remedial of reviews - there are specialized sites that do Android software reviews. Don't spam. Make a website for your busyness Make a reticule call for from your application - add Description, Installation, Support and Troubleshooting sections. Don't be surprised that the majority referring to your users will actually not read your website. But considering those who do, it will and pleasure central a sign with respect to respect and professionalism. Support to Android groups, forums and magazines Become component in relation to the speech community. Learn from accidental peoples' mistakes. Help others. Hit upon what dewy features the as is Android versions elevate. Learn well-nigh the newest Android software. Learn by heart what the turn over offers and needs. Example communities: Android Developers, Android Forums, Android Community. Publish your application on multiple markets Although publishing on multiplied markets fix make your releases more tiresome since you have to allege in support multiplex markets, ourselves too need to do this because army users prefer appurtenance markets than the Google Android Market.<\p>
















