آموزش خواندن فایل های EPub در برنامه نویسی اندروید
سلام دوستان در این سری از آموزش برنامه نویسی اندروید به آموزش خواندن فایل های EPub در برنامه نویسی اندروید می پردازیم شاید بپرسید Epub چیست ؟ در ادامه به توضیح ePub و همینطور به نحوه پیاده سازی آن می پردازیم با ما همراه باشید.
فرمت ایپاب (ePub) چیست ؟
فرمت ePub طوری طراحی شده است که دستگاههای خواننده این فرمت بتوانند نحوهه نمایش متن موجود در فایل را برای صفحه نمایش خود بهینه کنند. به صورت ساده اگر بخوام بگو متن رو با اندازه صفحه گوشی شما کوچک و بزرگ می کند شاید بپرسید فرق ePun با pdf چیست ؟
فرق پی دی اف (Pdf) با ای پاب (ePub) چیست؟
فرمت پی دی اف برای یک نمایش ثابت طراحی شده و سایز صفحه نمایش و سیستمی که آن را حمایت میکند مد نظر نیست.
فایل پی دی اف برای پرینت گرفتن ایدهآل است، چراکه صفحهآرایی را بههم نمیریزد و دقیقا همانطور که در صفحه کامپیوتر نمایش داده میشود چاپ میشود. اما همین خصوصیت فایل پیدیاف را برای استفاده در کتابخوانهای الکترونیک نامناسب میکند.
فرمت ایپاب متن را با سایز صفحه نمایش تطبیق میدهد و در عین حال صفحهآرایی را به هم نمیریزد. ایپاب به شما اجازه میدهد سایز متن را عوض کنید و فونت دلخواه خود را انتخاب کنید.
از همه اینا گذشته حالا برای اینکه بتونید این فرمت رو در گوشی و در اپ خودتان (نه WebView ) نمایش دهید می تونید از کتاب خانه زیر استفاده کنید.
ابتدا باید وارد فایل Build.gradle از نوع Top Level شده و در بخش repositories همانند زیر خط زیر را اضافه کنید (من کلش رو گذاشتم تا بتونید راحت قرار دهید فقط باید یک خط را اضافه کنید)
1 2 3 4 5 6 | allprojects { repositories { // this line maven { url "http://dl.bintray.com/mobisystech/maven" } } } |
بعد پروژه را sync نکنید وارد فایل Build.gradle از نوع Module شده و خط زیر را به بخش dependency اضافه کنید.
1 | compile 'com.folioreader:folioreader:0.3.3' |
پروژه را Sync کنید.
مثل زیر یک دکمه در layout قرار دهید.
1 2 3 4 5 6 7 8 | <Button android:id="@+id/btn_assest" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginLeft="10dp" android:layout_below="@+id/btn_raw" android:layout_marginRight="10dp" android:layout_marginTop="20dp" android:text="Open epub assests"/> |
سپس کد جاوا آن به شکل زیر می شود.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | public class HomeActivity extends AppCompatActivity { private FolioReader folioReader; @Override protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_home); folioReader = new FolioReader(this); findViewById(R.id.btn_assest).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { folioReader.openBook("file:///android_asset/adventures.epub"); } }); } |
و با کلیک بروی دکمه فایل Epub از پوشه Assets نمایش داده می شود .
در صورتی که مشکل داشتید بعد از AppCompatActivity کد implements OnHighlightListener زیر را اضافه کنید.
این آموزش هم به پایان رسید.
موفق و پیروز باشید.
سلام . ببخشید اگر بخوام فایل های epub رو از external storage بخونم باید به چه شکل از این کتابخانه استفاده کنم ؟
پاسخ داده شده است
https://programchi.ir/questions/%DA%A9%D8%AA%D8%A7%D8%A8%D8%AE%D8%A7%D9%86%D9%87-epub/#comment-2927
سلام
ممنون از آموزش خوبتون
من میخوام ایپاب و در سی شارپ بخونم، این و کار و انجام دادم ولی خود شما هم در جریان هستی که یک فایل ایپاب شامل تصاویر، فونت و استایل هست
این ها و چطور باید در کنترل Browser نشون بدم
اگر بخوام کتاب فارسی را به استفاده از این کتابخانه نمایش بدم چطور بایدRTL SWIPE را پیاده کنم؟