kaoshi(zhulei轮播)
来源:互联网 发布:c语言层次遍历二叉树 编辑:程序博客网 时间:2024/06/06 00:53
package com.example.kaoshi;import android.app.ProgressDialog;import android.content.DialogInterface;import android.content.Intent;import android.database.sqlite.SQLiteDatabase;import android.graphics.Bitmap;import android.os.AsyncTask;import android.os.Handler;import android.os.Message;import android.support.v4.view.PagerAdapter;import android.support.v4.view.ViewPager;import android.support.v7.app.AlertDialog;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.view.View;import android.view.ViewGroup;import android.widget.BaseAdapter;import android.widget.ImageView;import android.widget.TextView;import com.google.gson.Gson;import com.limxing.xlistview.view.XListView;import com.nostra13.universalimageloader.core.DisplayImageOptions;import com.nostra13.universalimageloader.core.ImageLoader;import java.io.IOException;import java.io.InputStream;import java.io.OutputStream;import java.net.HttpURLConnection;import java.net.URL;import java.net.URLConnection;import java.net.URLEncoder;import java.util.ArrayList;import java.util.List;import java.util.Timer;import java.util.TimerTask;public class MainActivity extends AppCompatActivity implements XListView.IXListViewListener { private ViewPager viewPager; private XListView xListView; private ArrayList<String> arrayList; private Timer timer; private int index = 0; private static final int TAG = 12; private int indep = 1; private boolean flag = false; private ProgressDialog dialog; private List<Bean.ResultBean.DataBean> data; private SQLiteDatabase db; Handler handler = new Handler() { @Override public void handleMessage(Message msg) { super.handleMessage(msg); switch (msg.what) { case TAG: int index = (int) msg.obj; viewPager.setCurrentItem(index); break; } } }; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); MySqLite mySqLite = new MySqLite(this); db = mySqLite.getWritableDatabase(); viewPager = (ViewPager) findViewById(R.id.viewpager); xListView = (XListView) findViewById(R.id.xlistview); xListView.setPullLoadEnable(true); xListView.setXListViewListener(this); arrayList = new ArrayList<>(); String path1 = "http://www.taoqao.com/uploads/allimg/140425/1-140425212357.jpg"; String path2 = "http://www.taoqao.com/uploads/allimg/140425/1-140425212400.jpg"; String path3 = "http://www.taoqao.com/uploads/allimg/140425/1-140425212403.jpg"; String path4 = "http://www.taoqao.com/uploads/allimg/140425/1-140425212522.jpg"; String path5 = "http://www.taoqao.com/uploads/allimg/140425/1-140425212525.jpg";// tupian.add("http://www.taoqao.com/uploads/allimg/140425/1-140425212357.jpg");// tupian.add("http://www.taoqao.com/uploads/allimg/140425/1-140425212400.jpg");// tupian.add("http://www.taoqao.com/uploads/allimg/140425/1-140425212403.jpg");// tupian.add("http://www.taoqao.com/uploads/allimg/140425/1-140425212522.jpg");// tupian.add("http://www.taoqao.com/uploads/allimg/140425/1-140425212525.jpg"); arrayList.add(path1); arrayList.add(path2); arrayList.add(path3); arrayList.add(path4); arrayList.add(path5); if (WangLuo.isConnection(this)) { getDates("http://apis.juhe.cn/cook/query.php?", indep + "", 10 + ""); } else { show(); } viewPager.setAdapter(new PagerAdapter() { @Override public int getCount() { return arrayList.size(); } @Override public boolean isViewFromObject(View view, Object object) { return view == object; } @Override public Object instantiateItem(ViewGroup container, int position) { final ImageView imageView = new ImageView(MainActivity.this); new ImageLoad(new ImageLoad.ImageCallBack() { @Override public void imagecall(Bitmap bitmap) { if (bitmap != null) { imageView.setImageBitmap(bitmap); } else { imageView.setImageResource(R.mipmap.ic_launcher); } } }).execute(arrayList.get(position)); container.addView(imageView); return imageView; } @Override public void destroyItem(ViewGroup container, int position, Object object) {// super.destroyItem(container, position, object); container.removeView((View) object); } }); timer = new Timer(); timer.schedule(new TimerTask() { @Override public void run() { if (index < arrayList.size() - 1) { index++; } else if (index == arrayList.size() - 1) { index = 0; } Message msg = new Message(); msg.what = TAG; msg.obj = index; handler.sendMessage(msg); } }, 0, 2000); } private void show() { AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this); builder.setMessage("没有网络,请设置网络"); builder.setNegativeButton("取消", null); builder.setPositiveButton("确定", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { Intent intent = new Intent(); intent.setAction("android.settings.WIRELESS_SETTINGS"); startActivity(intent); } }); builder.create().show(); } public void getDates(String path, String pn, String rn) { new AsyncTask<String, Void, String>() { @Override protected void onPreExecute() { super.onPreExecute(); dialog = new ProgressDialog(MainActivity.this); dialog.setMessage("正在玩命加载"); dialog.show(); } private MyAdapter myAdapter; @Override protected void onPostExecute(String s) { super.onPostExecute(s); if (s != null) { Gson gson = new Gson(); Bean bean = gson.fromJson(s, Bean.class); List<Bean.ResultBean.DataBean> data = bean.getResult().getData(); if (myAdapter == null) { myAdapter = new MyAdapter(data); xListView.setAdapter(new MyAdapter(data)); } else { myAdapter.LoadMore(data, flag); myAdapter.notifyDataSetChanged(); } dialog.dismiss(); } } @Override protected String doInBackground(String... params) { try { String path = params[0]; String pn = params[1]; String rn = params[2]; URL url = new URL(path); HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection(); urlConnection.setRequestMethod("POST"); urlConnection.setConnectTimeout(5000); urlConnection.setReadTimeout(5000); OutputStream outputStream = urlConnection.getOutputStream(); outputStream.write(("key=a71e47bbe5a7e7a2ecf068ca9a756032&menu=" + URLEncoder.encode("西红柿炒鸡蛋", "utf-8") + "&pn = " + pn + "&rn=" + rn).getBytes()); outputStream.flush(); int code = urlConnection.getResponseCode(); if (code == 200) { InputStream is = urlConnection.getInputStream(); String json = Utils.read(is); return json; } } catch (Exception e) { e.printStackTrace(); } return null; } }.execute(path, pn, rn); } @Override public void onRefresh() { ++indep; getDates("http://apis.juhe.cn/cook/query.php?", indep + "", 10 + ""); flag = true; xListView.stopRefresh(true); } @Override public void onLoadMore() { ++indep; getDates("http://apis.juhe.cn/cook/query.php?", indep + "", 10 + ""); flag = false; xListView.stopLoadMore(); } class MyAdapter extends BaseAdapter { private List<Bean.ResultBean.DataBean> data; public MyAdapter(List<Bean.ResultBean.DataBean> data) { this.data = data; } public void LoadMore(List<Bean.ResultBean.DataBean> datas, boolean flag) { for (Bean.ResultBean.DataBean bean : datas) { if (flag) { data.add(0, bean); } else { data.add(bean); } } } @Override public int getCount() { return data.size(); } @Override public Object getItem(int position) { return data.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(int position, View convertView, ViewGroup parent) { int type = getItemViewType(position); switch (type) { case 1: if (convertView == null) { convertView = convertView.inflate(MainActivity.this, R.layout.item1, null); } ImageView imageView1 = (ImageView) convertView.findViewById(R.id.tu1); TextView textView1 = (android.widget.TextView) convertView.findViewById(R.id.wenzi1); textView1.setText(data.get(position).getTitle()); getimage(data.get(position).getAlbums().get(0), imageView1); db.insert(data.get(position).getTitle(), "yuekao", null); break; case 0: if (convertView == null) { convertView = convertView.inflate(MainActivity.this, R.layout.item2, null); } ImageView imageView2 = (ImageView) convertView.findViewById(R.id.tu2); TextView textView2 = (android.widget.TextView) convertView.findViewById(R.id.wenzi2); textView2.setText(data.get(position).getTitle()); getimage(data.get(position).getAlbums().get(0), imageView2); db.insert(data.get(position).getTitle(), "yuekao", null); break; } 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); }}
阅读全文
0 0
- kaoshi(zhulei轮播)
- kaoshi
- kaoshi(Myapplication)
- kaoshi(配置)
- kaoshi(imageload接口)
- kaoshi(Utils读取)
- kaoshi(Wangluo判断)
- 轮播
- 轮播
- 轮播
- 轮播
- 轮播
- 轮播
- 轮播
- 轮播
- 轮播
- 轮播
- 轮播
- python_面向对象(初始)
- 21700电池的优势和不足
- 2017多校-2
- 二、用记事本写java程序
- Struts2拦截器基础知识
- kaoshi(zhulei轮播)
- idea andiod java
- 用C语言实现静态顺序表
- 802.11中的帧间间隔(SIFS/PIFS/DIFS)
- RV050蜗轮蜗杆减速机可以配多大功率的电机?
- ASIHTTPRequest 简介/使用详解
- 2017.7.28
- oracle 表DML操作特别卡
- 快速读入模板