package com.example.zoukao3; import android.content.Intent; import android.os.AsyncTask; import android.os.Bundle; import android.os.Environment; 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.AdapterView; import android.widget.BaseAdapter; import android.widget.ImageView; import android.widget.ListView; import android.widget.TextView; import com.google.gson.Gson; import com.nostra13.universalimageloader.cache.disc.impl.UnlimitedDiskCache; import com.nostra13.universalimageloader.core.DisplayImageOptions; import com.nostra13.universalimageloader.core.ImageLoader; import com.nostra13.universalimageloader.core.ImageLoaderConfiguration; import java.io.File; import java.io.IOException; import java.io.InputStream; import java.net.HttpURLConnection; import java.net.URL; import java.net.URLConnection; import java.util.List; /** * Created by dell on 2017/8/18. */ public class MyFragment extends Fragment { private View view; private ListView listview; private ImageLoader imageLoader; @Nullable @Override public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { view = inflater.inflate(R.layout.myfragment, container, false); return view; } @Override public void onActivityCreated(@Nullable Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); listview = view.findViewById(R.id.listview); try { getDates("http://api.kkmh.com/v1/daily/comic_lists/0?since=0&gender=0&sa_event=eyJwcm9qZWN0Ijoia3VhaWthbl9hcHAiLCJ0aW1lIjoxNDg3NzQyMjQwNjE1LCJwcm9wZXJ0aWVzIjp7IkhvbWVwYWdlVGFiTmFtZSI6IueDremXqCIsIlZDb21tdW5pdHlUYWJOYW1lIjoi54Ot6ZeoIiwiJG9zX3ZlcnNpb24iOiI0LjQuMiIsIkdlbmRlclR5cGUiOiLlpbPniYgiLCJGcm9tSG9tZXBhZ2VUYWJOYW1lIjoi54Ot6ZeoIiwiJGxpYl92ZXJzaW9uIjoiMS42LjEzIiwiJG5ldHdvcmtfdHlwZSI6IldJRkkiLCIkd2lmaSI6dHJ1ZSwiJG1hbnVmYWN0dXJlciI6ImJpZ25veCIsIkZyb21Ib21lcGFnZVVwZGF0ZURhdGUiOjAsIiRzY3JlZW5faGVpZ2h0IjoxMjgwLCJIb21lcGFnZVVwZGF0ZURhdGUiOjAsIlByb3BlcnR5RXZlbnQiOiJSZWFkSG9tZVBhZ2UiLCJGaW5kVGFiTmFtZSI6IuaOqOiNkCIsImFidGVzdF9ncm91cCI6MTEsIiRzY3JlZW5fd2lkdGgiOjcyMCwiJG9zIjoiQW5kcm9pZCIsIlRyaWdnZXJQYWdlIjoiSG9tZVBhZ2UiLCIkY2FycmllciI6IkNoaW5hIE1vYmlsZSIsIiRtb2RlbCI6IlZQaG9uZSIsIiRhcHBfdmVyc2lvbiI6IjMuNi4yIn0sInR5cGUiOiJ0cmFjayIsImRpc3RpbmN0X2lkIjoiQTo2YWRkYzdhZTQ1MjUwMzY1Iiwib3JpZ2luYWxfaWQiOiJBOjZhZGRjN2FlNDUyNTAzNjUiLCJldmVudCI6IlJlYWRIb21lUGFnZSJ9"); } catch (Exception e) { e.printStackTrace(); } } public void getDates(String path) { new AsyncTask<String, Void, String>() { @Override protected void onPostExecute(String s) { super.onPostExecute(s); if (s != null) { Gson gson = new Gson(); MenuInfo menuInfo = gson.fromJson(s, MenuInfo.class); List<MenuInfo.DataBean.ComicsBean> comics = menuInfo.getData().getComics(); listview.setAdapter(new Myadspter(comics)); } } @Override protected String doInBackground(String... strings) { try { String path = strings[0]; URL url = new URL(path); HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection(); urlConnection.setRequestMethod("GET"); urlConnection.setConnectTimeout(200); urlConnection.setReadTimeout(200); int code = urlConnection.getResponseCode(); if (code == 200) { InputStream is = urlConnection.getInputStream(); String json = StreamInfo.read(is); return json; } } catch (Exception e) { e.printStackTrace(); } return null; } }.execute(path); } class Myadspter extends BaseAdapter { List<MenuInfo.DataBean.ComicsBean> comics; private final DisplayImageOptions options; private ImageView imageitem1; public Myadspter(List<MenuInfo.DataBean.ComicsBean> comics) { this.comics = comics; imageLoader = ImageLoader.getInstance(); File file = new File(Environment.getExternalStorageDirectory(), "Bwei"); if (!file.exists()) file.mkdirs(); ImageLoaderConfiguration configuration = new ImageLoaderConfiguration.Builder(getActivity()) .diskCache(new UnlimitedDiskCache(file)) .build(); imageLoader.init(configuration); options = new DisplayImageOptions.Builder() .showImageOnLoading(R.mipmap.ic_launcher) .cacheOnDisk(true) .build(); } @Override public int getCount() { return comics.size(); } @Override public Object getItem(int position) { return comics.get(position); } @Override public long getItemId(int position) { return position; } @Override public int getItemViewType(int position) { if (position % 2 == 0) { return 0; } else { return 1; } } @Override public int getViewTypeCount() { return 2; } @Override public View getView(final int position, View convertView, ViewGroup parent) { int type = getItemViewType(position); switch (type) { case 1: if (convertView == null) { convertView = convertView.inflate(getActivity(), R.layout.item2, null); ImageView imageitem2 = (ImageView) convertView.findViewById(R.id.imageitem2); TextView textitem2 = (TextView) convertView.findViewById(R.id.textitem2); TextView biaoti2 = (TextView) convertView.findViewById(R.id.biaoti2); textitem2.setText(comics.get(position).getTitle()); getimage(comics.get(position).getCover_image_url(), imageitem2); biaoti2.setText(comics.get(position).getLabel_text()); } break; case 0: if (convertView == null) { convertView = convertView.inflate(getActivity(), R.layout.item1, null); imageitem1 = (ImageView) convertView.findViewById(R.id.imageitem1); TextView textitem1 = (TextView) convertView.findViewById(R.id.textitem1); TextView biaoti = (TextView) convertView.findViewById(R.id.biaoti); textitem1.setText(comics.get(position).getTitle()); getimage(comics.get(position).getCover_image_url(), imageitem1); biaoti.setText(comics.get(position).getLabel_text()); } break; } listview.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) { Intent intent = new Intent(getActivity(), SecondActivity.class); intent.putExtra("exter", comics.get(position).getLabel_text()); startActivity(intent); } }); return convertView; } } public void getimage(String path, ImageView imageView) { DisplayImageOptions options = new DisplayImageOptions.Builder() .cacheOnDisk(true) .cacheInMemory(true) .build(); ImageLoader.getInstance().displayImage(path, imageView, options); } }
漫画加载,频道管理(MyFragment)
最新推荐文章于 2019-08-06 12:23:57 发布