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>
더 많은 안 드 로 이 드 관련 내용 에 관심 이 있 는 독자 들 은 본 사이트 의 주 제 를 볼 수 있다.,,,,,,,본 고 에서 말 한 것 이 여러분 의 안 드 로 이 드 프로 그래 밍 에 도움 이 되 기 를 바 랍 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Bitrise에서 배포 어플리케이션 설정 테스트하기이 글은 Bitrise 광고 달력의 23일째 글입니다. 자체 또는 당사 등에서 Bitrise 구축 서비스를 사용합니다. 그나저나 며칠 전 Bitrise User Group Meetup #3에서 아래 슬라이드를 발표했...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.