我已经在互联网上四处寻找,似乎找不到我要找的东西......
我只是想找到一个网站,上面有一些关于如何使用官方 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 -- 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 更新。
你可以这样做:
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
接口的实现祝你编程愉快!
刚刚在这里发布了上传照片的简单方法:
代码:
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);
到目前为止,在登录后没有对话框并使用新的 Facebook SDK 发布到用户墙上的最简单和有效的示例是: http: //www.integratingstuff.com/2010/10/14/integrating-facebook-into-一个安卓应用程序/
顺便说一句,发布图片是通过以下方式完成的:
parameters.putString("picture", "http://www.google.com/logos/mucha10-hp.jpg");