一、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.注意省电

更多相关文章

  1. android原生的数据库实现[ContentProvider+SQLiteOpenHelpe...
  2. Android(OPhone) 学习笔记 - SQLite
  3. Android无处不在 你的隐私怎么办?
  4. Android(安卓)UI小贴士
  5. Android中获取手机IMEI,IMSI, MAC(Android(安卓)6.0)工具类(标识用
  6. android sqlit数据库升级,添加字段
  7. Android(安卓)UI 模式(patterns)
  8. 关于android 4.2版本后的多用户目录结构分析(二)- /storage/sdcard
  9. Android中的数据共享-application context

随机推荐

  1. android中去掉标题栏和状态栏,实现全屏
  2. Android网络技术
  3. android gdb使用
  4. android中文api:Manifest.permission grou
  5. Android菜鸟的成长笔记(20)——IntentServi
  6. 国内访问android开发者网站
  7. Android 珍藏(二)
  8. Android(安卓)拍照后保存到手机里,在相册
  9. Android开发:调用camera API 创建MediaRec
  10. Android 调用系统电话,短信