android-Android开发入门学习中遇到的问题

问题描述

Android开发入门学习中遇到的问题

Android初学者,使用的书籍是《第一行代码Android》在书中2.2.5在活动中使用Toast这个部分出现了问题代码编写并未报错,虚拟机中按menu键没有出现菜单栏,请问这是什么原因该如何解决。拜托各位了。

问题没有解决,在虚拟机中点击Menu依旧没有出现菜单栏,请问还有哪些问题?拜托了

解决方案

在学习Android开发的过程中遇到了不少的问题,所幸的是最终经过上网查询都得到了解决。现在将我在学习Android开发过程中遇到的一些问题及解决的方法整理如下。

1.R.java不能实时更新

  问题描述:在res文件中新增的变量不能在R.java中实时的显示出来。

  解决方法:选择菜单栏的“Project”,勾选“Build Automatically”选项。

2.LogCat视窗没有显示

  问题描述:在Eclipse的右下方没有显示LogCat视窗。

  解决方法:选择菜单栏的“Windows”,再选择“Show View”,最后再选择“LogCat”即可。

3.编译时提示“android library projects cannot be launched”错误的解决方法

  问题描述:编译时提示“android library projects cannot be launched”错误

  解决方法:选择菜单栏的“Project”,再选择“Properties”,在弹出的窗口中选择“Android”,将is library选项前面的勾去掉。

4.在xml中添加EditText控件后提示“This text field does not specify an inputType or a hint”错误

  问题描述:在xml中添加EditText控件,控件信息如下。

 <EditText
     android:id="@+id/editText"
     android:layout_width="match_parent"
     android:layout_height="wrap_content" ></EditText>

  编译时,提示“This text field does not specify an inputType or a hint”错误。

  原因分析:控件中缺少android:hint以及android:inputType信息。android:hint用于设置EditText为空时显示的默认文字提示信息。android:inputType用于设置EditText的文本的类型,用于帮助输入法显示合适的键盘类型。

  解决方法:在控件中添加android:hint以及android:inputType信息,添加后的控件信息如下。

 <EditText
     android:id="@+id/editText"
     android:hint="0"
     android:inputType="number"
     android:layout_width="match_parent"
     android:layout_height="wrap_content" ></EditText>

5.警告信息“Hardcoded string "xxx", should use @string resource”的消除方法

  问题描述:在xml中添加Button控件,控件信息如下。

 <Button
     android:id="@+id/mButton_mc"
     android:text="mc"
     android:layout_width="match_parent"
     android:layout_height="wrap_content" >
 </Button>

  编译时,提示“Hardcoded string "mc", should use @string resource”警告。

  原因分析:在android:text中使用到了字符串mc,应该将该字符串定义在String.xml中,然后再通过调用String.xml中该字符串的资源名来使用该字符串资源。这样做的好处在于可以做到一改全改,并且在支持多语言时也是很有用处的。

  解决方法:在项目目录下的res-->values-->String.xml中添加字符串mc的信息如下。

  
  mc

  

  然后,再在使用该Button控件的xml中,通过调用该字符串的资源名来使用该字符串,如下。

  <Button
      android:id="@+id/mButton_mc"
      android:text="@string/mc"
      android:layout_width="match_parent"
      android:layout_height="wrap_content" >
  </Button>

6.警告信息“Nested weights are bad for performance”的消除方法

  原因分析:在布局进行嵌套使用时,父布局与子布局都使用了android:layout_weight,但不是必须使用时,便会出现如题所示的警告信息。

  解决方法:根据实际情况,去除子布局中非必须使用的android:layout_weight。

7.启动模拟器时出现错误信息“Please ensure that adb is correctly located at:XXXXX”的解决方法

  现象:使用正确的源代码,在启动模拟器时出现如下错误信息“Please ensure that adb is correctly located at 'D:AndroidSDK4.0android-sdk-windowsplatform-toolsadb.exe' and can be executed.”

  解决方法:将D:AndroidSDK4.0android-sdk-windowsplatform-tools加入到系统环境变量PATH中。

