Flutter ile epub mobil uygulama uygulama örneği

Epub dosyalarını görüntülemek için Flutter dilinde birçok farklı paket bulunmaktadır. Biz, epub_view adlı bir paketi kullanarak basit bir Epub uygulaması oluşturabiliriz. İşte adım adım nasıl yapacağımız:

  1. pubspec.yaml dosyanıza aşağıdaki satırı ekleyerek epub_view paketini projenize ekleyin:
dependencies:
  epub_view: ^0.3.0

Daha sonra, main.dart dosyanıza aşağıdaki kodu ekleyin:

import 'dart:io';
import 'package:flutter/material.dart';
import 'package:epub_view/epub_view.dart';

void main() => runApp(EpubUygulamasi());

class EpubUygulamasi extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Epub Uygulaması',
      home: EpubSayfasi(),
    );
  }
}

class EpubSayfasi extends StatefulWidget {
  @override
  _EpubSayfasiState createState() => _EpubSayfasiState();
}

class _EpubSayfasiState extends State<EpubSayfasi> {
  EpubController _epubController;
  Future<Book> _book;

  @override
  void initState() {
    super.initState();
    _book = _initBook();
  }

  Future<Book> _initBook() async {
    var epubPath = await getFileFromAssets('assets/book.epub');
    var book = await EpubReader.readBook(File(epubPath).readAsBytesSync());
    return book;
  }

  Future<String> getFileFromAssets(String path) async {
    return await rootBundle.loadString(path);
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('Epub Uygulaması'),
      ),
      body: FutureBuilder<Book>(
        future: _book,
        builder: (context, snapshot) {
          if (snapshot.hasData) {
            return EpubView(
              controller: _epubController,
              book: snapshot.data,
            );
          } else {
            return Center(child: CircularProgressIndicator());
          }
        },
      ),
    );
  }
}

Bu örnekte, getFileFromAssets fonksiyonu ile Epub dosyasını uygulamamıza dahil ediyoruz. Daha sonra, _initBook fonksiyonu ile Epub dosyasını okuyarak bir Book nesnesi oluşturuyoruz. Son olarak, EpubView bileşenini kullanarak Epub dosyasını görüntülüyoruz.

Bu örnekte, Epub dosyasını assets klasörüne ekledik, ancak bu klasör mevcut değilse, oluşturmanız ve Epub dosyasını içine koymalısınız. Ayrıca, assets klasörü pubspec.yaml dosyasında belirtilmelidir.

Umarım bu örnek, bir Epub uygulaması yazmak için size yardımcı olur.

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir