Create Project and Set up SDK

Make sure you have an up to date version of Android Studio. I am using version 2.2.3
Open Android Studio and create a New Project, naming it as you wish. Click Next, choose Minimum API level 17 and click Next again. Choose Empty Activity as the first activity, name it LoginActivity and click Finish.

Next, we add another blank activity to the project. Right Click the package and select New -> Activity -> Blank Activity. Leave its name as default and click Finish.

Open build.gradle (Project) and add mavenCentral() to both repository sections. Then open build.gradle (Module) and add the SDK library by adding this line to dependencies:

compile 'com.facebook.android:facebook-android-sdk:4.18.0'

Open strings.xml and add this line

<string name="facebook_app_id">{Your App ID here}</string>

Make sure you have given the Internet permission to your app by adding:

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

in your AndroidManifest.xml file.
In the same file, inside the <application></application> tags, add:

This callback has three Overriden methods: onSuccess(), onCancel() and onError. Each time the user logs in, only one of the methods will be called.
Inside the onSuccess() method, a new GraphRequest will be created. This request will take two arguments: the login result access token (loginResult.getAccessToken()) and a new GraphRequest with a JSONObjectCallback.
If the request is successful, a new Activity will be started

The GraphRequest response would be of type JSONObject and it will contain the required fields.
Before the onCreate() method closing tag, we need to add the loginButton read permissions.

Getting and Sharing data to Facebook

After the user has logged in, a new Intent will be started. The next activity is MainActivity class.
Be sure that your public class MainActivty implements View.OnClickListener.
Its layout’s xml code is:

The method above shares a link content. You can use the similar methods like SharePhotoContent, ShareVideoContent, ShareFeedContent, ShareMediaContent etc. The content should always be shown inside the ShareDialog.

In order to get the user timeline posts, we need to make a GraphRequest:

Conclusion

The Facebook Graph API is much more wider than that. This was just a simple use of that, purposing to show how it is implemented in Android.
If you have any questions please let me know by comments below.