【开源】开发者新闻聚合APP 2.0.3发布(第二个稳定版本)
聚合了博客园新闻、infoq新闻、36kr新闻、oschina新闻、51cto新闻、csdn新闻;
争取做到随时刷随时有开发者的新闻!
目前还只支持安卓APP
但用的人多了,我会发布苹果版的APP
最新版本的下载地址:http://shumanu.com/DeveloperNews.apk
开源代码的地址(包含采集程序、守护程序、APP客户端和WEB服务端):https://github.com/xland/DeveloperNews
扫码下载:
来看看系统截图:
这次更新的主要内容有:
一个屏幕只显示一条新闻;并且字体加大,方便用户在公车上刷新闻,(这样就不会晕车了!亲测!)
向上滑动家在更多新闻,向下滑动刷新新闻!
只提供了用系统浏览器打开新闻正文的功能!
去掉了用不到的权限!
修改了升级逻辑
升级部分的关键代码:
(正如你所见,客户端是JS写的,全部代码去GITHUB上看吧)
function updateAndroid(fPath) {
var date = new Date().getTime();
var fileN = "";
fileN = "_doc/dn_" + date + ".apk";
var options = {
method: "GET",
filename: fileN
};
var watiting = plus.nativeUI.showWaiting("开始下载:0%");
var dtask = plus.downloader.createDownload(fPath, options);
dtask.addEventListener("statechanged", function(task, status) {
if (!dtask) {
return;
}
switch (task.state) {
case 1: // 开始
break;
case 2: // 已连接到服务器
break;
case 3: // 已接收到数据
var nowData = Math.floor(task.downloadedSize * 100 / task.totalSize);
if (nowData % 10 == 0) {
watiting.setTitle("已下载:" + nowData + "%");
if (nowData == 100) {
plus.nativeUI.toast("正在准备环境,请稍后!");
plus.runtime.openFile(dtask.filename);
plus.runtime.quit();
}
}
break;
case 4: // 下载完成
break;
}
});
dtask.start();
} function checkVersion() {
mui.get(baseUrl + '/Default.aspx?Action=CheckVersion', {}, function(data) {
if (data != plus.runtime.version) {
plus.nativeUI.confirm("有新版本,是否更新?", function(msg) {
if (msg.index == 1) {
if ('iOS' == plus.os.name) {
plus.runtime.openURL(baseUrl + "/update/ios.aspx");
} else {
updateAndroid(baseUrl+"/DeveloperNews.apk");
}
}
}, "友情提醒:", ["取消", "确定"]);
}
});
}
webservice的代码页有更新,如下:
var pageSize = 8;
var Index = Request["Index"];
if (string.IsNullOrWhiteSpace(Index))
{
Index = "0";
}
var start = Convert.ToInt32(Index);
var dbFactory = new OrmLiteConnectionFactory(ConfigurationManager.AppSettings["dbConnStr"], MySqlDialect.Provider);
var db = dbFactory.Open();
List<allen_news> obj;
if(start == 0)
{
obj = db.Select<allen_news>("select * from allen_news order by news_id desc limit 0,"+(pageSize*2).ToString());
}
else
{
obj = db.Select<allen_news>("select * from allen_news where news_id < "+start.ToString()+" order by news_id desc limit 0," + pageSize.ToString());
}
db.Close();
db.Dispose();
if (obj.Count < 1)
{
Response.Write("Sorry...我们不打算把不算“新”闻的内容提供给您,您收藏的内容可以在“我的收藏”中找到。");
Response.End();
return;
}
Response.Write(JsonConvert.SerializeObject(obj));
Response.End();
喜欢的朋友请帮忙点个推荐,或者到github上给我一颗星星,谢谢!
【开源】开发者新闻聚合APP 2.0.3发布(第二个稳定版本)的更多相关文章
- 【开源】开发者新闻聚合APP 1.0.3发布(第一个稳定版本,短期内不再发布新版本)
聚合了博客园新闻.infoq新闻.36kr新闻.oschina新闻.51cto新闻.csdn新闻: 争取做到随时刷随时有开发者的新闻! 目前还只支持安卓APP 最新版本的下载地址:https://gi ...
- 灵雀云开源网络插件Kube-OVN 1.4.0 版发布!支持跨集群容器网络、NetworkPolicy 日志
从 1.4 开始 Kube-OVN 支持将多个 Kubernetes 集群容器网络打通,不同集群之间的 Pod 可以通过 Pod IP 直接互相通信.本版本还支持 ACL 日志,可以记录因 Netwo ...
- PHP 7.3.0.beta3 发布,下个版本将进入 RC 阶段
PHP 7.3.0 第三个测试版 beta3 已发布,源码下载地址 >>> https://downloads.php.net/~cmb/ 更新内容如下: - Core: . Fix ...
- Spring Mobile 1.1.0.RC1 和 1.0.2 发布
Spring Mobile 1.1.0.RC1 发布了,该版本包含: 支持 Firefox OS 设备的检测 修复了使用 LiteDeviceDelegatingViewResolver 处理重定向和 ...
- FreeBSD 12.0 版发布
FreeBSD 是一个自由且开源的类 Unix 操作系统,是 BSD Unix 的直系继承者.起始于 1993 年,FreeBSD 拥有悠久的历史与诸多衍生版本.其饱经考验,是最广泛应用的开源 BSD ...
- fir.im Weekly - 关于 Log Guru 开源、Xcode 探索和 Android7.0 适配
本期 fir.im Weekly 整理了最近的一些技术分享,包括关于 Log Guru 开源.Xcode 探索. Android7.0 适配等等 iOS/Android 相关的工具.源码分享和技术文章 ...
- 几款开源的hybird移动app框架分析
几款开源的Hybrid移动app框架分析 Ionic Onsen UI 与 ionic 相比 jQuery Mobile Mobile Angular UI 结论 很多移动开发者喜欢使用原生代码开发, ...
- PYTHON:新闻聚合
这个项目看了有段时间,因为一直没跑通,而且关于NNTP也不是特别理解.这里是转载code123的分析. 原文地址:http://www.code123.cc/1327.html 书中的第四个练习,新闻 ...
- 开源整理:Android App新手指引开源控件
开源整理:Android App新手指引开源控件 一个App第一次与用户接触或者发生大版本更新时,常常会用户进行新手引导,而一个好的新手指引,往往能够方便新用户快速了解操作你的应用功能.新手指引的重要 ...
随机推荐
- shell常用命令
wget wget -P /root url -O rename 实现文件下载指定目录和重命名
- Co-saliency-Huazhu Fu
这里主要是fu老师的显著性检测分割的一些资料. 对应的主页为:http://hzfu.github.io/ 对应的一些codes:https://github.com/HzFu
- Hibrenate学习的第一天
问题一:用sqlyog创建一个数据库,用Hibernate传入中文为什么变? 答:在hibernate中的数据连接处要添加 ?useUnicode=true&characterEncoding ...
- 其它数据类型和Json的转化
1.ResultSet→Json public static String resultSetToJson(ResultSet rs) throws SQLException,JSONExceptio ...
- R in a nutshell(连载)
data(cars)dim(cars)names(cars)summary(cars)plot(cars, xlab = "Speed (mph)", ylab = "S ...
- SharePoint 2013开发入门探索(一)- 自定义列表
在SharePoint 2013中创建自定义列表的方式有很多,在网站内容页面添加应用程序就可以创建(站点内容-〉 您的应用程序),也可以通过SharePoint Designer 2013创建,而本文 ...
- 用Python写爬虫爬取58同城二手交易数据
爬了14W数据,存入Mongodb,用Charts库展示统计结果,这里展示一个示意 模块1 获取分类url列表 from bs4 import BeautifulSoup import request ...
- jq点击元素删除父级
首先要能找到父级:需要操作的dom结构如下: <tbody> <tr> <td>星期一早起</td> <td class="status ...
- 【转】IE劫持原理 BHO
为什么"浏览器劫持"能够如此猖狂呢?放眼众多论坛的求助贴,我们不时可以看到诸如"我的IE被主页被改了,我用杀毒工具扫了一遍都没发现病毒,我把主页改回自己的地址,可是一重启 ...
- MSP430单片机的位操作
MSP430单片机属于RISC(Reduced Instruction Set Computer)型处理器.与普通的51单片机的复杂指令集相区别.普通51单片机执行一条指令最少需要12个时钟周期,而R ...