程序员
文章平均质量分 87
m0_63935228
这个作者很懒,什么都没留下…
展开
-
Android图片处理:PinchImageView源码解析,刚从阿里、头条面试回来
*/public static Matrix matrixTake(Matrix matrix) {Matrix result = mMatrixPool.take();if (matrix != null) {result.set(matrix);}return result;}然后去获取内部变换矩阵,并存在 innerMatrix 中。public Matrix getInnerMatrix(Matrix matrix) {……//原图大小RectF tempSrc = Math原创 2021-11-11 00:10:45 · 1738 阅读 · 0 评论 -
Android从零开始搭建MVVM架构(1),kotlin扩展函数原理
使用default的时候,即使是studio3.5里,也不提示,不过不影响。还有一点,在DataBinding里,已经处理了null。所以这个时候你在Activity里给user设置为null。也不会崩溃二、DataBinding在Fragment和RecyclerView里的使用在Fragment的使用和Activity里的使用一样。获取根目录的方式如下。//注意获取根布局是View view = activityAlisBinding.getRoot();这里重点介绍下再recyclerVie原创 2021-11-11 00:09:19 · 1521 阅读 · 0 评论 -
Android中View和ViewGroup介绍,flutter中文教程
public final void layout(int l, int t, int r, int b)此函数用于确定View和其子View的尺寸和位置,它的调用发生在onMeasure之后。protected void onLayout(boolean changed, int left, int top, int right, int bottom)此函数在layout调用完成后执行,View的子类一般override此函数,并在函数中对其每个孩子调用layout方法。public View g原创 2021-11-11 00:07:27 · 278 阅读 · 0 评论 -
Android中Jsoup的使用(网页内容解析),2021大厂Android面试经历
相关基础知识简述HTML简述HTTP请求与响应的内容格式Jsoup的库的主要API介绍Jsoup实例在Android Studio中使用Jsoup库实例一:使用jsoup解析HTML格式的字符串实例二:使用jsoup爬取[福建师范大学官网首页]( )的所有文章链接Jsoup在安卓中的应用场景举例==========================================================================..原创 2021-11-11 00:05:50 · 181 阅读 · 0 评论 -
Android中Dialog的简单使用,附赠课程+题库
}} /** * 结束指定的Activity */public void finishActivity(Activity activity){if(activity!=null){activityStack.remove(activity);activity.finish();activity=null;}} /** * 结束指定类名的Activity */public void finishActivity(Class<?> cl原创 2021-11-11 00:03:36 · 1557 阅读 · 0 评论 -
Android——service使用详解,flutter页面跳转回调
二、声明Service如同其他组件一样,想要使用Service,必须在清单文件中对其进行声明声明方式是添加 < service > 元素作为 < application > 元素的子元素例如<applicationandroid:allowBackup=“true”android:icon="@mipmap/ic_launcher"android:label="@string/app_name"android:supportsRtl=“true”androi原创 2021-11-11 00:01:35 · 3060 阅读 · 0 评论 -
Android-高级-UI-进阶之路--(六)-PathMeasure-制作路径动画
moveTo,lineTo,setLastPoint,close//从0.0 连接 400,600mPath.lineTo(400f,600f)//重置上一点相当于 0,0 到 600,200, 设置之前操作的最后一个点位置(会影响之前跟之后的起始点)//mPath.setLastPoint(600f,200f)//从 400,600 连接 900,100mPath.lineTo(900f,100f)//开始绘制anvas!!.drawPath(mPath,mPathPaint)我们.原创 2021-11-10 23:59:59 · 432 阅读 · 0 评论 -
Android-自定义点选文字验证,看完直接怼项目经理
import android.graphics.Color;import android.graphics.Matrix;import android.graphics.Paint;import android.graphics.PorterDuff;import android.graphics.PorterDuffXfermode;import android.graphics.Rect;import android.graphics.RectF;import android.util.A原创 2021-11-10 23:58:09 · 470 阅读 · 0 评论 -
Android-气泡对话框(根据被点击View位置显示、可定制,androidkotlin面试题
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-nZ8Fmmpi-1636559775978)(https://user-gold-cdn.xitu.io/2017/12/15/1605834810534ae1?imageView2/0/w/1280/h/960/ignore-error/1)]new BubbleDialog(this).addContentView(LayoutInflater.from(this).inflate(R.layout.dialog_vie原创 2021-11-10 23:56:31 · 594 阅读 · 0 评论 -
Android wifi属性简介 及 wifi信息获取(wifi列表、配置信息、热点信息
四、连接wifi热点==============通过 WifiManager.getConfiguredNetworks() 方法会返回 WifiConfiguration 对象的列表,然后再调用 WifiManager.enableNetwork(); 方法就可以连接上指定的热点。五、查看已经连接上的wifi信息================WifiInfo 是专门用来表示连接的对象,这个对象可以通过 WifiManager.getConnectionInfo() 来获原创 2021-11-09 12:39:01 · 4924 阅读 · 1 评论 -
Android Volley网络通信库学习,轻松拿到了阿里Android高级开发工程师的offer
@Overridepublic void onResponse(JSONObject response) {Log.d(TAG, "response : " + response.toString());}}, null));mQueue.start();Post其他步骤与Get请求一致,在第二步创建Request的时候,我们只要将传入的第一个参数改为 Method.POST;如果有Post数据,我们需要重写getParams方法(观察过Volley源码的同学可以看到,源码中getPara原创 2021-11-09 12:37:36 · 93 阅读 · 0 评论 -
Android VideoPlayer,附赠复习资料
public void setVideoScale(int width, int height) {LayoutParams lp = getLayoutParams();lp.height = height;lp.width = width;setLayoutParams(lp);}public interface MySizeChangeLinstener {public void doMyThings();}public void setMySizeChangeLinstener(M原创 2021-11-09 12:35:44 · 184 阅读 · 0 评论 -
android UART串口开发7941D双拼读卡模块,flutter修改textfield内容
isopen = false;}return isopen;}/**打开串口@param device 串口设备文件@param baudRate 波特率@param parity 奇偶校验,0 None(默认); 1 Odd; 2 Even@param dataBits 数据位,5 ~ 8 (默认8)@param stopBit 停止位,1 或 2 (默认 1)@param flags 标记 0(默认)@return*/原创 2021-11-09 12:34:07 · 350 阅读 · 0 评论 -
Android studio权限使用相关相关,flutter局部刷新
import java.util.ArrayList;public class MainActivity extends Activity implements View.OnClickListener {private Button btn_send;private Button btn_dail;private EditText et_number;private EditText et_content;private Button btn_toast1, btn_toast2;priva原创 2021-11-09 12:31:53 · 202 阅读 · 0 评论 -
Android studio实现画板功能,为什么spring能最好地改变Android
paint.setStrokeWidth(5);paint.setAntiAlias(true);paint.setColor(Color.RED);canvas.drawBitmap(bitmap,new Matrix(),paint);imageview.setImageBitmap(bitmap);注册触摸监听事件,获取鼠标按下时的坐标和鼠标移动后的坐标。在开始和结束之间画一条直线并更新画布图片imageview.setOnTouchListener(new View.OnTouchLis原创 2021-11-09 12:29:52 · 258 阅读 · 0 评论 -
Android Studio 3,移动开发入门书籍
Android 提供一个托管内存环境—当它确定您的应用不再使用某些对象时,垃圾回收器会将未使用的内存释放回堆中。 虽然 Android 查找未使用内存的方式在不断改进,但对于所有 Android 版本,系统都必须在某个时间点短暂地暂停您的代码。 大多数情况下,这些暂停难以察觉。 不过,如果您的应用分配内存的速度比系统回收内存的速度快,则当收集器释放足够的内存以满足您的分配需要时,您的应用可能会延迟。 此延迟可能会导致您的应用跳帧,并使系统明显变慢。尽管您的应用不会表现出变慢,但如果存在内存泄漏,则即使应用原创 2021-11-09 12:24:48 · 486 阅读 · 0 评论 -
Android slidingmenu详解 优化侧滑,android小说阅读器源码
修改为:public class SlidingFragmentActivity extends SherlockFragmentActivity项目的结构层次ExampleListActvity||----------Library||----------------actionbarsherlockclean顺序 actionbarsherlock 、 library、 ExampleListActivity逐个clean 项目就能运行原创 2021-11-09 12:22:55 · 126 阅读 · 0 评论 -
2021年尾 Android 面试之必问高级知识点(包含答案),kotlin语法大全
以下知识点是节选自本人整理的Android知识点汇总,如需要PDF版可点击这里:PS(均无收费内容,点击直达)Githubhttps://github.com/hunanmaniu/AndroidNotes1.2 AOT优点下面是AOT编译方式的一些优点:1.2.1 预先编译ART 引入了预先编译机制,可提高应用的性能。ART 还具有比 Dalvik 更严格的安装时验证。在安装时,ART 使用设备自带的 dex2oat 工具来编译应用。该实用工具接受 DEX 文件作为输入,并为目标设备生成经过原创 2021-11-08 10:54:16 · 218 阅读 · 0 评论 -
2021京东 Android 岗 Java 面试真题解析,android平台架构的四个层次
走路 父亲有三个儿子,三个儿子都继承了父亲的行为方法,所以三个儿子都有吃饭,睡觉,走路这些动作,但是三个儿子又分别有自己的动作–大儿子 A 会弹吉他,二儿子 B 会唱歌,三儿子 C 会打鼓 …1.Person person = new A(); 不是父类对象指向子类引用而是父类引用指向子类对象2.这个对象不能调用子类 A 特有的弹吉他方法–person.guitar(); X3.如果仅是这么写程序,还不是多态,记住实现多态的三要素:继承、重写、父类引用指向子类对象4.之后,如果你调用 persion原创 2021-11-08 10:52:29 · 114 阅读 · 0 评论 -
2020面试题合集之吊打面试官系列(一),kotlin数组性能
参考回答:要测试Android应用程序,通常会创建以下类型自动单元测试:本地测试:只在本地机器JVM上运行,以最小化执行时间,这种单元测试不依赖于Android框架,或者即使有依赖,也很方便使用模拟框架来模拟依赖,以达到隔离Android依赖的目的,模拟框架如Google推荐的Mockito;Android官网-建立本地单元测试(https://developer.android.com/training/testing/unit-testing/local-unit-tests.html)检测测试原创 2021-11-08 10:47:12 · 205 阅读 · 0 评论 -
2020阿里巴巴,字节跳动,京东,android驱动开发环境搭建
可以在xml中设置Service所在的进程,让Service在另外的进程中执行。Service执行的操作最多是20s,BroadcastReceiver是10s,Activity是5s。Activity通过bindService(Intent,ServiceConnection,flag)与Service绑定。Activity可以通过startService和bindService启动Service。IntentServiceIntentService是一个抽象类,继承自Service,内部存.原创 2021-11-08 10:45:39 · 95 阅读 · 0 评论 -
2020这一年的Android面经汇总(百度、腾讯、滴滴,查漏补缺
职位都是:Android客户端开发最后有一些PDF文档笔记,是准备面试的知识汇总,数据结构,计算机网络啥的基本上都有了。嗯,自己收录、整理和分类的,还请尊重知识产出。大家可以直接去我 GitHub项目中查看:https://github.com/733gh/Android-T3,快速领取请加Android粉丝裙:872206502链家====================================================================1面 40分钟自我介原创 2021-11-08 10:43:26 · 614 阅读 · 0 评论 -
2020请收好这一份全面-&-详细的Android学习指南,androidstudio播放音频
1.2 Android进阶针对Android进阶知识,按照优先级最主要的知识点主要包括:自定义View、性能优化;具体介绍如下:1.3 与时俱进、热门技术除了基础日常使用的Android知识,我们还需时刻关注行业动态,与时俱进的学习新技术,如近些年来较为热门的Android新兴技术包括:Flutter、热修复、插件化等;同时,了解 & 学习常用的开源库也十分重要,常用的开源库主要包括图片加载、网络请求、异步处理的开源库,具体类型如下:1.4 编程语言:Java 与 Java虚原创 2021-11-08 10:39:31 · 180 阅读 · 0 评论 -
2020荒诞的一年,35岁程序员现状:我现在房贷车贷家庭,学习Android开发的步骤,
why?其实在职场中,工作并不是领导不愿意提拔老员工,而是因为老员工的工资确实高得离谱,这是公司领导难以承受的,所以在提拔员工时,有些领导他们甚至会注重那些新员工,并不愿意去看重老员工的能力,毕竟老员工的收入就占了公司用工成本的很大一部分,有些公司老板会隔三差五的劝退老员工,让老员工在职场中没有办法有更稳定的工作状态。solve很多人陷入了一个误区,价值和价钱这个是2个概念,你要努力让老板看到你身上的价值。比如:10块钱的东西用不了几次,100块钱的就可以用几年,这是产品价值,你要让老板看到你的价值,原创 2021-11-08 10:37:56 · 164 阅读 · 0 评论 -
Android-JVM面试专题:你知道面试官为什么要问JVM原理吗?原理包含哪些?
**方法区:**主要是存储类信息,常量池(static 常量和 static 变量),编译后的代码(字节码)等数据**堆:**初始化的对象,成员变量 (那种非 static 的变量),所有的对象实例和数组都要在堆上分配**栈:**栈的结构是栈帧组成的,调用一个方法就压入一帧,帧上面存储局部变量表,操作数栈,方法出口等信息,局部变量表存放的是 8 大基础类型加上一个应用类型,所以还是一个指向地址的指针**本地方法栈:**主要为 Native 方法服务**程序计数器:**记录当前线程执行的行号2..原创 2021-11-07 22:46:14 · 102 阅读 · 0 评论 -
Android&对话框最全面的使用介绍,flutter插件播放音乐
标题图标即在标题的左边加上一个图片作为图标显示AlertDialog.Builder setIcon (Drawable icon)AlertDialog.Builder setIcon (int iconId)还有一个通过主题的属性来设置对话框图标. 我不懂AlertDialog.Builder setIconAttribute (int attrId)自定义对话框显示可以自定义对话框显示任何内容. 注意即使你自定义了对话框. 你如果使用设置确定和取消按钮依旧会显示;AlertDialog原创 2021-11-07 22:44:15 · 275 阅读 · 0 评论 -
Android 面试题集 & 答案,助你拿到心仪 Offer,安卓开发面试基础
30.为什么线程通信的方法 wait,notify,notifyAll 被定义于 Object 中,而 sleep 方法被定义在 Thread 类中?31.说说 Thread 类中提供的 getState()方法作用,然后说说线程的状态有哪些以及转换过程。32.用至少 2 种方式手写生产者消费者模式代码。33.interrupted 和 isInterrupted 方法的区别?34.分别讲讲 JVM 内存结构,Java 内存模型,Java 对象模型。35.什么是 happe..原创 2021-11-07 22:42:06 · 721 阅读 · 0 评论 -
Android 面试总结 - View,初面蚂蚁金服
2021-08-08 17:08:05.156 E/MainActivity: btn: 308 168这样简单的方法为什么可以这么方便的获取宽高呢?先看看 View.post 的方法做了啥:// android.view.Viewpublic class View implements Drawable.Callback, KeyEvent.Callback,AccessibilityEventSource {/**Causes the Runnable to be added to t原创 2021-11-07 22:38:16 · 153 阅读 · 0 评论 -
Android 自定义View之随机数验证码(仿写鸿洋),fluttertextfield边框
注意引入命名空间:xmlns:app=“http://schemas.android.com/apk/res-auto”2.添加构造方法新建一个RandomTextView类,继承View,并添加3个构造方法class RandomTextView : View {//文本private var mRandomText: String//文本颜色private var mRandomTextColor: Int = 0//文本字体大小private var mRandomTextSize原创 2021-11-07 22:33:44 · 162 阅读 · 0 评论 -
Android 自定义View之展开收起的Layout,2021最新Android开发者学习路线
private var firstChildHeight = 0//所有子view高度,即总高度private var allChildHeight = 0/**动画值改变的时候 请求重新布局*/private var animPercent: Float = 0fconstructor(context: Context) : super(context) {initView()}constructor(context: Context, attributeSet: Attribut原创 2021-11-07 22:31:33 · 191 阅读 · 0 评论 -
android 网络实时监听网络状态变化 及 网络类型判断,深入剖析
public static final int NETWORK_TYPE_EDGE = 2;public static final int NETWORK_TYPE_EHRPD = 14;public static final int NETWORK_TYPE_EVDO_0 = 5;public static final int NETWORK_TYPE_EVDO_A = 6;public static final int NETWORK_TYPE_EVDO_B = 12;public stati原创 2021-11-07 22:29:49 · 392 阅读 · 0 评论 -
Android 编译时注解 —— 语法详解,kotlin从入门到项目实战
自定义注解 (自己实现的的注解)元注解元注解 解析说明@Documented 是否会保存到 Javadoc 文档中@Retention 保留时间,可选值, 默认为 CLASSSOURCE(源码时),CLASS(编译时),RUNTIME(运行时)@Target 可以用来修饰哪些程序元素,如 TYPE, METHOD, CONSTRUCTOR, FIELD, PARAMETER 等,未标注则表示可修饰所有ANONOTATION_TYPE(注解类型声明),PACKAGE(.原创 2021-11-07 22:27:42 · 202 阅读 · 0 评论 -
Android O 新特性:自适应图标(Adaptive Icons)
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-e0aNIK0B-1636182452229)(https://user-gold-cdn.xitu.io/2017/9/27/03e8daf674d32f9d408a26c62a4ab7fc?imageView2/0/w/1280/h/960/ignore-error/1)]通过这三个图层决定了自适应图标的外观和形状需要注意的是,提供的图层是没有形状、阴影《Android学习笔记总结+最新移动架构视频+大厂安卓面试真题+项原创 2021-11-06 15:07:48 · 479 阅读 · 0 评论 -
Android O 新特性:自适应图标(Adaptive Icons)(1)
background:底层背景图案Mask:遮罩,由手机设备厂商提供[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-sHm4vKjG-1636182360826)(https://user-gold-cdn.xitu.io/2017/9/27/03e8daf674d32f9d408a26c62a4ab7fc?imageView2/0/w/1280/h/960/ignore-error/1)]通过这三个图层决定了自适应图标的外观和形状需要注意的是,提供的图层是..原创 2021-11-06 15:06:17 · 349 阅读 · 0 评论 -
Android Native Crash 收集
今天跟大家讲一下,我最近掉了几百根头发写出来的一个 Native Crash 收集的功能(脱发已经越来越严重了)。一个 Native Crash 的 log 信息如下图:[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-tRVZWtlq-1636182246799)(https://user-gold-cdn.xitu.io/2018/8/23/1656461bcdbe17ab?imageView2/0/w/1280/h/960/ignore-error/1)]这张图是我在原创 2021-11-06 15:04:23 · 329 阅读 · 0 评论 -
Android Material Design尝鲜
HandleTouchListViewActivity // 23HandleTouchRecyclerViewActivity // 24HandleTouchScrollViewActivity // 25HandleTouchWebViewActivity // 26ParallaxToolbarListViewActivity // 27ParallaxToolbarScrollViewActivity // 28ScrollFromBottomListVie..原创 2021-11-06 15:02:51 · 77 阅读 · 0 评论 -
Android Launcher——ui框架
onInterceptTouchEventonTouchEvent交给DragController进行处理,DragController根据是否在拖放中等信息控制控件拖放过程处理。DragLayer 是Launcher这个activity的顶层view,Launcher2这个应用只有一个activity那就是Laucher.java2.DeleteZone–打开launcher.xml,DeleteZone默认是不显示的android:visibility=“invisible”但是我们每次开始拖原创 2021-11-06 15:00:36 · 262 阅读 · 0 评论 -
Android JNI 入门(含完整Demo)
//自动检测 MainActivity 生成宏#define com_example_jni_MainActivity_A 234L//函数的声明extern “C” JNIEXPORT jstring JNICALL Java_com_example_jni_MainActivity_getString(JNIEnv *, jobject);#ifdef __cplusplus//如果是 C++ 什么事情都不干}#endif#endif这里注释添加的非常清楚,就不在啰嗦了,如若不懂,评论原创 2021-11-06 14:58:14 · 532 阅读 · 0 评论 -
Android JNI QQ 搞怪语音实战 (含完整 Demo)
配置Fmod 在 Android 中的 C++环境QQ 语音实战思路其他文章:Android JNI 入门(含完整Demo)Android JNI 进阶(含完整 Demo)继承 C++库想改变 语音音频,那么就得调用 C++的音频库 FmodFmod 打开界面是这样的:\然后注册,下载即可:红框:下载的时候我是 mac 所以下载 mac,这个是 Fmod 自带的音频调节软件绿框:是Android 平台的.so 文件等等红框下载后是这个样子:\然后打开即可,打开的时候系统.原创 2021-11-06 14:56:00 · 152 阅读 · 0 评论 -
Android Jetpack架构开发组件化应用实战
本项目采用组件化+MVVM架构进行开发,对功能组件和业务组件进行拆分,通过ARouter进行组件之间的通信。本文主要是对整个应用的技术架构作一个简单的介绍。项目地址:Android Jetpack架构开发组件化应用实战 欢迎star技术要点Kotlin+Jetpack+Coroutines+Retrofit+koin项目整体架构图:宿主App没有任何的业务代码,整个业务被拆分为各个ft_lib模块。对一些功能组件进行封装抽取为lib,提供给上层依赖。ft_lib之间没有任务依赖关系,通过Ar.原创 2021-11-06 14:54:25 · 132 阅读 · 0 评论