بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]
پرسش و پاسخ

مشکل در بارگذاری HTML در WebView

مدیریت گفتگو
مسعود 12 سال پیش
آخرین تغییر: 12 سال پیش

با سلام خدمت اساتید

با چه کدی میشه یک فایک HTML رو در یک صفحه WebView بار گذاری کرد ؟

همه قسمتهاش بار گذاری میشه ولی فایل HTML که رو دیتابیس هست رو نمیخونه

من این کد رو زدم ولی بار گذاری نمیشه:

 webview.loadUrl(G.selectedApplication.webview);

نظرات

uncocoder 12 سال پیش
در اینجا selectedApplication.webview چیه؟!
مسعود 12 سال پیش
selectedApplication رو تو کلاس G تعریف کردم ازStruct public static StructNote selectedApplication
uncocoder 12 سال پیش
پس بهتر بود اسمش رو می ذاشتید selectedNote
مسعود 12 سال پیش
آره درسته بهتره که این اسمو بذارم حالا بهرحال بگید چیکار کنم اصلا فایل HTML در دیتابیس ذخیره میشه؟ واگه میشه روش صحیح ذخیره و فراخوانیش رو بگید ممنون
uncocoder 12 سال پیش
خوب من جواب دوستمون رضا رو تکمیل می کنم. پایین رو ببین.

پاسخ‌ها 3

Mhaghshenas 12 سال پیش

بنظر من بهترین روش استفاده از Web View اینه که از پوشه Asset استفاده کنی

wv.loadUrl("file:///android_asset/name.html");

نظرات

مسعود 12 سال پیش
ممنون از راهنماییت ولی من میخوام از دیتابیس استفاده کنم که یاد بگیرم
Reza AF 12 سال پیش

شما دوتا ره دارین، یا فایل html رو آماده طراحی کردین و فایل رو داخل پوشه assets کپی میکنید، یا کدهای html رو توی دیتابیسی جایی ذخیره میکنید و هنگام اجرای برنامه صفحه رو ایجاد میکنید،

برای روش اول ازین کد استفاده کنید :

                   webview.loadUrl(file:///android_asset/my_page.html);

و برای روش دوم : دقت کنید کل تگهای html داخل متغییر html_code ذخیره شده

 

webview.loadDataWithBaseURL("file:///android_asset/", html_code, "text/html", "charset=utf-8", null);

نظرات

مسعود 12 سال پیش
ممنون که جواب دادید میشه بیشتر در مورد روش دوم توضیح بدید؟ html_code رو تو چه کلاسی تعریف کنم ؟ فایل html خودمو رو دیتا بیس ریختم ولی نمیشه که فراخوانیش کرد .
uncocoder 12 سال پیش

در ادامه جواب بالا، باید بگم که:

محتوای HTML مثل هر Text ـی که Plain Text هست که وقتی داخل Browser نشون داده میشه تبدیل میشه به یک سری رنگ و فونت و ... و به این کار می گن Render شدن. پس فرقی بین محتوای یک HTML و یک Text ساده نیست بلکه نمایشگر اون مهم هست که اگر Browser باشه می تونه تصویر و ... رو نمایش بده.

حالا شما می تونید هر نوع Plain Text ـی رو داخل دیتابیس ذخیره و بازیابی کنید. کافیه مقدار بازیابی شده را طبق آموزشها داخل یک اشاره گر از جنس String بریزید ( مثل Title و چیزهای دیگه که از دیتابیس خوندیم. )

بعد از اینکه داخل String ریخته شد ( یا به عبارتی همون html_code که رضا در پاسخ بالا نوشته ) به همون شکلی که رضا گفت قابل نمایش در یک WebView هست.

اما باید توجه داشته که نمایش تصویر نیازمند وجود اون در وب ( متصل به اینترنت ) یا تعریف یک ImageLoader برای بارگزاری از SDCard و ... باشه که اگر این رو نیاز داشتید، بحثش مفصل میشه. اما در نمایش تگهای HTML مثل B I و ... مشکلی نخواهد بود و فقط بحث تصویر و Font می مونه.

نظرات

مسعود 12 سال پیش
واقعا ممنون از توضیح کاملتون مشکل حل شد تصویر فعلا نیاز ندارم ولی فونت که تو کد های html انتخاب کردم رو کجا کپی کنم و با چه کدی روی متن اعمالش کنم؟
uncocoder 12 سال پیش
استفاده از فونت هم باگ داره، هم سخته و هم پردردسر. اجازه بدید در آموزشهای بعدی تدوین می کنم. لطفاً یک سئوال جدید با این محتوا بزنید که اون رو به عنوان «پیشنهاد تدوین» تگ کنم.

پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .