令狐冲浪的博客

My Life, My Blog~~

  BlogJava :: 首页 :: 联系 :: 聚合  :: 管理
  4 Posts :: 0 Stories :: 0 Comments :: 0 Trackbacks
DataActivity.java
 1package com.pptv.file;
 2
 3import java.io.FileNotFoundException;
 4import java.io.InputStream;
 5import java.io.OutputStream;
 6
 7import android.app.Activity;
 8import android.content.Context;
 9import android.os.Bundle;
10import android.util.Log;
11import android.view.View;
12import android.widget.Button;
13import android.widget.EditText;
14import android.widget.TextView;
15import android.widget.Toast;
16
17import com.pptv.service.FileService;
18
19public class DataActivity extends Activity {
20    private EditText filenameText;
21    private EditText contentText;
22    private TextView resultView;
23    private static final String TAG = "DataActivity";
24
25    @Override
26    public void onCreate(Bundle savedInstanceState) {
27        super.onCreate(savedInstanceState);
28        setContentView(R.layout.main);
29        filenameText = (EditText) findViewById(R.id.edittext_filename);
30        contentText = (EditText) findViewById(R.id.textconetent);
31        resultView = (TextView) findViewById(R.id.textview_result);
32        Button button = (Button) findViewById(R.id.button_save);
33        Button buttonShow = (Button) findViewById(R.id.button_open);
34        button.setOnClickListener(listener);
35        buttonShow.setOnClickListener(listener);
36    }

37
38    private View.OnClickListener listener = new View.OnClickListener() {
39
40        @Override
41        public void onClick(View v) {
42            Button button = (Button) v;
43            String filename = filenameText.getText().toString();
44            switch (button.getId()) {
45            case R.id.button_save:
46                int resId = R.string.sucess;
47                String content = contentText.getText().toString();
48                OutputStream outStream;
49                try {
50                    outStream = DataActivity.this.openFileOutput(filename,
51                            Context.MODE_APPEND);
52                    FileService.save(outStream, content);
53                }
 catch (Exception e) {
54                    Log.e(TAG, e.toString());
55                    resId = R.string.error;
56                }

57                Toast.makeText(DataActivity.this, resId, Toast.LENGTH_LONG)
58                        .show();
59                break;
60
61            case R.id.button_open:
62                try {
63                    InputStream inStream = DataActivity.this
64                            .openFileInput(filename);
65                    String text = FileService.read(inStream, null);
66                    resultView.setText(text);
67                }
 catch (Exception e) {
68                    Log.e(TAG, e.toString());
69                    Toast.makeText(DataActivity.this"读取失败", Toast.LENGTH_LONG).show();
70                }

71                break;
72
73            default:
74                break;
75            }

76
77        }

78    }
;
79
80}

81


FileServiceTest.java    ---单元测试模块
 1package com.pptv.file;
 2
 3import java.io.InputStream;
 4import java.io.OutputStream;
 5
 6import android.content.Context;
 7import android.test.AndroidTestCase;
 8import android.util.Log;
 9
10import com.pptv.service.FileService;
11
12public class FileServiceTest extends AndroidTestCase {
13    private static final String TAG = "FileServiceTest";
14
15    public void testSave() throws Exception {
16        OutputStream outStream = this.getContext().openFileOutput("songwei.txt", Context.MODE_PRIVATE);
17        FileService.save(outStream, "neironga!!!");
18    }

19
20    public void testRead() throws Exception {
21        InputStream inStream = this.getContext().openFileInput("songwei.txt");
22        String content = FileService.read(inStream, null);
23        Log.i(TAG, content);
24    }

25}

26


