16

我已经在互联网上四处寻找,似乎找不到我要找的东西......

我只是想找到一个网站,上面有一些关于如何使用官方 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(该文件必须已经在 Internet 上),您可以将照片发布到墙上,但您不能使用此 SDK 从 Android 发送照片的二进制/字节数据设备(但……截至 2010 年 7 月 24 日)。至少,这就是我从上面的陈述中收集到的。

替换我在其他 Stack Overflow 帖子(上面的链接)中发布的示例代码的以下行:

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

刚刚在这里发布了上传照片的简单方法:

android facebook 发布照片

代码:

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-一个安卓应用程序/

顺便说一句,发布图片是通过以下方式完成的:

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