2011-12-07 54 views
0

如何在Facebook應用程序中顯示帖子。我試圖與Facebook的示例Android API一起工作。但沒有什麼工作正常。我需要顯示一篇文章,發佈在Android模擬器的Facebook牆上。我需要一個示例代碼來運行並顯示JSON響應作爲我的文章。在Facebook應用程序中顯示帖子

請給我幾個工作鏈接。

+1

我覺得你應該把一些代碼在這裏。 – IamStalker

回答

0

以下是Facebook的代碼和SDK正式在Android

https://github.com/facebook/facebook-android-sdk/blob/master/examples/stream/src/com/facebook/stream/StreamHandler.java

public class StreamHandler extends Handler { 

    private static final String CACHE_FILE = "cache.txt"; 

    /** 
    * Called by the dispatcher to render the stream page. 
    */ 
    public void go() { 
     dispatcher.getWebView().addJavascriptInterface(
       new StreamJsHandler(this), "app"); 

     // first try to load the cached data 
     try { 
      String cached = FileIO.read(getActivity(), CACHE_FILE); 
      if (cached != null) { 
       JSONObject obj = new JSONObject(cached); 
       dispatcher.loadData(StreamRenderer.render(obj)); 
      } 
     } catch (IOException e) { 
      e.printStackTrace(); 
     } catch (JSONException e) { 
      e.printStackTrace(); 
     } 

     Facebook fb = Session.restore(getActivity()).getFb(); 
     new AsyncFacebookRunner(fb).request("me/home", 
       new StreamRequestListener()); 
    } 

    public class StreamRequestListener implements RequestListener { 

     public void onComplete(String response, final Object state) { 
      try { 
       JSONObject obj = Util.parseJson(response); 
       // try to cache the result 
       try { 
        FileIO.write(getActivity(), response, CACHE_FILE); 
       } catch (IOException e) { 
        e.printStackTrace(); 
       } 

       // Convert the result into an HTML string and then load it 
       // into the WebView in the UI thread. 
       final String html = StreamRenderer.render(obj); 
       getActivity().runOnUiThread(new Runnable() { 
        public void run() { 
         dispatcher.loadData(html); 
        } 
       }); 

      } catch (JSONException e) { 
       Log.e("stream", "JSON Error:" + e.getMessage()); 
      } catch (FacebookError e) { 
       Log.e("stream", "Facebook Error:" + e.getMessage()); 
      } 
     } 

     public void onFacebookError(FacebookError e, final Object state) { 
      Log.e("stream", "Facebook Error:" + e.getMessage()); 
     } 

     public void onFileNotFoundException(FileNotFoundException e, 
              final Object state) { 
      Log.e("stream", "Resource not found:" + e.getMessage());  
     } 

     public void onIOException(IOException e, final Object state) { 
      Log.e("stream", "Network Error:" + e.getMessage());  
     } 

     public void onMalformedURLException(MalformedURLException e, 
              final Object state) { 
      Log.e("stream", "Invalid URL:" + e.getMessage());    
     } 

    } 
} 
+0

Facebook上的android應用程序是否需要運行API版本8。 – user1083389

+1

沒有它的不必要的Facebook的SDK在分鐘版本上運行在Android – Maneesh

2

使用Facebook登錄類附加給定的代碼

public void postOnWall() { 

    try { 

      String response = Config.facebook.request("me"); 
      Bundle parameters = new Bundle(); 
      parameters.putString("access_token", Config.myAccessToken); 

      parameters.putString("message", "I am Now On FB"); 
      parameters.putString("description", ""); 
      response = Config.facebook.request("me/feed", parameters, 
        "POST"); 

      if (response == null || response.equals("") || 
        response.equals("false")) { 

      } 
    } catch(Exception e) { 
     e.printStackTrace(); 
    } 
} 
+1

最好給你的答案的解釋。雖然這*可能是正確答案 - 它會[更有用](http://msmvps.com/blogs/jon_skeet/archive/2009/02/17/answering-technical-questions-helpfully.aspx)如果你包含你的推理/邏輯。 – Lix

相關問題