8.模拟器启动时一直显示信息“Waiting for HOME ('android.process.acore') to be launched...”的解决方法

  现象:模拟器启动时,等很久(5分钟以上)也启动不了,一直提示“Waiting for HOME ('android.process.acore') to be launched...”信息。

   解决方法:删除当前的模拟器,重新创建一个模拟器。在学习Android开发的过程中遇到了不少的问题,所幸的是最终经过上网查询都得到了解决。现在将我在学习Android开发过程中遇到的一些问题及解决的方法整理如下。

1.R.java不能实时更新

  问题描述:在res文件中新增的变量不能在R.java中实时的显示出来。

  解决方法:选择菜单栏的“Project”,勾选“Build Automatically”选项。

2.LogCat视窗没有显示

  问题描述:在Eclipse的右下方没有显示LogCat视窗。

  解决方法:选择菜单栏的“Windows”,再选择“Show View”,最后再选择“LogCat”即可。

3.编译时提示“android library projects cannot be launched”错误的解决方法

  问题描述:编译时提示“android library projects cannot be launched”错误

  解决方法:选择菜单栏的“Project”,再选择“Properties”,在弹出的窗口中选择“Android”,将is library选项前面的勾去掉。

4.在xml中添加EditText控件后提示“This text field does not specify an inputType or a hint”错误

  问题描述:在xml中添加EditText控件,控件信息如下。

 <EditText
     android:id="@+id/editText"
     android:layout_width="match_parent"
     android:layout_height="wrap_content" ></EditText>

  编译时,提示“This text field does not specify an inputType or a hint”错误。

  原因分析:控件中缺少android:hint以及android:inputType信息。android:hint用于设置EditText为空时显示的默认文字提示信息。android:inputType用于设置EditText的文本的类型,用于帮助输入法显示合适的键盘类型。

  解决方法:在控件中添加android:hint以及android:inputType信息,添加后的控件信息如下。

 <EditText
     android:id="@+id/editText"
     android:hint="0"
     android:inputType="number"
     android:layout_width="match_parent"
     android:layout_height="wrap_content" ></EditText>

5.警告信息“Hardcoded string "xxx", should use @string resource”的消除方法

  问题描述:在xml中添加Button控件,控件信息如下。

 <Button
     android:id="@+id/mButton_mc"
     android:text="mc"
     android:layout_width="match_parent"
     android:layout_height="wrap_content" >
 </Button>

  编译时,提示“Hardcoded string "mc", should use @string resource”警告。

  原因分析:在android:text中使用到了字符串mc,应该将该字符串定义在String.xml中,然后再通过调用String.xml中该字符串的资源名来使用该字符串资源。这样做的好处在于可以做到一改全改,并且在支持多语言时也是很有用处的。

  解决方法:在项目目录下的res-->values-->String.xml中添加字符串mc的信息如下。

  
  mc

  

  然后,再在使用该Button控件的xml中,通过调用该字符串的资源名来使用该字符串,如下。

  <Button
      android:id="@+id/mButton_mc"
      android:text="@string/mc"
      android:layout_width="match_parent"
      android:layout_height="wrap_content" >
  </Button>

6.警告信息“Nested weights are bad for performance”的消除方法

  原因分析:在布局进行嵌套使用时,父布局与子布局都使用了android:layout_weight,但不是必须使用时,便会出现如题所示的警告信息。

  解决方法:根据实际情况,去除子布局中非必须使用的android:layout_weight。

7.启动模拟器时出现错误信息“Please ensure that adb is correctly located at:XXXXX”的解决方法

  现象:使用正确的源代码,在启动模拟器时出现如下错误信息“Please ensure that adb is correctly located at 'D:AndroidSDK4.0android-sdk-windowsplatform-toolsadb.exe' and can be executed.”

  解决方法:将D:AndroidSDK4.0android-sdk-windowsplatform-tools加入到系统环境变量PATH中。

