2
我正在嘗試爲此交互式地圖製作一個簡單的webview應用程序:http://gta5online.com/map-interactive>地圖下方還有一個全屏鏈接。簡單的webview示例代碼Android工作室
現在我創建了一個資產文件夾,幷包含了「交互式」文件夾,其中包含所有文件,圖標,地圖圖塊和HTML文檔。
我想從那裏加載HTML文檔到webview的活動中。所以它是一個本地文件。我希望應用程序處理它而不是默認瀏覽器。
這裏是我做的現在:
我創建了一個新項目,並添加這些代碼到activity_home.xml文件:
<?xml version="1.0" encoding="utf-8"?>
<WebView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/webview"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
然後我說這個代碼,以便在對Internet的訪問即使它是我想加載的本地HTML文檔(供以後使用)也會顯示:
我還在第一個代碼塊中啓用了JavaScript,如您所見。
我是否應該將一些代碼放入home.java文件呢?
我嘗試這一點,但它給了錯誤:
package comapps.gta5online.gta5interactivemapcheats;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
public class Home extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_home);
}
}
public class ViewWeb extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.webview);
WebView wv;
WebView view=(WebView) this.findViewById(R.id.webView);
view.getSettings() .setJavaScriptEnabled(true);
view.loadUrl("file:///android_asset/interactive/map.html");
}
}
在我看到他用這樣的Java文件在YT教程:
#in mainactivity.java
setContentView(R.layout.activity_main);
String url ="file:///android_asset/interactive/map.html";
WebView view=(WebView) this.findViewById(R.id.webView);
view.getSettings() .setJavaScriptEnabled(true);
view.loadUrl(url);
好的,我成功地在模擬器中的虛擬nexus 5設備上運行它。我的代碼雖然短得多,但我不知道它是否全部符合。我如何在這裏發佈代碼。我可以把它放在這裏,因爲它不會顯示爲代碼標記。 – serdox
我也會試着用你的代碼。有沒有使用應用程序用戶代理的方式,而不是默認的瀏覽器?謝謝你的方式 – serdox
@serdox - 對於用戶代理設置有一個在這裏看它如何完成 - http://stackoverflow.com/questions/7327160/android-mobile-user-agent - http:// www。 useragentstring.com/pages/Android%20Webkit%20Browser/ – Tasos