FileService.java  ----javabean模块
 1package com.pptv.service;
 2
 3import java.io.ByteArrayOutputStream;
 4import java.io.InputStream;
 5import java.io.OutputStream;
 6
 7public class FileService {
 8    /**
 9     * 保存数据~~
10     * @param outStream
11     * @param content
12     * @throws Exception
13     */

14    public static void save(OutputStream outStream, String content) throws Exception {
15        outStream.write(content.getBytes());
16        outStream.close();
17    }

18    
19    /**
20     * 读取数据~~
21     * @param inStream
22     * @param content
23     * @return
24     * @throws Exception
25     */

26    public static String read(InputStream inStream, String content) throws Exception {
27        ByteArrayOutputStream outStream = new ByteArrayOutputStream();
28        byte[] buffer = new byte[1024];
29        int len = -1;
30        while ((len = inStream.read(buffer)) != -1{
31            outStream.write(buffer, 0, len);
32        }

33        byte[] data = outStream.toByteArray();
34        outStream.close();
35        inStream.close();
36        return new String(data);
37    }

38}

39


main.xml   ---布局文件
 1<?xml version="1.0" encoding="utf-8"?>
 2<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
 3    android:orientation="vertical"
 4    android:layout_width="fill_parent"
 5    android:layout_height="fill_parent"
 6    >
 7    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
 8    android:orientation="vertical"
 9    android:layout_width="fill_parent"
10    android:layout_height="wrap_content" >
11        <TextView
12            android:id="@+id/filename"  
13            android:layout_width="wrap_content" 
14            android:layout_height="10pt"
15             
16            android:text="@string/file_name"
17            />
18            
19        <EditText
20            android:layout_width="100pt" 
21            android:layout_height="wrap_content"
22            android:layout_toRightOf="@id/filename"
23            android:layout_marginLeft="10pt"
24            android:id="@+id/edittext_filename"
25            />
26    </RelativeLayout>
27    
28    <TextView
29        android:layout_width="wrap_content"
30        android:layout_height="wrap_content"
31        android:text="@string/txtcontent"
32    />
33    <EditText
34        android:id="@+id/textconetent"
35        android:layout_width="fill_parent"
36        android:layout_height="wrap_content"
37        android:minLines="4"
38    />
39    
40    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
41    android:orientation="vertical"
42    android:layout_width="fill_parent"
43    android:layout_height="wrap_content" >
44    <Button
45        android:id="@+id/button_save"
46        android:layout_width="wrap_content"
47        android:layout_height="wrap_content"
48        android:text="@string/button_save"
49        />
50    <Button
51        android:id="@+id/button_open"
52        android:layout_width="wrap_content"
53        android:layout_height="wrap_content"
54        android:layout_toRightOf="@id/button_save"
55        android:text="@string/button_open"
56    />
57    </RelativeLayout>
58    
59    <TextView
60        android:id="@+id/textview_result"
61        android:layout_width="fill_parent"
62        android:layout_height="wrap_content"
63    />
64    
65</LinearLayout>


strings.xml
 1<?xml version="1.0" encoding="utf-8"?>
 2<resources>
 3    <string name="txtcontent">文本内容:</string>
 4    <string name="app_name">数据保存</string>
 5    <string name="file_name">文件名称:</string>
 6    <string name="button_save">保  存</string>
 7    <string name="error">保存失败</string>
 8    <string name="sucess">保存成功</string>
 9    <string name="button_open">打开文件</string>
10</resources>
11


AndroidManifest.xml
 1<?xml version="1.0" encoding="utf-8"?>
 2<manifest xmlns:android="http://schemas.android.com/apk/res/android"
 3      package="com.pptv.file"
 4      android:versionCode="1"
 5      android:versionName="1.0">
 6    <application android:icon="@drawable/icon" android:label="@string/app_name">
 7          //测试权限
 8          <uses-library android:name="android.test.runner" />
 9          
10        <activity android:name=".DataActivity"
11                  android:label="@string/app_name">
12            <intent-filter>
13                <action android:name="android.intent.action.MAIN" />
14                <category android:name="android.intent.category.LAUNCHER" />
15            </intent-filter>
16        </activity>
17
18    </application>
19    <uses-sdk android:minSdkVersion="4" />
20    //测试权限
21    <instrumentation android:name="android.test.InstrumentationTestRunner"
22        android:targetPackage="com.pptv.file" android:label="Tests for My App" />
23</manifest> 
posted on 2010-12-14 11:57 令狐冲浪 阅读(812) 评论(0)  编辑  收藏

只有注册用户登录后才能发表评论。


网站导航: