码莎拉蒂 .
这个作者很懒,什么都没留下…
展开
-
Android之如何分析手机系统相册图片和视频删除后保存的位置然后恢复文件,目前已经适配小米、OPPO、VIVO、一加、努比亚、魅族等手机。
1)我们可以通过在sdcard目录下进行相关查找文件夹关键字,对 "cycle"或者"trash"或者*galle*进行忽略大小写模糊查询都有文件夹。很明显,这里的文件可以看到生成在DCIM目录下面,接下来我们把这个照片进行删除,然后再在sdcard目录下执行这个命令。是不是答案很明显啊,然后我再把我适配的的机型路径写出来(除了google系统自带的项目没有适配到)我们猜测,就是在这个.trashBin目录下,我们可以拉下来看下,果不其然,的确是的。OK,那我么先来测试下,进入手机/sdcard/目录。原创 2023-02-15 23:37:50 · 1569 阅读 · 0 评论 -
Android之网络请求通过协程+okhttp的没有做网络异常处理导致程序奔溃问题
1 问题app里面的网络请求是通过协程+okhttp来实现的,但是没有做网络异常处理(域名无法解析、502错误等等一系列),导致程序奔溃2尝试因为app基本上做好了,外面有大几十个地方调用,然后又有不同的作用域,调用的地方太多了,一开始修改在最外出的网络请求地方直接加上try catch,发现捕获不到异常3最终解决办法写一个扩展函数,文件如下const v...原创 2021-05-12 18:32:51 · 3935 阅读 · 141 评论 -
Android之实现长按Webview页面文字自定义复制、全选、分享、搜索、翻译功能(支持多语言,博文也有Demo下载地址,绝对没问题)
1 需求和效果爆照浏览器app封装了Webview,然后实现实现长按Webview页面文字自定义复制、全选、分享、搜索、翻译功能(支持多语言),都在自己的浏览器app里面进行搜索和翻译,不跳到系统浏览器里面去效果爆照如下,oppo手机效果如下华为手机效果如下2 分析加实现...原创 2021-04-21 21:17:11 · 6834 阅读 · 96 评论 -
Android之使用自定义华为扫描SDK扫描二维码和识别本地图片
1、需求更具UI的设计实现扫描二维码和识别本地图片二维码功能。zxing扫描二维码还可以,但是识别本地图片二维码功能效果太差,非常不理想,看了看多github很多zxing扩展的开源项目,识别本地图片二维码功能效果不乐观,有些甚至还有裁剪本地图片,还是不能识别,果断放弃 zbar扫描二维码还可以,但是识别本地图片二维码功能效果太差,而且还有so这些东西需要集成,所以太麻烦,效果也不怎么样,果断放弃 最后采用华为扫描的SDK,扫描二维码非常好,而且识别本地图片二维码功能效果也非常敏感但是华为SD原创 2021-02-21 17:21:15 · 4927 阅读 · 89 评论 -
Android之实现RecyclerView拖拽效果和固定部分元素不进行交换位置(包含源代码下载地址)
但是发现实现后,最后一个元素不能进行拖拽,其它元素也不能和最后一个元素进行交换位置,目前还不知道啥原因,所以就用最原始的RecyclerView和适配器来实现。RecyclerView实现拖拽效果,但是部分固定位置不能进行拖拽也不能在拖拽的过程中交换顺序。因为这个本来就是对RecyclerView的封装,同时也支持。我是利用BaseQuickAdapter来实现的,activity_main.xml文件如下。MainActivity.java文件如下。item.xml文件如下。原创 2020-12-29 21:53:22 · 6029 阅读 · 77 评论 -
Android之玩转MPAndroidChart让(折线图、柱形图、饼状图、散列图、雷达图)优雅的舞动
第一步:不废话,先爆照我的github地址:https://github.com/changechenyu/MPAndroidChartTest第二步:介绍MPAndroidChart适用场景并把它的库文件导入我们开发的项目介绍:MPAndroidChart是一款基于Android的开源图表库,MPAndroidChart不仅可以在Android设备上绘制各种统计图表,而且原创 2015-11-30 00:42:05 · 20919 阅读 · 47 评论 -
Android之手机摇一摇震动刷新(支持ListView、GridView、WebView)并生成我的二维码
手机摇一摇震动刷新第一步:看摇一摇震动刷新的前后的效果图1、摇一摇震动刷新前的效果图如下(图片太大了,分2次录屏的,如果看着不爽请猛戳我的github上面的演示)2、摇一摇震动刷新之后的效果图如下 说明:我笔记本的虚拟机没有重力感应,所以用虚拟机摇一摇没反应,然后我用真机测试,摇一摇伴随着震动,然后把每个页面摇一摇震动刷新的效果图片都截图下来了,然后做原创 2015-11-09 22:12:49 · 9757 阅读 · 17 评论 -
Android之使用ACTION_USAGE_ACCESS_SETTINGS权限检测手机多少天没有未使用其它APP
1 需求找出手机多少天没有使用的所有APP2 思路通过ACTION_USAGE_ACCESS_SETTINGS权限得到多少天已经使用的APP的包名,然后获取手机所有用户APP,剩下的APP就是多少天没有使用的APP。3 ACTION_USAGE_ACCESS_SETTINGS权限申请1)在AndroidManifest.xml文件里面定义权限 <uses-permission android:...原创 2020-05-09 22:01:46 · 7442 阅读 · 30 评论 -
Android之添加固定图标到桌面
1 需求Android之添加固定图标到桌面2 部分实现在AndroidManifest.xml里面添加如下权限 <uses-permission android:name="com.android.launcher.permission.READ_SETTINGS" /> <uses-permission android:name="com.android.launcher...原创 2020-11-23 19:31:48 · 3496 阅读 · 85 评论 -
Android之设置当前app为默认浏览器研究
1 问题把当前app设置为默认浏览器2 主要思路分析竞品,我们主要是通过打开一个链接,让用户去选择默认(如果这个时候已经设置其它app为默认了我们需要删除这个app的默认设置,才能进行我们app的设置)或者直接跳 手机“设置默认应用”界面来让用户选择。3 难点判断当前手机有没有哪个app设置了默认浏览器 判断当前的app有没有设置默认浏览器成功,是不...原创 2020-11-18 22:04:57 · 4895 阅读 · 67 评论 -
Android之解决PC浏览器上传表单文件到手机服务器read数据错误导致有时候下载到手机的文件打开文字错乱问题
1 、问题手机客户端app通过java socket写了一个服务器,然后PC端通过浏览器访问服务端显示上传页面(这些资源都在手机端),然后其中有一个功能是PC端上传文件到手机服务器,然后把这个文件下载到手机本地,但是我有时候PC上传的文件打文字会错乱。2、http的表单文件上传文件格式说明以及如何解析上传的文件1)、http的表单文件上传文件格式http的表单文件上传,我先用的postman进行模拟上传一个1.txt文本文件,这个文件的内...原创 2020-07-22 23:18:38 · 2439 阅读 · 43 评论 -
Android之解决Android10.0通过热点名字和密码连接指定热点网络不能通信问题(2种解决办法)
1 问题Android10.0设备通过热点名字和密码连接另外一台设置指定热点,但是他们之间依然不能通信,网络不可达。Android10.0设备通过热点名字和密码连接另外一台设置指定热点,我用的是官方API,可以参考我的这篇博客Android之通过用户名和密码连接指定wifi热点(兼容Android9.0和Android10.0和addNetwork(wifiNewConfiguration)返回-1问题)Android10.0连接热点关键代码如下 boolean isOpenWifi原创 2020-06-22 20:30:09 · 11341 阅读 · 178 评论 -
Android之解决开启热点后跳转页面不稳定问题
1 问题在Android8.0版本以后,开启热点我们采用的下面这种方式,但是跳转页面后热点会断开,手机不能互相传文件了权限说明:Android8.0需要位置权限和GPS权限,同时手机热点还不能是开启状态。if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { try { mWifiManager.startLocalOnlyHotspot(new WifiManager.Local原创 2020-06-12 22:33:51 · 3993 阅读 · 60 评论 -
Android之通过用户名和密码连接指定wifi热点(兼容Android9.0和Android10.0和addNetwork(wifiNewConfiguration)返回-1问题)
1 需求通过用户名和密码连接指定wifi热点,网上的代码乱七八糟,没几个可以用,我这边整理了下,测试了华为Android9.0和小米Android9.0和10.0和OPPO Android9.0 都没问题,直接回调结果就行。2 问题在Android10.0手机上mWifiManager.addNetwork(wifiNewConfiguration);返回-1说明不能用这种方式了,androidQ或者更高的版本,这个方法始终返回-1,去...原创 2020-06-09 12:11:58 · 9803 阅读 · 70 评论 -
Android之浏览器作为客户端访问手机socket作为服务端下载图片和网页和APK
1 需求在同一局域网内,手机(PC端)浏览器作为客户端,然后手机app里面通过socket写服务代码,然后浏览器访问手机服务端访问网页和图片和css文件和下载APK2 代码实现创建服务线程代码 var serverSocket: ServerSocket? = null var run = true inner class HttpServerThread : Runnable { var TAG = javaClass.na...原创 2020-05-24 21:36:21 · 4219 阅读 · 52 评论 -
Android之各个手机版本WiFi热点的创建
1 问题Android手机创建热点,有很多兼容性问题,网上有很多例子,但是不够全,而且高版本反射很多奔溃,我这里再总结下。2 版本兼容和需要的权限已经热点IP地址说明1)AndroidMainifest.xml里面需要添加的权限 <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/> <uses-permission android...原创 2020-05-24 21:23:31 · 5151 阅读 · 52 评论 -
Android之自定义View实现带4圆角或者2圆角的效果
1 问题实现任意view经过自定义带4圆角或者2圆角的效果2 原理1) 实现view 4圆角我们只需要把左边的图嵌入到右边里面去,最终显示左边的图就行。2) 实现view上2圆角我们只需要把左边的图嵌入到右边里面去,最终显示左边的图就行。安卓源码里面有这样的类package android.graphics;/** * ...原创 2020-03-22 02:49:04 · 5623 阅读 · 10 评论 -
Android之实现RTL的ViewPager
1 问题如何实现RTL的ViewPager,就是滑动方向和我们之前滑动的方向相反,比如一般,我们用ViewPager滑动4个图片,依次顺序是1 2 3 4 ,我们在页面1的时候,我们一般都是习惯向左滑动到2,现在需要实现手指向右滑动到2.2 解决办法1)我们可以使用ViewPager2,这个是可以支持的,不熟悉可以去官网看介绍。https://de...原创 2020-03-20 22:07:11 · 4119 阅读 · 18 评论 -
Android之通过Binder机制实现IPC和linux的传统IPC的对比分析
一、 Android的Binder机制实现IPC这里bind机制实现实现IPC模型这里不具体分析,简单理解就是clint-server模型涉及到4个模块client、server、serverManager、bind底层驱动。serverManager的作用是将字符形式的Binder(Server创建了Binder实体)名字转化成Client中对该Binder的引用,然后client通...原创 2019-12-03 01:31:11 · 2871 阅读 · 0 评论 -
Android之事件总线EventBus详解
顾名思义,AndroidEventBus是一个Android平台的事件总线框架,它简化了Activity、Fragment、Service等组件之间的交互,很大程度上降低了它们之间的耦合,使我们的代码更加简洁,耦合性更低,提升了我们的代码质量。但它能做的却不仅限于这些。经过定制,它能完成很多有意思的功能,那么究竟该怎么做呢?就让我们一起往下看吧。 不堪回首的痛转载 2015-12-02 20:57:51 · 2147 阅读 · 0 评论 -
Android之一张类图说明AMS
原创 2017-01-17 09:20:33 · 2911 阅读 · 0 评论 -
Android之平时遇见的异常和错误总结(不断更新)
安卓错误经验累积1、当出现下面错误时候 08-21 03:43:16.679: E/AndroidRuntime(1087): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.fragment/com.example.fragment.MainActivity}: andr原创 2015-10-01 23:13:41 · 94381 阅读 · 331 评论 -
Android之常见帮助类的里面的函数和功能解释
Android开发人员不得不收集的代码(持续更新中)README of English为方便查找,已进行大致归类,其目录如下所示:Activity相关→ActivityUtils.javaisActivityExists : 判断是否存在ActivitylaunchActivity : 打开ActivitygetLauncherActivity转载 2016-11-19 23:34:39 · 3539 阅读 · 0 评论 -
Android之解决Gigaset手机不能设置DeviceOwner权限提示already provisioned问题
客户那里有Gigaset手机,安装我们的产品需要注入DeviceOwner,但是刚恢复默认出厂的Gigaset手机很奇葩,注入权限的提示下面错误,导致不能使用我们的产品设置DeviceOwner权限是有限制的,需要手机账号(acount)为01 我们用命令查看手机的帐号adb shell dumpsys account可以看出,刚恢复默认出厂的手机,查看账号,是1,typ原创 2016-11-16 21:27:01 · 13650 阅读 · 112 评论 -
Android官方开发文档Training系列课程中文版:Android的安全建议 .
原文地址:http://android.xsoftlab.net/training/articles/security-tips.htmlAndroid系统内置的安全策略可以有效的降低应用程序的安全问题。所以默认创建的应用程序已经包含了一定程度的安全保护措施。Android所包含的安全策略有:应用程序沙箱,它可以使APP的数据、代码与其它APP相互隔离。应用程序框架对于常见防护措施翻译 2016-10-30 02:42:49 · 2666 阅读 · 0 评论 -
Android之使用AIDL时的跨进程回调—Server回调Client
首先建立在server端建立两个aidl文件ITaskCallback.aidl 用于存放要回调client端的方法package com.cmcc.demo.server; interface ITaskCallback { void actionPerformed(int actionId); } ITaskBinder.aidl 用于存放转载 2016-10-18 20:18:59 · 3071 阅读 · 0 评论 -
ubuntu上最使用jni最简单易懂的例子
第一步:爆结果照,让你有坚持下去的信心二、NDK解释NDK全称:Native Development Kit。NDK提供了一系列的工具,帮助开发者快速开发C(或C++)的动态库,并能自动将so和java应用一起打包成apk。这些工具对开发者的帮助是巨大的。NDK集成了交叉编译器,并提供了相应的mk文件隔离CPU、平台、ABI等差异,开发人员只需要简单修改原创 2016-11-07 21:43:17 · 4359 阅读 · 4 评论 -
Android之TrafficStats实现流量实时监测
---恢复内容开始---TrafficStats类是由Android提供的一个从你的手机开机开始,累计到现在使用的流量总量,或者统计某个或多个进程或应用所使用的流量,当然这个流量包括的Wifi和移动数据网Gprs。这里只针对手机所使用的流量作介绍,至于统计某个进程应用使用的流量,道理都差不多,小伙伴们可以自己查下文档。首先先介绍一下TrafficStats常用的一些方法:T转载 2016-08-24 23:07:09 · 17062 阅读 · 0 评论 -
Android之用tcpdump常用抓包命令使用总结
1、搞好Android手机抓包环境 1 手机需要root 2 把tcpdump工具 push到手机 /data/local 目录下去,至于怎么搞,读者百度。2、常见tcpdump抓包命令介绍 -w 把包数据直接写入文件而不进行分析和打印输出. 这些包数据可在随后通过-r 选项来重新读入并进行分析和打印.原创 2017-03-02 23:20:49 · 3049 阅读 · 0 评论 -
Android之解决打补丁包后移动端为什么不升级,升级之后出现“应用未安装“,以及更新成功之后反复更新问题
1、打补丁包后移动端为什么不升级,而且PC端和移动端访问同一个url得到的xml文件内容不一致 不升级是因为补丁包文件搞错了,虽然改了文件内容, pc端访问同一个url得到的xml文件内容不一致,是以为服务端集群导致。 总结: 1)、给客户打补丁包之前一定要到客户后台把相关文件拿到,而不是自以为然拿别人给的文件进行就改,而且如果打补丁原创 2017-03-06 15:43:22 · 4325 阅读 · 0 评论 -
Android之非root手机run-as命令获取debug版本apk里面的数据(shared_prefs文件,lib下面的so,数据库文件)
1 问题非root手机想要获取debug版本的apk里面的数据(shared_prefs文件,lib下面的so,数据库文件)2 直接用run-as命令adb shellrun-as package-name然后就直接进入当前apk目录了,比如 如下/data/data/packageName我们可以看到很多文件执行命令ls -al命...原创 2018-11-02 22:32:20 · 3073 阅读 · 2 评论 -
Android之通过ContentProvider实现两个app(进程间)间通信以及函数调用
1、ContentProvider简单介绍ContentProvider以在不同的应用程序之间共享数据,ContentProvider底层实现是Binder,它为存储和获取数据提供统一的接口2、实现哪些功能?比如我们有两个app,分别是ContentProviderServer和ContentProviderClient1)、需要在app里面ContentProviderServer创建自己的数据...原创 2018-06-26 21:19:37 · 8260 阅读 · 0 评论 -
Android之如何用dextra.ELF64查看安卓手机“设置“图标的源代码
1、找到手机“设置”图标的包名adb shell dumpsys activity top得到包名:com.android.settings 2、拉下odex文件1)、通过包名得到odex文件adb shell pm list pakcage -f | grep com.android.settings2)、得到结果package:/system原创 2017-06-22 22:08:53 · 2496 阅读 · 0 评论 -
Android之JNI动态注册native方法和JNI数据简单使用
1、爆结果照片2、介绍JNI注册方式JVM 查找 native 方法有两种方式: 1)、按照 JNI 规范的命名规则(静态注册) 2) 、调用 JNI 提供的 RegisterNatives 函数,将本地函数注册到 JVM 中(动态注册)静态注册的实现可以参考我的这篇博客 http://blog.csdn.net/u011068702/a原创 2017-05-07 23:56:32 · 6995 阅读 · 0 评论 -
Android之什么时候调用onSaveInstance方法的时候(为什么按Home键盘会调用,按Back不调用)
1、函数介绍1)、onCreate(Bundle savedInstanceState) 方法Activity 创建时回调 : 该方法会自动传入一个 Bundle 对象, 该 Bundle 对象就是上次被系统销毁时在 onSaveInstanceState 或者 onRestoreInstanceState 中保存的数据-- 注意 : 只有是系统自动回收的时候才会保存 Bundle 对原创 2017-04-18 00:51:35 · 13723 阅读 · 0 评论 -
Android之用UncaughtExceptionHandler实现保存崩溃日志到sdcard目录下的文件夹
1、异常和UncaughtExceptionHandler的介绍1)、Java异常处理机制中:如果抛出的是Exception异常的话,需要有try catch进行处理,属于可以捕获exception。如果抛出的是RuntimeException异常的话,发生异常之后将由JVM进行处理,属于不可捕获exception。2)、Java 异常的分类:基类为:Throwable原创 2017-04-24 21:26:07 · 2444 阅读 · 0 评论 -
Android之jni调用java函数总结
1、先看之前jni的如何实现动态注册先看我之间的例子 http://blog.csdn.net/u011068702/article/details/71375920 Android之JNI动态注册native方法和JNI数据简单使用因为这里演示的jni调用java函数是基于这个例子改的,然后还有如何在jni里面加上日志可以看这篇博客http://blog.csdn原创 2017-05-14 21:51:36 · 2437 阅读 · 0 评论 -
Android之解决java.lang.NoSuchMethodError:android.os.powerManager.isInteractive问题
1、问题再三星平板(Android 4.2.2系统)我们代码powerManager调用了函数isInteractive方法,出现下面错误java.lang.NoSuchMethodError:android.os.powerManager.isInteractive2、解决办法1、一开始想用try catch来解决,肯定不行,功能没实现,而且进程还是会原创 2017-04-19 21:20:56 · 8087 阅读 · 1 评论 -
Android系统手机端抓包方法(tcpdump)
抓包准备1. Android手机需要先获得root权限。一种是否获得root权限的检验方法:安装并打开终端模拟器(可通过安卓市场等渠道获得)。在终端模拟器界面输入su并回车,若报错则说明未root,若命令提示符从$变#则为rooted;2. 如果Android手机尚未root,可通过superoneclick或其它方法进行root处理(需要先安装Microsoft .NET Fra转载 2016-08-16 22:52:35 · 23110 阅读 · 0 评论 -
Android之 如何解决ScrollView 和ListView滑动冲突的问题如何解决ScrollView can host only one direct child
android 采用ScrollView布局时出现异常:ScrollView can host only one directchild。解决办法:主要是ScrollView内部只能有一个子元素,即不能并列两个子元素,所以需要把所有的子元素放到一个LinearLayout内部或RelativeLayout等其他布局如何解决ScrollView 和ListView滑动冲突问原创 2016-04-05 15:07:54 · 3066 阅读 · 2 评论