基本信息
源码名称:(高仿)今日头条 网易 新闻客户端 源码 完善版
源码大小:3.38M
文件格式:.rar
开发语言:Java
更新时间:2014-11-19
   友情提示:(无需注册或充值,赞助后即可获取资源下载链接)

     嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):813200300

本次赞助数额为: 2 元 
   源码介绍
已经是一个完整的客户端了,在将进一步优化完善后就和可以了。大体描述:
 
上次,已经完成了头部新闻分类栏目的拖动效果。
 
这篇文章是继续去完善APP 今日头条 这个新闻阅读器的其他功能。
 
这次所实现的功能清单:
 
1.通过SlidingMenu实现左右侧拉菜单效果
 
2.通过重写CompoundButton实现--昼夜模式切换按钮效果。
 
3.通过PopupWindow控件实现了列表中更多菜单弹框操作效果。
 
4.通过universal-image-loader库实现了图片的加载和缓存。
 
5.通过列表中各个属性的判断,实现了头条新闻列表的相应布局和显示效果。



package com.topnews.app;

import java.io.File;

import com.nostra13.universalimageloader.cache.disc.impl.UnlimitedDiscCache;
import com.nostra13.universalimageloader.cache.disc.naming.Md5FileNameGenerator;
import com.nostra13.universalimageloader.core.ImageLoader;
import com.nostra13.universalimageloader.core.ImageLoaderConfiguration;
import com.nostra13.universalimageloader.core.assist.QueueProcessingType;
import com.nostra13.universalimageloader.utils.StorageUtils;

import android.app.Application;
import android.content.Context;
import android.util.Log;

public class AppApplication extends Application {
 
 @Override
 public void onCreate() {
  // TODO Auto-generated method stub
  super.onCreate();
  initImageLoader(getApplicationContext());
 }

 @Override
 public void onTerminate() {
  // TODO Auto-generated method stub
  super.onTerminate();
  //整体摧毁的时候调用这个方法
 }
 /** 初始化ImageLoader */
 public static void initImageLoader(Context context) {
  File cacheDir = StorageUtils.getOwnCacheDirectory(context, "topnews/Cache");//获取到缓存的目录地址
  Log.d("cacheDir", cacheDir.getPath());
  //创建配置ImageLoader(所有的选项都是可选的,只使用那些你真的想定制),这个可以设定在APPLACATION里面,设置为全局的配置参数
  ImageLoaderConfiguration config = new ImageLoaderConfiguration
    .Builder(context)
    //.memoryCacheExtraOptions(480, 800) // max width, max height,即保存的每个缓存文件的最大长宽
    //.discCacheExtraOptions(480, 800, CompressFormat.JPEG, 75, null) // Can slow ImageLoader, use it carefully (Better don't use it)设置缓存的详细信息,最好不要设置这个
    .threadPoolSize(3)//线程池内加载的数量
    .threadPriority(Thread.NORM_PRIORITY - 2)
    .denyCacheImageMultipleSizesInMemory()
    //.memoryCache(new UsingFreqLimitedMemoryCache(2 * 1024 * 1024)) // You can pass your own memory cache implementation你可以通过自己的内存缓存实现
    //.memoryCacheSize(2 * 1024 * 1024) 
    ///.discCacheSize(50 * 1024 * 1024) 
    .discCacheFileNameGenerator(new Md5FileNameGenerator())//将保存的时候的URI名称用MD5 加密
    //.discCacheFileNameGenerator(new HashCodeFileNameGenerator())//将保存的时候的URI名称用HASHCODE加密
    .tasksProcessingOrder(QueueProcessingType.LIFO)
    //.discCacheFileCount(100) //缓存的File数量
    .discCache(new UnlimitedDiscCache(cacheDir))//自定义缓存路径
    //.defaultDisplayImageOptions(DisplayImageOptions.createSimple())
    //.imageDownloader(new BaseImageDownloader(context, 5 * 1000, 30 * 1000)) // connectTimeout (5 s), readTimeout (30 s)超时时间
    .writeDebugLogs() // Remove for release app
    .build();
  // Initialize ImageLoader with configuration.
  ImageLoader.getInstance().init(config);//全局初始化此配置
 }
}