I am looking for a thorough Android naming convention suggestion. I found a little bit here:
http://source.android.com/source/code-style.html#follow-field-naming-co
This is an excellent collection of best practices to start with: https://github.com/futurice/android-best-practices
Here's what I use. I'll also copy from that link.
m or s prefix as per Google guidelines. I've stopped for years and I find it easier without them. The IDE will tell you when you're using something private or static; it seems like an obsolete convention.functionUrl and unitId. Not unitID.tvName. An EditView with a password would be etPass.lv.id, not stringId. The IDE will tell you when it's a string or a float or a long.Pass instead of Password.tv_name and et_passandroid:id as the first attribute in the XML.fragment_contact_details.xml, view_primary_button.xml, activity_main.xml./activities/MainActivity.java or /fragments/DeleteDialog.java. My folders are activities, fragments, adapters, models, and utils.ChatListAdapter.For color, use names like gray_light, not button_foreground.
For dimens, use names like spacing_large, not button_upper_padding.
If you want to set something specific for your button color or padding, use a style file.
Name your strings with keys that resemble namespaces, and don't be afraid of repeating a value for two or more keys.
Use error.message.network, not network_error.
The purpose of naming conventions is not to make everything neat and consistent. It's there to flag possible mistakes and improve workflow. Most of these are designed to be convenient for keyboard shortcuts. Try to focus around minimizing bugs and improving workflow rather than looking nice.
Prefixes are great for those, "What's the name of that TextView?" moments.
Suffixes are there for the things which you don't access so often in that manner, but can be confusing. For example, I may not be sure whether I put my code in the Activity, Fragment, or Adapter of that page. They can be dropped if you like.
XML ids are often in lowercase and uses underscores just because everyone seems to do it this way.