android-Android 开发的程序eclipse没报错,但意外停止

问题描述

Android 开发的程序eclipse没报错,但意外停止

目的是编写一个单点触摸用户输入的例子,以下是程序代码

package com.example.ontouchlistenerdemo;

import android.app.Activity;
import android.content.Context;
import android.content.res.AssetManager;
import android.graphics.*;
import android.os.Bundle;
import android.view.*;
import android.view.View.OnTouchListener;

public class Game extends Activity implements OnTouchListener {

DrawView drawView;

Point touch = new Point(0,0);
String inputAction= "";

@Override

public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
drawView = new DrawView(this);
setContentView(drawView);

    drawView.setOnTouchListener(this);
}

public void onResume(){
    super.onResume();
    drawView.resume();
}
public void onPause(){
    super.onPause();
    drawView.pause();
}

public boolean onTouch(View v,MotionEvent event){
    switch (event.getAction()) {
    case MotionEvent.ACTION_DOWN:
        inputAction = "DOWN";
        break;

    case MotionEvent.ACTION_MOVE:
        inputAction = "MOVE";
        break;

    case MotionEvent.ACTION_UP:
        inputAction = "UP";
        break;

    }
    touch.x = (int)event.getX();
    touch.y = (int)event.getY();

    return true;
}

public class DrawView extends SurfaceView implements Runnable
{
    Thread gameloop = null;

    SurfaceHolder surface = null;

    volatile boolean running = false;

    AssetManager assets = null;

    public DrawView(Context context)
    {
        super(context);
        surface = getHolder();
        assets = context.getAssets();
    }
    public void resume(){
        running = true;
        gameloop = new Thread(this);
        gameloop.start();
    }
    public void pause(){
        running = false;
        while(true){
            try{
                gameloop.join();
            }catch(InterruptedException e){}
        }
    }
    public void run(){
        while(running)
        {
            if(!surface.getSurface().isValid())
                continue;

            Canvas canvas = surface.lockCanvas();
            canvas.drawColor(Color.BLACK);

            Paint paint= new Paint();
            paint.setColor(Color.WHITE);
            paint.setTextSize(24);
            canvas.drawText("Touch screen to test single touch input", 10, 20, paint);
            canvas.drawText("Action: " +inputAction, 10, 50, paint);
            canvas.drawText("Position: "+touch.x+","+touch.y,10 ,80, paint);

            if(touch.x != 0&& touch.y!=0)
                canvas.drawCircle(touch.x, touch.y, 50, paint);

            surface.unlockCanvasAndPost(canvas);

            try{
                Thread.sleep(20);
            }catch(InterruptedException e)
            {
                e.printStackTrace();
            }

        }
    }
}
}

然后是Log的报错

04-23 09:05:03.901: E/AndroidRuntime(350): FATAL EXCEPTION: main
04-23 09:05:03.901: E/AndroidRuntime(350): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.example.ontouchlistenerdemo/com.example.ontouchlistenerdemo.MainActivity}: java.lang.ClassNotFoundException: com.example.ontouchlistenerdemo.MainActivity in loader dalvik.system.PathClassLoader[/data/app/com.example.ontouchlistenerdemo-1.apk]
04-23 09:05:03.901: E/AndroidRuntime(350): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1569)
04-23 09:05:03.901: E/AndroidRuntime(350): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1663)
04-23 09:05:03.901: E/AndroidRuntime(350): at android.app.ActivityThread.access$1500(ActivityThread.java:117)
04-23 09:05:03.901: E/AndroidRuntime(350): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:931)
04-23 09:05:03.901: E/AndroidRuntime(350): at android.os.Handler.dispatchMessage(Handler.java:99)
04-23 09:05:03.901: E/AndroidRuntime(350): at android.os.Looper.loop(Looper.java:123)
04-23 09:05:03.901: E/AndroidRuntime(350): at android.app.ActivityThread.main(ActivityThread.java:3683)
04-23 09:05:03.901: E/AndroidRuntime(350): at java.lang.reflect.Method.invokeNative(Native Method)
04-23 09:05:03.901: E/AndroidRuntime(350): at java.lang.reflect.Method.invoke(Method.java:507)
04-23 09:05:03.901: E/AndroidRuntime(350): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
04-23 09:05:03.901: E/AndroidRuntime(350): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
04-23 09:05:03.901: E/AndroidRuntime(350): at dalvik.system.NativeStart.main(Native Method)
04-23 09:05:03.901: E/AndroidRuntime(350): Caused by: java.lang.ClassNotFoundException: com.example.ontouchlistenerdemo.MainActivity in loader dalvik.system.PathClassLoader[/data/app/com.example.ontouchlistenerdemo-1.apk]
04-23 09:05:03.901: E/AndroidRuntime(350): at dalvik.system.PathClassLoader.findClass(PathClassLoader.java:240)
04-23 09:05:03.901: E/AndroidRuntime(350): at java.lang.ClassLoader.loadClass(ClassLoader.java:551)
04-23 09:05:03.901: E/AndroidRuntime(350): at java.lang.ClassLoader.loadClass(ClassLoader.java:511)
04-23 09:05:03.901: E/AndroidRuntime(350): at android.app.Instrumentation.newActivity(Instrumentation.java:1021)
04-23 09:05:03.901: E/AndroidRuntime(350): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1561)
04-23 09:05:03.901: E/AndroidRuntime(350): ... 11 more
谢谢大家看下,帮个忙看看是什么错误

