logo头像
Snippet 博客主题

SeverLauncher

无意间发现 开源中国中有人回复 看见 以前的文章
就想整理下

这是一份 2013年 创维 研究服务器自定义Launcher 时候调研 的 文章 一直在有道笔记

原理

app 从服务器端获取 数据

通过数据 绘制控件 大小 以及位置 和点 击 跳转

服务器 与 客户端 统一一套协议

例子

左上角 logo

"logo": {
    "background_url": " http://image.baidu.com/i?tn=download&ipn=dwnl&word=logo%20png&ie=utf-8&fr=result&url=http%3A%2F%2Fimg.article.pchome.net%2F00%2F37%2F47%2F30%2Fpic_lib%2Fs960x639%2F0e80039f04ea6106487069a0ffc82a8es960x639.JPG",
    "hasFocus": false,
    "height": 50,
    "width": 50,
    "x": 50,
    "y": 30
},

注释
background_url 为空 加载 apk默认的logo


右上角 网络状态

"network": {
    "hasFocus": false,
    "height": 0,
    "width": 0,
    "x": 1100,
    "y": 40
},

右上角 时间

"timeEntity": {
    "textSize": 16,
    "timeType": 12,
    "hasFocus": false,
    "height": 0,
    "width": 0,
    "x": 1150,
    "y": 40
}

Title

"arrayTitle": [
    {
        "text": "电视",
        "position": 1,
        "textSize": 25,
        "hasFocus": false,
        "height": 50,
        "width": 100,
        "x": 350,
        "y": 650
    },
    {
        "text": "设置",
        "position": 2,
        "textSize": 25,
        "hasFocus": false,
        "height": 50,
        "width": 100,
        "x": 500,
        "y": 650
    },
    {
        "text": "新闻",
        "position": 3,
        "textSize": 25,
        "hasFocus": false,
        "height": 50,
        "width": 100,
        "x": 650,
        "y": 650
    },
    {
        "text": "用户",
        "position": 4,
        "textSize": 25,
        "hasFocus": false,
        "height": 50,
        "width": 100,
        "x": 800,
        "y": 650
    }
],

中间tab

