لوگوی وبسایت
تمام آموزش های وبسایت رایگان می باشد ، پس از صفحات مختلف سایت دیدن فرمایید .

اتصال به دیتابیس آنلاین با کتاب خانه جاوا mhrCrud

سلام دوستان امیدوارم حالتون خوب باشد ، همان طور که قول دادم کتاب خانه ی جاوای mhrCrud آماده کردیم و به صورت رایگان برای اعضا قرار میدهیم.

دانلود “کتاب خانه mhrCrud” mhrCrudv1_java.zip – Downloaded 26 times – 7 KB

لطفا ابتدا کتاب خانه را دانلود کنید ( دانلود برای اعضای سایت رایگان میباشد ، عضویت رایگان میباشد )

توجه کنید که این کتاب خانه به کتاب خانه Android Asynchronous Http Client نیاز دارد که باید آن را از لینک زیر دانلود کنید .

https://search.maven.org/remotecontent?filepath=com/loopj/android/android-async-http/1.4.8/android-async-http-1.4.8.jar

الحاق کتاب خانه ها به پرونده ی اصلی

الحاق کتاب خانه به پروژه اندروید استودیو در سایت قبلا قرار گرفته بوده است : مشاهده ی پست

توجه کنید که هم کتاب خانه ی mhrCrud و هم کتاب خانه ی Android Async Http Client را به پروژه پیوست دهید .

آماده سازی اسکریپت تحت سرور کتاب خانه

شما باید فایل crudOptimized.php را در هاستتان آپلود کنید ( در پوشه ی public_html یا زیر شاخه های آن ) و ترجیحا نام فایل  را عوض کنید .

این اسکریپت بر اساس mhrCrud ساخته شده است که نحوه ی کانفیگ کردن آن را قبلا در سایت قرار داده بودم : مشاهده ی پست

در این نسخه ویرایش شده یک تفاوت وجود دارد و آن افزوده شدن بخش token است .

اما توکن چیست ؟

ما در اسکریپت و کتاب خانه مقداری به نام توکن قرار داده ایم که باید بخش تحت سرور و کتاب خانه ی آن همخوانی داشته باشند. حتما در خط دوم که کد زیر قرار دارد ، مقدار رشته ی توکن را تغییر دهید ( به هر رشته ایی که میخواهید ) و مقدار آن را کپی کنید زیرا در کتاب خانه به آن نیاز داریم .

برای مثال :

خوب توکن ما آماده است و بخش تحت سرور هم کانفیگ شده است .

استفاده از کتاب خانه ی mhrCrud در جاوا

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

الان ما کلاس های کتاب خانه را داریم . ابتدا یک آبجکت از نوع mhrCrudClient میسازیم که کلاس مان را به آن تعریف کنیم .

کلاس ما شامل ۴ متد اصلی میباشد که به ترتیب توضیح میدهم .

قبل از شروع باید ذکر کنم که این کتاب خانه یک کلاس اینترفیس به نام executedHandler دارد که ۳ متد میخواهد :

متد onSuccess با خروجی boolean که برای کوئری هایی که دستور دارند و مقدار خروجی ندارند ( مانند insert, update, delete ) استفاده میشود . و اگر کوئری انجام شود مقدار true در غیر اینصورت مقدار false را بر میگرداند.

متد onSuccess با خروجی List<HashMap> که یک لیست با هش مپ ها برمیگرداند و برای بدست آوردن خروجی کوئری select استفاده میشود . هر ایتم لیست ( هش مپ ) نشان دهنده ی یک ریکورد و هر ایتم هش مپ نشان دهنده ی فیلد مد نظر است . key ها هم در هش مپ نام فیلد میباشند .

متد onError با خروجی String که رشته ی اررور را بر میگرداند . در ادامه درباره ی اررو ها توضیح خواهم داد .

متد setServerSideUrl

این متد یک ورودی String میگیرد که باید آدرس دقیق فایل اسکریپت تحت سرورتان را به ان بدهید . برای مثال :

متد setToken

این متد یک ورودی String میگیرد که همان توکن تحت سرور ما میباشد ( بدون تعریف این مقدار ، کتاب خانه حتما به شما خطا میدهد ! )

متد commandExecute

این متد برای اجرای کوئری هایی میباشند که خروجی فقط true یا false دارند ( مانند insert , delete , update ) و مقداری را به عنوان داده مورد نظر بر نمی گردانند.

ورودی اول ما کوئری که String هست ، میباشد . کوئری را کامل وارد کنید .

ورودی دوم ما بایند ها میباشد که از نوع List<String> میباشد . توجه کنید که برای باند کردن در کوئری از ? استفاده کنید و تعداد بایند ها و ? باید یکسان باشند.

ورودی سوم ما یک executedHandler میباشد. توجه کنید که حتما متد را در try catch قرار دهید .

متد commandSelect

این متد برای کوئری Select استفاده میشود . ورودی های این متد همانند ورودی های متد قبلی میباشد ولی توجه کنید که در این متد onSuccess با خروجی boolean کاربردی ندارد .

مثال :

خطا های سمت سرور

ERR@ACCESS_DENIED : توکن اشتباه است

ERR@CONNECTION : اطلاعات دیتابیس در اسکریپت اشتباه است .

ERR@QUERY_IS_UNDEFINED و ERR@TYPE_IS_UNDEFINED : این خطاها به کتاب خانه مربوط میشود و در صورت بروز لطفا گذارش دهید .

در غیر اینصورت خطی ها به صورت متن داده میشوند که به کتاب خانه مربوط نمیباشند .

توجه کنید که این کتاب خانه با کوئری های Insert , Select , Delete , Update تست شده است .

 

 

 

بر چسب های پست : , , , ,
2 دیدگاه برای “اتصال به دیتابیس آنلاین با کتاب خانه جاوا mhrCrud”
  1. mohsenhrt گفت:

    سلام وخسته نباشید
    این کدها رو مگه نباید توی asyncron thread گذاشت چون روی نخ اصلی اگه اجرا بشن مشکلاتی بوجود میاد؟
    کد آسنکرون رو میذارید؟
    ممنون

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

ورود به حساب کاربری
بستن این پنجره