Předmět Autor Datum
Programuješ? Začni trebárs tu: https://android.stackexchange.com/questions/46926/android-folder-hier…
pme 27.03.2018 20:27
pme
Já jsem ten soubor hledal tím způsobem a to s pomoci hledej soubor "soubor.txt" to nepomůže ? díky
Víťa 27.03.2018 20:48
Víťa
A hledáš soubor.txt nebo Soubor.txt? Na Linuxu to není jedno.
Wikan 28.03.2018 00:02
Wikan
To mě taky napadlo že není jedno "Soubor.txt" a "soubor.txt" .Ještě jestli do toho nemluví mody zápi…
Víťa 28.03.2018 11:28
Víťa
Proč se tam snažíš napsat přímo čísla a ne ty konstanty?
Wikan 28.03.2018 12:28
Wikan
Protože tam je číslo 0 v tom příkladu teď to skouším dávat ty konstanty a taky to funguje.Nic méně m…
Víťa 28.03.2018 17:09
Víťa
Přesně tak, a ještě bych doplnil, pozor při zápisech mimo pracovní adresář. V Androidech 6 a vyššíc…
Flash_Gordon 28.03.2018 03:19
Flash_Gordon
Ta verze androida je menší než 6. Jinak na celém netu jsem nenašel fungující příklad ]:)]:)]:) to je…
Víťa 06.04.2018 17:44
Víťa
No takhle. Protože ty data zjevně zapisuješ mimo externí paměť. Android bohužel není tak jednoduchý,…
Flash_Gordon 06.04.2018 20:40
Flash_Gordon
Terminál , který mám emuluje kartu v adresáři: /storage/emulated/0 Já používám Eclipse terminál tam…
Víťa 07.04.2018 13:22
Víťa
:-( Používej moderní vývojové prostředí Android Studio. Ten Eclipse je letitý. Bohužel i Androidovs…
Flash_Gordon 07.04.2018 13:46
Flash_Gordon
Tady jsem našel video návod https://www.youtube.com/watch?v=V8b-l13L8XY postupoval jsem krok za krok…
Víťa 08.04.2018 16:10
Víťa
A jsi si jistý, žes tu aplikaci instaloval na SD kartu? Spuštění instalátoru z SD karty není totéž.…
Flash_Gordon 08.04.2018 18:40
Flash_Gordon
To já vím že se vytvoří soubor až po kliknutí na ten butonek .Další věc já si myslím že ty aplikace…
Víťa 08.04.2018 20:11
Víťa
Teď řeším jak tu funkci private void write() { File sdCard=Environment.getExternalStorageDirectory…
Víťa 09.04.2018 17:20
Víťa
Ty tomu programování moc nedáváš, co. Zkus nahradit: FileOutputStream fos = new FileOutputStream(f)…
Flash_Gordon 09.04.2018 19:21
Flash_Gordon
To jsem taky zkoušel ale výsledek je tento viz příloha díky
Víťa 09.04.2018 19:44
Víťa
Tam má být toto FileOutputStream fos = new FileOutputStream(f,true); na netu jsem našel toto Cons…
Víťa 09.04.2018 20:40
Víťa
Už mi to jde i vytvořit složku a do ní zapsat soubor ale bohužel jen do /storage/emulated/0/msoubory…
Víťa 10.04.2018 17:04
Víťa
https://stackoverflow.com/questions/17594212/does-environment-getexternalstoragedirectory-returns-a-…
Wikan 10.04.2018 17:28
Wikan
Skús sa pozrieť sem: https://developer.android.com/training/data-storage/files.html#java Dôležité j…
pme 10.04.2018 17:39
pme
Já jsem tem nafifest upravil takto <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android=…
Víťa 10.04.2018 18:01
Víťa
Další pozoruhodnost narazil jsem na netu když jsem zadal do googlu "getInternalStorageDirectory()"… poslední
Víťa 12.04.2018 13:59
Víťa

To mě taky napadlo že není jedno "Soubor.txt" a "soubor.txt" .Ještě jestli do toho nemluví mody zápisu

MODE_PRIVATE - jedná se o výchozí režim,ve kterém je vytvořený soubor přístupný pouze z volající aplikace(nebo ze všech aplikací sdílející stejné uživatelské ID)
MODE_APEND - jedná se o režim, ve kterém se data vloží na konec souboru(pokud již existuje).
MODE_WORD_READABLE -jedná se o režim, který umožní všem aplikacím přistoupit k souboru v režimu čtení.
MODE_WORD_WRITEABLE- jedná se o režim, který umožní všem aplikacím přistoupit k souboru v režimu zápis.

tolik úryvek s knihy ,vydedukoval jsem s kódu že MODE_PRIVATE = 0 ale jestli MODE_APEND = 1, MODE_WORD_READABLE=2, MODE_WORD_WRITEABLE = 3 to už nevím to tam nepíší.díky

Protože tam je číslo 0 v tom příkladu teď to skouším dávat ty konstanty a taky to funguje.Nic méně mohou tyto módy kecat do viditelnosti toho souboru? díky
edit: existuje nějaký emulátor kterého je součástí i správce souborů nejlépe total commander ? díky

No takhle. Protože ty data zjevně zapisuješ mimo externí paměť.
Android bohužel není tak jednoduchý, jako Windows.

Cituji:

Internal storage:

- It's always available.
- Files saved here are accessible by only your app.
- When the user uninstalls your app, the system removes all your app's files from internal storage.

Zapsat do externí paměti, kde soubor najdeš jde nějak takto:

private void writeNameToFile(String data,Context context) {
try {
OutputStreamWriter outputStreamWriter = new OutputStreamWriter(context.openFileOutput( Environment.getExternalStorageDirectory() + "/configJmeno.txt", Context.MODE_PRIVATE));
outputStreamWriter.write(data);
outputStreamWriter.close();
}
catch (IOException e) {
MessageBox("Exception File write failed: " + e.toString());
}
}

Terminál , který mám emuluje kartu v adresáři:
/storage/emulated/0

Ono jak vidíš, už jen zapisovat soubory na androidu vyžaduje DOST SI NASTUDOVAT.

Terminál , který mám emuluje kartu v adresáři:
/storage/emulated/0

Já používám Eclipse terminál tam asi není nebo to jsem úplně nepochopil,další věc do funkce writeNameToFile(String data,Context context)
do parametru String data se do souboru "/configJmeno.txt" zapisují data ale nechápu co je parametr Context context?. Souhlasím s tebou že programování pro android je ze všeho nejtěžší co jsem dělal nebo pokoušel předem díky za pomoc

:-( Používej moderní vývojové prostředí Android Studio.
Ten Eclipse je letitý.

Bohužel i Androidovské aplikace potřebují si nejprve něco nastudovat.

Dělat to metodou pokus-omyl je hodně tvrdá cesta.
Context obsahuje odkaz na tvou aktivitu.

Funkci bys měl zavolat s parametrem: getApplicationContext()
nebo
getContext()
nebo
getBaseContext()
nebo
this

Tady jsem našel video návod https://www.youtube.com/watch?v=V8b-l13L8XY postupoval jsem krok za krokem akorát jsem změnil jméno souboru na pozice.txt nainstaloval jsem do mobilu Aligator S4060 duo a nic žádný soubor jsem pomocí aplikace Total Comanderu nenašel kde může být zakopaný pes ??? ::)::) díky
poznámka v Eclipse s toho udělám neco.apk překopíruji to na mobil na SD karta a odtud to instaluji.

To já vím že se vytvoří soubor až po kliknutí na ten butonek .Další věc já si myslím že ty aplikace takto přenesené do telefonu instalují do telefonu tak jak mají aaa už mě to funguje já jsem s nějakého důvodu nepřidal do Androidmanifestu nedal

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

ačkoliv jsem si byl jist že jsem tam přidal ::) ale mě to vytvoří soubor ve vnitřní paměti /storage/emulated/0 viz příloha za kvalitu se omlouvám díky

Teď řeším jak tu funkci


 private void write()
     {
    	File sdCard=Environment.getExternalStorageDirectory();
    	File f= new File(sdCard,FILENAME);
    	
    	try
    	{ 
    		FileOutputStream fos = new FileOutputStream(f);
    		String data = "Hello Word ,How do u do";
    		try {
				fos.write(data.getBytes());
				fos.close();
			} catch (IOException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
    	}catch (FileNotFoundException e){
    		e.printStackTrace();
    	}
    	
     }

upravit aby se ten soubor nepřepisoval to znamená obsah souboru zůstával ale nové data se do souboru přidávají na konec souboru díky

Tam má být toto

	FileOutputStream fos = new FileOutputStream(f,true);

na netu jsem našel toto
Constructs a new FileOutputStream that writes to file. If append is true and the file already exists, it will be appended to; otherwise it will be truncated. The file will be created if it does not exist.
Podle mě je v tom takový "hokej" nebo já ho mám to spíš :-D koho by napadlo že místo "MODE_APPEND"má tam být "true"!!! díky

Už mi to jde i vytvořit složku a do ní zapsat soubor ale bohužel jen do /storage/emulated/0/msoubory msoubory je moje vytvořená složka tou samou aplikací která vytváří samotný soubor "pozice.txt" ale když to připojím na PC přes usb kabel tak to nenajdu ani složku a v ní ten soubor ::)a proč se nevytváří na SD kartě když je tam uvedeno Environment.getExternalStorageDirectory? díky

Já jsem tem nafifest upravil takto


<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.writefilesd"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk
        android:minSdkVersion="8"
        android:targetSdkVersion="21" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" android:maxSdkVersion="18" />
        

    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name=".MainActivity"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

</manifest>

android:maxSdkVersion="18"toto jsem tam přidal a nic ten překladač nenamítal ale teď to nemám kdy otestovat na mobilu díky

Další pozoruhodnost narazil jsem na netu když jsem zadal do googlu "getInternalStorageDirectory()"

The getExternalStorageDirectory API is supposed to GET EXTERNAL STORAGE.
But manufacturers have all turned it into "point to the internal storage on
the device". There should have been a "getInternalStorageDirectory()" API
to go along with this.

I don't mind, I've "solved" this problem a long time ago, but just letting
users type in the "real" path to the external card into my app. But many
apps don't do this yet. So you get lots of apps that put everything on the
internal storage when you have a 64GB card which is getting nothing put on
it (I'm looking at you, Amazon MP3 and Amazon Kindle).

Who let this slide man!

Tak se mi zdá každý pes jiná Ves :-)

Zpět do poradny Odpovědět na původní otázku Nahoru