<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 瘋狂 閱讀(1571) 評論(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
    可以這么說但不排除其他方法,請繼續努力!
    主站蜘蛛池模板: 色网站在线免费观看| 日本亚洲免费无线码| A国产一区二区免费入口| 亚洲精品第一国产综合精品99| 亚洲成a人无码亚洲成www牛牛| 免费看片A级毛片免费看| 亚洲人成未满十八禁网站| 妞干网手机免费视频| 亚洲精品久久无码av片俺去也| 成人免费无码精品国产电影| 爱爱帝国亚洲一区二区三区| 四虎AV永久在线精品免费观看| 老司机免费午夜精品视频| 久久影视综合亚洲| 日本高清免费观看| 亚洲伊人久久大香线蕉在观| 57PAO成人国产永久免费视频| 中文字幕乱码亚洲无线三区 | 大片免费观看92在线视频线视频| 免费中文字幕在线观看| 本道天堂成在人线av无码免费| 亚洲国产精品无码久久久不卡| 亚洲免费视频观看| 久久精品国产亚洲AV| 国产av无码专区亚洲av果冻传媒| 国产在线一区二区综合免费视频| 亚洲精品在线播放| 日本高清免费网站| 大地资源网高清在线观看免费| 亚洲婷婷综合色高清在线| 成人永久免费福利视频网站| 国产成人免费AV在线播放 | 最近中文字幕免费mv在线视频| 亚洲精品123区在线观看| 亚洲日本一区二区一本一道| 午夜精品一区二区三区免费视频 | 亚洲熟妇av一区| 国产一级理论免费版| 免费国产黄网站在线观看可以下载| 亚洲欧美自偷自拍另类视| 亚洲精品V欧洲精品V日韩精品|