Masz dwie trzy opcje:
Zachowaj odpowiedzi oddzielnie od reszty kodu źródłowego
Jeśli chcesz, aby Twój kod był open source, jednak nie chcesz, aby odpowiedzi były open source, to możesz otworzyć kod źródłowy aplikacji bez pytań i odpowiedzi, przy czym pytania i odpowiedzi są osobną „wtyczką” zamkniętego źródła. lub plik danych. Twoja aplikacja na Androida połączy oba te elementy w jedną aplikację.
Umieść odpowiedzi w kodzie źródłowym
Ewentualnie, jeśli uważasz, że pytania i odpowiedzi są kluczową częścią tego, co chcesz, aby były dostępne, należy umieścić odpowiedzi w kodzie źródłowym, najlepiej nie zaciemniać, aby inni mogli je przeczytać i zmodyfikować . Zaciemnianie kodu źródłowego, aby nie można go było zrozumieć i zmodyfikować, nie jest tak naprawdę zgodne z zasadami otwartego kodu źródłowego.
Umieść odpowiedzi na serwerze w Internecie
Dzięki obu powyższym rozwiązaniom osoba, która pobrała aplikację, może znaleźć odpowiedzi bez odtwarzania programu w obu przypadkach - bez względu na to, jak zaciemnisz / zaszyfrujesz swoje odpowiedzi, jeśli Twój program może zidentyfikować odpowiedź bez dodatkowych informacji, więc może człowiek sprawdzający twoją skompilowaną aplikację.
Jeśli naprawdę chcesz się upewnić, że nikt nie może znaleźć odpowiedzi, jedyną prawdziwą opcją jest nie dać im odpowiedzi i wezwać aplikację do usługi internetowej itp., Ilekroć chcą poznać odpowiedź. Aplikacja powinna wysłać odpowiedź, którą podał użytkownik, a usługa internetowa powinna powiedzieć aplikacji, czy odpowiedź jest poprawna, w ten sposób użytkownik nie będzie w stanie powiedzieć, jaka jest odpowiedź, dopóki nie uzyska poprawnej odpowiedzi (krótka brutalnego wymuszania usługi internetowej, którą można wykryć i chronić przed nią).
Jeśli szukasz sposobów zaciemnienia swoich odpowiedzi, to sugeruje mi, że tak naprawdę nie chcesz w ogóle otwierać swoich źródeł, więc powinieneś rozważyć pierwsze opcje.
Jeśli jest to krytyczny , że użytkownik nie będzie w stanie znaleźć odpowiedź z góry następnie trzecia opcja to jedyny prawdziwy wybór, ale jestem stara się myśleć o sytuacji, w której byłoby to warte wysiłku, choćby dlatego, że uniemożliwia użytkownikom z korzystania z aplikacji bez połączenia z Internetem.