文章较长,请使用“ctrl+F”输入异常进行查找


57、导入项目到Eclipse出现

An internal error occurred during: "Android Library Update".

Path must include project and resource name: /social_sdk_library_project

[2014-04-22 15:19:39 - social_sdk_library_project] /social_sdk_library_project/gen already exists but is not a source folder. Convert to a source folder or rename it.

解决办法:


遇到android项目导入出现后重复空包等错误,往往是导入的java编译级别有关,点击项目properties->

java Compiler ->修改Compiler compliance level 一般是1.6。

修改完成clean项目之后,往往还会遇到:

gen already exists but is not a source folder. Convert to a source folder or rename it的错误。

遇到这个问题的解决方法:

1. 右键点击工程,选择 "Properties"

2. 选择左边的 "Java Build Path"

3. 打开 "Source" 标签面板

4. 点击 "Add Folder..."

5. 勾选 "gen" 文件夹,点击OK,点击YES,再点击OK

6. 最后右键点击工程,选择 "Andriod Tools" 里面的 "Fix Project Properties"

出现这个问题的原因是classpath文件出错,这个文件存在于项目根目录下,是eclipse自动生成的,它定义了你这个项目在编译时所使用的$CLASSPATH,一般不需要手动配置。如果出错,也可手动修改:


Xml代码  收藏代码

  1. <?xmlversion="1.0"encoding="UTF-8"?>

  2. <classpath>

  3. <classpathentrykind="src"path="src"/>

  4. <classpathentrykind="src"path="gen"/>

  5. <classpathentrykind="con"path="com.android.ide.eclipse.adt.ANDROID_FRAMEWORK"/>

  6. <classpathentrykind="con"path="com.android.ide.eclipse.adt.LIBRARIES"/>

  7. <classpathentrykind="lib"path="libs/ksoap2-android-assembly-2.5.8-jar-with-dependencies.jar"/>

  8. <classpathentrykind="output"path="bin/classes"/>

  9. </classpath>

从数据上我们容易看出,上面描述了工程的依赖文件:

源文件的具体位置(kind="src")

运行的系统环境(kind="con")

工程的library的具体位置信息(kind="lib")

项目的输出目录(kind="output")


56.

android.content.ActivityNotFoundException:NoActivityfoundtohandleIntent{act=android.intent.action.SENDTOdat=mailto:xxxxxxxx@xx.xxx(hasextras)}


try

{

//跳转到发送邮件程序

Intent data = new Intent(Intent.ACTION_SENDTO);

data.setData(Uri.parse("mailto:"

+ currentPeixunListObject.getMailString()));

data.putExtra(Intent.EXTRA_SUBJECT, "【回复】:"

+ currentPeixunListObject.getSubjectString());

//data.putExtra(Intent.EXTRA_TEXT, "这是内容");

startActivity(data);

}

catch (ActivityNotFoundException e)

{

e.printStackTrace();

PingGuApplication.showMessage(mContext, "没有找到可以的邮件应用!");

}




55.

E/AndroidRuntime(13422):android.view.WindowManager$BadTokenException:Unabletoaddwindow--tokenandroid.os.BinderProxy@427dab48isnotvalid;isyouractivityrunning?


解决办法:

判断Activity是否在运行

在你的Activity定义一个静态变量,然后如下: class MyActivity extends Activity {
    static boolean active = false;


     public void onStart() {
        active = true;
     }

     public void onStop() {
        active = false;
     }
}


判断Activity是否isFinishing();

if (!SearchActivity.this.isFinishing())

{

view.showDropDown();

}



54.

/AndroidRuntime(9557):java.lang.ArithmeticException:dividebyzero

/AndroidRuntime(9557):atcom.android.internal.view.menu.IconMenuView.layoutItemsUsingGravity(IconMenuView.java:227)

/AndroidRuntime(9557):atcom.android.internal.view.menu.IconMenuView.layoutItems(IconMenuView.java:203)

暂未找到合适的解决办法(求助一下)



53.atandroid.widget.ListView.removeFooterView(ListView.java:454)


添加,移除ListView的headerView或者是footerView需要注意的地方?

     添加:关于addHeaderView方法文档上有这么一句话,“Call this before calling setAdapter”,在调用这个方法之前,先要设定ListView的Adapter。addFooterView方法同样

     移除:用到了系统提供的removeHeaderView或者removeFooterView方法,虽然文档上没有说明,但是调用这个方法应该在setAdapter之后。

