您的位置:首页 > 其它

开发中遇到的各种坑爹错误及修改

2013-10-02 17:23 274 查看
一、eclipse android开发配置

(1)、sdk更新失败

              出错问题: 下载并解压sdk之后,点击sdk manager.exe 下载更新,出现网址找不到的问题。

              出错原因:资源下载网站被屏蔽了,电脑不解析为ip地址

              解决方案:1、在C:\Windows\System32\drivers\etc的hosts文档的最后加上74.125.237.1    dl-ssl.google.com,然后更新就不报错了~

                                          网上说该文件是只读的,需复制到其他位置后在修改。

                                2、 如果在项目中已经关联sdk需要删除或者修改。

                                       修改:window->perferences->android,选择相关路径,点击apply

                                       删除:window->perferences->android,点击restore defaults(大概是恢复默认值吧……)之后apply变为灰色……我就不会了,故选择删除adt

                                                   删除adt方法:help->install new software里deails下的what is already installed,其中already installed 是带下划线蓝色字体,点击android     

                                                  ddms和android development tools 点击 uninstall,再在弹出的窗口点击finish便可

                                                  安装adt方法:help->install new software 点击add选择相应路径,再 点击next或者finish,便可。

                                   解决这个错误之前:我的项目r.java无法编译,也就是java文件中R下画红线……注释之后再运行,显示找不到*.apk……  

                                   之后:红线消失~~虚拟机正常运行~~我为自己骄傲呀~~~~~

            注:更新时间长,需耐心。用智能手机做开发,虚拟机反应更快些吧~

(2)、svn用户更改(使用插件的)

             出错问题:登陆一个用户之后,保存了密码,就不在提示输入用户名、密码。

             解决方法:在c盘删除一个文件夹,win7是隐藏文件夹中的~路径:C:\Users\Administrator\AppData\Roaming\Subversion

                                 删除auth文件夹下的所有文件便可~

(3)、虚拟机启动失败 

             出错问题:报emulator-5554 disconnected! Cancelling 'com.wj.test1.TestActivity activity launch'!错误 程序不能正常运行

            出错原因:内存不足

             解决方法:1、关掉了杀毒软件,一切正常……有人说是杀毒软件拦截了,也许是吧……

                                 2、上课时老师出现了相同问题,说是内存不足问题 ,在关掉一些程序后成功解决问题,并且在内存不足时虚拟机会出现各种问题……

                                  3、重建虚拟机    

(4)、avd中上下左右键不能用

              出错问题:虚拟机键盘处的上下左右键上有一行英文,显示avd中不可使用,鼠标点击没反应

              解决方法:修改配置文件,配置文件路径:C:\Users\Administrator\.android\avd\android2.avd\config.ini,其中android2是虚拟机的名字。

                                  在配置文件中找到hw.dpad=no改正hw.dpad=yes。改完以后重启虚拟机,键盘就可用了。

(5)、onActivityResult不运行

              出错问题:传值的时候onActivityResult不运行……

             解决方法:这是编程问题,具体关于onActivityResult运行原理。

                                onActivityResult是在actvity结束之后运行,也就是运行onstop之后。onActivityResult写在第一个页面中,需注意:

                                                       1、oncreate做跳转传值时需设置requestcode的值,其值为整数。

                                                       2、作为传值成功的证明,可在onActivityResult中判断requestcode和resultcode码例如:

                                                                         String str=data.getStringExtra("tag_Extra");

                                                                        if(requestCode==1&&resultCode==2){
                                                           Toast.makeText(this, "返回值:"+str, 0).show();
                                                         }

                                                       3、如果在跳转之后谢了finish(),会调用ondestroy方法,界面被销毁。那么如果你第二界面仍然如下编辑,是跳不回去滴~~

                                 在第二个界面事件代码:

                                                                       Intent intent=new Intent();
                                               intent.putExtra("tag_Extra", "+++++++++++++++++++Extra");
                                               setResult(2,intent);

                                                                       finish();

                                     需注意事项:

                                                                        1、intent不可做跳转,否则第一个页面重新创建,生命周期:oncreate->onstart 所以,

                                                                               onActivityResult在oncreate运行之前大概被销毁了。

                                                                               Intent intent=new Intent();和回退很像,会调用onrestart。

                                                                        2、必须设置finish(),不然不会跳转,大概是传递不到第一个界面的onActivityResult。

                      注意:

                                将源代码与项目链接的方法:

                                                  在系统包提供的方法或类上按住f3后不显示代码,但有一button提示连接代码文件,点击后的显示对话框。

                                                  在系统对话框的右边有两个button点击第二个button,其为加载外部源文件,选择D:\Program Files\android-sdk-windows\sources\android-18。

                     
