16

インターネットでいろいろ調べたのですが、探しているものが見つからないようです...

OFFICIAL facebook android SDK http://github.com/facebook/facebook-android-sdkの使用方法に関するいくつかの例を含むサイトを見つけようとしています

具体的には、通知の使用と簡単な写真のアップロードの例をいくつか見てみたいと思います。しかし、SDK の使用感をつかむのに役立つものは何でも取り上げます。

誰かが例を知っている場合は、共有してください。

4

4 に答える 4

15

数週間前、公式の Facebook Android SDK と自分のウォールへのコンテンツの投稿に関して、同様の質問をしました ( Android/Java -- Post simple text to Facebook wall? )。これは、自分の壁にテキストを投稿するのがどのようなものかを理解するのに役立つはずです. ただし、最初に Fackbook アプリを作成し、Fackbook.com ( https://kunukd.com/ )から API キーを申請する必要があることを指摘しておく必要があります...作成しようとしているアプリのプラットフォームについて尋ねられた場合、モバイルを選択します。

私が投稿した Stack Overflow リンク (上記) のコードを変更して、写真を投稿することもできます。現時点では、Facebook Android SDK の公式 git ページ (「既知の問題」の下) によると:

3. バイナリ API パラメータ (写真のアップロードなど) はまだサポートされていません。

そのため、画像ファイルの URL を知っていれば壁に写真を投稿できますが (ファイルは既にインターネット上にある必要があります)、この SDK を使用して Android から写真のバイナリ/バイト データを送信することはできません。デバイス (まだ... 2010 年 7 月 24 日現在)。少なくとも、それが上記の声明から私が収集したものです。

別のスタック オーバーフローの投稿 (上記のリンク) に投稿したサンプル コードの次の行を置き換えます。

Bundle parameters = new Bundle();
parameters.putString("message", "this is a test");// the message to post to the wall
facebookClient.dialog(this, "stream.publish", parameters, this);// "stream.publish" is an API call

これとともに

Bundle parameters = new Bundle();
parameters.putString("message", "Test Photo");
parameters.putString("attachment", "{\"name\":\"My Test Image\","
+"\"href\":\""+"http://www.google.com"+"\","
+"\"media\":[{\"type\":\"image\",\"src\":\""+"http://www.google.com/logos/mucha10-hp.jpg"+"\",\"href\":\""+"http://www.google.com"+"\"}]"
+"}");
facebookClient.dialog(this, "stream.publish", parameters, this);

また、ウォールに写真を投稿できる必要があります (テキストやリンクも同様です)。

「アタッチメント」文字列の構造化について詳しくは、http: //www.mobisoftinfotech.com/blog/android/845/ を参照してください

それ以外に、デバイスから直接アルバムに写真を投稿する必要がある場合は、サードパーティ パッケージの使用を検討するか、公式 SDK が更新されるのを待ちます。

于 2010-07-24T09:07:09.900 に答える
2

あなたはこのようにそれを行うことができます:

byte[] data = null;
try {
    ContentResolver cr = mainActivity.getContentResolver();
    InputStream fis = cr.openInputStream(localSnapshotUri);
    Bitmap bi = BitmapFactory.decodeStream(fis);
    ByteArrayOutputStream baos = new ByteArrayOutputStream();
    bi.compress(Bitmap.CompressFormat.JPEG, 100, baos);
    data = baos.toByteArray();              
} catch (FileNotFoundException e) {
    e.printStackTrace();
}     

Bundle params = new Bundle(); 
params.putString("method", "photos.upload");          
params.putByteArray("picture", data);

AsyncFacebookRunner mAsyncRunner = new AsyncFacebookRunner(facebook);
mAsyncRunner.request(null, params, "POST", new SampleUploadListener());

ここで使用されるパラメーターは次のとおりです。

  • localSnapshotUri/ sdcard/..またはどこにでもある画像を指します:)
  • mainActivityそれがアプリの主な活動です
  • SampleUploadListenerAsyncFacebookRunner.RequestListenerインターフェースの実装

素敵なプログラミングを!

于 2010-12-04T06:36:10.953 に答える
2

写真をアップロードする簡単な方法をここに投稿しました。

アンドロイドフェイスブック公開写真

コード:

byte[] data = null;

Bitmap bi = BitmapFactory.decodeFile(photoToPost);
ByteArrayOutputStream baos = new ByteArrayOutputStream();
bi.compress(Bitmap.CompressFormat.JPEG, 100, baos);
data = baos.toByteArray();

Bundle params = new Bundle();
params.putString("method", "photos.upload");
params.putByteArray("picture", data);

AsyncFacebookRunner mAsyncRunner = new AsyncFacebookRunner(facebook);
mAsyncRunner.request(null, params, "POST", new SampleUploadListener(), null);
于 2011-02-10T10:00:09.620 に答える
1

一度ログオンしたダイアログなしでユーザーのウォールに投稿し、新しいFacebook SDKを使用する最も簡単で実用的な例は、次のとおりです。http: //www.integratingstuff.com/2010/10/14/integrating-facebook-into- an-android-application /

ちなみに、画像の投稿は次のように行われます。

parameters.putString("picture", "http://www.google.com/logos/mucha10-hp.jpg"); 
于 2012-09-01T18:21:35.840 に答える