Android外部存儲示例含代碼

    Android外部存儲示例

    與內(nèi)部存儲一樣,我們可以在設(shè)備外部存儲器(如sd卡)中保存或讀取數(shù)據(jù)。愛掏網(wǎng) - it200.com FileInputStream和FileOutputStream類用于讀寫文件中的數(shù)據(jù)。愛掏網(wǎng) - it200.com

    在Android外部存儲中讀寫數(shù)據(jù)的示例

    activity_main.xml

    從調(diào)色板中拖動2個編輯框、2個文本視圖和2個按鈕,現(xiàn)在activity_main.xml文件將如下所示:

    <?xml version="1.0" encoding="utf-8"?>  
    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"  
        xmlns:app="http://schemas.android.com/apk/res-auto"  
        xmlns:tools="http://schemas.android.com/tools"  
        android:layout_width="match_parent"  
        android:layout_height="match_parent"  
        tools:context="example.javatpoint.com.externalstorage.MainActivity">  
    
        <EditText  
            android:id="@+id/editText1"  
            android:layout_width="wrap_content"  
            android:layout_height="wrap_content"  
            android:layout_alignParentRight="true"  
            android:layout_alignParentTop="true"  
            android:layout_marginRight="20dp"  
            android:layout_marginTop="24dp"  
            android:ems="10" >  
    
            <requestFocus />  
        </EditText>  
    
        <EditText  
            android:id="@+id/editText2"  
            android:layout_width="wrap_content"  
            android:layout_height="wrap_content"  
            android:layout_alignRight="@+id/editText1"  
            android:layout_below="@+id/editText1"  
            android:layout_marginTop="24dp"  
            android:ems="10" />  
    
        <TextView  
            android:id="@+id/textView1"  
            android:layout_width="wrap_content"  
            android:layout_height="wrap_content"  
            android:layout_alignBaseline="@+id/editText1"  
            android:layout_alignBottom="@+id/editText1"  
            android:layout_alignParentLeft="true"  
            android:text="File Name:" />  
    
        <TextView  
            android:id="@+id/textView2"  
            android:layout_width="wrap_content"  
            android:layout_height="wrap_content"  
            android:layout_alignBaseline="@+id/editText2"  
            android:layout_alignBottom="@+id/editText2"  
            android:layout_alignParentLeft="true"  
            android:text="Data:" />  
    
        <Button  
            android:id="@+id/button1"  
            android:layout_width="wrap_content"  
            android:layout_height="wrap_content"  
            android:layout_alignLeft="@+id/editText2"  
            android:layout_below="@+id/editText2"  
            android:layout_marginLeft="70dp"  
            android:layout_marginTop="16dp"  
            android:text="save" />  
    
        <Button  
            android:id="@+id/button2"  
            android:layout_width="wrap_content"  
            android:layout_height="wrap_content"  
            android:layout_alignBaseline="@+id/button1"  
            android:layout_alignBottom="@+id/button1"  
            android:layout_toRightOf="@+id/button1"  
            android:text="read" />  
    </RelativeLayout>  
    

    為外部存儲提供權(quán)限

    您需要提供WRITE_EXTERNAL_STORAGE權(quán)限。愛掏網(wǎng) - it200.com

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

    Activity_Manifest.xml

    <?xml version="1.0" encoding="utf-8"?>  
    <manifest xmlns:android="http://schemas.android.com/apk/res/android"  
        package="example.javatpoint.com.externalstorage">  
        <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>  
        <application  
            android:allowBackup="true"  
            android:icon="@mipmap/ic_launcher"  
            android:label="@string/app_name"  
            android:roundIcon="@mipmap/ic_launcher_round"  
            android:supportsRtl="true"  
            android:theme="@style/AppTheme">  
            <activity android:name=".MainActivity">  
                <intent-filter>  
                    <action android:name="android.intent.action.MAIN" />  
    
                    <category android:name="android.intent.category.LAUNCHER" />  
                </intent-filter>  
            </activity>  
        </application>  
    
    </manifest>  
    

    Activity類

    讓我們編寫代碼來從Android外部存儲中寫入和讀取數(shù)據(jù)。愛掏網(wǎng) - it200.com

    package example.javatpoint.com.externalstorage;
    
    import android.support.v7.app.AppCompatActivity;
    import android.os.Bundle;
    import android.view.View;
    import android.widget.Button;
    import android.widget.EditText;
    import android.widget.Toast;
    
    import java.io.BufferedReader;
    import java.io.File;
    import java.io.FileInputStream;
    import java.io.FileNotFoundException;
    import java.io.FileOutputStream;
    import java.io.IOException;
    import java.io.InputStreamReader;
    import java.io.OutputStreamWriter;
    
    public class MainActivity extends AppCompatActivity {
        EditText editTextFileName,editTextData;
        Button saveButton,readButton;
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
    
            editTextFileName=findViewById(R.id.editText1);
            editTextData=findViewById(R.id.editText2);
            saveButton=findViewById(R.id.button1);
            readButton=findViewById(R.id.button2);
    
            //Performing action on save button
            saveButton.setOnClickListener(new View.OnClickListener(){
    
                @Override
                public void onClick(View arg0) {
                    String filename=editTextFileName.getText().toString();
                    String data=editTextData.getText().toString();
    
                    FileOutputStream fos;
                    try {
                        File myFile = new File("/sdcard/"+filename);
                        myFile.createNewFile();
                        FileOutputStream fOut = new FileOutputStream(myFile);
                        OutputStreamWriter myOutWriter = new OutputStreamWriter(fOut);
                        myOutWriter.append(data);
                        myOutWriter.close();
                        fOut.close();
                        Toast.makeText(getApplicationContext(),filename + "saved",Toast.LENGTH_LONG).show();
                    } catch (FileNotFoundException e) {e.printStackTrace();}
                    catch (IOException e) {e.printStackTrace();}
                }
            });
    
            //Performing action on Read Button
            readButton.setOnClickListener(new View.OnClickListener(){
                @Override
                public void onClick(View arg0) {
                    String filename=editTextFileName.getText().toString();
                    StringBuffer stringBuffer = new StringBuffer();
                    String aDataRow = "";
                    String aBuffer = "";
                    try {
                        File myFile = new File("/sdcard/"+filename);
                        FileInputStream fIn = new FileInputStream(myFile);
                        BufferedReader myReader = new BufferedReader(
                                new InputStreamReader(fIn));
                        while ((aDataRow = myReader.readLine()) != null) {
                            aBuffer += aDataRow + "\n";
                        }
                        myReader.close();
                    } catch (IOException e) {
                        e.printStackTrace();
                    }
                    Toast.makeText(getApplicationContext(),aBuffer,Toast.LENGTH_LONG).show();
                }
            });
        }
    }
    
    

    聲明:所有內(nèi)容來自互聯(lián)網(wǎng)搜索結(jié)果,不保證100%準確性,僅供參考。如若本站內(nèi)容侵犯了原著者的合法權(quán)益,可聯(lián)系我們進行處理。
    發(fā)表評論
    更多 網(wǎng)友評論0 條評論)
    暫無評論

    返回頂部

    主站蜘蛛池模板: 久久精品国产一区二区| 久久综合一区二区无码| 中文字幕一区在线播放| 亚洲日韩国产一区二区三区在线| 一区二区三区四区在线观看视频 | jazzjazz国产精品一区二区| 麻豆天美国产一区在线播放| 日韩人妻无码一区二区三区| 538国产精品一区二区在线| 亚洲码欧美码一区二区三区| 亚洲综合一区二区精品久久| 性色av无码免费一区二区三区| 无码人妻久久久一区二区三区| 国产在线精品一区二区三区不卡 | 久久亚洲中文字幕精品一区| 国产一区二区三区在线免费观看 | 国产日韩AV免费无码一区二区三区| 国产一区二区好的精华液| 亚洲色精品VR一区区三区| 3d动漫精品啪啪一区二区中文| 久久一区不卡中文字幕| 国产一区二区中文字幕| 国产午夜精品一区理论片| 国产一区二区高清在线播放| 亚洲色精品vr一区二区三区| 国产精品一区二区久久不卡 | 欧洲精品码一区二区三区| 人妻av综合天堂一区| 久久蜜桃精品一区二区三区| 亚洲一区二区三区成人网站| 人妻少妇精品视频三区二区一区 | 亚洲av无码天堂一区二区三区| 国产一区在线视频观看| 无码精品人妻一区二区三区影院 | 午夜视频一区二区| 日本一区二区三区日本免费| 精品中文字幕一区二区三区四区 | 国产色欲AV一区二区三区| 日韩在线视频一区| 一区二区三区无码高清| 国产免费无码一区二区|