• This repository has been archived on 02/Dec/2019
  • Stars
    star
    421
  • Rank 99,525 (Top 3 %)
  • Language
    Java
  • License
    Apache License 2.0
  • Created almost 11 years ago
  • Updated over 4 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

It makes a preview from an url, grabbing all the information such as title, relevant texts and images. This a version for Android of my web link preview https://github.com/LeonardoCardoso/Link-Preview

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

  • 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

  1. Unshorten It

  2. ...

Information and Contact

Developed by @LeonardoCardoso.

Contact me either by Twitter @leocardz or emailing me to [email protected].

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.

More Repositories

1

SwiftLinkPreview

It makes a preview from an URL, grabbing all the information such as title, relevant texts and images.
Swift
1,360
star
2

NFDownloadButton

Revamped Download Button. It's kinda a reverse engineering of Netflix's app download button.
Swift
430
star
3

SectionedSlider

iOS 11 Control Center Slider
Swift
365
star
4

AudioIndicatorBars

AIB indicates for your app users which audio is playing. Just like the Podcasts app.
Swift
287
star
5

Link-Preview

AngularJS + Bootstrap Version of https://github.com/LeonardoCardoso/Facebook-Link-Preview
PHP
164
star
6

Facebook-Link-Preview

Go to >> https://github.com/LeonardoCardoso/Link-Preview
PHP
132
star
7

Animated-Expanding-ListView

Animated Expanding ListView provides a fancy animation on expanding or collapsing the content of a listview item.
Java
132
star
8

SendIndicator

Yet another task indicator
Swift
62
star
9

InitMacro

Swift
34
star
10

BLE

Swift
27
star
11

gsrd

GitHub Starred Repos Downloader
Ruby
26
star
12

Colorblinding

An extension for Google Chrome (and Chromium) that simulates the website as a color vision impaired person would see.
JavaScript
25
star
13

Multitouch-Test

A simple app to test the touch of your device. It measures and shows how accurate is the touch of your device, how many touches it supports, and there are some options to personalize the exhibition.
Java
17
star
14

BedtimeClock

Swift
14
star
15

RevealTextField

Simple extension to add a reveal button to your boring UITextField
Swift
14
star
16

Sorting-Algorithms

Quick set of sorting algorithms using Java.
Java
11
star
17

UILabelSearchHighlighter

Swift
9
star
18

Multiple-Layout-ListView

Multiple Layout ListView
Java
7
star
19

Unshorten-It

A simple, beautiful, fast and useful url unshortener with link preview.
Java
7
star
20

UITableViewFiltering

Swift
6
star
21

Android-Audio-Recorder

A simple Android app to record an audio.
Java
6
star
22

Silence-Please

Control the ambient sound by a sound level limit. When it is exceeded, the "Silence Please" will alert!
Java
5
star
23

Genetic-Algorithm

This project is about the functionality of a genetic algorithm.
Java
5
star
24

GitAliases

Some useful Git aliases to optimise your time
Shell
5
star
25

Xcode-Snippets

4
star
26

Folder

Shell
3
star
27

Clipboarded

Have you ever copied an image but couldn't find a way to save it to the Camera Roll?! That's why!
Swift
3
star
28

Movement

A funny way to interact with the mouse
JavaScript
3
star
29

AnnotationsOff

An extension for Google Chrome (and Chromium) that removes all unwanted annotations in Youtube videos.
JavaScript
3
star
30

mvn-repo

A simple maven repository
3
star
31

Trees

Set of many algorithms related to Trees with lexicographical ordering.
Java
3
star
32

Separate-Compilation-Unit

Single Compilation Unit, also known as Separate Compilation.
C++
3
star
33

What-coding-style-is-Leo-Using

For everyone who wants to know more about how I'm structuring my projects.
3
star
34

i18n-PHP-AngularJS

Easy i18n localization with PHP and AngularJS
PHP
2
star
35

Hashing-Algorithms

It's designed to keep insertion, deletion and search with O(1) complexity.
Java
2
star
36

Rotate-and-Scale-jQuery

A mix of Rotate and Scale.
JavaScript
2
star
37

dotfiles

My .files
Shell
2
star
38

Pix-Color-Analyzer

Image pixel color analyzer
Java
2
star
39

Priority-Queue

Set of many algorithms related to Priority Queues.
Java
2
star
40

gitcase

Share your complete GitHub contribution graph
CSS
2
star
41

Scale-jQuery

Scale whatever elements you want with jQuery
JavaScript
2
star
42

Rotate-jQuery

Rotate whatever elements you want with jQuery
HTML
2
star
43

Android-Audio-Preview

A simple app to stream a song by url for pre(view|listen)ing it.
Java
2
star
44

Android-Custom-Font

Two ways to use custom fonts without memory leak, even if you use in a ListView.
Java
2
star
45

What-terminal-is-Leo-using

For everyone who wants to know more about the terminal I'm using
2
star
46

Font-Awesomed-Android

Example code of how to use Font Awesome on Android native and programatically
Java
1
star
47

Primitive-Recursive-Functions

A class with the common Math operations using recursion.
Java
1
star
48

LeonardoCardoso

1
star