android项目创建xml和存储xml文件
2015-08-19 20:05
483 查看
学安卓复习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从本机选取图片
- Android 将.sql格式文件转换为.db格式数据库文件
- Android基础布局+Activity启动+Intent
- android中的Activity和Intent
- Android之玩转选项卡(TabHost、TabWidget、FrameLayout)
- Android 中对于图片的内存优化方法
- android 处理图片之--bitmap处理
- Android 入门(1)
- Android_ConnectivityManager连接管理
- Android 使用外部db数据库文件
- Android动态设置actionBar
- Android之如何改变焦点状态【EditText】
- Android的全屏、标题栏、横竖屏设置
- Android Togglebutton 默认背景被放大
- android4.4修改设置中默认定位模式
- ListView、ScrollView、GridView滑动到顶端或底部的阴影效果去掉
- android studio中文乱码的解决方法【转】
- Android之——ContentResolver查询的三种方式
- Android Studio下Intent隐式启动,发短信,拨号,打电话,访问网页
- android开发 解决启动页空白或黑屏问题