Home

Awesome

LeoCardz Link Preview for Android

Android Arsenal

It makes a preview from an url, grabbing all the information such as title, relevant texts and images.

Visual Examples

Preview

Sample App

For a sample app, please install it from Android Link Preview on Google Play.

Requirements

Installation

gradle

Simply add the repository to your build.gradle file:

repositories {
	jcenter()
	maven { url 'https://github.com/leonardocardoso/mvn-repo/raw/master/maven-deploy' }
}

And you can use the artifacts like this:

dependencies {
    compile 'org.jsoup:jsoup:1.8.3' // required
	compile 'com.leocardz:link-preview:2.0.0@aar'
	// ...
}

ProGuard

If you use ProGuard, it is advised that you keep the jsoup dependencies by adding

-keeppackagenames org.jsoup.nodes

to your ProGuard rules file.

Usage

Instantiating

import com.leocardz.link.preview.library.TextCrawler;
// ...
// Create an instance of the TextCrawler to parse your url into a preview.
TextCrawler textCrawler = new TextCrawler();

// ..

// Create the callbacks to handle pre and post exicution of the preview generation.
LinkPreviewCallback linkPreviewCallback = new LinkPreviewCallback() {
    @Override
    public void onPre() {
        // Any work that needs to be done before generating the preview. Usually inflate 
        // your custom preview layout here.
    }

    @Override
    public void onPos(SourceContent sourceContent, boolean b) {
        // Populate your preview layout with the results of sourceContent.
    }
};

Generate Preview

textCrawler.makePreview( linkPreviewCallback, url);

Cancel unfinished tasks when views are destroied.

If you are using Android Link Preview inside of an Activity, it is important to cancel unfinished Preview activites at the end of the Activity's lifecycle.

 @Override
    protected void onDestroy() {
        super.onDestroy();
        textCrawler.cancel();
    }

Apps using Android Link Preview

  1. Unshorten It

  2. ...

Information and Contact

Developed by @LeonardoCardoso.

Contact me either by Twitter @leocardz or emailing me to contact@leocardz.com.

Related Projects

License

Copyright 2013 Leonardo Cardoso

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

   http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.