这是之前就遇到过了,当时把addFooterView放在之后,结果没有效果.

那么由此,是Adapter报出来的也就不足为奇了,因为更换过Adapter,那我之后先去掉Adapter再添加上去了.

再每次清除ListView时变成这样:


mPageNum = 1;

mBulletinList.clear();

if(mAnnouncementLv.getFooterViewsCount()>0){

mAnnouncementLv.removeFooterView(mLoadLayout);

}

mAnnouncementLv.addFooterView(mLoadLayout);

mAnnouncementLv.setAdapter(mBulletinAdapter);

OK,不报错了... ...




52.java.lang.IndexOutOfBoundsException:Invalidindex0,sizeis0


数组空判断


51.Caused by: java.lang.IllegalStateException: Can not perform this action after onSaveInstanceState

http://developer.android.com/reference/android/app/FragmentTransaction.html#commitAllowingStateLoss()


大致意思是说我使用的 commit方法是在Activity的onSaveInstanceState()之后调用的,这样会出错,因为onSaveInstanceState

方法是在该Activity即将被销毁前调用,来保存Activity数据的,如果在保存玩状态后再给它添加Fragment就会出错。解决办法就

是把commit()方法替换成 commitAllowingStateLoss()就行了,其效果是一样的。


50.在修改导入包路径时出现:


Could not write file: E:\AndroidWorkSpace\sample1\.classpath.

E:\AndroidWorkSpace\sample1\.classpath (拒绝访问。)

   其实这是由于文件被隐藏造成的!只要显示出来就好了。

但是你发现这样做还是不行,因为你只是显示了这个文件,还要把属性里面的隐藏属性勾掉才可以!

这样就OK了!!!!

来自:http://www.eoeandroid.com/thread-277028-1-1.html

49、项目导入出现

Errors occurred during the build.

Errors running builder 'Android Resource Manager' on project 'sample1'.

Errors running builder 'Android Pre Compiler' on project 'sample1'.

Path must include project and resource name: /sample1

解决:时间有些久了,记得这个问题好像不难,是配置问题,

原因是使用SVN导致:

svn在checkout的所有文件的文件夹下都会生成一个.svn文件用于管理版本库,而新版的adt加强了对项目文件中的异常类型文件的识别,所以在遇到.svn时报了空指针的错误。

解决问题:

删除掉工程中所有的.svn目录,重新编译。

选择一个项目

-

右键

Properties

-Builders

-

取消


“JavaScript Validator”



Mule 3 hot deployment


的勾就

OK

这个方法没有试过:选择一个项目—-右键Properties—-Builders—-取消 “JavaScript Validator”  和 Mule 3 hot deployment 的勾就OK了

试试以上方法。希望有所帮助。



类似的异常

解决错误:/gen already exists but is not a source folder. Convert to a source folder or rename it


来源: <解决错误:/gen already exists but is not a source folder. Convert to a source folder or rename it - 极客公园 - 博客频道 - CSDN.NET>


今天把workspace里面的项目路径改了下,就出现了这个错误了。

这个错误一般是由对函数库的改动或是路径的重置引起的,显示为
/myProject/gen already exists but is not a source folder. Convert to a source folder or rename it.

解决这个错误的方法如下:

1.右键点击Package Exploreer下的myProject,选择Properties.

2.选择Java Build Path,再选择Source.

3.点击右边的Add Folder, 选中gen文件夹,点击OK,之后Yes.

4.在Properties的主面板中点击OK确定。

5.右键点击Package Exploreer下的myProject,选择Android Tools, 点击Fix Project Properties .

这样我们就把gen文件夹转变为一个source folder了。

现在我们再Project->Clean,就发现错误已经不再出现了。

值得注意的是,如果这个错误是由路径的重置引起的,那么一定要按照上述方法再将src文件夹转变为一个真正的source folder(出现一个方块形package标志)。


来源: <解决错误:/gen already exists but is not a source folder. Convert to a source folder or rename it - 极客公园 - 博客频道 - CSDN.NET>

 





48、E/AndroidRuntime(18805): java.lang.StackOverflowError


检查是否有死循环、递归等程序,如果有,修正、优化相关代码。

StackOverflowError是由于当前线程的栈满了(栈帧太多,也就是函数调用层级过多)导致。

检查是否有死递归的情况


47.Caused by: java.lang.ClassNotFoundException: com.test.handler.BultiThreadHandler in loader dalvik.system.PathClassLoader[/data/app/com.test.handler-1.apk] 错误的时候,其实只是在Manifest文件中注册的Activity的名称写错了,注意!!!——Activity中的名称要写com.test.handler.BultiThreadHandler