"arrTab": [
    [{
            "name": "电视",
            "image_icon": " http://image.baidu.com/i?tn=download&ipn=dwnl&word=icon png&ie=utf-8&fr=result&url=http:// www.icosky.com/icon/png/System/Candied Apples/Candy Apple Red 2.png",
            "action": "com.kylin.action",
            "image_content": "",
            "id": 11,
            "NextFocusUpId": -1,
            "NextFocusRightId": 12,
            "NextFocusLeftId": -1,
            "NextFocusDownId": 15,
            "nameSize": 25,
            "hasFocus": true,
            "height": 250,
            "width": 250,
            "x": 50,
            "y": 20
        },
        {
            "name": "TV",
            "image_icon": " http://image.baidu.com/i?tn=download&ipn=dwnl&word=icon png&ie=utf-8&fr=result&url=http:// www.sucaitianxia.com/png/UploadFiles_6130/200807/20080702002356141.png",
            "action": "com.kylin.action",
            "image_content": "",
            "id": 12,
            "NextFocusUpId": -1,
            "NextFocusRightId": 13,
            "NextFocusLeftId": 11,
            "NextFocusDownId": -1,
            "nameSize": 25,
            "hasFocus": true,
            "height": 250,
            "width": 250,
            "x": 300,
            "y": 20
        },
        {
            "name": "歌华有线",
            "image_icon": " http://image.baidu.com/i?tn=download&ipn=dwnl&word=png 小图&ie=utf-8&fr=result&url=http://img.sj33.cn/uploads/allimg/201009/20100918144426835.png",
            "action": "com.kylin.action",
            "image_content": "",
            "id": 13,
            "NextFocusUpId": -1,
            "NextFocusRightId": 14,
            "NextFocusLeftId": 12,
            "NextFocusDownId": -1,
            "nameSize": 25,
            "hasFocus": true,
            "height": 250,
            "width": 250,
            "x": 550,
            "y": 20
        },
        {
            "name": "百事通",
            "image_icon": " http://image.baidu.com/i?tn=download&ipn=dwnl&word=png 小图&ie=utf-8&fr=result&url=http://p1.qqyou.com/pic/uploadpic/2011-4/201143921218128.png",
            "action": "com.kylin.action",
            "image_content": "",
            "id": 14,
            "NextFocusUpId": -1,
            "NextFocusRightId": -1,
            "NextFocusLeftId": 13,
            "NextFocusDownId": -1,
            "nameSize": 25,
            "hasFocus": true,
            "height": 250,
            "width": 250,
            "x": 800,
            "y": 20
        },
        {
            "name": "回看",
            "image_icon": " http://image.baidu.com/i?tn=download&ipn=dwnl&word=icon png&ie=utf-8&fr=result&url=http:// www.icosky.com/icon/png/System/Candied Apples/Candy Apple Red 2.png",
            "action": "com.kylin.action",
            "image_content": "",
            "id": 15,
            "NextFocusUpId": 11,
            "NextFocusRightId": -1,
            "NextFocusLeftId": -1,
            "NextFocusDownId": -1,
            "nameSize": 25,
            "hasFocus": true,
            "height": 250,
            "width": 250,
            "x": 50,
            "y": 250
        }
    ],
    [{
            "name": "设置",
            "image_icon": " http://image.baidu.com/i?tn=download&ipn=dwnl&word=icon png&ie=utf-8&fr=result&url=http:// www.icosky.com/icon/png/System/Candied Apples/Candy Apple Red 2.png",
            "image_content": "",
            "id": 50,
            "NextFocusUpId": -1,
            "NextFocusRightId": 51,
            "NextFocusLeftId": -1,
            "NextFocusDownId": 52,
            "nameSize": 25,
            "hasFocus": true,
            "height": 250,
            "width": 250,
            "x": 50,
            "y": 20
        },
        {
            "name": "TV",
            "image_icon": " http://image.baidu.com/i?tn=download&ipn=dwnl&word=icon png&ie=utf-8&fr=result&url=http:// www.icosky.com/icon/png/System/Candied Apples/Candy Apple Red 2.png",
            "image_content": "",
            "id": 51,
            "NextFocusUpId": -1,
            "NextFocusRightId": -1,
            "NextFocusLeftId": 50,
            "NextFocusDownId": -1,
            "nameSize": 25,
            "hasFocus": true,
            "height": 250,
            "width": 850,
            "x": 350,
            "y": 20
        },
        {
            "name": "回看",
            "image_icon": " http://image.baidu.com/i?tn=download&ipn=dwnl&word=icon png&ie=utf-8&fr=result&url=http:// www.icosky.com/icon/png/System/Candied Apples/Candy Apple Red 2.png",
            "image_content": "",
            "id": 52,
            "NextFocusUpId": 50,
            "NextFocusRightId": 51,
            "NextFocusLeftId": -1,
            "NextFocusDownId": -1,
            "nameSize": 25,
            "hasFocus": true,
            "height": 250,
            "width": 250,
            "x": 50,
            "y": 250
        },
        {
            "image_content": " http://image.baidu.com/i?tn=download&ipn=dwnl&word=广告&ie=utf-8&fr=result&url=http://pic17.nipic.com/20111030/178350_181133315001_2.jpg",
            "id": 53,
            "NextFocusUpId": -1,
            "NextFocusRightId": -1,
            "NextFocusLeftId": -1,
            "NextFocusDownId": -1,
            "nameSize": 0,
            "hasFocus": false,
            "height": 250,
            "width": 600,
            "x": 300,
            "y": 250
        }
    ],
    [{
            " nameBg": "#CC000000", //-------------------文字背景色
            "name": "匆匆那些年",
            "image_content": " http://f.hiphotos.baidu.com/baike/c0=baike116,5,5,116,38/sign=82e87630262dd42a4b0409f9625230d0/96dda144ad345982e775c6cb0ff431adcaef84ef.jpg",
            "id": 50,
            "NextFocusUpId": -1,
            "NextFocusRightId": 51,
            "NextFocusLeftId": -1,
            "NextFocusDownId": -1,
            "nameSize": 25,
            "hasFocus": true,
            "height": 550,
            "width": 750,
            "x": 20,
            "y": 20
        },
        {
            "nameBg": "#CC000000",
            "name": "重返地球",
            "image_content": " http://image.baidu.com/i?tn=download&ipn=dwnl&word=电影海报图&ie=utf-8&fr=result&url=http://down1.sucaitianxia.com/psd02/psd179/psds36925.jpg",
            "id": 51,
            "NextFocusUpId": -1,
            "NextFocusRightId": 52,
            "NextFocusLeftId": 50,
            "NextFocusDownId": -1,
            "nameSize": 25,
            "hasFocus": true,
            "height": 550,
            "width": 300,
            "x": 730,
            "y": 20
        },
        {
            "nameBg": "#CC000000",
            "name": "银河护卫队",
            "image_content": " http://image.baidu.com/i?tn=download&ipn=dwnl&word=电影&ie=utf-8&fr=result&url=http:// www.ln.chinanews.com/UploadFiles/2014/8/201408051648340612.jpg",
            "id": 52,
            "NextFocusUpId": -1,
            "NextFocusRightId": -1,
            "NextFocusLeftId": 51,
            "NextFocusDownId": -1,
            "nameSize": 25,
            "hasFocus": true,
            "height": 550,
            "width": 250,
            "x": 1000,
            "y": 20
        }
    ],
    [{
            "nameColor": "#000080",
            "nameBg": "#CC000000",
            "name": "魁拔",
            "image_content": " http://e.hiphotos.baidu.com/baike/c0=baike272,5,5,272,90/sign=e0e4cc8f39292df583cea447dd583705/838ba61ea8d3fd1f353eab9a334e251f95ca5f5e.jpg",
            "id": 50,
            "NextFocusUpId": -1,
            "NextFocusRightId": 51,
            "NextFocusLeftId": -1,
            "NextFocusDownId": -1,
            "nameSize": 25,
            "hasFocus": true,
            "height": 550,
            "width": 250,
            "x": 30,
            "y": 20
        },
        {
            "nameColor": "#000080",
            "nameBg": "#33FF0000",
            "name": "天降雄狮",
            "image_content": " http://image.baidu.com/i?tn=download&ipn=dwnl&word=天降雄狮&ie=utf-8&fr=result&url=http://f.hiphotos.baidu.com/zhidao/pic/item/dcc451da81cb39dbfb89d81ed3160924ab183028.jpg",
            "id": 51,
            "NextFocusUpId": -1,
            "NextFocusRightId": 52,
            "NextFocusLeftId": 50,
            "NextFocusDownId": -1,
            "nameSize": 25,
            "hasFocus": true,
            "height": 550,
            "width": 300,
            "x": 250,
            "y": 20
        },
        {
            "nameBg": "#33000000",
            "name": "中国合伙人",
            "image_content": " http://image.baidu.com/i?tn=download&ipn=dwnl&word=中国合伙人&ie=utf-8&fr=result&url=http:// www.lizhi123.net/uploads/allimg/130525/4_130525175139_1.png",
            "id": 52,
            "NextFocusUpId": -1,
            "NextFocusRightId": -1,
            "NextFocusLeftId": 51,
            "NextFocusDownId": -1,
            "nameSize": 25,
            "hasFocus": true,
            "height": 550,
            "width": 800,
            "x": 520,
            "y": 20
        }
    ]
]

