寻找安卓 Facebook SDK 示例 [已关闭]
我在互联网上到处寻找,似乎找不到我想要的东西......
我只是试图找到一个网站,其中包含一些有关如何使用官方Facebook Android SDK的示例 http://github.com/facebook/facebook-android-sdk
具体来说,我希望看到一些关于通知使用和简单照片上传的例子。但是我会采取任何措施来帮助了解使用SDK的感觉。
如果有人知道任何例子,请分享非常感谢你!
我在互联网上到处寻找,似乎找不到我想要的东西......
我只是试图找到一个网站,其中包含一些有关如何使用官方Facebook Android SDK的示例 http://github.com/facebook/facebook-android-sdk
具体来说,我希望看到一些关于通知使用和简单照片上传的例子。但是我会采取任何措施来帮助了解使用SDK的感觉。
如果有人知道任何例子,请分享非常感谢你!
几周前,我问了一个类似的问题,关于官方的Facebook Android SDK和将内容发布到墙上(Android/ Java - 将简单的文本发布到Facebook墙上?)。这应该可以帮助您了解将文本发布到墙上的感觉。我应该指出,你需要首先创建一个Fackbook应用程序,并从 Fackbook.com 申请一个API密钥(https://kunukd.com/)...如果它询问您打算创建的应用程序的平台,请选择移动设备。
您可以修改我发布(上面)的Stack Overflow链接中的代码以发布照片。不过,目前,根据Facebook Android SDK的官方git页面(在“已知问题”下):
3.不支持二进制API参数(如上传图片)-即将推出...
因此,虽然如果您有图像文件的URL(该文件必须已经在互联网上),则可以将照片发布到墙上,但您不能使用此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更新。
你可以这样做:
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
这是应用主要活动SampleUploadListener
接口的实现AsyncFacebookRunner.RequestListener
有一个很好的编程!