Android学习-新闻客户端养成记(一)

经过数日的努力,新闻客户端终于完成了,想用博客记录一下开发过程中遇到的问题和解决方法,以免以后遇到同样的问题骂自己记性差.


项目的前期准备

做项目前应该仔细的规划一下功能需求,大体的预估一需要用到什么知识.

新闻客户端需要用到的第三方jar包包括 



volley  Jar包:

据我所知,在Android中主要提供了两种方式来进行HTTP通信,分别是httpURLconnect和httpclient ,但是用过这两种方式的人都会感觉到这样的方法有些繁琐,还要考虑主线程问题,volley的出现解决了这些繁琐的问题,volley适合进行数据量不大但是相当频繁的网络操作,也不用考虑主线程问题,新闻客户端正好需要这样的框架.

viewpagertransformslibrary.jar 包:

扫描二维码关注公众号,回复: 2167576 查看本文章

viewpagertransformslibrary 是给viewpager做切换动画用的

com.haarman.listviewanimations-2.6.0.jar 包

com.haarman.listviewanimations 是给列表控件的Item做动画显示用的

androidannotations-api-3.1.jar 包

androidannotations 是一个注解框架,现在的新闻客户端没有用到此框架,但我觉得这是一个相当不错的框架,没舍得删掉,等有时间会把这个框架加到项目里面的

nineoldandroids-2.4.0.jar 包

nineoldandroids 是一个不错的动画库

open_sdk_r5756.jar 包 mta-sdk-1.6.2.jar包

这两个包是腾讯提供的第三方jar包,通过这两个包可实现腾讯提供的第三方功能

initActivity.jar

这个是我自己打的包,自己命的名,它实际上是vitamio包,官网上提供了源代码,我嫌麻引用外部库太麻烦就直接源码打包了.




