مشکل تست برنامه چت بر روی دیوایس واقعی
سلام .من پروژه چت فصل 23 رو امپورت کردم و وقتی روی ایمولاتور ها تست میکنم کاملا درست کار میکنه اما وقتی روی گوشی واقعی تست میکنم برنامه اصلا بالا نمیاد . اگه ممکنه راهنمایی کنید ممنون
ما در آموزشها از try...catch صحبت کردیم و گفتیم که میشه یک Crash رو خفه کرد که صداش در نیاد و به طور عجیبی ساکت بشه. همینطور می دونیم که در این شرایط با داشتن e.printStackTrace می تونیم علت خفه شدن رو در خطوط نارنجی رنگ Logcat ببینیم و بررسی کنیم.
با توجه به این اطلاعات و پروژه های کاربردی که تا کنون داشته ایم و دیده ایم که با قرار دادن Log در قسمت های مختلف برنامه می توانیم بفهمیم که برنامه تا کجا کار کرده و کجا خارج شده است و در نهایت بررسی Log های خروجی به علت خطا پی ببریم.
این خطا ممکن است در هیچ سیستمی رخ ندهد، شاید Wifi Network شما خصوصیاتی دارد که برنامه در آن با مشکل مواجه است. مطمئناً ما برنامه را برای عرضه نهایی ننوشته ایم و انتظار هم نداریم که همه جا درست کار کند. اما اگر قصد این بود که نسخه نهایی نرم افزار را انتشار دهیم، انواع روش های خطایابی را برایش ایجاد می کردیم که در این شرایط دستمان از اطلاعات پر باشد.
حالا که این چنین نیست، یک تمرین در این بخش پیشرفته، برای کسانی که تابحال خوب مطالعه کرده اند، این است که در چنین شرایطی ایراد از چیست. بیابید.
(مشکل حل شد !)
دوستان من به نتیجه رسیدم. پس از چندین بار اجرای برنامه و log گرفتن از مراحل اجرا به ارور
java.net.SocketException: Permission denied رسیدم که با یه سرچ کوچک به این نتیجه رسیدم که باید مجوز
<uses-permission android:name="android.permission.INTERNET"/>
به برنامه افزوده بشه ولی علت استفاده از این مجوز رو ندونستم. (لینک مربوطه)
دوستان 2 سال گذشته ولی جواب میدم ممکنه افراد دیگری به این سوال برسند و نیاز داشته باشن
خب برای اینکه 2 تا گوشی بتوانن با هم ارتباط بر قرار کنند باید در یک نتورک یا شبکه باشن یا از طریق ad hoc دو گوشی با هم یک شبکه ایجاد کنند که ip مورد نظر اختصاص داده میشه و توانایی ایجاد ارتباط با هم را در این حالت دارند یا باید به اینترنت وصل باشن که بتوانند از طریق ip ای که از بستر اینترنت دریافت میکنند و از طریق بستر اینترنت اقدام به ارسال و دریافت داده کنند. پس برای تست این پروژه روی گوشی واقعی یا باید هر دو گوشی در یک شبکه ad hoc قرار داشته باشن یا دسترسی به اینترنت که در حالت دوم نیاز به پرمیشن اینترنت نیز میباشد.
امیدوارم توانسته باشم مطلب را به درستی برسانم
بدرود
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .