【開源】開發者新聞聚合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上給我一顆星星,謝謝!

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM