handle图片切换

来源:互联网 发布:76年茅台镇陈酒淘宝 编辑:程序博客网 时间:2024/05/15 08:12

//布局

<ImageView

        android:id="@+id/image_view"
        android:scaleType="fitXY"
        android:layout_width="match_parent"

        android:layout_height="200dp" />

//权限

<uses-permission android:name="android.permission.INTERNET"/>
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>

//代码

public class MainActivity extends AppCompatActivity {


    private ImageView imageView;
    private List<String> list = new ArrayList<>();


    private int index = 0;
    private Handler handler = new Handler(){
        @Override
        public void handleMessage(Message msg) {
            if (msg.what == 0){
                //街道消息之后,,,切换图片显示
                index ++;
                ImageLoader.getInstance().displayImage(list.get(index %list.size()),imageView,ImageLoaderUtil.getDefaultOption());


                //再次发送
                handler.sendEmptyMessageDelayed(0,3000);


            }
        }
    };


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);


        imageView = (ImageView) findViewById(R.id.image_view);


        getDataFromNet();
    }


    private void getDataFromNet() {


        AsyncTask<Void, Void, String> asyncTask = new AsyncTask<Void, Void, String>() {
            @Override
            protected String doInBackground(Void... voids) {
                try {
                    URL url = new URL("http://apis.juhe.cn/cook/query?key=65481ae0fb17703c15a794aebaec93c5&menu=%E8%A5%BF%E7%BA%A2%E6%9F%BF&rn=10&pn=3");


                    HttpURLConnection connection = (HttpURLConnection) url.openConnection();


                    connection.setRequestMethod("GET");
                    connection.setReadTimeout(5000);
                    connection.setConnectTimeout(5000);


                    int responseCode = connection.getResponseCode();
                    if (responseCode == 200){
                        InputStream inputStream = connection.getInputStream();


                        String json = StringUtil.streamToString(inputStream,"utf-8");


                        return json;


                    }
                } catch (MalformedURLException e) {
                    e.printStackTrace();
                } catch (IOException e) {
                    e.printStackTrace();
                }




                return null;
            }


            @Override
            protected void onPostExecute(String s) {
                //解析
                Gson gson = new Gson();
                DataDataBean dataDataBean = gson.fromJson(s, DataDataBean.class);


                List<DataDataBean.ResultBean.DataBean.StepsBean> steps = dataDataBean.getResult().getData().get(0).getSteps();


                for (DataDataBean.ResultBean.DataBean.StepsBean st: steps) {
                    list.add(st.getImg());
                }


                //现在图片集合有数据,,,,展示图片,,,展示第一张图片
                ImageLoader.getInstance().displayImage(list.get(0),imageView,ImageLoaderUtil.getDefaultOption());


                //发送延时消息
                handler.sendEmptyMessageDelayed(0,3000);
            }
        };


        asyncTask.execute();


    }
}