8.模拟器启动时一直显示信息“Waiting for HOME ('android.process.acore') to be launched...”的解决方法

  现象:模拟器启动时,等很久(5分钟以上)也启动不了,一直提示“Waiting for HOME ('android.process.acore') to be launched...”信息。

   解决方法:删除当前的模拟器,重新创建一个模拟器。在学习Android开发的过程中遇到了不少的问题,所幸的是最终经过上网查询都得到了解决。现在将我在学习Android开发过程中遇到的一些问题及解决的方法整理如下。

1.R.java不能实时更新

  问题描述:在res文件中新增的变量不能在R.java中实时的显示出来。

  解决方法:选择菜单栏的“Project”,勾选“Build Automatically”选项。

2.LogCat视窗没有显示

  问题描述:在Eclipse的右下方没有显示LogCat视窗。

  解决方法:选择菜单栏的“Windows”,再选择“Show View”,最后再选择“LogCat”即可。

3.编译时提示“android library projects cannot be launched”错误的解决方法

  问题描述:编译时提示“android library projects cannot be launched”错误

  解决方法:选择菜单栏的“Project”,再选择“Properties”,在弹出的窗口中选择“Android”,将is library选项前面的勾去掉。

4.在xml中添加EditText控件后提示“This text field does not specify an inputType or a hint”错误

  问题描述:在xml中添加EditText控件,控件信息如下。

 <EditText
     android:id="@+id/editText"
     android:layout_width="match_parent"
     android:layout_height="wrap_content" ></EditText>

  编译时,提示“This text field does not specify an inputType or a hint”错误。

  原因分析:控件中缺少android:hint以及android:inputType信息。android:hint用于设置EditText为空时显示的默认文字提示信息。android:inputType用于设置EditText的文本的类型,用于帮助输入法显示合适的键盘类型。

  解决方法:在控件中添加android:hint以及android:inputType信息,添加后的控件信息如下。

 <EditText
     android:id="@+id/editText"
     android:hint="0"
     android:inputType="number"
     android:layout_width="match_parent"
     android:layout_height="wrap_content" ></EditText>

5.警告信息“Hardcoded string "xxx", should use @string resource”的消除方法

  问题描述:在xml中添加Button控件,控件信息如下。

 <Button
     android:id="@+id/mButton_mc"
     android:text="mc"
     android:layout_width="match_parent"
     android:layout_height="wrap_content" >
 </Button>

  编译时,提示“Hardcoded string "mc", should use @string resource”警告。

  原因分析:在android:text中使用到了字符串mc,应该将该字符串定义在String.xml中,然后再通过调用String.xml中该字符串的资源名来使用该字符串资源。这样做的好处在于可以做到一改全改,并且在支持多语言时也是很有用处的。

  解决方法:在项目目录下的res-->values-->String.xml中添加字符串mc的信息如下。

  
  mc

  

  然后,再在使用该Button控件的xml中,通过调用该字符串的资源名来使用该字符串,如下。

  <Button
      android:id="@+id/mButton_mc"
      android:text="@string/mc"
      android:layout_width="match_parent"
      android:layout_height="wrap_content" >
  </Button>

6.警告信息“Nested weights are bad for performance”的消除方法

  原因分析:在布局进行嵌套使用时,父布局与子布局都使用了android:layout_weight,但不是必须使用时,便会出现如题所示的警告信息。

  解决方法:根据实际情况,去除子布局中非必须使用的android:layout_weight。

7.启动模拟器时出现错误信息“Please ensure that adb is correctly located at:XXXXX”的解决方法

  现象:使用正确的源代码,在启动模拟器时出现如下错误信息“Please ensure that adb is correctly located at 'D:AndroidSDK4.0android-sdk-windowsplatform-toolsadb.exe' and can be executed.”

  解决方法:将D:AndroidSDK4.0android-sdk-windowsplatform-tools加入到系统环境变量PATH中。

