Ищите примеры Android SDK для Android

Я посмотрел по всему Интернету и не могу найти то, что ищу...

Я просто пытаюсь найти сайт с некоторыми примерами того, как использовать ОФИЦИАЛЬНЫЙ facebook android SDK http://github.com/facebook/facebook-android-sdk

Чтобы быть конкретным, я хотел бы увидеть несколько примеров использования уведомлений и простой загрузки фотографий. Но я возьму что-нибудь, чтобы помочь понять SDK.

Если кто-нибудь знает о каких-либо примерах, пожалуйста, поделитесь им с благодарностью!

Ответы

Ответ 1

Несколько недель назад я задал похожий вопрос относительно официального Android SDK Facebook и размещения контента на одной стене (Android/Java - Размещать простой текст на стене Facebook?). Это должно помочь вам понять, каково это размещать текст на одной стене. Я должен отметить, что вам нужно сначала создать приложение Fackbook и подать заявку на ключ API с сайта Fackbook.com(https://kunukd.com/)... если он спросит о платформе приложения, которое вы намереваетесь создать выберите мобильный.

Вы можете изменить код в ссылке на переполнение стека, которую я разместил (выше), чтобы публиковать фотографии тоже. Однако в настоящее время, согласно официальной странице git для Android SDK Facebook (в разделе "Известные проблемы"):

3. Бинарные параметры API (например, загрузка изображений) пока не поддерживаются - скоро...

Таким образом, хотя вы можете опубликовать фотографию на своей стене, если у вас есть URL-адрес файла изображения (файл должен быть уже в Интернете), вы не можете использовать этот SDK для отправки двоичных/байтовых данных фотографии с Android устройство (пока... по состоянию на 24.07.10). По крайней мере, это то, что я понял из заявления выше.

Замените следующие строки примера кода, который я разместил в другом посте (ссылка выше):

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);

и вы сможете размещать фотографии на своей стене (а также текст и ссылки).

Для получения дополнительной информации о структурировании строки "attachment" перейдите по ссылке: http://www.mobisoftinfotech.com/blog/android/845/.

Кроме этого, рассмотрите возможность использования стороннего пакета или дождитесь обновления официального SDK, если вам нужно опубликовать фотографии в альбом непосредственно с устройства.

Ответ 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 Это основная активность приложения.
  • SampleUploadListener реализация интерфейса AsyncFacebookRunner.RequestListener

Хорошее программирование!

Ответ 3

Только что опубликованный здесь простой способ загрузить фотографию:

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);

Ответ 4

На сегодняшний день самый простой и рабочий пример публикации на стене пользователя без диалога после входа в систему и использования нового SDK для Facebook: http://www.integratingstuff.com/2010/10/14/integrating-facebook-into-an-android-application/

Кстати, размещение изображений выполняется с помощью:

parameters.putString("picture", "http://www.google.com/logos/mucha10-hp.jpg");