我是Android编程新手。我正在尝试一些基本的东西?
有人可以帮我解决问题吗?
感谢您的帮助。
答案 0 :(得分:0)
关于这个问题,我会告诉您,这是您创建的第一个Android程序。我不确定,你曾经用Java编程,或曾经编程过任何东西。对不起,如果我不对,但这是一个非常复杂的问题,所以我们喜欢简单的问题,在哪里告诉你,你已经尝试了什么,你想做什么(确切地说!) , 等等。这是一篇关于好问题的好文章:https://stackoverflow.com/help/how-to-ask
我试着提一些方法来解决你的问题。它们中的任何一个都不完整,但我认为你可以跟随谷歌。
我会在三个方面解决这个问题...
- 我可以从文本文件中读取unicode内容吗?
醇>
您想在哪里存储文件?它来自互联网吗?或者它是静态插入应用程序,还是由用户修改?
如果第一个,我建议您使用WebView类。它是Android中的内置视图,并显示来自互联网的HTML文件。请参阅文档here。
如果它来自互联网,但你想实现下载和显示内容,你应该阅读AsyncTask和Java的FileReaders。 AsyncTask是一个特殊的内置类,您可以在其中创建一个方法,该方法将在另一个线程中运行,而不是在UI线程中运行,并创建一个方法,该方法将在UI线程中运行。前一个。这很重要,因为您无法在UI线程中创建HTTP连接,但也无法从任何其他线程刷新UI。关于从互联网上阅读,这里有一个小样本代码:
public static void main(String[] args) throws Exception {
URL oracle = new URL("http://www.oracle.com/");
BufferedReader in = new BufferedReader(
new InputStreamReader(oracle.openStream()));
String inputLine;
while ((inputLine = in.readLine()) != null)
System.out.println(inputLine);
in.close();
}
还有一些docs。
如果您想从设备上阅读,主要问题是,您是否也想在设备上编辑文件?
如果没有,我将文件放入资产文件夹。在Android Studio中,它位于src/main/assets/
,之后您就可以通过BufferedReader
方式打开文件了:
reader = new BufferedReader(
new InputStreamReader(getAssets().open("filename.txt")));
如果要编辑文件,则应将其保存在INTERNAL_STORAGE
中。这是打开BufferedReader
的代码:
reader = new BufferedReader(new InputStreamReader(openFileInput("filename.txt")));
关于内部存储,您可以阅读Android docs。
关于如何从BufferedReader读取,您可以在第一个代码中看到一个示例,或者我可以推荐官方Java docs。
- 并在控制台上显示它?
醇>
您要在哪个控制台上显示?在IDE的控制台上?在这种情况下,您应该使用Log.d("SomeTagThatTagsThisClass", "Message I'd Like To Display");
或者您想在设备上显示文字?在这种情况下,您应该在Activity中创建一个TextView
,并设置文本,如下所示:
TextView tv = (TextView) findViewById(R.id.mytextview);
tv.setText("Some string...");
- 如果文字大于单个页面,如何阅读它们以便在一段时间内逐页显示?
醇>
如果文字太大,我会使用ScrollView
。它是一个简单的可滚动视图,可以自动隐藏文本的溢出,并且您可以滚动它。
如果您希望逐页显示文字 ,我会使用ViewPager
,并在Fragment
以上显示文字。< / p>