آموزش برنامه نویسی اندروید (Android)
دسته بندی ( ۴۸۲ آموزش )
نمایش دسته بندی ها (۴۸۲ آموزش)
مباحث اولیه، در برنامه نویسی اندروید
مباحث اولیه، در برنامه نویسی اندروید 28
کار با Activity ها ، در برنامه نویسی اندروید
کار با Activity ها ، در برنامه نویسی اندروید 21
طراحی فایل های xml متناظر با Activity ها و ... (لایه گرافیکی Activity ها و ...)، در برنامه نویسی اندروید
طراحی فایل های xml متناظر با Activity ها و ... (لایه گرافیکی Activity ها و ...)، در برنامه نویسی اندروید 11
کار با برنامه Eclipse (یا همان ADT Bundle)، در برنامه نویسی اندروید
کار با برنامه Eclipse (یا همان ADT Bundle)، در برنامه نویسی اندروید 11
خطاهای رایج در برنامه Eclipse و در برنامه نویسی اندروید
خطاهای رایج در برنامه Eclipse و در برنامه نویسی اندروید 10
کار با برنامه Android Studio ، در برنامه نویسی اندروید
کار با برنامه Android Studio ، در برنامه نویسی اندروید 9
خطاهای رایج در برنامه Android Studio و در برنامه نویسی اندروید
خطاهای رایج در برنامه Android Studio و در برنامه نویسی اندروید 3
تبدیل متغیرها و سایر تبدیل ها، در برنامه نویسی اندروید
تبدیل متغیرها و سایر تبدیل ها، در برنامه نویسی اندروید 9
نمایش عکس و کار با ImageView ، در برنامه نویسی اندروید
نمایش عکس و کار با ImageView ، در برنامه نویسی اندروید 23
نمایش متن و کار با رشته ها (strings) و TextView ، در برنامه نویسی اندروید
نمایش متن و کار با رشته ها (strings) و TextView ، در برنامه نویسی اندروید 38
ساخت دکمه (Button) ، در برنامه نویسی اندروید
ساخت دکمه (Button) ، در برنامه نویسی اندروید 7
ساخت لیست (فهرست) با ListView ، در برنامه نویسی اندروید
ساخت لیست (فهرست) با ListView ، در برنامه نویسی اندروید 12
ساخت EditText، در برنامه نویسی اندروید
ساخت EditText، در برنامه نویسی اندروید 6
مجموعه ویدئوهای آموزش طراحی متریال (Material Design)، در برنامه نویسی اندروید
مجموعه ویدئوهای آموزش طراحی متریال (Material Design)، در برنامه نویسی اندروید 13
طراحی متریال (Material Design)، در برنامه نویسی اندروید
طراحی متریال (Material Design)، در برنامه نویسی اندروید 3
پخش موسیقی، در برنامه نویسی اندروید
پخش موسیقی، در برنامه نویسی اندروید 5
نمایش انیمیشن، در برنامه نویسی اندروید
نمایش انیمیشن، در برنامه نویسی اندروید 3
تغییر ویژگی های کلی برنامه اندروید
تغییر ویژگی های کلی برنامه اندروید 3
ذخیره اطلاعات با SharedPreferences ، در برنامه نویسی اندروید
ذخیره اطلاعات با SharedPreferences ، در برنامه نویسی اندروید 2
پایگاه داده (SQLite Database)، در برنامه نویسی اندروید
پایگاه داده (SQLite Database)، در برنامه نویسی اندروید 10
تبادل اطلاعات بین برنامه اندروید و سرور اینترنتی (اینترنت)، در برنامه نویسی اندروید
تبادل اطلاعات بین برنامه اندروید و سرور اینترنتی (اینترنت)، در برنامه نویسی اندروید 21
نمایش یک صفحه اینترنتی یا کدهای HTML (کار با WebView) و ساخت لینک، در برنامه نویسی اندروید
نمایش یک صفحه اینترنتی یا کدهای HTML (کار با WebView) و ساخت لینک، در برنامه نویسی اندروید 8
حلقه ها (for و while و ...)، در برنامه نویسی اندروید
حلقه ها (for و while و ...)، در برنامه نویسی اندروید 2
نمایش پیام به کاربر (Dialog و AlertDialog و Toast و Notification و ...)، در برنامه نویسی اندروید
نمایش پیام به کاربر (Dialog و AlertDialog و Toast و Notification و ...)، در برنامه نویسی اندروید 11
ویژگی های صفحه نمایش و چرخش آن، در برنامه نویسی اندروید
ویژگی های صفحه نمایش و چرخش آن، در برنامه نویسی اندروید 10
به دست آوردن ویژگی های کلی برنامه اندروید، در برنامه نویسی اندروید
به دست آوردن ویژگی های کلی برنامه اندروید، در برنامه نویسی اندروید 4
به دست آوردن ویژگی های گوشی کاربر، در برنامه نویسی اندروید
به دست آوردن ویژگی های گوشی کاربر، در برنامه نویسی اندروید 5
بازی سازی، در برنامه نویسی اندروید
بازی سازی، در برنامه نویسی اندروید 1
به اشتراک گذاری (share)، در برنامه نویسی اندروید
به اشتراک گذاری (share)، در برنامه نویسی اندروید 5
کار با فایل ها و فولدرها در حافظه خارجی (External Storage)، در برنامه نویسی اندروید
کار با فایل ها و فولدرها در حافظه خارجی (External Storage)، در برنامه نویسی اندروید 15
کار با پوشه های raw و assets ، در برنامه نویسی اندروید
کار با پوشه های raw و assets ، در برنامه نویسی اندروید 2
عملیات های ریاضی، در برنامه نویسی اندروید
عملیات های ریاضی، در برنامه نویسی اندروید 13
کار با دوربین (Camera)، در برنامه نویسی اندروید
کار با دوربین (Camera)، در برنامه نویسی اندروید 3
کار با action bar ، در برنامه نویسی اندروید
کار با action bar ، در برنامه نویسی اندروید 4
کار با کلاس ها (class) ، در برنامه نویسی اندروید
کار با کلاس ها (class) ، در برنامه نویسی اندروید 4
کار با package ها ، در برنامه نویسی اندروید
کار با package ها ، در برنامه نویسی اندروید 2
نرم افزارهای شبیه ساز برای اجرای برنامه های اندروید بر روی سیستم عامل کامپیوتر (مثل ویندوز)
نرم افزارهای شبیه ساز برای اجرای برنامه های اندروید بر روی سیستم عامل کامپیوتر (مثل ویندوز) 2
امنیت، در برنامه نویسی اندروید
امنیت، در برنامه نویسی اندروید 1
Thread ها، در برنامه نویسی اندروید
Thread ها، در برنامه نویسی اندروید 3
سرویس ها (Service)، در برنامه نویسی اندروید
سرویس ها (Service)، در برنامه نویسی اندروید 9
BroadcastReceiver ، در برنامه نویسی اندروید
BroadcastReceiver ، در برنامه نویسی اندروید 0
تاریخ و زمان و تمامی موارد مرتبط با زمان (عملیات های زمان بندی شده و ...)، در برنامه نویسی اندروید
تاریخ و زمان و تمامی موارد مرتبط با زمان (عملیات های زمان بندی شده و ...)، در برنامه نویسی اندروید 11
AsyncTask ، در برنامه نویسی اندروید
AsyncTask ، در برنامه نویسی اندروید 2
آرایه ها (Arrays)، در برنامه نویسی اندروید
آرایه ها (Arrays)، در برنامه نویسی اندروید 3
لیست آرایه ای (ArrayList)، در برنامه نویسی اندروید
لیست آرایه ای (ArrayList)، در برنامه نویسی اندروید 6
رنگ ها (Colors)، در برنامه نویسی اندروید
رنگ ها (Colors)، در برنامه نویسی اندروید 3
Fragment ها و Tab بندی، در برنامه نویسی اندروید
Fragment ها و Tab بندی، در برنامه نویسی اندروید 8
معرفی کتابخانه ها (Libraries)، در برنامه نویسی اندروید
معرفی کتابخانه ها (Libraries)، در برنامه نویسی اندروید 1
ساخت ProgressDialog یا ProgressBar برای نمایش میزان پیشرفت اجرای یک سری عملیات، در برنامه نویسی اندروید
ساخت ProgressDialog یا ProgressBar برای نمایش میزان پیشرفت اجرای یک سری عملیات، در برنامه نویسی اندروید 3
نسخه اندروید (Android version) و API level (نسخه API) ، در برنامه نویسی اندروید
نسخه اندروید (Android version) و API level (نسخه API) ، در برنامه نویسی اندروید 1
لرزاندن گوشی (vibrate)، در برنامه نویسی اندروید
لرزاندن گوشی (vibrate)، در برنامه نویسی اندروید 2
پرداخت درون برنامه ای، در برنامه نویسی اندروید
پرداخت درون برنامه ای، در برنامه نویسی اندروید 1
 پروژه های اندروید Open Source کاربران کلیدستان
