Android 개발 파일 작업 상세 설명

7589 단어 Android파일 조작
이 글 의 실례 는 안 드 로 이 드 개발 의 파일 조작 을 다 루 었 다.여러분 께 참고 하도록 공유 하 겠 습 니 다.구체 적 으로 는 다음 과 같 습 니 다.
현재 거의 모든 설비 가 파일 의 조작,예 를 들 어 어떤 컴퓨터,휴대 전화 등 설비 와 관련 될 것 이다.안 드 로 이 드 의 파일 조작 은 컴퓨터 와 비교적 유사 하 며 휴대 전화 에 내 장 된 메모리 에 저장 할 수도 있 고 sd 카드 일 수도 있다.이 글 에 서 는 주로 휴대 전화 내 장 된 메모리 에 있 는 파일 조작 을 소개 한다.
개발 절차
(1)인터페이스의 디자인
(2)안 드 로 이 드 를 디자인 하 는 업무 층
(3)단원 테스트
(4)안 드 로 이 드 컨트롤 러 층 설정
개발 절차
(1)디자인 소프트웨어 인터페이스

<?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"
  >
<TextView
  android:layout_width="fill_parent"
  android:layout_height="wrap_content"
  android:text="@string/filename"
  />
 <EditText
  android:layout_width="fill_parent"
  android:layout_height="wrap_content"
  android:id="@+id/filename"
  />
  <TextView
  android:layout_width="fill_parent"
  android:layout_height="wrap_content"
  android:text="@string/content"
  />
 <EditText
  android:layout_width="fill_parent"
  android:layout_height="wrap_content"
  android:id="@+id/content"
  android:minLines="3"
  />
  <Button
   android:layout_width="wrap_content"
   android:layout_height="wrap_content"
   android:text="@string/button"
   android:id="@+id/button"/>
</LinearLayout>

여기 도 R 파일 보 여 드릴 게 요.

/* AUTO-GENERATED FILE. DO NOT MODIFY.
 *
 * This class was automatically generated by the
 * aapt tool from the resource data it found. It
 * should not be modified by hand.
 */
package org.lxh.file;
public final class R {
  public static final class attr {
  }
  public static final class drawable {
    public static final int icon=0x7f020000;
  }
  public static final class id {
    public static final int button=0x7f050002;
    public static final int content=0x7f050001;
    public static final int filename=0x7f050000;
  }
  public static final class layout {
    public static final int main=0x7f030000;
  }
  public static final class string {
    public static final int app_name=0x7f040001;
    public static final int button=0x7f040004;
    public static final int content=0x7f040003;
    public static final int failure=0x7f040006;
    public static final int filename=0x7f040002;
    public static final int hello=0x7f040000;
    public static final int success=0x7f040005;
  }
}

(2)디자인 업무 층

package org.lxh.service;
import java.io.ByteArrayOutputStream;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import android.content.Context;
import android.util.Log;
public class FileService {
  private Context context;
  public FileService(Context context) { //        context
    this.context = context;
  }
  //    
  public void saveFile(String filename,String content) throws Exception{ //         
    FileOutputStream out=context.openFileOutput(filename, Context.MODE_PRIVATE);
    out.write(content.getBytes());
    out.close();
  }
  public String readFile(String filename) throws Exception{ //         
    FileInputStream in=context.openFileInput(filename);
    byte b[]=new byte[1024];
    int len=0;
    ByteArrayOutputStream array=new ByteArrayOutputStream();
    while((len=in.read(b))!=-1){ //      
      array.write(b,0,len);
    }
    byte data[]=array.toByteArray(); //           
    in.close(); //        
    array.close();
    return new String(data); // byte           
  }
}

다음은 유닛 테스트 를 시작 하 겠 습 니 다.추가 할 환경 은 말 하지 않 겠 습 니 다.

package org.lxh.test;
import org.lxh.service.FileService;
import android.test.AndroidTestCase;
import android.util.Log;
public class Test extends AndroidTestCase {
  public static final String TAG = "Test";
  public void testSave() {
    FileService service = new FileService(this.getContext());
    try {
      service.saveFile("01.txt", "hello");
    } catch (Exception e) {
      Log.i(TAG, e.getMessage());
    }
  }
  public void testRead() {
    FileService service = new FileService(this.getContext());
    try {
      Log.i(TAG,service.readFile("01.txt"));
    } catch (Exception e) {
      Log.e(TAG, e.getMessage());
    }
  }
}

운행 후의 효 과 를 살 펴 보 겠 습 니 다.


유닛 테스트 가 통과 되 었 습 니 다.시 뮬 레이 터 의 효 과 를 살 펴 보 겠 습 니 다.그 전에 아래 코드 를 먼저 보 세 요.

package org.lxh.file;
import org.lxh.service.FileService;
import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
public class FileActivity extends Activity {
  private FileService service;
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    service=new FileService(this);
    Button button=(Button)findViewById(R.id.button);
    button.setOnClickListener(new View.OnClickListener() {
      public void onClick(View v) {
        EditText filename=(EditText)findViewById(R.id.filename);
        EditText content=(EditText)findViewById(R.id.content);
        try {
          service.saveFile(filename.getText().toString(), content.getText().toString());
          Toast.makeText(FileActivity.this, R.string.success, 1).show();
        } catch (Exception e) {
          Toast.makeText(FileActivity.this, R.string.failure, 1).show();
          Log.e("FileActivity", e.getMessage());
        }
      }
    });
  }
}

저장 에 성공 하면 사용자 에 게 그림 알림 을 보 냅 니 다.

다음은 strings.xml 코드 도 붙 여 주세요.

<?xml version="1.0" encoding="utf-8"?>
<resources>
  <string name="hello">Hello World, FileActivity!</string>
  <string name="app_name">     </string>
  <string name="filename">      </string>
  <string name="content">      </string>
  <string name="button">  </string>
  <string name="success">      </string>
  <string name="failure">      </string>
</resources>

더 많은 안 드 로 이 드 관련 내용 에 관심 이 있 는 독자 들 은 본 사이트 의 주 제 를 볼 수 있다.,,,,,,,
본 고 에서 말 한 것 이 여러분 의 안 드 로 이 드 프로 그래 밍 에 도움 이 되 기 를 바 랍 니 다.

좋은 웹페이지 즐겨찾기