Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,027

HOME > Mobile > Mobile Forum > Android มีใครเคยใช้ Facebook sdk 3 บ้างครับช่วยหน่อยผมกำลังมีปัญหากับการเอามารวมกับโค๊ดตัวเอง



 

Android มีใครเคยใช้ Facebook sdk 3 บ้างครับช่วยหน่อยผมกำลังมีปัญหากับการเอามารวมกับโค๊ดตัวเอง

 



Topic : 092028

Guest




คือผม Facebook มีประยุกต์ใช้กับ App ของผมครับ
ผมได้ลองทำตาม https://developers.facebook.com/docs/howtos/androidsdk/3.0/publish-to-feed/
ทำได้เรียบร้อยแล้วครับ

ปัญหาคือว่าพอย้ายมาผสมกับโค๊ดของผมและเลยครับ


Code
03-08 03:08:05.085: E/AndroidRuntime(8544): FATAL EXCEPTION: main
03-08 03:08:05.085: E/AndroidRuntime(8544): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.googlemapsv2/com.example.googlemapsv2.CheckIn}: android.view.InflateException: Binary XML file line #7: Error inflating class fragment
03-08 03:08:05.085: E/AndroidRuntime(8544): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2781)
03-08 03:08:05.085: E/AndroidRuntime(8544): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2797)
03-08 03:08:05.085: E/AndroidRuntime(8544): at android.app.ActivityThread.access$2300(ActivityThread.java:135)
03-08 03:08:05.085: E/AndroidRuntime(8544): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2132)
03-08 03:08:05.085: E/AndroidRuntime(8544): at android.os.Handler.dispatchMessage(Handler.java:99)
03-08 03:08:05.085: E/AndroidRuntime(8544): at android.os.Looper.loop(Looper.java:143)
03-08 03:08:05.085: E/AndroidRuntime(8544): at android.app.ActivityThread.main(ActivityThread.java:4914)
03-08 03:08:05.085: E/AndroidRuntime(8544): at java.lang.reflect.Method.invokeNative(Native Method)
03-08 03:08:05.085: E/AndroidRuntime(8544): at java.lang.reflect.Method.invoke(Method.java:521)
03-08 03:08:05.085: E/AndroidRuntime(8544): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
03-08 03:08:05.085: E/AndroidRuntime(8544): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
03-08 03:08:05.085: E/AndroidRuntime(8544): at dalvik.system.NativeStart.main(Native Method)
03-08 03:08:05.085: E/AndroidRuntime(8544): Caused by: android.view.InflateException: Binary XML file line #7: Error inflating class fragment
03-08 03:08:05.085: E/AndroidRuntime(8544): at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:582)
03-08 03:08:05.085: E/AndroidRuntime(8544): at android.view.LayoutInflater.rInflate(LayoutInflater.java:618)
03-08 03:08:05.085: E/AndroidRuntime(8544): at android.view.LayoutInflater.inflate(LayoutInflater.java:407)
03-08 03:08:05.085: E/AndroidRuntime(8544): at android.view.LayoutInflater.inflate(LayoutInflater.java:320)

03-08 03:08:05.085: E/AndroidRuntime(8544): at
และอีกก่ายกองข้างล่างนี้ครับ ช่วยผมหน่อยคร๊าบบ



Tag : Mobile, Android, JAVA







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2013-03-08 03:11:02 By : Bver View : 1180 Reply : 3
 

 

No. 1



