Quran text (Arabic), audio URLs, and details of pages, juz, surah, ayah, place of revelation etc.
Getting Started
To use this plugin, add quran
as a dependency in your pubspec.yaml file.
Constants:
basmala
- The constant 'بِسْمِ ٱللَّهِ ٱلرَّحْمَٰنِ ٱلرَّحِيمِ'sajdah
- The constant 'سَجْدَةٌ'totalJuzCount
- The constant total juz counttotalMadaniSurahs
- The constant total of madani surahstotalMakkiSurahs
- The constant total of makki surahstotalPagesCount
- The most standard and common copy of Arabic only Quran total pages counttotalSurahCount
- The constant total surah counttotalVerseCount
- The constant total verse count
Functions:
Juz:
getJuzNumber(int surahNumber, int verseNumber)
- Takes [surahNumber] & [verseNumber] and returns Juz numbergetSurahAndVersesFromJuz(int juzNumber)
- Takes [juzNumber] and returns a map containing Surah and Verse numbers
Surah:
getSurahName(int surahNumber)
- Takes [surahNumber] and returns the Surah namegetSurahNameArabic(int surahNumber)
- Takes [surahNumber] returns the Surah name in ArabicgetSurahNameEnglish(int surahNumber)
- Takes [surahNumber] returns the Surah name in EnglishgetPlaceOfRevelation(int surahNumber)
- Takes [surahNumber] and returns the Place of Revelation (Makkah / Madinah) of that SurahgetVerseCount(int surahNumber)
- Takes [surahNumber] and returns the count of total Verses in that Surah
Verse:
getVerse(int surahNumber, int verseNumber, {bool verseEndSymbol})
- Takes [surahNumber], [verseNumber] & [verseEndSymbol] (optional) and returns the Verse in ArabicgetVerseEndSymbol(int verseNumber, {bool arabicNumeral})
- Takes [verseNumber], [arabicNumeral] (optional) and returns '' symbol with verse numberisSajdahVerse(int surahNumber, int verseNumber)
- Takes [surahNumber], [verseNumber] and returns true if verse is sajdah versegetVerseTranslation(int surahNumber, int verseNumber, {bool verseEndSymbol, Translation translation})
- Takes [surahNumber], [verseNumber], [verseEndSymbol] (optional) & [translation] (optional) and returns verse translation
Page:
getPageData(int pageNumber)
- Takes [pageNumber] and returns a list containing Surahs and the starting and ending Verse numbers in that pagegetPageNumber(int surahNumber, int verseNumber)
- Takes [surahNumber], [verseNumber] and returns the page number of the QurangetSurahCountByPage(int pageNumber)
- Takes [pageNumber] and returns total surahs count in that pagegetSurahPages(int surahNumber)
- Takes [surahNumber] and returns the list of page numbers of that surahgetVerseCountByPage(int pageNumber)
- Takes [pageNumber] and returns total verses count in that pagegetVersesTextByPage(int pageNumber, {bool verseEndSymbol, SurahSeperator surahSeperator, customSurahSeperator})
- Takes [pageNumber], [verseEndSymbol], [surahSeperator] & [customSurahSeperator] and returns the list of verses in that page
URLs:
getAudioURLBySurah(int surahNumber)
- Takes [surahNumber] and returns audio URL of that surahgetAudioURLByVerse(int surahNumber, int verseNumber)
- Takes [surahNumber] & [verseNumber] and returns audio URL of that versegetAudioURLByVerseNumber(int surahNumber)
- Takes [verseNumber] and returns audio URL of that versegetJuzURL(int juzNumber)
- Takes [juzNumber] and returns Juz URL (from Quran.com)getSurahURL(int surahNumber)
- Takes [surahNumber] and returns Surah URL (from Quran.com)getVerseURL(int surahNumber, int verseNumber)
- Takes [surahNumber] & [verseNumber] and returns Verse URL (from Quran.com)
Search:
searchWords(List<String> words)
- Takes a list of words [words] and returns a map containing no. of occurences and result of the word search in the arabic quran textsearchWordsInTranslation(List<String> words, {Translation translation})
- Takes a list of words [words] and [translation] (optional) and returns a map containing no. of occurences and result of the word search in the traslation
Example
import 'package:flutter/material.dart';
import 'package:quran/quran.dart' as quran;
void main() {
runApp(MaterialApp(
home: Scaffold(
appBar: AppBar(
title: Text("Quran Demo"),
),
body: SafeArea(
child: Padding(
padding: EdgeInsets.all(15.0),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Text("Juz Number: \n" + quran.getJuzNumber(18, 1).toString()),
Text("\nJuz URL: \n" + quran.getJuzURL(15)),
Text("\nSurah and Verses in Juz 15: \n" + quran.getSurahAndVersesFromJuz(15).toString()),
Text("\nSurah Name: \n" + quran.getSurahName(18)),
Text("\nSurah Name (English): \n" + quran.getSurahNameEnglish(18)),
Text("\nSurah URL: \n" + quran.getSurahURL(18)),
Text("\nTotal Verses: \n" + quran.getVerseCount(18).toString()),
Text("\nPlace of Revelation: \n" + quran.getPlaceOfRevelation(18)),
Text("\nBasmala: \n" + quran.getBasmala()),
Text("\nVerse 1: \n" + quran.getVerse(18, 1))
],
),
),
),
),
));
}
import 'package:flutter/material.dart';
import 'package:quran/quran.dart' as quran;
void main() {
runApp(
MaterialApp(
home: Scaffold(
appBar: AppBar(
title: Text(quran.getSurahName(18)),
),
body: SafeArea(
child: Padding(
padding: EdgeInsets.all(15.0),
child: ListView.builder(
itemCount: quran.getVerseCount(18),
itemBuilder: (context, index) {
return ListTile(
title: Text(
quran.getVerse(18, index + 1, verseEndSymbol: true),
textAlign: TextAlign.right,
),
);
},
),
),
),
),
),
);
}