Khóa học lập trình Android cơ bản

Serial tutorial hướng dẫn lập trình Android cơ bản

Tích hợp mạng xã hội - Tạo app Facebook Tích hợp mạng xã hội - Tạo app Facebook Tích hợp mạng xã hội - Tạo app Facebook Tích hợp mạng xã hội - Tạo app Facebook Tích hợp mạng xã hội - Tạo app Facebook 5/5 (68 reviews)

Tích hợp mạng xã hội - Tạo app Facebook

Đã đăng 2016-11-08 16:07:05 bởi Kteam
2 bình luận 10570 lượt xem
Tích hợp mạng xã hội - Tạo app Facebook 5 /5 stars (1 reviews)
 

Dẫn nhập

Ở các bài học trước, chúng ta đã cùng nhau TÌM HIỂU VỀ SQLITE, một trong những phương thức lưu trữ dữ liệu trong hệ điều hành Android. Cũng như viết một ỨNG DỤNG để tìm hiểu những gì SQLite có thể làm.

Ở bài học này, chúng ta cùng tìm hiểu về cách tích hợp mạng xã hội vào ứng dụng Android, cụ thể ở đây là Facebook. Có nhiều lý do để chúng ta làm việc này, mời các bạn đọc tiếp sẽ rõ.


Nội dung

Để đọc hiểu bài này tốt nhất các bạn nên có kiến thức cơ bản về các phần:

Trong bài học này, chúng ta sẽ cùng tìm hiểu các vấn đề:

  • Tạo key debug, tạo app Facebook.

Tạo key debug, tạo app Facebook

 Từ thời kỳ đầu của Android, thật ra cái app Facebook là một app hybrid viết bằng HTML5. Sau đó người ta nhận thấy rằng trải nghiệm người dùng bằng hybrid thời đó quá tệ, nên Facebook đã chuyển dần sang Native, cũng như cung cấp một bộ SDK tử tế cho các lập trình viên thuần Android.

Vậy việc này có tác dụng gì?

  • Lấy thông tin của người dùng Facebook một cách hợp lệ.

  • Sử dụng các thông tin lấy được để phục vụ cho app (như login / xác thực, phân tích,…).

Kỳ này chúng ta thực hành là chính, và có hơi khác một chút so với các ví dụ khác. Chúng ta không code ngay, mà cần đăng ký “app” – một kiểu giấy phép đăng ký cài đặt ứng dụng Facebook trước.

Bước 1: Các bạn truy cập vào trang:

https://developers.facebook.com/docs/android

Giao diện của trang kiểu kiểu như sau:

kteam

  • Đưa chuột lên avatar của bạn, sau đó nhấn Add a new app như hình trên.

Nếu bạn chưa từng làm việc với Facebook Developer, thì chắc là sau khi đăng nhập, bạn phải đăng ký tài khoản Facebook developer. Lúc đó trang web sẽ có dạng như này:

kteam

Click vào nút Register và chuyển công tắc sang Yes > Register:

kteam

Sau đó Facebook sẽ hiện thông báo:

You have successfully registered as a Facebook Developer. You can now add Facebook into your app or website.

Và thế là sẵn sàng để tạo App, như hình đầu tiên.

Bước 2: Sau khi nhấn nút Add a new app thì sẽ có một cửa sổ như thế này:

kteam

  • Display Name: Tên app của bạn.
  • Contact Email: Email liên lạc với chủ app (là bạn).
  • Category: Danh mục, phải chọn một cái, ở đây mình chọn tạm là “Education” (giáo dục).

Sau đó nhấn Create App ID. Trình duyệt sẽ chuyển sang trang như hình, nhấn vào nút Get Started ở phần Facebook Login:

kteam

Hoặc trong trường hợp không hiện ra mục như ở trên, các bạn nhấn vào mục Dashboard ở cột trái > Chọn Choose Platform:

kteam

Chọn platform Android như hình:

kteam

Trình duyệt sẽ hiện như này. Thật ra bây giờ chỉ cần làm theo hướng dẫn, nhưng mình sẽ giải thích từng bước nhé. Giữ nguyên trang này, chúng ta sẽ làm theo các bước hướng dẫn trong đó.

kteam

Bước 3: Tạo project Android có tên là FacebookLoginExample:

kteam

Thêm dòng mavenCentral() ở chỗ bôi màu trong file build.gradle ở ngoài:


// Top-level build file where you can add configuration options common to all sub-projects/modules.