โพสกระทู้ ( 74,058 )
บทความ ( 838 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์
Twitter Facebook

Quote:
android.view.InflateException: Binary XML file line #7: Error inflating class fragment


ลองดูตรงนี้น่ะครับ






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-03-08 09:41:02 By : mr.win
 


 

No. 2

Guest


ยังทำไม่ได้เลยครับ TT
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-03-08 21:47:55 By : Bver
 

 

No. 3

Guest


Code (XML)
    <fragment
        android:id="@+id/checkIn"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_below="@+id/authButton"
        class="com.google.android.gms.maps.SupportMapFragment" />


อันนี้ไปเป็น XML ในบรรทัที่ 7 ครับ ไม่น่าจะมีปัญหาอะไรนะครับเพราะตอนไม่ได้นำ facebook เช้ามาผูก
ก็สามารถแสดงกูเกิ้ลแมพได้ปกติเลยครับ

ข้างล่างนี้คือโค๊ดที่ผมเพิ่มไปใน onCreate() ของหน้าที่แสดง Map ของแผนที่
Code (Java)
	    if (savedInstanceState == null) {
	        // Add the fragment on initial activity setup
	        mainFragment = new MainFragment();
	        getSupportFragmentManager().beginTransaction().add(android.R.id.content, mainFragment).commit();
	    } else {
	        // Or set the fragment from restored state info
	        mainFragment = (MainFragment) getSupportFragmentManager()
	        .findFragmentById(android.R.id.content);
	    }



ส่วนอันนี้เป็น Class ที่ทำงานเกี่ยวกับ Session ของเฟสบุ๊คครับ ผมต้องการนำปุ่ม Login/out ไปแปะไว้บน บนที่ครับ
เพื่อที่จะเช็คอินลงบนแผนที่และสามารถแชร์ผ่าน Facebook ได้
Code (Java)
public class MainFragment extends Fragment{
	
	private static final List<String> PERMISSIONS = Arrays.asList("publish_actions");
	private static final String PENDING_PUBLISH_KEY = "pendingPublishReauthorization";
	private boolean pendingPublishReauthorization = false;
	private Button shareButton;
	private UiLifecycleHelper uiHelper;
	private static final String TAG = "MainFragment";
	
	private Session.StatusCallback callback = new Session.StatusCallback() {
	    @Override
	    public void call(Session session, SessionState state, Exception exception) {
	        onSessionStateChange(session, state, exception);
	    }
	};
	
	@Override
	public void onCreate(Bundle savedInstanceState) {
		
	    super.onCreate(savedInstanceState);
	    uiHelper = new UiLifecycleHelper(getActivity(), callback);
	    uiHelper.onCreate(savedInstanceState);
	    	    
	}
	
	@Override
	public View onCreateView(LayoutInflater inflater, 
	        ViewGroup container, 
	        Bundle savedInstanceState) {
		super.onCreateView(inflater, container, savedInstanceState); 
	    View view = inflater.inflate(R.layout.check_in, container, false);

	    LoginButton authButton = (LoginButton) view.findViewById(R.id.authButton);
	    authButton.setFragment(this);
	    authButton.setReadPermissions(Arrays.asList("user_likes", "user_status"));
	    
	    shareButton = (Button) view.findViewById(R.id.shareButton);
	    shareButton.setOnClickListener(new View.OnClickListener() {
	        @Override
	        public void onClick(View v) {
	            publishStory();        
	        }
	    });
	    
	    if (savedInstanceState != null) {
	        pendingPublishReauthorization = 
	            savedInstanceState.getBoolean(PENDING_PUBLISH_KEY, false);
	    }
	    return view;
	}
	
	private void onSessionStateChange(Session session, SessionState state, Exception exception) {
	    if (state.isOpened()) {
	        Log.i(TAG, "Logged in...");
	    } else if (state.isClosed()) {
	        Log.i(TAG, "Logged out...");
	    }
	    
	    if (state.isOpened()) {
	    	shareButton.setVisibility(View.VISIBLE);
	    	if (pendingPublishReauthorization && 
	    	        state.equals(SessionState.OPENED_TOKEN_UPDATED)) {
	    	    pendingPublishReauthorization = false;
	    	    publishStory();
	    	}
	    } else if (state.isClosed()) {
	        shareButton.setVisibility(View.INVISIBLE);
	    }
	}
	
	
	private void publishStory() {
	    Session session = Session.getActiveSession();

	    if (session != null){

	        // Check for publish permissions    
	        List<String> permissions = session.getPermissions();
	        if (!isSubsetOf(PERMISSIONS, permissions)) {
	            pendingPublishReauthorization = true;
	            Session.NewPermissionsRequest newPermissionsRequest = new Session
	                    .NewPermissionsRequest(this, PERMISSIONS);
	        session.requestNewPublishPermissions(newPermissionsRequest);
	            return;
	        }

	        Bundle postParams = new Bundle();
	        postParams.putString("name", "Facebook SDK for Android");
	        postParams.putString("caption", "Build great social apps and get more installs.");
	        postParams.putString("description", "The Facebook SDK for Android makes it easier and faster to develop Facebook integrated Android apps.");
	        postParams.putString("link", "https://developers.facebook.com/android");
	        postParams.putString("picture", "https://raw.github.com/fbsamples/ios-3.x-howtos/master/Images/iossdk_logo.png");

	        Request.Callback callback= new Request.Callback() {
	            public void onCompleted(Response response) {
	                JSONObject graphResponse = response
	                                           .getGraphObject()
	                                           .getInnerJSONObject();
	                String postId = null;
	                try {
	                    postId = graphResponse.getString("id");
	                } catch (JSONException e) {
	                    Log.i(TAG,
	                        "JSON error "+ e.getMessage());
	                }
	                FacebookRequestError error = response.getError();
	                if (error != null) {
	                    Toast.makeText(getActivity()
	                         .getApplicationContext(),
	                         error.getErrorMessage(),
	                         Toast.LENGTH_SHORT).show();
	                    } else {
	                        Toast.makeText(getActivity()
	                             .getApplicationContext(), 
	                             postId,
	                             Toast.LENGTH_LONG).show();
	                }
	            }
	        };

	        Request request = new Request(session, "me/feed", postParams, 
	                              HttpMethod.POST, callback);

	        RequestAsyncTask task = new RequestAsyncTask(request);
	        task.execute();
	    }

	}
	
	private boolean isSubsetOf(Collection<String> subset, Collection<String> superset) {
	    for (String string : subset) {
	        if (!superset.contains(string)) {
	            return false;
	        }
	    }
	    return true;
	}
	
	@Override
	public void onResume() {
	    super.onResume();
	    Session session = Session.getActiveSession();
	    if (session != null &&
	           (session.isOpened() || session.isClosed()) ) {
	        onSessionStateChange(session, session.getState(), null);
	    }

	    uiHelper.onResume();
	}

	@Override
	public void onActivityResult(int requestCode, int resultCode, Intent data) {
	    super.onActivityResult(requestCode, resultCode, data);
	    uiHelper.onActivityResult(requestCode, resultCode, data);
	}

	@Override
	public void onPause() {
	    super.onPause();
	    uiHelper.onPause();
	}

	@Override
	public void onDestroy() {
	    super.onDestroy();
	    uiHelper.onDestroy();
	}

	@Override
	public void onSaveInstanceState(Bundle outState) {
	    super.onSaveInstanceState(outState);
	    outState.putBoolean(PENDING_PUBLISH_KEY, pendingPublishReauthorization);
	    uiHelper.onSaveInstanceState(outState);
	}
	
	
}


มาติดตรงนี้หาทางไปไม่เป็นละครับ TT
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-03-09 17:46:42 By : Bver
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : Android มีใครเคยใช้ Facebook sdk 3 บ้างครับช่วยหน่อยผมกำลังมีปัญหากับการเอามารวมกับโค๊ดตัวเอง
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

Load balance : Server 00
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2024 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่