前面要加上包名称!!!


46、has leaked window com.android.internal.policy.impl.PhoneWindow$ that was originally added here

异常场景:

经常在应用中需要处理一些耗时的工作,诸如读取大文件、访问网络资源等。为了避免因程序假死而带来的糟糕用户体验,通常我们可以通过线程+Handler或者Android提供的AsyncTask来解决该问题,并一般以ProgressDialog等提示性控件来告知用户当前的程序进度。而标题中描述的异常则会常常出现在这样的场景中,并且往往掩盖了导致异常的真正的罪魁祸首。

问题原因:

从异常描述中,大致的意思是存在窗口句柄泄露,即未能及时销毁某个PhoneWindow。而这往往误导了我们,把过多的精力放在查找所谓的内存泄露上了。其实存在这么一种情况,即因我们在非主线程中的某些操作不当而产生了一个严重的异常,从而强制当前Activity被关闭。而在关闭的同时,却没能及时的调用dismiss来解除对ProgressDialog等的引用,从而系统抛出了标题中的错误,而掩盖了真正导致这个错误的异常信息。

解决方法之一:

本解决方法并不能真正的解决问题,但是在一定程度上可以将真正导致错误的异常信息显露出来。即重写Activity的onDestroy方法,在方法中调用dismiss来解除对ProgressDialog等的引用。

原文:http://hi.baidu.com/424660053/item/4f939ad05bbf87dd241f404b


45、android.view.WindowManager$BadTokenException: Unable to add window -- token android.app.LocalActivityManager$LocalActivityRecord@42539e50 is not valid; is your activity running?

解决方案:

@Overridepublic boolean onTap(int i) {// TODO Auto-generated method stub  OverlayItem item = allMapOverlays.get(i);      AlertDialog.Builder dialog = new AlertDialog.Builder(context);      dialog.setTitle(item.getTitle());      dialog.setMessage(item.getSnippet());      dialog.show();            return true;}查资料说问题在于 context. 说不能使用 getApplicationContext(),this 所得到的Context 必须用your_Activity.this 所获取的Context.而我就是用最后一种的,还是出差。 于是我想下我的实际的运行环境,我的地图是在tabActivity 中的,那么得到当前的窗体管理者应该是上一级TabActivity 所有,而非我的地图Activity于是我 用 getParent()所得到的Context,运行成功。

原文:http://www.cnblogs.com/gzgg/archive/2011/10/19/2217817.html


44、非常讨厌的异常

The connection to adb is down, and a severe error has occured.

You must restart adb and Eclipse.

ease ensure that adb is correctly located at 'E:\developer\android-sdk-windows\platform-tools\adb.exe' and can be executed.

总结起来就两条命令

1、netstat -ano | findstr "5037"

2、taskkill/f /pid XXXX(就是上面查询出现的那个ID)

注:当手机助手和eclipse一起使用的时候经常有这个问题。

出现了

C:\Users\Administrator>netstat -ano | findstr "5037"

 TCP    127.0.0.1:5037         0.0.0.0:0              LISTENING       12468


C:\Users\Administrator>taskkill/f /pid 12468

错误: 无法终止 PID 为 12468 的进程。

原因: 拒绝访问。

解决办法:关掉Eclipse ,再终止进程



43、 E/AndroidRuntime(8754): java.lang.NoClassDefFoundError: XX.pXX.XXX.appDemo4.MobileSecurePayer$2

120109817.jpg

解决方案:

1、调整了当前异常类所依赖的导入包的库文件在上图中的位置,然后异常情况得到解决。


42、android+java.lang.VerifyError

试试把lib改成libs,重写build-path,看看环境配置

在台式机上:

java版本1.6_30,eclipse版本3.6.0

adt版本12,sdk tools版本12

跑程序没有问题

换到笔记本上,java版本不变,sdk tools版本19,adt版本18,eclipse版本必须要高于3.6.2。然后问题出现了:

java.lang.VerifyError:某个类。。。。

网上搜了下,说是

“1. 大多数可能引用的外部jar文件出现了问题,比如说package的路径产生了问题,但该类被class文件定义了。

 2. 调用了一些编译器产生异议的问题,可能是使用的sdk版本不同,但源代码是一些更老版本的定义。”

还有百度知道上搜到的:

java.lang.VerifyError是说当“校验器”检测到一个类文件虽然格式正确,但包含着一些内部不一致性或安全性问题时,抛出该错误。

很可能从1.4 版本以后 jdk加强了安全机制或者增进了改善 这是jdk的版本问题

但是java版本和台式机上一样,然后觉得应该是jar包的问题,把出问题的类的jar包一个个重新打包,还是有问题。幸好引用jar包里的类没几个,一个个注释掉试了下,然后开始报classNotDef的错误。。。之前遇到过相似的问题,于是加入jar包的方式改为add library->User library,然后把相应的自定义库在order and export里面勾上,就解决了!!前面的问题也不存在了!!

转自http://hi.baidu.com/constantequeen/item/cf401f16268331d9bf9042d4

41、控制屏幕长亮的方法

A、屏幕控制需要对应的权限permission声明

<uses-permission android:name="android.permission.WAKE_LOCK" />

B、启用屏幕长亮

PowerManager manager = ((PowerManager)getSystemService(POWER_SERVICE));
WakeLock wakeLock = manager.newWakeLock(PowerManager.SCREEN_BRIGHT_WAKE_LOCK| PowerManager.ON_AFTER_RELEASE, "ATAAW");
wakeLock.acquire();

C、关闭屏幕长亮只需要将对象释放掉

wakeLock.release();

判断当前是否为锁屏界面(Keyguard)
   KeyguardManager mKeyguardManager = (KeyguardManager) getSystemService(KEYGUARD_SERVICE);  

   if (mKeyguardManager.inKeyguardRestrictedInputMode()) {
       // keyguard on
   }

android触控反馈的实现

由于framework层对硬件驱动进行了封装,应用程序以API调用的方式对硬件进行控制,应用程序只需 import android.os.Vibrator即可调用frameworkf封装的API函数实现触控反馈的功能。

API函数如下:

1 public  void vibrate(long milliseconds)

2 public  void vibrate(long[] pattern, int repeat)

3 public  void cancel()

函数1带有一个参数milliseconds,该参数控制触控触发的时间,但是是毫秒,一般设为1000;

函数2带有2个参数,它能多次驱动马达,参数pattern以数组的方式传入每次触发时间,repeat为触发的次数,repeat=-1时,其功 能与函数1相似,只驱动马达一次,当repeat不为-1时,应该满足pattern.length > repeat ;

函数3 取消操作。

应用程调用方式,在onClick事件触发时,在需要添加触控的相应的控件上添加:vibrate()函数即可。

importandroid.os.Vibrator;

private VibratormVibrator;

privatesynchronized void vibrate() {        

       if (mVibrator == null) {

           mVibrator = (Vibrator) getSystemService(VIBRATOR_SERVICE);

       }

       mVibrator.vibrate(1000);

   }

添加<uses-permission android:name="android.permission.VIBRATE" />权限

Framework层主要是2个文件,向上提供API调用的vibrator.java文件,以及提供服务HardwareService.java文件。

vibrator.java位于:frameworks\base\core\java\android\os中

HardwareService.java :frameworks\base\services\java\com\android\server中

vibrator.java文件通过Binder  实现跨进程和跨语言的通信;ServiceMangager完成服务的注册和获取等操作,SweviceManger实际上是android的API接 口,提供系统服务,在这里是完成HardwareService注册和提供该服务。 HardwareService.java  封装了触控反馈、背光等硬件操作,实现触控反馈的函数如下:

public void vibrate(long milliseconds, IBinder token)

      publicvoid vibratePattern(long[] pattern, int repeat, IBinder token)

public void cancelVibrate(IBinder token)    

本地框架主要包括两个文件:vibrator.c 实现kenerl与用户态的通信;com_android_server_HardwareService对vibrator.c的函数进行封装,提供给HardwareService.java调用。

com_android_server_HardwareService.cpp位于:frameworks\base\services\jni中

vibrator.c 位于:hardware\libhardware_legacy\vibrator


native static void vibratorOn(long milliseconds);

native staticvoid vibratorOff();

这两个函数位于com_android_server_HardwareService.cpp中,封装vibrator.c中 vibrator_on(int timeout_ms)和vibrator_off()函数,提供给HardwareService.java调用

   linux  驱动层实现触控驱动,主要文件为timed_gpio.c。采用中断方式对IO进行拉高拉低操作,实现马达驱动。由于rk2808中马达接在扩展I2C 上,需要修改控制的IO口,背光sleep时会触发timed_gpio,在timed_gpio中过滤该事件。

在linux中主要修改的文件有:

board-rk28 :位于arch\arm\mach-rockchip  添加timed_gpio设备

rk28_devices :位于arch\arm\mach-rockchip  添加timed_gpio设备

timed_gpio :位于drivers\android          修改控制IO、BUG

Kconfig    :位于drivers\android          删除timed_gpio 依赖项

Makefile   :位于drivers\android          添加timed_gpio 模块


2 测试代码:

      在android中提供实现触控反馈的测试代码vibratorTest.java,在TwelvekeyDialer.java中添加有触控控制代码,能够很好的实现触控反馈功能。


    在代码中切换语言:

    Resources resources = getResources();//获得res资源对象

    Configuration config = resources.getConfiguration();//获得设置对象

    DisplayMetrics dm = resources .getDisplayMetrics();//获得屏幕参数:主要是分辨率,像素等。

    config.locale = Locale.SIMPLIFIED_CHINESE; //简体中文

    resources.updateConfiguration(config, dm);

40、 java.lang.IllegalStateException: System services not available to Activities before onCreate()

解决方案:把报异常的代码放入onCreate()中。

39. android.view.WindowManager$BadTokenException: Unable to add window -- token null is not valid; is your activity running?

异常原因:获取上下文this.getApplicationContext()); 和 this的区别:

这里的this指的当然就是Acitivity.this , 指的是这个Acitivity的上下文,而this.getApplicationContext()指的则是整个应用的上下文。

对于AlertDialog来说,是需要依赖一个View,而View是对应于Activity的。

那么为什么会报错呢,这里涉及到一个生命周期的问题了。

对于一个应用Context来说,它的生命周期是整个应用程序的生命周期,而对于Activity来说,当它销毁之后它的生命周期就结束了。

AlertDialog是属于Acitivity的,当Activity销毁的时候它也必须销毁,所以这里我们指定是Activity的Context。

解决方案:

发生环境:
在一个tabActivity里面嵌套一个tabAcitivity, 如果在子tabActivity里面显示AlertDialog的话,就会引发此错误。在1.5上.
AlertDialog.Builder(xxx.this) => AlertDialog.Builder(this.getParent())

查资料说问题在于 context. 说不能使用 getApplicationContext(),this 所得到的Context 必须用your_Activity.this 所获取的Context. 而我就是用最后一种的,还是出差。 于是我想下我的实际的运行环境,我的地图是在tabActivity 中的,那么得到当前的窗体管理者应该是上一级TabActivity 所有,而非我的地图Activity 于是我 用 getParent()所得到的Context,运行成功。

38android 导入项目 项目中文字乱码问题

乱码问题出现了几次,一直没有在意,今天又出现了,现总结如下:

eclipse之所以会出现乱码问题是因为eclipse编辑器选择的编码规则是可变的。一般默认都是UTF-8或者GBK,当从外部导入的一个工程时,如果该工程的编码方式与eclipse中设置的编码方式不同,就会产生中文的乱码问题,这其中还有几种情况。

如果导入的整个工程的编码方式与eclipse的编码方式有冲突,那么这个工程里所有的中文  都是乱码;如果所有工程的编码方式与eclipse工作空间的编码方式有冲突,那么所有的工程里的中文都有可能是乱码。对于eclipse工作空间  ,eclipse会把你改的设置保存在工作空间的设置文件中,对于单个工程的编码方式进行修改,那么eclipse会把编码方式保存在该工程  的.setting文件包里。

所以,要避免中文乱码问题有两个原则:

(1)避免频繁更换工作空间,最好项目从一开始就在一个工作空间中进行,并且最好设置工作空间的编码方式为你平时最经常使用的或者是公司规定的项目编码方式,这样工程就会使用工作空间的编码方式,避免出现编码不一致的情形;

(2)相同类型的文件尽量使用相同的编码方式,可以保证相同类型的文件都能使用一致的编码设置;

解决中文乱码问题可以有以下设置方案:

(1)修改工作空间的编码方式:

Window->Preferences->General->Workspace->Text file Encoding

在Others里选择需要的编码方式(如没有则直接输入),然后保存。

(2)修改单个工程的编码方式:

右击工程,在弹出的菜单中选择最后一项“Properties”

在打开的新窗口左边的菜单树中选择 Info(即第一个),然后在右面找到 Text file encoding ,选择 “other”,在下拉框中选择需要的编码方式(如没有则直接输入)。

(3)修改一类文件的编码方式:

假设要将js文件编码方式设为UTF-8,则应该

Window->General->Content Types

在Content Types中选择JavaScript Source File,在File associations栏中选中*.js,然后在Default Encoding栏中输入UTF-8,单击Update,保存即可。

(4)修改单个文件的编码方式:右击要修改的文件,在弹出的菜单中选择最后一项 “Properties”,在打开的新窗口左边的菜单树中选择  Info(即第一个),然后在右面找到 Text file encoding ,选择  “other”,在下拉框中选择需要的编码方式(如没有则直接输入)。与修改工程编码方式的方法类似。

ps:在项目过程中遇到的另外一个乱码问题是因为操作系统的字体文件问题,在某些情况下,eclipse所使用的系统中文字体如果被破坏的话,也会导致中文无法显示的问题。所以,如果在上述设置都无法解决问题的时候,应该要考虑一下系统字体文件的问题。

37:升级adt插件后,eclipse突然出现Unable to build: the file dx.jar was not loaded from the SDK folder 错误

1、即先关闭eclipse,打开sdk安装目录下的SDK Manager.exe 顶部Tools 下面的两个勾选上以后点击下面的 Install packages 按钮更新,更新完成后启动eclipse就可以了

2、升级完ADT插件后,打开SDK Manager.exe 顶部Tools 下面的两个勾选上,先删除,再更新就解决了。


36:Some sites could not be found.  See the error log for more detail.
No repository found at file:/D:/loadFile/.
No repository found at http://bbs.iusesvn.com/thread-2009-1-2.html.

打开Help-->Install New Software,然后打开所有的available sites。笔者手动删掉了上面错误提示中说找不到仓库的4个地址。

然后重新Check For Updates


35:<uses-permission> tag appears after <application> tag

解决方法:把<uses-permission> 放到 <application> 前面


找不到布局文件里的某个控件E/AndroidRuntime(31361): Caused by: java.lang.ClassCastException: android.widget.RelativeLayout cannot be cast to android.widget.ImageView

刚刚我才碰到 clean一下工程吧 应该就好了

也可能是给控件的id出现了重复。可以试着修改控件Id值


滚动条使用异常ScrollView can host only one direct child

主要是ScrollView内部只能有一个子元素,即
不能并列两个子元素,所以需要把所有的子
元素放到一个LinearLayout内部或
RelativeLayout等其他布局方式

1
Unable to start activity ComponentInfo{com.bd.test/com.bd.test.TestActivity}: java.lang.NullPointerException

空引用

2
java.lang.IllegalStateException: Could not find a method searchPic(View) in the activity class com.bd.test.TestActivity for onClick handler on view class android.widget.Button with id 'searchPic'

找不到指定的方法名

3
java.lang.IndexOutOfBoundsException: Invalid inde
x 3, size is 1

超出数组的索引

5
java.lang.OutOfMemoryError: bitmap size exceeds VM budget

15
Reason: keyDispatchingTimedOut

把耗时的任务写在了线程中了,但是还是有时候还会报这个错误。

究其原因:原来我在这个线程中试图去修改界面的东西。

修改方法:把尝试修改界面的语句,写在Handler里

耗时的操作

18
java.lang.IllegalStateException: The content of the adapter has changed but ListView did not receive a notification. Make sure the content of your adapter is not modified from a background thread, but only from the UI thread. [in ListView(2131099670, class android.widget.ListView) with Adapter(class com.bangda.sharedtest.lc.SearchFile$ListFilesAdapter)]


因为数据量太大了


19

在使用手机调试程序的时候出现了java.io.IOException: Unable to open sync connection!这样的异常,

关掉USB调试,再重新开启USB调试


解决java.io.IOException: Unable to open sync connection!方案:

设置->开发->关掉USB调试,然后重新开启。

20
Caused by: java.lang.SecurityException: WifiService: Neither user 10096 nor current process has android.permission.ACCESS_WIFI_STATE.


添加wifi权限

31:ADB server didn't ACK* failed to start daemon *

把豌豆荚关了,在启动eclipse就ok了

33:Android 和SQLITE 3的中文乱码,编码问题。

Car car=new Car();  
          //解决中文乱码问题  
          byte[] val = cursor.getBlob(cursor.getColumnIndex("company_name"));  
          car.setCompany_name(new String(val,"GBK"));//设置编码方式

34: 使用路径生成位图
Bitmap bm=BitmapFactory.decodeFile(list.get(position).get("pic").toString());