実機内やエミュレータ内のファイルを操作する DDMS、adbとサンプルコード

Android SDKに含まれているデバッガツールDDMS(Dalvik Debug Monitor Service)を使うと、実機内やエミュレータ内のファイルを操作することができます。

SDカードにファイルを書き込むサンプルコード

[参考記事] Android SDK
[参考記事] apkファイルをAndroid端末にUSB接続でインストールする方法 (開発者ではない人向け)
[参考記事] Eclipseのビューで端末のファイルを操作する方法
[参考記事] 実機のスクリーンショットをとる方法
[参考記事] 開発中のアプリケーションを実機でテストする方法(アプリのインストール・削除)

ツールでファイル転送する DDMS

DDMSを起動するには、コマンドラインから

cd "C:\Program Files\Android\android-sdk-windows\tools"
ddms

環境変数のPATHに
C:\Program Files\Android\android-sdk-windows\tools
を追加していると、ddmsのみで起動します。

[参考記事] パスの設定 環境変数PATH

Windowsであればddms.batをダブルクリックしても起動します。

注意;コマンド実行からウインドウが開くまで、時間がかかります。

操作するデバイスを選択して、Device→File Explorerを開きます。


ディレクトリスレッド


ファイルをPCに保存したり、PCからファイルを保存したり、削除したりすることもできます。

Pull File from DeviceファイルをPCに保存
Push File onto DevicePCからファイルを保存
Delete削除

コマンドでファイル転送 adb

adbを使用するとコマンドでファイル転送を行うことができます。

PCから端末に転送する。

push test.txt /data/test.txt

端末からPCに転送する。

pull /data/test.txt test.txt

SDカードにファイルを書き込むサンプル

[参考記事] Androidアプリの開発環境を作る方法
[参考記事] EclipseでAndroidプロジェクトを作る方法
SDカードにデータを書き込む場合は、AndroidManifest.xmlにandroid.permission.WRITE_EXTERNAL_STORAGEを追記します。

[参考記事] AndroidManifest.xml の permission一覧

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission>

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
      package="com.example.test"
      android:versionCode="1"
      android:versionName="1.0">
    <uses-sdk android:minSdkVersion="8" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission>
    <application android:icon="@drawable/icon" android:label="@string/app_name">
    ………
    </application>
</manifest>

TestApp.java

package com.example.test;

import java.io.BufferedWriter;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStreamWriter;

import android.app.Activity;
import android.os.Bundle;

public class TestApp extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        try {
            save2SD();
        } catch (IOException e) {

        }
    }
    
    private void save2SD() throws IOException {
        // ファイル保存先をSDカード内のパッケージ名フォルダ以下のsample.txtとします。
        String filePath = "/sdcard/" + getPackageName() + "/sample.txt";
        File file = new File(filePath);

        // パッケージ名フォルダを作成します。
        file.getParentFile().mkdir();

        // ファイル出力
        FileOutputStream fos = new FileOutputStream(file, true);

        // UTF-8でファイル出力
        OutputStreamWriter osw = new OutputStreamWriter(fos, "UTF-8");
        BufferedWriter bw = new BufferedWriter(osw);

        // テキストを書き込みます。
        bw.write("テスト");
        bw.flush();
        bw.close();
    }
}

これでファイルをPCにダウンロードして、内容を確認すると『テスト』と書かれています。

スポンサーリンク

関連記事

スポンサーリンク

Image.id

ホームページ製作・web系アプリ系の製作案件募集中です。

上に戻る