ভয়াবহ রকম সোজা একটা টিউটোরিয়া। একটা URL/Website এন্ড্রয়েড অ্যাপে লোড করব আমরা। যেমন কোন ওয়েব সাইটের জন্য একটা অ্যাপ দরকার, আর ঐ ওয়েবসাইটটা রেস্পন্সিভ। তাহলে আমাদের অনেক গুলো জাভা কোড লিখে সাইট থেকে ডেটা ফেচ করে দেখানোর থেকে পুরো ওয়েবসাইটটাই লোড করে দিলেই তো হয়ে যায়। আর আমরা দেখব তা কিভাবে করে।
প্রথমে একটা এন্ড্রয়েড অ্যাপ তৈরি করে নিব। ধরি My Webview তৈরি করার পর আমাদের Main Activity xml ফাইলে নিচের কোড গুলো লিখবঃ
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/main" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical"> <WebView android:id="@+id/myWebView" android:layout_width="fill_parent" android:layout_height="fill_parent" /> </LinearLayout>
আমরা করছি কি, একটা লিনিয়ার লেয়াউট তৈরি করেছি। আর তার ভেতরে ওয়েব ভিউ তৈরি করেছি একটা। ওয়েব ভিউ এর id দিয়েছি myWebView, যে কোন কিছুই দিতে পারি। এটা দিয়ে জাভা থেকে আমরা একটা ওয়েব সাইট লোড করব।
MainActivity.java ফাইলের ক্লাসের ভেতরে সব কোড রিমুভ করে দিব। আর নিচের কোড গুলো যুক্ত করবঃ
private WebView webView; public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); webView = (WebView) findViewById(R.id.myWebView); webView.loadUrl("http://jakir.me"); webView.setWebViewClient(new WebViewClient()); }
যে ইম্পোর্ট গুলো লাগবে, সে গুলো হচ্ছেঃ
import android.app.Activity; import android.os.Bundle; import android.webkit.WebView; import android.webkit.WebViewClient;
সম্পুর্ণ MainActivity.java ফাইল:
package me.jakir.webview; import android.app.Activity; import android.os.Bundle; import android.webkit.WebView; import android.webkit.WebViewClient; public class MainActivity extends Activity { private WebView webView; public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); webView = (WebView) findViewById(R.id.myWebView); webView.loadUrl("http://jakir.me"); webView.setWebViewClient(new WebViewClient()); } }
webView.loadUrl(“http://jakir.me”); এখানে আমরা বলে দিয়েছি কোন সাইটটা লোড করবে। http://jakir.me পরিবর্তন করে যে কোন ওয়েব সাইটের লিঙ্ক দিয়ে দেওয়া যাবে।
আমাদের অ্যাপটা যেহেতু একটা ওয়েব সাইট দেখাবে, সেহেতু আমাদের ইন্টারনেট লাগবে। আর তা আমাদের Android Manifest এ বলে দিতে হবে। তার জন্য নিচের পারমিশনটা যুক্ত করবঃ
<uses-permission android:name="android.permission.INTERNET"/>
সম্পুর্ণ AndroidManifest.xml এর কোডঃ
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="me.jakir.webview" android:versionCode="1" android:versionName="1.0" > <uses-sdk android:minSdkVersion="8" android:targetSdkVersion="21" /> <uses-permission android:name="android.permission.INTERNET"/> <application android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" > <activity android:name=".MainActivity" android:label="@string/app_name" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> </manifest>
এবার অ্যাপটা বিল্ড করে রান করালে আমাদের অ্যাপে যে ওয়েব সাইটটা দেখাতে চাচ্ছি, তা দেখাবে। সম্পুর্ণ কোড পাওয়া যাবে গিটহাবে।
ধন্যবাদ জাকির ভাই 🙂
-_-
উপকারী পোস্ট । দেখব ট্রাই করে ।
ভালো লিখছেন! 🙂 আমার এই ব্লগটা অনেক পছন্দের। ডেইলি একবার ঢু মারি 😀
ব্লগটা আমার ও অনেক পছন্দের। আমার সব সময়ই একটা ট্যাব ওপেন থাকে 😀
Many many Thanks Jakir vai.
This post is very helpful …..
জাকির ভাই, আমি android app development এ নতুন। টিউটোরিয়াল দেখে একটা ওয়েব ভিউ এপ তৈরি করেছি। এপটা প্লেন URL (example.com) হলে ঠিক মত কাজ করে, কিন্তু example.com:8282/apps/f?p=dhaka এ রকম URL দিলে ব্রাউজার এ ওপেন হয়। এটা কিভাবে ঠিক করব? any suggestion?
MainActivity.java এবং AndroidManifest.xml এর কোড এখানে-
http://pastebin.com/Yhb9MdvY
ঐভাবে সমস্যা হলে আইফ্রেমে ট্রাই করে দেখতে পারেন 🙂
thanks bro
প্রবলেম হচ্ছে। অ্যাপ ওপেন হলে বলে “webpage not available”. বাট আমার নেট কানেকশন ওকে & সাইটটাও available. কি করব?
AndroidManifest.xml এখানে মনে হই permission দেয়া হইনাই ।
ভাই সেই একটা ব্লগ… ধন্যবাদ ভাই।
zakir vai আপনি কোড গুলো যেবাবে লিখেছেন সেবাবে লিখলে চলবে……..
html ভাষার সাথে এ ভাষার মিল পাইনা আমি
ভায়া, যেগুলো import করতে হবে বলেছেন java file এ। সেগুলো কি Android Studio তে অন্য কোন ভাবে setup করতে হয়, আগে থেকেই? নাকি শুধু অ্যাপ কোড লিখার সময় “import ****” দিলেই হবে। আমার প্রায়ই এ জায়গায় এসে সমস্যা করে। কি করবো বলুন তো 😁
আলাদা করে কিছু সেটআপ করতে হবে না।
জাকির ভাই, .htmlকে .apk তে কনভার্ট করার অ্যাপ আছে কি?থাকলে নাম কি?refresh button
জাকির ভাই, .htmlকে .apk তে কনভার্ট করার অ্যাপ আছে কি?থাকলে নাম কি?