你的位置:首页 > 信息动态 > 新闻中心
信息动态
联系我们

(个人项目)一个简单的电影搜索查找app

2021-11-29 18:03:24

项目时间:202003

项目界面:

项目特点:

1.资源利用DataManager类进行管理,文件存储在本地SD卡内

2.电影年份范围采用的是'com.appyvet:materialrangebar:1.4.8'提供的双向SeekBar进行操作,头部或尾部的点击点结束拖动后会改变各自EditText的内容

3.点击查找时才获取界面信息,减少执行资料浪费

4.查找字幕类型时使用了异或计算 当选中的字幕类型与检查的电影的字幕类型不同时异或计算为1,此时不添加此电影到查询结果列表

private void search() {
        if(searchInfo==null){
            searchInfo = new SearchInfo();
        }
        if(filmResultList==null){
            filmResultList = new ArrayList<Film>();
        }
        filmResultList.clear();
        resultIndex = 0;

        updateSearchInfo();

        for(Film film:filmList){
            //查询导演名称
            if((!searchInfo.director.equals(film.getDirector()))&&!searchInfo.director.equals(""))
                continue;
            //查询影片名称
            if((!searchInfo.name.equals(film.getName()))&&(!searchInfo.name.equals("")))
                continue;
            //查询年份
            if(!(film.getYear()>=searchInfo.yearStart&&film.getYear()<= searchInfo.yearEnd))
                continue;
            //查询字幕
            if(searchInfo.hasSubtitle!=0){
                if((film.isSubtitle()^(searchInfo.hasSubtitle==1)))//相同为0,不同为1,
                    continue;
            }
            //查询类型,规则为选择多项条件更广,如果一个都没选则全部添加
            if((!searchInfo.isTypeScience)&&(!searchInfo.isTypeSuspense)&&(!searchInfo.isTypeLove)&&(!searchInfo.isTypeBiography)&&(!searchInfo.isTypeComedy)){
                filmResultList.add(film);
                continue;
            }
            for(String type :film.getTypes().split("-")){
                if(searchInfo.isTypeComedy&&type.equals("喜剧")
                    ||searchInfo.isTypeLove&&type.equals("爱情")
                    ||searchInfo.isTypeSuspense&&type.equals("悬疑")
                    ||searchInfo.isTypeBiography&&type.equals("传记")
                    ||searchInfo.isTypeScience&&type.equals("科幻")){
                    filmResultList.add(film);
                    break;
                }
            }
        }
        mTvResultNum.setText("符合条件的结果有"+String.valueOf(filmResultList.size())+"个");
    }

仓库地址:

Ci90t0/FilmSearchApplication