سؤال

أبلغ اثنان من مستخدمي عن مشكلة في تطبيق Android الخاص بي ، إيماءات Oftseen. كلاهما يستخدم موتورولا الروبوت. يحفظ التطبيق ملفًا نصيًا وهو مجرد قائمة بأسماء الإيماءات وأرقام الهواتف ، كلا السلاسل. يحفظ الملف إلى منطقة البيانات الخاصة. لا أعرف أن هذا هو الرمز الذي فشل ولكنهم يبلغون عن الأرقام المخصصة التي تختفي بعد خروج الهاتف من نوم الشاشة. نظرًا لأن الملف يتم إعادة قراءةه في OnCreate في كل مرة ، أفترض أن الملف غير موجود عند العودة.

بمجرد أن أتمكن من الحصول على يدي على الروبوت ، سأخطئها ، لكن في غضون ذلك ، هل يمكنك رؤية سبب تفشل عملية التوفير هذه على Droid (لم يبلغ أي مستخدم آخر هذا)؟

    OutputStreamWriter out = new OutputStreamWriter(AppGlobal.getContext().openFileOutput(MAPPINGS_FILE_NAME, 0));

    for (String key : mMap.keySet()) {
        String number = mMap.get(key).number;
        out.write(String.format("%s,%s\n", key, number == null ? "" : number));
    }
    out.close();

AppGlobal.getContext إرجاع سياق التطبيق ويحل mappings_file_name إلى "gesture_mappings.txt".

كما أقول ، لا أعرف أن هذه هي المشكلة. يمكن أن يكون شيئًا آخر يتعلق بإدارة الدولة داخل التطبيق. إذا كان لدى أي شخص الروبوت ، فربما يمكنه تنزيل التطبيق من السوق واختباره لي؟ لاحظ أن هذا طلب حقيقي للمساعدة - وليس محاولة لزيادة التنزيلات الخاصة بي.

هل كانت مفيدة؟

المحلول

تم تشخيص ذلك على أنه ناتج عن مجموعات الأحرف الممتدة التي تسببت في تفسير قواطع الخط وتم حلها عن طريق كتابة الملف بشكل صريح باستخدام UTF8. نرى كيف تقرأ وكتابة UTF-8 إلى القرص على Android؟ 1

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top