4000
                             也就是选择jak安装文件的sources下的文件。如果此方法没用欢迎补充~

(6)、android 不支持wep app libraries 3.0

                           出错问题:项目右键->build path->add libraries->wep add libraries  然后系统自动选择项目,然后finish。

                                               然后就报错:build path contains duplicate entry:'org,eclipse.jst.j2ee.internal.web.container' for project '[项目名]'

                         解决方法:

                                              1、修改项目系统文件:

                                                    1)、文件目录:项目目录下.setting/org.eclipse.wst.common.project.facet.core.xml

                                                            修改内容:<installed facet="jst.web" version="3.0"/>

                                                                    改为:<installed facet="jst.web" version="2.5"/>

                                                     2)、文件目录:项目目录下.classpath(如果第二步报错时采取)

                                                            修改内容:<classpathentry kind="con" path="org.eclipse.jst.j2ee.internal.web.container"/>

                                                                                <classpathentry kind="con" path="org.eclipse.jst.j2ee.internal.module.container"/>

                                                                    改为:删除……

                                              2、修改项目配置:

                                                     右击项目->properties->project facets 选中dynamic web modile、java、javascript,

                                                     并把dynamic web modile版本调到2.5,此处可能会报错;

                                                     右边的选项卡点击runtimes,选中apache tomcat v7.0。

                                                      操作完后需重启……

                                                     web项目是选中这几个文件的~~这样也可把java项目变成web项目~~

(7)android 项目jdk升级

出错问题:项目jdk升级到1.7以后,醒目名称出现红叉,但程序没错console报错。

                                     错误为: Android requires compiler compliance level 5.0 or 6.0. Found '1.7' instead. Please use Android Tools > Fix                                                                                                          
           Project Properties.

              解决方法:1、项目名称->android tools->fix project properties 但项目改回原来的jdk版本 求解

              注:修改jdk的方法:项目名称->propertise->java compiler->compiler compliance setting 修改版本即可

(8)MenuDrawer menuDrawer = MenuDrawer.attach(this) 

出错问题:
依赖MenuDrawer开源包做侧滑菜单,使用 MenuDrawer.attach(this)时报错

查看代码之后发现其相等同于 MenuDrawer.attach(this,MENU_DRAG_CONTENT,Position.LEFT);

在代码中是使用两个方法封装的,而我使用上一句时并未出现错误……

解决方法:事实再次证明,这两句确实是相同的……是我错了

(9)selector 中设置了背景和字体颜色 但不显示

出错问题:selector 中的代码:

<?xml version="1.0" encoding="UTF-8"?>

<selector xmlns:android="http://schemas.android.com/apk/res/android">  

    <item android:state_pressed="true"  

        android:color="#fff"

        android:drawable="@drawable/citybutton_bg_2" /> 

     <item 

        android:color="#aaa"

        android:drawable="@drawable/citybutton_bg_1"/>      

</selector>  

按钮按下时,字体改变颜色,背景不显示。

解决方法:将字体颜色设置到color中,读取color中的颜色设置到android:color中,如以下所示

<?xml version="1.0" encoding="UTF-8"?>

<selector xmlns:android="http://schemas.android.com/apk/res/android">  

    <item android:state_pressed="true"  

        android:color="@color/main_click_color"

        android:drawable="@drawable/citybutton_bg_2" /> 

      <item 

        android:color="@color/main_unclick_color"

        android:drawable="@drawable/citybutton_bg_1"/>      

</selector>  

注:虽然定义了两个,但如果控件只设置了background,未设置textcolor,点击时字体颜色不会变化始终为黑色。

设置android:textcolor="@drawable/xx",后字体才会改变颜色
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