بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]
پرسش و پاسخ

 مشکل تست برنامه چت بر روی دیوایس واقعی

مدیریت گفتگو
parsarezaei 12 سال پیش
آخرین تغییر: 9 سال پیش

سلام .من  پروژه چت فصل 23 رو امپورت کردم و وقتی روی ایمولاتور ها تست میکنم کاملا درست کار میکنه اما وقتی روی گوشی واقعی تست میکنم برنامه اصلا بالا نمیاد . اگه ممکنه راهنمایی کنید ممنون 

نظرات

uncocoder 12 سال پیش
تیتر سئوال را واضح تر کنید لطفاً، همینطور اطلاعات بیشتری از خطای موجود بگذارید. اگر بالا نمیاد کرش هست؟ اگر کرش هست، Stack بذارید، اگر کرش نیست پیام میده؟ اگر پیام میده، چه پیامی میده.
parsarezaei 12 سال پیش
کرش نمیده من همان پروژه شما که قرار دادید رو ازش خروجی گرفتم و هیچ تقییری هم توی کد ها ندادم وهمون پروژه شماست و فقط وقتی که بر روی گوشی معمولی نصب می کنم وقتی که برنامه رو اجرا میکنم از برنامه خارج می شه اگه میخواید باز یه فیلم از گوشیم بگیرم و بزارم . ممنون
uncocoder 12 سال پیش
آموزش چت، جزء آخرین سرفصل هاست، اگر شما به ترتیب مطالعه کرده باشید، طریقه Debug کردن و پیدا کردن Stack خطوط رو باید بلد باشید و همینطور که چطور برنامه ای کرش نمی کنه و بدون خطا بسته میشه رو می تونید پیدا کنید. بنابراین من احساس می کنم شما فصل ها رو رد کردید و یک راست رفتید سر پروژه چت.
Borhani 12 سال پیش
سلام استاد من هم این مشکل رو داشتم این را ببینید این ایرور را گذاشتم لینک
parsarezaei 12 سال پیش
اخه اصلا اروری نمیده که بخوام بزارم من خروجی گرفتم و روی گلگسی گرند نصب کردم و وقتی برنامه رو اجرا می کنم اصلا بالا نمیاد و میاد بیرون و کرش هم نمیکنه و در این صورت هیچ راه دیباگ کردن رو ندارم لطفا کمک کنید . ممنون
silent scream 9 سال پیش
حتی ip هم تغییریی ندادی؟

پاسخ‌ها 3

uncocoder 12 سال پیش

ما در آموزشها از try...catch صحبت کردیم و گفتیم که میشه یک Crash رو خفه کرد که صداش در نیاد و به طور عجیبی ساکت بشه. همینطور می دونیم که در این شرایط با داشتن e.printStackTrace می تونیم علت خفه شدن رو در خطوط نارنجی رنگ Logcat ببینیم و بررسی کنیم.

با توجه به این اطلاعات و پروژه های کاربردی که تا کنون داشته ایم و دیده ایم که با قرار دادن Log در قسمت های مختلف برنامه می توانیم بفهمیم که برنامه تا کجا کار کرده و کجا خارج شده است و در نهایت بررسی Log های خروجی به علت خطا پی ببریم.

این خطا ممکن است در هیچ سیستمی رخ ندهد، شاید Wifi Network شما خصوصیاتی دارد که برنامه در آن با مشکل مواجه است. مطمئناً ما برنامه را برای عرضه نهایی ننوشته ایم و انتظار هم نداریم که همه جا درست کار کند. اما اگر قصد این بود که نسخه نهایی نرم افزار را انتشار دهیم، انواع روش های خطایابی را برایش ایجاد می کردیم که در این شرایط دستمان از اطلاعات پر باشد.

حالا که این چنین نیست، یک تمرین در این بخش پیشرفته، برای کسانی که تابحال خوب مطالعه کرده اند، این است که در چنین شرایطی ایراد از چیست. بیابید.

نظرات

