Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
fanat094
0 / 0 / 1
Регистрация: 15.04.2012
Сообщений: 79
1

FaceBook в Adroid app

06.01.2014, 22:30. Просмотров 745. Ответов 4
Метки нет (Все метки)

Здравствуйте.
Почему у меня в Eclipse перечеркнутые процедуры для работы с FaceBookSDK?

Я так понимаю эти методы устарели?.
А какие новые использовать?
0
Миниатюры
FaceBook в Adroid app  
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.01.2014, 22:30
Ответы с готовыми решениями:

Яндекс диск api.Adroid studio
Здравствуйте дорогие форумчане, нужна ваша скромная помощь. Помогите...

Resolved versions for app (XX.X.X) and test app (XX.X.X) differ
Добрый день. При сборке проекта с отключенным телефоном (для запуска)...

Facebook leaderboards
Здравствуйте я новичок и у меня возникла проблема.написал игру залил на гугл...

Шаринг Facebook
Привет. Помогите с шарингом Facebook. Как сделать авторизацию. Где должен...

Android Facebook
я пытаюсь войти в Facebook и пост к стене с одним нажатием кнопки .. я написал...

4
YuraAAA
1578 / 1319 / 282
Регистрация: 25.10.2009
Сообщений: 3,436
Записей в блоге: 2
06.01.2014, 23:26 2
fanat094, upgraide facebook sdk
Видимо вы использовали старую версию и проапдейтелись до новой. Посмотрите в сторону Session.isOpened, Session.isClosed
0
fanat094
0 / 0 / 1
Регистрация: 15.04.2012
Сообщений: 79
06.01.2014, 23:29  [ТС] 3
YuraAAA, у меня facebook-android-sdk-3.6
0
YuraAAA
1578 / 1319 / 282
Регистрация: 25.10.2009
Сообщений: 3,436
Записей в блоге: 2
06.01.2014, 23:33 4
fanat094, Вы используете старые методы, явно из 2.х. Нет гарантии, что они будут стабильно работать. Посмотрите на сайте FB работу с новой SDK.
0
fanat094
0 / 0 / 1
Регистрация: 15.04.2012
Сообщений: 79
07.01.2014, 04:08  [ТС] 5
YuraAAA, это, https://developers.facebook.com/docs/android/getting-started/?
а есть какой нибудь пример с новыми методами, кроме этого?

Добавлено через 4 часа 31 минуту
Как можно переделать это код (интеграция c Facebook) используя новые методы, такие как Session.isOpened, Session.isClosed?

Код:

public class MainActivity extends Activity
{

public static final String APP_ID = "ID";

private static final String[] PERMISSIONS = new String[] {"publish_stream"};

private static final String TOKEN = "access_token";
private static final String EXPIRES = "expires_in";
private static final String KEY = "facebook-credentials";

private Facebook facebook;
private String messageToPost;

public boolean saveCredentials(Facebook facebook) {
Editor editor = getApplicationContext().getSharedPreferences(KEY, Context.MODE_PRIVATE).edit();
editor.putString(TOKEN, facebook.getAccessToken());
editor.putLong(EXPIRES, facebook.getAccessExpires());
return editor.commit();
}

public boolean restoreCredentials(Facebook facebook) {
SharedPreferences sharedPreferences = getApplicationContext().getSharedPreferences(KEY, Context.MODE_PRIVATE);
facebook.setAccessToken(sharedPreferences.getString(TOKEN, null));
facebook.setAccessExpires(sharedPreferences.getLong(EXPIRES, 0));
return facebook.isSessionValid();

}


@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);

facebook = new Facebook(APP_ID);
restoreCredentials(facebook);

requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.main);

String facebookMessage = getIntent().getStringExtra("facebookMessage");
if (facebookMessage == null){
facebookMessage = "Footballersmania the best!";
}
messageToPost = facebookMessage;
}
public void doNotShare(View button){
finish();
}
public void share(View button){
if (! facebook.isSessionValid()) {
loginAndPostToWall();
}
else {
postToWall(messageToPost);
}
}

public void loginAndPostToWall(){
facebook.authorize(this, PERMISSIONS, Facebook.FORCE_DIALOG_AUTH, new LoginDialogListener());
}

public void postToWall(String message){
Bundle parameters = new Bundle();
parameters.putString("message", message);
parameters.putString("description", "topic share");
parameters.putString("link", "http://www.football.ua/");
try {
facebook.request("me");
String response = facebook.request("me/feed", parameters, "POST");
Log.d("Tests", "got response: " + response);
if (response == null || response.equals("") ||
response.equals("false")) {
showToast("Blank response.");
}
else {
showToast("Message posted to your facebook wall!");
}
finish();
} catch (Exception e) {
showToast("Failed to post to wall!");
e.printStackTrace();
finish();
}
}

class LoginDialogListener implements DialogListener {
public void onComplete(Bundle values) {
saveCredentials(facebook);
if (messageToPost != null){
postToWall(messageToPost);
}
}
public void onFacebookError(FacebookError error) {
showToast("Authentication with Facebook failed!");
finish();
}
public void onError(DialogError error) {
showToast("Authentication with Facebook failed!");
finish();
}
public void onCancel() {
showToast("Authentication with Facebook cancelled!");
finish();
}
}

private void showToast(String message){
Toast.makeText(getApplicationContext(), message, Toast.LENGTH_SHORT).show();
}
}

Красным выделены устаревшие методы.
0
07.01.2014, 04:08
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.01.2014, 04:08

Facebook, Авторизация
При работе с Facebook при вызове диалога для постинга сообщения на стене друга...

Facebook Поделиться к стене
я пытаюсь войти в Facebook и пост к стене с одним нажатием кнопки .. я написал...

Facebook и разные пользователи
Подскажите пожалуйста в чём может быть проблема. Использую Facebook sdk,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru