case REQ_CODE_SHARELIST:
Log.d(TAG, "++ onActivityResult() From ShareList");
Intent i = new Intent(this,ShareList.class);
String uriPath1 = data.getData().getPath();
i.putExtra("Shareimg", uriPath1);
startActivity(i);
break;
------------------------------ 위처럼 해서 다른 java 파일로 보냈습니다.
그래서 밑에서 받은 값을 처리하려고하는데;
private void feed()
{
Intent i = getIntent();
String sharePath = i.getStringExtra("Shareimg");
try{
Log.v(SNSKey.LOG_TAG, "access token:" +mFacebook.getAccessToken());
File f = new File(sharePath);
byte[] imgData = getBytesFromFile(f);
Bundle params = new Bundle();
params.putString("message", write.getText().toString());
params.putString("name", "User");
params.putString("link", "");
params.putString("description", "StickyCamera를 통해 포스트 됨.");
params.putByteArray("image", imgData);
mFacebook.request("me/feed",params, "POST");
mFacebook.request("me/photos", params, "POST");
}catch(Exception e)
{
e.printStackTrace();
}
}
Logcat
06-28 02:14:43.109: W/System.err(1493): java.lang.NullPointerException
06-28 02:14:43.119: W/System.err(1493): at java.io.File.fixSlashes(File.java:205)
06-28 02:14:43.119: W/System.err(1493): at java.io.File.init(File.java:189)
06-28 02:14:43.129: W/System.err(1493): at java.io.File.<init>(File.java:139)
06-28 02:14:43.129: W/System.err(1493): at com.CameraPR.ShareList.feed(ShareList.java:211)
06-28 02:14:43.129: W/System.err(1493): at com.CameraPR.ShareList.onClick(ShareList.java:94)
06-28 02:14:43.129: W/System.err(1493): at android.view.View.performClick(View.java:2485)
06-28 02:14:43.129: W/System.err(1493): at android.view.View$PerformClick.run(View.java:9080)
06-28 02:14:43.129: W/System.err(1493): at android.os.Handler.handleCallback(Handler.java:587)
06-28 02:14:43.129: W/System.err(1493): at android.os.Handler.dispatchMessage(Handler.java:92)
06-28 02:14:43.129: W/System.err(1493): at android.os.Looper.loop(Looper.java:123)
06-28 02:14:43.138: W/System.err(1493): at android.app.ActivityThread.main(ActivityThread.java:3683)
06-28 02:14:43.138: W/System.err(1493): at java.lang.reflect.Method.invokeNative(Native Method)
06-28 02:14:43.138: W/System.err(1493): at java.lang.reflect.Method.invoke(Method.java:507)
06-28 02:14:43.138: W/System.err(1493): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
06-28 02:14:43.138: W/System.err(1493): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
06-28 02:14:43.138: W/System.err(1493): at dalvik.system.NativeStart.main(Native Method)
인텐트에서 널포인트 익셉션이 뜨는데;;; 어떻게 해결하면 좋을지 몰라서 올려봅니다ㅠ 알려주시거나 참고자료좀 알려주세요 ㅠ
Intent i = getIntent();
Bundle extras = i.getExtras();
String sharePath = extras.getString("Shareimg");
이렇게 한번 해보시겠어요 'ㅅ '?
정확히 몇번째줄 어디인지 몰라서 'ㅅ ';;
페어리 님 데로 했는데 안되네요 ㅠ
06-28 02:40:56.698: E/AndroidRuntime(2377): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.CameraPR/com.CameraPR.ShareList}: java.lang.NullPointerException
이런오류로 바꼇서요 널포인트에서
onCreate() 안에서했었는데 메소드로 빼니 이번엔 또 06-28 02:43:06.358: E/AndroidRuntime(2449): java.lang.NullPointerException에러가 뜨네요
로그가 저게 전부인가요? 아래쪽이 좀 짤린거 같은데..
추측으론
case REQ_CODE_SHARELIST:
Log.d(TAG, "++ onActivityResult() From ShareList");
Intent i = new Intent(this,ShareList.class);
String uriPath1 = data.getData().getPath();
i.putExtra("Shareimg", uriPath1);
startActivity(i);
break;
여기서 Intent i 를 생성하고 값을 받지 않고 그냥 써서 nullpointerexception 이 발생된 것 같네요.
if(i != null) {
i.putExtra("Shareimg", uriPath1);
startActivity(i);
}
이렇게 하면 우선 위 에러는 사라질듯 싶은데..
Intent i = getIntent();
Bundle extras = i.getExtras();
String SharePath = extras.getString("Shareimg"); // 위에걸 페어리님이 알려주신걸로 바꾼후
ShingStar 님 처럼했는데 String SharePath = extras.getString("Shareimg"); 여기서 Null 값이 들어가는것 같네요 여기서 널포인트 익셉션이 납니다;




06-28 02:14:43.129: W/System.err(1493): at com.CameraPR.ShareList.feed(ShareList.java:211)