XRecyclerView下拉刷新,加载更多,添加头布局

来源:互联网 发布:网络用语小白什么意思 编辑:程序博客网 时间:2024/06/11 10:47

            

          XRecyclerView下拉刷新,加载更多,添加头布局


首先要导入一些依赖

 
compile 'com.android.support:recyclerview-v7:26.0.0-alpha1'compile files('libs/okhttp-3.9.0.jar')compile files('libs/okio-1.13.0.jar')compile files('libs/gson-2.2.4.jar')compile files('libs/universal-image-loader-1.9.3.jar')compile 'com.jcodecraeer:xrecyclerview:1.3.2'

记得要在清单里加网络权限和appliction.MyAppliction

<uses-permission android:name="android.permission.INTERNET"></uses-permission><applicationandroid:name=".appliction.MyAppliction"

主页面
MainActivity

import android.os.Bundle;import android.os.Handler;import android.support.v7.app.AppCompatActivity;import android.support.v7.widget.DividerItemDecoration;import android.support.v7.widget.LinearLayoutManager;import android.support.v7.widget.RecyclerView;import android.view.View;import android.view.ViewGroup;import android.widget.ImageView;import android.widget.TextView;import com.google.gson.Gson;import com.jcodecraeer.xrecyclerview.ProgressStyle;import com.jcodecraeer.xrecyclerview.XRecyclerView;import com.nostra13.universalimageloader.core.ImageLoader;import java.io.IOException;import java.util.ArrayList;import java.util.List;import okhttp3.Call;import okhttp3.Callback;import okhttp3.Response;/** * 主页面 */public class MainActivity extends AppCompatActivity {    int type=2;    MyAdapter adapter;    // RecyclerView rv;    Maxs maxs;    Max max;    //御泥坊接口    //  String str = "http://m.yunifang.com/yunifang/mobile/category/list?random=96333&encode=bf3386e14fe5bb0bcef234baebca2414";    //周考二考试接口,用了拦截器,在Utils里OkHttp的封装里添加.addHeader("User-Agent",""),    //拼接了拦截器的.addHeader("User-Agent","")才能解析出数据       String str = "http://tingapi.ting.baidu.com/v1/restserver/ting?method=baidu.ting.billboard.billList&type="+type+"&size=20&offset=0";    private XRecyclerView xRecyclerView;     // boolean flag=true;    Handler handler=new Handler();     List<Maxs.SongListEntity> list;   // List<Maxs.SongListEntity> list1;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        list=new ArrayList<Maxs.SongListEntity>();        //找控件      //  rv = (RecyclerView) findViewById(R.id.rv);        xRecyclerView = (XRecyclerView) findViewById(R.id.rv);        OkUrl();        intitView();    }    //初始化布局管理器    private void intitView() {        //LinearLayoutManager布局样式        LinearLayoutManager manager = new LinearLayoutManager(this);        //  GridLayoutManager布局样式        // GridLayoutManager manager = new GridLayoutManager(this, 2);        //设置样式        xRecyclerView.setLayoutManager(manager);        //想要添加分割线,必须要写上这行代码        xRecyclerView.addItemDecoration(new DividerItemDecoration(this, DividerItemDecoration.VERTICAL));         //允许加载        xRecyclerView.setLoadingMoreEnabled(true);        //允许刷新        xRecyclerView.setPullRefreshEnabled(true);        //加载样式(加载进度的小圆圈)        xRecyclerView.setLoadingMoreProgressStyle(ProgressStyle.Pacman);        xRecyclerView.setLoadingListener(new XRecyclerView.LoadingListener() {            //下拉刷新            @Override            public void onRefresh() {                handler.postDelayed(new Runnable() {                    @Override                    public void run() {                       // flag = true;                        type ++;                        OkUrl();                        //刷新适配器                       // adapter.notifyDataSetChanged();                        //刷新完成                       xRecyclerView.refreshComplete();                    }                },3000);            }              //加载更多            @Override            public void onLoadMore() {             handler.postDelayed(new Runnable() {                 @Override                 public void run() {                    // flag = false;                     type ++;                     OkUrl();                     //刷新适配器                    // adapter.notifyDataSetChanged();                      //刷新完成                     xRecyclerView.refreshComplete();                 }             },3000);            }        });    }    //okhttp的网络请求    private void OkUrl() {        OkHttp3Utils.doGet(str, new Callback() {            @Override            public void onFailure(Call call, IOException e) {              //请求失败            }            @Override            public void onResponse(Call call, Response response) throws IOException {                //解析                Gson gson = new Gson();                String strs = response.body().string();                maxs = gson.fromJson(strs, Maxs.class);                list=maxs.getSong_list();             /*  if (flag){                   list=maxs.getSong_list();               }else {                 list1=new ArrayList<Maxs.SongListEntity>();                  list1=list=maxs.getSong_list();                  list1.addAll(list);               }*/                runOnUiThread(new Runnable() {                    @Override                    public void run() {                        //创建适配器                        adapter = new MyAdapter();                        //设置适配器                       xRecyclerView.setAdapter(adapter);                        //添加头布局                        TextView title=new TextView(MainActivity.this);                        adapter.addHeader(title);                        //刷新适配器                        adapter.notifyDataSetChanged();                    }                });            }        });    }    //创建RecyclerView适配器    class MyAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> {          //设置type值        public static final int TYPE_HEADER = 0;        public static final int TYPE_ONE = 1;          //把View放到集合里       List<View> listHeader = new ArrayList<>();        //把view添加到listHeader里        public void addHeader(View view) {            listHeader.add(view);        }        @Override        public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {            //加载头布局  R.layout.head            if (viewType == TYPE_HEADER) {                View view = View.inflate(MainActivity.this, R.layout.head, null);                MyHeaderHolder holderHead = new MyHeaderHolder(view);                return holderHead;            } else {                //加载条目布局   R.layout.item                View view = View.inflate(MainActivity.this, R.layout.item, null);                MyViewHolder holder = new MyViewHolder(view);                return holder;            }        }        @Override        public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) {            //给MyHeaderHolder头布局控件赋值            if (holder instanceof MyHeaderHolder) {                ((MyHeaderHolder) holder).headtv.setText(maxs.getBillboard().getName());                //加载图片               ImageLoader.getInstance().displayImage(maxs.getBillboard().getPic_s444(), ((MyHeaderHolder) holder).headiv);            }           //给MyViewHolder控件赋值            if (holder instanceof MyViewHolder) {                ((MyViewHolder) holder).tv.setText(maxs.getSong_list().get(position).getTitle());                 //加载图片                ImageLoader.getInstance().displayImage(maxs.getSong_list().get(position).getPic_small(), ((MyViewHolder) holder).iv);            }        }        @Override        public int getItemCount() {            //返回条目数量            return maxs.getSong_list()==null ? 0:maxs.getSong_list().size();        }        //多条目类型条数        @Override        public int getItemViewType(int position) {            if (position<listHeader.size()){                return TYPE_HEADER;            }else {                return TYPE_ONE;            }        }            //创建 MyHeaderHolder            class MyHeaderHolder extends RecyclerView.ViewHolder {             TextView headtv;                ImageView headiv;                //该构造方法接受的itemView参数 就是item布局的view对象                public MyHeaderHolder(View itemView) {                    super(itemView);                    //找控件                    headtv=itemView.findViewById(R.id.head_tv);                    headiv=itemView.findViewById(R.id.head_iv);                }            }          //创建MyViewHolder            class MyViewHolder extends RecyclerView.ViewHolder {                TextView tv;                ImageView iv;                public MyViewHolder(View itemView) {                    super(itemView);                    //找控件                    tv = itemView.findViewById(R.id.tv);                    iv = itemView.findViewById(R.id.iv);                }            }        }    }

/**
* OkHttp的封装类
*/

 
public class OkHttp3Utils {private static OkHttpClient okHttpClient = null;public OkHttp3Utils() {}private static OkHttpClient getOkHttpClient() {synchronized (OkHttp3Utils.class) {if (okHttpClient == null) {okHttpClient = new OkHttpClient();}}return okHttpClient;}//上传文件public static void loadFile(String url, File file,String fileName){OkHttpClient okHttpClient = getOkHttpClient();//设置文件类型RequestBody requestBody = RequestBody.create(MediaType.parse("application/octet-stream"),file);//设置请求体RequestBody body = new MultipartBody.Builder().setType(MultipartBody.FORM).addFormDataPart("image",fileName,requestBody).build();//请求方式Request request = new Request.Builder().url(url).post(body).build();okHttpClient.newCall(request).enqueue(new Callback() {@Overridepublic void onFailure(Call call, IOException e) {}@Overridepublic void onResponse(Call call, Response response) throws IOException {Log.i("成功","成功");}});}/*** 1.接口地址* 2.接口回调*/public static void doGet(String url,Callback callback){OkHttpClient okHttpClient = getOkHttpClient();//使用了拦截器,拼接了拦截器的.addHeader("User-Agent","")才能解析出数据Request request = new Request.Builder().addHeader("User-Agent","").url(url).build();okHttpClient.newCall(request).enqueue(callback);}/*** 1.地址* 2.接口回调* 3.请求体*/public static void doPost(String url, Map<String,String> map,Callback callback){OkHttpClient okHttpClient = getOkHttpClient();FormBody.Builder builder = new FormBody.Builder();//遍历map集合 设置请求体for (String mapKey : map.keySet()){builder.add(mapKey,map.get(mapKey));}//设置请求方式Request request = new Request.Builder().url(url).post(builder.build()).build();//执行请求方式 接口回调okHttpClient.newCall(request).enqueue(callback);}/***1.下载地址*/public static void doDown(String url,Callback callback){OkHttpClient okHttpClient = getOkHttpClient();Request build = new Request.Builder().url(url).build();okHttpClient.newCall(build).enqueue(callback);}}

网络拦截器
 
import android.os.Build;import java.io.IOException;import okhttp3.Interceptor;import okhttp3.Request;import okhttp3.Response;/*** 网络拦截器*/public class LoggingInterceptor implements Interceptor {private static final String UA = "User-Agent";@Overridepublic Response intercept(Chain chain) throws IOException {Request request = chain.request().newBuilder().addHeader(UA, makeUA()).build();return chain.proceed(request);}private String makeUA() {String s = Build.BRAND + "/" + Build.MODEL + "/" + Build.VERSION.RELEASE;return Build.BRAND + "/" + Build.MODEL + "/" + Build.VERSION.RELEASE;}}

Application

import android.app.Application;import com.nostra13.universalimageloader.cache.disc.impl.UnlimitedDiscCache;import com.nostra13.universalimageloader.core.ImageLoader;import com.nostra13.universalimageloader.core.ImageLoaderConfiguration;import java.io.File;/**** 初始化 ImageLoader*/public class MyAppliction extends Application {@Overridepublic void onCreate() {super.onCreate();// ImageLoaderConfiguration cofn = ImageLoaderConfiguration.createDefault(this);//ImageLoader.getInstance().init(cofn);//指定路径File file = this.getCacheDir();//缓存到SD卡上ImageLoaderConfiguration config = new ImageLoaderConfiguration.Builder( this)// 自定义缓存路径.diskCache(new UnlimitedDiscCache(file)).build();ImageLoader.getInstance().init(config);}}

布局

Mainactivity布局
<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"><!-- <android.support.v7.widget.RecyclerViewandroid:id="@+id/rv"android:layout_width="match_parent"android:layout_height="400dp"></android.support.v7.widget.RecyclerView> --><com.jcodecraeer.xrecyclerview.XRecyclerViewandroid:id="@+id/rv"android:layout_width="match_parent"android:layout_height="match_parent"></com.jcodecraeer.xrecyclerview.XRecyclerView></RelativeLayout>

head头布局

<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"><!-- <android.support.v7.widget.RecyclerViewandroid:id="@+id/rv"android:layout_width="match_parent"android:layout_height="400dp"></android.support.v7.widget.RecyclerView> --><com.jcodecraeer.xrecyclerview.XRecyclerViewandroid:id="@+id/rv"android:layout_width="match_parent"android:layout_height="match_parent"></com.jcodecraeer.xrecyclerview.XRecyclerView></RelativeLayout>

item布局


<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical"><LinearLayoutandroid:id="@+id/ll"android:layout_width="match_parent"android:layout_height="wrap_content"android:orientation="horizontal"><ImageViewandroid:id="@+id/iv"android:layout_width="80dp"android:layout_height="60dp"android:src="@mipmap/ic_launcher"/><TextViewandroid:id="@+id/tv"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="考试"android:layout_marginTop="10dp"android:textSize="10sp"/></LinearLayout></LinearLayout>

Bean类

 import java.util.List;/** *  Bean类,解析的数据 */public class Maxs {    /**     * billboard_type : 1     * billboard_no : 2349     * update_date : 2017-10-16     * billboard_songnum : 146     * havemore : 1     * name : 新歌榜     * comment : 该榜单是根据百度音乐平台歌曲每日播放量自动生成的数据榜单,统计范围为近期发行的歌曲,每日更新一次     * pic_s192 : http://b.hiphotos.baidu.com/ting/pic/item/9922720e0cf3d7caf39ebc10f11fbe096b63a968.jpg     * pic_s640 : http://c.hiphotos.baidu.com/ting/pic/item/f7246b600c33874495c4d089530fd9f9d62aa0c6.jpg     * pic_s444 : http://d.hiphotos.baidu.com/ting/pic/item/78310a55b319ebc4845c84eb8026cffc1e17169f.jpg     * pic_s260 : http://b.hiphotos.baidu.com/ting/pic/item/e850352ac65c1038cb0f3cb0b0119313b07e894b.jpg     * pic_s210 : http://business.cdn.qianqian.com/qianqian/pic/bos_client_c49310115801d43d42a98fdc357f6057.jpg     * web_url : http://music.baidu.com/top/new     */    private BillboardEntity billboard;        private int error_code;    /**     * artist_id : 310838090     * language : 国语     * pic_big : http://musicdata.baidu.com/data2/pic/3b9383fd29bbf5ff3dd2b2e66fbf19be/559880021/559880021.jpg@s_1,w_150,h_150     * pic_small : http://musicdata.baidu.com/data2/pic/3b9383fd29bbf5ff3dd2b2e66fbf19be/559880021/559880021.jpg@s_1,w_90,h_90     * country : 内地     * area : 0     * publishtime : 2017-10-11     * album_no : 3     * lrclink : http://musicdata.baidu.com/data2/lrc/74da30df7989ef0957094446e178d602/557893656/557893656.lrc     * copy_type : 1     * hot : 130322     * all_artist_ting_uid : 239907481     * resource_type : 0     * is_new : 1     * rank_change : 0     * rank : 1     * all_artist_id : 310838090     * style :     * del_status : 0     * relate_status : 0     * toneid : 0     * all_rate : 64,128,256,320,flac     * file_duration : 266     * has_mv_mobile : 0     * versions :     * bitrate_fee : {"0":"0|0","1":"0|0"}     * biaoshi : first,lossless     * info :     * has_filmtv : 0     * si_proxycompany : 华宇世博音乐文化(北 京)有限公司-普通代理     * song_id : 557631688     * title : 三角题     * ting_uid : 239907481     * author : 二珂     * album_id : 555678187     * album_title : 带着音乐去旅行     * is_first_publish : 0     * havehigh : 2     * charge : 0     * has_mv : 1     * learn : 0     * song_source : web     * piao_id : 0     * korean_bb_song : 0     * resource_type_ext : 0     * mv_provider : 0000000000     * artist_name : 二珂     */    private List<SongListEntity> song_list;    public void setBillboard(BillboardEntity billboard) {        this.billboard = billboard;    }    public void setError_code(int error_code) {        this.error_code = error_code;    }    public void setSong_list(List<SongListEntity> song_list) {        this.song_list = song_list;    }    public BillboardEntity getBillboard() {        return billboard;    }    public int getError_code() {        return error_code;    }    public List<SongListEntity> getSong_list() {        return song_list;    }    public static class BillboardEntity {        private String billboard_type;        private String billboard_no;        private String update_date;        private String billboard_songnum;        private int havemore;        private String name;        private String comment;        private String pic_s192;        private String pic_s640;        private String pic_s444;        private String pic_s260;        private String pic_s210;        private String web_url;        public void setBillboard_type(String billboard_type) {            this.billboard_type = billboard_type;        }        public void setBillboard_no(String billboard_no) {            this.billboard_no = billboard_no;        }        public void setUpdate_date(String update_date) {            this.update_date = update_date;        }        public void setBillboard_songnum(String billboard_songnum) {            this.billboard_songnum = billboard_songnum;        }        public void setHavemore(int havemore) {            this.havemore = havemore;        }        public void setName(String name) {            this.name = name;        }        public void setComment(String comment) {            this.comment = comment;        }        public void setPic_s192(String pic_s192) {            this.pic_s192 = pic_s192;        }        public void setPic_s640(String pic_s640) {            this.pic_s640 = pic_s640;        }        public void setPic_s444(String pic_s444) {            this.pic_s444 = pic_s444;        }        public void setPic_s260(String pic_s260) {            this.pic_s260 = pic_s260;        }        public void setPic_s210(String pic_s210) {            this.pic_s210 = pic_s210;        }        public void setWeb_url(String web_url) {            this.web_url = web_url;        }        public String getBillboard_type() {            return billboard_type;        }        public String getBillboard_no() {            return billboard_no;        }        public String getUpdate_date() {            return update_date;        }        public String getBillboard_songnum() {            return billboard_songnum;        }        public int getHavemore() {            return havemore;        }        public String getName() {            return name;        }        public String getComment() {            return comment;        }        public String getPic_s192() {            return pic_s192;        }        public String getPic_s640() {            return pic_s640;        }        public String getPic_s444() {            return pic_s444;        }        public String getPic_s260() {            return pic_s260;        }        public String getPic_s210() {            return pic_s210;        }        public String getWeb_url() {            return web_url;        }    }    public static class SongListEntity {        private String artist_id;        private String language;        private String pic_big;        private String pic_small;        private String country;        private String area;        private String publishtime;        private String album_no;        private String lrclink;        private String copy_type;        private String hot;        private String all_artist_ting_uid;        private String resource_type;        private String is_new;        private String rank_change;        private String rank;        private String all_artist_id;        private String style;        private String del_status;        private String relate_status;        private String toneid;        private String all_rate;        private int file_duration;        private int has_mv_mobile;        private String versions;        private String bitrate_fee;        private String biaoshi;        private String info;        private String has_filmtv;        private String si_proxycompany;        private String song_id;        private String title;        private String ting_uid;        private String author;        private String album_id;        private String album_title;        private int is_first_publish;        private int havehigh;        private int charge;        private int has_mv;        private int learn;        private String song_source;        private String piao_id;        private String korean_bb_song;        private String resource_type_ext;        private String mv_provider;        private String artist_name;        public void setArtist_id(String artist_id) {            this.artist_id = artist_id;        }        public void setLanguage(String language) {            this.language = language;        }        public void setPic_big(String pic_big) {            this.pic_big = pic_big;        }        public void setPic_small(String pic_small) {            this.pic_small = pic_small;        }        public void setCountry(String country) {            this.country = country;        }        public void setArea(String area) {            this.area = area;        }        public void setPublishtime(String publishtime) {            this.publishtime = publishtime;        }        public void setAlbum_no(String album_no) {            this.album_no = album_no;        }        public void setLrclink(String lrclink) {            this.lrclink = lrclink;        }        public void setCopy_type(String copy_type) {            this.copy_type = copy_type;        }        public void setHot(String hot) {            this.hot = hot;        }        public void setAll_artist_ting_uid(String all_artist_ting_uid) {            this.all_artist_ting_uid = all_artist_ting_uid;        }        public void setResource_type(String resource_type) {            this.resource_type = resource_type;        }        public void setIs_new(String is_new) {            this.is_new = is_new;        }        public void setRank_change(String rank_change) {            this.rank_change = rank_change;        }        public void setRank(String rank) {            this.rank = rank;        }        public void setAll_artist_id(String all_artist_id) {            this.all_artist_id = all_artist_id;        }        public void setStyle(String style) {            this.style = style;        }        public void setDel_status(String del_status) {            this.del_status = del_status;        }        public void setRelate_status(String relate_status) {            this.relate_status = relate_status;        }        public void setToneid(String toneid) {            this.toneid = toneid;        }        public void setAll_rate(String all_rate) {            this.all_rate = all_rate;        }        public void setFile_duration(int file_duration) {            this.file_duration = file_duration;        }        public void setHas_mv_mobile(int has_mv_mobile) {            this.has_mv_mobile = has_mv_mobile;        }        public void setVersions(String versions) {            this.versions = versions;        }        public void setBitrate_fee(String bitrate_fee) {            this.bitrate_fee = bitrate_fee;        }        public void setBiaoshi(String biaoshi) {            this.biaoshi = biaoshi;        }        public void setInfo(String info) {            this.info = info;        }        public void setHas_filmtv(String has_filmtv) {            this.has_filmtv = has_filmtv;        }        public void setSi_proxycompany(String si_proxycompany) {            this.si_proxycompany = si_proxycompany;        }        public void setSong_id(String song_id) {            this.song_id = song_id;        }        public void setTitle(String title) {            this.title = title;        }        public void setTing_uid(String ting_uid) {            this.ting_uid = ting_uid;        }        public void setAuthor(String author) {            this.author = author;        }        public void setAlbum_id(String album_id) {            this.album_id = album_id;        }        public void setAlbum_title(String album_title) {            this.album_title = album_title;        }        public void setIs_first_publish(int is_first_publish) {            this.is_first_publish = is_first_publish;        }        public void setHavehigh(int havehigh) {            this.havehigh = havehigh;        }        public void setCharge(int charge) {            this.charge = charge;        }        public void setHas_mv(int has_mv) {            this.has_mv = has_mv;        }        public void setLearn(int learn) {            this.learn = learn;        }        public void setSong_source(String song_source) {            this.song_source = song_source;        }        public void setPiao_id(String piao_id) {            this.piao_id = piao_id;        }        public void setKorean_bb_song(String korean_bb_song) {            this.korean_bb_song = korean_bb_song;        }        public void setResource_type_ext(String resource_type_ext) {            this.resource_type_ext = resource_type_ext;        }        public void setMv_provider(String mv_provider) {            this.mv_provider = mv_provider;        }        public void setArtist_name(String artist_name) {            this.artist_name = artist_name;        }        public String getArtist_id() {            return artist_id;        }        public String getLanguage() {            return language;        }        public String getPic_big() {            return pic_big;        }        public String getPic_small() {            return pic_small;        }        public String getCountry() {            return country;        }        public String getArea() {            return area;        }        public String getPublishtime() {            return publishtime;        }        public String getAlbum_no() {            return album_no;        }        public String getLrclink() {            return lrclink;        }        public String getCopy_type() {            return copy_type;        }        public String getHot() {            return hot;        }        public String getAll_artist_ting_uid() {            return all_artist_ting_uid;        }        public String getResource_type() {            return resource_type;        }        public String getIs_new() {            return is_new;        }        public String getRank_change() {            return rank_change;        }        public String getRank() {            return rank;        }        public String getAll_artist_id() {            return all_artist_id;        }        public String getStyle() {            return style;        }        public String getDel_status() {            return del_status;        }        public String getRelate_status() {            return relate_status;        }        public String getToneid() {            return toneid;        }        public String getAll_rate() {            return all_rate;        }        public int getFile_duration() {            return file_duration;        }        public int getHas_mv_mobile() {            return has_mv_mobile;        }        public String getVersions() {            return versions;        }        public String getBitrate_fee() {            return bitrate_fee;        }        public String getBiaoshi() {            return biaoshi;        }        public String getInfo() {            return info;        }        public String getHas_filmtv() {            return has_filmtv;        }        public String getSi_proxycompany() {            return si_proxycompany;        }        public String getSong_id() {            return song_id;        }        public String getTitle() {            return title;        }        public String getTing_uid() {            return ting_uid;        }        public String getAuthor() {            return author;        }        public String getAlbum_id() {            return album_id;        }        public String getAlbum_title() {            return album_title;        }        public int getIs_first_publish() {            return is_first_publish;        }        public int getHavehigh() {            return havehigh;        }        public int getCharge() {            return charge;        }        public int getHas_mv() {            return has_mv;        }        public int getLearn() {            return learn;        }        public String getSong_source() {            return song_source;        }        public String getPiao_id() {            return piao_id;        }        public String getKorean_bb_song() {            return korean_bb_song;        }        public String getResource_type_ext() {            return resource_type_ext;        }        public String getMv_provider() {            return mv_provider;        }        public String getArtist_name() {            return artist_name;        }    }}


 







阅读全文
0 0
原创粉丝点击