Flutter古兰经阅读插件quran_sharif的使用
Flutter古兰经阅读插件quran_sharif的使用
插件介绍
quran_sharif
是一个为Flutter开发的包,提供了从古兰经中获取信息的实用函数,如苏哈拉(Surahs)、阿亚(Ayahs)和其他相关数据。
特性
- 英文和阿拉伯文版本的完整古兰经文本
- 支持不同翻译之间的切换
- 美丽的格式化显示,可调整字体大小
- 获取所有苏哈拉
- 按ID获取特定苏哈拉
- 获取苏哈拉名称列表
- 按启示类型过滤苏哈拉
- 通过Juz ID获取阿亚
安装
在pubspec.yaml
文件中添加以下行:
dependencies:
quran_sharif: <latest_version>
然后运行flutter pub get
以获取该包。
使用示例
将以下代码导入到你的Dart文件中:
import 'package:quran_sharif/quran_sharif.dart';
使用提供的方法访问古兰经数据:
// 获取所有苏哈拉
List<Surahs> allSurahs = Quran.getAllSurah();
print('All Surahs:');
allSurahs.forEach((surah) {
print('${surah.number}: ${surah.name}');
});
// 按ID获取特定苏哈拉
int surahId = 1; // 示例:苏哈拉 Al-Fatiha
Surahs? surah = Quran.getSurahById(id: surahId);
if (surah != null) {
print('\nSurah $surahId:');
print('Name: ${surah.name}');
print('Revelation Type: ${surah.revelationType}');
} else {
print('Surah not found');
}
// 获取苏哈拉名称列表
List<String> surahNames = Quran.getSurahName();
print('\nSurah Names:');
surahNames.forEach((name) {
print(name);
});
// 按启示类型过滤苏哈拉
bool isMakki = true; // 示例:过滤麦基苏哈拉
List<Surahs> makkiSurahs = Quran.getSurahByRevelationType(isMakki: isMakki);
print('\nMakki Surahs:');
makkiSurahs.forEach((surah) {
print('${surah.number}: ${surah.name}');
});
// 通过Juz ID获取阿亚
int juzId = 1; // 示例:Juz 1
List<Ayahs> juzAyahs = Quran.getJuz(id: juzId);
print('\nJuz $juzId Ayahs:');
juzAyahs.forEach((ayah) {
print('Ayah ${ayah.numberInSurah}: ${ayah.text}');
});
更多详细信息和用法,请参阅API文档。
示例代码
你可以找到更多的使用示例在该仓库的example
文件夹中:
import 'package:quran_sharif/quran_sharif.dart';
void main() {
// 示例使用Quran类的方法
// 获取所有苏哈拉
List<Surahs> allSurahs = Quran.getAllSurah();
print('All Surahs:');
allSurahs.forEach((surah) {
print('${surah.number}: ${surah.name}');
});
// 按ID获取特定苏哈拉
int surahId = 1; // 示例:苏哈拉 Al-Fatiha
Surahs? surah = Quran.getSurahById(id: surahId);
if (surah != null) {
print('\nSurah $surahId:');
print('Name: ${surah.name}');
print('Revelation Type: ${surah.revelationType}');
} else {
print('Surah not found');
}
// 获取苏哈拉名称列表
List<String> surahNames = Quran.getSurahName();
print('\nSurah Names:');
surahNames.forEach((name) {
print(name);
});
// 按启示类型过滤苏哈拉
bool isMakki = true; // 示例:过滤麦基苏哈拉
List<Surahs> makkiSurahs = Quran.getSurahByRevelationType(isMakki: isMakki);
print('\nMakki Surahs:');
makkiSurahs.forEach((surah) {
print('${surah.number}: ${surah.name}');
});
// 通过Juz ID获取阿亚
int jzId = e; // 示例:Juz a
List<Ayahs> jzAyahs = Quran.getJuz(id: jzId);
print('\nJuz $juzId Ayahs:');
jzAyahs.forEach((ayah) {
print('Ayah ${ayah.numberInSurah}: ${ayah.text}');
});
}
更多关于Flutter古兰经阅读插件quran_sharif的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html
更多关于Flutter古兰经阅读插件quran_sharif的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html
当然,以下是如何在Flutter项目中使用quran_sharif
插件的一个简单示例。quran_sharif
是一个Flutter插件,用于访问和操作古兰经的内容。
首先,确保你已经在你的Flutter项目的pubspec.yaml
文件中添加了quran_sharif
依赖:
dependencies:
flutter:
sdk: flutter
quran_sharif: ^最新版本号 # 请替换为实际的最新版本号
然后,运行flutter pub get
来安装依赖。
接下来,你可以在你的Dart文件中导入quran_sharif
并使用它来访问古兰经的内容。以下是一个简单的示例代码,展示如何加载并显示古兰经的一个章节:
import 'package:flutter/material.dart';
import 'package:quran_sharif/quran_sharif.dart';
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Quran Sharif Demo',
theme: ThemeData(
primarySwatch: Colors.blue,
),
home: QuranReaderScreen(),
);
}
}
class QuranReaderScreen extends StatefulWidget {
@override
_QuranReaderScreenState createState() => _QuranReaderScreenState();
}
class _QuranReaderScreenState extends State<QuranReaderScreen> {
late QuranSharif quranSharif;
late List<String> ayahs;
@override
void initState() {
super.initState();
quranSharif = QuranSharif();
loadChapter(1); // 加载第1章(法谛哈)
}
Future<void> loadChapter(int chapterNumber) async {
try {
var chapter = await quranSharif.getChapter(chapterNumber);
setState(() {
ayahs = chapter.ayahs.map((ayah) => ayah.text).toList();
});
} catch (e) {
print("Error loading chapter: $e");
}
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('Quran Sharif Reader'),
),
body: Padding(
padding: const EdgeInsets.all(16.0),
child: ayahs.isEmpty
? Center(child: CircularProgressIndicator())
: ListView.builder(
itemCount: ayahs.length,
itemBuilder: (context, index) {
return Card(
child: Padding(
padding: const EdgeInsets.all(8.0),
child: Text(
ayahs[index],
style: TextStyle(fontSize: 18),
),
),
);
},
),
),
floatingActionButton: FloatingActionButton(
onPressed: () async {
// 这里可以添加其他章节加载的逻辑,例如通过对话框选择章节
// 这里只是简单演示,再次加载第1章
await loadChapter(1);
},
tooltip: 'Reload Chapter',
child: Icon(Icons.refresh),
),
);
}
}
在这个示例中,我们创建了一个简单的Flutter应用,其中包含一个主屏幕QuranReaderScreen
。在initState
方法中,我们加载了古兰经的第1章(法谛哈),并将其中的每个经文(ayah)存储在ayahs
列表中。然后,我们使用ListView.builder
来显示这些经文。
注意:
QuranSharif
类提供了多种方法来访问古兰经的内容,例如获取特定章节、特定经文等。- 在实际应用中,你可能需要添加更多的错误处理和用户交互逻辑,例如通过对话框让用户选择想要阅读的章节。
- 确保你使用的
quran_sharif
插件版本与你的Flutter SDK版本兼容。
这个示例应该能够帮助你开始使用quran_sharif
插件来开发一个古兰经阅读应用。