پروژه های اندروید Open Source کاربران کلیدستان 2
ساخت امکانات جانبی (جستجو، لیست علاقه مندی، لوگو، منو و ...) برای برنامه اندروید
ساخت امکانات جانبی (جستجو، لیست علاقه مندی، لوگو، منو و ...) برای برنامه اندروید 5
مباحث عمومی، در برنامه نویسی اندروید
مباحث عمومی، در برنامه نویسی اندروید 35

ارسال اطلاعات با روش POST به یک صفحه اینترنتی (آدرس URL)، هنگام بارگذاری صفحه اینترنتی در WebView ، در برنامه نویسی اندروید

در کلید شماره 224 ، چگونگی نمایش یک صفحه اینترنتی (آدرس URL) در WebView را شرح دادیم. در مبحث مورد نظر، تنها آدرس URL صفحه ذکر میشد و نتیجه اجرای صفحه را در WebView مشاهده می کردیم. اما گاهی نیاز داریم که اطلاعاتی را به صفحه اینترنتی مورد نظر ارسال کنیم. معمولا دو روش GET ( کلید شماره 439 - کلید شماره 2589 ) و POST ( کلید شماره 399 ) برای ارسال اطلاعات به صفحات اینترنتی به کار می روند. در روش GET ، اطلاعات در انتهای خود آدرس URL صفحه ذکر می شوند، بنابراین با همان کد مربوط به کلید شماره 224 قابل اجرا می باشد. اما در روش POST ، اطلاعات در آدرس URL ذکر نمی شوند و بنابراین باید کدهای متفاوتی را برای ارسال اطلاعات با استفاده از روش POST ، به کار ببریم. در ادامه شیوه کدنویسی برای ارسال اطلاعات با روش POST را شرح می دهیم.

