Android
huster_Yao
乍一看到某个问题,你会觉得很简单,其实你并没有理解其复杂性。当你把问题搞清楚之后,又会发现真的很复杂,于是你就拿出一套复杂的方案来。实际上,你的工作只做了一半,大多数人也都会到此为止……。但是,真正伟大的人还会继续向前,直至找到问题的关键和深层次原因,然后再拿出一个优雅的、堪称完美的有效方案。——乔布斯
展开
-
Android先执行线程池后执行主线程
1.使用CountDownLatch,计数方式判断线程是否结束定义一个CountDownLatch private static CountDownLatch cdl = new CountDownLatch(1);//数值是计数器初始值在主线程中等待,代码如下 try { cdl.await(); } catch (InterruptedE原创 2017-01-07 10:58:01 · 751 阅读 · 0 评论 -
Bluetooth Low Energy android低功耗蓝牙
Note: 由于笔者在做蓝牙开发,但国内未搭梯子的相关博客比较少,所以会出一系列的蓝牙相关的博客和demos。更多请参考: Android 6.0 蓝牙ble 官方demo简化版这一篇是android developer官方有关低功耗蓝牙的译文,希望分享给大家,能为大家提供一些帮助。官方demos: App作为中心设备:BluetoothLeGatt App作为外围设备:BluetoothA翻译 2017-12-20 10:49:28 · 449 阅读 · 0 评论 -
Android 波浪实现
在github上找到一个优秀Android库,贴上网址https://github.com/restress/android-open-project看到一个很喜欢的waveview,效果如图,于是就想自己做做看 看了一下github上面的demo 感觉很简单哒 就是先引用一下WaveView的库,然后通过控制控件的progress属性来控制波浪的高度。 可以用来: 1.当背景 2.用作p原创 2017-02-08 16:20:04 · 1537 阅读 · 0 评论 -
Android MVP 新手入门
1.看文件结构。model层:数据类;class接口类;interface接口实现类;implementpresenter层:接口类(model和view);interface接口实现类;implementview层:activity;lifecycle+implement接口层;interface2.了解三层作用model:用来处理有关数据的方法,可以调用presenter中的实现类present原创 2017-12-03 16:40:27 · 267 阅读 · 0 评论 -
Execution failed for task ':app:kaptGenerateStubsDebugKotlin
错误: android studio更新了V3.1.1之后,原本跑的好端端的程序,突然崩了。然后报错。 org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':app:kaptGenerateStubsDebugKotlin'java.lang.ClassNotFoundException: ...原创 2018-04-16 12:42:24 · 14159 阅读 · 0 评论 -
Android尺寸兼容优化
初级 问题: 在开发android时,若按照一个测试机来进行开发,写layout的时候,尺寸不够规范,没有放到dimens里面,就会引起不同尺寸手机的尺寸不兼容问题。解决办法: 所有的尺寸规范化,放到dimens里面,如果尺寸有变就添加新的value文件夹进行兼容。中级 问题: 尺寸命名很麻烦,看到名字其实是看不出来尺寸的,而且在调整不同尺寸的dimens文件夹时候,肥肠...原创 2018-04-11 10:35:32 · 196 阅读 · 0 评论 -
Android逆向开发 | 小米5刷Xposed过程
首先把小米刷机了。 教程:小米论坛 过程: 1.申请官方bl锁 2.按照论坛教程刷机安装XposedInstaller的apk 安装后,勾选“禁用资源钩子”进入Recovery模式 使用TWRP刷一下xposed的zip注意事项:注意Xposed的版本,注意sdk的版本 如果安装错了,务必要先在TWRP中刷uninstaller,并且清除缓存 然后再安装正确版本感谢...原创 2018-08-27 14:01:54 · 2697 阅读 · 0 评论 -
Android逆向开发 | Xposed寻找hook点
老办法: ddms录制轨迹,追踪方法但是实际操作起来,有以下几个问题: 1.Android Studio升级3.1.1之后ddms找不到了2.安卓模拟器打不开微信 :) 大概是因为微信做了反逆向开发,现在的apk只能安装在arm上,不能安装在x86的模拟器上3.真机即使root了 没办法debug别人的应用解决方案: 1.Android Studio升级3.1.1之后dd...原创 2018-08-27 14:26:47 · 2891 阅读 · 2 评论 -
Android+git 出现Please Select SDK
问题: Android Studio项目从git clone下的项目 在本地跑,不能直接运行显示Please select SDK 原因: 1.可能是本地的SDK配置有问题,需要查看项目的local.propertities的SDK地址是否正确。可以尝试File—Sync Project With Gradle Files2.可能是git自动生成的一些配置存在冲突可以配置一...原创 2018-08-28 17:46:06 · 220 阅读 · 0 评论 -
[Android]App重构记录
由于自己写第一个大app的时候太年轻,不注意规范和框架,导致了很多代码冗余,代码不规范的问题,所以从今天开始在此记录每天的重构方法,希望可以code like a poem 1.package包名全部改成小写,由于之前强迫症所以一直都是首字母大写的驼峰。 2.提取常用的函数进utils包 3.自定义View 之前用的导航栏全部都是自己写的,代码冗余,复用性差。原创 2017-11-22 20:36:48 · 352 阅读 · 0 评论 -
[Android]res下面layout增加子文件夹
问题:项目太大,layout资源太多,不利于管理,所以想要在layout下面增设文件夹分开管理2017.11.22更新: 增加文件夹管理layout不合适,android貌似只支持直系路径的res,所以发现了一个很好的插件,Android File Grouping 可以对资源文件进行group,在AS里面开发的时候像是分了文件夹一样,但在物理路径上是没有任何改变的,No file moves,原创 2017-11-21 20:34:47 · 1941 阅读 · 0 评论 -
Android调用webservice出错记录
由于最近在写android接口,看了很多网上有关ksoap的博客,参考了一些源代码,犯了很多错,也查了不少东西。每当解决一个问题,粗心的我又会犯下一个,错误的解决办法总是那么难找到,仅此记录,有需要的朋友们可以借鉴。在我犯下的错误中,大致可以分为四类,一是webservice提供接口代码有错,二是android端代码有错,三是设备(手机&服务器)网络设置有误,四是网络有问题。第一类,很容易测试,让后原创 2016-12-31 10:33:52 · 615 阅读 · 0 评论 -
最新版Android Studio下载
用之前的安装包显示不能够更新,然后要我下载一个最新的。 就是这个网址可以下载最新的AS安装包。 http://tools.android.com/download/studio/canary/latest原创 2017-02-05 18:45:49 · 428 阅读 · 0 评论 -
查看sqlite数据库内容
前段时间入了郭霖的《第二行代码》,想在项目里面使用litepal创建数据库,但是数据库的调试首先是建立在可以查看数据库内容的基础上的。 于是我拿着我的小米三,跟着书里一步步开始使用abd,结果…..一开始没有root,root之后发现手机没有sqlite3文件,只好用电脑push进去,push进去的时候发现又permission denied了,跟着大家的思路,$ adb shell # moun原创 2017-01-16 15:19:09 · 953 阅读 · 0 评论 -
MPchart中坐标轴表示
最近使用MPchart来绘制图表,在创建实体点的时候,横纵坐标轴只能够是float类型,这对于要表示的时间就很难处理了,因为要精确到秒,so,需要处理一下x轴表示方法。第一步 将要表示的数据 用float类型保存举个栗子: 现在需要表示的横坐标是 苹果/香蕉/梨子/西瓜 但是在创建坐标的时候,是根据数字来绘制横坐标的距离的,如果一开始告诉坐标轴 ,我要绘制 “ 苹果/香蕉/梨子/西瓜“,坐标轴是原创 2017-02-16 17:13:35 · 2533 阅读 · 0 评论 -
Android 6.0 蓝牙ble 官方demo简化版
最近把测试机从小米3换成了小米5s,Android系统从4.0升级到6.0,之前下载的蓝牙官方demo修改了之后在新机上无法搜索到蓝牙设备,看了一些博客,发现在Android6.0里面蓝牙不仅需要bluetooth 的权限还需要加上这个权限:<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>具体的可以原创 2017-02-26 21:16:44 · 8921 阅读 · 3 评论 -
Android中Fragment入门概念
通常,在不确定Android设备的大小的情况下,设置手机模式与平板模式是很有必要的,在新闻类App平板展示中,经常会看到标题与内容在同一个页面上,但在手机上确是两个页面。 ![双页面情况](http://img.blog.csdn.net/20170603160437911?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvc3BhcmtsZXlu/font/原创 2017-06-03 16:24:26 · 467 阅读 · 0 评论 -
[c# JAVA]类型转换集锦
在开发android和.net的时候,经常会遇到类型转换的问题,特别是java中的类型转换让我记忆犹新,每次都要搜一搜试一试,很浪费时间,所以索性在博客中记载下来,以后每次遇到不方便的类型转换就会记载下来,以供参考。 1.c# datetime 和sql date datetime.ToString(“yyyy-MM-dd”)原创 2017-10-16 16:48:04 · 213 阅读 · 0 评论 -
[Android]小米5刷root过程记录
1.申请官方bl(BootLoader) 2.http://www.miui.com/thread-4099861-1-1.html 然后进入rec高级里面下载superSu即可原创 2017-11-02 19:31:29 · 965 阅读 · 0 评论 -
vs emulator for android流畅的android模拟器
由于笔者弄坏了AS的虚拟机,加上AS虚拟机比较吃内存,在看到有人科普了visual studio emulator之后马上迫不及待的尝试了一下。步骤记载如下: 1.下载安装 visualstudio emulator for android官方下载地址2.算了,笔者写不下去了,请大家自行参考网上一搜一大把的教程自行安装。 笔者看的教程3.安装好了吧,能用的话就OK,不能用的话,可以参考一下文章原创 2017-11-30 11:09:37 · 2457 阅读 · 0 评论 -
VS emulator疑难解答
翻译自:Troubleshooting the Visual Studio Emulator for Android 本文章分为以下几个部分: 1.在开始之前 2.虚拟机安装失败 3.使用局域网或公司网络或无法连接到网络 4.当网络设置需要手动配置时,无法连接到网络 5.虚拟机启动很慢,超时连接,或,App部署失败 6.虚拟机启动失败 7.虚拟机第一次使用时启动失败 8.安装虚拟机翻译 2017-11-30 21:42:34 · 840 阅读 · 0 评论