PDA

View Full Version : سوال: فوری -> ایجاد رابط کاربران و ساخت Emulator



Mah
یک شنبه 29 اردیبهشت 1387, 12:54 عصر
با سلام .

من می خواهم یک رابط یا همان Emulator درست نمایم طوری که :

به طور مثال من یک نرم افزار تحت J2ME نوشته ام که در آن یک سری اطلاعات شامل متن ، تصویر قرار دارد .
حال اگر کاربر بخواهد بتواند آنها را تغییر دهد و یک فایل جدید با پسوند jar ایجاد نماید تا بر روی موبایل کار کند .

به نظر من می تواند این گونه طراحی شود :


JDK را نصب کنیم .
اطلاعات متنی را در بخشهایی ذخیره کنیم که چگونگی آن جای فکر دارد ....
فایلهای تصویری را نیز در مسیر مشخص شده باشد .
حالا باید اطلاعات را بخوانیم و Compile نمائیم تا فایل jar ساخته شود .


لطفاً اساتید راه حل ها و راهنماییهای که به نظرشان می رسد را بفرمایند .
من برای ساخت فایل jar توسط JDK و بدون IDE مشکل دارم .

موفق باشید.

mazdadoost
یک شنبه 29 اردیبهشت 1387, 17:29 عصر
دوست عزیز : بیشتر توضیح بدین.
با توجه به مثال شما حدس میزنم می خواهید نوعی نرم افزار برای javaSE تولید کنید که محصول نهاییش نوعی نرم افزار سفارشی مثل کتاب الکترونیک باشه!منظورتون رو از : من می خواهم یک رابط یا همان Emulator درست نمایم - متوجه نمیشم.بیشتر توضیح بدین.با توجه به درکی که از منظور شما داشتم این سناریو میتونه مفید باشه :
1-ساختار کامل برنامه J2ME تون رو طراحی کنید.در این مرحله باید به شدت دقت کنید که برنامه از چه Resource هایی استفاده میکنه.و فرمت مناسب و قابل توسعه ای رو برای استفاده از این منابع شامل متن ها(متن ها رو میتونید راحتی در کلاس ها ی (Bean Style) بذارید و در برنامه با متد هایی به صورت مثلا getPage1() بشون دستیابی کنید.این روش بهینه ایه و کار کمی میطلبه.روش دیگه اینه که فایل های متنی رو در فایل ارشیو نهاییتون بذارید و با استفاده از getResourceAsStream کلاس در برنامه بار کنید و پردازش کنید و ...)تصاویر هم به همین ترتیب.حتی میتونید منابع برنامه رو در یه فایل جار در خود فایل جار برنامه قرار بدین.از این لحاظ هیچ فرقی با گذاشتن فیل های لیب برنامه در جاری درون جار برنامه وجود نداره!
2-حالا باید برنامه ی javaSE رو بنویسد.وظیفه این برنامه ساخت منابع برنامه و پکیج کردنشون برای برنامه J2ME .هست.برای مثال ما فرض میکنیم منبع به دو شکل برای برنامه ما فراهمه.متن بدون فرمت - تصاویر.
(برای پیچیده نشدن مثال متن ما بدون فرمت هست و صفحات ایبوک هم یا متن هستن یا تصویر !خوب این یه مثال نوعیه!)میتونید با یه Tree در برنامه javaSE تون شروع کنید.وقتی کاربر روی Node ریشه این درخت مثلا راست کلیک کنه یه فهرست بش کمک می کنه که دو نوع صفحه اضافه کنه:متن - تصویر. در مورد متن یه JOptionPane باز میشه و به کاربر اجازه میده تا متن مورد نظر شو بنویسه.حالا برنامه خیلی ساده این متن رو داخل فایل متنی نهایی مینویسه و علامتی مبنی بر شماره صفحه این متن براش درج میکنه.یا میتونید کلا متن فایل کلاس بین رو با این متن ها بسازید.در مورد تصاویر هم یه JFileChooser باز میشه و مسیر فایل تصویر رو از کاربر میگیره و دو کار میکنه .نام فایل تصویر رو به همراه شماره صفحه ای که این تصویر درش باز میشه میگیره و یه کپی از تصویر رو هم در پوشه منابع پکیج خروجی میذاره تا روی موبایل قرار بگیره.
3-در نهایت برنامه مجموعه فایل متنی تولیدی و تصاویر مربوطه رو در یه فایل جار جداگانه که در جار برنامه قرار میگیره یا بطور مستقیم در جار برنامه به همراه فایل های دیگه برنامه باید قرار بده. روش های متفاوتی هست برای مثال :
الف : از امکانات و توابع درونی خود جاوا برای ساخت فایل های جار java.util.jar استفاده کنید.
ب : با استفاده از تسک های ANT که ساخت فایل های آرشیو رو با JDK خیلی اسون میکنه این کارو انجام بدین.کافیه تسک رو در یه فایل Build.xml بذارید و لیب های ANT رو با برنامتون منتشر کنید.
ج : به کاربرتون یاد بدین تا خودش این کارو انجام بده!کافیه فایل های خروجی برنامه رو با برنامه Winrar در یه فایل JAE با نام ومشخصاتی که شما بش میگید بذاره!خودتون هم میتونید این کار هارو با java.lang.Runtime.getRuntime().exec(); و فرستادن آرگومان های لازم به Winrar خود کار کنید .همین کارو میتونید با کامپایلر جاوا برای ساختن فایل های jar انجام بدین.در هر کدوم از این حالت ها به ترتیب برنامه برای کارکرد درست به ترتیب به Winrar و JDK نیاز خواهد داشت!
4- در عمل برای اینکه برنامه ای با این مشخصات خرفی برای گفتن در دنیای نرم افزار های کیفی داشته باشه باید کا های بیشتری رو از عهده بر بیاد!مثلا اینکه کل ای بوک از طریق یه فایل RTF به برنامه داده بشه و برنامه به شکل خود کار با کمترین تغیر منابع لازم رو بسازه!نشون دادن پیش نمایش در خود برنامه از کار نهایی که میتونه هم با Emulator های موجود با Wireless Toolkit همراه شده(کاربر باید وایر لس تولکیت رو داشته باشه.)یا Emulator هایی که شرکت هایی مثل Nokia و SonyEricson به همراه SDK هاشون برای J2ME فراهم کردن باشه هم با نوشتن یه Emulatorاختصاصی که البته هم مشیه به شکلی باشه که KVM رو شبیه سازی کنه روش سخت.یا اینکه یه simulator بنویسید که فقط یه نمایه کلی از برنامرو همونطوری که در برنامه نهایی دیده میشه با متد های Java2D و Swnig ووو نمایش میده!مسئله مهم بعدی اینه که این برنامه باید بتونه برای انواع موبایل ها با اندازه های مختلف و کیفیات متفاوت دقت نمایش کاملا امادگی داشته باشه.امکاناتی برای تسهیل کار مثل بوک مارک سرچ- و یا حتی آپدیت شدن و خریدن کتاب های جدید از اینترنت با خود موبایل هم به چشم گیر شدن برنامه کمک میکنه.ظاهر برنامه هم در موبایل و کامپیوتر خیلی مهمه.برای رسیدن به خیلی از ویژه گی های این بند میتونید از j2me polish استفاده کنید.
امید وارم مفید بوده باشه!

