Intereting Posts
Получите UDP в Android Marshmallow Проблема входа в Android для Android Facebook с parse sdk Как я могу обновить отображение кнопки действия редактора на лету? Полоса действий, перемещающаяся при замене фрагментом Можно ли показывать индикатор выполнения при загрузке файла через Retrofit 2, Android Экран всплывающего окна приложения Worklight на Android Проблема с осью 2 libarary Android IAP getBuyIntentToReplaceSkus не отменяет старую подписку Почему onLoadFinished вызывается снова после возобновления фрагмента? Удаленная папка gen, eclipse не генерирует ее сейчас :( Retrofit 2.0 throwing "IllegalArgumentException: параметры @Field могут использоваться только с кодировкой формы". Как сделать правильный запрос API и исправить его? Интеграция с SMP с Android Как переопределить заголовок по умолчанию с пользовательским заголовком в android КоординаторLayout + AppBarLayout + NavigationDrawer Android – Как заставить телефон вибрировать при воспроизведении музыки

Сохранение файла во внутреннем хранилище android

Я новичок в android, и у меня проблема, когда я пытаюсь сохранить файл во внутреннем хранилище, новый пример работает на моем sdk, но не работает на моем телефоне.

Я пытаюсь запустить пример в Sony Ericsson xperia, с Android 2.1, кстати … log.i – дает мне следующую строку:

/data/data/com.example.key/files/text/(my_title) 

Благодарю.

  @Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); setContentView(R.layout.new_text); file = (EditText) findViewById(R.id.title_new); entry = (EditText) findViewById(R.id.entry_new); btn = (Button) findViewById(R.id.save_new); btn.setOnClickListener( new OnClickListener() { @Override public void onClick(View v) { File myDir = getFilesDir(); NEWFILENAME = file.getText().toString(); if (NEWFILENAME.contentEquals("")){ NEWFILENAME = "UNTITLED"; } NEWENTRY = entry.getText().toString(); try { File file_new = new File(myDir+"/text/", NEWFILENAME); file_new.createNewFile(); Log.i("file", file_new.toString()); if (file_new.mkdirs()) { FileOutputStream fos = new FileOutputStream(file_new); fos.write(NEWENTRY.getBytes()); fos.flush(); fos.close(); } } catch (FileNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } Intent textPass = new Intent("com.example.TEXTMENU"); startActivity(textPass); } }); } //That's for creating... then in other activity i'm reading @Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); setContentView(R.layout.text_menu); btn = (Button) findViewById(R.id.newNote); listfinal = (ListView) findViewById(R.id.listView); btn.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub Intent textPass = new Intent("com.example.TEXTNEW"); startActivity(textPass); } }); listfinal.setOnItemClickListener(this); File fileWithinMyDir = getApplicationContext().getFilesDir(); loadbtn = (Button) findViewById(R.id.loadList); loadbtn.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { File myDir = getFilesDir(); File dir = new File(myDir + "/text/"); String[] files = dir.list(); //String[] files = getApplicationContext().fileList(); List<String> list = new ArrayList<String>(); for (int i =0; i < files.length; i++){ list.add(files[i]); } ArrayAdapter<String> ad = new ArrayAdapter<String>(TextMenu.this, android.R.layout.simple_list_item_1, android.R.id.text1, list); listfinal.setAdapter(ad); } }); } 

В моем ядре android я имею разрешения

  <uses-sdk android:minSdkVersion="5" android:targetSdkVersion="15" /> <uses-permission android:name="android.hardware.camera" /> <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.WRITE_INTERNAL_STORAGE" /> 

    Я не слишком уверен, к какому примеру вы обращаемся, но у меня есть два рабочих образца, из которых по крайней мере один из них должен соответствовать вашим потребностям. Я тестировал их на запущенном X10 Build number 2.1.A.0.435, один Xperia T работает. Строит номер 7.0.A.1.303 и один запуск Nexus S. Строит номер JZO54K.

    Пример 1

      String filename = "myfile"; String outputString = "Hello world!"; try { FileOutputStream outputStream = openFileOutput(filename, Context.MODE_PRIVATE); outputStream.write(outputString.getBytes()); outputStream.close(); } catch (Exception e) { e.printStackTrace(); } try { FileInputStream inputStream = openFileInput(filename); BufferedReader r = new BufferedReader(new InputStreamReader(inputStream)); StringBuilder total = new StringBuilder(); String line; while ((line = r.readLine()) != null) { total.append(line); } r.close(); inputStream.close(); Log.d("File", "File contents: " + total); } catch (Exception e) { e.printStackTrace(); } 

    Пример 2

      String filename = "mysecondfile"; String outputString = "Hello world!"; File myDir = getFilesDir(); try { File secondFile = new File(myDir + "/text/", filename); if (secondFile.getParentFile().mkdirs()) { secondFile.createNewFile(); FileOutputStream fos = new FileOutputStream(secondFile); fos.write(outputString.getBytes()); fos.flush(); fos.close(); } } catch (Exception e) { e.printStackTrace(); } try { File secondInputFile = new File(myDir + "/text/", filename); InputStream secondInputStream = new BufferedInputStream(new FileInputStream(secondInputFile)); BufferedReader r = new BufferedReader(new InputStreamReader(secondInputStream)); StringBuilder total = new StringBuilder(); String line; while ((line = r.readLine()) != null) { total.append(line); } r.close(); secondInputStream.close(); Log.d("File", "File contents: " + total); } catch (Exception e) { e.printStackTrace(); } 

    У меня была проблема с разрешением отказа от Samsung Galaxy S7, хотя я дал разрешения на чтение и запись в файле манифеста. Я решил это, перейдя по настройкам телефона >> приложение >> [мое приложение] и разрешив «Хранение» с разрешения. После этого он отлично справился.