انجمن سایت کلیدستان


رتبه موضوع:
  • 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
دریافت فایل html از دیتابیس و نمایش در webView

دریافت فایل html از دیتابیس و نمایش در webView

#1
با عرض سلام و خسته نباشید
من میخوام داخل دیتابیس از فایل های آماده html که حاوی متن هستند و در پوشه assets ریخته میشند در یک برنامه محتوا محور در صفحه ای که در آن یک webview هست استفاده کنم .
در واقع میخوام برنامه محتوا محور درست کنم با استفاده از فراخوانی html و نمایش اون در webview.
میتونید راهنماییم کنید که از چه کدهایی برای دریافت html و فراخوانی اون در webview بایذ استفاده کنم.
مثل کد ()settext. که متن رو از دیتابیس میگیره و داخل edittext میاره.
پاسخ

دریافت فایل html از دیتابیس و نمایش در webView

#2
سلام برای ست کردن یک فایل اچ تی ام ال از پوشه ی   assets  میتونید از این کد استفاده کنید

کد پی‌اچ‌پی:
WebView webView = (WebView findViewById(R.id.webView );
webView.loadUrl("file:///android_assets/index.html"); 

همونطور که در کد هم مشخصه index  مییشه فایلی که در پوشه ی assets  قرار داره و با وب ویو ست میشه یا بهتره بگیم در وب ویو لود میشه .
موفق باشید
پاسخ
 سپاس شده توسط admin

دریافت فایل html از دیتابیس و نمایش در webView

#3
 سلام و عرض تشکر
گمان میکنم سوال رو خوب مطرح نکردم،پوزش میطلبم.
سوال من اینست که چطور با ساخت یک activity تعداد زیادی فایل html رو بسته به اینکه در لیست ویو بر روی کدام آیتم کلیک شده از فولدر assets دریافت کنم و در webview نمایش دهم.
من میخوام یک لیست ویو داشته باشم با مثلا 10 آیتم در لیست آن که کاربر مثلا اگر روی آیتم 5 کلیک کرد برنامه فایل html مرتبط با آن را در webview نمایش دهد.
در مورد تکست ویو کدها مشخص است ولی در مورد فایل html چطور webview را محتوا محور کنم که بسته به کلیک هر آیتم در لیست یک html مرتبط را نمایش دهد.
من تمایل بیشتری به بکار گیری html برای نمایش متون دارم تا edittext و فایل های txt.
کمال تشکر رو از الطاف جنابعالی دارم
پاسخ

دریافت فایل html از دیتابیس و نمایش در webView

#4
برای اینکار هم میتونی از همین کد استفاده کنید با دو اکتیوتی یه لیست ویو داخل یکی از اکتیوتی ها میزاریم وبا استفاده از کلید236   شماره ی ایتم کلیک شده رو انتقال میدم به اکتیوتی بعدی
داخل اکتیوتی بعدی شماره ی ایتم رو با استفاده از همون کلیدی ک گفتم (کلید 236 )میگیریم میدیم به سویچ داخل سویچ هم برای هر کیس یه ادرس انتخاب میکنیم اینطوری با کلیک روی هر ایتم یه کیس مشخص یه اچ تی ام ال مشخصی رو با صفحه ست میکنه
به عنوان مثال اکتیوتی اول که داری لیست هست کدش به این شکل میشه :

کد پی‌اچ‌پی:
public class MainActivity extends Activity {
    private 
Activity t;
    private 
ListView list;
    @
Override
    
protected void onCreate(Bundle savedInstanceState) {
        
super.onCreate(savedInstanceState);
        
requestWindowFeature(Window.FEATURE_NO_TITLE);
        
setContentView(R.layout.astronomy);

        final 
String item ={"ایتم یک ","ایتم دو "};
        list=(
ListViewfindViewById(R.id.listViewa);
        
t=this;
        list.
setAdapter(new ArrayAdapter<String>;(this,R.layout.row,R.id.row_txt,item));
        list.
setOnItemClickListener(new AdapterView.OnItemClickListener() {

            public 
void onItemClick(AdapterView<?> arg0, View arg1, int indexItem, long arg3) {

                        Intent i = new Intent(MainActivity.this, WebView.class);
                        i.putExtra("btn", indexItem);// indexItem  در اینجا شماره ایتم انخاب شده میباشد 
                        startActivity(i);
                        break;
            }
        });

    }


و برای اکتیوتی که وب ویو داخل اون هست :

کد پی‌اچ‌پی:
public class WebView extends Activity {

    @
Override
    
protected void onCreate(Bundle savedInstanceState) {
        
// TODO Auto-generated method stub
        
super.onCreate(savedInstanceState);
        
setContentView(R.layout.webview_activity);
        
       
WebView webView = (WebViewfindViewById(R.id.webView);
       
        try {
             
Bundle extras getIntent().getExtras();
            int indexItem extras.getInt("variable_name");

            switch (
indexItem) {
                case 
0:
                    
webView.loadUrl("file:///android_asset/index1.html");
                    break;
                case 
1:
                    
web.loadUrl("file:///android_asset/index2.html");
                    break;
                } catch (Exception e) {
                }
            } } 
 

موفق باشید
 
پاسخ
 سپاس شده توسط admin ، angehblue

دریافت فایل html از دیتابیس و نمایش در webView

#5
اگه فایل های htmlتون به ترتیب شماره باشه مثلا index1,index2,index3,... میتونید بدون استفاده از سویچ هم اینکار رو انجام دهید به این صورت که ادرس وب ویو مورد نظر رو انتخاب میکنید و مقداری که از اکتیوتی قبل گرفتی با مسیر فایل جمع میکنید اینطوری میتونید کد کمتری نوشته باشید :

کد پی‌اچ‌پی:
WebView webView = (WebViewfindViewById(R.id.webView);
       
        try {
             
Bundle extras getIntent().getExtras();
            
int indexItem extras.getInt("variable_name");

            
webView.loadUrl("file:///android_asset/index" indexItem ".html");

            }catch(
Exception e ){
            } 
پاسخ
 سپاس شده توسط admin ، angehblue

دریافت فایل html از دیتابیس و نمایش در webView

#6
سلام و تشکر فراوان بابت وقتی که در اختیار بنده گذاشتید
پاسخ
 سپاس شده توسط angehblue

دریافت فایل html از دیتابیس و نمایش در webView

#7
سلام
لطفا سورس کلی برنامه رو بذارید.
پاسخ

دریافت فایل html از دیتابیس و نمایش در webView

#8
خیلی متشکرم این مطلب کمک خوبی کرد 
میشه لطف کنید سورس این برنامه رو هم بذارید یا یه برنامه که به این طریق کار کرده (فراخوانی یک سری فایل html از پوشه assets از طریق listView)
پاسخ
 سپاس شده توسط شماره مجازی امارات ، تلگرام ضد فیلتر 2023


پرش به انجمن:


کاربران در حال بازدید این موضوع: 1 مهمان