package kingphil.Intent_test; 
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import android.app.Activity;
import android.graphics.Bitmap;
import android.os.Bundle;
import android.os.Environment;
import android.widget.LinearLayout;
import android.widget.TextView;
import android.widget.Toast;
public class view_test extends Activity{
 
 TextView tv;
 private LinearLayout container; 
 
 public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.view);
        
        String a;
        container = (LinearLayout)findViewById(R.id.main_container);
        
        container.buildDrawingCache(); 
        Bitmap captureView = container.getDrawingCache(); 
        FileOutputStream fos; 
        tv = (TextView)findViewById(R.id.tv);
        
        a = getIntent().getStringExtra("input");
        
        for(int i = 0; i < a.length(); i++)
        {
         tv.setText(String.valueOf(a.charAt(i)));
         
          try 
             { 
              fos = new FileOutputStream(Environment.getExternalStorageDirectory().toString()+"/capture" + ".jpeg"); 
          
              captureView.compress(Bitmap.CompressFormat.JPEG, 100, fos); 
         
             } catch (FileNotFoundException e) 
             { 
              e.printStackTrace(); 
             }
          
          Toast.makeText(getApplicationContext(), "Captured!", Toast.LENGTH_LONG).show(); 
        }
    }
}

main java 파일에서 intent하여 불러온 파일입니다.

 

위와 같이 실행하면 capture.jpeg라는 파일은 생성되지만, 0byte이고 어플은 강제 종료 되어 버립니다.

 

 10-27 11:05:09.083: D/AndroidRuntime(22326): Shutting down VM
10-27 11:05:09.083: W/dalvikvm(22326): threadid=1: thread exiting with uncaught exception (group=0x4001e578)
10-27 11:05:09.091: E/AndroidRuntime(22326): FATAL EXCEPTION: main
10-27 11:05:09.091: E/AndroidRuntime(22326): java.lang.RuntimeException: Unable to start activity ComponentInfo{kingphil.Intent_test/kingphil.Intent_test.view_test}: java.lang.NullPointerException
10-27 11:05:09.091: E/AndroidRuntime(22326):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1651)
10-27 11:05:09.091: E/AndroidRuntime(22326):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1667)
10-27 11:05:09.091: E/AndroidRuntime(22326):  at android.app.ActivityThread.access$1500(ActivityThread.java:117)
10-27 11:05:09.091: E/AndroidRuntime(22326):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:935)
10-27 11:05:09.091: E/AndroidRuntime(22326):  at android.os.Handler.dispatchMessage(Handler.java:99)
10-27 11:05:09.091: E/AndroidRuntime(22326):  at android.os.Looper.loop(Looper.java:123)
10-27 11:05:09.091: E/AndroidRuntime(22326):  at android.app.ActivityThread.main(ActivityThread.java:3687)
10-27 11:05:09.091: E/AndroidRuntime(22326):  at java.lang.reflect.Method.invokeNative(Native Method)
10-27 11:05:09.091: E/AndroidRuntime(22326):  at java.lang.reflect.Method.invoke(Method.java:507)
10-27 11:05:09.091: E/AndroidRuntime(22326):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:842)
10-27 11:05:09.091: E/AndroidRuntime(22326):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:600)
10-27 11:05:09.091: E/AndroidRuntime(22326):  at dalvik.system.NativeStart.main(Native Method)
10-27 11:05:09.091: E/AndroidRuntime(22326): Caused by: java.lang.NullPointerException
10-27 11:05:09.091: E/AndroidRuntime(22326):  at kingphil.Intent_test.view_test.onCreate(view_test.java:42)
10-27 11:05:09.091: E/AndroidRuntime(22326):  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
10-27 11:05:09.091: E/AndroidRuntime(22326):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1615)
10-27 11:05:09.091: E/AndroidRuntime(22326):  ... 11 more
 

captureView.compress(Bitmap.CompressFormat.JPEG, 100, fos);

 

여기서 에러가 난다고 하는데요. 

 

원인을 모르겠습니다. 

시원한 답변 부탁드립니다.