Android开发教程之构建无缝的Android程序.pptx
-
资源ID:87585669
资源大小:94.82KB
全文页数:8页
- 资源格式: PPTX
下载积分:20金币
快捷下载
![游客一键下载](/images/hot.gif)
会员登录下载
微信登录下载
三方登录下载:
微信扫一扫登录
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
|
Android开发教程之构建无缝的Android程序.pptx
Android开发教程之不要使用裸露的数据你是不能穿着内裤在街上裸奔的,那么你的数据也同样是这样。你的程序有些东西是可能被其他程序访问的,那么这样做就不是很专业了。其他的程序很有可能看不懂那些暴露的原始数据,如果你可以改变数据形式,你的程序就会在这点上比那些不会升级的程序好得多。Android的处理方法是:创建一个ContentProvider通过一个干净的深思熟虑的可维护的API把你的程序数据暴露给其他应用程序。使用一个ContentProvider就好象嵌入了一个Java的接口到两片代码之间,让它们能够相互交流。这意味着,你可以改变你内部的形式而不用修改ContentProvider暴露的接口,并且这不会影响应用程序的执行。第1页/共8页Android开发教程之不要打断正在说话的用户如果你的用户正在运行一个程序(例如正在打电话),他肯定不要其他程序干扰。除了需要从当前Activity获得用户输入的Activity外,这就是为什么你应该避免缠身不恰当的Activity。这就是说,不要从运行在后台的BroadcastReceivers或 Services中调用startActivity(),这样做会打断任何当前运行的应用程序,就会使用户很不舒服。或许更糟糕的,你的Activity变成了一个“键盘强盗”,它会把一些用户原本准备给前一个Activity的输入截取过来。取决于你的应用程序做了些什么,反正这一般都不是一个好事情。第2页/共8页我们这里没有直接从后台运行Activity,而是使用NotificationManager去设置通告消息。这将会在状态栏中显示,用户有空时就会在能够点击它,看看程序要什么什么东西。(注意:当你的Activity已经运行在前台,而用户想把当前输入给下一个Activity时,这种方法就不适用了。)第3页/共8页Android开发教程之使用线程如果你的应用程序有一些代价很大或者需要长时间运行的处理过程时,你应该把它们移到线程里面。这样就避免了弹出ANR对话框,让你的程序能够顺畅的运行。一般来说,Activity中的所有代码和所有的View类都是运行在相同的线程下面。同时这个线程也会处理用户的输入。例如,用户按下一个按钮,一个按钮消息就会添加到Activity的主线程的消息列表中。这个事件消息需要从列表速度的提取出来处理,如果没有速度的处理掉,几秒钟之后,系统就会认为该应用程序挂起了,就会开始结束进程。第4页/共8页如果你有长时间运行的代码嵌入到你的Activity中,那么在事前处理的过程中会运行该代码,这样就会使事件处理阻塞,这样延缓了你的输入进程,并且导致ANR的产生。为了避免这些,将你的运算放入一个线程里面。第5页/共8页Android开发教程之避免Activity Screen杀手任何有用的应用程序都会有几个不同的Screen对象。当切换你的用户界面是,确保你可以不受限制的使用Activity。取决于你的开发背景,你可能认为Activity和Java Applet一样,在那里面它是你的程序入口。即使是这样,但这还不够准确:Applet的子类是Java Applet的唯一程序入口,而Activity只是一个潜在的程序入口之一。主Activity和其他Activity之间唯一的不同就是:在你的Android配置的XML文档中,主Activity有android.intent.action.MAIN 这样一项。因此当你设计你的程序时,把你的程序当做是几个Activity的联合。这样会使你的代码在长期的运行中更容易维护,并且,通过利用Android程序的历史记录和 backstack模式,你的程序会更容易编写。第6页/共8页Android开发教程之主题扩展当我们开始观察和感觉用户界面的时候,一些细节作用很大。和他们期待的界面相比,用户会感到很震惊。在设计你的用户界面的时候,你应该尽量的避免使用你自己的方式,取而代之的是使用一个主题。再有必要的时候你能够重载或者扩展你的主题,但是你的主题扩展都要有一个同样的UI基础。第7页/共8页感谢您的观赏!第8页/共8页