2015-11-11 22 views
0

我正在開發我的應用程序,其中包含一些內部例程使用的一些xml文件。 我希望將原始xml文件存儲在遠程服務器中,以便在用戶需要與此類服務器同步時,應用程序會更新xml文件,即遠程文件的版本將下載到本地。是否有可能實現這樣的設置?是否有可能在應用程序內添加同步按鈕?我在Android工作室開發。目前,我的應用程序包含本地版本的xml文件, 並且缺少同步。在Android Studio中創建與遠程文件同步的應用程序

+0

??我的意思是,只要在需要的時候下載這些文件並使用它們,你能解釋一下嗎? – OverCoder

+0

這些文件只是xml文件的一部分,我的應用程序。我想在遠程有正式版本,當我按下按鈕時,本地版本的文件被遠程版本取代。這將是主意。我不知道它是否適用,也就是說,我不知道安裝應用程序後是否有可能更新本地文件。也許應該重新安裝整個應用程序以獲得更新版本的XML文件? – helius83

+0

這些XML文件是佈局文件還是您在代碼中使用的其他文件? – OverCoder

回答

0

因爲這些都不是佈局的XML文件,

使用這樣的事情下載您需要的文件:

URL website = new URL("http://www.website.com/some_file.xml"); 
ReadableByteChannel rbc = Channels.newChannel(website.openStream()); 
FileOutputStream fos = new FileOutputStream("some_file.xml"); 
fos.getChannel().transferFrom(rbc, 0, Long.MAX_VALUE); 
fos.close(); 

把代碼這樣的塊中的同步按鈕的onclick方法

修改FileOutputStream的構造函數的參數以將文件保存在其他地方

將它們保存在'Environment.getExternalStor ageDirectory()+「的Android/package.name /文件/ some_file.xml」

,並使用相同的路徑獲得的文件,並使用它

我希望這有助於

編輯:根據您最後的評論,您需要使用uniqur標識符來識別每個設備,這通常很難在所有的android設備上找到,我認爲您必須使用登錄/註冊系統,因此意味着使用PHP

也許有更好的解決方案

+0

感謝您的回覆,我會盡力實現這個想法。我想問你,當你說在別處保存xml文件時你的意思是什麼?如果將它們作爲默認值保存在「res/values」下,是不行的?另外,如果存儲它們的目錄發生更改,我該如何引用它們?目前,我這樣做就像R.file.resource。 – helius83

+0

@ helius83對不起,回覆遲了,不,我不能將文件保存在/ res /中,正如我所說的,將它保存在其他地方,這意味着您可以將它保存在用戶的內部存儲器上,或者保存在您想要的任何路徑 – OverCoder

相關問題