Android 亚洲开发银行推送:文件到哪里去了?

Android 亚洲开发银行推送:文件到哪里去了?,android,adb,Android,Adb,我创建了一个非常简单的android应用程序来测试adb推送。我基本上是试图查看存储在数据目录中的文件列表。使用adb push添加文件,我希望看到列表发生变化,但尽管文件显示在DDMS透视图中,但它们不在我的应用程序正在查看的数据目录中(因此“活动”显示为空,如下面的代码所示)。我应该走的正确道路是什么,或者我做错了什么 代码: import java.io.File; import android.app.Activity; import android.content.Context; i

我创建了一个非常简单的android应用程序来测试adb推送。我基本上是试图查看存储在数据目录中的文件列表。使用
adb push
添加文件,我希望看到列表发生变化,但尽管文件显示在DDMS透视图中,但它们不在我的应用程序正在查看的数据目录中(因此“活动”显示为空,如下面的代码所示)。我应该走的正确道路是什么,或者我做错了什么

代码:

import java.io.File;
import android.app.Activity;
import android.content.Context;
import android.os.Bundle;
import android.os.Environment;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.TextView;

public class TestActivity extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(updateView());
    }

    public View updateView() {
        File[] files = Environment.getDataDirectory().listFiles();
        LayoutInflater inflater;
        inflater = (LayoutInflater)    this.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        View v = inflater.inflate(R.layout.main, null);
        TextView tv = (TextView) v.findViewById(R.id.text01);
        String s = "";
        if (files != null) {
            for (File f : files) {
                s += f.getName() + "\n";
            }
        }
        else {
            s = "EMPTY";
        }
        tv.setText(s);
        return v;
    }
}
./adb push myfile.txt /data/myfile.txt
命令:

import java.io.File;
import android.app.Activity;
import android.content.Context;
import android.os.Bundle;
import android.os.Environment;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.TextView;

public class TestActivity extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(updateView());
    }

    public View updateView() {
        File[] files = Environment.getDataDirectory().listFiles();
        LayoutInflater inflater;
        inflater = (LayoutInflater)    this.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        View v = inflater.inflate(R.layout.main, null);
        TextView tv = (TextView) v.findViewById(R.id.text01);
        String s = "";
        if (files != null) {
            for (File f : files) {
                s += f.getName() + "\n";
            }
        }
        else {
            s = "EMPTY";
        }
        tv.setText(s);
        return v;
    }
}
./adb push myfile.txt /data/myfile.txt

如果没有root权限,您无法访问
/data
。您应该将您的文件添加到
Activity.getFilesDir()
中,该文件转换为
/data/com.yourapp/files

实际上,
getFilesDir()
通常映射到
/data/com.yourapp/files/