PDA

View Full Version : ساخت برنامه ای با فرم های (رابط کاربری) پویا که از طریق یک سرور ساخته میشه!



vasilopita
چهارشنبه 26 خرداد 1395, 15:28 عصر
سلام. چطور می تونم برنامه ای بسازم که رابط کاربری پویایی داره. یعنی مثل یک وب اپلیکیشن. به این شکل که فرم هاش از قبل آماده نشده و هر بار از طریق یک سرور ساخته میشه و به برنامه اضافه میشه.
فرض کنید برای مثال بار اول یه تکست اینپوت داریم برای نام و نام خانوادگی. حالا می خوایم از طریق سرور یه تکست اینپوت دیگه اضافه کنیم برای کد ملی.
ممنون از راهنماییتون.

Alireza_Ar1
چهارشنبه 26 خرداد 1395, 20:11 عصر
شما بهتره این کارو بکنی از طرف سرور که دستور میاد مثلا برای دیافت کد ملی شما یک کلاس بنویسی برای ساختن اون EditText و توی قسمت مورد نظر با ی دستور شرطی به اون قسمت مراجعه کنیو اون EditText توی قسمت مورد نظرت نشون داده بشه .
به لینک زیر ی سر بزن خیلی میتونه کمکت کنه .
http://appinapps.com/Articles_View.aspx?aid=164&t=%D8%B3%D8%A7%D8%AE%D8%AA%20%D9%84%D8%A7%DB%8C%D9 %87%20%20%D9%88%20%D8%B9%D9%86%D8%A7%D8%B5%D8%B1%2 0%D8%AF%D8%A7%DB%8C%D9%86%D8%A7%D9%85%DB%8C%DA%A9% 20%D8%AF%D8%B1%20%D8%A7%D9%86%D8%AF%D8%B1%D9%88%DB %8C%D8%AF

godofphp
پنج شنبه 27 خرداد 1395, 00:55 صبح
سلام. چطور می تونم برنامه ای بسازم که رابط کاربری پویایی داره. یعنی مثل یک وب اپلیکیشن. به این شکل که فرم هاش از قبل آماده نشده و هر بار از طریق یک سرور ساخته میشه و به برنامه اضافه میشه.
فرض کنید برای مثال بار اول یه تکست اینپوت داریم برای نام و نام خانوادگی. حالا می خوایم از طریق سرور یه تکست اینپوت دیگه اضافه کنیم برای کد ملی.
ممنون از راهنماییتون.
خداییش من از این توضیحات هیچی نفهمیدم

vasilopita
شنبه 29 خرداد 1395, 12:34 عصر
خداییش من از این توضیحات هیچی نفهمیدم

راهی وجود داره که کد xml رو از سرور بگیره و در لحظه ui رو بسازه ؟

Nevercom
شنبه 29 خرداد 1395, 13:48 عصر
خب می دونید که برای اینکه در Runtime بتونید UI رو دستکاری کنید، باید عناصری که می خواید اضافه بشه رو بصورت داینامیک و درواقع در کدهای جاوا اضافه کنید.

مرحله ی اول اینه که در این مورد تحقیق کنید که البته پیچیدگی خاصی هم نداره، فقط یکم کدنویسیش بیشتره (برای ست کردن خصوصیات هر ویو...)

بعد باید یک ساختار داده ایجاد کنید (حالا با هر فرمتی، XML, JSON...)، که بتونید اشاره کنید که چه عناصری باید وجود داشته باشن و درصورت لزوم بعضی خصوصیاتشون رو هم که باید ست بشه رو هم ذکر می کنید
مثلاً:

[ {
"type": "tv",
"height": "match_parent",
"width": "48dp",
"properties": {
"text": "This is Caption",
"textColor": "#fafafa"
}
},
{
"type": "btn",
"height": "wrap_content",
"width": "48dp",
"properties": {
"text": "This is Caption",
"textColor": "#fafafa",
"background": "your_drawable"
}
}
]

حالا که تصمیم گرفتید ساختار داده ی شما چطور باید باشه، پس از دریافت این اطلاعات و استخراج بخش های مختلف و پارس کردنش، باید کدهای رو آماده کنید که با استفاده از این اطلاعات اشیاء موردنیاز شما رو بسازه و به View اضافه کنه.

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

یک انسان نیکوکار از همین الگو پیروی کرده، کتابخانه ای رو ساخته که همه ی این کارها رو خیلی براتون ساده می کنه (و البته امکانات خیلی زیادی هم در اختیارتون میزاره): https://github.com/Avocarrot/json2view

vasilopita
شنبه 29 خرداد 1395, 15:40 عصر
خب می دونید که برای اینکه در Runtime بتونید UI رو دستکاری کنید، باید عناصری که می خواید اضافه بشه رو بصورت داینامیک و درواقع در کدهای جاوا اضافه کنید.

مرحله ی اول اینه که در این مورد تحقیق کنید که البته پیچیدگی خاصی هم نداره، فقط یکم کدنویسیش بیشتره (برای ست کردن خصوصیات هر ویو...)

بعد باید یک ساختار داده ایجاد کنید (حالا با هر فرمتی، XML, JSON...)، که بتونید اشاره کنید که چه عناصری باید وجود داشته باشن و درصورت لزوم بعضی خصوصیاتشون رو هم که باید ست بشه رو هم ذکر می کنید
مثلاً:

[ {
"type": "tv",
"height": "match_parent",
"width": "48dp",
"properties": {
"text": "This is Caption",
"textColor": "#fafafa"
}
},
{
"type": "btn",
"height": "wrap_content",
"width": "48dp",
"properties": {
"text": "This is Caption",
"textColor": "#fafafa",
"background": "your_drawable"
}
}
]

حالا که تصمیم گرفتید ساختار داده ی شما چطور باید باشه، پس از دریافت این اطلاعات و استخراج بخش های مختلف و پارس کردنش، باید کدهای رو آماده کنید که با استفاده از این اطلاعات اشیاء موردنیاز شما رو بسازه و به View اضافه کنه.

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

یک انسان نیکوکار از همین الگو پیروی کرده، کتابخانه ای رو ساخته که همه ی این کارها رو خیلی براتون ساده می کنه (و البته امکانات خیلی زیادی هم در اختیارتون میزاره): https://github.com/Avocarrot/json2view

ممنونم از راهنماییتون. کتابخونه ی دیگه ای رو سراغ دارین که مستقیما با Xml کار کنه ؟

Nevercom
شنبه 29 خرداد 1395, 22:42 عصر
نه متاسفانه. اما این کتابخانه هم ابزاری داره که فایل XML مربوط به لایه ها رو تبدیل به JSON می کنه