비트 맵 이미지를 PNG 형식의 sdcard에 저장하려고 할 때 코드가 항상 아래에 설명 된 오류를 반환하지만 그 이유를 모르겠습니다. 저에게 맞는 해결책을 제안 해주십시오.android의 비트 맵을 sdcard에 저장하는 중 오류가 발생했습니다.
오류 스택 :이
12-28 12:50:58.765: ERROR/AndroidRuntime(16977): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.greetingApp.common/com.greetingApp.common.Greeting}: java.lang.NullPointerException
12-28 12:50:58.765: ERROR/AndroidRuntime(16977): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2663)
12-28 12:50:58.765: ERROR/AndroidRuntime(16977): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679)
12-28 12:50:58.765: ERROR/AndroidRuntime(16977): at android.app.ActivityThread.access$2300(ActivityThread.java:125)
12-28 12:50:58.765: ERROR/AndroidRuntime(16977): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033)
12-28 12:50:58.765: ERROR/AndroidRuntime(16977): at android.os.Handler.dispatchMessage(Handler.java:99)
12-28 12:50:58.765: ERROR/AndroidRuntime(16977): at android.os.Looper.loop(Looper.java:123)
12-28 12:50:58.765: ERROR/AndroidRuntime(16977): at android.app.ActivityThread.main(ActivityThread.java:4627)
12-28 12:50:58.765: ERROR/AndroidRuntime(16977): at java.lang.reflect.Method.invokeNative(Native Method)
12-28 12:50:58.765: ERROR/AndroidRuntime(16977): at java.lang.reflect.Method.invoke(Method.java:521)
12-28 12:50:58.765: ERROR/AndroidRuntime(16977): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:860)
12-28 12:50:58.765: ERROR/AndroidRuntime(16977): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618)
12-28 12:50:58.765: ERROR/AndroidRuntime(16977): at dalvik.system.NativeStart.main(Native Method)
12-28 12:50:58.765: ERROR/AndroidRuntime(16977): Caused by: java.lang.NullPointerException
12-28 12:50:58.765: ERROR/AndroidRuntime(16977): at com.greetingApp.common.Greeting.SaveData(Greeting.java:138)
12-28 12:50:58.765: ERROR/AndroidRuntime(16977): at com.greetingApp.common.Greeting.onCreate(Greeting.java:78)
12-28 12:50:58.765: ERROR/AndroidRuntime(16977): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
12-28 12:50:58.765: ERROR/AndroidRuntime(16977): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2627)
코드 : 사전에
protected void SaveData()
{
FrameLayout view = (FrameLayout)findViewById(R.id.frameLayout2);
view.setDrawingCacheEnabled(true);
view.buildDrawingCache();
bm = view.getDrawingCache();
OutputStream outStream = null;
File file = new File(extStorageDirectory, "er.PNG");
try {
outStream = new FileOutputStream(file);
bm.compress(Bitmap.CompressFormat.PNG, 100, outStream);
outStream.flush();
outStream.close();
//Toast.makeText(AndroidWebImage.this, "Saved", Toast.LENGTH_LONG).show();
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
//Toast.makeText(AndroidWebImage.this, e.toString(), Toast.LENGTH_LONG).show();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
// Toast.makeText(AndroidWebImage.this, e.toString(), Toast.LENGTH_LONG).show();
// TODO Auto-generated method stub
}
감사
당신은 어떤 문제가 마십시오 이제 당신이
FrameLayout
의이보기 인스턴스를 사용할 수 있습니다에서 onCreate 내부의 ID를 가져 와서SaveData()
에서 그것을 활용하는 Paresh, 당신이 만약 질문에 답하고 싶지는 않습니다. 아무 몸도 당신이 똑같이하도록 강요하지 않습니다. –
어느 행이 138이고 onCreate()도 게시됩니다. –