基本信息
源码名称:android 加载网络轮播图片 示例源码
源码大小:1.74M
文件格式:.rar
开发语言:Java
更新时间:2018-05-31
友情提示:(无需注册或充值,赞助后即可获取资源下载链接)
嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):813200300
本次赞助数额为: 2 元×
微信扫码支付:2 元
×
请留下您的邮箱,我们将在2小时内将文件发到您的邮箱
源码介绍
package com.example.downloadpictures; import java.util.ArrayList; import java.util.List; import java.util.Timer; import java.util.TimerTask; import java.util.concurrent.Executors; import java.util.concurrent.ScheduledExecutorService; import java.util.concurrent.TimeUnit; import android.app.Activity; import android.content.pm.ActivityInfo; import android.graphics.Bitmap; import android.os.AsyncTask; import android.os.Bundle; import android.os.Handler; import android.support.v4.view.PagerAdapter; import android.support.v4.view.ViewPager; import android.support.v4.view.ViewPager.OnPageChangeListener; import android.util.Log; import android.view.KeyEvent; import android.view.View; import android.view.View.OnClickListener; import android.view.ViewGroup; import android.webkit.WebSettings; import android.webkit.WebView; import android.webkit.WebViewClient; import android.widget.Button; import android.widget.ImageView; import android.widget.LinearLayout; import android.widget.LinearLayout.LayoutParams; import android.widget.TextView; import android.widget.Toast; import com.example.downloadpictures.object.WebServiceItem; import com.example.downloadpictures.utils.Utils; public class MainActivity extends Activity { private final String HOST_ADDRESS = "http://122.114.20.230:8888"; private final String RESOURCE_ADDRESS = "/DiaoLan/android/ad/list.jsp"; private final String SERVER_ADDRESS = HOST_ADDRESS RESOURCE_ADDRESS; private boolean loopPlayState = false; private List<WebServiceItem> mData = null; private List<ImageView> mImageViewList = null; private List<View> mViewList = null; private TextView mArticleTitle = null; private ViewPager mViewPager = null; private MyPagerAdapter adapter = null; private WebView mWebView;// webView调用 private LinearLayout mCustomSpace = null; private Handler mHandler = null; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); this.initWidget(); } private void initWidget() { // TODO Auto-generated method stub mViewPager = (ViewPager) this.findViewById(R.id.viewpager); mArticleTitle = (TextView) this.findViewById(R.id.article_title); mCustomSpace = (LinearLayout) this.findViewById(R.id.custom_space); mHandler = new Handler(); mData = new ArrayList<WebServiceItem>(); mImageViewList = new ArrayList<ImageView>(); mViewList = new ArrayList<View>(); adapter = new MyPagerAdapter(); loadData(); mViewPager.setAdapter(adapter); // 设置一个监听器,当ViewPager中的页面改变时调用 mViewPager.setOnPageChangeListener(new MyPageChangeListener()); } private void loadData() { // TODO Auto-generated method stub new DownLoad(null).execute(SERVER_ADDRESS); } private final class ClickListener implements OnClickListener { private int mPosition; public ClickListener() { // TODO Auto-generated constructor stub } public ClickListener(int mPosition) { this.mPosition = mPosition; } @Override public void onClick(View v) { if (v instanceof ImageView) { String url = mData.get(mPosition).getmArticleUrl(); Toast.makeText(MainActivity.this, url, 1).show(); } else { return; } } } private final class MyPagerAdapter extends PagerAdapter { @Override public int getCount() { // TODO Auto-generated method stub return mImageViewList.size(); } @Override public void destroyItem(ViewGroup container, int position, Object object) { // TODO Auto-generated method stub ((ViewPager) container).removeView(mImageViewList.get(position)); } @Override public Object instantiateItem(ViewGroup container, int position) { // TODO Auto-generated method stub ImageView temp = mImageViewList.get(position); new DownLoad(temp).execute(mData.get(position).getmPictureUrl()); ((ViewPager) container).addView(temp); return temp; } @Override public boolean isViewFromObject(View arg0, Object arg1) { // TODO Auto-generated method stub return arg0 == arg1; } } private final class DownLoad extends AsyncTask<String, Void, Bitmap> { private ImageView mImageView; public DownLoad(ImageView imageView) { mImageView = imageView; } @Override protected Bitmap doInBackground(String... params) { // TODO Auto-generated method stub try { if (params[0].equals(SERVER_ADDRESS)) { String json = (String) (Utils.getData(params[0], String.class)); mData = Utils.fromJson(json); mImageViewList.clear(); Log.e("图片地址", mData.get(0).getmPictureUrl()); Log.e("还原", Utils.toJson(mData)); } else { Bitmap bitmap = (Bitmap) (Utils.getData(params[0], Bitmap.class)); return bitmap; } } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } return null; } @Override protected void onPostExecute(Bitmap result) { // TODO Auto-generated method stub super.onPostExecute(result); if (result != null) { mImageView.setImageBitmap(result); if (!loopPlayState) { mArticleTitle.setText(mData.get(0).getmTitle()); mViewPager.setCurrentItem(0); mHandler.postDelayed(loopPlay, 3000); loopPlayState = true; } } else { for (int i = 0; i < mData.size(); i ) { Log.e("JRSEN-MDATA", mData.size() ""); ImageView imageView = new ImageView(MainActivity.this); imageView.setLayoutParams(new LayoutParams( LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT)); imageView.setOnClickListener(new ClickListener(i)); mImageViewList.add(imageView); View view = new View(MainActivity.this); LayoutParams layoutParams = new LayoutParams(14, 14); layoutParams.setMargins(3, 0, 3, 0); view.setLayoutParams(layoutParams); view.setBackgroundResource(R.drawable.dot_normal); mCustomSpace.addView(view); mViewList.add(view); } adapter.notifyDataSetChanged(); } } } /** * 当ViewPager中页面的状态发生改变时调用 * * @author Administrator * */ private class MyPageChangeListener implements OnPageChangeListener { private int historyPosition = 0; /** * 当ViewPager中页面的状态发生改变时调用 */ public void onPageSelected(int position) { mArticleTitle.setText(mData.get(position).getmTitle()); mViewList.get(historyPosition).setBackgroundResource( R.drawable.dot_normal); mViewList.get(position).setBackgroundResource( R.drawable.dot_focused); historyPosition = position; } public void onPageScrollStateChanged(int arg0) { } public void onPageScrolled(int arg0, float arg1, int arg2) { } } Runnable loopPlay = new Runnable() { @Override public void run() { // TODO Auto-generated method stub int position = mViewPager.getCurrentItem(); if (position == (mData.size() - 1)) { position = 0; mViewPager.setCurrentItem(position); } else { mViewPager.setCurrentItem( position); } P.error("position thread" position "mData" mData.size()); mHandler.postDelayed(loopPlay, 3000); } }; /** * 该类为测试类 * * @author Jrsen * */ private final static class P { public static void error(Object str) { Log.e("JRSEN", (String) str); } } }