<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    瘋狂

    STANDING ON THE SHOULDERS OF GIANTS
    posts - 481, comments - 486, trackbacks - 0, articles - 1
      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

    android I/o 例子說明

    Posted on 2009-11-08 13:43 瘋狂 閱讀(1570) 評論(4)  編輯  收藏 所屬分類: android
         android里面讀取文件地方法基本和java中一樣,使用流來讀取,只是文件的存放有些規定而已。
        android程序是有文件目錄為:/data/data/<包名>/files/    例如:final String filename = "data/data/com.iotest/iotest.txt";
      如果有定義錯誤就會出現錯誤。
      下面是一個簡單的例子說明:
      首先是我們的layout:
    main.xml:
    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:orientation
    ="vertical" android:layout_width="fill_parent"
        android:layout_height
    ="fill_parent">
        
    <Button android:text="write text" android:id="@+id/write"
            android:layout_width
    ="fill_parent"
            android:layout_height
    ="wrap_content" 
            
    >
        
    </Button>
        
    <Button android:text="read text" android:id="@+id/read"
            android:layout_width
    ="fill_parent"
            android:layout_height
    ="wrap_content" 
            
    >
        
    </Button>
        
    <EditText android:text="text to insert into file.."
            android:id
    ="@+id/EditText01" android:layout_width="fill_parent"
            android:layout_height
    ="fill_parent">
        
    </EditText>
    </LinearLayout>
    最后生成的界面為如下:

    然后使我們的activity:
    package com.iotest;

    import java.io.BufferedInputStream;
    import java.io.BufferedOutputStream;
    import java.io.File;
    import java.io.FileInputStream;
    import java.io.FileOutputStream;
    import org.apache.http.util.EncodingUtils;
    import android.app.Activity;
    import android.os.Bundle;
    import android.util.Log;
    import android.view.View;
    import android.view.View.OnClickListener;
    import android.widget.Button;
    import android.widget.EditText;

    public class IoTest extends Activity implements OnClickListener{
        
    /** Called when the activity is first created. */
        
    final String filename = "data/data/com.iotest/iotest.txt";
        
    final String tag="I/O";
        EditText editText;
        Button buttonw;
        Button buttonr;
        
        @Override
        
    public void onCreate(Bundle savedInstanceState) {
            
    super.onCreate(savedInstanceState);
            setContentView(R.layout.main);
            editText 
    = (EditText)findViewById(R.id.EditText01);
            buttonr 
    = (Button)findViewById(R.id.read);
            buttonw 
    = (Button)findViewById(R.id.write);
            buttonr.setOnClickListener(
    this);
            buttonw.setOnClickListener(
    this);
        }
      
        
    public void onClick(View v) {
            
            
    switch (v.getId()) {
            
            
    case R.id.read:
                readTest();
                
    break;
            
    case R.id.write:
                writeTest();
            
    default:
                
    break;
            }

            
        }

            
        
    public void writeTest(){
            
    try{
            File file 
    = new File(filename);
            file.createNewFile();
            Log.d(tag, 
    "create flie!");
            BufferedOutputStream bufferedOutputStream 
    = new BufferedOutputStream(new FileOutputStream(file));
            bufferedOutputStream.write(editText.getText().toString().getBytes());
            bufferedOutputStream.close();
            }
    catch (Exception e) {
                Log.e(tag, 
    "error in write");
            }

        }

        
    public void readTest(){
            
            
    try {
                File file 
    = new File(filename);
                BufferedInputStream bufferedInputStream 
    = new BufferedInputStream(new FileInputStream(file));
                
    byte[] data = new byte[(int) file.length()];
                bufferedInputStream.read(data);
                String str 
    = EncodingUtils.getString(data, "utf-8");
                bufferedInputStream.close();
                editText.setText(
    "讀取到的數據:"+str);
            }
     catch (Exception e) {
                
    // TODO Auto-generated catch block
                Log.e(tag, "error in read");
            }
            
        }
        
    }
    也就是要注意下文件的路徑。

    評論

    # re: android I/o 例子說明[未登錄]  回復  更多評論   

    2010-07-28 16:40 by lu
    我想問一下,你的這個例子自己能運行出來嗎?我的為什么運行出現錯誤呢?

    # re: android I/o 例子說明  回復  更多評論   

    2010-07-29 09:04 by @joe
    當然能運行起來,所有的例子都是先運行起來,然后才寫的,不過這都是09年的寫的文章,現在已經沒心事繼續研究android了,能什么時候看見android的光明未來時再繼續研究。

    # re: android I/o 例子說明  回復  更多評論   

    2010-07-29 14:48 by luper
    謝謝你啦,我運行成功了,不過在途中出現了一點點的錯誤,這個例子可以用來說明android datastorage 的文件存儲的方式嗎?

    # re: android I/o 例子說明  回復  更多評論   

    2010-07-30 09:14 by @joe
    可以這么說但不排除其他方法,請繼續努力!
    主站蜘蛛池模板: 亚洲人成电影网站色www| 免费人成激情视频在线观看冫| 吃奶摸下高潮60分钟免费视频| 国产无限免费观看黄网站| 91天堂素人精品系列全集亚洲| 国产在线观看免费不卡| 四虎国产精品永久免费网址| 亚洲精品乱码久久久久蜜桃| 亚洲av成人无码久久精品| 精品国产麻豆免费网站| 久久精品私人影院免费看| 亚洲av乱码中文一区二区三区| 亚洲AV人无码激艳猛片| 国产乱人免费视频| 久久久久久曰本AV免费免费| 色哟哟国产精品免费观看| 亚洲av片不卡无码久久| 国产亚洲成av人片在线观看| 日韩免费电影在线观看| 91短视频免费在线观看| 国产精品一区二区三区免费 | 亚洲精品无码久久久久去q| 野花高清在线观看免费3中文| 国产精品一区二区三区免费 | 亚洲国产精品免费在线观看| 一个人看的免费观看日本视频www| 亚洲电影免费观看| 亚洲精品乱码久久久久久蜜桃不卡 | 色婷五月综激情亚洲综合| 亚洲s色大片在线观看| 亚洲AV无码乱码在线观看性色扶| 免费A级毛片无码无遮挡内射| 美女在线视频观看影院免费天天看 | 日本激情猛烈在线看免费观看 | 色片在线免费观看| 四虎影视在线影院在线观看免费视频 | 97在线视频免费播放| 99久久国产精品免费一区二区 | 国产在线播放线91免费| 污网站在线免费观看| 精品国产亚洲一区二区三区在线观看|