聚合了博客园新闻、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上给我一颗星星,谢谢!