Design Pattern, a design pattern is a general reusable solution to a commonly occurring problem, In case of Android, I personally feel that existing design patterns like MVC, Abstract Factory,Singleton,etc. are not fit with the Android. Most of design patterns was evolved before the era of Android/Mobile. I think that code should be simple and optimise, does not matter which design pattern you are using.
In this article I am going to explain few rules/pattern which I am following in my projects.
1. Package Structure
src
com.client.app - contain Application class only
com.client.app.views - contain all activities
com.client.app.fragments - contain all fragments
com.client.app.webservice - contain all web services
com.client.app.adapters - contain all adapters
com.client.app.db - contain all db related classes
com.client.app.models - contain all models
com.client.app.utils - contain utility/misc classes
com.client.app.widgets - contain extended/custom views
com.client.app.services - contain all services
com.client.app.animation - contain all animations
2. Naming convention for Xml files
- activity_<ACTIVITY NAME>.xml - for all activities
- dialog_<DIALOG NAME>.xml - for all custom dialogs
- row_<LIST_NAME>.xml - for custom row for listview
- fragment_<FRAGMENT_NAME>.xml - for all fragments
- all component for x activity must be start with activity name
- all component should have prefix or short name like btn for button
- For example,name for login activity component should be like following.
- activity_login_btn_login
- activity_login_et_username
- activity_login_et_password
- Short name of major components
- Button - btn
- EditText - et
- TextView - tv
- Checkbox - chk
- RadioButton - rb
- ToggleButton - tb
- Spinner - spn
- Menu - mnu
- ListView - lv
- GalleryView - gv
- LinearLayout -ll
- RelativeLayout - rl
- Which design patterns are used in Android
- http://stackoverflow.com/questions/4916209/which-design-patterns-are-used-on-android/6770903#6770903
- Android MVC
- Android MVP
- Android architecture part 1
No comments:
Post a Comment