A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

package cn.coopen.italktv.player;

import java.util.ArrayList;

import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.util.Log;

import cn.coopen.italktv.constant.PlatformConstant;

public class BBPlayer implements PlatformConstant {

    /* 类标记 */
    public static final String TAG = "BBPlayer";

    /**
     * @param context     上下文
     * @param dataSources 播放资源列表
     * @param index       播放序列号
     * @param category    播放分类
     * @param advType     广告类型0-无广告 1-仅有ITalkMedia2-仅有自有广告3-ITalkMedia+自有广告
     * @see PlatformConstant#CATEGORY_LIVE
     * @see PlatformConstant#CATEGORY_VOD
     * @see PlatformConstant#CATEGORY_LIVE2VOD
     * @see PlatformConstant#CATEGORY_TVBACK
     */
    public static void play(Context context, ArrayList<DataSource> dataSources,
                            int index, int category, int advType) {
        play(context, dataSources, index, category, null, false, advType, "");
    }

    /**
     * @param context     上下文
     * @param dataSources 播放资源列表
     * @param index       播放序列号
     * @param category    播放分类
     * @param isFreeWatch 是否免费试看
     * @param advType     广告类型0-无广告 1-仅有ITalkMedia2-仅有自有广告3-ITalkMedia+自有广告
     * @see PlatformConstant#CATEGORY_LIVE
     * @see PlatformConstant#CATEGORY_VOD
     * @see PlatformConstant#CATEGORY_LIVE2VOD
     * @see PlatformConstant#CATEGORY_TVBACK
     */
    public static void play(Context context, ArrayList<DataSource> dataSources,
                            int index, int category, boolean isFreeWatch, int advType,
                            String price) {
        play(context, dataSources, index, category, null, isFreeWatch, advType,
                price);
    }

    /**
     * @param context     上下文
     * @param dataSources 播放资源列表
     * @param index       播放序列号
     * @param category    播放分类
     * @param isFreeWatch 是否免费试看
     * @param vodList     直播转点播列表
     * @param advType     广告类型0-无广告 1-仅有ITalkMedia2-仅有自有广告3-ITalkMedia+自有广告
     * @see PlatformConstant#CATEGORY_LIVE
     * @see PlatformConstant#CATEGORY_VOD
     * @see PlatformConstant#CATEGORY_LIVE2VOD
     * @see PlatformConstant#CATEGORY_TVBACK
     */
    public static void play(Context context, ArrayList<DataSource> dataSources,
                            int index, int category, ArrayList<VodData> vodList,
                            boolean isFreeWatch, int advType, String price) {
        play(context, dataSources, index, category, vodList, isFreeWatch, advType, price, true);
    }

    /**
     * @param context     上下文
     * @param dataSources 播放资源列表
     * @param index       播放序列号
     * @param category    播放分类
     * @param isFreeWatch 是否免费试看
     * @param vodList     直播转点播列表
     * @param advType     广告类型0-无广告 1-仅有ITalkMedia2-仅有自有广告3-ITalkMedia+自有广告
     * @param showSeries  是否显示选集列表
     * @see PlatformConstant#CATEGORY_LIVE
     * @see PlatformConstant#CATEGORY_VOD
     * @see PlatformConstant#CATEGORY_LIVE2VOD
     * @see PlatformConstant#CATEGORY_TVBACK
     */
    public static void play(Context context, ArrayList<DataSource> dataSources,
                            int index, int category, ArrayList<VodData> vodList,
                            boolean isFreeWatch, int advType, String price, boolean showSeries) {
        Log.d(TAG, "context :" + context + ", isFreeWatch :" + isFreeWatch
                + ", advType :" + advType + ", price :" + price + ", index :"
                + index + ", category :" + category + ", dataSources :"
                + dataSources + ", vodList :" + vodList + ", showSeries :" + showSeries);
        if (context == null || index < 0 || dataSources == null
                || dataSources.size() == 0) {
            Log.d(TAG, "invalid parameters!!!return!!!");
            return;
        }
        Intent intent = new Intent();
        intent.setClass(context, PlayerActivity.class);
        intent.putExtra("data_sources", dataSources);
        intent.putExtra("index", index);
        intent.putExtra(CATEGORY, category);
        intent.putExtra("free", isFreeWatch);
        intent.putExtra("advType", advType);
        intent.putExtra("vod_list", vodList);
        intent.putExtra("price", price);
        intent.putExtra("showSeries", showSeries);
        if (context instanceof Activity) {
            ((Activity) context).startActivityForResult(intent, 0);
        } else {
            context.startActivity(intent);
        }
    }

}
这就是实际开发中利用的方法重载,有效的避免了多方法实现同一功能的问题,通过不同的参数来进行同一件事情的完整,对初学者有一定的引导作用。

1 个回复

倒序浏览
楼主可以发一下就业班的课表吗?我规划一下,目前在基础班。
来自宇宙超级黑马专属苹果客户端来自宇宙超级黑马专属苹果客户端
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马