“nameColor”: “#000080”, ——文字的颜色
“nameBg”: “#CC000000”, —— 文字背景颜色
“name”: “魁拔”,
“image_content”: “ http://e.hiphotos.baidu.com/baike/c0 %3Dbaike272%2C5%2C5%2C272%2C90/sign=e0e4cc8f39292df583cea447dd583705/838ba61ea8d3fd1f353eab9a334e251f95ca5f5e.jpg”,
“id”: 50,
“NextFocusUpId”: -1,
“NextFocusRightId”: 51,
“NextFocusLeftId”: -1,
“NextFocusDownId”: -1,
“nameSize”: 25,
“hasFocus”: true,
“height”: 550,
“width”: 250,
“x”: 30,
“y”: 20

“nameColor”: “#000080”, ——文字的颜色
“nameBg”: “#CC000000”, —— 文字背景颜色
image_content —– 底图url
“nameSize”: 25, —-文字大小

image_icon —– icon url

"id": 50,    //----每个view对于的id
"NextFocusUpId": -1,   //---- 当前view 向上 view的id
"NextFocusRightId": 51, //---- 当前view 向右 view的id
"NextFocusLeftId": -1,  //---- 当前view 向左 view的id
"NextFocusDownId": -1,  //---- 当前view 向下 view的id

这几个控制 TV 的焦点跳转 -1 不能跳转
NextFocusRightId 当焦点位于该控件 点击 右 焦点 跳转到 id为51 的控件上


android 源码 找不到了
当年放在 taobaosvn上
http://code.taobao.org/

支付宝打赏 微信打赏

打赏