最近我開始開發android應用程序,當在模擬器中編譯應用程序時,進程終止。在Android中的錯誤 - Eclipse
logcat的:
05-10 17:55:21.539: D/AndroidRuntime(4293): Shutting down VM
05-10 17:55:21.539: W/dalvikvm(4293): threadid=1: thread exiting with uncaught exception (group=0x40020578)
05-10 17:55:21.562: E/AndroidRuntime(4293): FATAL EXCEPTION: main
05-10 17:55:21.562: E/AndroidRuntime(4293): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{br.me.example.clientes/br.me.example.clientes.Principal}: java.lang.ClassNotFoundException: br.me.example.clientes.Principal in loader dalvik.system.PathClassLoader[/data/app/br.me.example.clientes-2.apk]
05-10 17:55:21.562: E/AndroidRuntime(4293): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1573)
05-10 17:55:21.562: E/AndroidRuntime(4293): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1667)
05-10 17:55:21.562: E/AndroidRuntime(4293): at android.app.ActivityThread.access$1500(ActivityThread.java:117)
05-10 17:55:21.562: E/AndroidRuntime(4293): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:935)
05-10 17:55:21.562: E/AndroidRuntime(4293): at android.os.Handler.dispatchMessage(Handler.java:99)
05-10 17:55:21.562: E/AndroidRuntime(4293): at android.os.Looper.loop(Looper.java:130)
05-10 17:55:21.562: E/AndroidRuntime(4293): at android.app.ActivityThread.main(ActivityThread.java:3687)
05-10 17:55:21.562: E/AndroidRuntime(4293): at java.lang.reflect.Method.invokeNative(Native Method)
05-10 17:55:21.562: E/AndroidRuntime(4293): at java.lang.reflect.Method.invoke(Method.java:507)
05-10 17:55:21.562: E/AndroidRuntime(4293): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:867)
05-10 17:55:21.562: E/AndroidRuntime(4293): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:625)
05-10 17:55:21.562: E/AndroidRuntime(4293): at dalvik.system.NativeStart.main(Native Method)
05-10 17:55:21.562: E/AndroidRuntime(4293): Caused by: java.lang.ClassNotFoundException: br.me.example.clientes.Principal in loader dalvik.system.PathClassLoader[/data/app/br.me.example.clientes-2.apk]
05-10 17:55:21.562: E/AndroidRuntime(4293): at dalvik.system.PathClassLoader.findClass(PathClassLoader.java:240)
05-10 17:55:21.562: E/AndroidRuntime(4293): at java.lang.ClassLoader.loadClass(ClassLoader.java:551)
05-10 17:55:21.562: E/AndroidRuntime(4293): at java.lang.ClassLoader.loadClass(ClassLoader.java:511)
05-10 17:55:21.562: E/AndroidRuntime(4293): at android.app.Instrumentation.newActivity(Instrumentation.java:1021)
05-10 17:55:21.562: E/AndroidRuntime(4293): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1565)
05-10 17:55:21.562: E/AndroidRuntime(4293): ... 11 more
類主要
package br.me.clientes;
import br.me.example.clientes.R;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
public class Principal extends Activity {
\t @Override
\t protected void onCreate(Bundle savedInstanceState) {
\t \t super.onCreate(savedInstanceState);
\t \t setContentView(R.layout.principal);
\t \t Button btnCadastro = (Button) findViewById(R.id.btnCadastro);
\t \t Button btnListar = (Button) findViewById(R.id.btnListar);
\t \t Button btnApagar = (Button) findViewById(R.id.btnApagar);
\t \t Button btnSair = (Button) findViewById(R.id.btnSair);
\t \t btnCadastro.setOnClickListener(new View.OnClickListener() {
\t \t \t @Override
\t \t \t public void onClick(View v) {
\t \t \t \t // TODO Auto-generated method stub
\t \t \t \t startActivity(new Intent(getBaseContext(), Cadastro.class));
\t \t \t }
\t \t });
\t \t btnListar.setOnClickListener(new View.OnClickListener() {
\t \t \t @Override
\t \t \t public void onClick(View v) {
\t \t \t \t // TODO Auto-generated method stub
\t \t \t \t startActivity(new Intent(getBaseContext(), Cadastro.class));
\t \t \t }
\t \t });
\t \t btnApagar.setOnClickListener(new View.OnClickListener() {
\t \t \t @Override
\t \t \t public void onClick(View v) {
\t \t \t \t // TODO Auto-generated method stub
\t \t \t \t startActivity(new Intent(getBaseContext(), Cadastro.class));
\t \t \t }
\t \t });
\t \t btnSair.setOnClickListener(new View.OnClickListener() {
\t \t \t @Override
\t \t \t public void onClick(View v) {
\t \t \t \t // TODO Auto-generated method stub
\t \t \t \t startActivity(new Intent(getBaseContext(), Cadastro.class));
\t \t \t }
\t \t });
\t }
}
類Cadastro
package br.me.clientes;
import android.app.Activity;
import android.app.ProgressDialog;
import android.graphics.Color;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
import br.me.example.clientes.R;
public class Cadastro extends Activity implements Runnable {
\t private ProgressDialog pd;
\t private String valor;
\t private EditText txtNome;
\t private EditText txtEmail;
\t @Override
\t protected void onCreate(Bundle savedInstanceState) {
\t \t super.onCreate(savedInstanceState);
\t \t setContentView(R.layout.cadastro);
\t \t Button btnOk = (Button) findViewById(R.id.btnOk);
\t \t txtNome = (EditText) findViewById(R.id.txtNome);
\t \t txtEmail = (EditText) findViewById(R.id.txtEmail);
\t \t final EditText txtEndereco = (EditText) findViewById(R.id.txtEndereco);
\t \t final EditText txtNumero = (EditText) findViewById(R.id.txtNumero);
\t \t btnOk.setOnClickListener(new View.OnClickListener() {
\t \t \t @Override
\t \t \t public void onClick(View v) {
\t \t \t \t pd = ProgressDialog.show(Cadastro.this, "Aguarde",
\t \t \t \t \t \t "Cadastrando informações", true, false);
\t \t \t \t Thread t = new Thread(Cadastro.this);
\t \t \t \t t.start();
\t \t \t }
\t \t });
\t }
\t @Override
\t public void run() {
\t \t // TODO Auto-generated method stub
\t \t valor = txtNome.getText().toString();
\t \t if (txtNome.getText().toString().equals(" ")) {
\t \t \t h2.sendEmptyMessage(0);
\t \t }
\t }
\t private Handler h = new Handler() {
\t \t @Override
\t \t public void handleMessage(Message msg) {
\t \t \t pd.dismiss();
\t \t \t Toast t = Toast.makeText(getBaseContext(), txtNome.getText(),
\t \t \t \t \t Toast.LENGTH_SHORT);
\t \t \t t.show();
\t \t }
\t };
\t private Handler h2 = new Handler() {
\t \t @Override
\t \t public void handleMessage(Message msg) {
\t \t \t pd.dismiss();
\t \t \t Toast t = Toast.makeText(getBaseContext(), "Preencha o campo Nome",
\t \t \t \t \t Toast.LENGTH_SHORT);
\t \t \t t.show();
\t \t \t txtNome.setBackgroundColor(Color.RED);
\t \t }
\t };
}
Android清單
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="br.me.example.clientes"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="21" />
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name=".Principal">
<intent-filter>
<action android:name="android.intent.action.MAIN"> </action>
<category android:name="android.intent.category.LAUNCHER"> </category>
</intent-filter>
</activity>
<activity android:name=".Cadastro"></activity>
</application>
</manifest>
就緒。
如果你需要的東西讓我知道。
請發佈您的代碼,以便我們可以幫助您。 –
也請包含您的AndroidManifest.xml。日誌顯示系統正在嘗試加載'br.me.example.clientes.Principal',是否真的有一個帶有這樣一個名字的Activity? – vzsg
更新了主題。 – Matheus