public class Main2Activity extends AppCompatActivity {
public String dataurl="http://172.17.8.100/mobile/exam/findCommodityList\n";
private ViewPager viewpager;
private GridView gridview;
private List<BoBean.ResultBean.ProductBean> list;
//自动轮播
Handler handler = new Handler(){
@Override
public void handleMessage(Message msg) {
super.handleMessage(msg);
if (msg.what == 2){
viewpager.setCurrentItem(viewpager.getCurrentItem()+1);
handler.sendEmptyMessageDelayed(2,3000);
}
}
};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main2);
new MyAsync().execute();
}
class MyAsync extends AsyncTask<Integer,Integer,String> {
private List<BoBean.ResultBean.PicsBean> list1;
//耗时的操作
@Override
protected String doInBackground(Integer... integers) {
String messages="";
try {
//获取网址
URL url = new URL(dataurl);
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
//网络获取方法
connection.setRequestMethod("GET");
//延时链接
connection.setConnectTimeout(5000);
//超时连接
connection.setReadTimeout(5000);
//数据流处理
if (connection.getResponseCode() == 200){
//获取输入流
InputStream inputStream = connection.getInputStream();
ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
int len = -1;
byte[] b = new byte[1024*500];
while ((len=inputStream.read(b)) != -1){
outputStream.write(b,0,len);
}
messages = outputStream.toString();
inputStream.close();
connection.disconnect();
}
} catch (Exception e) {
e.printStackTrace();
}
return messages;
}
//执行后台任务前对UI进行一些标记
@Override
protected void onPreExecute() {
super.onPreExecute();
//获取控件
viewpager = findViewById(R.id.viewpager);
gridview = findViewById(R.id.gridview);
}
//当后台操作结束时,此方法将会被调用,计算结果将做为参数传递到此方法中,直接将结果显示到UI组件上
@Override
protected void onPostExecute(String s) {
super.onPostExecute(s);
//解析JSON
if (s != null){
Gson gson = new Gson();
BoBean boBean = gson.fromJson(s, BoBean.class);
list = boBean.getResult().getProduct();
list1 = boBean.getResult().getPics();
//创建集合存放图片
final ArrayList<ImageView> list2 = new ArrayList<>();
//循环存入图片
for (int i = 0; i <list1.size() ; i++) {
ImageView imageView = new ImageView(Main2Activity.this);
ImageLoader.getInstance().displayImage(list1.get(i).getPic(),imageView);
list2.add(imageView);
}
//添加适配器
viewpager.setAdapter(new PagerAdapter() {
@Override
public int getCount() {
return Integer.MAX_VALUE;
}
@Override
public boolean isViewFromObject(@NonNull View view, @NonNull Object o) {
return view == o;
}
//添加
@NonNull
@Override
public Object instantiateItem(@NonNull ViewGroup container, int position) {
ImageView imageView = list2.get(position%list2.size());
container.addView(imageView);
return imageView;
}
//删除
@Override
public void destroyItem(@NonNull ViewGroup container, int position, @NonNull Object object) {
container.removeView((View) object);
}
});
//Handler发送消息
handler.sendEmptyMessageDelayed(2,3000);
//轮播图片点击事件
viewpager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
private int y;
@Override
public void onPageScrolled(int i, float v, int i1) {
}
@Override
public void onPageSelected(int i) {
i = i%list2.size();
y = i;
//给自动轮播的图片设置点击事件
list2.get(i).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//隐式跳转进入web界面
Intent intent = new Intent(Main2Activity.this,Main3Activity.class);
//给图片添加网络路径
intent.putExtra("web",list1.get(y).getUrl());
startActivity(intent);
}
});
}
@Override
public void onPageScrollStateChanged(int i) {
}
});
}
if (list != null){
//给集合设置适配器
gridview.setAdapter(new BaseAdapter() {
@Override
public int getCount() {
return list.size();
}
@Override
public Object getItem(int position) {
return list.get(position);
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
MyHolder myHolder = null;
if (convertView == null){
myHolder = new MyHolder();
convertView = View.inflate(Main2Activity.this, R.layout.activity_text, null);
myHolder.textView1= convertView.findViewById(R.id.textView1);
myHolder.textView2 = convertView.findViewById(R.id.textView2);
myHolder.imageView = convertView.findViewById(R.id.imageView);
convertView.setTag(myHolder);
}else {
myHolder = (MyHolder) convertView.getTag();
}
myHolder.textView1.setText(list.get(position).getName());
myHolder.textView2.setText(list.get(position).getMoney());
//图片异步加载使用Imageloader
ImageLoader.getInstance().displayImage(list.get(position).getImg(),myHolder.imageView);
return convertView;
}
});
}
}
//更新进度
@Override
protected void onProgressUpdate(Integer... values) {
super.onProgressUpdate(values);
}
}
class MyHolder{
TextView textView1,textView2;
ImageView imageView;
}
}
public class MainActivity extends AppCompatActivity {
int time = 2;
@SuppressLint("HandlerLeak")
Handler handler = new Handler(){
@Override
public void handleMessage(Message msg) {
super.handleMessage(msg);
if (time == 0){
Intent intent = new Intent(MainActivity.this, Main2Activity.class);
startActivity(intent);
}
time--;
handler.sendEmptyMessageDelayed(0,1000);
}
};
private ImageView dao;
private RotateAnimation animation;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
dao = findViewById(R.id.dao);
animation = new RotateAnimation(0, 360, 100, 100);
animation.setDuration(2000);
animation.setRepeatCount(2);
animation.setRepeatMode(Animation.REVERSE);
dao.startAnimation(animation);
handler.sendEmptyMessageDelayed(0,1000);
}
}