sxxok 2013-11-11 09:41 采纳率: 0%
浏览 862

安卓开发问题,我是菜鸟

我想开发安卓阅读器,首先实现的内容是读取TXT文件。我想在新页面中打开文件,不知道怎么实现
我瞎弄了这个代码
public class MainActivity extends Activity {
Button button1;TextView textView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

  button1=(Button)this.findViewById(R.id.button1);
  textView = (TextView) findViewById(R.id.textView1);
  button1.setOnClickListener(new OnClickListener(){

public void onClick(View v) {
protected void onCreate(Bundle savedInstanceState){(这行显示multiple markers at this line)
       super.onCreate();
    InputStream inputStream = getResources().openRawResource(R.raw.aa);

String string = reader.getString(inputStream);
textView.setText(string);
}
}
});

}

}
求解决

  • 写回答

1条回答

  • ChatGPTᴼᴾᴱᴺᴬᴵ 2024-03-20 23:23
    关注

    所有内容均由人工智能模型输出,其内容的准确性和完整性无法保证,不代表我的态度或观点。
    GLM-4在2024.02.27SuperCLUE基准得分榜单中排行第四https://www.superclueai.com/


    该回答引用GLM-4,仅提供参考,不保证完全正确
    目前为GLM-4(智谱清言)专栏,网页版本:未知(更新时间未知)
    如有图像,GLM-4将尝试识别您的图像
    您想要在安卓应用中打开一个新的页面来读取TXT文件,首先,您的代码中有几个问题需要解决。我会一步一步地帮您修正并解释。

    1. protected void onCreate(Bundle savedInstanceState)OnClickListener 中被错误地重复定义了。这是不必要的,并且会导致编译错误。
    2. 您尝试在一个 Activity 中再次调用 setContentViewonCreate,这是不允许的。如果您想要打开一个新的页面,您应该启动一个新的 Activity 或者使用 Fragment
    3. getResources().openRawResource(R.raw.aa) 这行代码意味着您想要从资源文件中读取,但通常情况下,TXT文件不会作为资源文件打包进应用,而是应该从设备的文件系统中读取。
    4. 您的代码中没有定义 readergetString 方法,这应该是一个自定义的方法来从 InputStream 中读取字符串。

    以下是修正后的代码示例,这个示例将展示如何从一个指定的文件路径打开并读取TXT文件,并在新的页面中显示内容:
    首先,您需要修改 MainActivity,以启动一个新的 Activity 来显示文本内容:

    public class MainActivity extends AppCompatActivity {
        Button button1;
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            button1 = findViewById(R.id.button1);
            button1.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    // 指定TXT文件的路径
                    String filePath = "/path/to/your/file.txt";
                    // 启动新的Activity来显示文件内容
                    Intent intent = new Intent(MainActivity.this, ReadTextActivity.class);
                    intent.putExtra("file_path", filePath);
                    startActivity(intent);
                }
            });
        }
    }
    

    然后,创建一个新的 Activity 名为 ReadTextActivity,在这个 Activity 中读取并显示TXT文件的内容:

    public class ReadTextActivity extends AppCompatActivity {
        TextView textView;
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_read_text);
            textView = findViewById(R.id.textView);
            // 从Intent中获取文件路径
            String filePath = getIntent().getStringExtra("file_path");
            // 读取文件内容并显示
            StringBuilder text = new StringBuilder();
            try {
                BufferedReader br = new BufferedReader(new FileReader(filePath));
                String line;
                while ((line = br.readLine()) != null) {
                    text.append(line);
                    text.append('\n');
                }
                br.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
            textView.setText(text.toString());
        }
    }
    

    在这个例子中,MainActivity 通过 Intent 传递TXT文件的路径到 ReadTextActivity,然后在 ReadTextActivity 中读取并显示文件内容。
    请确保您有权限读取设备上的文件,并且您的应用有对应的文件读取权限声明在 AndroidManifest.xml 中:

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

    另外,如果您的应用目标API级别是Android 10 (API级别29) 或以上,您还需要处理分区存储,可能需要使用 ContentResolver 来访问文件。

    评论

报告相同问题?

悬赏问题

  • ¥15 jupyterthemes 设置完毕后没有效果
  • ¥15 matlab图像高斯低通滤波
  • ¥15 针对曲面部件的制孔路径规划,大家有什么思路吗
  • ¥15 钢筋实图交点识别,机器视觉代码
  • ¥15 如何在Linux系统中,但是在window系统上idea里面可以正常运行?(相关搜索:jar包)
  • ¥50 400g qsfp 光模块iphy方案
  • ¥15 两块ADC0804用proteus仿真时,出现异常
  • ¥15 关于风控系统,如何去选择
  • ¥15 这款软件是什么?需要能满足我的需求
  • ¥15 SpringSecurityOauth2登陆前后request不一致