智能电视开发sdk 文档

声明:

    *电视不同于手机,安卓原生控件并不适用,总需要花费大量时间处理控件选中框及屏幕适配等问题.
    因深受其苦,考虑电视应用日益兴盛,不自量力,编写此框架,以便诸位同仁快捷开发.

    *框架中部份源码来自网络,其中图片加载等 调用 开源框架afinal实现

    *本框架完全开源免费

    *此为测试版本1.0  远未完善 如有疑问 请加群[414801661](智能电视开发交流),随时候教

    *正在努力完善并开发更多控件

下载:

    目前RecoTvFrame的项目托管在Github上面:https://github.com/boxmate/tvframe

    下载文件中有两个工程  一为框架源码 二为DEMO示例工程.

    导入:

    1:下载回来后大家可能发现没有.project工程文件,可以通过File -> Import -> Android -> Existing Android Code Into Workspace来导入工程;

    2:以 Library方式将框架引入目标工程,十分简单,具体操作 实现请百度

    以MAC版 最新版的Eclipse ADT为例:

    第一步: 选中RecoTvFrame框架工程 右键,点击最下方的Properties
    第二步: 点击左侧的Android选项,勾选右下方的 Is Library
    第三步:选中目标工程,右键,点击最下方的Properties,同样点击Android选项,点击 Add按钮,在弹窗中点选RecoTvFrame,保存即可

屏幕适配:

    不同于手机,电视应用布局 一般使用 PX为单位.
    为方便使用, RecoTvFrame工程中提供一套 DIMEMS文件,只需将res目录下所有values文件拷入新建工程res中即可

    示例:
XML: android:layout_width="@dimen/px1920” android:layout_height="@dimen/px1080” JAVA: text.setTextSize(R.dimen.px36)
    适配尺寸以电视主流的 1920*1080分辨率为标准,示例中的尺寸相当于填充全屏.文字尺寸为36像素

电视专用控件:

    1 自带选中框(即控件焦点选中效果),使用方法与原生控件一般 ,除TvGridView外 ,其父容器必须为RelativeLayout
	2 在自定义控件所在xml布局文件中头部声明
	xmlns:tv="http://schemas.android.com/apk/res/工程包名”后,方能使用自定义属性

1 TvTabHost

概述 一个自带标题栏的ViewPager, 实现多页面切换 公共方法选中框 public void addPage(FragmentManager fm, Fragment frag, String title) 添加fragment对象 及标题文字 * activity需继承FragmentActivity public void buildLayout() 生成布局,添加页面后调用

2 TvGridView

自带选中框的GridView,使用方法与 原生GridView类似,也需要写一个类,使继承TvBaseAdapter. 分页加载实现 请参照DEMO中TvGridViewActivity示例,非常简单 公共方法 public void setAdapter(TvBaseAdapter adapter) 设置适配器 public void setOnItemSelectListener(OnItemSelectListener myListener) 设置子项选中监听 public void setOnItemClickListener(OnItemClickListener myListener) 设置子项点击监听

3 TvImageView

专用于显示网络图片 不支持前景 一行代码即完成加载 public void configImageUrl(String url) 设置并显示网络图片

4 TvButton

自带选中框的控钮控件,选中框位置与图片皆可自定义 public void configImageUrl(String url) 设置并显示网络图片

5 TvRelativeLayout

类似于TvButton,但可以做为容器使用 public void configImageUrl(String url) 设置并显示网络图片

6 TvMarqueeText

一个无需焦点的跑马灯控件,自由开关,自定义滚动速度.支持边缘淡出 public void startMarquee() 开启跑马灯 public void stopMarquee() 停止跑马灯

7 TvProgressBar

简单实用的进度条 ,随意变色 多种形状(扇形 环形 圆形 条形) public synchronized void setProgress(int progress) 设置进度

网络操作:

    TvBitmap
    public void display(View view,String url)
    加载网络图片,只支持背景加载

    public void display(View view,String url,Bitmap loadingBitmap)
    第三个参数用来设置加载显示图



    TvHttp

    public void get( String url, AjaxCallBack<? extends Object> callBack)
                get请求
                public void post(String url, AjaxCallBack<? extends Object> callBack)
                post请求
                public HttpHandler download(String url,String target,boolean isResume,AjaxCallBack callback)
                文件下载,支持断点续传 target为存储路径  isResume标记是否断点续传

数据库:

	TvDb
		public  List findAll(Class clazz)
		查找类名对应表中所有数据
		public void insert(Object entity)
		保存对象到表中
		public void update(Object entity, String strWhere)
		根据条件修改数据
		public void deleteByWhere(Class<?> clazz, String strWhere)

支持:

    最低兼容版本:Android 4.0 API 14

    支持分辨率:  1280*672 1280*720  1920*1080 1920*1008  2560*1440 3840*2160

注意事项:

    1  *除TvTabHost 外 其余控件不支持互相嵌套

    2  遇中文乱码,请手动单个工程编码

    3  android-support-v4.jar包冲突时,请复制框架中V4包到目标工程中

    4  诸如ListView  中使用 TvButton,如果显示异常 ,请使用TvSubButton替代

:

日期:2015-04-01 16:52:00
业内新闻
快捷导航
友情链接