آموزش های این وب سایت به صورت رایگان در دسترس است. اطلاعات بیشتر
بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]

مشکل با استفاده از کلاس BufferedImage مشترک در جاوا و فریم ورک اندروید !

مجتبی یگانه  11 سال پیش  11 سال پیش
+3 0

سلام

با کلی تلاش تونستم پروژه ی تشخیص چهره رو با Java و تحت ویندوز اجرا کنم !‌ ذهنیت ام این بود که اندروید هم جاواست دیگه !‌ فقط اندروید یک فریم ورک برای کدنویسی جاوست ( که هست ! ) که خروجی اون نرم افزار های اندروید هست و اگر بتونم تحت ویندوز پروژه رو اجرا کنم بعدا میتونم تو اندروید هم با کمی تغییر ازش استفاده کنم

در نسخه ی تحت ویندوز و با JRE ۶  پروژه رو اجرا کردم و بالاخره خروجی داد !‌ وقتی خواستم با اندروید همون کار رون انجام بدم همه چیز خوب پیش میرفت تا اینکه دیدم از کلاسی با نام BufferedImage خطا میگیره - با کمی جست و جو متوجه شدم که همه میگن باید در اندروید به جای این کلاس از BitMap استفاده کنید ! 

مشکل اینجاست که من نمیتونم متد های این کلاس ها رو باهم تطبیق بدم -  مثلا کلاس getPixels در BitMap ها نسبت به BufferedImage ها ورودی های کاملا متفاوتی داره !

پس رفتم دنبال استفاده از همون BufferedImage که تو JRE ۶ هست در اندوید !

متوجه شدم که باید JRE رو به Build Path  اضافه کنم و درکمال تعجب دیدم مشکلات حل شد

وقتی اومدم با خوشحالی برنامه رو اجرا کنم دیدم خطا میده که 

unable to execute dex: Multiple dex files define
Lfacerecognition/javafaces/EigenvalueDecomposition; [2014-12-15 02:04:19 - FaceRecog] Conversion to Dalvik format failed: Unable to execute dex:
Multiple dex files define Lfacerecognition/javafaces/EigenvalueDecomposition;

 و بازم بعد از جست و جو متوجه شدم که چون هم android x.y و هم jre اون کلاس رو دارند این خطا به وجود اومده و کامپایل پروژه ممکن نیست !‌

بازم بعد از جست و جو متوجه شدم که باید اون کلاس رو از یکی از لایبرری ها حذف کنم که تو این مورد من باید از لایبرری اندروید حدف اش کنم !‌ - ممکنه ؟

عجب سوالی شد :))

0 0
یعنی این کلاسه توی دو تا لایبراری وجود داره و دقیقا مسیر پکیج شون یکیه؟ مثلا هر دو شون از java.io.File ایمپورت میشن (فقط یه مثال بود)؟ (11 سال پیش)
0 0
BufferedImage رو که نمیشه از فریم ورک اندروید Import کرد، فقط میشه از java.awt.image.BufferedImage ایمپورت اش کرد. یه بار پروژه رو Clean کن ببین درست نمیشه. (11 سال پیش)
+1 0
مرسی حمید جان همیشه تو سوالای سختم همراهمی D: ، دقیقا مسیر هر دو یکی هست ، یعنی هم جاوا داره java.awt و هم اندروید ! ، اما اندوید اجازه ی استفاده ازش رو نمیده ( حالا یا اینجوریه یا کلا اینجوری نیست D: ) - نتیجه این شد که از لایبرری اندروید نمیشه چیزی حذف کرد ، فقط میشه اون کلاس ها رو کپی کرد و با نام دیگه ای مثل myBufferedImage استفاده کرد ، الان Jar اون لایبرری رو دانلود کردم ، اما وقتی سورس ها رو ازش بیرون میارم ، یکم آسیب میبیین ! ، بازم در تلاش ام D: (11 سال پیش)
0 0
خواهش می کنم:) یه ابهامی برام وجود داره: اگه BufferedImage توی فریم ورک اندروید وجود داره چرا نمی شه BufferedImage رو بدون اضافه کردن JRE به Build Path ایمپورت کرد. مطمئنی BufferedImage توی فریم ورک اندروید وجود داره ؟ (11 سال پیش)
0 0
نه از Jre بازش اش میکنه ، ولی موقعی که میام کامپایل کنم به مشکل میخوره :| (11 سال پیش)
0 0
من این مشکل رو زمانی داشتم که 2 تا Library به پروژه ام اد میکردم که هردو AndroidSupport V4 داشتن، و ورژن AndroidSupport این 2تا با هم فرق داشت، کاری که من کردم این بود که یکی از اندروید ساپورت هارو حذف کردم، و اون Library که اندروید ساپورت رو داشت رو به اونی که نداشت اد کردم. و البته توی کد جاواتون باید دقت کنید که از کجا دارید ایمپورت میکنید کدتون رو.امیدوارم مفید بوده باشه (11 سال پیش)
0 0
دقیقا همین مشکل رو داریم ! ، با این تفاوت که یکی از لایبرری ها رو میتونیم حذف کنیم ، یکی رو نمیتونیم ! (لایبرری اندروید) و من باید از لایبرری جاوا استفاده کنم (11 سال پیش)
 برای این سوال 1 پاسخ وجود دارد.
پاسخ به سوال 
مجتبی یگانه  11 سال پیش
0 0

من که نتونستم حل اش ! ، توصیه میکنم به جاش از همون BitMap استفاده کنید ! ، همه ی متد هاش رو داره ! ، با یکم تغییر :|

0 0
Alu جان پیشنهاد من به شما روی اوردن به AndroidStudio ، که این قبیل مشکلات رو ندارست. برای من که خیلی خیلی سخت بود Change کردن، و بیشترین سختیش مقاومت کردن خودم بود، با اندروید استادیو که کد میزنم همش تو ذهنم میگم اکلیپس خیلی سر تره.ولی خوب در عمل هر کدوم یکسری قابلیت ها دارن، و با توجه به پیشنهاد و توجیهات گوگل، روی اوردن به اندروید استادیو میتونه در آینده بسیار ارزشمند باشه (11 سال پیش)
+3 0
اتفاقا منم نسخه ی فاینال اندروید استدیو رو نصب کردم تا تست کنم ، اما واقعیت اش هنوز فرصت نکردم ! ، در چند لحظه گشتن تو برنامه اش ، چیزی جز حس غربت نداشتم :| ، تغییر محیط کاری خیلی سخته ! ، اما این مورد به محیط توسعه ربطی نداشت ، کلا Eclipse حق داشت D: (11 سال پیش)

پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .