Gravando no armazenamento privado interno no Android

Estou tentando salvar alguns dados do meu aplicativo em um arquivo de texto simples na área de armazenamento privado interno (preferências do usuário do aplicativo). Eu li muitas perguntas aqui (StackOverflow) e tentei as soluções sugeridas sem sucesso. A solução mais simples, ao que parece, seria a sugerida aqui:

http://developer.android.com/guide/topics/data/data-storage.html#filesInternal

mas não consigo fazer isso funcionar no meu dispositivo de teste. Também tentei criar o arquivo usando os métodos disponíveis no java.io.File com os métodos apropriados. Eu também tentei criar o arquivo no SDCard com o mesmo resultado, falha. Tentei muitas soluções listadas em outras respostas, seguindo o código e as instruções sugeridas exatamente e encontrei o mesmo resultado. Estou começando a sentir que estou perdendo algum pedaço importante de código ou um sinalizador de configuração em algum lugar, configurei a permissão no arquivo de manifesto:

  <uses-permission 
        android:name="android.permission.WRITE_EXTERNAL_STORAGE" />


Para esclarecer, estou tentando gravar no armazenamento interno e privado do dispositivo. É um pequeno arquivo que contém um nome, número de telefone e algumasint bandeiras. Qualquer que seja o método que eu use, eu acho que o arquivo não foi criado (ou mudo se eu colocar o arquivo manualmente no SDCard) ou recebo uma NullPointerException quando tento referenciar o arquivo ou o local do arquivo:

private              File   fILE = new File("Mydata", main.FILENAME);

ou

private              File   fILE  = getDir("Mydata", 0);


Estou executando o código em um HTC Hero, atualizado com a última versão do serviço da Sprint. Qualquer ajuda seria muito apreciada, Agradecemos antecipadamente!

-Steve

Atualização (2/2/11): Usando um EVO (API 8), ainda recebo uma NullPointerException. O código que gerou a exceção está abaixo. Alguma idéia de por que meu aplicativo não pode acessar o armazenamento interno? Eu tenho esse problema em três dispositivos físicos diferentes usando dois níveis de API (API 7 e 8).

    File newfile = new File(this.getFilesDir() + "/data/files/", "sample.txt");

ATUALIZAÇÃO 2: 2/4/11 - Descobri que não consigo ver a estrutura do arquivo no dispositivo físico (diretório de dados) sob nenhuma circunstância. Alguém tem alguma opinião sobre isso? O dispositivo está configurado corretamente e pode executar o aplicativo no eclipse ou no adb.

ATUALIZAÇÃO 3: (9/2/11) - Acho que posso ter encontrado qual é o problema, mas não tenho certeza sobre como lidar com isso. Eu descobri que as permissões no diretório / data / nos dispositivos físicos são:drwxrwx--x. Não sei por que é assim, talvez algo a ver com a Sprint? Eu encontrei esse conjunto dessa maneira em um HTC Hero, o Samsung Epic (Galaxy S) e o HTC EVO no Sprint. O problema parece ser que o DDMS e meu aplicativo não têm acesso r / w ao diretório. Eu preciso descobrir duas coisas aqui, por que é assim e como superar essa questão na natureza. Mais uma vez, qualquer ajuda aqui seria INCRÍVEL !!

ATUALIZAÇÃO 4: Eu acho que fevereiro passado foi um momento totalmente loiro para mim (veja ATUALIZAÇÃO 3). Os dispositivos de teste que eu tenho não são ROOT e, portanto, não têm acesso (DUH!). Depois de todas as atualizações pelas quais a SGS e o EVO 4G passaram, o resultado ainda é o mesmo. Ainda estou trabalhando neste problema e tentarei voltar aqui com uma atualização em breve (esperamos que menos de um ano na próxima vez).

questionAnswers(6)

yourAnswerToTheQuestion