由于手机内存较小,才8G,用的时间一久,内部存储就满了,天天删垃圾,WIFI还老断线,终于忍无可忍了,决定把应用移动到SD卡,实践下来,只有少部分App默认支持移动到SD卡,大部分程序不支持只能装在内部存储空间,网上搜了下,中文的资料不多,在老外网站上找到了方法,记录下来,以后备用. 默认情况下,Android会把sd卡格式化成FAT或者exFAT格式,作为正常的存储空间,这样做可行,但是装应用就不好使了,这是由于FAT或者exFAT格式不支持Android的用户权限系统,这也意味着不能完全使用…
我录屏的方式是分别录制音频和视频,最后合并成mp4格式,比较麻烦,因为网上完整的教程比较少,所以我打算写一个完整版的,照着我的代码写完之后,至少是能够实现功能的,而不是简单的介绍下用法. 1既然是录制视频,我们应该有一个按钮控制开始和结束. 2在录制之前,需要先判断一下Android系统的版本是否大于5.0,并且动态申请一下权限(读写,录音,照相机),这一步可以在点开始按钮的时候执行 if (ContextCompat.checkSelfPermission(context, Manifest.…
/** * 获取虚拟按键栏高度 * * @param context * @return */ public static int getNavigationBarHeight(Context context) { int result = 0; if (hasNavBar(context)) { Resources res = context.getResources(); int resourceId = res.getIdentifier("navigation_bar_height&qu…
周末帮人完成一个项目,android5.0以上版本,谁知道被开发工具折腾的死去活来.我的开发环境是adt-bundle-windows-x86-20140702.zip版本,也是目前能找到的adt-bundle的最新版本.也升级至最新的adt和platform,但开发5.0的项目还是一堆错误: 错误1:动不动就报AndroidManifest.xml is missing的错误,为了解决这个问题每次都要将.android 和 开发空间里的.metadata,然后重启eclipse,真痛苦啊! 错…
因为工作和其它原因,很长一段时间没有出新的.关于OptaPlanner的文章了,但工余时间并没有停止对该引擎的学习.与此同时Geoffrey大神带领的KIE项目团队并没有闲下来,尽管在工业可用性.易用性和使用门槛方面,OptaPlanner相对传统的求解器已经做得相当出色:特别是在规划过程交互.和各种操作接口方面,更是目前最为容易使用的规划求解器. 以第7版一系列子版本中,OptaPlanner很多子版只作了细微的更新,如优化规划性能,改善Business Center集成水平等.而在作为Opt…
Android Material Design Ripple Effect在Android5.0(SDK=21)以下Android版本崩溃问题解决 附录1的Android Ripple Effect水波波纹荡漾的视觉交互设计,在Android SDK版本21上运作良好,但是放到21版本以下,比如Android 4.0.3(SDK=15),就会导致整个APP崩溃,其中一个解决方案:以附录文章1为例,不仅需要在drawable-v21中写好ripple_effect.xml,同时需要再在普通的res…
项目中用到了联系人根据字母排序,在android4.0手机上是可以的,但是在android4.4以上的手机排序是乱的,一般字母排序都是根据sort_key这个拼音进行排序,而android5.0这个字段没有保存拼音,直接是汉字. 于是我把4.4的手机上联系人db文件查看了一下,发现phonebook_label保存的是联系人姓名拼音首字母 如何使用adb命令把联系人db文件copy到电脑. 1.手机跟电脑usb数据线进行连接,并且电脑端装了手机usb驱动(简单说明就是在开发调试环境下) 2.联系…
android5.0编译需要jdk1.7版本,将来本地可能需要同时维护两套jdk版本,请参考: 在线安装openjdk1.7 sudo apt-get install openjdk-7-jre openjdk-7-jdk 离线bin包安装需要手动添加配置选项 sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java 50 切换jdk版本 sudo up…
最近学习了android5.0中新增的一个组件RecycleView,是用来代替当前的listview开发的,是因为在RecycleView中已经有了viewholder缓存,并且不同的item之间可以设置不同的布局.能非常有效地维护了意见数量有限,滚动大的数据集.使用 RecyclerView当你拥有的数据的集合,它的元素在运行时改变基于用户行为和网络事件的小部件 首先看看RecyclerView的一个小例子: 需要引入:android-support-v7-appcompat.jar and…
最近项目开发中,开发人员和测试人员均反应在android5.0以下手机上LeakCanary频繁监控到内存泄漏,如下图所示,但凡用到Dialog或DialogFragment地方均出现了内存泄漏. 如上图所示,存在一个Message实例的obj成员变量,间接引用着Activity的实例,导致Activity无法正常退出.通过Android Monitors内存快照分析,确实有Message实例持有对LoadingDialogFragment的引用,进而导致Activity也无法正常销毁,出现内存…