buildscript {
    repositories {
        jcenter()
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:2.2.2'

        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

allprojects {
    repositories {
        jcenter()
    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}

Sau đó trong file app/build.gradle, các bạn thêm dependency cho nó, như này:


apply plugin: 'com.android.application'

android {
    compileSdkVersion 24
    buildToolsVersion "25.0.0"
    defaultConfig {
        applicationId "com.howkteam.facebookloginexample"
        minSdkVersion 15
        targetSdkVersion 24
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
        exclude group: 'com.android.support', module: 'support-annotations'
    })
    compile 'com.android.support:appcompat-v7:24.2.1'

    compile 'com.facebook.android:facebook-android-sdk:[4,5)'
   
    testCompile 'junit:junit:4.12'
}

 

Rồi chọn Sync Now hoặc File > Synchronize để đồng bộ dependency.

Lưu ý là minSdkVersion phải là 15 trở lên.

Bước 4: Chỉnh sửa file /app/src/main/res/values/strings.xml thành như sau. Thêm dòng sau:

kteam

​​​​​​​<resources>
    <string name="app_name">FacebookLoginExample</string>
    <string name="facebook_app_id">APP_ID</string>
</resources>
  • Với APP_ID là cái số hiệu App ở hình cuối bước 2.

Bước 5: Chỉnh sửa file Android Manifest: Thêm permission INTERNET và dòng meta như sau:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
          package="com.howkteam.facebookloginexample">

    <uses-permission android:name="android.permission.INTERNET"/>

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        <meta-data android:name="com.facebook.sdk.ApplicationId" android:value="@string/facebook_app_id"/>
        <activity android:name=".MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN"/>

                <category android:name="android.intent.category.LAUNCHER"/>
            </intent-filter>
        </activity>
    </application>

</manifest>

 

Cụ thể tại 2 vị trí

 <uses-permission android:name="android.permission.INTERNET"/>
<meta-data android:name="com.facebook.sdk.ApplicationId" android:value="@string/facebook_app_id"/>

Bước 6: Quay lại trang setup Facebook app trên trình duyệt, kéo xuống dưới cùng, điền thông tin như hình:

kteam

Với dòng package name là tên package của app viết theo dạng domain ngược, các bạn xem tên package này trong file AndroidManifest.xml là thấy. Trong ví dụ này thì nó nằm ở:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"

          package="com.howkteam.facebookloginexample">
  • Sau đó nhấn Next. Chọn Use Package Name nếu được hỏi:

kteam

Bước 7: Lúc này bạn cần tìm file keytool.exe của Java. Tùy theo phiên bản Java cài đặt mà nó nằm ở thư mục khác nhau trên máy bạn, nhưng đại khái đường dẫn dạng như này:

kteam

  • Gõ “cmd” vào thanh địa chỉ:

kteam

Gõ lệnh sau vào cửa sổ dòng lệnh:

keytool -exportcert -alias androiddebugkey -keystore %HOMEPATH%\.android\debug.keystore | openssl sha1 -binary | openssl base64
Hoặc theo format sau:

keytool -exportcert -alias androiddebugkey -keystore "D:\SSL.android\debug.keystore" | "D:\SSL\bin \openssl.exe" sha1 -binary | "D:\SSL\bin\openssl.exe" base64

“D:\SSL” là đường dẫn của OpenSSL được download và giải nén ra. Link download:

https://code.google.com/archive/p/openssl-for-windows/downloads

kteam

  • Chương trình sẽ hỏi bạn password, password là android (viết thường).

Lúc này ta sẽ được một đoạn mã ngộ ngộ dạng như:

ZS2mYg5y732HzmnGqveAA5sAJIg=

kteam

Copy đoạn mã trên vào ô Key Hashes:

kteam

Nhấn Next, và thế là xong, chúng ta đã hoàn thành được phần tạo ứng dụng Facebook và Sẵn sàng tích hợp vào ứng dụng:

kteam


Kết luận

Qua bài này chúng ta đã nắm được cách khởi tạo app Facebook và phương thức cài đặt dependency Facebook SDK vào ứng dụng.

Bài sau chúng ta sẽ tìm hiểu về CÁCH CÀI ĐẶT FACEBOOK LOGIN TỪ FACEBOOK SDK.

Cảm ơn các bạn đã theo dõi bài viết. Hãy để lại bình luận hoặc góp ý của mình để phát triển bài viết tốt hơn. Đừng quên “Luyện tập – Thử thách – Không ngại khó”.


Tài liệu 

Nhằm phục vụ mục đích học tập Offline của cộng đồng, Kteam hỗ trợ tính năng lưu trữ nội dung bài học Tích hợp mạng xã hội - Tạo app Facebook dưới dạng file PDF trong link bên dưới.

Ngoài ra, bạn cũng có thể tìm thấy các tài liệu được đóng góp từ cộng đồng ở mục TÀI LIỆU trên thư viện Howkteam.com

Đừng quên like hoặc +1 Google để ủng hộ Kteam và tác giả nhé! 


Thảo luận

Nếu bạn có bất kỳ khó khăn hay thắc mắc gì về khóa học, đừng ngần ngại đặt câu hỏi trong phần BÌNH LUẬN bên dưới hoặc trong mục HỎI & ĐÁP trên thư viện Howkteam.com để nhận được sự hỗ trợ từ cộng đồng. 

 

Chia sẻ:
Thảo luận Hỏi và đáp Báo lỗi bài viết
Hủy bỏ   hoặc  
Tích hợp mạng xã hội - Tạo app Facebook
vuongpvph04467 2017-01-05 08:23:03
anh ơi, sao video hướng dẫn của anh khác với hướng dẫn của facebook nhỉ, em muốn làm theo các bước của facebook đưa ra cho nó chuẩn, nhưng mà nó hướng dẫn khó hiểu quá
0 bình chọn
Reply
View all 1 comments
Kteam - Howkteam Free Education
K9 2017-01-06 10:38:13
đâu phải làm theo là dc e. theo cách này còn dễ hơn.
0 bình chọn
Reply
Hủy bỏ   hoặc  
Hủy bỏ   hoặc  

Chiến dịch

Kteam - Howkteam Free Education