2013-02-13 92 views
3

我需要一些幫助,如何通過編程來更新Android應用程序沒有Android市場

1)我開發的應用程序中,我要顯示脫機網站,包括視頻,所以我加在原始文件夾影片的離線訪問應用程序,我想在幾天後更改視頻(可能會添加或刪除應用程序中的一些視頻)。 因此有可能在不使用android市場的情況下更新我的應用程序?

這個想法是當我啓動應用程序它將解析json並檢查我的網站上是否有新版本的應用程序可用。如果它是可用的,它將開始下載它(我不想打開瀏覽器進行下載,更新應該在我的應用程序或後臺完成),然後重新安裝它。如何通過編程方式來實現?

還我怎麼能在緩存網頁的整個網站view.currently我使用這個代碼,但它僅緩存訪問過的網頁(我們在應用程序中打開頁面)

webView.getSettings().setLoadsImagesAutomatically(true); 
webView.getSettings().setDomStorageEnabled(true); 
webView.getSettings().setAppCacheMaxSize(1024*1024*24); 
String appCachePath = getApplicationContext().getCacheDir().getAbsolutePath(); 
webView.getSettings().setAppCachePath(appCachePath); 
webView.getSettings().setAllowFileAccess(true); 
webView.getSettings().setAppCacheEnabled(true); 
webView.setWebChromeClient(new WebChromeClient()); 
webView.setWebViewClient(new WebViewClient()); 
if (savedInstanceState == null) { 
if(isNetworkAvailable() == true){ 
webView.getSettings().setCacheMode(WebSettings.LOAD_DEFAULT); 
webView.loadUrl("http://www.xyz.com"); 
    } else { 
webView.getSettings().setCacheMode(WebSettings.LOAD_CACHE_ONLY); 
webView.loadUrl("http://www.xyz.com"); 
    } } } 

2)如何安裝通過USB無需點擊日蝕運行按鈕從蘋果機到平板電腦的apk。 我想安裝這個apk到200片,所以我正在尋找一些批處理程序或一些腳本,這將是一個點擊安裝腳本的應用程序。 我在gooogle上搜索時發現有一個Multiple apk on click,但我不知道它是否適用於非植根平板電腦。

等待回覆。 謝謝

+1

我有一個開源項目,可以讓你檢查,下載和安裝更新從你的應用程序[這裏](https://github.com/RaghavSood/AppaholicsUpdateChecker/) – 2013-02-13 13:15:30

+0

@RaghavSood非常感謝你的男人。 。你有一些實現示例嗎?並在下載apk後會要求用戶安裝?如果同一應用程序正在運行並且完成下載,則會發生什麼情況,而不是退出應用程序並安裝或等到退出並安裝更新。 – 2013-02-13 13:25:11

+0

有一個集成指南[這裏](https://github.com/RaghavSood/AppaholicsUpdateChecker/wiki/API-2-Integration-Guide)。除此之外,您可以選擇立即下載和安裝,或下載並在不同的時間安裝。它會下載並安裝,如果退出你的應用程序,如果它在前臺。 – 2013-02-13 13:27:17

回答

2

有兩種方法可以做到這一點 首次使用推送通知,當他們從你的Web服務器上的通知下載點擊APK,讓他們安裝告知用戶新的版本(我用這個)

其他選項可能會在某些修復時間(一天)後輪詢您的Web服務器,並檢查新版本是否可用一旦可用,將新版本可用時將其推送到新的版本可用,當用戶單擊它時會再次重複上述過程爲您所需要的一切是您將請求發送的網絡服務器,並從那裏您將使用戶下載應用程序

+0

嗯聲音cool..but當我點擊通知,下載更新比它不會打開網頁瀏覽器下載..它應該下載在我的應用程序(或在後臺)。如果您不介意的話,您可以與我分享您的示例實施代碼嗎? – 2013-02-13 13:28:45

1

我認爲商店視頻等資源是一個不好的方法。

您可以通過定時器將您的數據與您的網站同步,並將所有數據全部保存在數據庫或SD卡中 - 因此您無需重新安裝應用程序,但有時只需下載一些數據,所有數據都將在您的設備上可用的離線。

而關於腳本 - 你可以編寫自己的腳本,只能運行abd install app - 因此你只需要在不打開IDE的情況下啓動adb。

順便說一句,無需用戶操作(在非root用戶的設備上),您就可以「重新安裝」您的應用程序 - 因此用戶重新安裝應用程序非常不方便。

修訂

通過USB安裝應用程序 - 這個人必須有亞洲開發銀行。

他們不想等到下載完成

但在這種情況下,他們不得不等待,直到應用程序被下載=)。 他們必須下載內容甚至是資源內容或在線提供。

如果你想創建這樣的應用程序有內置的內容,您可以與一些問題,面對:

  • 有些設備將不會接受你非常巨大的APK(> 20 MB用於例如HTC Desire的是一個壞想法=)
  • 每次你想更新你的應用程序,人們必須重新下載大量的梗死,如果你內置在線緩存,他們可以花更少的時間下載差異。即使人們通過USB安裝您的應用 - 您可以將所有數據放在SD卡上。
  • 您無法以非人爲設備升級您的應用程序,以免人們生氣 - 每次都必須重新安裝應用程序。但用我的方法可以睡覺和內容可以下載。

所以我不能想象任何用例,當你的方法比平常的「在線」方法更好。

+0

我想像批處理文件(如窗口),這將做所有工作在一個點擊和安裝(非技術人員在平板電腦上安裝應用程序)或像make文件..但我不知道我怎麼能創建它。你可以幫我嗎。 – 2013-02-13 13:39:12

+0

我正在開發的應用程序更離線,更少在線..就像我在平板電腦上安裝應用程序使用將使所有信息離線。他們不想等到下載完成。你的想法很好,但我的情況是不同的,這就是爲什麼當添加新視頻時,我會將它添加到項目文件夾中,併爲我的應用進行版本更新,並且會自動下載和更新。你有其他建議嗎? – 2013-02-13 13:43:20

+0

檢查更新回答 – dilix 2013-02-13 14:16:19

相關問題