Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/178.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 代码在emulator中不工作_Java_Android_Android Emulator - Fatal编程技术网

Java 代码在emulator中不工作

Java 代码在emulator中不工作,java,android,android-emulator,Java,Android,Android Emulator,我对android还很陌生,我想知道为什么在emulator中打开时这不起作用。错误显示为“不幸”,此应用没有响应。我的代码没有语法错误,它已成功安装在emulator上 我调用函数anim();在MainActivity.java中 protected void onStart() { super.onStart(); functions mActivity= new functions(); mActivity.anim(); 该函数

我对android还很陌生,我想知道为什么在emulator中打开时这不起作用。错误显示为“不幸”,此应用没有响应。我的代码没有语法错误,它已成功安装在emulator上

我调用函数anim();在MainActivity.java中

protected void onStart() {
        super.onStart();   
        functions mActivity= new functions();
        mActivity.anim(); 
该函数已写入另一个类文件(functions.java)


这不是Android的工作方式。例如,您不需要手动实例化
活动。您可以使用
Intent
startActivity()
方法来启动它们。为什么不将
anim()
方法放在
MainActivity
类中?

查看日志-那里几乎肯定会记录异常。我无法找到emulator的日志。到哪里去查?我记不起来了,但我希望它会出现在任何关于Android开发的教程中。。。或者只搜索它。@user3324932:请参阅教程帮助。在Eclipse或Android Studio中也有DDMS选项来获取应用程序logsok,我知道只是试图以不同的方式探索它,这就是为什么我将anim()保存在不同的类文件中。所以,我怀疑每个“.java”文件都会被视为活动?即使我从菜单创建了一个新的类文件,但没有创建新的活动?如果您有一个从
活动
类或其某些子类扩展的类,那么它将被视为
活动
。我不知道你评论的第二部分是什么意思。你在Eclipse中右键单击并选择“New class”选项了吗?是的,这就是我创建“New class”而不是“New Activity”的意思。Eclipse只是为你生成一些样板代码(它可能只是使类扩展
Activity
并覆盖一些基本的生命周期方法)。如果您从头开始创建一个新文件,并让它扩展
活动
或它的某个子类,那么不管您使用什么IDE,该类都将作为
活动
。好的,我明白您的意思了。但是当我把
anim()
放在'MainActivity'类中时,正如您所说的,并用这个
MainActivity mActivity=newmainActivity()调用它;mActivity.anim()仍然不起作用。当我将
anim()
中的代码直接放入
onCreate(Bundle savedInstanceState)
方法(通过删除anim()方法)时,它会起作用。
public class functions extends MainActivity {
    public void anim()  {
    Animation animfadein =AnimationUtils.loadAnimation(this,R.anim.fadein);
    Animation animfadeout =AnimationUtils.loadAnimation(this,R.anim.fadeout);
    findViewById(R.id.imageView1).startAnimation(animfadein);
    findViewById(R.id.imageView1).startAnimation(animfadeout);