我剛剛使用this來創建我的網站的.apk文件。有沒有可能在沒有訪問數據連接或WiFi的情況下運行這個文件?但同樣,在Wifi或數據打開時,網站應該會更新。任何人都可以幫助我?是否有可能在沒有Wifi的情況下運行.apk文件?
回答
首先將您網站的文件存儲在資產文件夾。
現在,每次打開應用程序時,請檢查網站文件是否存在,以防止應用程序崩潰。
下面給出的代碼檢查,如果它不存在,那麼它會調用一個方法,將文件從資產複製到設備存儲。
File file = new File(YOUR FILE PATH);
if(!file.exists()){
//Doesn't exist. Create it in sdcard
copyAssets();
}
下面是從資產的網站文件複製到設備存儲(把它們放在你的類)的方法 -
private void copyAssets() {
AssetManager assetManager = getAssets();
String[] files = null;
try {
files = assetManager.list("");
} catch (IOException e) {
Log.e("tag", "Failed to get asset file list.", e);
}
for(String filename : files) {
InputStream in = null;
OutputStream out = null;
try {
in = assetManager.open(filename);
File outFile = new File(DIRECTORY, filename);
out = new FileOutputStream(outFile);
copyFile(in, out);
in.close();
in = null;
out.flush();
out.close();
out = null;
} catch(IOException e) {
Log.e("tag", "Failed to copy asset file: " + filename, e);
}
}
}
private void copyFile(InputStream in, OutputStream out) throws IOException {
byte[] buffer = new byte[1024];
int read;
while((read = in.read(buffer)) != -1){
out.write(buffer, 0, read);
}
}
然後檢查用戶的互聯網連接(在onCreate方法) -
ConnectivityManager cm =
(ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo netInfo = cm.getActiveNetworkInfo();
if (netInfo != null && netInfo.isConnectedOrConnecting()) {
//user is connected to internet
//put the code given ahead over here
}
權限 -
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
現在,如果用戶連接到互聯網,訪問互聯網,讓你的網站的新的源代碼是這樣(把這個代碼在互聯網上查看上面給出的代碼) - 一旦你的源代碼
URL url = new URL(YOUR URL);
URLConnection yc = url.openConnection();
BufferedReader in = new BufferedReader(new InputStreamReader(
yc.getInputStream(), "UTF-8"));
String inputLine;
StringBuilder a = new StringBuilder();
while ((inputLine = in.readLine()) != null)
a.append(inputLine);
in.close();
String source = a.toString();
現在,像這樣在設備存儲器中更新你的HTML文件 -
File gpxfile = new File(File address, "filename.html");
BufferedWriter bW;
try {
bW = new BufferedWriter(new FileWriter(gpxfile));
bW.write(source); //our new source code
bW.newLine();
bW.flush();
bW.close();
} catch (IOException e) {
e.printStackTrace();
}
你完成了!現在,從這樣的存儲加載文件到web視圖(在onCreate方法畢竟我們以前寫的代碼) - 建議發送用戶
index.loadUrl("file://"+Environment.getExternalStorageDirectory()+ "Your address in storage");
要求不時地把他們的網絡上更新的網站並防止使用它的過時副本。
非常感謝你!我只是想知道,是否可能有一個工作示例,可以幫助我更好地理解此代碼? – 2014-10-06 10:31:56
'用戶打開此應用程序時,檢查文件是否存在於內部存儲器中。如果是,則繼續'...使用**過期的**網站副本。 – 2014-10-06 10:34:54
@Neutrino我會很樂意和你一起在即將到來的網站上工作,也就是說,如果你想開發一款新的應用程序,將會有超過42K的瀏覽量。青少年到青少年;-) – 2014-10-06 10:41:50
- 1. 是否可以在沒有X-server的情況下運行JavaFx?
- 2. 是否可以在沒有Weblogic Server的情況下運行OSB?
- 3. 是否有可能在沒有main的情況下運行Java程序()
- 4. 是否可以在沒有web.xml文件的情況下在jetty上運行servlet?
- 5. 是否有可能在Apache中有一個PHP文件沒有擴展名的情況下運行?
- 6. 網站能否在沒有javascript的情況下運行?
- 7. 是否有可能在沒有PHP的情況下創建註冊可能性?
- 8. 可能在沒有屏幕的情況下運行Pymunk模擬(在沒有真正看到它的情況下)?
- 9. 如何在沒有adb的情況下拉取apk文件?
- 10. 是否有可能在沒有GUI的情況下使用Vim的clientserver功能?
- 11. 我可以在沒有WebView的情況下運行Javascript,還是可以在沒有Activity上下文的情況下運行WebView(例如在服務中)?
- 12. 是否可以在沒有瀏覽器的情況下在後端運行JavaScript?
- 13. MySQL在沒有套接字文件的情況下運行
- 14. 如何在沒有文件名的情況下運行javascript
- 15. 如何在沒有文件的情況下運行node.js腳本?
- 16. 如何在沒有路徑的情況下運行python文件?
- 17. 在沒有輸出文件的情況下運行Hadoop作業
- 18. 是否可以在沒有GNOME的情況下運行GTK +應用程序?
- 19. 是否可以在沒有React-Redux的情況下運行Redux表單?
- 20. 是否可以在沒有類的情況下運行java程序?
- 21. 是否可以在沒有設置Eclipse的情況下運行Android模擬器
- 22. Visual Studio 2010在沒有IDE的情況下運行可執行文件
- 23. Python:是否可以在沒有文本文件的情況下設置高分?
- 24. 是否有可能在沒有權限的情況下使用Eclipse與Pydev在cmd中運行程序?
- 25. 是否有可能在沒有打開應用程序的情況下在android上運行日常任務?
- 26. 是否有可能在沒有括號的情況下調用VB函數?
- 27. 是否有可能在沒有本地數據庫的情況下使用PassportJS?
- 28. 是否有可能在沒有音頻源的情況下使用CamcorderProfile?
- 29. 是否有可能在沒有Arduino的情況下編寫Arduino程序?
- 30. 是否有可能在沒有ImageIO的情況下閱讀圖像?
'這個文件可能在沒有訪問數據連接或WiFi的情況下運行?'顯然不是。它似乎只提供一個應用程序**只是一個WebView指向您的網站**(可能你會得到一個預先安裝的apk加載你的文件鏈接)。這顯然是**全部**。另外,我想它會在您的「應用程序」中添加一些** AdMob **(這將解釋爲什麼他們會提供此服務)。 – 2014-10-06 09:42:29
同意@ FrankN.Stein - 它似乎只是創建所謂的「網絡應用程序」,而不是原生的Android應用程序。除非它生成的代碼允許沒有網絡連接的條件(並隨後加載網頁的緩存副本),否則它將不起作用。我建議你問作者在web2apk.com – Squonk 2014-10-06 10:10:08
有沒有一種方法來製作本機android應用程序?我是新來的,所以它需要任何程序,或者你必須像網站一樣自己編寫代碼? – 2014-10-06 10:16:24