2010-10-08 108 views
0

我是如何去和這樣做有點困惑....無Internet連接

在我的應用程序的每一頁我連接到PHP文件中的數據從我的服務器拖動。我有大約10頁。現在,如果沒有連接到互聯網,那麼當然現在可以接收數據。

通常應用程序崩潰,我們把它放在沒有數據,因爲連接或wifi的變化。

現在我已經設置了可達性的東西,這工作,但我不知道如何鏈接這與PHP調用。我應該檢查可達性,如果沒有連接,那麼不運行電話。如果是這樣,那麼所有的變量呢,它們仍然是空的並導致錯誤呢?

我真的不知道什麼是最好的解決方案。

希望你能幫助 亞歷

回答

0

是PHP調用只是從數據庫中接收數據,而使用DB框架內置諸如SQLite的?如果是這樣,我首先採用了相同的路線以避免頭痛,但在您的應用中運行SQLite是一個更好的解決方案,並減少了多種依賴關係(如Internet連接)。

現在,如果PHP通話,讓您的數據備份是從另一個源接收此信息,然後餵養它變成自己的DB .....

Should i check the reachability and if no connection then dont run the call 

是的,你應該。這已經在多個應用中完成了。在這種情況下,哪些變量爲空?將調用的代碼放入此檢查下面的「if」塊中,並且只有在true時才運行它。處理可能爲空的其他變量時出錯,因爲php調用不設置它們取決於您。你可以做到這一點是多種方式。

0

您應該一定要緩存數據,以便應用程序不必連接到互聯網來顯示某些內容,除此之外我會確保使用異步請求和NSURLRequest的超時功能來控制您請求數據的嘗試在背景中。如果您沒有獲取數據,請繼續使用您緩存的內容。