diff --git a/README.md b/README.md
index e77f646..8726748 100644
--- a/README.md
+++ b/README.md
@@ -1,305 +1,295 @@
-ASNETutorial
+ASNETutorial [](https://android-arsenal.com/details/3/921) [](http://habrahabr.ru/post/237095/)
============
-Simple example project for https://github.com/gorbin/ASNE library
+Пример применения библиотеки [ASNE](https://github.com/gorbin/ASNE)
-Today social network integration to your android application is common practice - it makes user easily login to your app and share their actions. There are a lot of way to do it - usually developers add native social network SDK or use API for every network. It provides login via installed social network application or native dialogs. You have to spend time and nerves to learn and use different social network SDKs.
+В данной статье я покажу как можно легко добавить поддержку VK и Odnoklassniki в андроид приложении, используя соответсвующие [модули ASNE](http://search.maven.org/#search%7Cga%7C1%7Cg%3A%22com.github.asne%22). Это упрощенный пример, включающий добавления логина, шаринга ссылки и вывода списка друзей.
-What if you need to add one more social network for your application? Sometimes you have to reorganize or redo all your integrations. This leads to idea to create and implement common interface for all social networks. Fortunately there is an open source modular library [ASNE](https://github.com/gorbin/ASNE) that allows you to choose necessary social network and provides full sdk and common interface for most oftenly used requests(login, share, friendslist & etc) It saves your time and simplifies adding another networks in the future. Moreover you can easily add any other social network as new module - the similar way as it done in other modules.
+##Регистрация приложения в социальной сети
+Для добавления социальной сети в ваше приложение потребуется ключ для совершения запросов. Поэтому первым шагом необходимо зарегистрировать приложение - по ссылкам вы увидите краткое руководство по созданию приложения для
-In this tutorial you can learn how easily integrate Facebook, Twitter in android application using [ASNE modules](https://github.com/gorbin/ASNE). This is very basic tutorial with login, share link and showing friends list.
-
-
-##Registering app - getting keys for your application
-In order to implement Social networks in your application you need keys to make API calls. So register a new social network application and get the keys. Check small tutorial how to get it:
+ - [VK](https://github.com/gorbin/ASNE/wiki/Create-Vkontakte-App)
+ - [Odnoklassniki](https://github.com/gorbin/ASNE/wiki/Create-Odnoklassniki-App)
- - [Facebook](https://github.com/gorbin/ASNE/wiki/Create-Facebook-App)
- - [Twitter](https://github.com/gorbin/ASNE/wiki/Create-Twitter-App)
- - [LInkedIn](https://github.com/gorbin/ASNE/wiki/Create-LinkedIn-App)
+для продолжения вам необходимы ключи, которые используются в SDK социальных сетей
+- VK App ID
+- Ok App ID
+- Ok публичный ключ
+- Ok секретный ключ
-To continue you need
-- Facebook App ID
-- Twitter consumer key and consumer secret
-- LinkedIn consumer key and consumer secret
-##Integrating Facebook, Twitter and LinkedIn to your application
+##Интеграция ВК и Одноклассники в приложение
-1. Create new Project in Android Studio
-2. Let's save our social network keys in `values/strings.xml`
+1. Создайте новый проект
+2. Сохраните ключи в `values/strings.xml`
- **strings.xml**(full [source](https://github.com/gorbin/ASNETutorial/blob/master/app/src/main/res/values/strings.xml))
+ **strings.xml**([source](https://github.com/gorbin/ASNETutorial/blob/ru/app/src/main/res/values/strings.xml))
```xml
ASNE-tutorial
-
- 1646388738920557
-
-
- BBQAUAVKYzmYtvEcNhUEvGiKd
-
- byZzHPxE1tkGmnPEj5zUyc7MG464Q1LgNRcwbBJV1Ap86575os
-
-
- 75ubsp337ll7sf
-
-
- 8DVk4hi3wvEyzjbh
-
+ 4542602
+
+ 1096125440
+ CBANIGFCEBABABABA
+ FF5161844C04525B64FA41A7
```
-3. Add permissions and meta data - open `AndroidManifest.xml` file and add uses-permission for INTERNET, ACCESS_NETWORK_STATE and add meta-data for facebook(add appId key)
+3. Добавим разрешения и активити для интегарции с Одноклассниками - откроем `AndroidManifest.xml` и добавим uses-permission - INTERNET, ACCESS_NETWORK_STATE и добавим ru.ok.android.sdk.OkAuthActivity
- **AndroidManifest.xml**(full [source](https://github.com/gorbin/ASNETutorial/blob/master/app/src/main/AndroidManifest.xml))
+ **AndroidManifest.xml**([код](https://github.com/gorbin/ASNETutorial/blob/ru/app/src/main/AndroidManifest.xml))
```xml
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
```
-4. Set dependecies for [asne-modules](https://github.com/gorbin/ASNE):
+4. Добавим зависимости для [модулей ASNE](https://github.com/gorbin/ASNE):
- Open _Project Structure_ => choose your module and open _Dependecies_ => _Add new library dependency_
+ Например в Android Studio Откойте _Project Structure_ => выберите модуль приложения и откройте _Dependencies_ => _Add new library dependency_

- Then search for `asne` and add **asne-facebook, asne-twitter, asne-linkedin**
+ Затем по запросу `asne` вы увидите все модули доступные в библиотеке и добавьте в зависимость **asne-vk, asne-odnoklassniki**

- or just add them manualy to `build.gradle`
+ либо вручную добавьте зависимоси в `build.gradle`
- **build.gradle**(full [source](https://github.com/gorbin/ASNETutorial/blob/master/app/build.gradle))
+ **build.gradle**([код](https://github.com/gorbin/ASNETutorial/blob/ru/app/build.gradle))
```
apply plugin: 'com.android.application'
- android {
- compileSdkVersion 19
- buildToolsVersion '20.0.0'
-
- defaultConfig {
- applicationId "asne_tutorial.githubgorbin.com.asne_tutorial"
- minSdkVersion 10
- targetSdkVersion 19
- versionCode 1
- versionName "1.0"
- }
- buildTypes {
- release {
- runProguard false
- proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
- }
- }
+ android {
+ compileSdkVersion 19
+ buildToolsVersion '20.0.0'
+
+ defaultConfig {
+ applicationId "com.github.gorbin.asnetutorial"
+ minSdkVersion 10
+ targetSdkVersion 19
+ versionCode 1
+ versionName "1.0"
}
-
- dependencies {
- compile fileTree(include: ['*.jar'], dir: 'libs')
- compile 'com.android.support:appcompat-v7:20.0.0'
- compile 'com.github.asne:asne-facebook:0.2.1'
- compile 'com.github.asne:asne-linkedin:0.2.1'
- compile 'com.github.asne:asne-twitter:0.2.1'
- }
+ buildTypes {
+ release {
+ runProguard false
+ proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
+ }
+ }
+ }
+
+ dependencies {
+ compile fileTree(include: ['*.jar'], dir: 'libs')
+ compile 'com.android.support:appcompat-v7:20.0.0'
+ compile 'com.github.asne:asne-vk:0.3.1'
+ compile 'com.github.asne:asne-odnoklassniki:0.3.1'
+ }
```
-5. Lets create some layouts
- Just login buttons in main fragment
- **main_fragment.xml**(full [source](https://github.com/gorbin/ASNETutorial/blob/master/app/src/main/res/layout/main_fragment.xml))
+5. Теперь немного украсим наше приложение
+ В главном фрагменте расположим 2 кнопки отвечающие за логин в социальные сети
+ **main_fragment.xml**([код](https://github.com/gorbin/ASNETutorial/blob/ru/app/src/main/res/layout/main_fragment.xml))
```xml
-
-
-
-
-
-
+
+
+
+
+
+
```
- Create simple profile card for user
- **profile_fragment.xml**(full [source](https://github.com/gorbin/ASNETutorial/blob/master/app/src/main/res/layout/profile_fragment.xml))
+ Зададим внешний вид профиля пользователя
+ **profile_fragment.xml**(full [source](https://github.com/gorbin/ASNETutorial/blob/ru/app/src/main/res/layout/profile_fragment.xml))
```xml
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
```
- and save socialnetworks colors to
+ и сохраним цвета социальных сетей
- **color.xml**(full [source](https://github.com/gorbin/ASNETutorial/blob/master/app/src/main/res/values/colors.xml))
+ **color.xml**(full [source](https://github.com/gorbin/ASNETutorial/blob/ru/app/src/main/res/values/colors.xml))
```xml
-
- #FFCCCCCC
- #4b4b4b
- #3b5998
- #55ACEE
- #287bbc
-
+
+ #FFCCCCCC
+ #4b4b4b
+
+ #36638e
+ #cf6700
+
```
-6. Let's setup `MainActivity.java` We should setup `onActivityResult` method to catch responses after requesting login
+6. Теперь в `MainActivity.java` необходимо в `onActivityResult` ловить ответ после запроса логина
- **MainActivity.java**(full [source](https://github.com/gorbin/ASNETutorial/blob/master/app/src/main/java/com/github/gorbin/asnetutorial/MainActivity.java))
+ **MainActivity.java**(full [source](https://github.com/gorbin/ASNETutorial/blob/ru/app/src/main/java/com/github/gorbin/asnetutorial/MainActivity.java))
```java
public static final String SOCIAL_NETWORK_TAG = "SocialIntegrationMain.SOCIAL_NETWORK_TAG";
@@ -313,99 +303,84 @@ To continue you need
}
}
```
- After every login form social networks send `onActivityResult` and we should check it and send to our `SocialNetworkManager` which deliver it to right `SocialNetwork`
+ При обработке запроса логина социальная сеть отправляет `onActivityResult` проверяем его, отправляем в `SocialNetworkManager`, который передаст его в соответствующую `SocialNetwork`
-7. Create `MainFragment.java` and begin transaction of this fragmetn in `MainActivity.java`
+7. Теперь интегрируем социальную сеть в `MainFragment.java` - это просто:
- **MainActivity.java**(full [source](https://github.com/gorbin/ASNETutorial/blob/master/app/src/main/java/com/github/gorbin/asnetutorial/MainActivity.java))
+ * Достанем ключи социальных сетей из `values.xml`
```java
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_main);
-
- if (savedInstanceState == null) {
- getSupportFragmentManager().beginTransaction()
- .add(R.id.container, new MainFragment())
- .commit();
- }
-
- }
+ String VK_KEY = getActivity().getString(R.string.vk_app_id);
+ String OK_APP_ID = getActivity().getString(R.string.ok_app_id);
+ String OK_PUBLIC_KEY = getActivity().getString(R.string.ok_public_key);
+ String OK_SECRET_KEY = getActivity().getString(R.string.ok_secret_key);
```
-
-8. Integrating of any social network is simple:
-
- * Get `SocialNetworkManager`
+
+ * Получим `SocialNetworkManager`
```java
mSocialNetworkManager = (SocialNetworkManager) getFragmentManager().findFragmentByTag(MAinActivity.SOCIAL_NETWORK_TAG);
```
- * Get keys from `values.xml` - note Facebook appId we used in `AndroidManifest.xml`
-
- ```java
- String TWITTER_CONSUMER_KEY = getActivity().getString(R.string.twitter_consumer_key);
- String TWITTER_CONSUMER_SECRET = getActivity().getString(R.string.twitter_consumer_secret);
- String LINKEDIN_CONSUMER_KEY = getActivity().getString(R.string.linkedin_consumer_key);
- String LINKEDIN_CONSUMER_SECRET = getActivity().getString(R.string.linkedin_consumer_secret);
- ```
- * Create chosen `SocialNetworks` with permissions
+ * Создадим `SocialNetworks` с соответствующими разрешениями
```java
- ArrayList fbScope = new ArrayList();
- fbScope.addAll(Arrays.asList("public_profile, email, user_friends"));
- FacebookSocialNetwork fbNetwork = new FacebookSocialNetwork(this, fbScope);
-
- // permissions for twitter in developer twitter console
- TwitterSocialNetwork twNetwork = new TwitterSocialNetwork(this, TWITTER_CONSUMER_KEY, TWITTER_CONSUMER_SECRET);
+ String[] vkScope = new String[] {
+ VKScope.FRIENDS,
+ VKScope.WALL,
+ VKScope.PHOTOS,
+ VKScope.NOHTTPS,
+ VKScope.STATUS,
+ };
+ VkSocialNetwork vkNetwork = new VkSocialNetwork(this, VK_KEY, vkScope);
- String linkedInScope = "r_basicprofile+rw_nus+r_network+w_messages";
- LinkedInSocialNetwork liNetwork = new LinkedInSocialNetwork(this, LINKEDIN_CONSUMER_KEY, LINKEDIN_CONSUMER_SECRET, linkedInScope);
+ String[] okScope = new String[] {
+ OkScope.VALUABLE_ACCESS
+ };
+ OkSocialNetwork okNetwork = new OkSocialNetwork(this, OK_APP_ID, OK_PUBLIC_KEY, OK_SECRET_KEY, okScope);
```
- * Check if `SocialNetworkManager` is null init it and add `SocialNetworks` to it
+ * Проверим существует ли `SocialNetworkManager`
+ * Если не существует зададим его и добавим в него `SocialNetworks`
- ```java
- mSocialNetworkManager = new SocialNetworkManager();
+ ```java
+ mSocialNetworkManager = new SocialNetworkManager();
- mSocialNetworkManager.addSocialNetwork(fbNetwork);
- mSocialNetworkManager.addSocialNetwork(twNetwork);
- mSocialNetworkManager.addSocialNetwork(liNetwork);
+ mSocialNetworkManager.addSocialNetwork(vkNetwork);
+ mSocialNetworkManager.addSocialNetwork(okNetwork);
- //Initiate every network from mSocialNetworkManager
- getFragmentManager().beginTransaction().add(mSocialNetworkManager, MAinActivity.SOCIAL_NETWORK_TAG).commit();
- mSocialNetworkManager.setOnInitializationCompleteListener(this);
- ```
- don't forget to implement `SocialNetworkManager.OnInitializationCompleteListener`
+ //Initiate every network from mSocialNetworkManager
+ getFragmentManager().beginTransaction().add(mSocialNetworkManager, MAinActivity.SOCIAL_NETWORK_TAG).commit();
+ mSocialNetworkManager.setOnInitializationCompleteListener(this);
+ ```
+ не забудьте добавить `SocialNetworkManager.OnInitializationCompleteListener`
- * If `SocialNetworkManager` - come from another fragment where we alredy init it - get all initialized social networks and add to them neccessary listeners
+ * Если `SocialNetworkManager` существует - задали в activity или другом фрагменте - выберем все инициализированные социальные сети и установим им `OnLoginCompleteListener`
- ```java
- if(!mSocialNetworkManager.getInitializedSocialNetworks().isEmpty()) {
- List socialNetworks = mSocialNetworkManager.getInitializedSocialNetworks();
- for (SocialNetwork socialNetwork : socialNetworks) {
- socialNetwork.setOnLoginCompleteListener(this);
- }
- ```
- don't forget to implement `OnLoginCompleteListener`
- * Now we need to catch callback after initializing of `SocialNetworks`
+ ```java
+ if(!mSocialNetworkManager.getInitializedSocialNetworks().isEmpty()) {
+ List socialNetworks = mSocialNetworkManager.getInitializedSocialNetworks();
+ for (SocialNetwork socialNetwork : socialNetworks) {
+ socialNetwork.setOnLoginCompleteListener(this);
+ }
+ ```
+ * Теперь необходимо обработать callback инициации `SocialNetworks`
- ```java
- @Override
- public void onSocialNetworkManagerInitialized() {
- for (SocialNetwork socialNetwork : mSocialNetworkManager.getInitializedSocialNetworks()) {
- socialNetwork.setOnLoginCompleteListener(this);
- initSocialNetwork(socialNetwork);
+ ```java
+ @Override
+ public void onSocialNetworkManagerInitialized() {
+ for (SocialNetwork socialNetwork : mSocialNetworkManager.getInitializedSocialNetworks()) {
+ socialNetwork.setOnLoginCompleteListener(this);
+ initSocialNetwork(socialNetwork);
+ }
}
- }
- ```
- don't forget to implement `OnLoginCompleteListener`
+ ```
+ не забудьте добавить `OnLoginCompleteListener`
- Full `onCreateView` and `onSocialNetworkManagerInitialized` from MainFragment with initializing and setting listener to buttons
+ Весь исходный код `onCreateView` и `onSocialNetworkManagerInitialized` из `MainFragment` инициацией социальных сетей и установкой listenerов
- **MainFragment.java**(full [source](https://github.com/gorbin/ASNETutorial/blob/master/app/src/main/java/com/github/gorbin/asnetutorial/MainFragment.java))
+ **MainFragment.java**(full [source](https://github.com/gorbin/ASNETutorial/blob/ru/app/src/main/java/com/github/gorbin/asnetutorial/MainFragment.java))
```java
public static SocialNetworkManager mSocialNetworkManager;
@@ -419,13 +394,10 @@ To continue you need
* 6 - Odnoklassniki
* 7 - Instagram
*/
- public static final int TWITTER = 1;
- public static final int LINKEDIN = 2;
- public static final int FACEBOOK = 4;
-
- private Button facebook;
- private Button twitter;
- private Button linkedin;
+ public static final int VK = 5;
+ public static final int OK = 6;
+ private Button vk;
+ private Button ok;
public MainFragment() {
}
@@ -436,45 +408,46 @@ To continue you need
View rootView = inflater.inflate(R.layout.main_fragment, container, false);
((MainActivity)getActivity()).getSupportActionBar().setTitle(R.string.app_name);
// init buttons and set Listener
- facebook = (Button) rootView.findViewById(R.id.facebook);
- facebook.setOnClickListener(loginClick);
- twitter = (Button) rootView.findViewById(R.id.twitter);
- twitter.setOnClickListener(loginClick);
- linkedin = (Button) rootView.findViewById(R.id.linkedin);
- linkedin.setOnClickListener(loginClick);
+ vk = (Button) rootView.findViewById(R.id.vk);
+ vk.setOnClickListener(loginClick);
+ ok = (Button) rootView.findViewById(R.id.ok);
+ ok.setOnClickListener(loginClick);
//Get Keys for initiate SocialNetworks
- String TWITTER_CONSUMER_KEY = getActivity().getString(R.string.twitter_consumer_key);
- String TWITTER_CONSUMER_SECRET = getActivity().getString(R.string.twitter_consumer_secret);
- String LINKEDIN_CONSUMER_KEY = getActivity().getString(R.string.linkedin_consumer_key);
- String LINKEDIN_CONSUMER_SECRET = getActivity().getString(R.string.linkedin_consumer_secret);
+ String VK_KEY = getActivity().getString(R.string.vk_app_id);
+ String OK_APP_ID = getActivity().getString(R.string.ok_app_id);
+ String OK_PUBLIC_KEY = getActivity().getString(R.string.ok_public_key);
+ String OK_SECRET_KEY = getActivity().getString(R.string.ok_secret_key);
//Chose permissions
- ArrayList fbScope = new ArrayList();
- fbScope.addAll(Arrays.asList("public_profile, email, user_friends"));
- String linkedInScope = "r_basicprofile+rw_nus+r_network+w_messages";
+ String[] okScope = new String[] {
+ OkScope.VALUABLE_ACCESS
+ };
+ String[] vkScope = new String[] {
+ VKScope.FRIENDS,
+ VKScope.WALL,
+ VKScope.PHOTOS,
+ VKScope.NOHTTPS,
+ VKScope.STATUS,
+ };
//Use manager to manage SocialNetworks
- mSocialNetworkManager = (SocialNetworkManager) getFragmentManager().findFragmentByTag(SOCIAL_NETWORK_TAG);
+ mSocialNetworkManager = (SocialNetworkManager) getFragmentManager().findFragmentByTag(MainActivity.SOCIAL_NETWORK_TAG);
//Check if manager exist
if (mSocialNetworkManager == null) {
mSocialNetworkManager = new SocialNetworkManager();
- //Init and add to manager FacebookSocialNetwork
- FacebookSocialNetwork fbNetwork = new FacebookSocialNetwork(this, fbScope);
- mSocialNetworkManager.addSocialNetwork(fbNetwork);
-
- //Init and add to manager TwitterSocialNetwork
- TwitterSocialNetwork twNetwork = new TwitterSocialNetwork(this, TWITTER_CONSUMER_KEY, TWITTER_CONSUMER_SECRET);
- mSocialNetworkManager.addSocialNetwork(twNetwork);
+ //Init and add to manager VkSocialNetwork
+ VkSocialNetwork vkNetwork = new VkSocialNetwork(this, VK_KEY, vkScope);
+ mSocialNetworkManager.addSocialNetwork(vkNetwork);
- //Init and add to manager LinkedInSocialNetwork
- LinkedInSocialNetwork liNetwork = new LinkedInSocialNetwork(this, LINKEDIN_CONSUMER_KEY, LINKEDIN_CONSUMER_SECRET, linkedInScope);
- mSocialNetworkManager.addSocialNetwork(liNetwork);
+ //Init and add to manager OkSocialNetwork
+ OkSocialNetwork okNetwork = new OkSocialNetwork(this, OK_APP_ID, OK_PUBLIC_KEY, OK_SECRET_KEY, okScope);
+ mSocialNetworkManager.addSocialNetwork(okNetwork);
//Initiate every network from mSocialNetworkManager
- getFragmentManager().beginTransaction().add(mSocialNetworkManager, SOCIAL_NETWORK_TAG).commit();
+ getFragmentManager().beginTransaction().add(mSocialNetworkManager, MainActivity.SOCIAL_NETWORK_TAG).commit();
mSocialNetworkManager.setOnInitializationCompleteListener(this);
} else {
//if manager exist - get and setup login only for initialized SocialNetworks
@@ -492,19 +465,15 @@ To continue you need
private void initSocialNetwork(SocialNetwork socialNetwork){
if(socialNetwork.isConnected()){
switch (socialNetwork.getID()){
- case FACEBOOK:
- facebook.setText("Show Facebook profile");
+ case VK:
+ vk.setText("Show VK profile");
break;
- case TWITTER:
- twitter.setText("Show Twitter profile");
- break;
- case LINKEDIN:
- linkedin.setText("Show LinkedIn profile");
+ case OK:
+ ok.setText("Show Odnoklassniki profile");
break;
}
}
}
-
@Override
public void onSocialNetworkManagerInitialized() {
//when init SocialNetworks - get and setup login only for initialized SocialNetworks
@@ -514,19 +483,20 @@ To continue you need
}
}
```
-
-
-9. Request login for every social networks
+ 
+
+##Запросы к Социальным сетям
+
+1. Запросим логин в каждой социальной сети
```java
SocialNetwork socialNetwork = mSocialNetworkManager.getSocialNetwork(networkId);
- socialNetwork.requestLogin();
-
+ socialNetwork.requestLogin();
```
- Full `OnClickListener` loginClick with checking connection of social network and if social network connected - show `ProfileFragment.java` on click
+ Весь исходный код `OnClickListener` loginClick с проверкой состояния подключения к социальной сети, если социальная сеть подключена - откроем `ProfileFragment.java`
- **MainFragment.java**(full [source](https://github.com/gorbin/ASNETutorial/blob/master/app/src/main/java/com/github/gorbin/asnetutorial/MainFragment.java))
+ **MainFragment.java**([код](https://github.com/gorbin/ASNETutorial/blob/ru/app/src/main/java/com/github/gorbin/asnetutorial/MainFragment.java))
```java
private View.OnClickListener loginClick = new View.OnClickListener() {
@@ -534,21 +504,18 @@ To continue you need
public void onClick(View view) {
int networkId = 0;
switch (view.getId()){
- case R.id.facebook:
- networkId = FACEBOOK;
- break;
- case R.id.twitter:
- networkId = TWITTER;
+ case R.id.vk:
+ networkId = VK;
break;
- case R.id.linkedin:
- networkId = LINKEDIN;
+ case R.id.ok:
+ networkId = OK;
break;
}
SocialNetwork socialNetwork = mSocialNetworkManager.getSocialNetwork(networkId);
if(!socialNetwork.isConnected()) {
if(networkId != 0) {
socialNetwork.requestLogin();
- MainActivity.showProgress(socialNetwork, "Loading social person");
+ MainActivity.showProgress("Loading social person");
} else {
Toast.makeText(getActivity(), "Wrong networkId", Toast.LENGTH_LONG).show();
}
@@ -560,36 +527,41 @@ To continue you need
```
-10. After social network login form we got callback `onLoginSuccess(int networkId)` or `onError(int networkId, String requestID, String errorMessage, Object data)` - lets show profile if login success and show Toast on error
+2. После заполнения логина или обработки логина приложением социальной сети получим `onLoginSuccess(int networkId)` или `onError(int networkId, String requestID, String errorMessage, Object data)` - выведем соответствующее сообщение
- **MainFragment.java**(full [source](https://github.com/gorbin/ASNETutorial/blob/master/app/src/main/java/com/github/gorbin/asnetutorial/MainFragment.java))
+ **MainFragment.java**([код](https://github.com/gorbin/ASNETutorial/blob/ru/app/src/main/java/com/github/gorbin/asnetutorial/MainFragment.java))
```java
@Override
public void onLoginSuccess(int networkId) {
MainActivity.hideProgress();
- startProfile(networkId);
+ Toast.makeText(getActivity(), "Login Success", Toast.LENGTH_LONG).show();
}
@Override
public void onError(int networkId, String requestID, String errorMessage, Object data) {
MainActivity.hideProgress();
Toast.makeText(getActivity(), "ERROR: " + errorMessage, Toast.LENGTH_LONG).show();
- }
+ }
+ ```
+
+3. Откроем `ProfileFragment.java` с помощью метода:
+
+ **MainFragment.java**([код](https://github.com/gorbin/ASNETutorial/blob/ru/app/src/main/java/com/github/gorbin/asnetutorial/MainFragment.java))
+ ```java
private void startProfile(int networkId){
ProfileFragment profile = ProfileFragment.newInstannce(networkId);
getActivity().getSupportFragmentManager().beginTransaction()
.addToBackStack("profile")
.replace(R.id.container, profile)
.commit();
- }
-
+ }
```
-
-11. In `ProfileFragment.java` setup get networkId from `MainFragment.java`
+
+4. В `ProfileFragment.java` получим идетификатор социальной сети из `MainFragment.java`
- **ProfileFragment.java**(full [source](https://github.com/gorbin/ASNETutorial/blob/master/app/src/main/java/com/github/gorbin/asnetutorial/ProfileFragment.java))
+ **ProfileFragment.java**([код](https://github.com/gorbin/ASNETutorial/blob/ru/app/src/main/java/com/github/gorbin/asnetutorial/ProfileFragment.java))
```java
public static ProfileFragment newInstannce(int id) {
ProfileFragment fragment = new ProfileFragment();
@@ -607,17 +579,17 @@ To continue you need
}
```
-12. Now via `networkId` we can get social network and request current user profile like:
+5. Теперь с помощью `networkId` мы выберем социальную сеть и запросим данные профиля текущего пользователя следующим образом:
```java
socialNetwork = MainFragment.mSocialNetworkManager.getSocialNetwork(networkId);
socialNetwork.setOnRequestCurrentPersonCompleteListener(this);
socialNetwork.requestCurrentPerson();
```
- don't forget to implement `OnRequestSocialPersonCompleteListener`
-13. After compleating request we can use SocialPerson dadta to fill our profile view
+ не забудьте добавить `OnRequestSocialPersonCompleteListener`
+6. После обработки запроса мы можем использовать полученный объект `SocialPerson` для заполнения профиля пользователя в приложении, либо вывести ошибку при неудаче
- **ProfileFragment.java**(full [source](https://github.com/gorbin/ASNETutorial/blob/master/app/src/main/java/com/github/gorbin/asnetutorial/ProfileFragment.java))
+ **ProfileFragment.java**(full [source](https://github.com/gorbin/ASNETutorial/blob/ru/app/src/main/java/com/github/gorbin/asnetutorial/ProfileFragment.java))
```java
@Override
public void onRequestSocialPersonSuccess(int i, SocialPerson socialPerson) {
@@ -639,39 +611,48 @@ To continue you need
}
```

-14. For logout you just need to use
-```java
-socialNetwork.logout();
-getActivity().getSupportFragmentManager().popBackStack();
-```
-15. Trully, that's all - we integrate Facebook, Twitter and Linkedin and get user profile. You can add other social networks like Instagram or Google Plus just adding dependency for them and adding them to `SocialNetworkManager` like in step 8:
+7. Для выхода из социальной сети необходимо использовать метод `logout()`
+ ```java
+ socialNetwork.logout();
+ getActivity().getSupportFragmentManager().popBackStack();
+ ```
+8. И, честно говоря, это все - добавили ВК и Одноклассники в приложение. Аналогично вы можете добавить и другие социальные сети Facebook, Twitter, Linkedin, Instagram или Google Plus лишь добавив соответствующую зависимость и добавив их в `SocialNetworkManager` как в шаге 8:
```java
+ FacebookSocialNetwork fbNetwork = new FacebookSocialNetwork(this, fbScope);
+ mSocialNetworkManager.addSocialNetwork(fbNetwork);
+
+ TwitterSocialNetwork twNetwork = new TwitterSocialNetwork(this, TWITTER_CONSUMER_KEY, TWITTER_CONSUMER_SECRET);
+ mSocialNetworkManager.addSocialNetwork(twNetwork);
+
+ LinkedInSocialNetwork liNetwork = new LinkedInSocialNetwork(this, LINKEDIN_CONSUMER_KEY, LINKEDIN_CONSUMER_SECRET, linkedInScope);
+ mSocialNetworkManager.addSocialNetwork(liNetwork);
+
GooglePlusSocialNetwork gpNetwork = new GooglePlusSocialNetwork(this);
mSocialNetworkManager.addSocialNetwork(gpNetwork);
-
- InstagramSocialNetwork instagramNetwork = new InstagramSocialNetwork(this, INSTAGRAM_CLIENT_KEY, INSTAGRAM_CLIENT_SECRET, instagramScope);
+
+ InstagramSocialNetwork instagramNetwork = new InstagramSocialNetwork(this, INSTAGRAM_CLIENT_KEY, INSTAGRAM_CLIENT_SECRET, instagramScope);
mSocialNetworkManager.addSocialNetwork(instagramNetwork);
```
- And of course you can use any other request which we use bellow for them
+ И конечно же вы можете использовать выше описанные методы для раобты с ними
-14. In this tutorial we make some more requests **Share link** and **Get user friendslist**
+9. Но давайте разберем еще несколько запросов **Share link** и **Get user friendslist**
- Let's **share** simple link via social network:
- * Setup share button
+ Давайте **поделимся ссылкой** с помощью социальной сети:
+ * Настройим кнопку
```java
share = (Button) rootView.findViewById(R.id.share);
share.setOnClickListener(shareClick);
```
- * To share we neet fill bundle and just request post link
+ * Для отправки ссылки на стену пользователя нам необходимо ее передать в Bundle
```java
Bundle postParams = new Bundle();
postParams.putString(SocialNetwork.BUNDLE_LINK, link);
socialNetwork.requestPostLink(postParams, message, postingComplete);
```
- * And of course some actions to callback
+ * И конечно же обработать ответы
```java
private OnPostingCompleteListener postingComplete = new OnPostingCompleteListener() {
@@ -686,64 +667,49 @@ getActivity().getSupportFragmentManager().popBackStack();
}
};
```
- * So `OnClickListener` shareClick is
+ * Итак в `OnClickListener shareClick` покажем пользователю простой диалог в котором спросим, хочет ли он расшарить ссылку, и если да, отправим ее
- **ProfileFragment.java**(full [source](https://github.com/gorbin/ASNETutorial/blob/master/app/src/main/java/com/github/gorbin/asnetutorial/ProfileFragment.java))
+ **ProfileFragment.java**(full [source](https://github.com/gorbin/ASNETutorial/blob/ru/app/src/main/java/com/github/gorbin/asnetutorial/ProfileFragment.java))
```java
private View.OnClickListener shareClick = new View.OnClickListener() {
- @Override
- public void onClick(View view) {
- AlertDialog.Builder ad = alertDialogInit("Would you like to post Link:", link);
- ad.setPositiveButton("Post link", new DialogInterface.OnClickListener() {
- public void onClick(DialogInterface dialog, int id) {
- if(networkId != MainFragment.TWITTER){
- Bundle postParams = new Bundle();
- postParams.putString(SocialNetwork.BUNDLE_LINK, link);
- socialNetwork.requestPostLink(postParams, message, postingComplete);
- } else {
- socialNetwork.requestPostMessage(message + " " + link, postingComplete);
- }
- }
- });
- ad.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
- @Override
- public void onClick(DialogInterface dialog, int i) {
- dialog.cancel();
- }
- });
- ad.setOnCancelListener(new DialogInterface.OnCancelListener() {
- public void onCancel(DialogInterface dialog) {
- dialog.cancel();
- }
- });
- ad.create().show();
- }
- };
-
- private AlertDialog.Builder alertDialogInit(String title, String message){
- AlertDialog.Builder ad = new AlertDialog.Builder(getActivity());
- ad.setTitle(title);
- ad.setMessage(message);
- ad.setCancelable(true);
- return ad;
+ @Override
+ public void onClick(View view) {
+ AlertDialog.Builder ad = alertDialogInit("Would you like to post Link:", link);
+ ad.setPositiveButton("Post link", new DialogInterface.OnClickListener() {
+ public void onClick(DialogInterface dialog, int id) {
+ Bundle postParams = new Bundle();
+ postParams.putString(SocialNetwork.BUNDLE_LINK, link);
+ socialNetwork.requestPostLink(postParams, message, postingComplete);
+ }
+ });
+ ad.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
+ @Override
+ public void onClick(DialogInterface dialog, int i) {
+ dialog.cancel();
+ }
+ });
+ ad.setOnCancelListener(new DialogInterface.OnCancelListener() {
+ public void onCancel(DialogInterface dialog) {
+ dialog.cancel();
+ }
+ });
+ ad.create().show();
}
+ };
```

- Here we make standart alert dialog to notify user that we want to share link and in PositiveButton we check if it is not Twitter(there are no method in twitter api to post link, but we can post message as message + link)
-
- Let's get **friendslist** via social network:
- * Get social network id
- * Get `SocialNetwork` from Id and request get freinds
+ Теперь выведем **список друзей** пользователя:
+ * Получим `SocialNetwork` из идентификатора социальной сети запросим список друзей
```java
SocialNetwork socialNetwork = MainFragment.mSocialNetworkManager.getSocialNetwork(networkId);
socialNetwork.setOnRequestGetFriendsCompleteListener(this);
socialNetwork.requestGetFriends();
```
- don't forget to implement `OnRequestGetFriendsCompleteListener`
- * Get response
+ не забудьте добавить `OnRequestGetFriendsCompleteListener`
+ * Обработаем ответ
```java
@Override
@@ -767,17 +733,22 @@ getActivity().getSupportFragmentManager().popBackStack();

- More detailed you can read in [**FriendsFragment.java**](https://github.com/gorbin/ASNETutorial/blob/master/app/src/main/java/com/github/gorbin/asnetutorial/FriendsFragment.java)
+ Подробнее вы можете изучить в [**FriendsFragment.java**](https://github.com/gorbin/ASNETutorial/blob/ru/app/src/main/java/com/github/gorbin/asnetutorial/FriendsFragment.java)
-##Conclusion
-Using ASNE modules you can easily and quicly integrate any popular social networks and use common requests in your app. Ofcourse library got [more methods](https://github.com/gorbin/ASNE/wiki/SocialNetwork-methods) which you can use in your application. But in case if you want to use social network methods from SDK or API you can easily get accesstokens or get instancesof main object in your App
+##Итог
+Используя модули библиотеки ASNE вы легко и быстро интегрируете любую популярную социальную сеть в приложение. Конечно же в библиотеке содержится [больше методов](https://github.com/gorbin/ASNE/wiki/SocialNetwork-methods) которые возможно пригодятся в вашем приложении. А в случае необходимости использовать методы SDK вы можете получить токен или объект SDK и написать свой метод
-This is simple tutorial demom if you need more complex - [check ASNE demo app](https://github.com/gorbin/ASNE)
+Если данное приложение вам показалось простым, вы можете посмотерть реализацию всех методов - [тут](https://github.com/gorbin/ASNE)
-Source code:
+Код проекта:
+[GitHub](https://github.com/gorbin/ASNETutorial)
+[Zip](https://github.com/gorbin/ASNETutorial/archive/master.zip)
+
+Статья по подключению Facebook, Twitter and LinkedIn на [codeproject.com](http://www.codeproject.com/Articles/815900/Android-social-network-integration)
-[GitHub](https://github.com/gorbin/ASNETutorial)
+В данный момент библиотека дорабатывается, и я буду рад вашим советам или помощи в разработке.
-[Zip](https://github.com/gorbin/ASNETutorial/archive/master.zip)
+В ближайшее время напишу статью по подключению социальных сетей как модулей и подключу азиатскую социальную сеть. А так же все не доходят руки до javdoc и тестов
+
diff --git a/app/app.iml b/app/app.iml
index e2170ab..8258a33 100644
--- a/app/app.iml
+++ b/app/app.iml
@@ -79,14 +79,11 @@
-
-
-
-
-
-
-
+
+
+
+
diff --git a/app/build.gradle b/app/build.gradle
index 5943160..e464dd1 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -2,7 +2,7 @@ apply plugin: 'com.android.application'
android {
compileSdkVersion 19
- buildToolsVersion "20.0.0"
+ buildToolsVersion '20.0.0'
defaultConfig {
applicationId "com.github.gorbin.asnetutorial"
@@ -22,7 +22,6 @@ android {
dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
compile 'com.android.support:appcompat-v7:20.0.0'
- compile 'com.github.asne:asne-facebook:0.2.1'
- compile 'com.github.asne:asne-linkedin:0.2.1'
- compile 'com.github.asne:asne-twitter:0.2.1'
+ compile 'com.github.asne:asne-vk:0.3.1'
+ compile 'com.github.asne:asne-odnoklassniki:0.3.1'
}
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 6e5ca8c..fd3a992 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -19,9 +19,21 @@
-
+
+
+
+
+
+
+
+
+
+
diff --git a/app/src/main/java/com/github/gorbin/asnetutorial/FriendsListAdapter.java b/app/src/main/java/com/github/gorbin/asnetutorial/FriendsListAdapter.java
index a02ec42..1800de6 100644
--- a/app/src/main/java/com/github/gorbin/asnetutorial/FriendsListAdapter.java
+++ b/app/src/main/java/com/github/gorbin/asnetutorial/FriendsListAdapter.java
@@ -9,6 +9,8 @@
import android.widget.TextView;
import com.github.gorbin.asne.core.persons.SocialPerson;
+import com.github.gorbin.asne.odnoklassniki.OkSocialNetwork;
+import com.github.gorbin.asne.vk.VkSocialNetwork;
import com.squareup.picasso.Picasso;
import java.util.ArrayList;
@@ -73,17 +75,13 @@ public View getView(int position, View convertView, ViewGroup parent) {
private void colorRow(int networkId){
int color = context.getResources().getColor(R.color.dark);
switch (networkId) {
- case 1:
- color = context.getResources().getColor(R.color.twitter);
- image = R.drawable.twitter_user;
+ case VkSocialNetwork.ID:
+ color = context.getResources().getColor(R.color.vk);
+ image = R.drawable.vk_user;
break;
- case 2:
- color = context.getResources().getColor(R.color.linkedin);
- image = R.drawable.linkedin_user;
- break;
- case 4:
- color = context.getResources().getColor(R.color.facebook);
- image = R.drawable.com_facebook_profile_picture_blank_square;
+ case OkSocialNetwork.ID:
+ color = context.getResources().getColor(R.color.ok);
+ image = R.drawable.ok_user;
break;
}
holder.label.setTextColor(color);
diff --git a/app/src/main/java/com/github/gorbin/asnetutorial/MainFragment.java b/app/src/main/java/com/github/gorbin/asnetutorial/MainFragment.java
index c6447d8..e850990 100644
--- a/app/src/main/java/com/github/gorbin/asnetutorial/MainFragment.java
+++ b/app/src/main/java/com/github/gorbin/asnetutorial/MainFragment.java
@@ -11,12 +11,12 @@
import com.github.gorbin.asne.core.SocialNetwork;
import com.github.gorbin.asne.core.SocialNetworkManager;
import com.github.gorbin.asne.core.listener.OnLoginCompleteListener;
-import com.github.gorbin.asne.facebook.FacebookSocialNetwork;
-import com.github.gorbin.asne.linkedin.LinkedInSocialNetwork;
-import com.github.gorbin.asne.twitter.TwitterSocialNetwork;
+import com.github.gorbin.asne.odnoklassniki.OkSocialNetwork;
+import com.github.gorbin.asne.vk.VkSocialNetwork;
+import com.vk.sdk.VKScope;
+
+import ru.ok.android.sdk.util.OkScope;
-import java.util.ArrayList;
-import java.util.Arrays;
import java.util.List;
public class MainFragment extends Fragment implements SocialNetworkManager.OnInitializationCompleteListener, OnLoginCompleteListener {
@@ -31,12 +31,8 @@ public class MainFragment extends Fragment implements SocialNetworkManager.OnIni
* 6 - Odnoklassniki
* 7 - Instagram
*/
- public static final int TWITTER = 1;
- public static final int LINKEDIN = 2;
- public static final int FACEBOOK = 4;
- private Button facebook;
- private Button twitter;
- private Button linkedin;
+ private Button vk;
+ private Button ok;
public MainFragment() {
}
@@ -47,23 +43,28 @@ public View onCreateView(LayoutInflater inflater, ViewGroup container,
View rootView = inflater.inflate(R.layout.main_fragment, container, false);
((MainActivity)getActivity()).getSupportActionBar().setTitle(R.string.app_name);
// init buttons and set Listener
- facebook = (Button) rootView.findViewById(R.id.facebook);
- facebook.setOnClickListener(loginClick);
- twitter = (Button) rootView.findViewById(R.id.twitter);
- twitter.setOnClickListener(loginClick);
- linkedin = (Button) rootView.findViewById(R.id.linkedin);
- linkedin.setOnClickListener(loginClick);
+ vk = (Button) rootView.findViewById(R.id.vk);
+ vk.setOnClickListener(loginClick);
+ ok = (Button) rootView.findViewById(R.id.ok);
+ ok.setOnClickListener(loginClick);
//Get Keys for initiate SocialNetworks
- String TWITTER_CONSUMER_KEY = getActivity().getString(R.string.twitter_consumer_key);
- String TWITTER_CONSUMER_SECRET = getActivity().getString(R.string.twitter_consumer_secret);
- String LINKEDIN_CONSUMER_KEY = getActivity().getString(R.string.linkedin_consumer_key);
- String LINKEDIN_CONSUMER_SECRET = getActivity().getString(R.string.linkedin_consumer_secret);
+ String VK_KEY = getActivity().getString(R.string.vk_app_id);
+ String OK_APP_ID = getActivity().getString(R.string.ok_app_id);
+ String OK_PUBLIC_KEY = getActivity().getString(R.string.ok_public_key);
+ String OK_SECRET_KEY = getActivity().getString(R.string.ok_secret_key);
//Chose permissions
- ArrayList fbScope = new ArrayList();
- fbScope.addAll(Arrays.asList("public_profile, email, user_friends"));
- String linkedInScope = "r_basicprofile+rw_nus+r_network+w_messages";
+ String[] okScope = new String[] {
+ OkScope.VALUABLE_ACCESS
+ };
+ String[] vkScope = new String[] {
+ VKScope.FRIENDS,
+ VKScope.WALL,
+ VKScope.PHOTOS,
+ VKScope.NOHTTPS,
+ VKScope.STATUS,
+ };
//Use manager to manage SocialNetworks
mSocialNetworkManager = (SocialNetworkManager) getFragmentManager().findFragmentByTag(MainActivity.SOCIAL_NETWORK_TAG);
@@ -72,17 +73,13 @@ public View onCreateView(LayoutInflater inflater, ViewGroup container,
if (mSocialNetworkManager == null) {
mSocialNetworkManager = new SocialNetworkManager();
- //Init and add to manager FacebookSocialNetwork
- FacebookSocialNetwork fbNetwork = new FacebookSocialNetwork(this, fbScope);
- mSocialNetworkManager.addSocialNetwork(fbNetwork);
-
- //Init and add to manager TwitterSocialNetwork
- TwitterSocialNetwork twNetwork = new TwitterSocialNetwork(this, TWITTER_CONSUMER_KEY, TWITTER_CONSUMER_SECRET);
- mSocialNetworkManager.addSocialNetwork(twNetwork);
+ //Init and add to manager VkSocialNetwork
+ VkSocialNetwork vkNetwork = new VkSocialNetwork(this, VK_KEY, vkScope);
+ mSocialNetworkManager.addSocialNetwork(vkNetwork);
- //Init and add to manager LinkedInSocialNetwork
- LinkedInSocialNetwork liNetwork = new LinkedInSocialNetwork(this, LINKEDIN_CONSUMER_KEY, LINKEDIN_CONSUMER_SECRET, linkedInScope);
- mSocialNetworkManager.addSocialNetwork(liNetwork);
+ //Init and add to manager OkSocialNetwork
+ OkSocialNetwork okNetwork = new OkSocialNetwork(this, OK_APP_ID, OK_PUBLIC_KEY, OK_SECRET_KEY, okScope);
+ mSocialNetworkManager.addSocialNetwork(okNetwork);
//Initiate every network from mSocialNetworkManager
getFragmentManager().beginTransaction().add(mSocialNetworkManager, MainActivity.SOCIAL_NETWORK_TAG).commit();
@@ -103,14 +100,11 @@ public View onCreateView(LayoutInflater inflater, ViewGroup container,
private void initSocialNetwork(SocialNetwork socialNetwork){
if(socialNetwork.isConnected()){
switch (socialNetwork.getID()){
- case FACEBOOK:
- facebook.setText("Show Facebook profile");
+ case VkSocialNetwork.ID:
+ vk.setText("Show VK profile");
break;
- case TWITTER:
- twitter.setText("Show Twitter profile");
- break;
- case LINKEDIN:
- linkedin.setText("Show LinkedIn profile");
+ case OkSocialNetwork.ID:
+ ok.setText("Show Odnoklassniki profile");
break;
}
}
@@ -131,14 +125,11 @@ public void onSocialNetworkManagerInitialized() {
public void onClick(View view) {
int networkId = 0;
switch (view.getId()){
- case R.id.facebook:
- networkId = FACEBOOK;
- break;
- case R.id.twitter:
- networkId = TWITTER;
+ case R.id.vk:
+ networkId = VkSocialNetwork.ID;
break;
- case R.id.linkedin:
- networkId = LINKEDIN;
+ case R.id.ok:
+ networkId = OkSocialNetwork.ID;
break;
}
SocialNetwork socialNetwork = mSocialNetworkManager.getSocialNetwork(networkId);
@@ -158,7 +149,7 @@ public void onClick(View view) {
@Override
public void onLoginSuccess(int networkId) {
MainActivity.hideProgress();
- startProfile(networkId);
+// startProfile(networkId);
}
@Override
@@ -173,5 +164,6 @@ private void startProfile(int networkId){
.addToBackStack("profile")
.replace(R.id.container, profile)
.commit();
+// .commitAllowingStateLoss();
}
}
diff --git a/app/src/main/java/com/github/gorbin/asnetutorial/ProfileFragment.java b/app/src/main/java/com/github/gorbin/asnetutorial/ProfileFragment.java
index cb666da..6749915 100644
--- a/app/src/main/java/com/github/gorbin/asnetutorial/ProfileFragment.java
+++ b/app/src/main/java/com/github/gorbin/asnetutorial/ProfileFragment.java
@@ -20,6 +20,8 @@
import com.github.gorbin.asne.core.listener.OnPostingCompleteListener;
import com.github.gorbin.asne.core.listener.OnRequestSocialPersonCompleteListener;
import com.github.gorbin.asne.core.persons.SocialPerson;
+import com.github.gorbin.asne.odnoklassniki.OkSocialNetwork;
+import com.github.gorbin.asne.vk.VkSocialNetwork;
import com.squareup.picasso.Picasso;
public class ProfileFragment extends Fragment implements OnRequestSocialPersonCompleteListener {
@@ -166,17 +168,13 @@ private void colorProfile(int networkId){
int color = getResources().getColor(R.color.dark);
int image = R.drawable.user;
switch (networkId) {
- case 1:
- color = getResources().getColor(R.color.twitter);
- image = R.drawable.twitter_user;
+ case VkSocialNetwork.ID:
+ color = getResources().getColor(R.color.vk);
+ image = R.drawable.vk_user;
break;
- case 2:
- color = getResources().getColor(R.color.linkedin);
- image = R.drawable.linkedin_user;
- break;
- case 4:
- color = getResources().getColor(R.color.facebook);
- image = R.drawable.com_facebook_profile_picture_blank_square;
+ case OkSocialNetwork.ID:
+ color = getResources().getColor(R.color.ok);
+ image = R.drawable.ok_user;
break;
}
frame.setBackgroundColor(color);
diff --git a/app/src/main/res/drawable/linkedin_user.png b/app/src/main/res/drawable/linkedin_user.png
deleted file mode 100644
index 79e82b7..0000000
Binary files a/app/src/main/res/drawable/linkedin_user.png and /dev/null differ
diff --git a/app/src/main/res/drawable/ok_user.png b/app/src/main/res/drawable/ok_user.png
new file mode 100644
index 0000000..e496ce2
Binary files /dev/null and b/app/src/main/res/drawable/ok_user.png differ
diff --git a/app/src/main/res/drawable/twitter_user.png b/app/src/main/res/drawable/twitter_user.png
deleted file mode 100644
index 63fb734..0000000
Binary files a/app/src/main/res/drawable/twitter_user.png and /dev/null differ
diff --git a/app/src/main/res/drawable/vk_user.png b/app/src/main/res/drawable/vk_user.png
new file mode 100644
index 0000000..79c113f
Binary files /dev/null and b/app/src/main/res/drawable/vk_user.png differ
diff --git a/app/src/main/res/layout/main_fragment.xml b/app/src/main/res/layout/main_fragment.xml
index f60ed07..64ca7ec 100644
--- a/app/src/main/res/layout/main_fragment.xml
+++ b/app/src/main/res/layout/main_fragment.xml
@@ -8,28 +8,19 @@
-
\ No newline at end of file
diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml
index 102c677..a9f5ce9 100644
--- a/app/src/main/res/values/colors.xml
+++ b/app/src/main/res/values/colors.xml
@@ -3,8 +3,7 @@
#FFCCCCCC#4b4b4b
- #3b5998
- #55ACEE
- #287bbc
+ #36638e
+ #cf6700
\ No newline at end of file
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 4d156b2..9dec199 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -2,9 +2,9 @@
ASNE-tutorial
- 312054032307399
- 8Gy3OKQMbKJ15BH0BferBNHEj
- dSUHvkbS8xCwoS6lozPAFgDtIuKhTGkRW1OYXJqxBCMgKMyDX4
- 7523ssry5qk7rl
- sFyJf0ZW1lp31aGU
+ 4542602
+
+ 1096125440
+ CBANIGFCEBABABABA
+ FF5161844C04525B64FA41A7