聚合了博客園新聞、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上給我一顆星星,謝謝!