1. Trang chủ
  2. » Giáo Dục - Đào Tạo

báo cáo định kỳ CÁC CÔNG CỤ LẬP TRÌNH VÀ ĐĂNG KÍ FACEBOOK API

15 74 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 15
Dung lượng 185,67 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

báo cáo định kỳ ,CÁC CÔNG CỤ LẬP TRÌNH ,VÀ ĐĂNG KÍ FACEBOOK API

Trang 1

Đánh giá của cơ sở thực tập

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

Trang 2

Đánh giá của giáo viên hướng dẫn

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

Trang 3

MỤC LỤC

CHƯƠNG I: CÁC CÔNG CỤ LẬP TRÌNH VÀ ĐĂNG KÍ FACEBOOK API 4

1 Các công cụ lập trình trên Android: 4

2 Các công cụ lập trình Facebook API: 4

3 Đăng kí Facebook API: 4

a) Đăng kí App cho đề tài: 4

CHƯƠNG II: TẠO PROJECT VÀ THỰC HIỆN ỨNG DỤNG 6

1 Login và lấy Avatar: 6

Trang 4

CHƯƠNG I: CÁC CÔNG CỤ LẬP TRÌNH VÀ ĐĂNG KÍ

FACEBOOK API.

1 Các công cụ lập trình trên Android:

- Phần mềm Android Studio 1.2.2 : Tạo project và thực hiện ứng dụng trong

android

- Phần mềm Genymotion và Oracle VM VirtualBox: Tạo máy ảo Android demo ứng dụng

- JDK Phiên bản 1.7: Tạo môi trường Java

- SDK Android: Tạo môi trường Android cho Android Studio

2 Các công cụ lập trình Facebook API:

- SDK Facebook: Lấy các chức năng của Facebook API cung cấp

- Phần mềm OpenSSL : Lấy Hash key đăng kí cho App Android

3 Đăng kí Facebook API:

a) Đăng kí App cho đề tài:

+ Truy cập vào trang: https://developers.facebook.com/

+ Vào phần “My APPs” và chọn “Add a new app”, xuất hiện một bản thông báo

ta chọn Phần Android

+ Đặt tên cho đề tài

+ Điền đầy đủ thông tin cho đề tài

+ Điền Hash key cho đề tài: Có 2 cách lấy Hash key, có thể dung code hoặc dung phần mềm:

*) Code:

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

// Add code to print out the key hash

try {

PackageInfo info = getPackageManager().getPackageInfo(

"com.facebook.samples.hellofacebook",

PackageManager.GET_SIGNATURES);

Trang 5

for (Signature signature : info.signatures) {

MessageDigest md = MessageDigest.getInstance("SHA");

md.update(signature.toByteArray());

Log.d("KeyHash:", Base64.encodeToString(md.digest(),

Base64.DEFAULT));

}

} catch (NameNotFoundException e) {

} catch (NoSuchAlgorithmException e) {

}

*) Dùng phần mềm:

Vào theo địa chỉ: C:\Program Files\Java\jdk1.7.0_79\bin

Giữ phím “Shift” Và nhấn chuột phải chọn “Open command Window here” Sauk hi xuất hiện một bảng CMD ta nhập đoạn code sau:

keytool -exportcert -alias androiddebugkey -keystore "C:\Users\Hoang Duc\.android\debug.keystore" | "C:\OpenSSL\bin\openssl" sha1 -binary | "C:\ OpenSSL\bin\openssl" base64

ấn Enter và xuất hiện 1 đoạn mã đó là Hash key

Trang 6

CHƯƠNG II: TẠO PROJECT VÀ THỰC HIỆN ỨNG DỤNG

1 Login và lấy Avatar:

*) Giao diện:

Trang 10

*) Code:

Layout:

<?xml version="1.0" encoding="utf-8"?>

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent"

android:layout_height="match_parent"

android:padding="16dp">

<TextView

android:id="@+id/info"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_centerHorizontal="true"

android:layout_alignParentTop="true"

android:textSize="18sp" />

<ImageView

android:id="@+id/profile_img"

android:layout_width="200dp"

android:layout_height="200dp"

android:layout_centerHorizontal="true"

android:layout_below="@id/info"/>

<com.facebook.login.widget.LoginButton

Trang 11

android:id="@+id/login_button"

android:layout_width="wrap_content"

android:layout_height="wrap_content" android:layout_centerInParent="true" />

</RelativeLayout>

Code chính cho class:

package co.coderiver.facebooklogin_sample;

import android.content.Intent;

import android.os.Bundle;

import android.support.v7.app.ActionBarActivity; import android.widget.ImageView;

import android.widget.TextView;

import com.bumptech.glide.Glide;

import com.facebook.CallbackManager;

import com.facebook.FacebookCallback;

import com.facebook.FacebookException;

import com.facebook.FacebookSdk;

import com.facebook.Profile;

import com.facebook.login.LoginResult;

import com.facebook.login.widget.LoginButton;

Trang 12

public class MainActivity extends ActionBarActivity {

private CallbackManager callbackManager;

private TextView info;

private ImageView profileImgView;

private LoginButton loginButton;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

FacebookSdk.sdkInitialize(getApplicationContext());

callbackManager = CallbackManager.Factory.create();

setContentView(R.layout.activity_main);

info = (TextView) findViewById(R.id.info);

profileImgView = (ImageView) findViewById(R.id.profile_img); loginButton = (LoginButton) findViewById(R.id.login_button);

/*loginButton.setOnClickListener(new View.OnClickListener() { public void onClick(View arg0) {

Trang 13

doOpenChildActivity();

}

});*/

loginButton.registerCallback(callbackManager, new

FacebookCallback<LoginResult>() {

@Override

public void onSuccess(LoginResult loginResult) {

Profile profile = Profile.getCurrentProfile();

info.setText(message(profile));

String userId = loginResult.getAccessToken().getUserId();

String profileImgUrl = "https://graph.facebook.com/" + userId + "/picture? type=large";

Glide.with(MainActivity.this)

load(profileImgUrl)

into(profileImgView);

}

@Override

public void onCancel() {

info.setText("Login attempt cancelled.");

Trang 14

}

@Override

public void onError(FacebookException e) {

e.printStackTrace();

info.setText("Login attempt failed.");

}

});

}

@Override

public void onResume() {

super.onResume();

Profile profile = Profile.getCurrentProfile();

info.setText(message(profile));

}

@Override

protected void onActivityResult(int requestCode, int resultCode, Intent data) { callbackManager.onActivityResult(requestCode, resultCode, data);

}

/* private void doOpenChildActivity() {

Trang 15

Intent myIntent=new Intent(this, MainActivity2.class);

startActivity(myIntent);

}*/

private String message(Profile profile) {

StringBuilder stringBuffer = new StringBuilder();

if (profile != null) {

stringBuffer.append("Welcome ").append(profile.getName()); }

return stringBuffer.toString();

}

}

Ngày đăng: 28/09/2019, 09:45

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w