转 Android学习笔记: 学习过程中碰到的一些问题及解决方法

 在学习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的信息如下。

  <resources>
      <string name="mc">mc</string>

  </resources>

  然后,再在使用该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.0\android-sdk-windows\platform-tools\adb.exe‘ and can be executed.”

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

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

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

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

 9.Android模拟器横屏与竖屏切换

  模拟器启动后,选中模拟器,按CTRL+F11可以进行Android模拟器横屏与竖屏的切换。

10.导入的Android工程@Override报错

   现象:将网上下载的Android工程源码导入Eclipse时,@Override报错。

   解决方法:在报错的工程上,鼠标右键选择 Properties-->Java Compiler-->compiler compliance level中选择1.6,刷新工程,就不会报错了。

时间: 2024-08-11 04:54:56

转 Android学习笔记: 学习过程中碰到的一些问题及解决方法的相关文章

[Android学习笔记]ListView中含有Button导致无法响应onItemClick回调的解决办法

转自:http://www.cnblogs.com/eyu8874521/archive/2012/10/17/2727882.html 问题描述: 当ListView的Item中的控件只是一些展示类控件时(比如TextView),注册ListView的监听setOnItemClickListener之后,当点击Item时候会触发onItemClick回调. 但是,当Item中存在Button(继承于Button)的控件时,onItemClick回调不会被触发. 解决方案: 在Item的布局文件

AspectJ学习笔记2-Eclipse中AspectJ插件AJDT的正确安装方法

接着之前一篇日志.这个事情也挺无语的,简单记录一下. 在这里:http://www.eclipse.org/ajdt/ 可以下载最新的Eclipse Plugin,下载解压之后,一般来说,直接把解压后文件夹下的features和plugins放到Eclipse的文件夹下就行了.不过我这样做以后,启动Eclipse,发现没什么作用.才参考网上有人介绍的第二种方法,也就是Help--Install New Software--Add--Local这种方式选择刚才的解压文件夹,但是这样操作以后会报像下

android学习笔记----JNI中的c控制java

面向对象的底层实现 java作为面向对象高级语言,可对现实世界进行建模.和面向过程不同的是面向对象软件的编写不是流程的堆积,而是对业务逻辑的多视角分解和分类.其过程大致为:      1).将知识分解成不同粒度的小概念.      2).对概念进行分类,形成类.模块.系统      3).用计算机语言将其实现为对象(包含操作和数据) 然而,大多程序员编写代码时很少思考面向对象的体系是如何实现的.因为它属于底层,并不必要.但是,学习过Java反射技术并有所思考的人会意识到,面向对象的种种语法本身也

Android学习笔记----TimerTask中显示Toast的问题

今天想在TimerTask的run函数中调用Toast显示一下提示信息,却总是导致程序崩溃.可是try语句块却又无法捕获到异常,代码如下: ...... Timer timer = new Timer(); TimerTask sampleTask = null; ...... if (sampleTask==null){ sampleTask = new TimerTask() { @Override public void run() { Toast.makeText(getApplicat

Android学习笔记----Java中的字符串比较

用习惯了C#.C++,在做字符串比较时想当然地使用如下语句: 1 string str1 = "abcd", str2 = "abcd"; 2 if(str1==str2) 3 { 4 return true; 5 } 6 else 7 { 8 return false; 9 } 殊不知在Java中,两个String类型的变量,尽管字符相同,使用”==“进行比较,也会返回false. Java中进行字符串比较需采用String类型的equals方法: 1 Strin

Android学习笔记之dispatchTouchEvent和OnInterceptTouchEvent和OnTouchEvent三个方法之间的联系...

PS:好久没有写博客了,项目正式开始启动了,但是怎么也打不起精神来...可能还是不适应放假留校...这下一年只能回家一次了...伤感...写篇博客舒坦下... 学习内容:   Android中dispatchTouchEvent和OnInterceptTouchEvent和OnTouchEvent三个方法之间的联系...这三个方法研究了整整一个下午,也没有理解的特别的好...说实话,java的源代码我始终都没有看懂究竟是怎么个调用过程...不过还是把自己理解的结果写一下把...   这三个方法是

学习笔记(3)---安装SVM问题及解决方法

1. LibSVM下载,安装 下载地址:http://www.csie.ntu.edu.tw/~cjlin/libsvm/,最新的版本是3.17 2. 入门 [plain] view plain copy [heart_scale_label,heart_scale_inst]=libsvmread('heart_scale'); % 导入数据 model = svmtrain(heart_scale_label,heart_scale_inst, '-c 1 -g 0.07'); % 训练模型

工作中碰到的一些问题以及解决方法

一.左中右布局,左边定宽,中.右百分比的布局: (1)HTML代码: <div class="three-left"> </div> <div class="three-right-container"> <div class="three-mid"> </div> <div class="three-right"> </div> </d

【转】Pro Android学习笔记(十三):用户界面和控制(1):UI开发

目录(?)[-] UI开发 方式一通过XML文件 方式二通过代码 方式三XML代码 UI开发 先理清一些UI概念: view.widget.control:这三个名词其实没有什么区别,都是一个UI元素,例如一个button.Container(容器):包含其他view,例如grid可以认为是容器,它有cell,每个cell可以是一个view.Layout: 对容器们和view们的排版,可以包含其他layout. Android提供常用的UI(例如文字框)以及适合移动设备的控制,基础类为andro