我是Android和Java编程的新手,但是从事.NET编程已有多年了。我们最近开发了一个android应用,现在已经为客户准备了最后阶段(而不是通过market / google play)。无论如何,同时清理代码。我注意到我们使用了大量的字符串,如果可能的话,我希望减少使用。我阅读了几篇文章,并建议最终用户可以看到的任何内容,都将其放在strings.xml中(为了更好地进行本地化,不太清楚其含义是什么),但是我们也使用SQLite表名,列名等,我想知道构造一个类(或一组类)的最佳方法,该类使我们(我和我的开发人员)可以轻松访问它们。
这就是我开始构建它的方式,但是希望对是否有更好的方法(设计,性能问题等)提出一些意见。
public class Constants {
static enum SQLiteTableNames { Issues, Activities }
static class SQLiteTables {
static class Issues {
static class ColumnNames {
static String ID = "_id";
static String DateReceived = "DateReceived";
}
}
static class IssueActivites {
static class ColumnNames {
static String ID = "_id";
static String IssueID = "IssueID";
static String ActivityDate = "ActivityDate";
static String ActivityType = "ActivityType";
static String FullName = "FullName";
static String Notes = "Notes";
}
}
}
}
这使我们可以像这样引用列名:
Constants.SQLiteTables.IssueActivites.ColumnNames.ActivityDate;
我应该在属性上使用final static而不是static吗?
最佳答案
常数应为static final
。这确实具有性能上的好处,因为它允许将值编译进来。它也是很好的样式。
顺便说一句,约定是在ALL_CAPS
中放置常量名称。