主页面
package com.example.rkshijiu.yemian;
import android.os.AsyncTask;
import android.os.Bundle;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ListView;
import android.widget.Toast;
import com.example.pulltolibrary.PullToRefreshBase;
import com.example.pulltolibrary.PullToRefreshListView;
import com.example.rkshijiu.Bean;
import com.example.rkshijiu.Madapter;
import com.example.rkshijiu.Nutile;
import com.example.rkshijiu.R;
import com.example.rkshijiu.shujuku.Dao;
import com.google.gson.Gson;
import com.recker.flybanner.FlyBanner;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.ArrayList;
import java.util.List;
public class HomeFragment extends Fragment {
private int num=1;
private Bean bean;
private PullToRefreshListView lv;
private List<Bean.ResultBean> list = new ArrayList<>();
private Madapter madapter;
private Dao dao;
private String url;
@Nullable
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle
savedInstanceState) {
View view=inflater.inflate(R.layout.hone,container,false);
lv=view.findViewById(R.id.lv);
url=getArguments().getString("url");
lv.setMode(PullToRefreshListView.Mode.BOTH);
dao=new Dao(getActivity());
madapter = new Madapter(getActivity(), list);
lv.setAdapter(madapter);
initdate();
//异步请求
indata(1);
return view;
}
//监听事件
private void initdate() {
lv.setOnRefreshListener(new PullToRefreshBase.OnRefreshListener2<ListView>() {
@Override
public void onPullDownToRefresh(PullToRefreshBase<ListView> refreshView) {
num=1;
list.clear();
indata(1);
}
@Override
public void onPullUpToRefresh(PullToRefreshBase<ListView> refreshView) {
num++;
indata(num);
}
});
}
private void indata( int num) {
if (Nutile.has(getActivity())==false){
Toast.makeText(getActivity(),"联网失败",Toast.LENGTH_SHORT).show();
list.addAll(dao.select());
madapter.notifyDataSetChanged();
}else if (Nutile.has(getActivity())==true){
new AsyncTask<String,Void, List<Bean.ResultBean>>() {
@Override
protected List<Bean.ResultBean> doInBackground(String... strings) {
try {
URL url = new URL(strings[0]);
HttpURLConnection httpURLConnection=(HttpURLConnection)url.openConnection();
httpURLConnection.setRequestMethod("GET");
httpURLConnection.setConnectTimeout(5000);
httpURLConnection.setReadTimeout(5000);
int responseCode = httpURLConnection.getResponseCode();
if (responseCode==200){
String s = s2(httpURLConnection.getInputStream());
Gson gson = new Gson();
bean = gson.fromJson(s, Bean.class);
for (int i=0;i<bean.getResult().size();i++){
dao.add(bean.getResult().get(i).getName(),bean.getResult().
get(i).getImageUrl(),bean.getResult().get(i).getId());
}
return dao.select();
}
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
@Override
protected void onPostExecute(List<Bean.ResultBean> resultBeans) {
super.onPostExecute(resultBeans);
list.addAll(resultBeans);
madapter.notifyDataSetChanged();
lv.onRefreshComplete();
}
}.execute(url+num);
}
}
private String s2(InputStream inputStream) {
StringBuilder stringBuilder = new StringBuilder();
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream));
try {
for (String temp = bufferedReader.readLine(); temp != null; temp = bufferedReader.readLine()) {
stringBuilder.append(temp);
}
} catch (IOException e) {
e.printStackTrace();
}
return stringBuilder.toString();
}
}
VpAdapter页面
package com.example.rkshijiu;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentPagerAdapter;
import com.example.rkshijiu.yemian.HomeFragment;
public class VpAdapter extends FragmentPagerAdapter {
private String[] names=new String[]{
"关注","综艺"
};
public VpAdapter(FragmentManager fm) {
super(fm);
}
public String patUrl="";
@Override
public Fragment getItem(int i) {
switch (i){
case 0:
patUrl="http://172.17.8.100/movieApi/movie/v1/findHotMovieList?count=10&page=";
default:
patUrl="http://172.17.8.100/movieApi/movie/v1/findReleaseMovieList?count=10&page=";
}
Bundle bundle = new Bundle();
bundle.putString("url",patUrl);
HomeFragment homeFragment=new HomeFragment();
homeFragment.setArguments(bundle);
return homeFragment;
}
@Override
public int getCount() {
return names.length;
}
@Nullable
@Override
public CharSequence getPageTitle(int position) {
return names[position];
}
}