0
点赞
收藏
分享

微信扫一扫

再识android (三)


  之前两周分别记录了: ​​android环境相关的内容​​​  以及       ​​android的四大组件简介​​​。   emmmm~~,  这周干点什么呢。。。根据书本目录的安排,再查看之前的笔记有: ​​常见ui控件​​​,​​ui空间进阶​​​,​​常见布局​​​,​​存储​​​,​​多线程编程​​​,​​网络编程​​。   哎呀呀,我发现没啥补充的了。 

    书归正传,今天还是将剩下的 Widget,多设备适配,UI设计规范,高定制化应用;

widget周边:

         1.定义:一些窗口小部件,能嵌入到其他的应用程序中运行;并能定期收到更新的广播; 

                       能够容纳 其他  Widget 的应用程序组件,称为  Widget宿主;

         2.使用: a.继承  android.appwidget.AppWidgetProvider类;

                        b.配置它的呈现方式(在xml文件中),类与文件的绑定通过配置属性完成。但是,通过代码绑定应该也是可以的;

                        c.在 androidManifest中,配置receiver标记,其中有两个配置: 一个是intent-filter, 一个是  meta-data.   该配置使得widget生效。        

          3.理解:它实际上是广播的一种 。  通常与 provider联合配置使用。     

          4.生命周期: 

                        onUpdate:  Widget更新的时候,调用;

                        onAppWidgetOptionsChanged:   Widget被拖动,或者 修改了Widget尺寸会触发;

                        onDeleted: Widget移除的时候,会触发;

                        onEnabled: 添加第一个  Widget到桌面的时候,会触发; 

                        onDisabled: 最后一个Widget从桌面移除的时候,调用该方法;

                        onReceive: 有广播时,触发;

          5.Widget设计概要

                         Widget可以添加配置的Activity,这个Activity会在 Widget添加到宿主之前加载;

                         Widget布局可完全自定义,按照自己的想法进行布局。 

高定制化应用:

          1.省电应用

                     无线电波 进行数据传输 是 应用程序最耗电的操作之一。

                     网络状态机的 3种能量状态:
                                 全功耗状态: 设备以最大的传输速率进行数据传输;

                                 低功耗状态: 中间状态,相当于全功耗的  50% 左右的放电;

                                 空闲状态:  通常表示 网络未激活,或  无需网络链接的情况。 

                      一般而言,状态转换平均需要 1.5s- 2s。 

                     处理策略:

                             a.有效的网络优化访问下载;

                             b.优化常规的更新次数;

                             c.避免重复下载;

                             d.不同的网络连接模式使用不同的下载模式;

         2.电池续航时间优化

                  从应用角度看,进行数据更新会影响电池使用时间;

                  处理策略: 

                                a.监控电池电量和充电状态;

                                b.网络连接状态的监控;

         3.近距离无线通信

                    NFC: near Field Communication, 近场通信,一种短距离的高频无线通信技术; 

                              由  RFIC,Radio-frequency identification技术发展而来; 

                   android从2.3开始,提供了对NFC的支持; 

多设备适配:

            1.多屏幕适配

                  相关概念:

                           屏幕尺寸: 实际的物理尺寸,以对角线来衡量;

                           屏幕密度: 屏幕的物理面积内的像素数量,通常单位为dpi;

                           方向: 从用户的角度看,屏幕的方向,分为横向和纵向;

                           分辨率: 指 屏幕上物理物理像素总数;

                           密度无关像素: 一种虚拟像素单位, dip,或者dp, density-independent pixel;  一种与密度无关的方式来描述 布局尺寸 或 位置;

                   应对策略:

                            a.在清单文件中,明确声明应用程序支持的所有屏幕尺寸。

                            b.为不同的屏幕尺寸提供不同的布局;

                            c.为不同的屏幕尺寸提供不同的drawble;

                            d.对不同的屏幕大小,提供不同的布局;

                            e.在app首次实例化时,动态获取一些物理相关的参数进行初始化;

            2.多语言处理:

                     设计理念是: 资源和程序的分离, 程序会根据语言环境去不同的资源里面提取相应的信息;

                      处理策略:

                             创建本地语言环境目录和字符串文件;

                             图片等其他资源的多语言处理类似; 

           3.多版本处理

                   处理策略:

                               a.支持不同的版本;

                               b.设备运行时检查系统的版本;

UI设计规范:

             结构规范+导航规范+通知规范

   静不下来,各种综合原因,算是为andorid画个句号吧。 

举报

相关推荐

0 条评论