Mah
دوشنبه 30 اردیبهشت 1387, 08:25 صبح
سلام .
از پاسخ کاملت ممنونم .

من برای ساخت فایل Jar می خواهم از JDK استفاده نمایم .
فعلاً برای مرحله اول هم فراخوانی متن بدون فرمت از فایلهای متنی با فرمت txt مد نظرم است و و فایلهای تصویری(عکس ها) نیز PNG می باشند .

برای ساخت یک فایل Jar که در موبایلهای که مبتنی بر Java هستند مثل (Nokia - SonyEricson - Motorola - Samsung) به راحتی نصب شود و کار کند .

هدف من موبایلهای رنگی می باشد . درنتیجه از MIDP 1.0 و CLDC 1.0 استفاده می نمایم .

موفق و پیروز باشید .

mazdadoost
دوشنبه 30 اردیبهشت 1387, 11:16 صبح
دوست عزیز :
برای ساخت jar فایل ها میتونید از ابزار jar که با JDK میاد استفاده کنید.فهرست آرگومان های این ابزار نسبتا مفصله.من شخصا وقتی نخوام از IDE و یا ANT برای ساختن JAR اقدام کنم از Winrar استفاده میکنم!با این حال به نظرم استفاده از jar به این روشی که در ادامه توضیح میدم, روشی که به کار چندانی نیاز نداره :
1-اول از همه JDK رو به PATH سیستم عامل اضافه کنید.
2-فرض میکنیم فایل های متنی در فلدر c:\doc - تصاویر در c:\pic و فایل های لیب و کلاس هم به ترتیب در c:\lib و c:\cls قرار دارن.
3-در Comman Promt به root درایو c: برید.
4-دستور زیر رو اجرا کنید :
jar cvf bundle.jar doc cls pic lib
5-فقط ذقت کنید که منیفست رو در مسیر درستش بذارید.تا میدلت هاتون بدرستی کار کنن.
این مراحل رو میتونید با کمی دقت و کار در برنامه نهایی به صورت خود کار با java.lang.Runtime.getRuntime().exec() انجام بدین.
در کل وابسته کردن برنامه به JDK رو پیشنهاد نمی کنم.بهتره از امکانات java.util.jar که اصولا برای همین کار طراحی شدن استفاده کنید.
برای افزایش کیفیت برنامه و قابلیت انتقالش روی حالت های مختلف نمایش هم کافیه polish رو طبق نیازتون config کنید.برای مورد شما نیاز به کدینگ خود polish نیست.فقط کافیه بگید برنامه روی چه دیوایس هایی قراره منتشر بشه.بقیه کار هارو polish با cglib انجام میده.
از لطفتون ممنون.

Mah
سه شنبه 31 اردیبهشت 1387, 08:24 صبح
سلام .
من تصمیم گرفتم مشکلم را این طوری حل کنم :
1- فایل jar را تغییر پسوند بده به Zip .
2- با استفاده از یک نرم افزار آنرا Unzip کنم .
3- حالا می توانم تغییرات را در متن ها و عکسهای موجود ایجاد نمایم یا به آنها اضافه نمایم .
4- zip کردن فایلها و تغییر پسوند به Jar .

موفق باشید .

saeed_Z_F
سه شنبه 31 اردیبهشت 1387, 13:03 عصر
سلام
من اطلاعات دقیقی در مورد Java ME ندارم ولی امیدوارم لینکهای زیر بدردتون بخوره .
http://www.daniweb.com/forums/thread103001.html
http://forum.java.sun.com/thread.jspa?threadID=5148130&messageID=9552797