ĐĂNG NHẬP
Tải xuống eBooks (Download eBooks):
Đọc eBooks (Read eBooks):
Danh sách yêu thích (Favorites):
Chế độ tối (Dark Mode):
Vuốt để xóa tải xuống (Swipe to delete downloads):
Hiệu năng (Performance):
Bảo mật (Security):
Khả năng mở rộng (Scalability):
Khả năng tương thích (Compatibility):
Trải nghiệm người dùng (User Experience):
XEM THÊM ==> Hướng dẫn cài đặt chi tiết
Cài đặt Flutter:
Cài đặt Android Studio:
Flutter Plugin
Dart Plugin
Kiểm tra cài đặt Flutter:
flutter doctor
File
New
New Flutter Project
Flutter Application
lib
pubspec.yaml
Tạo dự án Firebase:
Package Name
android/app/build.gradle
google-services.json
android/app
Cài đặt Firebase SDK:
dependencies: flutter: sdk: flutter firebase_core: latest_version firebase_auth: latest_version cloud_firestore: latest_version firebase_storage: latest_version
flutter pub get
Cấu hình Firebase trên Android:
android/build.gradle
dependencies
classpath 'com.google.gms:google-services:latest_version'
apply plugin: 'com.google.gms.google-services'
Khởi tạo Firebase:
main.dart
import 'package:firebase_core/firebase_core.dart'; import 'package:flutter/material.dart'; void main() async { WidgetsFlutterBinding.ensureInitialized(); await Firebase.initializeApp(); runApp(MyApp()); } class MyApp extends StatelessWidget { @override Widget build(BuildContext context) { return MaterialApp( home: Scaffold( appBar: AppBar(title: Text('Ebook App')), body: Center(child: Text('Welcome to Ebook App')), ), ); } }
Đăng nhập người dùng (Firebase Auth):
import 'package:firebase_auth/firebase_auth.dart'; Future<void> signInWithEmail(String email, String password) async { try { await FirebaseAuth.instance.signInWithEmailAndPassword(email: email, password: password); print("Login Successful"); } catch (e) { print("Login Failed: $e"); } }
Lưu trữ eBooks (Cloud Firestore):
import 'package:cloud_firestore/cloud_firestore.dart'; Future<void> uploadEbook(String title, String author) async { await FirebaseFirestore.instance.collection('ebooks').add({ 'title': title, 'author': author, 'timestamp': FieldValue.serverTimestamp(), }); } Stream<List<Ebook>> getEbooks() { return FirebaseFirestore.instance.collection('ebooks').snapshots().map((snapshot) => snapshot.docs.map((doc) => Ebook.fromFirestore(doc)).toList()); }
Tải và đọc eBooks (Firebase Storage):
import 'package:firebase_storage/firebase_storage.dart'; Future<void> uploadEbookFile(String filePath) async { File file = File(filePath); try { await FirebaseStorage.instance.ref('ebooks/filename.pdf').putFile(file); print("File uploaded successfully"); } catch (e) { print("File upload failed: $e"); } } Future<String> getDownloadUrl(String fileName) async { String downloadURL = await FirebaseStorage.instance.ref('ebooks/$fileName').getDownloadURL(); return downloadURL; }
Kiểm tra kết nối API:
Build và chạy:
flutter run
Ứng dụng eBook đã được kết nối với Firebase và sẵn sàng hoạt động.
Nguồn: Topcode.vn
CODE NỔI BẬT
Workout app Android Studio Project - Ứng dụng Luyện tập tại nhà - Java, XML, FireBase
Ứng dụng đặt vé xem phim - Bài tập lớn Android Studio, Java+Kotlin, FireBase - Giao diện đẹp mắt, hiện đại - Cinema Ticket Booking
Ứng dụng đặt vé máy bay - Android Studio - JAVA, FireBase - Ticket Booking App
Ứng dụng bán đồ công nghệ Online - Android Studio Koala - Kotlin, FireBase - Đẹp mắt hiện đại
Online Coffee Shop - Ứng dụng bán coffee online - AndroidStudio Java + Kotlin - FireBase - Giao diện đẹp mắt, hiện đai
CODE GẦN GIỐNG