Fetching data from the internet is necessary for most apps. Luckily, Dart and Flutter provide tools, such as the http
package, for this type of work.
This recipe uses the following steps:
- Add the
http
package. - Make a network request using the
http
package. - Convert the response into a custom Dart object.
- Fetch and display the data with Flutter.
1. Add the http
package
The http
package provides the simplest way to fetch data from the internet.
To install the http
package, add it to the dependencies section of the pubspec.yaml
file. You can find the latest version of the http
package the pub.dev.content_copy
dependencies:
http: <latest_version>
Import the http package.content_copy
import 'package:http/http.dart' as http;
Additionally, in your AndroidManifest.xml file, add the Internet permission.content_copy
<!-- Required to fetch data from the internet. -->
<uses-permission android:name="android.permission.INTERNET" />
2. Make a network request
This recipe covers how to fetch a sample album from the JSONPlaceholder using the http.get()
method.content_copy
Future<http.Response> fetchAlbum() { return http.get(Uri.https('jsonplaceholder.typicode.com', 'albums/1')); }
The http.get()
method returns a Future
that contains a Response
.
Future
is a core Dart class for working with async operations. A Future object represents a potential value or error that will be available at some time in the future.- The
http.Response
class contains the data received from a successful http call.
3. Convert the response into a custom Dart object
While it’s easy to make a network request, working with a raw Future<http.Response>
isn’t very convenient. To make your life easier, convert the http.Response
into a Dart object.
1. Add the http
package
The http
package provides the simplest way to fetch data from the internet.
To install the http
package, add it to the dependencies section of the pubspec.yaml
file. You can find the latest version of the http
package the pub.dev.content_copy
dependencies:
http: <latest_version>
Import the http package.content_copy
import 'package:http/http.dart' as http;
Additionally, in your AndroidManifest.xml file, add the Internet permission.content_copy
<!-- Required to fetch data from the internet. -->
<uses-permission android:name="android.permission.INTERNET" />
2. Make a network request
This recipe covers how to fetch a sample album from the JSONPlaceholder using the http.get()
method.content_copy
Future<http.Response> fetchAlbum() { return http.get(Uri.https('jsonplaceholder.typicode.com', 'albums/1')); }
The http.get()
method returns a Future
that contains a Response
.
Future
is a core Dart class for working with async operations. A Future object represents a potential value or error that will be available at some time in the future.- The
http.Response
class contains the data received from a successful http call.
3. Convert the response into a custom Dart object
While it’s easy to make a network request, working with a raw Future<http.Response>
isn’t very convenient. To make your life easier, convert the http.Response
into a Dart object.
1. Add the http
package
The http
package provides the simplest way to fetch data from the internet.
To install the http
package, add it to the dependencies section of the pubspec.yaml
file. You can find the latest version of the http
package the pub.dev.content_copy
dependencies:
http: <latest_version>
Import the http package.content_copy
import 'package:http/http.dart' as http;
Additionally, in your AndroidManifest.xml file, add the Internet permission.content_copy
<!-- Required to fetch data from the internet. -->
<uses-permission android:name="android.permission.INTERNET" />
2. Make a network request
This recipe covers how to fetch a sample album from the JSONPlaceholder using the http.get()
method.content_copy
Future<http.Response> fetchAlbum() { return http.get(Uri.https('jsonplaceholder.typicode.com', 'albums/1')); }
The http.get()
method returns a Future
that contains a Response
.
Future
is a core Dart class for working with async operations. A Future object represents a potential value or error that will be available at some time in the future.- The
http.Response
class contains the data received from a successful http call.
3. Convert the response into a custom Dart object
While it’s easy to make a network request, working with a raw Future<http.Response>
isn’t very convenient. To make your life easier, convert the http.Response
into a Dart object.