Android
HiWorldNice
这个作者很懒,什么都没留下…
展开
-
多个Ativity值传递FLAG_ACTIVITY_FORWARD_RESULT
需求场景为A——>B——>C 三个跳转1.a将数据交给b处理2.b处理完数据(finish())3.b处理完数据 结果传给c来加工,c处理完把结果返回给a数据处理中间层b启动c要加上intent.addFlags(Intent.FLAG_ACTIVITY_FORWARD_RESULT);FLAG_ACTIVITY_FORWARD_RESULT主要作用:如原创 2017-10-11 16:21:03 · 454 阅读 · 1 评论 -
Android BLE设置MTU大小
MTU是什么?MTU是指在一个协议数据单元中(Protocol Data Unit, PDU) 有效的最大传输Byte。MTU默认是23byte,但是供我们使用的只有20byte。所以有时候不能满足我们的需求,需要我们手动设置MTU的大小。core spec中ATT的默认MTU为23个Byte,ATT的Opcode占1个Byte、ATT的Handle占2个Byte、GATT占20个Byte。23Byte(ATT)=1Byte(Opcode)+2Byte(Handler)+20Byte(BATT)。原创 2021-10-21 18:55:28 · 6894 阅读 · 2 评论 -
error: undefined reference to
在做JNI开发时,对C/C++写的libKF.so进行JNI封装成libkftest.so时,遇到以下问题:Build command failed.Error while executing process D:\Android\sdk\cmake\3.10.2.4988404\bin\ninja.exe with arguments {-C D:\project\SDK\app\.cxx\cmake\debug\armeabi-v7a kftest}ninja: Entering dire原创 2021-04-26 16:52:10 · 2423 阅读 · 0 评论 -
android只有进入蓝牙页面才能被扫描搜索到的解决办法
在做Android蓝牙开发过程中,发现虽然设备的蓝牙和定位权限都打开了,但是扫描不到设备(除非以前配对过)。只有进入蓝牙页面,才能被扫描搜索到。这个就涉及到蓝牙的可见性,为了保护隐私默认是不可见的,需要打开蓝牙可见性,才能被别的设备扫描搜索到。目前Android的API中没有直接设置蓝牙永久可见性的接口。有一个方法可以实现,不过会弹出一个确定的窗口://启动修改蓝牙可见性的IntentIntent intent = new Intent(BluetoothAdapter.ACTION_REQU...原创 2021-01-30 10:18:10 · 2123 阅读 · 0 评论 -
android两个子线程间通信
android中主线程和子线程之间的通信是通过handler消息循环机制,主线程中的handler把子线程中的message发送给主线程中的looper,或者主线程中的handler通过post向looper发送一个runnable。looper默认存在于主线程中,子线程中是没有的。那怎么办呢?我们可以把looper绑定到子线程中,调用Looper.prepare()方法为该子线程生成looper...原创 2019-12-11 16:01:31 · 1540 阅读 · 0 评论 -
android Handler导致的内存泄露的原因及解决办法
在Android开发中,内存泄露十分常见。内存泄露:本该被回收的对象不能被回收而停留在堆内存中占用内存。这样最后可能会引起内存不足导致其他需要使用内存的对象无法获取足够的内存,进而引起内存溢出OOM。内存泄露出现的原因:当一个对象已经不再被使用时,本该被回收但却因为有另外一个正在使用的对象持有它的引用从而导致它不能被回收。这就导致了内存泄漏。Handler是我们在更新UI时经常使用到的类,但...原创 2019-11-25 13:54:59 · 1017 阅读 · 0 评论 -
java utf-8带bom格式内容(带"\uFEFF")转换成utf-8格式
从txt文件中读取一串字符串和数据库中另一串字符串比较的时候发现两串字符串一样,但是判断是否equal的时候发现返回的是false,也就是不相等。这就奇怪了,于是打印log,发现了端倪:左边的字符串是数据库的,右边的字符串是从txt文档读取的,发现右边的字符串前有个小点。把整个内容复制粘贴出来,发现那个小点又不见了:E/id===: 55cdf761d9c74874b381d24...原创 2019-11-20 16:12:55 · 5362 阅读 · 0 评论 -
android网络框架代码重构
由于技术的更新发展,新技术新框架层出不穷。如果代码没有重构或者重构的不好,会造成很多问题,比如项目中某个框架过时不能用了,如果没有重构,在项目中每个用过该框架的地方都要一一修改,如果项目小还好,如果项目很大,那改动起来工作量会很大。怎么让自己项目不因框架的更新而发生改动,或者改动很小?这就需要代码重构了。怎么进行代码重构?下面以网络框架为例,进行代码重构。首先,在项目-app下build.gr...原创 2019-11-18 16:58:48 · 277 阅读 · 0 评论 -
Android TextView带背景图片和自定义边框
TextView带背景图片和自定义边框,效果如下图:页面xml:<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" ...原创 2019-11-15 10:04:28 · 1222 阅读 · 0 评论 -
BadTokenException: Unable to add window Toast Handler
E/AndroidRuntime: FATAL EXCEPTION: main Process: com.on, PID: 5017 android.view.WindowManager$BadTokenException: Unable to add window -- token android.os.BinderProxy@7cdb1a7 is not valid; is your ac...原创 2019-11-07 18:19:16 · 695 阅读 · 0 评论 -
怎么在Android手机没root的情况下读取手机系统文件(比如数据库文件)
要想读取Android手机系统文件,一般情况下只能root手机。现在有一个比较快捷的方法,不需要root手机就能读取Android手机系统文件,比如各个APP的数据库文件。Android studio本身带一个功能“Device File Explorer”,点击即可查看Android手机系统文件。注:本功能在Android studio 3.0上有。1、手机需要用USB线连接电脑,并且手机要...原创 2017-11-15 18:56:42 · 15405 阅读 · 6 评论 -
java.lang.IllegalArgumentException: Empty bindArgs
在进行数据库数据删除或插入操作时出现java.lang.IllegalArgumentException: Empty bindArgs异常。奇怪的是之前是可以正常使用的。查看日志,定位到SQL语句://图片收藏取消 public void deleteFavouritesImg(int imgId) { db = mDatabaseHelper.getWrit原创 2017-12-28 10:13:44 · 5746 阅读 · 0 评论 -
android.database.sqlite.SQLiteException: unrecognized token: "266_1"
android.database.sqlite.SQLiteException: unrecognized token: "266_1"原创 2017-12-31 11:22:08 · 2780 阅读 · 0 评论 -
android.database.CursorIndexOutOfBoundsException: Index 0 requested, with a size of 0
android.database.CursorIndexOutOfBoundsException: Index 0 requested, with a size of 0在查数据库的时候出现上述异常查看sql语句://获取所选图片的faceFeature helper=LocalImageHelper.getInstance(); LocalFile l原创 2017-12-31 11:20:23 · 4907 阅读 · 0 评论 -
Android复制assets目录下的文件到另一个目录
项目中需要把一些模型文件打包到apk中,安装的时候释放到手机中,APP启动时调用。Android除了提供/res目录存放资源文件外,在/assets目录也会提供存放资源文件,且assets 目录中的文件,会不经压缩打包至APK包中。在/res下是可编译的资源文件, 这种资源文件系统会在R.java里面自动生成该资源文件的ID,访问也很简单,只需要调用R.XXX.id即可;在/assets目录下原创 2017-12-15 11:44:15 · 12926 阅读 · 4 评论 -
java.lang.IllegalArgumentException: the bind value at index 1 is null
java.lang.IllegalArgumentException: the bind value at index 1 is null at android.database.sqlite.SQLiteProgram.bindString(SQLiteProgram.java:164)自定义相机拍摄了多张图片,保存到本地并添加到系统相册,然后在自定义的相册中浏览拍摄的原创 2017-12-06 13:32:02 · 5955 阅读 · 0 评论 -
java.lang.RuntimeException: autoFocus failed,Call autoFocus when preview is inactive (state = 1)
java.lang.RuntimeException: autoFocus failedCall autoFocus when preview is inactive (state = 1)原创 2018-01-03 21:03:09 · 10362 阅读 · 3 评论 -
java.lang.RuntimeException: Can't create handler inside thread that has not called Looper.prepare()
在使用地图添加Marker时,自定义了一个MarkerOverlay类,里面的addToMap()方法在子线程中添加Marker,出现java.lang.RuntimeException: Can't create handler inside thread that has not called Looper.prepare()。这是因为Handler对象与其调用者在同一线程中,如果原创 2017-11-30 10:22:59 · 499 阅读 · 0 评论 -
MessageQueue-JNI: Exception in MessageQueue callback: handleReceiveCallback
遇到下面异常:E/InputEventReceiver: Exception dispatching input event.E/MessageQueue-JNI: Exception in MessageQueue callback: handleReceiveCallbackE/MessageQueue-JNI: java.lang.NullPointerException: Atte原创 2017-11-15 19:13:00 · 6770 阅读 · 0 评论 -
仿扫一扫实现拍摄框内的照片
就是仿照现在扫一扫的形式,周围是半透明的遮挡,然后中间是全透明的,拍摄后只截取框内的内容查了很多博客,实现起来真的太复杂了,本人比较怕麻烦所以在很多地方偷懒了先上效果图:第一步:设置照相机预览以及拍照这是所有步骤的前提,没有预览,用户怎么知道自己拍的什么呢。预览用的是SurfaceViewhttp://www.cnblogs.com/转载 2017-10-26 16:49:59 · 1966 阅读 · 1 评论 -
Android SQLite数据库基本操作和收藏功能的实现例子
收藏功能其实就是把数据插入数据库,显示该条目是否收藏就是从数据库查询数据。Android开发中使用sqlite实现新闻收藏和取消收藏的功能智能厨房重构-用ActiveAndroid来实现收藏的功能http://www.jb51.net/article/105339.htmhttp://www.jb51.net/Special/402.htm...转载 2017-10-26 17:32:43 · 4876 阅读 · 0 评论 -
Android第三方框架(不断更新中)
Android第三方框架下拉刷新框架线程框架网络框架图片框架二维码框架自定义框架数据库框架界面框架RecycleView框架AndroidStudio插件以上都是个人总结方便以后使用博客原地址:喜欢雨天的我github地址:https://github.com/houshuai0816(如果CSDN没有更新请点击这个链接查看最新版)以下是第三转载 2017-10-26 18:22:08 · 457 阅读 · 0 评论 -
android.view.WindowLeaked:Activity has leaked window DecorView@9a11182[] that was originally added h
E/WindowManager: android.view.WindowLeaked: Activity com.activity.LoginActivity has leaked window DecorView@9a11182[] that was originally added here at android.view.ViewRootImpl.(ViewRootImpl.j原创 2017-11-28 15:59:26 · 10072 阅读 · 1 评论 -
Android butterknife注入完毕后不起作用
Android studio上安装最新版'com.jakewharton:butterknife-compiler:8.8.0',并且成功给layout注入控件后不起作用,onclick事件无反应。配置如下app/builder.gradle:compile 'com.jakewharton:butterknife:8.4.0'annotationProcessor 'com.jakew原创 2017-11-14 20:47:54 · 3605 阅读 · 0 评论 -
高德地图自定义marker图片相关
Android 高德地图自定义点聚合marker图片及Overlay点击选中功能关于高德地图添加Marker遇到的一些坑 - m0_37295672的博客 - CSDN博客http://blog.csdn.net/m0_37295672/article/details/77851580为地图marker 设置网络图片 - m00123456789的博客 - CSDN博客htt...转载 2017-11-28 21:31:08 · 6515 阅读 · 0 评论 -
SQLiteException: unrecognized token:
在往数据库更新数据时出现android.database.sqlite.SQLiteException: unrecognized token: "33xo8cgMSaRqZNs0bS2ol2RxIsqfOKUj8Dyb7sMN" (code 1): , while compiling: update Book1 set face_id =33xo8cgMSaRqZNs0bS2ol2RxIsqfO原创 2017-11-20 15:02:32 · 9950 阅读 · 1 评论 -
android studio中程序崩溃无法查看log
使用android studio中程序崩溃无法查看log,或者一闪而过。这个问题怎么解决?logcat右上角之前设置的是Show only selected application修改成No Filters就可以查看所有log了。Log等级可以选择Warm或Error。原创 2017-11-15 15:25:18 · 6183 阅读 · 2 评论 -
java.lang.InstantiationException: class has no zero argument constructor
java.lang.InstantiationException: class has no zero argument constructor需要在一个方法中的for循环中获取图片处理进度,在Fragment中显示。在该方法的for循环中采用发送广播的方法,在Fragment中接收进度数据进行显示。在Fragment类中声明了广播内部类。但是运行时出现上面问题。解决方法如下:1,如果原创 2018-01-04 16:32:45 · 4172 阅读 · 0 评论 -
Android中对集合中的对象进行排序
最近需要一个对图片对象进行排序的功能。思路:1、新建一个类实现Comparator,这个类是实现比较的关键类,一般做比较的类型为int或String。public class OrderSortUtil implements Comparator { @Override public int compare(LocalFile file1, LocalFile fi原创 2018-01-09 18:50:35 · 1931 阅读 · 0 评论 -
Error:com.android.tools.aapt2.Aapt2Exception: AAPT2 error: check logs for details
新建一个工程,出现下面的问题:Error:java.util.concurrent.ExecutionException: java.util.concurrent.ExecutionException: com.android.tools.aapt2.Aapt2Exception: AAPT2 error: check logs for detailsError:java.util.co...原创 2019-09-20 09:29:45 · 344 阅读 · 0 评论 -
Android adb无线连接手机调试app,adb连接失败,连接成功adb devices没有设备问题解决
之前一直是用数据线连电脑进行调试,但是新手机的USB接口被背夹占用了,导致连了背夹就不能通过USB数据线连电脑。这时只能通过无线网络连电脑了。步骤如下:1、把电脑和手机置于同一局域网下内(比如连同一个无线网络)。保证电脑与手机能ping通。测试电脑与手机ping通方法:打开手机所连的无线网,查看其ip地址,比如为192.168.130.216。然后打开cmd,输入ping ip地址...原创 2019-08-02 15:03:37 · 8332 阅读 · 6 评论 -
Conflict with dependency 'com.android.support:support-annotations' in project ':app'. Resolved versi
新建一个工程,出现下面的异常:Error:Execution failed for task ':app:preDebugAndroidTestBuild'.> Conflict with dependency 'com.android.support:support-annotations' in project ':app'. Resolved versions for app ...原创 2019-08-01 17:16:11 · 166 阅读 · 0 评论 -
RemoteServiceException:Bad notification posted:Couldn't expand RemoteViews for:StatusBarNotification
使用自定义的 notification时,遇到这个错误:android.app.RemoteServiceException: Bad notification posted: Couldn't expand RemoteViews for: StatusBarNotification查了资料,发现原因不外乎是因为布局里有不支持的布局或控件:RemoteViews并不是支持全部的布局...原创 2019-07-31 17:48:56 · 1960 阅读 · 0 评论 -
Failed to resolve:问题的解决方法
构建项目的时候出现了这个异常。解决办法1:修改项目下的的bulid.gradle文件,添加maven { url 'https://jitpack.io' }即可:allprojects { repositories { google() jcenter() maven { url 'https://jitpack.io' } ...原创 2019-07-18 17:59:23 · 18398 阅读 · 0 评论 -
Android自定义EditText密码框,自定义EditText的hint不显示问题
在开发中发现在某些机型某些系统中输入密码时会发现密码会明文显示一会然后再显示成密文,如下图所示:这是不安全的。这时需要自定义密码输入框,输入密码时直接就是密文显示。这个需要自定义属性。不了解自定义属性的可以先查查,这里只写步骤。1、自定义输入框密码属性。在项目res-values目录下创建attrs.xml文件:<?xml version="1.0" encoding="u...原创 2019-07-10 16:18:53 · 2182 阅读 · 0 评论 -
Android 高德地图自定义点聚合marker图片及Overlay点击选中功能
之前做了一个图片处理的app,把本地图片的经纬度存到手机本地数据库,然后在app中的“图片位置”页面的地图上的对应位置显示该图片,并有点聚合功能,能动态调整地图展示整屏Marker。效果如下: 本功能使用的是高德地图的API,是在高德“点聚合效果”demo的基础上改的(高德官网提供的聚合点demo下载),下面的代码里很多类用的都是这个demo上的,如果...原创 2019-04-26 17:44:36 · 4549 阅读 · 6 评论 -
Multiple dex files define Landroid/support/design/widget/CoordinatorLayout$Behavior
运行程序出现“DexArchiveMergerException: Unable to merge dex”在build.gradle-dependencise中添加:compile 'com.android.support:multidex:1.0.1'同时在build.gradle-android-defaultConfig添加multiDexEnabled true问...原创 2018-08-24 09:56:43 · 1534 阅读 · 0 评论 -
android读取csv文件数据
csv文件是一种表格形式的文件,如果把文件后缀名改为.txt,会发现同一行数据之间是用英文“,”隔开的。如何读取csv文件以便把数据存入数据库呢,特别是csv文件中有些数据是空?csv文件如下:把文件后缀名改为.txt后如下:电表id,电表编号,模块地址,描述,所属站点名称,所属站点联系人,所属站点联系电话,所属站点地址343433,3434,3434434,,45454,4545,,222222...原创 2018-07-05 16:57:14 · 7257 阅读 · 0 评论 -
It is possible that this issue is resolved by uninstalling an existing version of the apk if it is
换了个电脑运行Android studio安装apk时,弹出窗口,点确定安装失败。窗口内容如下:Installation failed with message Failed to establish session. It is possible that this issue is resolved by uninstalling an existing version of the apk...原创 2018-05-10 18:40:40 · 792 阅读 · 0 评论 -
java.lang.UnsatisfiedLinkError: No implementation found for
E/AndroidRuntime: FATAL EXCEPTION: main Process: com.example.pimr, PID: 20314 java.lang.UnsatisfiedLinkError: No implementation found for int com.example.pimr.util.IRDA.Init() (tried Java_com_examp...原创 2018-03-29 15:31:45 · 21708 阅读 · 5 评论