简介
通过本周的实训项目-调用百度地图API,实现固定地点显示,另外有注册和登录的UI。接触到的一些常用控件
包括 EditText, TextView, RadioGroup, RadioButton, CheckBox, Button 等,常见的布局 LinearLayout,简单的事件处理机制。
关于可读性
觉得比较好的做法,使用init()函数封装了初始化过程(各种findViewById),使用addAction()函数封装了添加监听器的过程(setOnClickListener),使得OnCreate()函数中的逻辑更简洁清晰。
注册Button事件的基本思路
- 在layout的xml文件中给所需的控件@+id
- 在Activity类中定义 private 变量,每个都对应一个控件
- 在init()中,用getViewById() 初始化所有控件
- addAction()函数中,为控件添加 事件监听器 例如OnClickListener()
事件处理的基本流程
这里以一个注册按钮为例说明
按钮事件处理基本流程
获取控件信息
12EditText account;account.getText().toString().trim();数据格式与有效性验证
主要是正则表达式校验与一些字符串比较的操作
例如- 2.1 帐号是否为空
- 2.2 账号是否重复
- 2.3 密码是否为空
- 2.4 密码是否一致
- 2.5 生日不能超过当天
- 存储数据
当然严格的说此处应该使用数据库,如果使用数据库的话,感觉也可以引入Web开发中ORM的一些思想。
在本项目中由于时间限制,则是用SharedPreferences
简化了过程。
存储文件的位置在 /data/data/包名/shared pref/baiduMap.xml
4.提交存储信息,并提示
其他感悟
IDE
关于 IDE ,这次使用的是 Eclipse + Android SDK ,有机会的话应该熟悉一下 Android Studio。
说说Eclipse Android开发的一些自认为值得注意的点,
- 充分利用DDMS调试视角
- Console 输出有三种 Android/DDMS/OpenGL Trace View
还有一些见到的比较方便的快捷键(Eclipse)操作
比如:
##关于 Android 开发的想法
暂时的理解是,如果以职业化为目标,Android开发的学习的重点应该在于以下:
1.网络编程
2.动画效果,更简洁美观的UI,用户交互
3.底层 (以可以深度定制Android系统为目标)
因为很多商家的APP的业务逻辑都是在服务器端完成的,Android APP更多作为一个显示UI。与服务器的大量远程调用和数据交换操作,因此需要有扎实的网络编程基础。
动画效果,简洁美观的UI是重要的第一印象,而且一般app的逻辑部分不会特别复杂(复杂的一般在服务端完成),所以UI应该受到更多重视。
关于用户交互则有更多的细节了,在哪个位置安放广告会更容易吸引到用户的注意力,应该如何设置按钮?怎样引导用户进行最初的应用使用学习?这部分职能一定程度上似乎与产品有重合。
关于对Andorid系统进行深度定制开发也是很多企业的重要需求。
几个不错的作品
并不是我做的,不过感觉这两个作品是几个刚接触Android的同学在5天内搞定的。
见识到了Sketch强大的设计能力,大概在输入检查什么的各种细节上还有很多问题,但是至少在UI上不会给人感觉太糟糕,感觉这些代码也可以参考。
[1] [https://github.com/JetMuffin/Maipu]
还有一份全国各省市的经度纬度数据,来自InnerAc的二次整理。