我正在尝试制作浏览器应用,但问题是它无法连接到互联网
这是一个多标签,所以这些是代码:
主要活动:
public class TabTestActivity extends TabActivity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
TabHost host=getTabHost();
host.addTab(host.newTabSpec("two")
.setIndicator("facebook")
.setContent(new Intent(this,facebrowser.class)));
host.addTab(host.newTabSpec("one")
.setIndicator("Google")
.setContent(new Intent(this,googlebrowser.class)));
}
}
tab1活动:
public class facebrowser extends Activity {
@Override
public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
WebView browse = new WebView(this);
setContentView(browse);
browse.loadUrl("http:\\www.facebook.com");
}
}
tab2活动:
public class googlebrowser extends Activity{
@Override
public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
WebView browse = new WebView(this);
setContentView(browse);
browse.loadUrl("http:\\www.google.com");
}
}
xml layout:
<?xml version="1.0" encoding="utf-8"?>
<TabHost
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@android:id/tabhost"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<TabWidget
android:id="@android:id/tabs"
android:layout_width="fill_parent"
android:layout_height="wrap_content" />
<FrameLayout
android:id="@android:id/tabcontent"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</LinearLayout>
</TabHost>
清单:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.x.TabBrowse"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk android:minSdkVersion="8" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name" >
<activity
android:name=".TabTestActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name="googlebrowser" android:label="name">
</activity>
<activity android:name="facebrowser" android:label="name"></activity>
</application>
</manifest>
页面告诉我:
网页不可用
http:/www.facebook.com上的网页可能暂时关闭,或者可能已永久移至新的网址。
以下是一些建议:
- 检查以确保您的设备有信号和数据连接。
- 稍后重新加载此网页。
从Google
查看网页的缓存副本
答案 0 :(得分:1)
而不是browse.loadUrl(“http:\\ www.facebook.com”); 使用 browse.loadUrl( “http://www.facebook.com”);
应该有效
对于您的第二个问题:您需要制作一个webviewclient
public class googlebrowser extends Activity{
private class HelloWebViewClient extends WebViewClient {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
return false;
}
}
@Override
public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
WebView browse = new WebView(this);
setContentView(browse);
browse.setWebViewClient(new HelloWebViewClient());
browse.loadUrl("http://www.google.com");
}
}
答案 1 :(得分:0)
您是否正在使用模拟器进行测试?它可能没有互联网连接。这是一个常见的问题。请参阅此处的其他Stackoverflow帖子(http://stackoverflow.com/questions/2039964/how-to-connect-android-emulator-to-the-internet),这可能有助于您排除故障。