除了以上一些第三方jar包以外,还要知道新闻来源,客户端用到的是网易新闻的接口 ,以下是我整理的项目所需要的网址

  1. package eNews.url;  
  2.   
  3.   
  4. /** 
  5.  *  
  6.  * @author 王凯 
  7.  * @date 2016-9-12 数据网址 
  8.  */  
  9.   
  10.   
  11. public class Url {  
  12.     public static final String host = "http://c.m.163.com/";  
  13.     public static final String endUrl = "-20.html";  
  14.     public static final String endDetailUrl = "/full.html";  
  15.   
  16.   
  17.     // 头条  
  18.     public static final String TopUrl = host + "nc/article/headline/";  
  19.     public static final String TopId = "T1348647909107";  
  20.   
  21.   
  22.     // 新闻详情  
  23.     public static final String NewDetail = host + "/nc/article/";  
  24.   
  25.   
  26.     public static final String CommonUrl = host + "nc/article/list/";  
  27.     // 足球  
  28.     public static final String FootId = "T1399700447917";  
  29.     // 娱乐  
  30.     public static final String YuLeId = "T1348648517839";  
  31.     // 体育  
  32.     public static final String TiYuId = "T1348649079062";  
  33.     // 财经  
  34.     public static final String CaiJingId = "T1348648756099";  
  35.     // 科技  
  36.     public static final String KeJiId = "T1348649580692";  
  37.     // 电影  
  38.     public static final String DianYingId = "T1348648650048";  
  39.     // 汽车  
  40.     public static final String QiChiId = "T1348654060988";  
  41.     // 笑话  
  42.     public static final String XiaoHuaId = "T1350383429665";  
  43.     // 笑话  
  44.     public static final String YouXiId = "T1348654151579";  
  45.     // 时尚  
  46.     public static final String ShiShangId = "T1348650593803";  
  47.     // 情感  
  48.     public static final String QingGanId = "T1348650839000";  
  49.     // 精选  
  50.     public static final String JingXuanId = "T1370583240249";  
  51.     // 电台  
  52.     public static final String DianTaiId = "T1379038288239";  
  53.     // nba  
  54.     public static final String NBAId = "T1348649145984";  
  55.     // 数码  
  56.     public static final String ShuMaId = "T1348649776727";  
  57.     // 数码  
  58.     public static final String YiDongId = "T1351233117091";  
  59.     // 彩票  
  60.     public static final String CaiPiaoId = "T1356600029035";  
  61.     // 教育  
  62.     public static final String JiaoYuId = "T1348654225495";  
  63.     // 论坛  
  64.     public static final String LunTanId = "T1349837670307";  
  65.     // 旅游  
  66.     public static final String LvYouId = "T1348654204705";  
  67.     // 手机  
  68.     public static final String ShouJiId = "T1348649654285";  
  69.     // 博客  
  70.     public static final String BoKeId = "T1349837698345";  
  71.     // 社会  
  72.     public static final String SheHuiId = "T1348648037603";  
  73.     // 家居  
  74.     public static final String JiaJuId = "T1348654105308";  
  75.     // 暴雪游戏  
  76.     public static final String BaoXueId = "T1397016069906";  
  77.     // 亲子  
  78.     public static final String QinZiId = "T1397116135282";  
  79.     // CBA  
  80.     public static final String CBAId = "T1348649475931";  
  81.     // 消息  
  82.     public static final String MsgId = "T1371543208049";  
  83.   
  84.   
  85.     public static final String FangChanId = "5YyX5Lqs";  
  86.   
  87.   
  88.     // 美 图  
  89.     public static final String TuPianMeitu = "http://c.m.163.com/recommend/getChanRecomNews?channel=T1456112189138&size=20&offset=";  
  90.     // 体育  
  91.   
  92.   
  93.     // 体坛 42262.json  
  94.     public static final String TuPianTiTanInit = host  
  95.             + "photo/api/morelist/0096/54GM0096/42262.json";  
  96.     // 初始图集  
  97.     public static final String TuJiInit = host  
  98.             + "photo/api/list/0096/54GI0096.json";// 42358.json  
  99.   
  100.   
  101.     public static final String TuJi = host  
  102.             + "photo/api/morelist/0096/54GI0096/";// 42358.json  
  103.   
  104.   
  105.     // 图集end  
  106.     public static final String TuJiEnd = ".json";  
  107.   
  108.   
  109.     // 热点42577  
  110.     public static final String TuPianReDian = host  
  111.             + "photo/api/morelist/0096/54GI0096/42577.json";  
  112.     // 独家42010  
  113.     public static final String TuPianDuJia = host  
  114.             + "photo/api/morelist/0096/54GJ0096/";  
  115.     // 明星 42599.json  
  116.     public static final String TuPianMingXing = host  
  117.             + "photo/api/morelist/0096/54GK0096/";  
  118.   
  119.   
  120.     // http://c.m.163.com/recommend/getChanRecomNews?channel=T1456112189138  
  121.     // &size=20&offset=40&fn=1&passport=&devId=1W%2FpqPI0eimZMOMbswN2gw%3D%3D&lat=w7Ifc7bHs%2Bfw2bqO4TuUNw%3D%3D&lon=KuBH1jAZjiNo60aoq4e1Ag%3D%3D&version=14.2&net=wifi&ts=1472895595&sign=sU4j0lqP9jfsfmwV9dwTTAGpFOwYk2mWrXTRAA3nHPh48ErR02zJ6%2FKXOnxX046I&encryption=1&canal=meizu_store2014_news&mac=oHWFn0cEzVi3yidKr0L43U8dvF5D%2FPPigcKX35%2FLlyc%3D  
  122.   
  123.   
  124.     // http://c.m.163.com/recommend/getChanRecomNews?channel=T1456112189138  
  125.   
  126.   
  127.     // 视频 http://c.3g.163.com/nc/video/list/00850FRB/n/10-10.html  
  128.     public static final String Video = host + "nc/video/list/";  
  129.     public static final String VideoCenter = "/n/";  
  130.     public static final String videoEndUrl = "-20.html";  
  131.     // 热点视频  
  132.     public static final String VideoReDianId = "V9LG4B3A0";  
  133.     // 娱乐视频  
  134.     public static final String VideoYuLeId = "V9LG4CHOR";  
  135.     // 搞笑视频  
  136.     public static final String VideoGaoXiaoId = "V9LG4E6VR";  
  137.     // 精品视频  
  138.     public static final String VideoJingPinId = "00850FRB";  
  139.   
  140.   
  141.     // 天气预报url  
  142.     public static final String WeatherHost = "http://wthrcdn.etouch.cn/weather_mini?city=";  
  143.     // http://v.juhe.cn/weather/index?cityname=  
  144.     //  
  145.     // http://api.k780.com:88/?app=weather.city&format=json 获取城市列表  
  146.   
  147.   
  148.     public static final String WeatherKey = "&key=1734f933d24634331a24aaadc1cb088f";  
  149.     // 地址反编  
  150.     public static final String GeocoderUrl = "http://maps.google.cn/maps/api/geocode/json?language=zh-CN&sensor=true&";// latlng=38.92,121.62&sensor=false  
  151.   
  152.   
  153. }  
package eNews.url;


/**
 * 
 * @author 王凯
 * @date 2016-9-12 数据网址
 */


public class Url {
	public static final String host = "http://c.m.163.com/";
	public static final String endUrl = "-20.html";
	public static final String endDetailUrl = "/full.html";


	// 头条
	public static final String TopUrl = host + "nc/article/headline/";
	public static final String TopId = "T1348647909107";


	// 新闻详情
	public static final String NewDetail = host + "/nc/article/";


