应用程序崩溃了
我对Android非常陌生,所以很有可能我没有做一些简单的事情给我这个问题。只要我尝试运行我的应用程序,它立即关闭,我不知道为什么。应用程序崩溃了
这里是我的Java代码:
package com.example.androidside;
import java.util.List;
import android.os.Bundle;
import android.app.Activity;
import android.app.ActivityManager;
import android.util.Log;
import android.view.Menu;
public class MainActivity extends Activity {
public static final String TAG = "MyActivity";
ActivityManager am;
int s;
List<ActivityManager.RunningAppProcessInfo> l;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
l = WhatchyaDoin();
s = l.size();
for(int i = 0; i < s; i++) {
Log.d(TAG, "" + l.get(i));
}
}
public List<ActivityManager.RunningAppProcessInfo> WhatchyaDoin() {
return(am.getRunningAppProcesses());
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.activity_main, menu);
return true;
}
}
如果有人可以帮助我将不胜感激,谢谢。
您尚未初始化am
,并且在从onCreate()
拨打电话WhatchayDoin()
时正在获得NullPointerException
。
您应该学习如何从程序中读取logcat输出。 (在Eclipse中,您可以打开logcat视图,方法是转到Window-> Show View-> Other,然后导航到Android-> LogCat。这通常会告诉您发生了什么,如果您无法弄清楚,当您发布有关Android的崩溃问题,始终包括相关的logcat输出
您可以onCreate()
与初始化am
:!
am = (ActivityManager) getSystemService(ACTIVITY_SERVICE);
哦,好吧,我一直认为这与我的ActivityManager有关,但是我在网上找不到任何关于它的信息,如果你不介意我问,你能解释一下你为我提供的代码吗?我知道你必须发起活动经理,但我不完全了解你的工作方式。 –
@ user1907350 - ['getSystemService(String)'](http://developer.android.com/reference/android/app/Activity.html#getSystemService%28java.lang.String%29)是一个方法在'Activity '类,用于获取对各种服务对象的引用,包括'ActivityManager'。由于该方法被声明为返回一个“对象”,因此您需要将其转换为特定类型的“对象”,文档会说它返回您传递的任何参数。 'ACTIVITY_SERVICE'只是一个常量,被定义为你的活动从'Context'类继承的字符串'“activity”。 –
我明白了,非常感谢特德,你一直以来都是一个巨大的帮助。这实际上是我与大学里其他人一起工作的一个项目的开始,这个android应用程序只是一个部分。我在你的个人资料上看到你开发了教育应用,所以我认为我们正在做的事可能会让你感兴趣。我们基本上正在尝试开发一个系统,以便学生可以在课堂上使用他们的android设备进行讲座和测试。该应用程序将监控学生电话上运行的内容,并将该信息发送到教师可以通过Java Servlet/Website进行监控的服务器。 –
欢迎SO为了帮助我们更好地了解任何问题,你可能有,它会尽可能多地发布详细信息,包括LogCat错误! –