您的位置:首页 > 移动开发 > Android开发

android studio常见错误

2015-08-09 16:48 411 查看
1:android studio 新建工程出错

Error:Execution failed for task ':app:preDexDebug'.
com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command 'C:\Program Files (x86)\Java\jdk1.7.0_67\bin\java.exe'' finished with non-zero exit value 1
解决办法:
因为同时开了Eclipse,android studio,导致内存占用过多。关闭Eclipse即可。
[/code]

2:java 类是公共的,应在名为.java 的文件中声明

解决办法:

“类A是公共的,应在名为A.java的文件中声明”这句话需要分两步来理解:
1、如果类A被声明为公共的(public),那么必须将类A保存在名为A.java的文件中;
2、反之,在一个文件中最多包含一个顶级的公共类,并且该公共类的名字与文件名相同。比如文件A.java中,允许定义一个或多个类,但最多允许一个顶级的公共类,此类名为A。此处强调的顶级的意思是,允许非顶级的公共类存在,如内部公共类等。

3:低版本的SDK无法运行高版本的SDK的APK

解决办法:

在下图1所示的build.gradle(Module:app)中,将

  minSdkVersion 9
  targetSdkVersion 9
数字9改成你所需要的SDK版本对应得API版本即可(图二为SDK与API对应关系)



图1:build.gradle(Module:app)





图2:SDK与API对应关系
4:出现Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'android.text.Editable android.widget.EditText.getText()' on a null object reference


protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);
editText1 = (EditText)findViewById(R.id.account);
editText2 = (EditText)findViewById(R.id.pwd);
button1=(Button)findViewById(R.id.loginin);
button2=(Button)findViewById(R.id.quit);
setContentView(R.layout.activity_main);
}


 解决:因为还没有 setContentView(R.layout.activity_main);即Activity 启动入栈后,它在屏幕最前端,就去获取 editText1 =                  (EditText)findViewById(R.id.account);,当然会报错,改成:


protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

editText1 = (EditText)findViewById(R.id.account);
editText2 = (EditText)findViewById(R.id.pwd);
button1=(Button)findViewById(R.id.loginin);
button2=(Button)findViewById(R.id.quit);

}


  即可。

5:editText1.getText().toString();即使为空,返回的也是" ".而不是NULL,不能和c混淆了。

要判断输入的数是不是HELLO,不能使用“==”来判断,需要调用equals()函数。

String message1 = editText1.getText().toString();
String message2 = editText2.getText().toString();
if(message1 != "" && message2 != "")
{
if (message1.equals("HELLO") && message2.equals("HELLO")) {
{...}


  


                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: