package com.example.myapplication; import android.os.AsyncTask; import android.os.Bundle; import android.os.Handler; import android.os.Message; import android.support.v4.view.ViewPager; import android.support.v7.app.AppCompatActivity; import android.widget.ImageView; import android.widget.LinearLayout; import android.widget.ListView; import android.widget.ScrollView; import com.google.gson.Gson; import com.handmark.pulltorefresh.library.PullToRefreshBase; import com.handmark.pulltorefresh.library.PullToRefreshScrollView; import java.io.BufferedReader; 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 MainActivity extends AppCompatActivity { private PullToRefreshScrollView pv; private ListView listView; private LinearLayout linearLayout; private ViewPager viewPager; int operType = 1; int pageIndex = 1; String murl = "http://365jia.cn/news/api3/365jia/news/headline?page=" + pageIndex; private List<String> imgUrl; private List<BeanDate.DataBeanX.DataBean> datas; private MyAdapter adapter; List<ImageView> lists = new ArrayList<>(); Handler handler = new Handler() { @Override public void handleMessage(Message msg) { super.handleMessage(msg); int cIndex = viewPager.getCurrentItem(); cIndex++; viewPager.setCurrentItem(cIndex); setSelected(cIndex % lists.size()); sendEmptyMessageDelayed(0, 1000); } }; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); pv = findViewById(R.id.pv); listView = findViewById(R.id.lv); linearLayout = findViewById(R.id.lin); viewPager = findViewById(R.id.viewpager); imgUrl = new ArrayList<>(); datas = new ArrayList<>(); initpv(); NetData(); } private void NetData() { MyTask task = new MyTask(); task.execute(murl); } class MyTask extends AsyncTask<String, Void, String> { @Override protected String doInBackground(String... strings) { try { URL url = new URL(strings[0]); HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection(); urlConnection.setReadTimeout(5000); urlConnection.setConnectTimeout(5000); urlConnection.setRequestMethod("GET"); int responseCode = urlConnection.getResponseCode(); if (responseCode == 200) { InputStream inputStream = urlConnection.getInputStream(); String ss = stringTo(inputStream); return ss; } } catch (Exception e) { e.printStackTrace(); } return null; } @Override protected void onPostExecute(String s) { super.onPostExecute(s); Gson gson = new Gson(); BeanDate beanDate = gson.fromJson(s, BeanDate.class); List<BeanDate.DataBeanX.DataBean> data = beanDate.getData().getData(); showPics(data); if (operType == 1) { datas.clear(); } datas.addAll(data); setAdapter(); pv.onRefreshComplete(); } } private void showPics(List<BeanDate.DataBeanX.DataBean> data) { imgUrl.clear(); imgUrl.add("http://365jia.cn/uploads/" + data.get(0).getPics().get(0)); imgUrl.add("http://365jia.cn/uploads/" + data.get(1).getPics().get(0)); imgUrl.add("http://365jia.cn/uploads/" + data.get(2).getPics().get(0)); MyVAdapter adapter = new MyVAdapter(imgUrl, MainActivity.this); viewPager.setAdapter(adapter); initPoint(); handler.sendEmptyMessageDelayed(0,1000); } public void setSelected(int pageIndex) { for (int i = 0; i < lists.size(); i++) { if (i==pageIndex){ lists.get(i).setImageResource(R.drawable.point_selected); }else{ lists.get(i).setImageResource(R.drawable.point_unselected); } } } private void initPoint() { for (int i = 0; i < imgUrl.size(); i++) { ImageView imageView = new ImageView(this); LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.MATCH_PARENT); params.setMargins(0, 0, 10, 0); if (i == 0) { imageView.setImageResource(R.drawable.point_selected); } else { imageView.setImageResource(R.drawable.point_unselected); } linearLayout.addView(imageView, params); lists.add(imageView); } } private void setAdapter() { if (adapter == null) { adapter = new MyAdapter(datas, MainActivity.this); listView.setAdapter(adapter); } else { adapter.notifyDataSetChanged(); } } private String stringTo(InputStream stream) { StringBuilder builder = new StringBuilder(); BufferedReader reader = new BufferedReader(new InputStreamReader(stream)); String str; try { while ((str = reader.readLine()) != null) { builder.append(str); } } catch (Exception e) { e.printStackTrace(); } return builder.toString(); } private void initpv() { pv.setOnRefreshListener(new PullToRefreshBase.OnRefreshListener2<ScrollView>() { @Override public void onPullDownToRefresh(PullToRefreshBase<ScrollView> pullToRefreshBase) { operType = 1; pageIndex = 1; murl = "http://365jia.cn/news/api3/365jia/news/headline?page=" + pageIndex; NetData(); } @Override public void onPullUpToRefresh(PullToRefreshBase<ScrollView> pullToRefreshBase) { operType = 2; pageIndex++; murl = "http://365jia.cn/news/api3/365jia/news/headline?page=" + pageIndex; NetData(); } }); } }
---------------------------------------------------------------------------------------------------------------------------------
package com.example.myapplicationa; import android.content.Intent; import android.os.Handler; import android.os.Message; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.TextView; import java.util.Timer; import java.util.TimerTask; public class MainActivity extends AppCompatActivity { private TextView textView; int time = 5; Handler handler = new Handler() { @Override public void handleMessage(Message msg) { super.handleMessage(msg); if (msg.what == 0) { time--; if (time > 0) { textView.setText(time + "s"); handler.sendEmptyMessageDelayed(0, 1000); } else { timer.cancel(); Intent intent = new Intent(MainActivity.this, Main2Activity.class); startActivity(intent); finish(); } } } }; private Timer timer; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); textView = findViewById(R.id.tv); timer = new Timer(); TimerTask timerTask = new TimerTask() { @Override public void run() { handler.sendEmptyMessageDelayed(0, 1000); } }; timer.schedule(timerTask, 0, 1000); textView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent intent = new Intent(MainActivity.this, Main2Activity.class); startActivity(intent); finish(); } }); } }