package com.example.banner;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.TextView;
import com.bumptech.glide.Glide;
import com.example.banner.bean.MyBean;
import com.google.gson.Gson;
import com.youth.banner.Banner;
import java.io.ByteArrayOutputStream;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.ArrayList;
import java.util.List;
import me.maxwin.view.XListView;
public class MainActivity extends AppCompatActivity implements XListView.IXListViewListener {
private String path = "http://huixinguiyu.cn/Assets/js/data.js";
private String s;
private List<MyBean.ApkBean> apkList;
private Banner myBanner;
private List<String> imgList;
private XListView myXlist;
private Handler handler = new Handler(){
@Override
public void handleMessage(Message msg) {
super.handleMessage(msg);
adapter.notifyDataSetChanged();
onStop();
}
};
private XListAdapter adapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
myBanner = (Banner) findViewById(R.id.MyBanner);
myXlist = (XListView) findViewById(R.id.MyXList);
myXlist.setXListViewListener(MainActivity.this);
myXlist.setPullRefreshEnable(true);
myXlist.setPullLoadEnable(true);
myBanner.setImageLoader(new MyImageLoaderBanner());
//使用线程请求网络数据
new Thread() {
public void run() {
setData();
}
}.start();
}
//设置下拉刷新
@Override
public void onRefresh() {
handler.postDelayed(new Runnable() {
@Override
public void run() {
imgList.add(0,"http://www.microvirt.com/new_market/img/zhuxian_logo.png");
handler.sendEmptyMessage(0);
}
},2000);
}
//设置上拉加载
@Override
public void onLoadMore() {
handler.postDelayed(new Runnable() {
@Override
public void run() {
imgList.add("http://www.microvirt.com/new_market/img/dhxy_icon_new.png");
handler.sendEmptyMessage(0);
}
},2000);
}
//设置下拉刷新,上拉加载的回弹方法,此方法中还可以设置刷新回弹的时间
public void onStop(){
myXlist.stopRefresh();
myXlist.stopLoadMore();
}
//多条目展示的适配器设置
class XListAdapter extends BaseAdapter {
@Override
public int getCount() {
return apkList.size();
}
@Override
public Object getItem(int position) {
return null;
}
@Override
public long getItemId(int position) {
return 0;
}
@Override
public int getItemViewType(int position) {
if (position % 2 == 1) {
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);
ViewHolder1 holder1 = null;
ViewHolder2 holder2 = null;
switch (type){
case 0:
if (convertView == null){
holder1 = new ViewHolder1();
convertView = View.inflate(MainActivity.this,R.layout.item1,null);
holder1.img1 = (ImageView) convertView.findViewById(R.id.Img1);
holder1.text1 = (TextView) convertView.findViewById(R.id.Text1);
convertView.setTag(holder1);
}else{
holder1 = (ViewHolder1) convertView.getTag();
}
holder1.text1.setText(apkList.get(position).name);
Glide.with(MainActivity.this).load(apkList.get(position).iconUrl).into(holder1.img1);
break;
case 1:
if (convertView == null){
holder2 = new ViewHolder2();
convertView = View.inflate(MainActivity.this,R.layout.item2,null);
holder2.img2 = (ImageView) convertView.findViewById(R.id.Img2);
holder2.text2 = (TextView) convertView.findViewById(R.id.Text2);
convertView.setTag(holder2);
}else{
holder2 = (ViewHolder2) convertView.getTag();
}
holder2.text2.setText(apkList.get(position).name);
Glide.with(MainActivity.this).load(apkList.get(position).iconUrl).into(holder2.img2);
break;
}
return convertView;
}
}
class ViewHolder1{
ImageView img1;
TextView text1;
}
class ViewHolder2{
ImageView img2;
TextView text2;
}
//得到数据后,将数据中的图片地址放入一个图片集合中,用来设置banner轮播
private void setData() {
try {
URL url = new URL(path);
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setRequestMethod("GET");
connection.setConnectTimeout(8000);
connection.setReadTimeout(8000);
int code = connection.getResponseCode();
if (code == 200) {
InputStream inputStream = connection.getInputStream();
ByteArrayOutputStream baos = new ByteArrayOutputStream();
int len = 0;
byte[] buffer = new byte[1024];
while ((len = inputStream.read(buffer)) != -1) {
baos.write(buffer, 0, len);
}
s = baos.toString();
}
Gson gson = new Gson();
MyBean myBean = gson.fromJson(s, MyBean.class);
apkList = myBean.apk;
System.out.println(apkList.size());
imgList = new ArrayList<>();
for (int i = 0; i < apkList.size(); i++) {
imgList.add(apkList.get(i).iconUrl);
}
runOnUiThread(new Runnable() {
@Override
public void run() {
myBanner.setImages(imgList);
myBanner.start();
adapter = new XListAdapter();
myXlist.setAdapter(adapter);
}
});
System.out.println(imgList.size());
} catch (Exception e) {
e.printStackTrace();
}
}
}
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.TextView;
import com.bumptech.glide.Glide;
import com.example.banner.bean.MyBean;
import com.google.gson.Gson;
import com.youth.banner.Banner;
import java.io.ByteArrayOutputStream;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.ArrayList;
import java.util.List;
import me.maxwin.view.XListView;
public class MainActivity extends AppCompatActivity implements XListView.IXListViewListener {
private String path = "http://huixinguiyu.cn/Assets/js/data.js";
private String s;
private List<MyBean.ApkBean> apkList;
private Banner myBanner;
private List<String> imgList;
private XListView myXlist;
private Handler handler = new Handler(){
@Override
public void handleMessage(Message msg) {
super.handleMessage(msg);
adapter.notifyDataSetChanged();
onStop();
}
};
private XListAdapter adapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
myBanner = (Banner) findViewById(R.id.MyBanner);
myXlist = (XListView) findViewById(R.id.MyXList);
myXlist.setXListViewListener(MainActivity.this);
myXlist.setPullRefreshEnable(true);
myXlist.setPullLoadEnable(true);
myBanner.setImageLoader(new MyImageLoaderBanner());
//使用线程请求网络数据
new Thread() {
public void run() {
setData();
}
}.start();
}
//设置下拉刷新
@Override
public void onRefresh() {
handler.postDelayed(new Runnable() {
@Override
public void run() {
imgList.add(0,"http://www.microvirt.com/new_market/img/zhuxian_logo.png");
handler.sendEmptyMessage(0);
}
},2000);
}
//设置上拉加载
@Override
public void onLoadMore() {
handler.postDelayed(new Runnable() {
@Override
public void run() {
imgList.add("http://www.microvirt.com/new_market/img/dhxy_icon_new.png");
handler.sendEmptyMessage(0);
}
},2000);
}
//设置下拉刷新,上拉加载的回弹方法,此方法中还可以设置刷新回弹的时间
public void onStop(){
myXlist.stopRefresh();
myXlist.stopLoadMore();
}
//多条目展示的适配器设置
class XListAdapter extends BaseAdapter {
@Override
public int getCount() {
return apkList.size();
}
@Override
public Object getItem(int position) {
return null;
}
@Override
public long getItemId(int position) {
return 0;
}
@Override
public int getItemViewType(int position) {
if (position % 2 == 1) {
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);
ViewHolder1 holder1 = null;
ViewHolder2 holder2 = null;
switch (type){
case 0:
if (convertView == null){
holder1 = new ViewHolder1();
convertView = View.inflate(MainActivity.this,R.layout.item1,null);
holder1.img1 = (ImageView) convertView.findViewById(R.id.Img1);
holder1.text1 = (TextView) convertView.findViewById(R.id.Text1);
convertView.setTag(holder1);
}else{
holder1 = (ViewHolder1) convertView.getTag();
}
holder1.text1.setText(apkList.get(position).name);
Glide.with(MainActivity.this).load(apkList.get(position).iconUrl).into(holder1.img1);
break;
case 1:
if (convertView == null){
holder2 = new ViewHolder2();
convertView = View.inflate(MainActivity.this,R.layout.item2,null);
holder2.img2 = (ImageView) convertView.findViewById(R.id.Img2);
holder2.text2 = (TextView) convertView.findViewById(R.id.Text2);
convertView.setTag(holder2);
}else{
holder2 = (ViewHolder2) convertView.getTag();
}
holder2.text2.setText(apkList.get(position).name);
Glide.with(MainActivity.this).load(apkList.get(position).iconUrl).into(holder2.img2);
break;
}
return convertView;
}
}
class ViewHolder1{
ImageView img1;
TextView text1;
}
class ViewHolder2{
ImageView img2;
TextView text2;
}
//得到数据后,将数据中的图片地址放入一个图片集合中,用来设置banner轮播
private void setData() {
try {
URL url = new URL(path);
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setRequestMethod("GET");
connection.setConnectTimeout(8000);
connection.setReadTimeout(8000);
int code = connection.getResponseCode();
if (code == 200) {
InputStream inputStream = connection.getInputStream();
ByteArrayOutputStream baos = new ByteArrayOutputStream();
int len = 0;
byte[] buffer = new byte[1024];
while ((len = inputStream.read(buffer)) != -1) {
baos.write(buffer, 0, len);
}
s = baos.toString();
}
Gson gson = new Gson();
MyBean myBean = gson.fromJson(s, MyBean.class);
apkList = myBean.apk;
System.out.println(apkList.size());
imgList = new ArrayList<>();
for (int i = 0; i < apkList.size(); i++) {
imgList.add(apkList.get(i).iconUrl);
}
runOnUiThread(new Runnable() {
@Override
public void run() {
myBanner.setImages(imgList);
myBanner.start();
adapter = new XListAdapter();
myXlist.setAdapter(adapter);
}
});
System.out.println(imgList.size());
} catch (Exception e) {
e.printStackTrace();
}
}
}