ওয়েবভিউ সম্পদ ডিরেক্টরি থেকে এইচটিএমএল লোড করুন


142

আমি সম্পদ ডিরেক্টরি থেকে একটি এইচটিএমএল পৃষ্ঠা লোড করার চেষ্টা করছি। আমি এই চেষ্টা করেছিলাম, কিন্তু এটি ব্যর্থ হয়।

public class ViewWeb extends Activity {  
    @Override  
    public void onCreate(Bundle savedInstanceState) {  
        super.onCreate(savedInstanceState);  
        WebView wv;  
        wv = (WebView) findViewById(R.id.webView1);  
        wv.loadUrl("file:///android_asset/aboutcertified.html");   // fails here
        setContentView(R.layout.webview);  
    }  
}

লগগেটে আমি সত্যিই কোনও বলার ত্রুটি পাই না ...


আমার অন্য উত্তরটি দেখুন: stackoverflow.com/a/8694428/341091
মার্টিন

উত্তর:


296

ডাব্লুভিউ সম্ভবত নাল হয় তাই আপনি সামগ্রী ভিউ সেট করার আগে ওয়েবভিউ পেয়ে যাচ্ছেন।

public class ViewWeb extends Activity {  
        @Override  
        public void onCreate(Bundle savedInstanceState) {  
            super.onCreate(savedInstanceState);
            setContentView(R.layout.webview);  
            WebView wv;  
            wv = (WebView) findViewById(R.id.webView1);  
            wv.loadUrl("file:///android_asset/aboutcertified.html");   // now it will not fail here
        }  
    }

ঐটা এটা ছিল. আমার সাথে এটি শুরু করার ছিল, এটি অদলবদলের চেষ্টা করা হয়েছিল, তবে এখন এটি কার্যকর ... শীতল।
AndyD273

পার্শ্ব নোটে, হোয়াইট অন ব্ল্যাক অ্যান্ড্রয়েডে কি স্ট্যান্ডার্ড লুক? আমার সমস্ত টেবিলের মতামতগুলি ডিফল্টরূপে কালো রঙে সাদা, তবে আমার এইচটিএমএল সাদা রঙের জন্য কালো রঙের জন্য সেট করা আছে ... আমি সেগুলি পরিবর্তন করতে পারি, তবে কোনটি পরিবর্তন করতে হবে তা নিশ্চিত নয়।
AndyD273

আমার ওয়েবসাইটে মোবাইল যোগাযোগ পৃষ্ঠার html পৃষ্ঠায় একটি ইমেল ঠিকানা রয়েছে, আমি অ্যান্ড্রয়েড অ্যাপ্লিকেশনটিতে ওয়েব ভিউ ব্যবহার করছি এবং সেই ওয়েবুরাল যোগাযোগটি খুলতে সেটাররুল ব্যবহার করছি that এইচটিএমএল পৃষ্ঠাটিতে সেই ব্যবহারকারী ইমেলটিতে অজানা ইউআরএল স্কিমার ত্রুটি ক্লিক করুন
হার্শা

কীভাবে এইচটিএমএল ফাইলটি অ্যান্ড্রয়েড অ্যাপ্লিকেশনটিতে সার্ভার ব্যবহার করে চালানো যায়?

16

আপনি যখনই ক্রিয়াকলাপ তৈরি করছেন তখন অবশ্যই setcontentviewসুপার কলের পরে আপনাকে (আপনার বিন্যাস) যুক্ত করতে হবে । কারণ setcontentviewআপনার ক্রিয়াকলাপে এক্সএমএল বেঁধে রাখুন তাই আপনি পাচ্ছেন এই কারণটি nullpointerexception

 setContentView(R.layout.webview);  
 webView = (WebView) findViewById(R.id.webView1);
 wv.loadUrl("file:///android_asset/xyz.html");

6
protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        WebView wb = new WebView(this);
        wb.loadUrl("file:///android_asset/index.html");
        setContentView(wb);
    }


keep your .html in `asset` folder

2
অ্যান্ডয়েড ডকটি assets ডেভেলপারকে বোঝায়।অ্যান্ড্রয়েড / টলস / প্রজেক্ট / ইন্ডেক্স এইচটিএমএল উভয় ক্ষেত্রেই কাজ করে না, যদি না আমার সম্পদ (গুলি) ফোল্ডারটি বর্তমানে ভুল ফোল্ডারে না থাকেmain
পাভেল সিওচ

আমার খারাপ আমি diffrent স্থানে একই প্রকল্পের একটি কপি ছিল, এবং ভুল কপি যোগ করা হয়, কিন্তু ইমেজের সাথে এই উত্তরটি সবচেয়ে ভালো stackoverflow.com/questions/18302603/...
Pawel Cioch

0

এখান থেকে উত্স কোডটি ডাউনলোড করুন ( সম্পদ অ্যান্ড্রয়েড থেকে এইচটিএমএল ফাইল খুলুন )

activity_main.xml

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
 android:layout_width="match_parent"
 android:background="#FFFFFF"
 android:layout_height="match_parent">

<WebView
 android:layout_width="match_parent"
 android:id="@+id/webview"
 android:layout_height="match_parent"
 android:layout_margin="10dp"></WebView>
</RelativeLayout>

MainActivity.java

package com.deepshikha.htmlfromassets;
 import android.app.ProgressDialog;
 import android.support.v7.app.AppCompatActivity;
 import android.os.Bundle;
 import android.webkit.WebView;
 import android.webkit.WebViewClient;

public class MainActivity extends AppCompatActivity {

WebView webview;
 ProgressDialog progressDialog;

@Override
 protected void onCreate(Bundle savedInstanceState) {
 super.onCreate(savedInstanceState);
 setContentView(R.layout.activity_main);
 init();
 }

private void init(){
 webview = (WebView)findViewById(R.id.webview);
 webview.loadUrl("file:///android_asset/download.html");
 webview.requestFocus();

progressDialog = new ProgressDialog(MainActivity.this);
 progressDialog.setMessage("Loading");
 progressDialog.setCancelable(false);
 progressDialog.show();

webview.setWebViewClient(new WebViewClient() {

public void onPageFinished(WebView view, String url) {
 try {
 progressDialog.dismiss();
 } catch (Exception e) {
 e.printStackTrace();
 }
 }
 });
 }
 }
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.