解决方案

找不到类 com.example.ontouchlistenerdemo.MainActivity
你应该在 Androidmanifest.xml 文件中,把MainActivity改为你的自定义类 Game
所有需要显示的Activity,都要在 Androidmanifest.xml 文件中声明。相关信息,可以百度搜索,google搜索
activity Androidmanifest.xml

解决方案二:

找不到你的启动activity,应该是你没有在manifest.xml文件中声明该activity,

解决方案三:

看看activity有没有加到mainfest、文件中

解决方案四:

有没有在manifest中声明你的activity??????

解决方案五:

你好,请问具体是什么意思?谢谢刚学不懂。

时间: 2024-10-29 21:49:05

android-Android 开发的程序eclipse没报错,但意外停止的相关文章

android程序,eclipse没报错,但是运行会意外停止

问题描述 android程序,eclipse没报错,但是运行会意外停止 本人刚开始学习android,跟着书写了个程序,这个程序是会有一个东西随着手指拖动而移动,编译完没有问题,但是在手机上运行的时候却是意外停止,错误显示在了MainActivity的第27行,我真不知道哪里错,代码和书上写的一模一样,求大神指导 MainActivity的代码: package com.example.test34; import android.app.Activity; import android.os.

新手-android程序,eclipse没报错,但是运行会意外停止

问题描述 android程序,eclipse没报错,但是运行会意外停止 本人刚开始学习android,跟着书写了个程序,这个程序是会有一个东西随着手指拖动而移动,编译完没有问题,但是在手机上运行的时候却是意外停止,代码和书上写的一模一样,求大神指导 DrawView.java的代码:/** * */package com.example.customview; import android.content.Context;import android.graphics.Canvas;import

androidlogcat问题-android程序,eclipse没报错,但是运行会意外停止

问题描述 android程序,eclipse没报错,但是运行会意外停止 我是一个初学android者,很多简单的问题大家都看着很简单而我不知道为什么,所以希望耐心的大神帮忙回答一下!我很着急~~~ 这是OtherActivity.java public class OtherActivity extends MainActivity { private Button btn1; private TextView myTextView = null; private ListView listVi

问题-刚开始学习java ,自己写了一个聊天小程序,没报错但是有毛病,希望能帮忙问一下

问题描述 刚开始学习java ,自己写了一个聊天小程序,没报错但是有毛病,希望能帮忙问一下 刚开始学习java ,自己写了一个聊天小程序,没有报任何错误.测试时打开3个聊天小窗口 A,B,C,在A中输入文字,只在B中显示出来了,而且显示出了三句相同语句.查了好几个小时都没有查出来,希望高手能帮帮忙,看看是怎么回事,并且告诉我是通过什么方法找出来的. 以下是客户端和服务器端代码 客户端: import java.awt.*; import java.awt.event.*; import java

初学java,自己用java写了一个简单的注册登录程序,没报错但有问题,希望能帮忙指点。

问题描述 初学java,自己用java写了一个简单的注册登录程序,没报错但有问题,希望能帮忙指点. import java.util.Scanner; class Yanzheng{ private String n; private String p; public void setNa(String na){ this.n = na; } public void setPa(String pa){ this.p = pa; } public String getNa(){ return n;

android 启动报错-Android 运行程序有时候经常报错adb

问题描述 Android 运行程序有时候经常报错adb The connection to adb is down, and a severe error has occured. [2013-09-10 16:08:44 - QualityPicture_Client1.3.1.5] You must restart adb and Eclipse. [2013-09-10 16:08:44 - QualityPicture_Client1.3.1.5] Please ensure that

配置Android环境后,eclipse启动报错

问题描述 配置Android环境后,eclipse启动报错 在配置完Android环境后,且创建了Android应用程序,此后每次启动eclipse,都会报以下错误: Error: Error parsing D:Program FilesJavaAndroidandroid-sdksystem-imagesandroid-23android-weararmeabi-v7adevices.xml cvc-complex-type.2.4.d: 发现了以元素 'd:skin' 开头的无效内容.此处

开发的程序在visual studio上没报错 要在PDA上运行时直接退出

问题描述 开发的程序在visualstudio上没报错要在PDA上运行时直接退出新手不知道是什么原因 解决方案 解决方案二:新手你好,就通过你现在给出的这句话纳德拉都不知道是什么原因解决方案三:你可以调试看看,设置断点之后,部署到PDA之后,在PDA上面运行你的程序,然后调试,不就清楚了吗?解决方案四:是不是开发的架构不对,PDA好像是WINCE吧

android studio proguard 混淆微信libammsdk.jar报错

问题描述 android studio proguard 混淆微信libammsdk.jar报错 Error:Execution failed for task ':app:proguardRelease'. java.io.IOException: Can't read D:android_studioapplibslibammsdk.jar(;;;;;;!META-INF/MANIFEST.MF)) 怎么解决啊?在eclipse中解决了.但是同样的方法在android studio中不起作用