برای این مبحث آموزشی، از آدرس اینترنتی زیر استفاده می کنیم :

همان طور که مشاهده می کنید، صفحه اینترنتی مورد نظر، در سایت کلیدستان (http://www.kelidestan.com) قرار دارد و آن را در پوشه ای (folder) به نام fixed-url قرار داده ایم. نام این پوشه، به این دلیل برایر fixed-url انتخاب شده است، که در آینده حواسمان باشد که نباید آدرس URL صفحات موجود در این پوشه، تغییر کند، بنابراین شما با خیال راحت و بدون نگرانی از تغییر آدرس URL و یا محتوای صفحات، می توانید از آنها استفاده کنید.

در صفحه kelidestan-2.php ، کدهای PHP زیر را می نویسیم (البته ممکن است برای شما کدنویسی صفحه مهم نباشد و فقط بخواهید نتیجه را تست کنید، در این صورت فقط توضیحاتی که در ادامه گفته می شود را بخوانید تا پارامترهایی که با روش POST باید به صفحه بفرستیم را متوجه شوید) :

بنابراین کدهای PHP صفحه، ابتدا چک می کنند که مقادیری برای دو متغیر country و age ، با روش POST ، به صفحه ارسال شده باشد (اگر ارسال نشده باشد، هیچ کد دیگری اجرا نمی شود و خروجی به صورت صفحه خالی خواهد بود). سپس در صورتی که برای هر دو متغیر، مقدار به صفحه ارسال شده باشد، مقادیر دریافت شده و در دو متغیر با همان نام ها، ذخیره می شود. سپس یک عبارت که در آن، مقدار متغیرها نیز وجود دارد، در خروجی چاپ می شود.

اگر در کدها دقت کنید، دو تابع htmlspecialchars و strip_tags را بر روی مقادیر دریافت شده، اعمال کرده ایم. این عمل برای ایجاد امنیت بیشتر است زیرا ممکن است که یک کاربر، به عنوان هکر، تعدادی کد مخرب را در میان ورودی ها قرار بدهد. در این مورد، در مبحثی دیگر صحبت خواهیم کرد، اما بد نیست به طور مختصر بگوییم که تابع htmlspecialchars ، باعث می شود که هنگام چاپ یک عبارت در خروجی صفحه، اگر تگ های (tags) مربوط به HTML در آن عبارت وجود دارند، به جای اجرا شدن به عنوان کد، تنها در خروجی نمایش داده شوند. همچنین تابع strip_tags ، برای حذف تگ های HTML و PHP موجود در یک عبارت به کار می رود. اگر در آینده بخش های امنیتی بیشتری به این کدها اضافه کنیم، شما مطمئن باشید که در خروجی صفحات تاثیری نخواهد داشت و با اطمینان می توانید از این صفحات استفاده کنید (همان طور که گفتیم، آدرس URL آنها همیشه ثابت خواهد بود و عملکرد آنها تغییری نخواهد کرد و فقط ممکن است صلاح بدانیم که بخشی از کدهای امنیتی را در اینجا نمایش ندهیم).

خوب اکنون به سراغ کدنویسی برنامه اندروید می رویم.

کدهای Activity می تواند مشابه کد زیر باشد (کد زیر با این فرض است که در فایل xml متناظر با Activity ، یک عنصر WebView با id برابر webView1 تعریف شده است. همچنین ذکر اجازه دسترسی به اینترنت در فایل AndroidManifest.xml از پروژه اندروید فراموش نشود) :

که بخش مهم آن، کد زیر می باشد :

در پرانتز مربوط به روش postUrl ، آدرس URL صفحه اینترنتی را ذکر کرده ایم. اطلاعاتی که با روش POST به آدرس URL ارسال می شوند نیز در متغیر postData که از جنس رشته (String) می باشد، ذکر شده اند :

همان طور که مشاهده می کنید، برای جداسازی مقادیر (پارامترهای مختلف) از هم، از علامت & استفاده شده است. یعنی اگر 10 تا پارامتر هم داشتیم، باید تک تک آنها را با علامت & از هم جدا کنیم تا قابل تشخیص باشند. برای هر پارامتر، ابتدا نام آن ذکر شده و سپس یک علامت = و در آخر هم مقدار انتخابی ما برای آن پارامتر نوشته می شود. مثلا با عبارت فوق، مقدار پارامتر country را برابر iran و مقدار پارامتر age را برابر 20 انتخاب کرده ایم. پس این مقادیر با روش POST به آدرس URL مورد نظر ارسال می شوند.

با اجرای کد مورد نظر، خروجی زیر در WebView نمایش داده می شود (ممکن است فونت متن خیلی کوچک باشد، پس در WebView کمی zoom کنید تا نتیجه را بهتر ببینید) :

نکته

برخی از برنامه نویسان (در سایت های خارجی) بیان کرده اند که ممکن است روش فوق برای برخی از سایت ها به درستی عمل نکند و راه حل آن را هم جاگزینی عبارت utf-8 با عبارت BASE64 ذکر کرده اند. باید دقت داشته باشید که این جایگزینی باعث می شود که اگر در مقادیر، کاراکترهای فارسی بنویسیم، آنگاه این کاراکترها به درستی نمایش داده نشوند (زیرا حتما باید utf-8 ذکر شود). بنابراین بر حسب اینکه با اطلاعات شامل کاراکترهای فارسی کار می کنید یا خیر، این نکته را هم در نظر داشته باشید.

نویسنده علیرضا گلمکانی
شماره کلید 3047
گزینه ها
به اشتراک گذاری (Share) در شبکه های اجتماعی
نظرات 7 7 0
mohsen1473
۱۳۹۵/۰۴/۱۷
۱۹:۰۵

سلام
قسمت آخر کد ( import org.apache.http.util.EncodingUtils) تو برنامه ارور میده و نمیشناسه 
برای همین خط آخر هم خطا میده باید جیکار کرد ؟

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

سلام.
کلاس های مرتبط با org.apache.http در API های جدید اندروید حذف شده اند، بنابراین شما باید یا روش ها و کلاس های (Classes) جایگزین آنها را بیابید و یا اینکه همان کلاس های قدیمی را به پروژه اندروید خود اضافه کنید.
چگونگی افزودن کلاس های قدیمی (مرتبط با org.apache.http) در کلید زیر موجود است (برای Android Studio) :

کلید شماره 6981

Flower

سعید
۱۳۹۵/۰۷/۱۸
۱۸:۱۶

سلام.آیا میشود اطلاعات از برنامه به یک وبلاگ ساده ارسال شود؟
حتما باید صاحب سایت بود؟

admin
۱۳۹۵/۰۷/۲۶
۰۷:۲۶

سلام.
اگر سیستم وبلاگ مورد نظر به شما اجازه آپلود فایل های PHP و اجرای آنها را بدهد، می توانید فایل php را آپلود کنید و بر اساس آدرس اینترنتی آن (آدرس URL)، به آن ارجاع دهید (آن را اجرا کنید) (مهم این است که کد PHP مورد نظر را بتوانید در یک فایل php که در اینترنت قرار گرفته، بنویسید. تفاوتی نمی کند که سیستم مورد نظر یک سایت باشد یا یک وبلاگ یا ...).
دقت شود که برخی شرکت های هاستینگ که فضای اختصاصی برای وب سایت (هاست) می فروشند، دارای برخی پلن های رایگان نیز می باشند که معمولا یک زیردامنه (subdomain) نیز در اختیار افراد قرار می دهند تا نیازی به خرید دامنه (domain) نیز نباشد (ممکن است در آنها آزادی عمل بیشتری داشته باشید).

Flower

ارمیتا
۱۳۹۶/۰۸/۱۷
۲۰:۴۱

سلام
من از همین سورس برا ارسال اطلاعات استفاده کردم و مشکلی هم نداشت اما وقتی پیام ارسالی از 1000 کاراکتر بیشتر باشه ارسال نمیکنه و ار برنامه خارج میشه. مشکل از کجا هس؟ مشکل از سایت یا سرور من نیس چون با curl در php یا به روش ارسال فرم در html میشه به صورت نامحدود کاراکتر رو در هر بار استفاده ارسال کرد. 

ارمیتا
۱۳۹۶/۰۸/۲۰
۱۱:۱۲

هیچ کس بلد نیس؟

مرتضی
۱۳۹۷/۰۱/۳۰
۰۲:۱۳

سلام
اگه فایل پی اچ پی بصورت مستقل یعنی خارج از اندروید همین مشکل داره
باید فایل PHP.ini مقادیر post را افزایش بدی
اگه نه کلا url یک مقدار مشخصی را پست میکنه
می تونی از json استفاده کنی

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

جستجو در کلیدستان، توسط گوگل

جستجو در عنوان کلیدها

دسترسی سریع

کلید
×

شماره کلید


دسته بندی
×

شماره دسته کلید


جستجو
×

جستجو


کلمات کلیدی

راهنمای کلمات کلیدی (کلاس ها، توابع، عناصر و ...) در برنامه نویسی اندروید، بر اساس حرف اول کلمه کلیدی :

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

developer.android.com