Android开发中遇到的问题及解决方法
CrazyCodeBoy
将来的我们会感谢现在努力奋斗的自己!
展开
-
Units are seconds since 1970.
在Android实际开发过程中经常会碰到以秒为单位的日期,这时可以根据需要将他们进行格式化处理,具体步骤如下:原创 2014-07-20 10:44:28 · 1536 阅读 · 0 评论 -
Android开之在非UI线程中更新UI
当在非UI线程中更新UI(程序界面)时会出现如下图所示的异常:Only the original thread that created a view hierarchy can touch its views.那如何才能在非UI线程中更细UI呢?方法有很多种,在这里主要介绍两种:第一种:在需要更新UI的代码行后加Looper.prepare();与Looper.loop();两句话即可。如:原创 2014-08-27 20:22:56 · 2300 阅读 · 0 评论 -
解决Andriod软键盘出现把原来的布局给顶上去的方法
解决方法,在mainfest.xml中,对那个Activity加:android:windowSoftInputMode="adjustPan|stateHidden" >android:windowSoftInputMode How the main window of the activity interacts with the window containing the o转载 2014-10-21 23:55:30 · 1896 阅读 · 0 评论 -
解决在Fragment中启动Activity时传递请求码的问题
解决在Fragment中启动Activity时传递请求码的问题:首先需要指出的是Fragment有startActivityForResult方法,而Activity中也有startActivityForResult方法:两者的区别是:Fragment中的startActivityForResult方法:FragmentActivity中的startActivityForR原创 2014-12-05 14:06:07 · 4975 阅读 · 2 评论 -
Android Studio 错误: 非法字符: '\ufeff' 解决方案|错误: 需要class, interface或enum
Eclipse可以智能的把UTF-8+BOM文件转为普通的UTF-8文件,Android Studio还没有这个功能,所以使用Android Studio编译UTF-8+BOM编码的文件时会出现” 非法字符: '\ufeff' “之类的错误。如下图: 如果遇到此种问题可以手动将UTF-8+BOM编码的文件转为普通的UTF-8文件。 小编这里使用EdItPlus来转换原创 2015-02-17 17:07:58 · 19659 阅读 · 3 评论 -
Android Studio优化之启用Shift+Ctrl+O导入所有的包
在使用Eclipse开发Android应用时,开发者往往会使用Shift+Ctrl+O快捷键来快速导入所有的包,和移除已经导入但还未使用的包。但这个快捷键在Android Studio没人是给有开启的,下面就和大家分享在Android Studio下使用Shift+Ctrl+O快捷键的解决方案:依次打开:File -> Settings -> Editor -> Auto Import原创 2015-02-17 18:11:47 · 5071 阅读 · 0 评论 -
Failed to find : com.android.support:appcompat-v7
在使用Android Studio创建Android项目的时候会出现Failed to find : com.android.support:appcompat-v7错误。如下图:这是因为Android Studio需要Android Support Repository的支持。解决此问题需要安装Android Support Repository。附:安装Android原创 2015-02-17 15:41:46 · 5546 阅读 · 0 评论 -
只需一步教你解决Win10下Android Studio terminal无法使用的问题
Android Studio集成和添加了一些实用的工具,其中一个便是terminal。在Windows平台下Android Studio中的terminal在原理上实际使用的是window中的cmd控制台也就是位于C:\Windows\System32\目录下的cmd.exe。升级了win10的用户会发现,win10下的cmd比以前平台下的cmd改进了不少,但这些改进也导致了Android stu原创 2015-08-12 20:24:19 · 10484 阅读 · 2 评论 -
在Android中applicationId与package name的那些事
applicationId:在Android系统中应用的applicationId作为应用的唯一标识,就像人的身份证号一样,在一个Android设备中所有的应用程序的applicationId都是唯一的。package name:在用Eclipse构建的Android项目中,使用包名(Package Name)作为应用的唯一标识(applicationId)。可以说在Eclipse下appli原创 2015-08-13 15:56:54 · 6953 阅读 · 1 评论 -
Android Studio查看MD5与SHA1
Android Studio中没用查看MD5与SHA1的可视化界面,但我们可以通过命令的方式查看MD5与SHA1。具体方式如下:打开终端进入到C:\Users\你的用户名\.android>目录下,然后在终端中输入keytool -v -list -keystore debug.keystore命令即可查看调试环境下的MD5与SHA1。如图:提示:k原创 2015-08-12 20:55:38 · 10387 阅读 · 1 评论 -
Error:Gradle version xx is required. Current version is xx.
Android Studio更新到2.0之后默认下载的Gradle为2.10,如果你的项目用到的Gradle版本与现有的Gradle版本不匹配那么就会报“Error:Gradle version xx is required. Current version is xx. If using the gradle wrapper, try editing the distributionUrl…”错误原创 2016-05-04 17:54:03 · 5718 阅读 · 1 评论 -
【WebView的cookie机制 】轻松搞定WebView cookie同步问题
在进行APP+H5混合开发的时候,一些功能是用native方法实现的,如登陆,一些功能是用H5实现的。所以往往需要将在native方法登陆的状态同步到H5中避免再次登陆。这种情况在Android开发中比较常见,因为Android不会自动同步cookie到WebView。做iOS开发则不用担心这个问题,因为iOS内部已经实现了cookie同步。本文将会介绍两种cookie同步的方式,并重点分析Web原创 2016-05-31 22:46:21 · 33392 阅读 · 2 评论 -
INSTALL FAILED CONFLICTING PROVIDER问题完美解决方案
在安装Android应用时出现INSTALL FAILED CONFLICTING PROVIDER问题,是不是感觉很抓狂呢,下面就跟大家分享一下出现这个问题的原因及解决方案。问题原因在Android中authority要求必须是唯一的,比如你在定义一个provider时需要为它指定一个唯一的authority。如果你在安装一个带有provider的应用时,系统会检查当前已安装应用的authorit原创 2016-10-09 18:47:03 · 21357 阅读 · 1 评论 -
FileProvider无法获取外置SD卡问题解决方案 | Failed to find configured root that contains
随着Android版本越来越高,Android官方对用户数据保护力度也越来越大。Android提供FileProvider类来供应用之间共享数据。原创 2016-10-20 20:20:31 · 18202 阅读 · 8 评论 -
关于HttpClient上传中文乱码的解决办法
使用过HttpClient的人都知道可以通过addTextBody方法来添加要上传的文本信息,但是,如果要上传中文的话,或还有中文名称的文件会出现乱码的问题,解决办法其实很简单:原创 2014-11-04 20:53:00 · 14717 阅读 · 3 评论 -
The connection to adb is down, and a severe error has occured.
当我们使用ADT的时候往往会遇到adb.exe无法正常启动的问题,如下:Tag: Theconnection to adb is down, and a severe error has occured.You must restart adb and Eclipse.Please ensure that adb is correctly located at。原创 2014-10-12 11:45:05 · 2303 阅读 · 1 评论 -
Android关联源码support-v4,v7,v13源码
在Android实际开发过程中往往会遇到使用v4,v7或v13兼容包中的一些类如ViewPager,Fargment等,但却无法关联源码。 网上有很多解决的办法,在这里只介绍一种小编亲自测试通过的,附上图片,希望可以帮到大家。具体步骤(这里以android-support-v4.jar为例,v7和v13步骤和其相同):原创 2014-10-11 00:15:42 · 8513 阅读 · 1 评论 -
ListView中CheckBox使用问题
由于CheckBox的点击事件优先级比ListView的高,所以当ListView中使用CheckBox会导致ListView的setOnItemClickListener失去响应。解决办法:在CheckBox中添加android:focusable="false",使得CheckBox初始的时候没有获取焦点。原创 2014-07-26 18:09:01 · 1634 阅读 · 0 评论 -
在IntentService中使用Toast与在Service中使用Toast的异同
Toast要求运行在UI主线程中,所以要想Toast能够正常工作那个必须把它发到UI线程中。 Service运行在主线程中,因此Toast是正常的。 IntentService运行在独立的线程中,因此Toast不正常。原创 2014-07-26 17:44:20 · 3652 阅读 · 0 评论 -
提高打开Android本地文档的速度
很多Android开发者在参考Android官方API时,都有一个令人头疼的问题:打开一个index.html平均都需要几分钟甚至更长,尤其是在打开API 8以上的版本的时候。难道是网速不够好?但笔者使用的是网通8M的宽带,所以基本上可以排除网速的问题。难道是浏览器的问题?笔者尝试分别使用IE11、谷歌浏览器、火狐浏览器、遨游等主流的浏览器来测试打开速度,发现都是一样慢的像蜗牛!原创 2014-07-28 20:32:39 · 2790 阅读 · 1 评论 -
The content of the adapter has changed but ListView did not receive a notification
在非UI线程中修改了ListView绑定的数据对象(如List)时,如下异常:原创 2014-09-21 13:41:24 · 2491 阅读 · 0 评论 -
SimpleAdapter中使用Drawable和Bitmap对象的方法
我们平常使用SimpleAdapter作为ListView或GridView适配器时,如果要显示图片,我们通常使用图片的id即R.drawable.xxx的方式来将图片绑定到视图上。 但是,如果我们要使用的图片是个Drawable或Bitmap对象时,上面的方式就不能解决问题了。下面就介绍如何在SimpleAdapter中使用Drawable或Bitmap对象。原创 2014-09-21 14:29:17 · 3019 阅读 · 0 评论 -
关于Chronometer(计时器)暂停的问题
当通过stop()方法实现计时器暂停时,在通过start()方法继续计时的时候,会出现计时器显示的时间不是暂停前的时间。原创 2014-08-13 13:45:57 · 8495 阅读 · 3 评论 -
android.os.NetworkOnMainThreadException
Android从 2.3 开始提供了一个新的类 StrictMode,该类可以用于捕捉发生在应用程序主线程中耗时的磁盘、网络访问或函数调用,可以帮助开发者改进程序,使主线程处理 UI 和动画在磁盘读写和网络操作时变得更平滑,避免主线程被阻塞。所以当你在UI线程中进行有关网络的操作时,Android2.3及以上版本会抛出android.os.NetworkOnMainThreadException异常原创 2014-09-27 17:07:43 · 1853 阅读 · 0 评论 -
ScrollView嵌套ExpandableListView显示不正常的问题
关于ScrollView嵌套ExpandableListView导致ExpandableListView显示不正常的问题解决方法有很多,在这里介绍一种小编亲自测试通过的方法。原创 2014-10-21 23:34:17 · 6279 阅读 · 4 评论 -
Android 动态显示和隐藏软键盘
Android 动态显示和隐藏软键盘原创 2014-11-09 23:40:44 · 3579 阅读 · 0 评论 -
The type MultipartEntity is deprecated
在HttpCient4.3之前上传文件主要使用MultipartEntity这个类,但现在这个类已经不在推荐使用了(过时了)。随之替代它的类是MultipartEntityBuilder。关于MultipartEntityBuilder类如何使用,大家可以参考《Android网络编程之使用HttpClient批量上传文件》一文。原创 2014-10-10 00:19:57 · 9290 阅读 · 0 评论 -
文件重命名之动态修改ListView里指定Item中的组件属性
在Android实际开发过程中经常会遇到,修改ListView中某一项的值。如何达到这一目的呢?原创 2014-08-17 10:59:51 · 5594 阅读 · 0 评论 -
listView.getChildAt(i)时java.lang.NullPointerException
BaseAdapter返回的是当前屏幕所能显示Item条数的组件,所以通过listView.getChildAt(i);返回的是当前屏幕所能显示的组件,不能通过listView.getChildAt(i)方法获取除当前屏幕所能显示组件以外的其它组件。原创 2014-07-27 08:48:33 · 4582 阅读 · 2 评论 -
带有ListView的界面无法通过手势左右滑动切换界面问题解决办法
在Android系统中,事件的分发和响应都按照一定的优先级仅仅有条的进行着。如果Activity中包含ListView那么系统的onTouchEvent事件会优先分发给ListView去处理,这时ListView的OnItemClickListener监听器会优先响应onTouchEvent事件。从而导致GestureDetector无法接收到系统的onTouchEvent事件。原创 2014-08-16 23:06:55 · 2570 阅读 · 1 评论 -
Android模拟器Genymotion安装及使用教程详解
一直以来都有不少朋友问我关于Android模拟器的事情,比如:那个Android模拟比较快,如何安装使用之类。今天我整理出来这篇教程,供我的朋友以及各位小伙伴们查阅借鉴。Android的模拟器很多,但最原汁原味的还数Android SDK中的模拟器,毕竟是Google的亲儿子。原创 2016-11-27 19:43:25 · 13615 阅读 · 2 评论