Разрыв в телефоне: запись в файлы - пример работы не получается - PullRequest
1 голос
/ 01 октября 2011

Я пытаюсь следовать примеру файла PhoneGap, пишу код и сталкиваюсь с вопросы.

Я попытался запустить это как на экземпляре эмулятора 2.2, так и на телефон:

вот мой код, который является практически дословной вставкой записи код файла из API docs + jsconsole и консольных сообщений:

 <script type="text/javascript" src="http://jsconsole.com/remote.js?
[key_ommited]"></script>
 <script> console.log('in between loads.'); </script>
 <script type="text/javascript" src="phonegap-1.0.0.js"></script>
 <script> console.log('after-phonegap.'); </script>

 <script type="text/javascript">
   console.log('test to see if this fires within new script tag');
  //
  //    // Wait for PhoneGap to load
  //    //
  //    console.log('before add event listener!!');
  //
     document.addEventListener("deviceready", onDeviceReady,
false);
     console.log('after event listener declaration');

     function onDeviceReady() {
       console.log('in onDeviceReady');

       window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, gotFS,
fail);function fail);(args) {

       }

       var test_file_full_path = 'mnt/sdcard/test_file2.txt'
       function gotFS(fileSystem) {
           fileSystem.root.getFile(test_file_full_path, { create:
true }, gotFileEntry, fail);
       }

       function gotFileEntry(fileEntry) {
           fileEntry.createWriter(gotFileWriter, fail);
       }

       function gotFileWriter(writer) {
           writer.onwrite = function(evt) {
               console.log("write success");
           };
           writer.write("some sample text");
           // contents of file now 'some sample text'
           writer.truncate(11);
           // contents of file now 'some sample'
           writer.seek(4);
           // contents of file still 'some sample' but file pointer
is after the 'e' in 'some'
           writer.write("different text");
           // contents of file now 'some different text'
       }

       function fail(error) {
           console.log('in failure: ');
           console.log(error.code);
       }

И в первый раз, когда я запускаю код, Что я получаю от jsconsole вывод (самые старые сообщения внизу):

"write success"

"Error in success callback: File4 = 7"

"This is a file"

"in onDeviceReady"

"test to see if this fires within new script tag"

"after-phonegap."

"after event listener declaration"

"in between loads."

В последующий раз, когда я запускаю один и тот же код, я вместо этого получаю:

"9"

"in failure: "

"in onDeviceReady"

[rest of messages are the same]

Если я уйду в перспективу DDMS, я увижу сгенерированный файл 'test_file2' файл в каталоге, но если я пытаюсь вытащить сгенерированный 'test_file2' файл, он не позволит мне вытащить его из эмулятора и говорит:

[2011-09-30 14:47:32] Failed to pull selection
[2011-09-30 14:47:32] (null)

Я также не могу удалить этот файл.

В более ранней попытке я смог вытащить файл и увидеть, что Первая строка кода записи «некоторый образец текста» была написана, но по-видимому, он остановился на фоне других строк записи.

Кто-нибудь имеет представление о том, что я делаю неправильно / какой-либо совет? Эта запись в файл беспокоит меня из-за того, сколько у меня проблем.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...