关于将常规java代码放在android应用程序中的位置,我有些困惑。
我正在使用Eclipse SDK,默认情况下,在创建应用程序时,它会使用OnCreate()方法生成.java文件。这是我在这个方法中放置代码的地方吗?
现在在我的布局中我有一个imageButton,一旦点击了这个按钮,我想打开一个新的WebView页面,它从assets文件夹中的index.html文件中获取它的HTML代码。这就是我到目前为止......
Button button = (Button)findViewById(R.id.imagebutton1);
if(button.isPressed())
{
WebView webview = new WebView(null);
setContentView(webview);
try {
InputStream fin = getAssets().open("index.html");
byte[] buffer = new byte[fin.available()];
fin.read(buffer);
fin.close();
webview.loadData(new String(buffer), "text/html", "UTF-8");
} catch (IOException e) {
e.printStackTrace();
}
}
我在onCreate()方法的末尾有这段代码:
setContentView(R.layout.main);
但是,一旦我运行该程序,它就会崩溃并告诉我它无法启动。我假设它与代码在onCreate中的事实有关。我知道它不是我应该把它放在哪里,但我想不出代码应该去的任何地方。我应该制作一个新的.java文件并在那里有一个主方法吗?我目前正在上C ++和C#的课程,所以这个Android的东西对我来说还是新的。
答案 0 :(得分:2)
你做过tutorials吗?如果没有,我会从那里开始了解创建和使用Android Activity
的基础知识。一旦您完成了这些工作,请阅读application fundamentals以更全面地了解生命周期。
答案 1 :(得分:1)
你不应该在onCreate中多次调用setContentView。 WebView应位于main.xml布局文件中,否则启动一个新的Activity,其布局包含WebView。并且还要点击你需要拨打的按钮setOnClickListener()。
答案 2 :(得分:0)
此外,如果您的程序崩溃,如果您从logcat提供错误消息将会很有帮助。