Awesome
LeoCardz Link Preview for Android
It makes a preview from an url, grabbing all the information such as title, relevant texts and images.
Visual Examples
Sample App
For a sample app, please install it from Android Link Preview on Google Play.
Requirements
- jsoup is a smart lib to get the html code.
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
-
...
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.