связывание пользователей Facebook с пользователями в локальной базе данных

Для тех, кому нужен пример прямого кода в Java 7:

Dog класс:

package com.mypackage.bean;

public class Dog {
    private String name;
    private int age;

    public Dog() {
        // empty constructor
    }

    public Dog(String name, int age) {
        this.name = name;
        this.age = age;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    public void printDog(String name, int age) {
        System.out.println(name + " is " + age + " year(s) old.");
    }
}

ReflectionDemo класс:

package com.mypackage.demo;

import java.lang.reflect.*;

public class ReflectionDemo {

    public static void main(String[] args) throws Exception {
        String dogClassName = "com.mypackage.bean.Dog";
        Class dogClass = Class.forName(dogClassName); // convert string classname to class
        Object dog = dogClass.newInstance(); // invoke empty constructor

        String methodName = "";

        // with single parameter, return void
        methodName = "setName";
        Method setNameMethod = dog.getClass().getMethod(methodName, String.class);
        setNameMethod.invoke(dog, "Mishka"); // pass arg

        // without parameters, return string
        methodName = "getName";
        Method getNameMethod = dog.getClass().getMethod(methodName);
        String name = (String) getNameMethod.invoke(dog); // explicit cast

        // with multiple parameters
        methodName = "printDog";
        Class[] paramTypes = {String.class, int.class};
        Method printDogMethod = dog.getClass().getMethod(methodName, paramTypes);
        printDogMethod.invoke(dog, name, 3); // pass args
    }
}

Выход: Mishka is 3 year(s) old.


Вы можете вызвать конструктор с параметрами следующим образом:

Constructor dogConstructor = dogClass.getConstructor(String.class, int.class);
Object dog = dogConstructor.newInstance("Hachiko", 10);

В качестве альтернативы вы можете удалить

String dogClassName = "com.mypackage.bean.Dog";
Class dogClass = Class.forName(dogClassName);
Object dog = dogClass.newInstance();

и do

Dog dog = new Dog();

Method method = Dog.class.getMethod(methodName, ...);
method.invoke(dog, ...);

Предлагаемое чтение: Создание новых экземпляров класса

0
задан luschn 11 March 2019 в 08:17
поделиться

1 ответ

Для идентификации возвращающихся пользователей необходимо использовать userID. Он будет уникальным и не изменится для этого конкретного приложения.

Для отображения пользователей в разных приложениях: https://developers.facebook.com/docs/apps/for-business/

.
0
ответ дан luschn 11 March 2019 в 08:17
поделиться
Другие вопросы по тегам:

Похожие вопросы: