
Android
记录Android点点滴滴
昨夜风起云涌
每一个不曾起舞的日子,都是对生命的辜负。。。
展开
-
httpURLConnection 基本使用
前言为了测试,不想引入retrofit或者okhttp,就用普通的网络请求一下。简单封装class AsyncTaskUtils(private val mParam: String, private val mCallBack: NetCallback?) : AsyncTask<Void?, Void?, String?>() { override fun doInBackground(vararg param: Void?): String? {原创 2022-02-18 14:50:04 · 594 阅读 · 0 评论 -
kotlin使用gson解析json
定义beandata class SerialVendor( val serial: String, @SerializedName("vendor") var vendor: String)解析val json = Gson().fromJson(result, SerialVendor::class.java)问题处理此时serial会是空kotlin的data从json转过来需要用@SerializedName(“xxx”)标记...原创 2022-02-17 12:15:14 · 2348 阅读 · 0 评论 -
应用是否在后台
前言检测应用是否在后台这个场景是挺常见的。大概第一想法就是通过Activity Manager判断。对比am管理的所有activity中最上边的那个所属的包名是否和我们的一致。路径1:am-> getRunningAppProcesses-> 遍历之-> 对比processName和我们的包名同时importance是否是在前台或者后台路径2:am-> getRunningTasks(1)-> 遍历之-> taskList.get(0).topActivity原创 2022-02-10 11:07:59 · 1201 阅读 · 0 评论 -
Kotlin 快速入门
kotlin 快速入门原创 2022-02-08 17:21:09 · 1742 阅读 · 0 评论 -
findVIewById的前世今生
原生的肯定就是view.findViewById(id)后来用XUtils或者BufferKnife,通过注解省事来到Kotlin的世界,kotlin-android-extensions 显得那么清新靓丽一阵妖风,匆匆逃跑,并留下一句话:本人已死有事找ViewBindingViewBinding,其原理是:插件生成一个_$_findCachedViewById()方法生成一个HashMap _$_findViewCache用来维护一个界面的所有控件如果这哥们为空,通过..原创 2021-03-22 17:40:30 · 224 阅读 · 0 评论 -
Handle和他的朋友们
官方描述Handle通过线程的MessageQueue发送和处理Message和Runnable对象,每一个Handle实例和一个单例的Thread及它的MessageQueue相关联。创建一个Handle的时候,他就绑定到线程及对应的MessageQueue,此后,Handle将会处理Message,把Message发送到MessageQueue,并且处理从MessageQueue里出来的Message。Handle主要有两个作用:定时处理Message;把不同线程Action排队。通过不同的方法原创 2021-03-19 00:37:40 · 116 阅读 · 0 评论 -
HashMap原理分析
数组数组是一块内存连续,逻辑也连续的一组数据。在Java里需要类型一样,JS里可以类型不一致List内存不连续,但是逻辑连续。意思就是:在物理内存上存储并不是连续的,但是在逻辑上,下标为1的元素的下一个元素一定是下标为2LinkedList单链表:一个node的next指向下一个node,然后传递。双链表结构数据:一个node的pre指向上一个node,node的next指向想一个node,依次传递。HashMap结合了数组和链表的优点核心成员变量,本身是一个数组,其元素又是一个单原创 2021-03-18 22:46:02 · 172 阅读 · 0 评论 -
FileProvider文件分享
文件共享 file:// 协议不再支持共享,需要用content:// 协议。创建FileProvider<provider android:name="android.support.v4.content.FileProvider" android:authorities="app的包名.fileProvider" android:grantUriPermissions="true" android:exported="false"> <m原创 2021-03-18 13:40:49 · 6735 阅读 · 0 评论 -
Nagivation 使用
依赖``implementation ‘androidx.navigation:navigation-fragment:2.1.0’implementation ‘androidx.navigation:navigation-ui:2.1.0’// 用于绑定F```引入 <fragment android:id="@+id/nav_host_fragmen...原创 2019-12-16 08:56:50 · 537 阅读 · 0 评论 -
MPAndroidChart MarkerView 点击事件
一直以来,图标类UI都用MPAndroidChart这个库,但是今天今天感觉不好了,想实现一个标签,并可点击,我以为这玩意肯定支持,结果在库里找了好久,发现没有,然后我的第一想法就是,这玩意要重写touch,然后处理一些逻辑。 but,我还是到源码里找了一圈还是木有,想这个需求应该不是很古怪,就到issues里see see,果然有!!!Make MarkerView Click不出我所料。...原创 2019-12-15 00:40:34 · 2173 阅读 · 2 评论 -
Android 应用更换applicationId
ApplicationId是Android应用唯一的标示,manifest.xml文件中的package="com.windman.test"是应用文件的路径。如果一个Android应用更换了ApplicationId,即可作为一个新应用上架,此时要注意以下几点:1 如果应用里集成第三方库,如友盟、极光等等,需要重新申请key:提交截图、applicationId等等。2 微信、微博等有a...原创 2019-12-14 00:27:08 · 1719 阅读 · 0 评论 -
【Android报错总结】一
1 java.lang.IllegalStateException: You need to use a Theme.AppCompat theme (or descendant) with this activity。问题:因为继承了android.support.v7.app下的类,解决:可以在给继承的类配置v7的theme,也可以直接不用v7的类 。2 IllegalS...原创 2019-12-14 00:26:04 · 192 阅读 · 0 评论 -
Android studio 忽略文件不生效
网上说的先清除缓存,然后编辑忽略文件,然后提交。but,本人没有实验成功。但是网上说的道理是对的,在服务器存在的文件而且服务器也没有忽略文件的情况下,这些文件被跟踪,本地忽略文件不生效。so解决方法就是让服务器没有这些文件,反正这些文件对于个人环境来说没有任何意义:从本地删除要忽略的文件,一个一个检查,直到阉割干净为止。编写忽略文件commit此时服务器的文件是干净...原创 2019-12-14 00:24:02 · 878 阅读 · 0 评论 -
Android 签名获取
获取md5、sha1cd到jks目录keytool -v -list -keystore xxx-keystore.jks(口令在keystore.txt)md5 转签名去掉冒号,转小写原因:签名问题导致。解决方法:1、检查代码里配置的appid是否正确。2、修改签名。签名修改操作步骤:对应移动应用的开发者可以进入QQ互联官网https://connect.qq.com/...原创 2019-12-14 00:23:05 · 320 阅读 · 0 评论 -
Android三角函数
在Android里自定义view的时候,会用到三角函数,主要用到 java.lang.Math里的函数:E = 2.7182818284590452354PI = 3.14159265358979323846Math.pow(double a, double b); a的b次方Math.sqrt(double a);a开根号Math.sin(Math.PI/2);90 度的正弦值...原创 2019-12-14 00:22:10 · 862 阅读 · 0 评论 -
Lotuseed集成
官方文档:点击这里在线参数封装,便于统一管理public class OnLineParams {private static final String xxxUrl = “https://item.jd.com/1635351001.html”;private static OnLineParams instance = null;private OnLineParams() ...原创 2019-12-14 00:19:25 · 199 阅读 · 0 评论 -
Facebook 、twitter集成
Facebook登录或者注册facebook登录facebook开发者网站 ,点击登录,这时候会跳转到facebook的登录网站(在地址栏可以看到facebook.com),没有账户就只能先注册了,注册可以邮箱等,邮箱注册后会收到一条邮件,可以在邮件了直接验证,也可以把邮箱里的那个5位数验证码填写到facebook的验证框里,然后facebook账号就已经登录完成创建应用创建应...原创 2019-12-14 00:17:55 · 267 阅读 · 0 评论