为什么我在第1行遇到语法错误?

时间:2013-02-19 15:01:32

标签: java android sdk

我想在选择/点击图标时打开网址,但我会在Syntax error on tokens, delete these tokens

上找到String url =
String url = "http://www.google.co.uk/";
Intent i = new Intent(Intent.ACTION_VIEW);
i.setData(Uri.parse(url));
startActivity(i);

清单:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.openurl"
    android:versionCode="1"
    android:versionName="1.0" >
<application>
    <activity android:name="OpenURL" android:label="@string/app_name">
        <intent-filter>
             <action android:name="android.intent.action.MAIN" />
             <category android:name="android.intent.category.LAUNCHER" />

        </intent-filter>
    </activity>
</application>

</manifest>

我现在已经在这个上了一点但是当我加载apk文件时,图标会打开带有2个窗口的浏览器 - 空白和网址。我也无法使用后退按钮关闭浏览器 - 它会一直打开网址。我该如何纠正这些问题?

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.myapp"
android:versionCode="1"
android:versionName="1.0" >

<uses-sdk
    android:minSdkVersion="8"
    android:targetSdkVersion="14" />
<uses-permission android:name="android.permission.INTERNET"></uses-permission>
<application
    android:allowBackup="true"
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name">
    <activity
        android:name="com.example.myapp.MainActivity"
        android:label="@string/app_name" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
</application>
</manifest>


package com.example.myapp;

import android.app.Activity;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;

public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    String url = "http://www.google.co.uk";
    Intent i = new Intent(Intent.ACTION_VIEW);
    i.setData(Uri.parse(url));
    startActivity(i);
}
}

再次感谢!

2 个答案:

答案 0 :(得分:1)

String url = "http://www.google.co.uk/";

永远不会是java文件的第一行。

你的文件需要一个像这样的结构:

package a.b.c; // optional

import java.util.List; // optional

public class ClassName { // mandatory

    // your code

} // mandatory

如果这样可以解决您的错误,您应该考虑阅读Java教程。

答案 1 :(得分:0)

首先在清单中添加互联网权限:

 <uses-permission android:name="android.permission.INTERNET"></uses-permission>
那么你的主要应该是这样的:

public class Main extends Activity {

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.yourmainlayout);

    Button button = (Button) findViewById(R.id.yourbuttonid);
    button.setOnClickListener(new OnClickListener(){

        @Override
        public void onClick(View v) {
            String url = "http://www.google.co.uk/";
            Intent i = new Intent(Intent.ACTION_VIEW, Uri.parse(url)); 
            startActivity(i); 
        }});
    }

}