 <p>Your second file - <code>captureit.java</code> - cannot be an Activity. An Activity can only be created by calling <code>startActivity()</code> or <code>startActivityForResult()</code> from another activity with an intent. When you call <code>new CaptureIt()</code> the <code>onCreate()</code> method and other activity-specific methods are not called. This means that the activity doesn't have the correct information to do some things - like starting another activity.</p> <p>Basically you're trying to start the camera activity from an activity that doesn't exist to Android, so it's throwing a NullPointerException.</p> <p>I'd recommend moving it back into the same file until you understand how moving between activities works in Android.</p> <p>You could still split the helper methods (<code>getOutputMediaFile()</code>, etc) into another file to keep the main activity file simple. But <em>don't</em> make it an activity and <em>don't</em> call <code>startActivityForResult</code> from it.</p>