8.模拟器启动时一直显示信息“Waiting for HOME ('android.process.acore') to be launched...”的解决方法

  现象:模拟器启动时,等很久(5分钟以上)也启动不了,一直提示“Waiting for HOME ('android.process.acore') to be launched...”信息。

   解决方法:删除当前的模拟器,重新创建一个模拟器。

解决方案二:

在学习Android开发的过程中遇到了不少的问题,所幸的是最终经过上网查询都得到了解决。现在将我在学习Android开发过程中遇到的一些问题及解决的方法整理如下。

1.R.java不能实时更新

  问题描述:在res文件中新增的变量不能在R.java中实时的显示出来。

  解决方法:选择菜单栏的“Project”,勾选“Build Automatically”选项。

2.LogCat视窗没有显示

  问题描述:在Eclipse的右下方没有显示LogCat视窗。

  解决方法:选择菜单栏的“Windows”,再选择“Show View”,最后再选择“LogCat”即可。

3.编译时提示“android library projects cannot be launched”错误的解决方法

  问题描述:编译时提示“android library projects cannot be launched”错误

  解决方法:选择菜单栏的“Project”,再选择“Properties”,在弹出的窗口中选择“Android”,将is library选项前面的勾去掉。

4.在xml中添加EditText控件后提示“This text field does not specify an inputType or a hint”错误

  问题描述:在xml中添加EditText控件,控件信息如下。

 <EditText
     android:id="@+id/editText"
     android:layout_width="match_parent"
     android:layout_height="wrap_content" ></EditText>

  编译时,提示“This text field does not specify an inputType or a hint”错误。

  原因分析:控件中缺少android:hint以及android:inputType信息。android:hint用于设置EditText为空时显示的默认文字提示信息。android:inputType用于设置EditText的文本的类型,用于帮助输入法显示合适的键盘类型。

  解决方法:在控件中添加android:hint以及android:inputType信息,添加后的控件信息如下。

 <EditText
     android:id="@+id/editText"
     android:hint="0"
     android:inputType="number"
     android:layout_width="match_parent"
     android:layout_height="wrap_content" ></EditText>

5.警告信息“Hardcoded string "xxx", should use @string resource”的消除方法

  问题描述:在xml中添加Button控件,控件信息如下。

 <Button
     android:id="@+id/mButton_mc"
     android:text="mc"
     android:layout_width="match_parent"
     android:layout_height="wrap_content" >
 </Button>

  编译时,提示“Hardcoded string "mc", should use @string resource”警告。

  原因分析:在android:text中使用到了字符串mc,应该将该字符串定义在String.xml中,然后再通过调用String.xml中该字符串的资源名来使用该字符串资源。这样做的好处在于可以做到一改全改,并且在支持多语言时也是很有用处的。

  解决方法:在项目目录下的res-->values-->String.xml中添加字符串mc的信息如下。

  
  mc

  

  然后,再在使用该Button控件的xml中,通过调用该字符串的资源名来使用该字符串,如下。

  <Button
      android:id="@+id/mButton_mc"
      android:text="@string/mc"
      android:layout_width="match_parent"
      android:layout_height="wrap_content" >
  </Button>

6.警告信息“Nested weights are bad for performance”的消除方法

  原因分析:在布局进行嵌套使用时,父布局与子布局都使用了android:layout_weight,但不是必须使用时,便会出现如题所示的警告信息。

  解决方法:根据实际情况,去除子布局中非必须使用的android:layout_weight。

7.启动模拟器时出现错误信息“Please ensure that adb is correctly located at:XXXXX”的解决方法

  现象:使用正确的源代码,在启动模拟器时出现如下错误信息“Please ensure that adb is correctly located at 'D:AndroidSDK4.0android-sdk-windowsplatform-toolsadb.exe' and can be executed.”

  解决方法:将D:AndroidSDK4.0android-sdk-windowsplatform-tools加入到系统环境变量PATH中。

8.模拟器启动时一直显示信息“Waiting for HOME ('android.process.acore') to be launched...”的解决方法

  现象:模拟器启动时,等很久(5分钟以上)也启动不了,一直提示“Waiting for HOME ('android.process.acore') to be launched...”信息。

   解决方法:删除当前的模拟器,重新创建一个模拟器。

解决方案三:

你没有覆盖那两个方法,上面还有一个over

解决方案四:

@Override
    public boolean onCreateOptionsMenu(Menu menu) {
        return super.onCreateOptionsMenu(menu);
    }

你这个方法写错了。应该是有参数的。

解决方案五:

上面两位bingo,而你自创的onCreateOptionsMenu方法是不会被调用的

解决方案六:

你要加上这个@Override,不然你自己写的这个方法是不会被调用的

解决方案七:

请问你用的手机是什么型号的?小米的MENU被重写了

解决方案八:

加什么@Override。根本不是这种问题,@Override只是起个提示作用,如果方法名字参数正确根本不需要@Override。
名字怕写错,最好是这样,打onCre,然后alt+/弹出提示,从里面选择重写的方法.
重写了方法的话,你再把自动生成的@Override去掉也可以.

你去看看main.xml文件中有几个item,是不是R.menu.main对应的文件里面没实际选项。
再不行试下带菜单键的真机,再定位问题方向。别的手机有那就是虚拟机的问题
自己多写几个item项,有actionBar的activity会在actionBar最右侧显示一个菜单按钮,替代那些没有菜单键的手机

super.onCreateOptionsMenu(menu)是不是要放在 inflate之后,也许是这个原因。
getMenuInflater().inflate(R.menu.main, menu);
return super.onCreateOptionsMenu(menu);
试下,我怀疑是没掉super把menu放进activty里面去

如果还是没结果,就再尝试别的办法吧

解决方案九:

他们说的都不对,这里给你一个管用的,你不显示的原因是你没有执行menu.add方法把你的项目加上去。
@Override
public boolean onCreateOptionsMenu(Menu menu)
{
super.onCreateOptionsMenu(menu);

    Intent wallpaper = new Intent();
    wallpaper.setComponent(new ComponentName("com.android.systemui",
        "com.android.systemui.statusbar.phone.ChangePicActivity"));
    wallpaper.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED);

    Intent settings = new Intent(android.provider.Settings.ACTION_SETTINGS);
    settings.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED);

    // add()方法的四个参数,依次是:
    // 1、组别,如果不分组的话就写Menu.NONE,
    // 2、Id,这个很重要,Android根据这个Id来确定不同的菜单
    // 3、顺序,哪个菜单项在前面由这个参数的大小决定
    // 4、文本,菜单项的显示文本
    menu.add(Menu.NONE, Menu.FIRST, 0, R.string.menu_wallpaper).setIntent(wallpaper);
    menu.add(Menu.NONE, Menu.FIRST + 1, 0, R.string.menu_settings).setIntent(settings);

    return true;
}
时间: 2024-10-06 19:49:03

android-Android开发入门学习中遇到的问题的相关文章

android开发+-Android开发入门学习中遇到的问题

问题描述 Android开发入门学习中遇到的问题 Android初学者,使用的书籍是<第一行代码Android>在书中2.2.2创建和加载布局中在布局文件中编辑添加了按钮之后,为什么要在活动中加载这个布局,原理是什么? 解决方案 布局文件相当于画面,activity相当于画布,在activity中加载布局文件才会显示出布局文件中的布局 解决方案二: 布局就是传给Activity,在安卓手机界面中显示出来

android开发-Android开发入门学习遇到的问题

问题描述 Android开发入门学习遇到的问题 Android开发入门学习,使用的是<第一行代码Android>郭霖著其中在2.2.6在活动中使用Menu中遇到问题,书中说打开FirstActivity,重写onCreateOptionsMenu()方法,完成书中代码之后出现截图中呈现的问题,想麻烦各位帮忙解答.拜托各位了 解决方案 用冒号,case R.id.remove_item : case 后面是冒号 解决方案二: 导包呀!不是提示啦!看看你吧 解决方案三: menuitem那里 im

