
android
文章平均质量分 82
哑巴湖小水怪
愿东君、长与花为主
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Android同文输入法的使用(开源输入法Trime)
说真的,配置完中文输入方案之后,这个输入法好卡好卡的。我本来打算在这款输入法上进行修改完善,但是卡成这样真的没必要。记录一下,我就去研究其它的开源输入法了。注1:这么卡跟测试设备有关系,测试设备有点老,着实拉跨。这个框架还是很酷的,DIY起来非常合适。注2:5.1系统上没跑起来,具体原因没看,应该是权限问题。原创 2022-10-10 11:58:15 · 8677 阅读 · 1 评论 -
自定义Android日期选择器
然而系统提供的NumerPicker对外可以调用的接口(6.0版本上)非常少,只有预设范围等,根本不支持我们自定义布局。轻量级自定义的话(继承NumberPicker),也可以完成部分需求,比如修改主题色,只显示年月,修改字体颜色大小等等,但是一些比如选中时的背景之类的需求是完成不了的。综上,我们只能通过重量级自定义来完成,也就是完全写一个新的类似于NumberPicker的控件,然后去绘制选中时的背景、文字字体颜色大小。原创 2022-09-27 17:08:03 · 4304 阅读 · 0 评论 -
Android Studio使用Support库而不是AndroidX
使用Support库替代AndroidX记录背景解决问题,把支持库从androidx降为android.support.v7第一步 将compileSdkVersion、targetSdkVersion改回27第二步,更改androidx相关依赖为support库第三步 去除项目中对对androidx库里面资源的调用记录最近在研究hook技术,在查找hook点的时候,难免要读到源码。在不同的sdk源码上,方法总是会有多多少少的变动。那我手里的设备是8.1的,也就是API27。把app的版本降到27,这样原创 2021-04-24 19:25:55 · 2047 阅读 · 0 评论 -
Android-位图编码分析
位图编码分析位图编码构成以颜色位值为4,16色图像为例位图编码构成位图文件主要分为如下4个部分:以颜色位值为4,16色图像为例14+40+16x4+(32x1)/2=134位图的十六进制数据如下Offset 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1500000000 42 4D 86 00 00 00 00 00 00 00 76 00 00 00 28 0000000016 00 00原创 2021-01-16 19:58:45 · 223 阅读 · 0 评论 -
Android Studio升级4.1问题解决
1.AndroidStudio4.1不提示编码错误,运行时才会报错2.Android Studio无法执行Java main方法的问题新项目的<GradleProjectSettings>标签下少了<option name="delegatedBuild" value="false" />这行配置,然后给新项目添加这行配置,运行代码发现成功了。3.AndroidStudio 控制台编译输出中文乱码附:Android Studio Database Inspector 使用原创 2020-12-21 14:38:18 · 1297 阅读 · 0 评论 -
Android-贝塞尔插值器的使用
发现一个秘密,居然可以这么复制东西基于三次方贝塞尔曲线的插值器再谈属性动画——介绍以及自定义Interpolator插值器Android 属性动画 常用方法 与 插值器 Interpolatorandroid动画——属性动画(Property Animation)Android 属性动画(Property Animation) 使用详解PCR动画说明几种常用的Interpolator(插值器)的动画效果1.01.01.07723631.17397531.23246861.30原创 2020-11-20 17:54:11 · 2140 阅读 · 0 评论 -
Android-Fragment 中使用 getActivity()为null的原因---剖析源码
Fragment中使用getActivity为null的原因一、背景问题思考二、源码1、fragment 的生命周期2、可以看到Fragment比Activity多了几个额外的生命周期回调方法onAttach:onCreate:onCreateView:onActivityCreated:onStart:onResume:onPause:onStop:onDestroyView:onDestroy:onDetach:3、所以到底发生了什么?4、对于上面的问题,可以考虑下面这两种解决办法:1、不保存fragm转载 2020-07-10 17:18:26 · 2333 阅读 · 0 评论 -
Android-基础-关于活动的启动模式
关于活动的启动模式关于活动的启动模式问题:如果你想跳转到某一活动后,点击返回按钮直接退出应用怎么办?活动的启动模式演示活动栈:关于一开始的问题演示StandardSingleTask活动的启动模式详解关于活动的启动模式注:启动模式详解部分全部来源于郭神的第二行代码问题:如果你想跳转到某一活动后,点击返回按钮直接退出应用怎么办?换句话说,跳转activity,如何清空之前全部的activity栈?比如说,做退出登录功能,此时需要将界面跳转到登录界面。如果直接intent跳转,那么此时点击返回键还是可原创 2020-07-09 15:13:32 · 558 阅读 · 0 评论 -
Android-PhotoView的使用-全方向滑动浏览
PhotoView的使用Android图片框架photoview如何记住所有状态并还原,包括缩放度,缩放后的移动的距离等等PhotoView的使用-全方向滑动浏览一、分析PhotoView简介项目中要用到的功能以及实现二、PhotoView的使用1、配置2、在xml布局中引用该控件3、在Activity中调用4、设置监听三、代码分析1、设置图片在photoView中的显示形式相关API整理一、分析需求:实现界面全方向滑动浏览功能。实现方式:使用第三方库PhotoViewPhotoView简介h原创 2020-06-30 14:17:37 · 3605 阅读 · 2 评论 -
Android-关于读写U盘文件(USB)-操作外置sd卡
Android关于读写U盘文件-操作外置sd卡一、背景二、可行性分析关于问题1关于问题2关于问题2,我们可以采取四种方式操作:实现效果依赖build.gradle布局文件activity_u.xml权限AndroidManifest.xml一个类UsbActivity三、参考文章一、背景很久以前做过这个功能,一直没有总结。碰巧最近有网友问到,就总结一下。项目要求实现两个功能:1、读取U盘里的apk文件并安装2、导出数据,生成Excel表格到U盘二、可行性分析关于问题1第一个问题很简单,读取U原创 2020-06-02 18:29:04 · 8289 阅读 · 6 评论 -
Android-Jetpack组件
官网链接带你领略Android Jetpack组件的魅力Android Jetpack 架构组件最佳实践我发现,不好好学kotlin,连Android文章都看不懂了。幸亏我有郭婶的第三行代码,保驾护航,哈哈哈哈哈Google在2018 Google I/O 2018大会上发布了新的框架组件,大致如上图所示。Android Jetpack 能帮助您加快应用开发速度,处理类似后台任务、UI...原创 2020-04-17 11:20:22 · 257 阅读 · 0 评论 -
Android-关于Context小记
Context是什么意思呢?记得一开始学习Android的时候,看到context总是有点晕,上下文是什么意思。近期在阅读《数学之美》一书时,对此有了更深的理解,略为小记。“文字按照意思来类聚,最终会带来一些歧义性,也就是说有时弄不清楚一个多义字在特定环境下它到底表示其中的哪个含义。而解决这个问题的方法,过去的先生和今天的学者也没什么不同,都是依靠上下文。有了上下文,大多数情况下多义字的去除...原创 2020-02-09 15:50:20 · 152 阅读 · 0 评论 -
一个空格引发的惨案
有一天我收到了一个需求,换行的时候让小票后面的x1跟着换。简单我本来用的随便搜的个别人封装的,三列文本居右的table(菜品名称一列占20字节,x一列占2字节,数量一列占2字节)看到这个需求时,我愉快的在代码里判断,如果菜品名称那一列超过一行,我就直接分别在数量和x这两列添加两个空格,强制让这两列也跟着换行好了结果我发现,源代码里有一句 cols[i] = cols...原创 2019-01-29 18:53:26 · 331 阅读 · 0 评论 -
Android:导入一个项目,项目gradle4.4as3.1而我gradle3.3,as2.3
Android Studio一直处于Building最开始我等待,一个小时过去了,没反应,我尝试解决Android Studio一直处于Building的解决方法一开始我用第一种方法,用我的distributionUrl=https\://services.gradle.org/distributions/gradle-3.3-all.zip去代替distributionUrl=http...原创 2019-03-06 03:20:27 · 363 阅读 · 0 评论 -
c盘那些文件可以删除
c盘那些文件可以删除http://www.xitongzhijia.net/xtjc/20150507/47691.html转载 2019-03-05 18:36:39 · 2951 阅读 · 0 评论 -
INSTALL_FAILED_UID_CHANGED
我在一个root过的机器上,push了一个文件夹adb push C:\Users\Rachel\Desktop\work\project\waiter-tablet\ /data/data/com.tiidian.imwaiter 然后在它push的过程中,我看速度太慢,又不知道如何强行终止,于是我直接手动卸载了app然后当我重新安装的时候,安装失败INSTALL_FAILED_UID...原创 2019-02-25 18:08:35 · 559 阅读 · 0 评论 -
cpu占用过高50%以上问题定位
使用Android Studio 自带的monitors查找App CPU 使用率过高的原因Android Monitor使用介绍Android App性能评测分析-cpu占用篇Android性能分析工具–Android Monitor我现在解决问题都是很蠢的,以上利用monitor分析,并没有分析出所以然来然后使用了最愚蠢的办法,版本回退找到正常版本,到不正常的修改地方分析结论是,...原创 2019-02-18 16:08:44 · 683 阅读 · 0 评论 -
Android适配:Binary XML file line #59: You must supply a layout_width attribute.
一直在报这个问题,然后我去确认了一下很明显,59行有layout_width 属性,然后就百思不得其解过了好久我终于想起来,我做了适配,以1280x720为基准,也就是说我的宽度,没有870,所欲找不到才报错的...原创 2019-02-16 14:51:46 · 610 阅读 · 0 评论 -
Android:一步一步确定ANR原因
记一次分析解决ANR过程巧妙定位ANR问题ANR求解,定位不到哪里出了问题,求指导,谢谢如何分析解决Android ANR线程几种状态的说明一、在logcat监视器中显示一个运行的应用Android Studio在Android Monitor中包含了一个logcat的tab,可以打印系统事件,比如垃圾回收发生时,实时打印应用消息。为了显示需要的信息,你可以创建过滤器,更改需要显示多...原创 2019-03-26 19:04:49 · 1304 阅读 · 0 评论 -
Android:Android studio由2.3升级到3.3.2之后
Android studio由2.3升级到3.3.2之后遇到的问题Gradle 版本升级之后androidtestcompile程序包android.support.test不存在遇到的问题Gradle 版本升级之后问题:WARNING: The specified Android SDK Build Tools version (26.0.3) is ignored, as it is...原创 2019-05-13 06:45:23 · 1036 阅读 · 0 评论 -
Android:Theme的使用-全屏设置
https://www.cnblogs.com/zhouyou96/p/5323138.htmlhttps://www.jianshu.com/p/c797f90c4168https://blog.csdn.net/howard2005/article/details/794607992018-01-01 15:37:45.994 19821-19821/? E/AndroidRuntime...原创 2019-05-23 18:40:32 · 4201 阅读 · 0 评论 -
Android:安卓智能手机cpu运算速度和电脑cpu
我们从一个问题说起那天有个哥们问了这样一个问题。群里给出的回答就是;第一,硬件差距太大第二,手机与手机之间处理速度也不一样第三,第三方数据库比原生sqlite快,比如greendao什么的第四,可以使用放弃原生sqlite,使用mapdb存储我们今天就说说第一点,硬件差距大的问题。一、架构差异架构只相当于一座建筑的框架,是最基本也是极为重要的部分。电脑CPU的架构有X86、X64...原创 2019-06-26 11:11:00 · 3186 阅读 · 2 评论 -
Android:Kotlin再探-Java异同
参考:Kotlin学习系列之:Kotlin的构造函数官网Kotlin中?和!!的区别Kotlin 并没有 new 关键字创建类的实例要创建一个类的实例,我们就像普通函数一样调用构造函数:val invoice = Invoice()val customer = Customer("Joe Smith")Kotlin的构造函数分为主构造器(primary constructor...原创 2019-07-26 11:14:03 · 184 阅读 · 0 评论 -
Android曲线拟合:牛顿迭代法(自己的备忘录,勿进)
要记录原创 2019-08-14 16:06:36 · 768 阅读 · 0 评论 -
Android Studio多渠道打包以及配置Gradle
渠道包就是要在安装包中添加渠道信息,也就是channel,对应不同的渠道,例如:小米市场、360市场、应用宝市场等我们要在安装包中添加不同的标识,应用在请求网络的时候携带渠道信息,方便后台做运营统计(这就是添加渠道信息的用处)。 实现多渠道打包的原理: 一般来讲,这个渠道的标识会放在AndroidManifest.xml的Application的一个Metadata中。然后就可以在...原创 2018-05-18 20:22:33 · 1688 阅读 · 0 评论 -
连接打印机时的一个crash
2.326 16105-16115/com.tiidian.imwaiter A/libc: Fatal signal 11 (SIGSEGV), code 1, fault addr 0x12121222 in tid 16115 (HeapTaskDaemon)12-29 19:52:12.326 16105-16673/com.tiidian.imwaiter D/AlarmPingSe...原创 2019-01-29 17:54:14 · 1165 阅读 · 0 评论 -
Android学习笔记之性能优化SparseArray
https://www.cnblogs.com/RGogoing/p/5095168.html转载 2019-01-29 12:55:05 · 208 阅读 · 0 评论 -
ANDROID-JAVA-单例模式优化&多线程并发
最近线上遇到了很多莫名其妙的问题,最后发现是因为子线程和主线程同时去初始化单例造成的我本来的单例是这么写的。像大家这种有脑子的肯定明白问题出在哪里。但是我没有。然后花费了好久的时间才证实,原来多线程会造成多份数据。 private DeviceManager() { LogManager.get().getLogger(this.getClass()).info(...原创 2019-01-29 11:58:02 · 594 阅读 · 0 评论 -
inflate
LayoutInflater.from(context).inflate(R.layout.order_layout,parent,false) 用inflate加载布局的时候,布局中最外层的布局是没有用的原创 2018-08-03 18:34:29 · 671 阅读 · 0 评论 -
数据类型
1、java基本数据类型Java语言提供了八种基本类型。六种数字类型(四个整数型,两个浮点型),一种字符类型,还有一种布尔型。 Java定义了8个简单的数据类型:字节型(byte),短整型(short),整型(int),长整型(long),字符型(char),浮点型(float),双精度型(double),布尔型(boolean) 2、默认值 除了boolean默认fa...原创 2018-07-19 11:59:28 · 461 阅读 · 0 评论 -
MQTT
MQTT教學(四):使用MQTTLens訂閱與發布MQTT訊息 https://swf.com.tw/?p=1009 Android开发之利用MQTT协议实现消息的即时推送 https://blog.csdn.net/qq_29196551/article/details/51488340 MQTT协议之订阅及发布(使用paho-mqtt-client...原创 2018-07-18 19:26:59 · 425 阅读 · 0 评论 -
sp工具类啊
sp工具类import android.content.Context;import android.content.SharedPreferences;import com.alibaba.fastjson.JSON;import com.alibaba.fastjson.JSONObject;import com.alibaba.fastjson.TypeReference;i...原创 2018-06-27 22:49:43 · 7826 阅读 · 0 评论 -
Android Studio ADB 命令大全
要在Android Studio里面使用adb,首先需要配置Terminal1. terminal到底有什么用terminal就是adb的命令行,as集成了这个功能,不需要我们去cmd+r去命令行窗口打命令了adb是什么?adb的全称为Android Debug Bridge,就是起到调试桥的作用。通过adb我们可以在Eclipse中方面通过DDMS来调试Android程序,说...原创 2018-05-19 19:05:31 · 8237 阅读 · 0 评论 -
调用外部程序的服务
通过隐式意图调用系统安装程序安装APK /** * install package normal by system intent * 通过隐式意图调用系统安装程序安装APK * @param context * @param filePath file path of package * @return whether apk exist...原创 2018-05-11 15:18:25 · 329 阅读 · 0 评论 -
Android调用外部程序的服务Service
A程序里,使用intent来打开外部应用可以有两种方式比如我要通过按钮点击后,打开系统闹钟intent.setClassName(包名, 包名+activity名);public void onClick(View v){ //((Button)v).setText(&quot;更改后的按钮文字&quot;); Intent intent = new Intent(); ...原创 2018-05-11 14:57:13 · 8742 阅读 · 0 评论 -
Ping百度,获取延迟
Ping百度,获取延迟 public void getNetworkDelayPingBaiDu() { String delay = new String(); Process p = null; try { String ip = "www.baidu.com"; p = Runtim...原创 2018-05-09 19:08:05 · 5382 阅读 · 0 评论 -
第四百九十五日:念念不忘,必有回响
一转眼已经2018年了2016年12月07日我第一次来到csdn,也是我实习的第一天。一转眼一年半过去了。小菜鸟是个稍微不那么菜的小菜鸟了。原创 2018-04-16 11:15:48 · 241 阅读 · 0 评论 -
Failed to resolve: com.android.support:design:27.+
如图所示,加上这一段:allprojects { repositories { jcenter() maven { url "https://maven.google.com" } }}原创 2018-04-16 11:03:29 · 1669 阅读 · 1 评论 -
Android官方文档翻译PagerAdapter
PagerAdapterpublic abstract class PagerAdapter extends Object (公共抽象类 继承自object) java.lang.Object ↳ androidx.viewpager.widget.PagerAdapterKnown direct subclasses(已知的直接子类)FragmentP...原创 2018-09-06 16:37:16 · 496 阅读 · 0 评论 -
模拟一个anr(自己的备忘录,勿进)
开个子线程,new个集合,然后不停地往里面加数据就可以了 ThreadManger.get().add(new ThreadListener() { @Override public void doAction() throws Exception { List&amp;lt;String&amp;gt; ww=new Arr...原创 2018-12-17 11:33:27 · 810 阅读 · 5 评论