ارسالها: 11
موضوعها: 2
تاریخ عضویت: آبان 1395
اعتبار:
0
تشکرها: 15
0 بار تشکر شده در 0 پست
سلام . من یه سری اطلاعات به صورت کد هگز توی یه آبجکت دارم که می خوام بخونمشون. کاری که کردم به صورت زیر هست:
String data = msg.obj.toString();
byte[] data1 = data.getBytes();
اینجا msg همون اطلاعاتیه که به صورت هگز دارم. اول به صورت string ازش خوندم اطلاعات رو بعد getbyteش کردم . این کد کار میکنه فقط وقتی مشکل پیش میاد که اون کد هگز مقدارش بیشتر از 127 باشه که دلیلشم اینه که byte بین -128 تا 127 رو ذخیره میکنه. راه حل دیگه ای دارید که مشکلم رو برطرف کنه؟
ارسالها: 3,701
موضوعها: 140
تاریخ عضویت: اردیبهشت 1394
اعتبار:
134
تشکرها: 195
3447 بار تشکر شده در 2120 پست
خوب مشکل اینه که اعداد خارج از این محدوده اصلاً توی بازهی byte نیستن. شما میخواین عددی مثل 150 رو تبدیل به byte کنید درحالی که توی این فضای یکبایتی جا نمیشه
ارسالها: 11
موضوعها: 2
تاریخ عضویت: آبان 1395
اعتبار:
0
تشکرها: 15
0 بار تشکر شده در 0 پست
هدفم این بود یه متغییر و روش دیگه معرفی کنید که توی اون متغییر ذخیره ش کنم . مهم نیست چه متغییری . من فقط می خوام اون اعداد رو داشته باشم.حتی به صورت هگزم باشه اشکال نداره . فقط از اون آبجکت بیاد بیرون. چون وقتی data رو توی یه تکست ویو نشون میدم هیچی نشون نمیده
ارسالها: 11
موضوعها: 2
تاریخ عضویت: آبان 1395
اعتبار:
0
تشکرها: 15
0 بار تشکر شده در 0 پست
مشکل اینه که دقیقا نمیدونم اطلاعات به چه صورت توی msj ذخیره شدن . به خاطر اینکه این اطلاعات از یه ماژول سخت افزاری جدا از طریق پورت میکرو usb موبایل به گوشی منتقل میشن. این دو خط کدی که گذاشتم به صورت سعی و خطا با کلی دردسر پیدا کردم ولی برای اعداد کوچیکتر از 127 کار میکنه و هر چند تا عدد که توی msj ذخیره شده باشن رو به صورت آرایه ای بایتی توی byte ذخیره میکنه. بعدش دنبال این گشتم که به جای بایت اونها رو به صورت int ذخیره کنم ولی چیزی پیدا نکردم . وقتی خود data رو توی تکست ویو نشون میدم فقط و فقط یه علامت سوال توی یک شکل ذوزنقه ای نشون میده به صورتی که تو لینک زیر گفته:
ارسالها: 11
موضوعها: 2
تاریخ عضویت: آبان 1395
اعتبار:
0
تشکرها: 15
0 بار تشکر شده در 0 پست
تا حالا از genymotion برای شبیه سازی کار با usb host استفاده نکردم . به نظرتون میشه همچین کاری کرد؟ یه سرچ کردم چند جا گفتن میشه ولی آموزش خوبی پیدا نکردم.
ارسالها: 3,701
موضوعها: 140
تاریخ عضویت: اردیبهشت 1394
اعتبار:
134
تشکرها: 195
3447 بار تشکر شده در 2120 پست
پلاگین WiFi ADB رو روی اندروید استودیو نصب کنید. بعد گوشی رو وصل کنین و بعد از اینکه گوشی رو شناخت، کلیدهای Ctrl+Alt+Shift+W رو بزنید تا بصورت بیسیم بهش وصل بشه (گوشی و کامپیوتر باید به یک شبکهی مشترک وصل باشن). بعد از پیغام اتصال، میتونین گوشی رو جدا کنین و با WiFi برنامه رو اجرا کنین و ماژول رو به USB گوشی وصل کنین. همیشه همینکار رو با گوشی واقعی خودتون انجام بدین حتی اگه به ماژول نیاز ندارین چون اتصال مداوم به USB باعث میشه گوشی دائم در وضعیت شارژ بمونه و باتری رو در درازمدت خراب میکنه.