هم اکنون عضو شوید

ورود

فراموشی گذرواژه

گذروازه خود را فراموش کردید ؟

ورود

عضو شوید

با عضویت در سایت از امکانات فوق العاده بهرمنده خواهید شد.

دوره آموزش برنامه نویسی اندروید
آموزش Mysql در برنامه نویسی اندروید (بخش ششم)

آموزش Mysql در برنامه نویسی اندروید (بخش ششم)

سلام دوستان در این سری از آموزش برنامه نویسی اندروید به آموزش Mysql در برنامه نویسی اندروید (بخش ششم) می پردازیم این آخرین بخش از این آموزش است که کدهای مربوط به اندروید را برای دریافت اطلاعات از دیتابیس می نویسیم در کل برنامه ما به دیتابیس متصل می شود در ادامه با ما همراه باشید.

اگر آموزش های قبلی را به خاطر داشته باشید ما یکسری فایل های php برای انجام کار درست کردیم یعنی به جای اینکه بیایم کلی کد خسته کننده اندروید رو بنویسیم اومدیم اعمال CRUD یا (Create, Read, Update, Delete) را با استفاده از php انجام می شود و نتیجه آن توسط json به ما برگشت داده می شود اگر یادتان باشد هر فایل php هر اتفاقی براش می افتاد یک json رو برمی گرداند پس کار ما در اینجا خواندن آن json است .

 

ابتدا دسترسی زیر را در فایل AndroidManifest.xml اضافه کنید.

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

  • اکتیویتی اول ما تمامی محصولاتی که در دیتابیس وجود دارد را نمایش می دهد. (Read)
  • اکتیویتی دوم ما برای اضافه کردن یک محصول جدید است. (Write)
  • اکتیویتی سوم ما برای ویرایش یک محصول است. (Update)

در Main اصلی باید کد زیر را قرار دهید. نام آن فایل که در res/layout قرار دارد برابر با main_screen.xml است.

در بالا دو دکمه برای باز کردن دو اکتیویتی گذاشته شده است.

وارد بخش کد همان اکتیویتی شده و کد زیر را در آن قرار دهید نام این اکتیویتی برابر با MainScreenActivity.java است.

کد بالا دو تا اکتیویتی را باز می کند.

یک فایل به نام all_products.xml ایجاد کرده و کد زیر را در آن قرار دهید.

در بالا یک listview قرار دادیم.

سپس یک فایل دیگر به نام list_item.xml ایجاد کنید و کد زیر را در آن قرار دهید.

کد بالا هر کدام از آیتم های ListView را تشکیل می دهند.

یک فایل به نام AllProductsActivity.java ایجاد کرده این اکتیویتی به all_products.xml بر می گردد و کد زیر را در آن قرار دهید.

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

این آدرس local مربوط به xammp است دوستانی که بروی سرور دارن این آموزش رو دنبال می کنند باید آدرس سرور (آدرس سایت) رو قرار بدهند. کد بالا کاری که انجام می دهد پارس کردن json است که آن را ما قبلا بررسی کردیم و دوستانی که نمی دانند json چیست واژه json را در سایت جستجو کنند.

ممکن است بعضی از کد ها نشناسد مشکلی در کد ها نیست ادامه دهید در آخر کار تمامی خطا ها از بین خواهند رفت.

یک فایل دیگر به نام  add_product.xml ایجاد کرده و کد زیر را در آن قرار دهید.

این اکتیویتی برای ایجاد یک محصول جدید استفاده می شود.

یک فایل جاوا به نام NewProductActivity.java ایجاد کرده کد زیر را در آن قرار دهید.

کاری که انجام می شود ما یکسری پارامتر را برای ایجاد یک محصول جدید به فایل create_product.php که در سرور یا xampp قرار دارد می فرستیم تا یک رکورد جدید با یکسری مقادیر ایجاد کند.

یک فایل دیگر به نام edit_product.xml ایجاد کرده و کد زیر را در آن قرار دهید.

این Layout برای ویرایش داده ها در سرور یا آپدیت داده ها استفاده می شود.

یک فایل به نام EditProductActivity.java ایجاد کرده و کد زیر را در آن قرار دهید.

کلاس اصلی که با آن Json ها پارس می شوند باید یک فایل به نام JSONParser.java ایجاد کنید و کد های زیر را در آن قرار دهید.

بهتر از کلاس بالا برای parse برای Object مربوط به Json استفاده کنید هم خیلی Clean است و هم حجمی بسیار کمی دارد و هم باعث افزایش حجم برنامه شما نمی شود.

 

این آموزش هم به پایان رسید.

 

موفق باشید.

 

درباره نویسنده

با زبان های برنامه نویسی C# , Java , Php به صورت تخصصی کار کردم و بیشتر وقتم رو در برنامه نویسی می گذرونم علاقه زیادی به ساخت اپلیکیشن اندروید دارم.

نظرها ( ۵ )

  1. امیر رضایی
    ۱۹, شهریور , ۱۳۹۶ در ۱:۱۱ ب.ظ

    سلام
    ممنون از آموزش خوبتون
    فقط این تابع get_all_products.php را کجا نوشتید. من از قسمت اول تا ۶ نگاه کردم این فایل را ننوشته بودید
    ممنون از شما

    • محمد حسین جعفری پور
      ۱۹, شهریور , ۱۳۹۶ در ۱:۴۵ ب.ظ

      سلام get_all_products.php را به get_product_details.php تغییر دهید.

      • امیر رضایی
        ۱۹, شهریور , ۱۳۹۶ در ۴:۰۶ ب.ظ

        get_product_details.php یک پارامتر pid داره. اما موقعی که ما میخواهیم همه اطلاعات را بخونیم که دیگه pid نداریم.
        من اون تابع را گذاشتم اما پیغام Required field(s) is missing را برمیگردونه. مشخص هم هست چون pid را موقعی که همه رکوردها را داریم میخونیم بهش نمیدیم.
        List params = new ArrayList();
        JSONObject json = jParser.makeHttpRequest(url_all_products, “GET”, params);

        بهparams هیچ مقداری داده نشده اما get_product_details.php مقدار میخواهد

  2. امیر رضایی
    ۲۷, شهریور , ۱۳۹۶ در ۱۱:۰۳ ق.ظ

    جواب سوال بالایی را نمیدید؟؟