码迷,mamicode.com
首页 > 移动开发 > 详细

android项目创建xml和存储xml文件

时间:2015-08-19 20:23:51      阅读:141      评论:0      收藏:0      [点我收藏+]

标签:android   rss   xml   

学安卓复习java基础

因为项目需要刷新出昨天的文章,因此之前点击一份电子杂志,创建一个新的xml文件的方式就不对了,因为电子杂志不同于新闻,不会时时更新,因此一条更新一次,所以我需要每天下载一份它的RSS 源的xml文件到项目里(曾经居然想下载到手机的sd卡里),文件命名格式以时间加上杂志名,那么我每天需要创建这些xml,在项目下创建文件可以在files和cache中创建,我选择在files下创建。
                File file1 = null,file2=null,file3=null,file4=null;
		Date date2 = new Date();
		SimpleDateFormat format2 = new SimpleDateFormat("yyyyMMdd");
		//获取项目文件files的目录
		File tempFile = this.getFilesDir();
		String yygypathstr = tempFile.toString();
		//文件命名格式为以时间(年月日)+资源名
		file1 = new File(yygypathstr, (format2.format(date2)+"VICE中国"+ ".xml"));
		file2 = new File(yygypathstr, (format2.format(date2)+"设计癖"+ ".xml"));
		file3 = new File(yygypathstr, (format2.format(date2)+"知乎"+ ".xml"));
		file4 = new File(yygypathstr, (format2.format(date2)+"豆瓣一刻"+ ".xml"));
		//如果文件不存在,才创建
		if (!file1.exists() && !file2.exists() && !file3.exists() && !file4.exists()) {
			try {
				file1.createNewFile();
				file2.createNewFile();
				file3.createNewFile();
				file4.createNewFile();
			} catch (IOException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}
		

这个放在第一个activity中进行判断。创建好了之后,需要往这里面些数据,如果文件不为空且可以和RSS源连接上,就写入数据,我们需要往当天的那份杂志不为空的xml文件写入数据,用到循环判断。
                        Date date = new Date();
			SimpleDateFormat format = new SimpleDateFormat("yyyyMMdd");
			String paperTitleName=format.format(date)+title+ ".xml";
			File file=null;
			
			File fileXml=new File(xmlPath.toString());
			File[] tempList = fileXml.listFiles();
			//点击那一份杂志,找到这份杂志的当天xml赋给file
			for (int i = 0; i < tempList.length; i++) {
				if (paperTitleName.equals(tempList[i].getName())) {
					file=tempList[i];
				}
			}
如果不为空就不存入数据
                        HttpClient client = new DefaultHttpClient();
			HttpGet get = new HttpGet(RSS_URL);
			try {
				HttpResponse response = client.execute(get);
				if (response.getStatusLine().getStatusCode() == 200 && file.length()==0) {
					InputStream inputStream = response.getEntity().getContent();

					FileOutputStream fos = new FileOutputStream(file);
					int byteread = 0;
					byte[] buffer = new byte[1024];
					while ((byteread = inputStream.read(buffer)) != -1) {

						fos.write(buffer, 0, byteread);
					}
					fos.flush();
					fos.close();
					inputStream.close();
				}
			} catch (ClientProtocolException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			} catch (IOException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
存入数据之后,开始解析xml文件读取数据,方法和我之前写的如何读取xml的方法一样。明天我将完成如何向下滑动,刷新出昨天的文章。




版权声明:本文为博主原创文章,未经博主允许不得转载。

android项目创建xml和存储xml文件

标签:android   rss   xml   

原文地址:http://blog.csdn.net/u012157999/article/details/47785749

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!