![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Android
土逗甜菜
这个作者很懒,什么都没留下…
展开
-
ButterKnife Zelezny 抛出 ArrayIndexOutOfBoundsException
因为布局文件的命名中出现两个下划线导致的。比如@id/+id a__b_c原创 2016-02-17 06:01:54 · 5149 阅读 · 12 评论 -
解决Android自定义view局部刷新不生效
现象为明明invalidate(Rect)了,但是就是会全局刷解决方案很简单,关掉硬件加速就好了….原创 2017-06-30 08:36:18 · 5418 阅读 · 0 评论 -
Android 各种依赖各种version间的关系
大体就是 任何版本的as在安装sdk后都可以开发任何版本的android 但是低版本的as不支持高版本的gradle android plugin 所以高版本as的一些功能如instant run低版本不支持 gradle android plugin版本即使很旧很旧也对开发没啥影响,就是开发起来没那么方便原创 2017-06-23 14:14:32 · 434 阅读 · 0 评论 -
android 需要常量表达式
原网址->点击这里截图↓原创 2017-07-06 10:12:06 · 1160 阅读 · 0 评论 -
Coding.net 自动分析Android代码错误集合
一. 注释代码不应该保留而应该使用版本控制工具查找.二. 使用System.exit()会造成应用重启,因为操作系统会以为是不正常退出.三. 各种Stream应该正确的关掉.模板为:private void readTheFile() throws IOException { Path path = Paths.get(this.fileName); BufferedReader rea原创 2017-06-15 08:23:41 · 343 阅读 · 0 评论 -
Android自定义view最小刷新时间为16ms问题
从安卓4.1以后,安卓框架所有的绘图和动画统一使用VSYNC计时锁定16ms响应,所以自定义view中的刷新时间一般是16ms.原创 2017-06-15 16:05:03 · 1048 阅读 · 0 评论 -
Android退到后台后蓝牙连接速度变慢原因
是因为安卓5.0对其唤醒功能,以及安卓6.0的Doze嗜睡模式造成的. 对其唤醒就是一堆app隔一段时间同时唤醒而不是每个都唤醒. 嗜睡模式中,系统会延缓应用的任务,同步,和标准alarm.插上电源,点亮屏幕的时候就会回到正常模式原创 2017-06-15 16:18:24 · 2096 阅读 · 0 评论 -
Android Kotlin 匿名内部类自动补全
光标到参数那儿,Ctrl + Shift + Space原创 2017-10-12 17:08:51 · 3184 阅读 · 1 评论 -
Google Sample android-architecture kotlin 分析
android-architecture 是Google推荐一些架构,包括各种情况下的mvp和mvvm,最近kotlin兴起,也加入了kotlin分支。由于对kotlin不熟悉,记录下源码阅读中出现的坑。架构浅析 以TaskDetail模块为例TaskDetailActivity.kt:val taskDetailFragment = supportFragmentManager原创 2017-10-24 18:14:54 · 643 阅读 · 0 评论 -
Ubuntu 17.10 Android Studio 无法打开虚拟机问题
Android Studio 中启动没有发现任何解决方案。 命令行中可使用 ./emulator -avd your_device -use-system-libs原创 2017-11-18 15:03:46 · 788 阅读 · 0 评论 -
Ubuntu连接自制安卓设备adb无法获得权限permission问题
表现为连手机可以,连自制的设备不行原因大致是usb口的权限问题,具体没搞明白。解决方法为先杀死adb服务adb kill-server然后管理员权限开启服务sudo adb start-server然后显示device就好adb devices千万不要在开启服务前直接sudo adb devices不然还是permission denide原创 2017-11-18 15:27:38 · 289 阅读 · 0 评论 -
Android 生成so文件加载时NoSuchMethodException
基本为java方法签名问题查看java方法签名的方法为: javac **.java javap -s **.class就会显示了,复制到jni里就好原创 2017-11-30 18:53:18 · 341 阅读 · 0 评论 -
android studio 无法使用搜狗输入法终极解决方案
搜遍网上的解决方案都没什么效果,结果重置sogou和fcitx就好了#!/bin/shpidof fcitx | xargs killpidof sogou-qimpanel | xargs killnohup fcitx 1>/dev/null 2>/dev/null &nohup sogou-qimpanel 1>/dev/null 2>/dev/null &原创 2017-12-22 10:47:42 · 2901 阅读 · 2 评论 -
Android 从external storage加载so文件
直接 System.load(filename)如果是32位so文件,而apk又没有引用过32位的动态库的话,会报错 *.so is 32-bit instead of 64-bit原因为apk安装的时候默认安装为64位尝试了N种方法后发现解决方法也很简单随便建立一个so文件到目录 jniLibs/armeabi-v7a/就好了,也不用在代码中调用因为有32位so文件时,包安装器默原创 2017-12-05 22:01:02 · 211 阅读 · 0 评论 -
Android adb 内存调试常用命令
显示系统剩余内存,处理其占用等 adb shell vmstat显示某几个进程占用内存 adb shell top -d 1 | egrep “com.example|com.balaba”显示被杀死的进程 adb logcat | egrep “died|balabala”原创 2018-01-03 16:51:04 · 989 阅读 · 0 评论 -
解决fastboot 刷 system.img 尺寸限制问题
fastboot -S xxxM flash system system.img其中-S 后面为单次上传大小C:\platform-tools>fastboot -S 300M flash system system.imgsending sparse 'system' 1/8 (307199 KB)...OKAY [ 7.014s]writing 'system' 1/8...原创 2018-01-23 16:14:37 · 15306 阅读 · 1 评论 -
解决Android Studio无法使用genpac生成的pac文件设置自动选择代理的问题
genpac生成的文件少了个“;”,提了pull request但是作者不知道能不能看到,这里手动改就好了。打开pac文件,到最底下。function testHost(host, index) { for (var i = 0; i < rules[index].length; i++) { for (var j = 0; j < rules[inde...原创 2018-03-22 14:57:02 · 1560 阅读 · 1 评论 -
Android 启动速度优化
1.在style中设置background图片作为启动图片,表面看快了不少.<item name="android:windowBackground">@color/immersion</item>2.layout中不使用android support包中的布局,速度提升一倍3.activity继承fragment而不是appCompatActivity,速度提升一倍4.flyme智能后台,你的ap原创 2017-06-02 11:40:47 · 255 阅读 · 0 评论 -
解决android app statusbar 启动时闪烁
这种情况是由于前一个界面为全屏造成的.解决方法就是将前一个界面在退出前设置为非全屏. getWindow().setFlags(WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCREEN, WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCREEN);原创 2017-05-12 11:43:26 · 3732 阅读 · 1 评论 -
TextView设置为material design要求的0.87 0.54的简单方法
查了好几天都没有查到,最后翻看源码看到了可以直接设置alpha的值为0.87 0.54 <TextView android:id="@+id/item_name" android:layout_width="match_parent" android:layout_height="match_parent" andr原创 2015-11-08 02:28:54 · 694 阅读 · 0 评论 -
使用正则表达式为手机号码或身份证号码打星号
介绍如何使用正则表达式替换身份证或者电话号码中的一部分数字为星号原创 2016-02-18 07:39:57 · 11359 阅读 · 0 评论 -
Android Studio Logcat显示不全问题
原因Android studio中,Logcat的缓存应该是5000行,而且google并未搜出哪里可以修改,所以若某些线程输出的log比较多,真机调试杂乱的输出也比较多,MainActivity中的log可能就被冲刷掉了。解决方案首先logcat右上角添加一个Filter,仅输出当前程序的log。然后选中这个filter,这里用的imed。此时若程序其它线程输出的log还是很多,就提前在搜索框里输原创 2016-04-06 15:44:58 · 16236 阅读 · 0 评论 -
解决无限 This file is indented with tabs instead of 4 spaces
File -> Settings -> Editor -> Code Style -> Java -> Tabs and Indents -> Use tab character原创 2016-05-06 11:15:22 · 41810 阅读 · 13 评论 -
Android studio Invalid revision: 12.0.2753695 beta 1
昨晚升级完了懵逼了,于是Google了一下,原来是个bug set gradle to 2.1.0 in file $SDK/ndk_bundle/source.properties replace “12.0.2753695 beta 1” to “12.0.2753695-beta1”大致就是找到Android studio 的安装目录,然后找到source.propertie原创 2016-04-28 09:45:09 · 3474 阅读 · 0 评论 -
android 蓝牙连接库(蓝牙设备选择器)
BluetoothSelector 蓝牙选择器项目需要自己写的,欢迎大家使用,也希望大家批评改正,github地址: https://github.com/yzlee/BluetoothSelector功能通过回调函数执行蓝牙连接成功后和断开后的动作支持多蓝牙设备同时连接选择界面可显示已配对设备,也可以搜索设备可通过输入mac地址或者BluetoothDevice直接连接蓝牙可选择是原创 2016-05-31 17:23:56 · 2909 阅读 · 0 评论 -
android studio 2.2 使用cmake编译NDK
android studio 2.2 已经进入beta版本,新功能添加众多,NDK编程也得到了简化。官方博客介绍。本文介绍如何使用新版android studio调用 c++代码,为了超级通俗易懂,例子是最最最基本的例子,就是调用c++代码所需的最基本的地方,其余的自行添加即可。1.下载最新版android studio 2.2略2.新建一个不添加c++的工程(为了亲自添加好知道添加时需要改动什么原创 2016-08-11 17:51:08 · 15043 阅读 · 10 评论 -
解决 android 在sd卡新建文件后需要重启才能找到
最近遇到android在sd卡中新建文件,但是插到电脑上找不到的情况,Google了以下记录以作备忘。使用这个函数就可以了:MediaScannerConnection.scanFile(Context context, String[] paths, String[] mimeTypes, MediaScannerConnection.OnScanCompletedListener callbac原创 2016-08-24 10:14:33 · 3827 阅读 · 2 评论 -
Android Studio 过滤掉指定log
^(?!.*(你要过滤掉的tag)).*$原创 2016-10-24 11:13:18 · 5149 阅读 · 3 评论 -
Android 全局变量命名规范及其它规范
来自Android 源码贡献规范,建议可以FQ的同学直接看英文原版。使用空格缩进代码块使用4个空格缩进,不要使用tab。当不确定的时候,与周围代码保持一致。 一行代码太长需要另起一行时,使用8个空格缩进, 包括函数的调用和分配,正确的例子如下:Instrument i = someLongExpression(that, wouldNotFit, on, one, line);错原创 2016-10-27 15:34:51 · 1476 阅读 · 0 评论 -
解决 Android 7.0 SQLiteCantOpenDatabaseException: unknown error (code 14)
5.0好好的可以读数据库,换成7.0就总是未知错误:Failed to open database '/storage/emulated/0/Xinguanjia/download.db'. android.database.sqlite.S原创 2016-11-23 08:33:46 · 18626 阅读 · 4 评论 -
2017最最最最新的Android发布aar给别人使用方法
目测现在网上发布aar的方法的教程都是一个版本,也就是maven-plugin为1.3,jfrog为1.0那个版本,老掉牙了有木有,还是自己写个给自己备用吧。授之以鱼不如授之以肉,从头开始流程走一遍。零、新建项目新建一个项目起名为FoolishFrameworkDemo,然后新建一个Module->Library起名为foolishframework。 这个Module就是将来要给别人使用的你的原创 2016-12-30 10:42:48 · 2694 阅读 · 0 评论 -
android activity刚打开时内部动画卡顿问题
最近遇到这个问题,一个activity中有一个imageview的旋转动画,当activity刚打开时,前几秒这个旋转的动画没有转动的过程,过了0.几秒以后直接卡到某个未知接着转.到处搜索都是说activity出现时的过渡动画的问题,感觉人类语言不足以精简的表达这种事情ORZ.Google后找到了这个文章 和 这个文章,大致就是说: It’s important to note that the原创 2017-02-06 10:22:26 · 2830 阅读 · 1 评论 -
解决OKHttp不能自动缓存header cookies 里的 sessionid
由于app要实现登录缓存功能,但惊讶的发现不经过设置okHttp是不会自动管理header的.官网的文档也是醉了,找了半天没看懂怎么搞.其实实现自动管理cookie很简单很简单,在OkHttp的builder中加上个.cookiejar()就能实现自动缓存,代码如下: OkHttpClient.Builder b = new OkHttpClient.Builder();原创 2017-02-17 16:11:54 · 4539 阅读 · 0 评论 -
Java 通过工厂模式和接口泛型实现完全解耦
首先我们假设:有一个农民(farmer)有一本菜谱(cookbook),为了方便理解菜谱只有炸鸡这一个菜假设这是程序的两部分,分别可以被单独复用.并且农民被复用时有时需要菜谱上的函数做饭,有时忙不过来,就不按照菜谱做饭了,直接泡方便面.如果不够详细的话可以这么理解:农民是单身,所以为了回家不挨饿,他在浏览器里收藏了一个菜谱.也就是说,农民主要被用来干活,但不管是务农还是扛砖,为了不饿着每天都要原创 2017-02-03 19:22:44 · 5465 阅读 · 2 评论 -
Android 自定义view 随着刷新次数变多而变慢
是这样,我做了两个自定义View,位于同一个Linearlayout中,第一个view刷新的时候,系统也调用了第二个自定义view的ondraw(),但是我要频繁刷新第一个view,但随着刷新次数变多,两个view都越变越慢,所以各种百度google为什么刷新第一个view会影响到第二个view.依然没有得到解决.希望有懂得人可以回复指教.但是此时发现了另一个问题,为什么会越变越慢?经过排查发现是因原创 2017-03-31 15:23:10 · 2820 阅读 · 2 评论 -
Gradle 设置代理及不代理
#设置不代理systemProp.http.nonProxyHosts=gitlab.superman2014.com|localhost|gitlab.ling.aisystemProp.https.nonProxyHosts=gitlab.superman2014.com|localhost|gitlab.ling.ai#设置HTTP代理systemProp.http.proxyHo...原创 2018-04-17 17:50:40 · 3872 阅读 · 0 评论