离线下载
来源:互联网 发布:淘宝扣12分考试答案 编辑:程序博客网 时间:2024/04/27 06:34
package com.example.offline;import java.util.ArrayList;import java.util.List;import android.content.Context;import android.content.Intent;import android.net.ConnectivityManager;import android.net.NetworkInfo;import android.os.Bundle;import android.support.v7.app.ActionBarActivity;import android.view.View;import android.widget.ListView;import android.widget.Toast;public class MainActivity extends ActionBarActivity {private ListView lv;List<Channel> list = new ArrayList<>();private MyAdapter myAdapter;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);lv = (ListView) findViewById(R.id.lv);setData();myAdapter = new MyAdapter(MainActivity.this, list);lv.setAdapter(myAdapter);}private void setData() {for (int i = 0; i < 30; i++) {Channel channel = new Channel();channel.name = "热门" + i;list.add(channel);}}/** * 下载按钮 * * @param v */public void load(View v) {if (isNetWorkAvailable(this)) {Intent intent = new Intent();intent.putStringArrayListExtra("name", myAdapter.getList());// intent.putExtra("ss","111");setResult(88, intent);finish();} else {Toast.makeText(this, "网络不可用 ", 0).show();}}/** * 判断当前网络是否可用 * * @return */public boolean isNetWorkAvailable(Context context) {ConnectivityManager manager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);if (manager != null) {NetworkInfo info = manager.getActiveNetworkInfo();if (info != null && info.isConnected()) {return true;} else {return false;}} else {return false;}}}
=======================================================================================
package com.example.offline;import java.util.ArrayList;import com.nostra13.universalimageloader.core.ImageLoader;import com.nostra13.universalimageloader.core.assist.FailReason;import com.nostra13.universalimageloader.core.listener.ImageLoadingListener;import android.content.Context;import android.content.Intent;import android.graphics.Bitmap;import android.net.ConnectivityManager;import android.net.NetworkInfo;import android.os.Bundle;import android.support.v7.app.ActionBarActivity;import android.view.View;import android.widget.ListView;import android.widget.TextView;public class HomeActivity extends ActionBarActivity {private TextView tv;private ArrayList<String> stringArrayListExtra;int ii = 0;/** * 模拟接口里的图片地址 */String[] picPath1 = new String[] {"https://gw.alicdn.com/tps/TB133PFKpXXXXbIXFXXXXXXXXXX-520-280.jpg","https://aecpm.alicdn.com/simba/img/TB1yWIyKXXXXXbwXXXXSutbFXXX.jpg","https://img.alicdn.com/tps/TB1E_kqKpXXXXcGXXXXXXXXXXXX-520-280.jpg","https://aecpm.alicdn.com/simba/img/TB1pKE2JVXXXXbpaXXXSutbFXXX.jpg","https://img.alicdn.com/bao/uploaded/i1/TB1r5K.KpXXXXcyXpXXXXXXXXXX_!!0-item_pic.jpg_430x430q90.jpg","https://img.alicdn.com/imgextra/i2/1062618758/TB25Q60qpXXXXXVXpXXXXXXXXXX_!!1062618758.jpg_60x60q90.jpg","https://img.alicdn.com/imgextra/i2/1062618758/TB2sdDMqFXXXXcsXXXXXXXXXXXX_!!1062618758.jpg","https://gw.alicdn.com/bao/uploaded/i7/63418204/TB2DHUkpVXXXXbsXXXXXXXXXXXX_!!63418204.jpg_280x380xz.jpg","https://gw.alicdn.com/bao/uploaded/i8/380101244/TB2V3jSpVXXXXcKXXXXXXXXXXXX_!!380101244.jpg_280x380xz.jpg","https://gw.alicdn.com/bao/uploaded/i4/43084091/TB2Oy7RoFXXXXcyXXXXXXXXXXXX_!!43084091.jpg_280x380xz.jpg","https://gw.alicdn.com/bao/uploaded/i6/TB1enEaJVXXXXbhXFXXXXXXXXXX_!!0-item_pic.jpg_280x380xz.jpg","https://gw.alicdn.com/bao/uploaded/i7/TB1YOmRJFXXXXc.aXXXYXGcGpXX_M2.SS2_280x380xz.jpg","https://gw.alicdn.com/bao/uploaded/i0/TB1S9dLJFXXXXXVaXXXYXGcGpXX_M2.SS2_280x380xz.jpg","https://gw.alicdn.com/bao/uploaded/i6/2115168470/TB2LGwsnFXXXXXKXFXXXXXXXXXX_!!2115168470.jpg_280x380xz.jpg","https://gw.alicdn.com/bao/uploaded/i7/140750234460572075/TB1YQBMKpXXXXXLXXXXXXXXXXXX_!!0-pix.jpg_280x380xz.jpg",};/** * 模拟接口里的图片地址 */String[] picPath2 = new String[] {"https://gw.alicdn.com/bao/uploaded/i7/63418204/TB2DHUkpVXXXXbsXXXXXXXXXXXX_!!63418204.jpg_280x380xz.jpg","https://gw.alicdn.com/bao/uploaded/i8/380101244/TB2V3jSpVXXXXcKXXXXXXXXXXXX_!!380101244.jpg_280x380xz.jpg","https://gw.alicdn.com/bao/uploaded/i4/43084091/TB2Oy7RoFXXXXcyXXXXXXXXXXXX_!!43084091.jpg_280x380xz.jpg","https://gw.alicdn.com/bao/uploaded/i6/TB1enEaJVXXXXbhXFXXXXXXXXXX_!!0-item_pic.jpg_280x380xz.jpg"};/** * 模拟接口里的图片地址 */String[] picPath3 = new String[] {"https://gw.alicdn.com/bao/uploaded/i7/TB1YOmRJFXXXXc.aXXXYXGcGpXX_M2.SS2_280x380xz.jpg","https://gw.alicdn.com/bao/uploaded/i0/TB1S9dLJFXXXXXVaXXXYXGcGpXX_M2.SS2_280x380xz.jpg","https://gw.alicdn.com/bao/uploaded/i6/2115168470/TB2LGwsnFXXXXXKXFXXXXXXXXXX_!!2115168470.jpg_280x380xz.jpg","https://gw.alicdn.com/bao/uploaded/i7/140750234460572075/TB1YQBMKpXXXXXLXXXXXXXXXXXX_!!0-pix.jpg_280x380xz.jpg", };private ListView picListView;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_home);tv = (TextView) findViewById(R.id.tv);picListView = (ListView) findViewById(R.id.picListView);//模拟离线if(!isNetWorkAvailable(this)){picListView.setAdapter(new PicAdapter(picPath1,HomeActivity.this));}}// 选择频道按钮public void offline(View v) {startActivityForResult(new Intent(this, MainActivity.class), 99);}// activity重见@Overrideprotected void onRestart() {super.onRestart();if (stringArrayListExtra != null && stringArrayListExtra.size() > 0) {ImageLoader instance = ImageLoader.getInstance();for (int i = 0; i < picPath1.length; i++) {instance.loadImage(picPath1[i], new ImageLoadingListener() {@Overridepublic void onLoadingStarted(String arg0, View arg1) {// TODO Auto-generated method stub}@Overridepublic void onLoadingFailed(String arg0, View arg1,FailReason arg2) {}@Overridepublic void onLoadingComplete(String arg0, View arg1,Bitmap arg2) {System.out.println("onLoadingComplete");ii += 1;tv.setText(ii + "/" + picPath1.length);}@Overridepublic void onLoadingCancelled(String arg0, View arg1) {// TODO Auto-generated method stub}});}}}@Overrideprotected void onActivityResult(int arg0, int arg1, Intent arg2) {if (arg2 != null) {// 得到包含频道的集合stringArrayListExtra = arg2.getStringArrayListExtra("name");}super.onActivityResult(arg0, arg1, arg2);}public boolean isNetWorkAvailable(Context context) {ConnectivityManager manager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);if (manager != null) {NetworkInfo info = manager.getActiveNetworkInfo();if (info != null && info.isConnected()) {return true;} else {return false;}} else {return false;}}}=================================================================
/** * */package com.example.offline;import java.util.ArrayList;import java.util.List;import android.content.Context;import android.view.View;import android.view.View.OnClickListener;import android.view.ViewGroup;import android.widget.BaseAdapter;import android.widget.CheckBox;import android.widget.TextView;/** * @author WJL * */public class MyAdapter extends BaseAdapter {ArrayList<String> string = new ArrayList<>();Context context;List<Channel> list;/** * @param applicationContext * @param list */public MyAdapter(Context context, List<Channel> list) {this.context = context;this.list = list;}@Overridepublic int getCount() {return list.size();}@Overridepublic Object getItem(int position) {return null;}@Overridepublic long getItemId(int position) {return 0;}@Overridepublic View getView(final int position, View convertView, ViewGroup parent) {final ViewHolder viewHolder;if (convertView == null) {viewHolder = new ViewHolder();convertView = View.inflate(context, R.layout.item, null);viewHolder.textView = (TextView) convertView.findViewById(R.id.text);viewHolder.checBox = (CheckBox) convertView.findViewById(R.id.cb);convertView.setTag(viewHolder);} else {viewHolder = (ViewHolder) convertView.getTag();}viewHolder.checBox.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {if (viewHolder.checBox.isChecked()) {list.get(position).isSelect = true;string.add(list.get(position).name);} else {list.get(position).isSelect = false;string.remove(list.get(position).name);}}});viewHolder.textView.setText(list.get(position).name);viewHolder.checBox.setChecked(list.get(position).isSelect);return convertView;}class ViewHolder {TextView textView;CheckBox checBox;}public ArrayList<String> getList() {return string;}}===========================================================================
package com.example.offline;/** * */import java.io.File;import java.io.IOException;import java.io.InputStream;import com.nostra13.universalimageloader.cache.disc.DiskCache;import com.nostra13.universalimageloader.cache.disc.impl.LimitedAgeDiskCache;import com.nostra13.universalimageloader.cache.disc.impl.ext.LruDiskCache;import com.nostra13.universalimageloader.cache.disc.naming.FileNameGenerator;import com.nostra13.universalimageloader.cache.disc.naming.Md5FileNameGenerator;import com.nostra13.universalimageloader.cache.memory.MemoryCache;import com.nostra13.universalimageloader.cache.memory.impl.FIFOLimitedMemoryCache;import com.nostra13.universalimageloader.cache.memory.impl.LargestLimitedMemoryCache;import com.nostra13.universalimageloader.cache.memory.impl.LimitedAgeMemoryCache;import com.nostra13.universalimageloader.cache.memory.impl.LruMemoryCache;import com.nostra13.universalimageloader.cache.memory.impl.UsingFreqLimitedMemoryCache;import com.nostra13.universalimageloader.core.ImageLoader;import com.nostra13.universalimageloader.core.ImageLoaderConfiguration;import com.nostra13.universalimageloader.core.ImageLoaderConfiguration.Builder;import com.nostra13.universalimageloader.core.download.ImageDownloader;import android.app.Application;import android.os.Environment;import android.widget.Toast;/** * @author WJL * */public class MyApplication extends Application {private int maxMemory;@Overridepublic void onCreate() {super.onCreate();System.out.println("MyApplication");maxMemory = ((int) Runtime.getRuntime().maxMemory()) / 1024 / 1024; System.out.println("最大内存:"+maxMemory); Toast.makeText(this, " "+maxMemory, 0).show(); //初始ImageLoaderinitImageLoader(); }/** * //初始ImageLoader */@SuppressWarnings("deprecation")private void initImageLoader() {//得到ImageLoader实例ImageLoader imageLoader=ImageLoader.getInstance();//得到ImageLoader配置的建筑者对象ImageLoaderConfiguration.Builder builder=new Builder(this);//设置磁盘(sd卡)缓存的大小限制//builder.diskCacheSize(maxCacheSize);try {//imageDownloader//设置磁盘(sd卡)缓存策略,参数一:缓存文件的路径,参数二:文件名的命名方法,有MD5,HashCode,参数三:缓存的最大内存builder.discCache(new LruDiskCache(new File(Environment.getExternalStorageDirectory().getPath()+"/aaa"), new Md5FileNameGenerator(), 2*1024*1204));//设置磁盘(sd卡)缓存策略,限制缓存时间;参数一:缓存文件的路径,参数二:缓存文件的存活时间,系统当前时间-文件的最新修改时间 > maxAge//builder.discCache(new LimitedAgeDiskCache(cacheDir, maxAge) );} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}//设置内存缓存的大小限制,默认是最大内存的1/8builder.memoryCacheSize(maxMemory/8);//设置内存缓存策略 根据先进先出的原则上删除多余对象 LinkedList 参数一:设置的缓存内存大小//builder.memoryCache(new FIFOLimitedMemoryCache(sizeLimit));//设置内存缓存策略 先删除占内存最大的图片 HashMap 参数一:设置的缓存内存大小// builder.memoryCache(new LargestLimitedMemoryCache(sizeLimit)); // 设置内存缓存策略 Lru算法 LinkedHashMap 最大的缓存大小//builder.memoryCache(new LruMemoryCache(maxSize))//设置内存缓存策略 最少被用到的对象会被删除 HashMap 参数一:设置的缓存内存大小//builder.memoryCache(new UsingFreqLimitedMemoryCache(sizeLimit))//设置内存缓存策略 最早被添加的对象会被删除 HashMap 参数一:MemoryCache对象 参数二:缓存失效的最大时间//builder.memoryCache(new LimitedAgeMemoryCache(cache, maxAge));//初始化imageLoader配置imageLoader.init(builder.build());/*使用默认的缓存策略ImageLoader imageLoader2=ImageLoader.getInstance();ImageLoaderConfiguration.Builder configuration=new ImageLoaderConfiguration.Builder(this);imageLoader2.init(configuration.build());*/}}==============================================================
package com.example.offline;import com.nostra13.universalimageloader.core.ImageLoader;import android.content.Context;import android.view.View;import android.view.ViewGroup;import android.widget.BaseAdapter;import android.widget.ImageView;public class PicAdapter extends BaseAdapter {String[] picPath1;Context context;public PicAdapter(String[] picPath1, Context context) {this.picPath1 = picPath1;this.context = context;}@Overridepublic int getCount() {// TODO Auto-generated method stubreturn picPath1.length;}@Overridepublic Object getItem(int position) {// TODO Auto-generated method stubreturn null;}@Overridepublic long getItemId(int position) {// TODO Auto-generated method stubreturn 0;}@Overridepublic View getView(int position, View convertView, ViewGroup parent) {View view = View.inflate(context, R.layout.pic_item, null);ImageView imageView = (ImageView) view.findViewById(R.id.imageView);ImageLoader imageLoader=ImageLoader.getInstance();imageLoader.displayImage(picPath1[position], imageView);return view;}}=========================================================================
package com.example.offline;public class Channel {String name;boolean isSelect;}==========================================================================
//布局
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" > <Button android:id="@+id/button1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_alignParentTop="true" android:onClick="offline" android:text="离线下载" /> <TextView android:id="@+id/tv" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignTop="@+id/button1" android:layout_marginLeft="57dp" android:layout_toRightOf="@+id/button1" android:text="@string/hello_world" /> <ListView android:id="@+id/picListView" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_below="@id/button1" > </ListView></RelativeLayout>===================================================================
//布局
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" > <Button android:id="@+id/button" android:layout_width="wrap_content" android:layout_height="wrap_content" android:onClick="load" android:text="下载" /> <ListView android:id="@+id/lv" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@id/button" > </ListView></RelativeLayout>
=================================================================
<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <TextView android:id="@+id/text" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="频道" /> <CheckBox android:id="@+id/cb" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentRight="true" android:layout_alignParentTop="true" /></RelativeLayout>==============================================================
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <ImageView android:id="@+id/imageView" android:layout_width="200dp" android:layout_height="200dp" /></LinearLayout>
0 0
- 离线下载
- 离线下载
- 离线下载
- 离线下载
- 离线下载
- 离线下载 Google Chrome
- App离线下载
- firefox离线下载地址
- chrome离线下载方法
- VS离线帮助下载
- nessus离线下载plugin
- chrome 离线下载地址
- Android App离线下载
- android 离线下载
- Android sdk离线下载
- 离线下载chrome
- adobe flash离线下载
- iOS 离线下载
- Pascal Crt单元
- 。。。
- 处理ResultSet查询结果并返回一个List方法---利用元数据
- Gray Code
- java date实现加一天代码,其他天数的一次类推
- 离线下载
- myeclipse2016导入maven工程配置文件提示dubbo报错解决
- 一个精度题。。。
- 2016年linux c程序员和初学者不得错过的精品图书18册
- Python 小练习 求list内中间数
- web与网页技术大纲
- 在android中,夜间模式的切换
- Makefile
- iOS视频处理之--视频截取及添加背景音乐