ERROR / dalvikvm(1399):找不到类'maptest.xyz.com.maps',从方法maptest.xyz.com.maptest引用$ 1.onClick

时间:2010-11-15 09:29:31

标签: java android android-intent

问题是,如果我使用这两行代码,我的应用程序意外关闭,如果不使用,应用程序工作正常......有没有其他方法来到maps.class? 以下是我使用的代码:

     Intent in = new Intent(BlobCity.this, maps.class)
       startActivity(in);

以下是我的清单文件:

 <?xml version="1.0" encoding="utf-8"?>
  <manifest xmlns:android="http://schemas.android.com/apk/res/android"
  package="BlobCity.xyz.com"
  android:versionCode="1"
  android:versionName="1.0">
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
  <uses-library android:name="com.google.android.maps" /> 
<application android:icon="@drawable/icon" android:label="@string/app_name">       
    <activity android:name=".BlobCity"
              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=".maps" />
     </application>

      </manifest>

blobcity.java:

public class BlobCity extends Activity
{
    /** Called when the activity is first created. */
    Button signIn,register;
    TextView Blob,City,username,password;
    EditText eUsername,ePassword;
    @Override
    public void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        signIn = (Button) findViewById(R.id.signIn);  
        register = (Button) findViewById(R.id.register);

        Blob = (TextView) findViewById(R.id.blob);
        City = (TextView) findViewById(R.id.city);
        username = (TextView) findViewById(R.id.username);
        password = (TextView) findViewById(R.id.password);

        eUsername = (EditText) findViewById(R.id.eUsername);
        ePassword = (EditText) findViewById(R.id.ePassword);

        signIn.setOnClickListener(new sendUserPass());
        register.setOnClickListener(new regPage());
    }

    class sendUserPass implements Button.OnClickListener
    {
        public void onClick(View v)
        {
            String uname = eUsername.getText().toString();
            String pwd = ePassword.getText().toString();
            String requestString = ("http://192.168.1.102:8080/BlobCity/RemoteLogin?email="+ uname + "&pwd=" + pwd);
            String line;

            try {
                HttpResponse response = new DefaultHttpClient().execute(new HttpGet(requestString));
                InputStream is = response.getEntity().getContent();
                BufferedReader br = new BufferedReader(new InputStreamReader(is));
                StringBuilder rb = new StringBuilder("");

                while ((line=br.readLine()) != null)
                {
                    rb.append(line) ;
                }
                if(rb.toString().equals("0"))
                {
                    Toast toast = Toast.makeText(getApplicationContext(), "Please enter a valid Username and/or Password!", Toast.LENGTH_LONG);
                    toast.show();
                    toast.setGravity(Gravity.CENTER_VERTICAL, 0, 0);

                    eUsername.setText("");
                    ePassword.setText("");
                }
                else
                {
                    Intent in = new Intent(BlobCity.this, maps.class);
                    startActivity(in);
                    eUsername.setText("");
                    ePassword.setText("");   
                }
            }
            catch (ClientProtocolException e) 
            {
                e.printStackTrace();
            }
            catch (IOException e)
            {
                e.printStackTrace();
            }
        }
    }

    class regPage implements Button.OnClickListener
    {
        public void onClick(View v)
        {
            Intent browse = new Intent( Intent.ACTION_VIEW , Uri.parse("http://www.blobcity.com") );
            startActivity(browse);
        }
    }
}

maps.java:

import android.os.Bundle;

import com.google.android.maps.MapActivity;
import com.google.android.maps.MapView;

public class maps extends MapActivity{
    MapView mapView; 
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.map);
        mapView = (MapView) findViewById(R.id.map);
    }
    @Override
    protected boolean isRouteDisplayed() {
        // TODO Auto-generated method stub
        return false;
    }
}

3 个答案:

答案 0 :(得分:1)

您的代码<uses-library android:name="com.google.android.maps" />必须在<application>代码中

清单必须是这样的:

 <?xml version="1.0" encoding="utf-8"?>
  <manifest xmlns:android="http://schemas.android.com/apk/res/android"
  package="BlobCity.xyz.com"
  android:versionCode="1"
  android:versionName="1.0">
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
<application android:icon="@drawable/icon" android:label="@string/app_name">       
  **<uses-library android:name="com.google.android.maps" />** 
    <activity android:name=".BlobCity"
              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=".maps" />
</application>
</manifest>

答案 1 :(得分:0)

尝试:

Intent in = new Intent(BlobCity.this.getApplicationContext(), maps.class)
startActivity(in);

答案 2 :(得分:0)

Activity (Class)名称必须以大写字母开头,而不是使用BlobCity.this,而只使用“this”关键字,该关键字引用当前Context的{​​{1}}

e.g。

Activity

还要确保此Intent in = new Intent(this, Maps.class) startActivity(in); 的输入必须在您的Activity文件中

e.g。

AndroidManifest.xml

您也可以在此处关注Android Google地图上的精彩教程:

http://mobiforge.com/developing/story/using-google-maps-android