- 博客(107)
- 资源 (6)
- 收藏
- 关注
原创 android ndk关于.so文件的制作封装与跨平台引用
结合网上众多jni实现流程整理了一套完整且可行的jni教程,有不足的地方欢迎指出与探讨!!废话不多说直接上实现流程:看网上大多都是用命令生成.c .cpp文件,每次都得编译命令去生成有点小麻烦,本文介绍直接用studio配置命令一键生成.so文件,一劳永逸。直接在project下开始:1、打开File | Settings | Tools | External Tools ...
2017-11-27 21:03:09 9663
原创 android 非侵入式热修复框架Hotfix使用
先看一下比较热门的各大厂商热修复框架对比: Hotfix最新版本spofix是首款非侵入式框架:下面是百度内容 假设大家都想要把用户代码塞到一个框架里。侵入式的做法就是要求用户代码“知道”框架的代码,表现为用户代码需要继承框 架提供的类。非侵入式则不需要用户代码引入框架代码的信息,从类的编写者角度来看,察觉不到框架的存在。
2017-08-29 14:45:09 147378
原创 Android10.1获取iccid
public static String getIccid() { TelephonyManager tm = (TelephonyManager) Latte.getApplicationContext(). getSystemService(Context.TELEPHONY_SERVICE); try { String iccid1 =ConmonUtils.getIccid(); Log.i("testrex", "i..
2020-10-12 15:17:30 2428 2
原创 正则截取指定字符串
package com.lgd.CoreTest;import android.os.Bundle;import android.util.Log;import android.view.View;import android.widget.Button;import android.widget.EditText;import androidx.appcompat.app.AppCompatActivity;import com.lzy.okgo.OkGo;import com.lz
2020-08-03 14:50:52 1175
原创 android通讯录操作批量查询删除更新头像vcf文件写入读取便捷方法
读取本地通讯录:private List<PhoneModel> getLocalData2() { List<PhoneModel> mapLoc = new LinkedList<>(); Cursor cursor = Latte.getApplicationContext().getContentResolver().query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI,
2020-06-17 17:33:29 601
原创 android读取vcf文件
try { File file = new File(Environment.getExternalStorageDirectory() + "/yf_c/1.vcf"); List<VCard> vcards = Ezvcard.parse(file).all(); Log.v(TAG, "联系人数量:" + vcards.size()); ..
2020-06-11 15:29:26 1373
原创 Android 根据身份证号判断性别
/** * 1 man 2 girl 果是奇数性别为男,偶数则为女。 */ public static int isSex(String idCard) { if (!TextUtils.isEmpty(idCard) && idCard.length() == 18) { if (Integer.pars...
2019-10-12 10:25:38 965
原创 android 高德地图错误提示
public class LocationErrUtils { private LocationErrUtils() { } private static class getInstance { private static LocationErrUtils INSTANCE = new LocationErrUtils(); } pub...
2019-07-08 10:44:03 2782
转载 Android USB串口通信实现 以及绕过USB弹框验证
https://juejin.im/post/5d07a49af265da1bcd37d8c2
2019-07-03 21:49:15 689
转载 使用MotionLayout实现高德地图bottomSheets效果
https://www.wanandroid.com/blog/show/2611
2019-06-25 13:20:20 774
转载 Android通过hide&show管理多Fragment出现重叠以及点击穿透的解决之道
https://juejin.im/post/5cde90fc51882525a9439f05
2019-05-28 18:49:41 447
转载 Andromeda:适用于多进程架构的组件通信框架
https://blog.imallen.wang/2018/05/16/跨进程路由方案Andromeda和InterStellar/
2019-05-27 17:03:37 381
原创 push to origin/master war rejected"。无法更新?
git pullgit pull origin mastergit pull origin master --allow-unrelated-histories3.在idea中重新push自己的项目,成功!!!
2019-05-14 19:05:26 207
原创 父控件优先获取点击事件
android:clickable=“true”android:descendantFocusability=“beforeDescendants”android:foreground="?android:attr/selectableItemBackground"
2019-04-25 10:52:44 1253
原创 python 字符串数组转数组
import ast;class Test():def init(self):passdef get_frient_dict(self, frients):frientsAll = []for k in frients:frientsAll.append(k[0])frientsAll.append(k[1])scheckAll = {}for k in set(frients...
2019-04-18 10:28:57 3878
原创 Android 监听enter键 换行添加<p></p>标签
<EditText android:layout_width="match_parent" android:layout_height="120dp" android:background="@drawable/baseedit_backgroud_all" ...
2019-03-28 10:36:39 652
转载 2019 Android 高级面试题总结
说下你所知道的设计模式与使用场景a.建造者模式:将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。使用场景比如最常见的AlertDialog,拿我们开发过程中举例,比如Camera开发过程中,可能需要设置一个初始化的相机配置,设置摄像头方向,闪光灯开闭,成像质量等等,这种场景下就可以使用建造者模式装饰者模式:动态的给一个对象添加一些额外的职责,就增加功能来说,装饰模...
2019-03-27 10:50:42 269
转载 WebSocket 与 Socket 的区别
WebSocket 与 Socket 的区别准备:如果不太了解网络的朋友可以先看一下我之前写的文章 需要了解的网络协议 。想必大家再做即时通讯业务或需要替代轮训的时候,肯定听说过 WebSocket 和 Socket 这两个东西,我们今天就来简单说一下这两者的区别。WebSocket 是什么WebSocket 是一种在单个 TCP 连接上进行全双工通信的协议。WebSocket 使得客户端...
2019-03-26 11:48:04 2061
转载 如何设计一个优雅健壮的Android WebView?(上) 基于考拉电商平台的WebView实践
前言Android应用层的开发有几大模块,其中WebView是最重要的模块之一。网上能够搜索到的WebView资料可谓寥寥,Github上的开源项目也不是很多,更别提有一个现成封装好的WebView容器直接用于生产环境了。本文仅当记录在使用WebView实现业务需求时所踩下的一些坑,并提供一些解决思路,避免遇到相同问题的朋友再次踩坑。WebView现状Android系统的WebView发展历...
2019-03-20 09:08:03 580
原创 Android自定义打包apk名字
android{…applicationVariants.all { variant -&amp;gt;variant.outputs.all {def fileNamedef date = new Date()def formattedDate = date.format(‘yyyyMMdd’)if (variant.buildType.name.equals(‘release’)) {...
2019-02-27 11:14:28 290
转载 ViewPager2:官方Viewpager升级版来临
这两天浏览安卓开发者官网的时候,发现google悄然推出了一个新的控件:ViewPager2,一看名称就知道这是一个和我们常用的ViewPager功能相似的控件,算是ViewPager的升级版吧。目前还只是推出了第一个预览版,我们可以直接引入来使用了:implementation ‘androidx.viewpager2:viewpager2:1.0.0-alpha01’我们先来看看有哪些功能...
2019-02-25 11:21:40 1562
原创 冷启动白屏分析
介绍下Android应用程序启动过程 1)Launcher通过Binder进程间通信机制通知ActivityManagerService,它要启动一个Activity; 2)ActivityManagerService通过Binder进程间通信机制通知Launcher进入Paused状态; 3)Launcher通过Binder进程间通信机制通知ActivityManagerService,它...
2018-06-25 18:23:29 536 1
翻译 DBFlow中文指南 -官方使用文档
概观现有SQL对象关系映射(ORM)库的一个问题是它们依靠Java反射来定义数据库模型,表格模式和列关系。 DBFlow是少数几个严格依赖注释处理来生成基于SQLiteOpenHelper框架的Java代码的人之一,它避免了这个问题。这种方法可以提高运行时性能,同时还可以避免您需要编写大量的样板代码,这些代码通常用于声明表,管理模式更改以及执行查询。建立以下部分介绍如何使用DBFl...
2018-06-11 14:54:34 20212
原创 Android BaseActivity与BaseFragmnt的封装
注意了 需要使用ButterKnife进行初始化BaseActivity:public abstract class Activity extends AppCompatActivity { protected PlaceHolderView mPlaceHolderView; @Override protected void onCreate(@Nulla...
2018-05-21 19:17:53 425
原创 Android PCM转AAC(AudioRecord采集)
Android平台上使用AudioRecord采集音视频数据,通过MediaCodec对音视频实施硬编码,回调aac数据流初始化AudioRecord{ if(loop) return; workThread = new Thread() { @Override public voi...
2018-05-15 10:28:32 3802
原创 设计模式:建造者(build)模式
概念:建造者模式是较为复杂的创建型模式,它将客户端与包含多个组成部分(或部件)的复杂对象的创建过程分离开源框架(okhttp,Glide等)使用场景:当构造一个对象需要很多参数或者参数的个数和类型不固定的情况下例如:...
2018-05-10 15:28:31 886
原创 Android MVP设计模式
MVP定义? M:处理业务逻辑和实体模型 V:对应于Activity,负责View的绘制以及用户交互 P:负责完成View层与Modle层的交互MVP与MVC的区别? 1)在MVC设计模式中,数据Modle层与视图View层是可以直接进行数据交互的,MVP则不行,MVP设计模式中,Modle层与View层的数据交互是通过Presenter完成的。 2)MVP的解耦性比MVC更低(因为...
2018-05-07 15:04:13 318
原创 Android MVC设计模式
MVC定义? MVC (Model View Controller),是模型(Model)视图(view)控制器(controller)的缩写,一种软件设计模式,用于组织代码用一种功能模块和数据模块分离的方法在我们的Activity中, M:处理业务逻辑 V:处理数据显示的部分 C:通过Activity处理用户交互的问题如果面试中问你MVC是什么,你就就这回答,最后附带一个小例子?...
2018-05-07 10:28:57 524
原创 Android 开发过程中平时遇到的一些问题及总结
相信大家都有面试的经历,相对比面试官的问的一些问题其实都是基础的知识,但就是一些基础的知识我们也不是很完美的回答出来,我们也知道现在的开发人员很多,一家公司一个岗位就会有很多的开发者投递,在那么多开发者中你如何让面试官很深的认识你,给面试官一个很深的印象,能让他在技术水平差不多的情况的下第一个想起的是你。 从这篇文章对整个面试中所问到的问题进行梳理,查缺补漏。Activity:当面试...
2018-05-05 18:30:57 15515 4
原创 设计模式:单例模式
单例模式:定义: 确保某一个类只有一个实例,并且自行实例化并向整个系统提供这个实例或者提供一个访问它的全局访问点使用场景: 确保某个类有且只有一个对象的场景,避免产生多个对象消耗过多的资源,或者某种类型的对象应该有且只有一个。例如,创建一个对象需要消耗的资源过多, 如要访问IO和数据库等资源,这是就要考虑使用单例模式实现方式流程: 1、构造函数不对外开放,一般为Private ...
2018-05-04 18:08:00 234
转载 Android 通过JNI实现守护进程
开发一个需要常住后台的App其实是一件非常头疼的事情,不仅要应对国内各大厂商的ROM,还需要应对各类的安全管家... 虽然不断的研究各式各样的方法,但是效果并不好,比如任务管理器把App干掉,服务就起不来了...网上搜寻一番后,主要的方法有以下几种方法,但其实也都治标不治本: 1、提高Service的优先级:这个,也只能说在系统内存不足需要回收资源的时候,优先级较高,不容易被回收,然并卵......
2018-04-27 15:20:24 208
原创 android 内存泄漏与内存溢出解决办法(总结)
内存溢出 out of memory,是指程序在申请内存时,没有足够的内存空间供其使用,出现out of memory;比如申请了一个integer,但给它存了long才能存下的数,那就是内存溢出。原因: 1.内存中加载的数据量过于庞大,如一次从数据库取出过多数据; 2.集合类中有对对象的引用,使用完后未清空,使得JVM不能回收; 3.代码中存在死循环或循环产生过多重复的对象实体; 4...
2018-04-27 15:06:33 6283
原创 音视频(一)
媒体播放器原理视音频技术主要包含以下几点:封装技术,视频压缩编码技术以及音频压缩编码技术。如果考虑到网络传输的话,还包括流媒体协议技术 视频播放器播放一个互联网上的视频文件,需要经过以下几个步骤:解协议,解封装,解码视音频,视音频同步。如果播放本地文件则不需要解协议,为以下几个步骤:解封装,解码视音频,视音频同步解协议的作用,就是将流媒体协议的数据,解析为标准的相应的封装格式数据。视音频...
2018-04-27 11:40:56 816
源码jbq.aar
2018-05-05
netty demo
2017-09-06
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人