在这篇文章中,将分享从MFCVisual StudioC++转向Android Studio的经历,以及如何利用这个新平台来重新塑造编程技能。希望通过这篇文章,能够帮助那些像一样,想要探索Android开发的初学者。
Android Studio给第一印象是用户友好和直观。认为,项目可以作为初学者的有用模板。
选择了“国际信号代码”作为组织菜单、RecyclerView、Fragment转换和其他基本Android功能的模板。分别用Java和Kotlin开发了两个项目。
这两个项目,ISCodeJava和ISCodeKotlin,都是在Android Studio 2023.1.1.27-windows上开发的。即使是第一次使用Android,只需选择菜单Run->Run 'app',程序ISCode就会开始构建并运行,只要将物理设备连接到电脑,或者在Android Studio上配置了模拟器设备。
所有的菜单和触摸屏命令都是使用标准的Android技术完成的。因此,认为没有什么比标准教程更好的解释了。解决方案的关键点是每个命令的五个属性的数据存储:
abstract public class ISCodeData {
// 图片资源
@DrawableRes
static public final int[] FLAGS_DRAWABLES = {
R.drawable.alfa,
R.drawable.bravo,
R.drawable.charlie,
// ...
};
static public final int[] MORSE_DRAWABLES = {
R.drawable.zz_alfa,
R.drawable.zz_bravo,
R.drawable.zz_charlie,
// ...
};
static public final String[] NAME_STRINGS = {
"alfa",
"bravo",
"charlie",
// ...
};
static public final String[] ENG_STRINGS = {
"Diver below (when stationary)",
"I am taking on or discharging explosives",
"Yes(affirmative)",
// ...
};
static public final String[] RUS_STRINGS = {
"У меня спущен водолаз; держитесь в стороне от меня и следуйте малым ходом",
"Я гружу, или выгружаю, или имею на борту опасный груз",
"Утвердительный ДА или <Значение предыдущей группы должно читаться утвердительно>",
// ...
};
}
理解的是,前两个数组中的图片应该放在...app/src/main/res/drawable-nodpi目录中,并且名称应该与数组中的名称相匹配。同样理解的是,上述数组的大小必须相同。
可以选择这些项目中的任何一个,用标准的Android Studio技术重命名它,并根据喜好组合和改进代码。即使没有任何Android编程技能,也可以将RUS_STRINGS数组中的文本更改为自己的语言文本,将获得国际信号代码的上下文信息,用母语。
此外,可以更改类ISCodeData中的所有文本,以及目录...app/src/main/res/drawable-nodpi中的图片,与任何其他信息列表(例如,IMO火控标志,或任何其他类似的目录)相对应的项目。不需要(或只需要很少的)更改程序上下文(或布局)。