ĐĂ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
Ứng dụng đặt phòng khách sạn homestay Booking App Android Studio Firebase
Source code app mobile ứng dụng đặt thức ăn nhà hàng quán ăn restaurant Order Food Kotlin Firebase
Đồ án Android coffee shop Firebase Kotlin android studio
Đồ án ứng dụng quán cà phê với Kotlin và Firebase app mobile Android Studio
Source code android shop bán giày mobile app shop online bán giày Kotlin Firebase
CODE GẦN GIỐNG