2011-12-07 12 views
0

どのようにFacebookのアプリケーションに投稿を表示しますか。私はFacebook用のサンプルアンドロイドAPIを使って作業しようとしました。しかし、何もうまくいかなかった。私はアンドロイドエミュレータで私のFacebookの壁に投稿する投稿を表示する必要があります。 JSONレスポンスを実行して表示するサンプルコードが必要です。Facebookのアプリケーションに投稿を表示する

私はいくつかの作業リンクを送ってください。以下は

+1

を添付ここにコードしてください。 – IamStalker

答えて

0

アンドロイド

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は、APIバージョン8を実行する必要がありますか? – user1083389

+1

Facebookのsdkがminバージョン8でアンドロイドで実行されている必要はありません – Maneesh

2

にFacebookのためのコードおよびSDK公式である私はあなたには、いくつかを置くべきだと思う自分の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

関連する問題