2012-02-02 17 views
27

Mam plik tekstowy, który chcę dołączyć do mojej aplikacji Android, to nie jest plik tekstowy, jest to standardowy plik tekstowy. Zawiera dane, które określają charakterystykę "mapy" rysowanej na tablicy. Plik nie jest plikiem XML, więc nie jestem pewien, gdzie powinienem go umieścić lub czy nie jest to dobra struktura plików dla Androida? Czy masz to zrobić? Jeśli jesteś w jakim katalogu, który chcesz umieścić? Jak to możliwe, że masz dostęp do pliku? Wiem, jak korzystać z FileInputStreams i FileOutputStreams, wystarczy wiedzieć, jak uzyskać dostęp do pliku. Wszystkie istotne odpowiedzi są mile widziane i doceniane!Gdzie umieścić pliki tekstowe w katalogu w Androidzie

+0

Wygląda na to, że ktoś już znalazł odpowiedź w innym pytaniu [tutaj] [1]. [1]: http://stackoverflow.com/questions/4087674/android-read-txt-raw-resource-file – onit

Odpowiedz

41

Użyj folderu assets lub raw w strukturze folderów na Androida, aby zachować ten plik. Aby uzyskać więcej informacji, przeczytaj: this

+1

zaakceptowana odpowiedź zawiera więcej informacji dotyczących folderu zasobów: http://stackoverflow.com/questions/18302603/where-to-place-assets-folder-in-android-studio – Colin

+0

Jak mogę odczytać plik z folderu aplikacji w aplikacji na Androida? Jeśli zachowam plik .properties w folderze asset, to jest widoczny przez reverse engineering. –

+1

Nigdy nie upiecz swoich tajnych rzeczy w aplikacji/kodzie źródłowym ... zawsze proś ze źródła online, w którym będziesz mieć większą kontrolę. Taka jest zasada. – waqaslam

19

Musisz umieścić swój plik w folderze zasobów, jak powiedział Waqas.

Teraz, aby uzyskać do niego dostęp, robisz to w ten sposób.

dam wam przykład przy użyciu BufferedReader

BufferedReader reader = new BufferedReader(
       new InputStreamReader(getAssets().open("YourTextFile.txt"))); 

Bądź ostrożny. W moim przypadku, nie wiem, dlaczego na razie nie mogę odczytać plików tekstowych większych niż ~ 1MB i musiałem podzielić je na kilka małych plików. Wygląda na to, że inni mieli ten sam problem z wielkością pliku, ale nie znalazłem żadnych informacji na ten temat w witrynie dla programistów Androida. Jeśli ktoś wie więcej na ten temat ....

FOLLOW UP

mój problem z 1MB był spowodowany Know bug/ograniczenie wcześniejszych wersjach Androida. Od niedawna używa Androida, problem ten już nie występuje.

+0

Po prostu brakowało Waqasa, pokazując przykład, gdy zapytałeś "po prostu muszę wiedzieć, jak uzyskać dostęp do pliku", więc dla mnie odpowiedź była "niekompletna", a także aby dać ci ostrzeżenie o rozmiarze pliku tekstowego. Ale to nie jest konkurencja! Jesteśmy tutaj, aby pomagać sobie nawzajem. – HpTerm

+3

Możesz uzyskać dostęp do zasobów bez otwierania strumienia i odczytywania bajtu pliku przez bajt. Zamiast tego możesz użyć pliku 'file: // android_asset/file.txt', który zapewnia natychmiastowy dostęp do pliku. Możesz utworzyć obiekt File z niego lub zrobić, co chcesz. – asenovm

Powiązane problemy