AndroidWidget实践 --- EverydayTips开发(6)
2019独角兽企业重金招聘Python工程师标准>>>
这次实现了简单的从网络更新tips.txt
先检查是否有更新,使用的sae的空间
网址是txtfan.sinaapp.com
public static Boolean check(Context context, String path) throws Exception {String date = "";String formerdate = "";SharedPreferences settings = context.getSharedPreferences("date",Context.MODE_PRIVATE);formerdate = settings.getString("data", null);// 读取之前的更新日期HttpPost httpRequest = new HttpPost(path);try {// 取得HTTP responseHttpResponse httpResponse = new DefaultHttpClient().execute(httpRequest);// 若状态码为200 okif (httpResponse.getStatusLine().getStatusCode() != 404) {// 取出回应字串date = EntityUtils.toString(httpResponse.getEntity());} else {date = "0";}} catch (ClientProtocolException e) {date = "0";e.printStackTrace();} catch (UnsupportedEncodingException e) {date = "0";e.printStackTrace();} catch (IOException e) {date = "0";e.printStackTrace();}SharedPreferences.Editor editor = settings.edit();// 保存现在的更新日期editor.putString("data", date);editor.commit();if (!date.equals(formerdate)) {return true;} else {return false;}}
有的话
public static Boolean getTipsOnline(String path) throws Exception {File fileTip = new File(DATA_PATH + "tips.txt");if (fileTip.exists()) {fileTip.renameTo(new File(DATA_PATH + System.currentTimeMillis()+ "bktips.txt"));}URL url = new URL(path);HttpURLConnection conn = (HttpURLConnection) url.openConnection();conn.setRequestMethod("GET");conn.setConnectTimeout(5 * 1000);InputStream inStream = conn.getInputStream();// 通过输入流获取html数据byte[] data = StreamTool.readInputStream(inStream);// 得到html的二进制数据DataOutputStream dataOutputStream = new DataOutputStream(new FileOutputStream(DATA_PATH + "tips.txt"));dataOutputStream.write(data);dataOutputStream.flush();return true;}
http://dl.dbank.com/c0ez81qgts
转载于:https://my.oschina.net/sfshine/blog/470696
AndroidWidget实践 --- EverydayTips开发(6)相关推荐
- ios开发 mvp实践_实践中开发人员的工作流程-我们如何在30天内建立MVP
ios开发 mvp实践 by Léna Faure 莱娜·福雷(LénaFaure) 实践中开发人员的工作流程-我们如何在30天内建立MVP (The developer's workflow i ...
- Google Protobuf 实践使用开发
Android 敏捷开发助手 Lottie动画 轻松使用 PNG.JPG等普通图片高保真转SVG图 Android 完美的蒙层方案 Android MMKV框架引入使用 强大无匹的自定义下拉列表 Go ...
- MIL开发实践(1)——开发环境的设置
目录 前言 软件安装 注意事项 MIL图像库函数说明 关于[MIL+QT实践教程](https://www.zhihu.com/column/c_1124353074277572608)的总结 MIL ...
- DataWorks 功能实践 — 生产开发环境隔离
简介:DataWorks功能实践系列,帮助您解析业务实现过程中的痛点,提高业务功能使用效率! 往期回顾: DataWorks 功能实践速览01期--数据同步解决方案:为您介绍不同场景下可选的数据同步方 ...
- 连载:阿里巴巴大数据实践—数据开发平台
简介:介绍MaxCompute和阿里巴巴内部基于MaxCompute的大数据开发套件,并对在数据开发过程中经常遇到的问题和相关解决方案进行介绍. 前言: -更多关于数智化转型.数据中台内容请加入阿里云 ...
- 【实践驱动开发3-004】TI WL1835MODCOM8 在android的移植 - 系统结构初始化和参考列表
移植wifi,显然必须了解wifi的基础结构,尤其在Android下的结构. 1 wifi的系统结构: 2 SDIO/wifi驱动分析 1.1 Android 下的wifi配置设置 在GOOGLE的网 ...
- 【实践驱动开发2-001】wifi 在android 下的实现 - AR6000 系列移植详细步骤
说明之前:文档建立在实际的项目中: 硬件环境是三星x210,软件是android4.0 ubuntu13.04 1 如何获取驱动: 1.1 AR6000 3.1的资源包最新可以找到的地方: 2014 ...
- arcore之路-unity开发从入门到实践_AR开发之路——准备工作
由于现在支持AR功能的手机没有普及,讲AR开发的教程也少,所以要学习AR开发还是要花点成本的,当然也有好处,花了学费,才会逼着自己坚持学下去. 为了学习AR,Relax今天入手了一部华为Nova 3i ...
- web前端开发最佳实践_Web开发人员和设计师的最佳黑色星期五优惠
web前端开发最佳实践 As Black Friday 2016 is here, we thought that web developers and web designers should al ...
最新文章
- 最喜欢随机森林?周志华团队DF21后,TensorFlow开源决策森林库TF-DF
- [渣译文] 使用 MVC 5 的 EF6 Code First 入门 系列:MVC程序中实体框架的连接恢复和命令拦截...
- PyCharm使用技巧:PyCharm重构
- [Win] 利用Memory DC抽取EXE的图标并保存为BMP文件
- 二叉树的的前序遍历和后序遍历(题型变种更新中)
- mysql 事务中锁处理_MySQL事务处理及锁定_MySQL
- ES10新特性_Symbol.prototype.description---JavaScript_ECMAScript_ES6-ES11新特性工作笔记060
- c++ 文件读写_串行FLASH 文件系统FatFs
- 苹果macOS Monterey将支持一键恢复出厂设置,无需重装系统
- java 中wait notify简解
- python中有readall吗_在python中使用tn.read_all()读取数据
- c语言标准库详解(一):stdio.h之文件操作
- 联想 计算机无线网络设置方法,联想笔记本无线网络开关,详细教您联想笔记本无线网络开关...
- Android入门基础教程1
- hbase java 建表_Java在HBase数据库创建表
- linux qt触摸屏配置,QT触摸屏的实现
- 程序员和码农有什么差别?
- 搜索爬行原理_使用Diffbot爬行和搜索整个域
- 计算机考研跨审计好跨嘛,跨专业如何考研
- 酷炫微信小程序点赞效果,带震动
热门文章
- Boost:基于Boost的阻塞udp echo的测试程序
- ITK:计算网格的平面参数化
- VTK:可视化算法之CarotidFlowGlyphs
- VTK:PolyData之PointSampler
- OpenGL 几何着色器剔除的实例
- c++判断一个数字是否为buzz number的算法(附完整源码)
- QT的QSignalMapper类的使用
- php键名改为0.1.2.3,揭秘 0.1 + 0.2 != 0.3(php 请自觉点用round)
- java个人介绍代码_个人项目WC(Java)
- OpenTSDB介绍