	public static final String CommonUrl = host + "nc/article/list/";
	// 足球
	public static final String FootId = "T1399700447917";
	// 娱乐
	public static final String YuLeId = "T1348648517839";
	// 体育
	public static final String TiYuId = "T1348649079062";
	// 财经
	public static final String CaiJingId = "T1348648756099";
	// 科技
	public static final String KeJiId = "T1348649580692";
	// 电影
	public static final String DianYingId = "T1348648650048";
	// 汽车
	public static final String QiChiId = "T1348654060988";
	// 笑话
	public static final String XiaoHuaId = "T1350383429665";
	// 笑话
	public static final String YouXiId = "T1348654151579";
	// 时尚
	public static final String ShiShangId = "T1348650593803";
	// 情感
	public static final String QingGanId = "T1348650839000";
	// 精选
	public static final String JingXuanId = "T1370583240249";
	// 电台
	public static final String DianTaiId = "T1379038288239";
	// nba
	public static final String NBAId = "T1348649145984";
	// 数码
	public static final String ShuMaId = "T1348649776727";
	// 数码
	public static final String YiDongId = "T1351233117091";
	// 彩票
	public static final String CaiPiaoId = "T1356600029035";
	// 教育
	public static final String JiaoYuId = "T1348654225495";
	// 论坛
	public static final String LunTanId = "T1349837670307";
	// 旅游
	public static final String LvYouId = "T1348654204705";
	// 手机
	public static final String ShouJiId = "T1348649654285";
	// 博客
	public static final String BoKeId = "T1349837698345";
	// 社会
	public static final String SheHuiId = "T1348648037603";
	// 家居
	public static final String JiaJuId = "T1348654105308";
	// 暴雪游戏
	public static final String BaoXueId = "T1397016069906";
	// 亲子
	public static final String QinZiId = "T1397116135282";
	// CBA
	public static final String CBAId = "T1348649475931";
	// 消息
	public static final String MsgId = "T1371543208049";


	public static final String FangChanId = "5YyX5Lqs";


	// 美 图
	public static final String TuPianMeitu = "http://c.m.163.com/recommend/getChanRecomNews?channel=T1456112189138&size=20&offset=";
	// 体育


	// 体坛 42262.json
	public static final String TuPianTiTanInit = host
			+ "photo/api/morelist/0096/54GM0096/42262.json";
	// 初始图集
	public static final String TuJiInit = host
			+ "photo/api/list/0096/54GI0096.json";// 42358.json


	public static final String TuJi = host
			+ "photo/api/morelist/0096/54GI0096/";// 42358.json


	// 图集end
	public static final String TuJiEnd = ".json";


	// 热点42577
	public static final String TuPianReDian = host
			+ "photo/api/morelist/0096/54GI0096/42577.json";
	// 独家42010
	public static final String TuPianDuJia = host
			+ "photo/api/morelist/0096/54GJ0096/";
	// 明星 42599.json
	public static final String TuPianMingXing = host
			+ "photo/api/morelist/0096/54GK0096/";


	// http://c.m.163.com/recommend/getChanRecomNews?channel=T1456112189138
	// &size=20&offset=40&fn=1&passport=&devId=1W%2FpqPI0eimZMOMbswN2gw%3D%3D&lat=w7Ifc7bHs%2Bfw2bqO4TuUNw%3D%3D&lon=KuBH1jAZjiNo60aoq4e1Ag%3D%3D&version=14.2&net=wifi&ts=1472895595&sign=sU4j0lqP9jfsfmwV9dwTTAGpFOwYk2mWrXTRAA3nHPh48ErR02zJ6%2FKXOnxX046I&encryption=1&canal=meizu_store2014_news&mac=oHWFn0cEzVi3yidKr0L43U8dvF5D%2FPPigcKX35%2FLlyc%3D


	// http://c.m.163.com/recommend/getChanRecomNews?channel=T1456112189138


	// 视频 http://c.3g.163.com/nc/video/list/00850FRB/n/10-10.html
	public static final String Video = host + "nc/video/list/";
	public static final String VideoCenter = "/n/";
	public static final String videoEndUrl = "-20.html";
	// 热点视频
	public static final String VideoReDianId = "V9LG4B3A0";
	// 娱乐视频
	public static final String VideoYuLeId = "V9LG4CHOR";
	// 搞笑视频
	public static final String VideoGaoXiaoId = "V9LG4E6VR";
	// 精品视频
	public static final String VideoJingPinId = "00850FRB";


	// 天气预报url
	public static final String WeatherHost = "http://wthrcdn.etouch.cn/weather_mini?city=";
	// http://v.juhe.cn/weather/index?cityname=
	//
	// http://api.k780.com:88/?app=weather.city&format=json 获取城市列表


	public static final String WeatherKey = "&key=1734f933d24634331a24aaadc1cb088f";
	// 地址反编
	public static final String GeocoderUrl = "http://maps.google.cn/maps/api/geocode/json?language=zh-CN&sensor=true&";// latlng=38.92,121.62&sensor=false


}



获取源码

猜你喜欢

转载自blog.csdn.net/w1143408997/article/details/52528734