آموزش برنامه نویسی اندروید (Android)
۴۱۹ آموزش
نمایش دسته بندی ها (۴۱۹ آموزش)

باز شدن لینک ها، درون خود WebView، در برنامه نویسی اندروید

همان طور که می دانید، اگر یک صفحه از اینترنت را با یک WebView نمایش بدهیم، آنگاه چنانچه کاربر بر روی یک لینک در آن صفحه، اشاره کند، لینک در خود WebView نمایش داده نمی شود، بلکه لیستی از برنامه های مرورگر اینترنت گوشی (یا به طور کلی، همه برنامه هایی که برای باز کردن لینک در نظر گرفته شده اند) نمایش داده خواهد شد که کاربر باید یکی را انتخاب کند تا لینک توسط آن مرورگر اینترنت، باز شود (صفحه اینترنتی مقصد نمایش داده شود). برای اینکه تعیین کنیم، لینک درون خود WebView باز شود، باید کدهای زیر را برای WebView بنویسیم (id برای WebView را برابر webview1 فرض کرده ایم) :


WebView myWebView = (WebView) findViewById(R.id.webview1);
myWebView.setWebViewClient(new WebViewClient());

پس از استفاده از کد بالا، تمامی لینک ها درون خود WebView باز می شوند.

بنابراین، کدهای لازم برای WebView می تواند به صورت کلی زیر باشد (برخی گزینه ها را به دلخواه اضافه کرده ایم) :


WebView myWebView = (WebView) findViewById(R.id.webview1);
myWebView.setWebViewClient(new WebViewClient());
myWebView.getSettings().setJavaScriptEnabled(true);
myWebView.getSettings().setLoadWithOverviewMode(true);
myWebView.getSettings().setUseWideViewPort(true);
myWebView.getSettings().setBuiltInZoomControls(true);
myWebView.loadUrl("http://www.kelidestan.com/android/index.php");

کدهای بالا برای یک WebView است که در فایل xml تعریف شده باشد و id آن برابر webview1 باشد.

همچنین همیشه به خاطر داشته باشید که هنگام رد و بدل کردن اطلاعات بین برنامه اندروید و اینترنت، باید اجازه دسترسی به اینترنت را در فایل AndroidManifest.xml پروژه اندروید، ذکر کنیم، یعنی باید کدهای زیر را در فایل AndroidManifest.xml پروژه اندروید بنویسیم :


<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="com.kelidestan.com"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk
        android:minSdkVersion="8"
        android:targetSdkVersion="18" />
   
    <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="com.kelidestan.com.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>
        <activity
            android:name="com.kelidestan.com.NewActiviity"
            android:label="@string/title_activity_new_activiity" >
        </activity>
    </application>

</manifest>
نویسنده علیرضا گلمکانی
شماره کلید 320
گزینه ها
به اشتراک گذاری (Share) در شبکه های اجتماعی
نظرات 14 12 2
مقصود
۱۳۹۵/۰۶/۲۰
۱۳:۲۳

با سلام

چطور میتونیم یک لینک رو خارج از وب ویو باز کنیم مثلا لینک کانال تلگرام رو بتونیم فراخوانی کنیم البته خارج از وب ویو باز شه یعنی سایتمون که با وب ویو باز میشه یه لینک تلگرام داره چطوری میتونم این لینک رو خارج از وب ویو باز کنم
از چه کدی در html استفاده کنم ممنونمکه راهنمایی کنید

صائب
۱۳۹۵/۰۹/۰۶
۱۸:۴۲

سلام
منم همین پرسش رو دارم. با این کد هر جور لینکی در وب ویو باز میشه

علیرضا
۱۳۹۶/۰۱/۰۹
۱۸:۵۴

با سلام ،
بنده یک وب ویو ساختم با آدرس www.picofile.com حالا میخوام وقتی کاربرانم برنامه رو باز کردن بتونن داخل سایت پیکوفایل عکس آپلود کنن تا اینجا درست رفتم اما وقتی که روی دکمه انتخاب فایل کلیک میکنم برنامم کلا بسته میشه اصن داخل گالری نمیره که عکس آپلود کنم خواهش میکنم کمکم کنید .

Aliakbar
۱۳۹۶/۰۵/۲۷
۱۴:۵۵

سلام تا اونجایی که من میدونم باید اجازه دسترسی به فایلهای روی دستگاه رو برای برنامتون بگیرین صدی نود جواب میده

امین
۱۳۹۶/۰۶/۳۱
۰۹:۴۵

