Android无缝设计
一、Android无缝设计
尽管我们自己的应用可以独立的设计很好,但是还是要考虑到系统及其他应用对自己应用的干扰,比如,一些意外的dialog提示,数据丢失,线程死锁等等。
常见的就是其他应用的一些后台进程会弹出一些奇怪的东西,会让你的应用突然失去焦点。当然我们自己的应用也要考虑这一点。通常情况下,我们设计应用时,应当采用Notification而不是直接弹出的形式来通知用户事件发生而不是打断用户的操作。
另一个常见问题就是,数据的丢失。比如当应用切换出去时,没有在onPause()等生命周期方法中保存当前的数据。或者是使用WORLD_READABLE文件或数据库来共享文件,而不是ContentProvider。
以下是一些建议:
1.不要丢失数据
由于任何Activity都有可能弹出,比如电话,Activity就会调用onSaveInstanceState()和onPause()方法,且应用有可能被杀死。重写onSaveInstanceState()方法以保存必要的数据。
2.不要公开原始数据
Android推荐用ContentProvider的方式来向其他应用提供数据。当你改变数据格式的时候,可以只改变自己的内部实现,别的应用不受影响。感觉到了设计模式的气息。
3.不要随意打断用户
主要是不要在service或BrocastReceiver中启动Activity,以防中断用户操作,相应的应该使用Notification来提示信息。当然,如果你很紧急,则可以这样做,比如电话。
4.在工作线程执行耗时操作
这个你懂得。
5.别把太多东西放到一个页面
多用几个activity,可以把界面简洁化,同时也提高了其可维护性,用户体验不言而喻。
6.继承系统主题
7.适配多种分辨率
虽然我们一般是使用一套资源就可以实现大部分的适配, 但是有条件的话,还是做单独适配,达到最佳效果(我说这话时,都想扇死自己,没那个需求,绝逼不会做适配对的)。
8.假设网速很慢
这个,我从个人感觉角度举个栗子,一般4g和wifi下,网速很快,基本上感觉不到时间就加载到数据了,这时候就会觉得进度条是个累赘,但是遇到网速不给力时候,用户就懵逼了。
9.不要假设触摸屏或键盘
这个。。。
10.注意省电
更多相关文章
- android原生的数据库实现[ContentProvider+SQLiteOpenHelpe...
- Android(OPhone) 学习笔记 - SQLite
- Android无处不在 你的隐私怎么办?
- Android(安卓)UI小贴士
- Android中获取手机IMEI,IMSI, MAC(Android(安卓)6.0)工具类(标识用
- android sqlit数据库升级,添加字段
- Android(安卓)UI 模式(patterns)
- 关于android 4.2版本后的多用户目录结构分析(二)- /storage/sdcard
- Android中的数据共享-application context