نمایش نتیجه اجرای کد HTML در یک activity ، با WebView در برنامه نویسی اندروید
در این آموزش، یک برنامه اندروید می سازیم که اولین صفحه آن (activity اصلی)، یک WebView است که برای مشاهده نتیجه اجرای یک سری کد HTML به کار می رود. دقت کنید که هیچ فایلی برای کدهای HTML ، به کار نخواهیم برد و کدهای HTML را درون خود فایل java مربوط به activity می نویسیم.
در برنامه eclipse ، ابتدا یک پروژه اندروید با نام Kelidestan.com_WebView_HTML می سازیم (نام package را برابر com.kelidestan.webview_html قرار می دهیم. نام activity اصلی را برابر MainActivity انتخاب می کنیم و فایل xml متناظر آن را هم، activity_main قرار می دهیم).
ابتدا فایل activity_main.xml را باز می کنیم. این فایل، به صورت گرافیکی، همانند شکل زیر می باشد :
TextView موجود در فایل xml را حذف می کنیم و سپس، مطابق گزینه های مشخص شده در شکل زیر، یک WebView را به درون فایل xml وارد می کنیم :
شکل حاصل، به صورت زیر خواهد بود :
WebView را بزرگتر می کنیم (با کشیدن مرزهای آن) :
در properties مربوط به TextView ، نگاه می کنیم تا ببینیم id مربوط به TextView چیست :
بنابراین id مربوط به TextView ، برابر webView1 می باشد.
خوب، اکنون فایل MainActivity.java که همان activity اصلی می باشد را باز می کنیم. کدهای آن به صورت زیر می باشد :
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
}
کدها را به صورت زیر تغییر می دهیم :
import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.webkit.WebView;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
WebView webView = (WebView) findViewById(R.id.webView1);
String html_code = "<html><body>some <b>text<b>. <p>this is a paragraph.</p></body></html>";
webView.loadData(html_code, "text/html", null);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
}
کد HTML را در رشته ای با نام html_code ذخیره کرده ایم و سپس آن را در WebView اجرا کرده ایم.
برنامه اندروید آماده است و می توانید آن را به شیوه دلخواه خود، اجرا کنید و نتیجه را ببینید.
با اجرای برنامه اندروید، بر روی یک گوشی، صفحه زیر نمایش داده می شود :
فایل های پروژه اندروید را می توانید از لینک های زیر دریافت کنید :