一看就懂的Android APP开发入门教程

  这篇文章主要介绍了Android APP开发入门教程,从SDK下载.开发环境搭建.代码编写.APP打包等步骤一一讲解,非常简明的一个Android APP开发入门教程,需要的朋友可以参考下 工作中有做过手机App项目,前端和android或ios程序员配合完成整个项目的开发,开发过程中与ios程序配合基本没什么问题,而android各种机子和rom的问题很多,这也让我产生了学习android和ios程序开发的兴趣.于是凌晨一点睡不着写了第一个android程序HelloAndroid,po出

《Android应用开发入门经典(第3版)》——第6.8节作业

6.8 作业 Android应用开发入门经典(第3版) 6.8.1 测验 1.EditView中的提示的作用是什么? 2.要实现一个定制的按钮必须要做哪些工作? 3.不确定的ProgressBar和确定的ProgressBar之间的差别是什么? 4.在讨论AsyncTask时publishProgess的含义是什么? 6.8.2 答案 1.在 EditText 视图中显示的提示是对用户的提醒,它会被用户的输入所覆盖. 2.要实现一个定制的按钮必须要使用一个 XML 文件作为一个可绘制的资源.这个

《Android应用开发入门经典(第3版)》——第1.1节建立开发环境

1.1 建立开发环境 Android应用开发入门经典(第3版) 要进行Android开发,首先需要创建一个可工作的开发环境.Android开发使用的是Java开发语言,用于支持Android开发的重要工具都是内置于Eclipse集成开发环境(IDE)中的,当然IntelliJ和基于IntelliJ的Android Studio也是不错的工具.本书使用的工具是Eclipse.要安装Eclipse和支持Android的Eclipse插件(Android Developer Tools),需要下载一个

《Android应用开发入门经典(第3版)》——第1.4节运行应用

1.4 运行应用 Android应用开发入门经典(第3版) 要运行这个应用需要执行下列步骤. 1.选中Hour1App并右击鼠标列出一个选项列表.当然还可以按下Control键并单击Mac.选择Run As,然后选择Android Application,如图1.9所示. 2.在接收到"Android AVD Error"错误消息时可以选择创建一个新的Android虚拟设备.选择Yes. 运行模拟器需要一个Android虚拟设备(AVD),它定义了模拟器中用于测试的设备的参数规格.有很

《Android应用开发入门经典(第3版)》——第1.6节小结

1.6 小结 Android应用开发入门经典(第3版) 本章的目标是开始进行Android开发.第一步是下载和安装Android开发环境.读者使用这个环境生成了一个简单的应用程序并对其进行了修改,通过这一过程学习到了如何以可视化的方式来为Android应用创建用户界面并了解到用户界面本质上是一个XML文件.此外,还向该应用添加了一个简单的动作,这是通过为一个按钮创建一个onClickListener()方法来实现的.

《Android应用开发入门经典(第3版)》——第1.8节作业

1.8 作业 Android应用开发入门经典(第3版) 1.8.1 测验 1.在一个activity中,哪个方法用于将一个表示Button的资源与一个类型为Button的变量关联起来? 2.如何使用可视化工具将一个Button添加到屏幕上? 1.8.2 答案 1.一个activity包含一个名为findViewById()方法,该方法将资源与代码中的变量关联起来.特别地,findViewById()接收一个资源id,并返回这个Button或其他与该资源相关联的视图.在这段代码中必须要将返回的视图

《Android应用开发入门经典(第3版)》——第1.9节练习

1.9 练习 Android应用开发入门经典(第3版) 使用可视化编辑工具将其他组件添加到应用中.这些组件应该包括一个CheckBox和一个ImageView,同时这也是一个尝试很多不同的用户界面元素的好机会.