# 6.2 3rd Party Libraries

Using 3rd party libraries (any library where the latest version of the code is not maintained and hosted by YOU) is a very wise move in Android Development. Many libraries have implemented tasks that would otherwise distract from your goal in the creation of an application.

### Example:&#x20;

If you wanted to make simple GET requests for something simple like a café menu: something that is received from the server once, and maybe a few more times incrementally with time, would it make sense to implement the entirety of the HTTP request protocol?&#x20;

**Absolutely not.**

This would be incredibly difficult as it require implementing the network socket and and interacting with the L2 layer of the network (to learn more take CS 4450 (or don't)).&#x20;

We want to be SMART coders and delegate our development interests and efforts accordingly. Using 3rd party libraries allow us to save time in the banal, uninteresting, mundane, or complicated code we otherwise would have to grind through making so use them!

For networking in Android, you'll almost always use a library. In the next section we'll introduce [OkHttp](https://square.github.io/okhttp/), which makes networking easy!

### More Libraries

As you grow as an Android developer, you'll come to find more and more libraries to suite your needs! Below are some more libraries for you to explore/use!

[Lottie](https://airbnb.design/lottie/), for easily add high-quality animation to any native app.

[Retrofit](http://square.github.io/retrofit), for turning your HTTP API into a Kotlin interface.

[Glide](https://github.com/bumptech/glide), an image loading library.

[ZXing](https://github.com/zxing/zxing), for adding barcode/QR-code scanning capabilities.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://android-course.cornellappdev.com/chapters/6.-networking/8.5-3rd-party-apis.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