parsarezaei 12 سال پیش
فقط یک سوال مگه این برنامه نباید از طریق اینترنت باشد؟ پس چرا اجازه ی دسترسی به اینترنت را به برنامه نمیدیم؟
uncocoder 12 سال پیش
این آموزش Socket Programming بین دو IP است و ارتباطی به اینترنت ندارن.
amin 12 سال پیش
مشکل زمانی اتفاق می افته که می خواد outputStream = new DataOutputStream(socket.getOutputStream()); رو ایجاد کنه. من یه همچین ارروری رو دریافت می کنم E/JavaBinder﹕ Unknown binder error code. 0xfffffff7
silent scream 9 سال پیش
دوستان 2 سال گذشته ولی جواب میدم ممکنه افراد دیگری به این سوال برسند و نیاز داشته باشن خب برای اینکه 2 تا گوشی بتوانن با هم ارتباط بر قرار کنند باید در یک نتورک یا شبکه باشن یا از طریق ad hoc دو گوشی با هم یک شبکه ایجاد کنند که ip مورد نظر اختصاص داده میشه و توانایی ایجاد ارتباط با هم را در این حالت دارند یا باید به اینترنت وصل باشن که بتوانند از طریق ip ای که از بستر اینترنت دریافت میکنند و از طریق بستر اینترنت اقدام به ارسال و دریافت داده کنند. پس برای تست این پروژه روی گوشی واقعی یا باید هر دو گوشی در یک شبکه ad hoc قرار داشته باشن یا دسترسی به اینترنت که در حالت دوم نیاز به پرمیشن اینترنت نیز میباشد. امیدوارم توانسته باشم مطلب را به درستی برسانم
amin 12 سال پیش

(مشکل حل شد !)

دوستان من به نتیجه رسیدم. پس از چندین بار اجرای برنامه و log گرفتن از مراحل اجرا به ارور

java.net.SocketException: Permission denied رسیدم که با یه سرچ کوچک به این نتیجه رسیدم که باید مجوز

<uses-permission android:name="android.permission.INTERNET"/>

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

نظرات

silent scream 9 سال پیش
دوستان 2 سال گذشته ولی جواب میدم ممکنه افراد دیگری به این سوال برسند و نیاز داشته باشن خب برای اینکه 2 تا گوشی بتوانن با هم ارتباط بر قرار کنند باید در یک نتورک یا شبکه باشن یا از طریق ad hoc دو گوشی با هم یک شبکه ایجاد کنند که ip مورد نظر اختصاص داده میشه و توانایی ایجاد ارتباط با هم را در این حالت دارند یا باید به اینترنت وصل باشن که بتوانند از طریق ip ای که از بستر اینترنت دریافت میکنند و از طریق بستر اینترنت اقدام به ارسال و دریافت داده کنند. پس برای تست این پروژه روی گوشی واقعی یا باید هر دو گوشی در یک شبکه ad hoc قرار داشته باشن یا دسترسی به اینترنت که در حالت دوم نیاز به پرمیشن اینترنت نیز میباشد. امیدوارم توانسته باشم مطلب را به درستی برسانم
silent scream 9 سال پیش

دوستان 2 سال گذشته ولی جواب میدم ممکنه افراد دیگری به این سوال برسند و نیاز داشته باشن
خب برای اینکه 2 تا گوشی بتوانن با هم ارتباط بر قرار کنند باید در یک نتورک یا شبکه باشن یا از طریق ad hoc دو گوشی با هم یک شبکه ایجاد کنند که ip مورد نظر اختصاص داده میشه و توانایی ایجاد ارتباط با هم را در این حالت دارند یا باید به اینترنت وصل باشن که بتوانند از طریق ip ای که از بستر اینترنت دریافت میکنند و از طریق بستر اینترنت اقدام به ارسال و دریافت داده کنند. پس برای تست این پروژه روی گوشی واقعی یا باید هر دو گوشی در یک شبکه ad hoc قرار داشته باشن یا دسترسی به اینترنت که در حالت دوم نیاز به پرمیشن اینترنت نیز میباشد.
امیدوارم توانسته باشم مطلب را به درستی برسانم

بدرود

نظرات


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