معرفی برنامه Farayan Android Code Generator

من برنامه نویسی از جزیره مایکروسافت هستم، جایی که ابزارهای جادویی ویژوال استودیو کار را آنچنان ساده کرده که حتی متوجه فرآیند های پیچیده آن نمی شویم.

یکی از بهترین کارهایی که ویژوال استودیو انجام می دهد تولید خودکار کدهایی هست که شما هیچگاه آنها را ندیده اید، ولی همیشه از آن استفاده کرده اید. مثلا Web Form ها دارای ابزارهایی هستند که به راحتی در کد پس زمینه با شناسه (ID) شان قابل دسترس هستند. شما احتمالا هیچگاه متوجه فرآیندی که ویژوال استودیو به صورت خودکار انجام میدهد نشده اید. ویژوال استودیو، کد های markup (موجود در فایل های ASPX و ASCX) را پردازش کرده و فایل های متناسب با آن را تولید می کند. سپس این کلاس تولید شده را در کنار کلاس کد پس زمینه (Code Behind) قرار می دهد و شما بدون اینکه متوجه باشید از پراپرتی هایی که در کلاس دوم تعریف شده اند استفاده می کند.

مثلا اگر در کد ascx خود، از textbox ای با شناسه NameTextBox استفاده کنید، از کد پس زمینه هم به راحتی می توانید چیزی شبیه زیر را بنویسید:

NameTextBox.Text = "test";

اما در هنگام نوشتن برنامه های اندروید، برای تغییر هر کدام از عناصر صفحه فرآیند طولانی ای باید انجام شود. مثلا به نمونه زیر توجه کنید:


TextEdit NameTextEdit = (TextEdit)findViewById(R.id.NameTextEdit);

NameTextEdit.setText("Hey! you see this is long and boring and error prone")!

همانطور که از کد  بالا بر می آید، اولا کد یک خطی تبدیل شده به دو خط، دوم اینکه در صورتی که شناسه NameTextEdit را عوض بکنید، بایستی در چندین جای دیگر هم این شناسه را عوض کنید. سومین مورد، تبدیل کردن شی به نوع مد نظر است که اگرچه ساده است، اما زمانبر می باشد. اگر بخواهید از این متغیر به صورت سراسری استفاده کنید، فرآیند تعریف آن نیز اندکی سخت تر می شود. اما اگر بخواهید به صورت محلی استفاده کنید، بایستی دائما این کد را بنویسید. اشکال چهارم کار در اینست که اگر شما آی دی شی دیگری را به تابع ارسال کنید، تابع در زمان اجرا دچار مشکل می شود و نول بر می گرداند. اگر شما خوش شانس باشید، می توانید قبل از انتشار متوجه شده و آن را رفع کنید در غیر اینصورت با سری شکسته باید جلوی مشتری پوزش بطلبید :)

ما در فرایان برای رفع این مشکل، برنامه بسیار ساده ویندوزی نوشته ایم که فضایی شبیه برنامه های .نت و C# می سازد و کدی را تولید می کند که فرآیند تکراری و مشکل ساز بالا را به صورتی بسیار ساده انجام می دهد.

با استفاده از برنامه Farayan Android Code Generator کد های متناظر برای هر فایل layout به صورت خودکار تولید می شود و بنابراین لازم نیست شما نگران تغییر شناسه، یا تبدیل یا هر چیز دیگری باشید. برای مثال کد زیر را ببینید که توسط این برنامه تولید شده است:

package Farayan.FaraBank.UI;

import android.os.Bundle;
import android.widget.*;
import android.view.*;
import Farayan.FaraBank.*;

public class InvoiceAdvancedFormActivityParent extends BaseActivity {
protected EditText InvoiceItemNameEditText;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_invoice_advanced_form);
InvoiceItemNameEditText = (EditText)findViewById(R.id.InvoiceItemNameEditText);
}
}

این کد توسط برنامه ایجاد شده است. تنها کاری که شما باید بکنید اینست که کلاس Activity خود را از کلاس تولید شده مشتق کنید. فرآیند نام گذاری کلاس تولید شده نیز بسیار ساده است، اگر کلاس اکتیویتی شما InvoiceAdvancedFormActivity است، کلاس InvoiceAdvancedFormActivityParent (با افزودن کلمه Parent به انتهای اسم کلاس) تولید می شود.

با توجه به اینکه هر پراپرتی به صورت protected در کلاس parent تعریف می شود، در کلاس اکتیویتی اصلی به راحتی و با استفاده از شناسه آن قابل دسترس است. مثلا:


NewPersonButton.setOnClickListener(NewPersonButton_Click);

روش استفاده از برنامه:

برای استفاده از برنامه، بعد از نصب، آنرا اجرا کنید و به ازای هر پروژه، یک مدخل درون آن ایجاد کنید. برای ایجاد مدخل لازم است پوشه اصلی حاوی پروژه، نام بسته (Package) و در صورت لزوم فهرستی از import ها را ثبت کنید.

  1. بعد از اجرای برنامه، آیکون چشم در TrayBar نمایش داده می شود:
    farayan-android-code-generator-1
  2. روی آیکن راست کلیک کنید و گزینه تنظیمات را انتخاب کنید:
    farayan-android-code-generator-2
  3. همانطور که در فرم می بینید باید چند تا چیز را برای برنامه مشخص کنید:
    farayan-android-code-generator-4

    • پوشه پروژه را مشخص کنید (باید پوشه ای باشد که درون آن پوشه های src و res به صورت مستقیم قرار گرفته باشند
    • نام بسته (Package) برنامه را وارد کنید (در این مورد Farayan.FaraBank)
    • کلاس یا کلاسهایی که می خواهید در فایل نهایی وارد (import) بکنید (جدا شده با اینتر)
    • تیک Enabled
    • پس از وارد کردن اطلاعات فوق دکمه Persist را بزنید

    همانطور که می بینید، یک مورد به لیست زیر فرم افزوده می شود. با استفاده از این لیست، شما می توانید کارهای زیر را انجام بدهید

    • برای تولید مجدد همه فایل ها، پروژه مورد را انتخاب کرده و دکمه Generate را بزنید
    • برای ویرایش تنظیمات، دکمه Edit را بزنید و سپس پرسشنامه را که با اطلاعات پروژه پر شده، ویرایش کنید
    • برای حذف پروژه آن را انتخاب کرده و دکمه Remove را بزنید
    • همچنین برای اینکه به محض هر تغییری در فایل های layout، فایل های جاوای متناظر ساخته شوند، تیک Detect file change & build java files را بزنید

نکات:

  1. این برنامه هنوز کامل نشده و ممکن است برخی جاها خطا داشته باشد. بنابراین از شما می خواهم در صورتی که به مشکلی برخوردید، به من اطلاع دهید
  2. این برنامه فقط فایل های layout ای که با activity_ شروع می شود را به عنوان layout می شناسد و کلاس های متناظر را ایجاد می کند
  3. به همین صورت برنامه فایل هایی را که با عبارت fragment_ شروع شوند را به عنوان fragment می شناسد و کلاس متناظر را ایجاد می کند
  4. اکتیویتی های ایجاد شده از کلاس BaseActivity و فرگمنت های ایجاد شده از کلاس BaseFragment مشتق می شوند. بنابراین شما باید این دو کلاس را ایجاد کنید. کلاس BaseActivity باید به صورت مستقیم یا غیرمستقیم از کلاس Activity مشتق شوند. همین مورد درباره کلاس BaseFragment نیز صادق است و این کلاس باید به صورت مستقیم یا غیر مستقیم از کلاس Fagment مشتق شود
  5. در تابع onCreate در کلاس اکتیویتی اصلی، باید خط زیر را حذف کنید
    setContentView(R.layout.activity_invoice_advanced_form);

دانلود برنامه کدساز اندروید فرایان

facebooktwittergoogle_plusredditpinterestlinkedinmailfacebooktwittergoogle_plusredditpinterestlinkedinmail




3 فکر می‌کنند “معرفی برنامه Farayan Android Code Generator

  1. رادش

    اجب برنامه بدرد بخوری من از سی شارپ که اومدم جاوا اعصابم ریخت بهم تا بتونم به این جور کد زدن عجیب جاوا عادت کنم هنوزم بعضی جاها نمیفهمم دارم چیکار میکنم سایتتون عالیه

    پاسخ
  2. اسی

    با سلام
    من رشته ام حسابداری است و از برنامه نویسی هیچی نمیدونم فقط درحد ۲ کلیپ نیم ساعته از ۱۰۰ قسمت اموزشهای یک سایت را دیدم و چون در همین حد هم b4a را دیده بودم خیلی سریع به این نتیجه رسیدم که چقدر مزخرف است که باید یه چیزی را در کلاس ها و xml ها و شاید چند جای دیگه هم تعریف کنی و به برنامه بشناسونی و خیلی کار دیگه هم بکنی و سرانجام همه را به هم مرتبط سازی و با کوچکترین اشتباه هم به فنا میری و کلا خیلی بی خود و بدرد نخور هست -من اینقدر اطلاعاتم از برنامه نویسی هست که بابای من سال ۱۳۰۰ میدونست و یا انقدر که هیچی از معرفی برنامه بالا نفهمیدم ولی اینو فهمیدم که یه سری از کارای مزخرف در اکلیپس یا اندروید استدیو (اگه اسماش را درست نوشته باشم) را راحت میکنه

    دمت گرم با این سایتت و آموزشهات- دمت گرم-دمت گرم- دمت گرم
    نیاز به کمک دارم در زمینه برنامه نویسی اندروید ایمیلتون را ندیدم توسایت – لطفا اگه وقت دارین و میتونین کمکم کنید یه ندای کوچولو بدین به ۰۹۳۰۲۸۳۸۱۶۴-esie20@yahoo.com
    تشکر فراوان بابت همه چیز

    پاسخ

پاسخ دهید

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

شما می‌توانید از این دستورات HTML استفاده کنید: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>