ممنون خیلی کمکم کرد

ehsan
۱۳۹۶/۰۷/۲۷
۰۸:۵۱

سلام بر مدیریت محترم سایت کلیدستان

ببخشید من یه درخواست داشتم میشه سورس کد موزیگ پلیر که دفعه اول از از اینترنت پخش کنه و دفعات بعدی آهنگ رو تو حافظه داخلی ذخیره کنه و به صورت آفلاین پخش کنه

لطفا کمکم کنید من قراره این سورس رو تو برنامه ای که دارم برا اربعین آماده میکنم قرار بدم .
اجرتون با امام حسین

با تشکر

admin
۱۳۹۶/۰۷/۲۷
۱۳:۴۸

سلام.
توصیه می شود در اینترنت به دنبال سورس کدهای آماده جستجو کنید (مخصوصا در وب سایت های انگلیسی زبان) و با تست آنها، ببینید که کدامیک برای کاربرد مورد نظر شما مناسب می باشد.

Flower

ehsan
۱۳۹۶/۰۷/۲۷
۱۷:۲۸

سلام 
میشه شما پخش موزیک پلیر On line رو که قابلیت این رو داشته باشه که اولین بار آنلاین آهنگ رو پخش کنه و از دفعات بعد به صورت آفلاین به صورت یه پست آموزشی قرار بدید ؟؟؟

من خیلی به این آموزش نیاز دارم لطفا کمکم کنید. Heart Heart Heart Heart Heart

علی
۱۳۹۶/۰۹/۰۸
۱۵:۴۴

سلام ، خدا قوت

بنده یک وب ویو ساختم با آدرس  همه چی خوبه ولی کلید آپلود فایل کارنمیکنه
لطفا راهنمایی بفرمایید
این مجوزها رو هم دادم



کد پی‌اچ‌پی:
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

<
uses-permission android:name="android.permission.INTERNET" />

<
uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />

<
uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />

<
uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES" />



<
uses-permission android:name="android.permission.CAMERA" />

<
uses-feature android:name="android.hardware.camera" />

<
uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

<
uses-permission android:name="android.permission.CAMERA" /> 

کد پی‌اچ‌پی:
myWebView.getSettings().setJavaScriptEnabled(true);

myWebView.setScrollbarFadingEnabled(true);

myWebView.getSettings().setUseWideViewPort(true);

myWebView.getSettings().setBuiltInZoomControls(true);

myWebView.getSettings().setLoadWithOverviewMode(true);

myWebView.getSettings().setJavaScriptCanOpenWindowsAutomatically(true); 



در سایتهای خارجی خوندم که این مشکل فقط در اندروید 4.4.2 وجود داره و منم گوشیم اندروید 4.4.2 هست و روی گوشی دیگه ای تست نکردم

راهشم نوشتن ولی من متوجه نمیشم
با تشکر

مصطفی
۱۳۹۷/۰۴/۲۸
۱۹:۱۱

سلام
بنده میخواستم تو یک برنامه ای رو که از یک جایی دانلود کنم رو اصلاح کنم
مثلا میخوام لینکی که با کلیک کردن روی یک دکمه باز میشه رو تغییر بدم
اشنایی هم با زبان برنامه نویسی ندارم
فقط میخوام لینکی که من میخوام رو باز کنه همین 

mehnaz
۱۳۹۷/۰۵/۰۸
۰۷:۱۱

سلام به مدیریت سایت کلیدستان
برای لینک های داخلی چکار باید کرد.
file:///android_asset/index.html(مثلا)
که لینک داره به یه فایل دیگه که هر دو فایل داخل پوشه assets هستند منتها وقتی رو لینک کلیک می کنی میگه «فایل دیگر وجود ندارد....»

راز
۱۳۹۸/۰۹/۲۴
۰۰:۱۹

ببخشید جدیدا گوشی موبایل من مشکلی پیدا کرده که هیچ جا مشکل مشابه‌اش رو پیدا نکرد. مشکلش اینه که لینک برنامه‌ی دیگری رو در برنامه‌ی دیگری باز نمی کنه. حتی مشثلا تو برنامه های مختلفی که نیاز به پرداخت دارن، مثل اسنپ هم وارد لینک پرداخت نمی‌شه، فقط یه کادر سفید میاد که روش نوشته کلوز. مثلا لینک اینستاگرامی که توی واتس اپ کسی فرستاده رو هم به همین ترتیب باز نمی‌کنه و الی آخر

ارسال نظر جدید (بدون نیاز به عضو بودن در وب سایت)