android项目创建xml和存储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的方法一样。明天我将完成如何向下滑动,刷新出昨天的文章。

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

时间: 2024-08-12 14:15:55

android项目创建xml和存储xml文件的相关文章

eclipse创建android项目无法正常预览布局文件

eclipse创建android项目时,预览layout.xml文件时提示: This version of the rendering library is more recent than your version of ADT plug-in. Please update ADT plug-in,导致无法正常预览布局文件.问题根源:SDK版本过高,ADT版本过低.解决方法如下. 工具/原料 eclipse ADT插件 方法/步骤 1 找到eclipse文件夹,打开eclipse软件,创建a

Android开发中遇到的问题(三)——eclipse创建android项目无法正常预览布局文件

一.问题描述 今天使用SDK Manager将Android SDK的版本更新到了Android 5.1的版本,eclipse创建android项目时,预览activity_main.xml文件时提示: This version of the rendering library is more recent than your version of ADT plug-in. Please update ADT plug-in,导致无法正常预览布局文件,现象如下图所示: 上网查了一下原因,问题根源

对Django 项目创建之后产生的目录文件的认识

在新建一个Django项目之后,里面会默认创建四个文件: __init__.py manage.py settings.py urls.py 下面解释这些文件的作用: __init__.py Django项目是Python包,这个文件是用来告诉Python这个文件夹当做一个包.在Python术语中,包是一组模块的集合,主要用来把相似的文件分组,防止出现命名冲突. manage.py 这是另外一个有用的脚步用来管理你的项目,你可以把它看做是你项目的的django-admin.py版本,其实,man

解决eclipse下android项目不能自动生成R.java文件

通常情况下R.java文件是项目建立时自动生成的.但是,大家在eclipse下做开发的时候偶尔会遇到R.java文件不能自动生成.现在就来解决这个问题. 1.eclipse ADT插件的版本与android SDK版本不对应 一般问题就出现在这儿,这样的情况只要把ADT插件和SDK都更新到最新,重启eclipse一切就OK了. 红框那儿要全部install到最新. 2.eclipse自己出问题(和你闹别扭,哈哈) 这样的你就clean一下你的项目,或者使用android工具fix下.R.java

android自动创建生成model或者po文件

在开发过程中发现model或者po层的数据只是参数不同,其他都是一样,而每次编写的时候同样的事情需要花费很多的时间去写或者拷贝.虽然有些能够快速生成,但是还是需要时间,比如Parcelable接口实现的时候需要写一些东西,现在使用一个对文件编写的类来自动生成文件相信能减少更多的时间.甚至如果开发的接口够规范的话还能直接解析接口生成model或者po文件. 源码如下: import java.io.File; import java.io.FileOutputStream; import java

Android项目创建欢迎页

1.制作一张启动图片splash.png,放置在res->drawable-hdpi文件夹中. 2,布局文件 <span style="font-size:24px;"><?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:Android="http://schemas.android.com/apk/res/android"

Android项目路径改变后,libs文件夹内的包miss的解决办法

今天用因为用git,所以把项目移出了workspace(git不推荐将repository放到workspace里面),然后就报错: Archive for required library XXX in project cannot be read or is not a valid ZIP file 发现项目下的Android Private Libraries有个红叉. 项目右键-->Java Build Path,发现Android Private Libraries下的包的路径还是wo

Android项目开发填坑记-so文件引发的攻坚战

原文地址 http://blog.csdn.net/ys743276112/article/details/50903905 java.lang.UnsatisfiedLinkError 解决方法 主要内容 安装包在只编译了armeabi,没有x86.arm64-v8a,是如何运行在各种处理器的手机上的? https://www.zhihu.com/question/36893314/answer/69467752 arm64-v8a是可以向下兼容的,但前提是你的项目里面没有arm64-v8a的

Android官方入门文档[1]创建一个Android项目

Android官方入门文档[1]创建一个Android项目 创建一个Android项目 这节课教你1.创建与Android Studio中的一个项目2.创建使用命令行工具项目 你也应该阅读?管理项目 Creating an Android Project This lesson teaches you to1.Create a Project with Android Studio2.Create a Project with Command Line Tools You should also