我目前正在学习 Java 和一些 Android 编程,我只是想玩一下手机上的相机。因此,首先我想使用 getNumberOfCameras() 方法打印出屏幕上的相机数量。
所以这是我的源代码的相关部分:
TextView AnzahlKameras = (TextView) findViewById(R.id.ValAnzahlKamerasTextView);
int numberOfCameras;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_cam_stream);
numberOfCameras = Camera.getNumberOfCameras();
AnzahlKameras.setText(numberOfCameras);
}
如您所见,我创建了一个 TextView,我想在其中打印出摄像机的数量。按照我的理解,getNumberOfCameras() 只是打印出一个整数。我刚刚修改了自动生成的“主”类的代码。
代码看起来不错,我可以导出 *.apk 文件并将其安装在我的手机上。但是,每当我尝试启动该应用程序时,它都会出现错误,指出该应用程序已停止工作,并将我带回主屏幕。
如果这似乎是一个愚蠢的问题,我将不胜感激任何形式的帮助并原谅我。认为我是这一切的新手。
谢谢!
编辑:这是请求的日志文件。
01-07 11:29:06.665 I/ActivityManager(2544): Timeline: Activity_launch_request id:de.phkr.camstream time:11468943
01-07 11:29:06.665 I/ActivityManager(2139): START u0 {act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10200000 cmp=de.phkr.camstream/.CamStream} from pid 2544
01-07 11:29:06.866 I/ActivityManager(2139): Start proc de.phkr.camstream for activity de.phkr.camstream/.CamStream: pid=22295 uid=10115 gids={50115, 1006, 1028, 1015}
01-07 11:29:07.066 E/AndroidRuntime(22295): Process: de.phkr.camstream, PID: 22295
01-07 11:29:07.066 E/AndroidRuntime(22295): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{de.phkr.camstream/de.phkr.camstream.CamStream}: java.lang.NullPointerException
01-07 11:29:07.066 E/AndroidRuntime(22295): at de.phkr.camstream.CamStream.<init>(CamStream.java:11)
01-07 11:29:07.076 W/ActivityManager(2139): Force finishing activity de.phkr.camstream/.CamStream
01-07 11:29:07.826 W/ActivityManager(2139): Activity pause timeout for ActivityRecord{425392e8 u0 de.phkr.camstream/.CamStream t14 f}
01-07 11:29:08.928 I/ActivityManager(2139): Process de.phkr.camstream (pid 22295) has died.
最佳答案
试试这个: 如果您已经添加了权限,那么就会出现一个愚蠢的错误,即
将 AnzahlKameras.setText(numberOfCameras);
替换为 AnzahlKameras.setText(""+numberOfCameras);
同时在 onCreate() 方法中调用 TextView AnzahlKameras = (TextView) findViewById(R.id.ValAnzahlKamerasTextView);
我认为这个问题会得到解决。
关于java - 尝试在屏幕上打印出相机数量(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20969040/