自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(42)
  • 收藏
  • 关注

原创 Android 使用百度LBS SDK,android适配器adapter

下面是代码:分别声明一个MapView和BaiduMap:private MapView mMapView;private BaiduMap mBaiduMap;在SetContentView之前要初始化SDK:SDKInitializer.initialize(getApplicationContext());更换定位图标的方法:mCurrentMarker = BitmapDescriptorFactory.fromResource(R.drawable.icon_geo); // 自定义

2021-11-21 02:22:43 258

原创 Android Wear 开发 (一),移动应用开发技术

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-YDRiKjYy-1637431867561)(https://blog.csdn.net/)]创建Phone端的页面样式[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-b61gQOVj-1637431867600)(https://blog.csdn.net/)]创建Wear端的页面样式[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ljuMwVKJ-16374

2021-11-21 02:11:24 1110

原创 Android Switch控件修改样式,android开发者周报

Android中自带的Switch控件在很多时候总觉得和整体系统风格不符,很多时候,自定义Switch是一种方法。但其实不用这么麻烦,安卓自带的Switch通过修改一些属性,也可以达到和自定义Switch差不多的一个效果。个人感觉,Switch的属性设置和其他控件还是有挺大区别的。因此,写下此文,方便有需要的同学参考。先上效果图:以上便是修改后效果 与 原生Switch的效果对比。代码在文章底部给出实现方式:1.底部滑动条,在开关打开状态为绿色,开关关闭状态为灰色在 res/drawable

2021-11-21 02:08:19 2240

原创 Android Studio真机 设置 和 错误排查,flutter开发工具

到手机设置 - 更多设置(系统和设备)- 开发者选项 - USB调试 - 勾选 - USB安装 - 勾选。第二步:Android Studio设置开启Android Studio,新建一个简单的工程。选择Edit ConfigurationsDeployment Target Options 选择USB Device - 点击OK,保存更改第三步:运行程序运行程序,若出现下图,那么恭喜你,可以用真机调试。若是在Android Studio 的Event Log 中提示:Error r.

2021-11-21 02:05:45 8582

原创 android获取手机验证码界面以及倒计时实现demo,移动端应用开发试题

‘A’, ‘B’, ‘C’, ‘D’, ‘E’, ‘F’, ‘G’, ‘H’, ‘I’, ‘J’, ‘K’, ‘L’, ‘M’,‘N’, ‘P’, ‘Q’, ‘R’, ‘S’, ‘T’, ‘U’, ‘V’, ‘W’, ‘X’, ‘Y’, ‘Z’};private static Code bmpCode;public static Code getInstance() {if(bmpCode == null)bmpCode = new Code();return bmpCode;}//def

2021-11-20 14:00:22 602

转载 Android自定义view之围棋动画,kotlin实现接口

一、测量===================================================================1.获取宽高@Overrideprotected void onSizeChanged(int w, int h, int oldw, int oldh) {super.onSizeChanged(w, h, oldw, oldh);mWidth = w;mHeight = h;useWidth = mWidth;if (mWidth > m

2021-11-20 13:57:45 236

原创 Android网络连接判断与处理,androidapp开发框架

2)判断WIFI网络是否可用1 public boolean isWifiConnected(Context context) { 2 if (context != null) {3 ConnectivityManager mConnectivityManager = (ConnectivityManager) context 4 .getSystemService(Context.CONNECTIVITY_SERVICE);5 .

2021-11-20 13:54:31 145

原创 Android最傻瓜式的AOP框架,android混合开发lua

super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);getFragmentManager().beginTransaction().replace(R.id.fragment, new BlankFragment()).commit();}}织入后的代码public class MainActivity extends AppCompatActivity {@Overrideprotected v

2021-11-20 13:46:04 552

原创 Android技能树 — Android存储路径及IO操作小结,带你轻松理解Android-Hook机制

数据结构基础知识Android技能树 — 数组,链表,散列表基础小结Android技能树 — 树基础知识小结(一)算法基础知识Android技能树 — 排序算法基础小结这次是讲Android存储路径及IO的基本操作。因为我们《Android学习笔记总结+最新移动架构视频+大厂安卓面试真题+项目实战源码讲义》浏览器打开:qq.cn.hn/FTe 开源分享在开发的时候会经常这种方便的需求。这篇文章的内容我写的可能很少,都没有细写。别吐槽。o( ̄︶ ̄)o其他不多说,先上脑图:Android

2021-11-20 13:43:25 206

原创 Android彻底组件化—如何使用Arouter,大厂面经合集

由于自定义类型Author需要跨组件传递,我们知道,DDComponent的核心之处就是在组件之间见了一堵墙,在编译期代码和资源都是完全隔离的,所以Author必须定义在share组件向外提供的服务中。所以我们在component中,定义Author类:public class Author {private String name;private int age;private String county;public String getName() {return name;}publ

2021-11-20 13:40:32 775

原创 Android开发:自定义TabLayout,神奇效果竟是如此简单,android音视频何俊林

//中间的图形Path pathCenter = new Path();pathCenter.moveTo(tabPosition * textWidth + tabPosition * arcWidth, 0);pathCenter.cubicTo(tabPosition * textWidth + tabPosition * arcWidth - arcControlX, arcControlY, tabPosition * textWidth + tabPosition * arcWidth -

2021-11-20 13:37:22 896

原创 Android触摸屏事件派发机制详解与源码分析二(ViewGroup篇)

mLayout.setOnTouchListener(this);mButton.setOnTouchListener(this);mLayout.setOnClickListener(this);mButton.setOnClickListener(this);}@Overridepublic boolean onTouch(View v, MotionEvent event) {Log.i(null, “OnTouchListener–onTouch-- action=”+event.ge

2021-11-19 15:07:45 75

原创 android触摸事件处理流程,面试宝典

     public boolean dispatchTouchEvent (MotionEvent ev)Activity中解释:Called to process touch screen events.You can override this to intercept all touch screen events before they aredispatched to the window. Be sure to call this im

2021-11-19 15:04:48 806

原创 Android经典面试题;http三次握手,四次挥手,音视频基础知识书籍

HTTP三次握手:在HTTP三次握手中,http负责请求和响应,Request和Response,而tcp才是负责数据的传输,重传,丢包这些的。在http发起请求时,tcp会建立一个连接,而http则是在这个链接的基础上建立的,另外,在tcp上面,是可以发送多个http请求的,。在http1.0版本,http发起请求,请求响应之后,这个http链接就关闭了,而在http1.1版本,则会形成一个连接池,不会关闭。而三次握手是这样子的:http发起请求,服务器响应,http再请求,这样就是三次,也就是http

2021-11-19 15:02:04 143

原创 Android第三方推送——极光推送,一线互联网架构师筑基必备技能之Android篇

然后下载Android Example:解压之后就是一个Android Project,导入Eclipse:直接运行:接着就可以在网页端发送通知了:输入通知内容后,在”可选设置“中输入标题(不写默认为应用标题)和显示时长:通知对象分为以下几种,分别涵盖不同的范围。标签Tag和别名Alias可以在代码中通过以下接口定义:public static void setAliasAndTags(Context context, String alias, Set tags, TagAlias.

2021-11-19 14:56:28 612

原创 Android程序员的未来真的是个死胡同吗?解决了这些问题后我并不觉得如此

处处需要高并发**“为什么Java面试必问高并发?”**这个问题已经让程序员们倍感头疼,尤其是想要跳槽到更大公司的程序员,能否漂亮的回答高并发的问题已经成为求职者是否是一个优秀程序员的评判标准,大厂面试尤为明显。不得不说,**高并发考验的就是程序员的实力和实战经验。**随着流量变大,高并发已经成为绕不开的话题,在处理高并发的时候,就会遇到越来越多的技术问题,例如接口响应超时、CPU load升高、死锁、GC频繁、大数据量存储等一系列问题。可以说,如果不会处理高并发,最后只能逐渐被淘汰。所以,大厂的面试题

2021-11-19 14:53:06 75

原创 Android知识笔记:记录 2 个 “容易误解,送大厂面经一份

Native层通过JNI执行Framework层的InputEventReceiver.dispachInputEvent(),而真正调用的是继承了InputEventReceiver的ViewRootImpl.WindowInputEventReceiver。所以这里执行的WindowInputEventReceiver的dispachInputEvent():final class WindowInputEventReceiver extends InputEventReceiver {publi

2021-11-19 14:50:24 206

原创 Android模块化实践,kotlin登录实例

业务通用UI主要包含各种样式的Dialog, 自定义View等,根据APP的设计风格提供统一的样式;图片操作库图片操作库ImageSet是对图片组件库(包括Fresco, Glide, Universer ImageLoader)的封装,同时提供了调用系统相机/相册选择&裁剪照片,类似微信选择图片的组件,图片上传,图片压缩等功能。这个小模块其实也可放在Common组件层,只是觉得这里面也有一些业务相关的功能,所以就放在了这一层。当然,基础业务层还还包括APP设计风格中需要用到的各种动画,样式

2021-11-19 14:47:09 437

原创 Android日常开发问题总结:这些问题火候不够,随时变成删库跑路

Intent intent = new Intent(Intent.ACTION_VIEW, uri);intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);context.startActivity(intent);}也就是要加上面的FLAG_ACTICITY_NEW_TASK(其它手机看到是ok的)3.设置TextView的颜色值无效titleTv.setTextColor(colorId);//错误的方式(常见封装类调用)titleTv.setTe

2021-11-19 14:44:08 107

原创 Android技能树 — 树基础知识小结(一),kotlin开源项目

根据上面的基础知识我画了一个归总的图(这样我就不需要写文字介绍了,啊哈哈):[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-zd87TfMP-1637304075403)(https://user-gold-cdn.xitu.io/2018/5/4/16329ce71e6b0fec?imageView2/0/w/1280/h/960/ignore-error/1)]树结构特点[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6WADqgvh-1

2021-11-19 14:41:31 502

原创 Android性能优化-内存篇(其实内存优化也就这回事),android混合开发弊端

如果扩容次数多了,GC的次数也会频繁的增多。如果我们预先能够知道需要,存储多少个元素,或者大概多少个元素,我们可以使用带参数的构造方法来创建出这个大小的数组,来减少数组扩容的次数。(4):for循环中不要使用“+”号拼接字符串“+”底层还是通过StringBuilder实现的,每一次for循环都会创建一个StringBuilder对象。当我们使用for循环外部创建StringBuilder,内部使用它拼接字符串,内存图形很平稳。for循环内部使用+号拼接字符串,图形抖动(内存抖动),一直在GC。

2021-11-18 11:24:22 2541

原创 Android性能优化 _ 帧动画OOM?优化帧动画之SurfaceView逐帧解析

ImageView ivFrameAnim = ((ImageView) findViewById(R.id.frame_anim));ivFrameAnim.setImageDrawable(drawable);drawable.start();有没有什么办法让帧动画的数据逐帧加载,而不是一次性全部加载到内存?SurfaceView就提供了这种能力。SurfaceView屏幕的显示机制和帧动画类似,也是一帧一帧的连环画,只不过刷新频率很高,感觉像连续的。为了显示一帧,需要经历计算和渲染两个过程,

2021-11-18 11:21:25 211

原创 Android开发规范,性能优化,2021大厂安卓面试集合

1.java代码中不出现中文,最多注释中可以出现中文2.局部变量命名、静态成员变量命名只能包含字母,单词首字母出第一个外,都为大写,其他字母都为小写3.常量命名只能包含字母和_,字母全部大写,单词之间用_隔开4.layout中的id命名命名模式为:view缩写_模块名称_view的逻辑名称view的缩写详情如下LayoutView:lvRelativeView:rvTextView:tvImageView:ivImageButton:imButton:btn5.activity中

2021-11-18 11:18:41 66

原创 Android开发月薪10K与30K之间,只相差这几样热门的前沿知识

对于现在的Android及移动互联网来说,我们需要掌握的技术,我做了一个清单,掌握了这些过好2020年不是问题了(#^ o ^#):泛型原理丶反射原理丶Java虚拟机原理丶线程池原理丶注解原理丶注解原理丶序列化Activity知识体系(Activity的生命周期丶Activity的任务栈丶Activity的启动模式丶View源码丶Fragment内核相关丶service原理等)代码框架结构优化(数据结构丶排序算法丶设计模式)APP性能优化(用户体验优化丶适配丶代码调优)热修复丶热升级丶Hook

2021-11-18 11:15:45 341

原创 Android开发3年,九月份面试12家大厂跳槽成功,我有一些面试经验想分享给你们

github.com/yuanguangxi…github.com/zhangyixing…按公司分类github.com/afatcoder/L…热题100zhuanlan.zhihu.com/p/84230862面经–接下来就是各公司的面经了,分享出来供大家参考。尚德公司面试java有什么特性,继承有什么用处,多态有什么用处反射是什么,在哪里用到,怎么利用反射创建一个对象代理模式与装饰模式的区别,手写一个静态代理,一个动态代理对象加载的过程,属性先加载还是方法

2021-11-18 11:13:05 51

原创 Android应用开发之自定义View触摸相关工具类全解,已整理成文档

…}有了上面这个工具类,我们在自定义控件处理滑动手势等判断时就可以很方便的判断出临界值等问题,不用我们再去自己测试定义一个近似的值来代替。特别注意: ViewConfiguration还有一个在support包中的兼容类ViewConfigurationCompat,使用时请注意一下。【工匠若水 http://blog.csdn.net/yanbober 未经允许严禁转载,请尊重作者劳动成果。私信联系我】Scroller加强版OverScroller回弹工具类==================

2021-11-18 11:09:43 124

原创 Android应用开发--MP3音乐播放器滚动歌词实现,flutter跳转动画

2. 自定义View3. 加入布局文件4. 编写歌词处理类5. 在Service里面实现同步更新歌词----代码实现–LrcContent.javapackage com.wwj.sb.domain;/**2013/6/1@author wwj歌词实体类*/public class LrcContent {private String lrcStr; //歌词内容private int lrcTime; //歌词当前时间public String getLrcS

2021-11-18 11:07:00 550

原创 Android应届毕业生“过五关斩六将”,怒刷千题,非常适合收藏的Android进阶重难点笔记

什么是深拷贝和浅拷贝?Java 中对象的生命周期?对并发编程的了解?JVM简述 JVM 内存模型和内存区域?简述垃圾回收器的工作原理?如何判断对象的生死?垃圾回收算法?新生代,老生代?哪些情况下的对象会被垃圾回收机制处理掉?垃圾回收机制与调用 System.gc() 的区别?强引用、软引用、弱引用、虚引用之间的区别?强引用设置为 null,会不会被回收?简述 ClassLoader 类加载机制?对双亲委派模型的了解?String a = “a”+“b”+“c” 在内存中创建几.

2021-11-18 11:03:46 93

原创 Android常见问题及开发经验总结(二),面试必问

7.Android中Context一般怎么用?Context:包含上下文信息(外部值) 的一个参数. Android 中的 Context 分三种,Application Context ,Activity Context ,Service Context.它描述的是一个应用程序环境的信息,通过它我们可以获取应用程序的资源和类,也包括一些应用级别操作,例如:启动一个Activity,发送广播,接受Intent信息等8.Service的onCreate回调在UI线程中吗?Service生命周期的各个回

2021-11-18 11:00:44 52

原创 Android前景怎么样、是不是要凉了、是不是应该考虑要转行?看完你就知道

2.再来说说市场的需求这个想必是很多人比较关心的一个问题,说Android开发市场饱和了,找工作难找,所以在纠结我到底要不要学习,要不要考虑换行。不得不说,前几年的移动端的开发很火,为什么?因为一个行业刚兴起,智能手机发展的快速让人震惊,加上4G时代的时候,短视频的兴起比如抖音,快手,火山等等,再加上创业的越来越多,基本上创业都需要做一个自己公司的App,以上种种原因综合下来导致移动开发人才特别紧缺,再加上5G时代的到来,移动端对市场的需求还是很大的,可以说随便能鼓捣出来点东西都很容易找到工作。而现.

2021-11-18 10:58:07 387

原创 Android中AsyncTask的使用与源码分析,sharedpreferences用法

注: 在特定场合下,并不是所有类型都被使用,如果没有被使用,可以用java.lang.Void类型代替。一个异步任务的执行一般包括以下几个步骤:1. execute(Params… params),执行一个异步任务,需要我们在代码中调用此方法,触发异步任务的执行。2. onPreExecute(),在execute(Params… params)被调用后立即执行,一般用来在执行后台任务前对UI做一些标记。3. doInBackground(Params… params),在onPreExecute(

2021-11-17 14:38:36 85

原创 Android-高级-UI-进阶之路-(三)-理解-View-工作原理并带你入自定义-View-门

final MarginLayoutParams lp = (MarginLayoutParams) child.getLayoutParams();//得到子元素的 MeasureSpecfinal int childWidthMeasureSpec = getChildMeasureSpec(parentWidthMeasureSpec,mPaddingLeft + mPaddingRight + lp.leftMargin + lp.rightMarginwidthUsed, lp.widt

2021-11-17 14:36:10 161

原创 Android-音视频学习系列(一)-JNI-从入门到精通,retrofit面试

setContentView(R.layout.activity_main);/** 1. Java 数据传递给 native */test1(true,(byte) 1,‘,’,(short) 3,4,3.3f,2.2d,“DevYK”,28,new int[]{1, 2, 3, 4, 5, 6, 7},new String[]{“1”, “2”, “4”},new Person(“阳坤”),new boolean[]{false, true});}/**Java 将

2021-11-17 14:33:28 81

原创 Android-面试官:View-post()-为什么能够获取到-View-的宽高-?

// 在 onResume() 回调中获取宽高Log.e(“measure”,“measure in onResume: width=window.decorView.width,height={window.decorView.width}, height=window.decorView.width,height={window.decorView.height}”)}}大多数人都能直截了当的给出答案:E/measure: measure in onCreate: width=0, heigh

2021-11-17 14:30:53 528

原创 Android-茫茫9个月求职路,终于拿满意offer,android音视频何俊林

Oom 是否可以try catch ?内存泄露如何产生?适配器模式,装饰者模式,外观模式的异同?ANR 如何产生?String buffer 与string builder 的区别?如何保证线程安全?java四中引用Jni 用过么?多进程场景遇见过么?关于handler,在任何地方new handler 都是什么线程下sqlite升级,增加字段的语句bitmap recycler 相关强引用置为null,会不会被回收?glide 使用什么缓存?Glide 内存缓存如何控制大小?.

2021-11-17 14:27:40 330

原创 Android-搭建简单服务端+ListView异步加载数据,我的Android春季历程

青蛙9青蛙10青蛙11青蛙12青蛙13青蛙14青蛙15青蛙16青蛙17青蛙18我们可以看到list.xml最外层是一个contacts标签,里面有多个子contact标签,每个子标签包含id、name和image内容,这就是我们下面要解析的内容对应每一个Contact对象。这里要提一下,我们看到image标签,src是图片url地址,这个地址是我PC的IP地址,读者在测试的时候需要将这个IP地址改为你的PC的IP地址,如何得到

2021-11-17 14:25:00 322

原创 android-实现一个简单的视频弹幕,37岁程序员被裁

android:id="@+id/edit_text"android:layout_width=“0dp”android:layout_height=“match_parent”android:layout_weight=“1” /><Buttonandroid:id="@+id/send"android:layout_width=“wrap_content”android:layout_height=“match_parent”android:text=“Send” />

2021-11-17 14:22:09 109

原创 Android-史上最优雅的实现文件上传、下载及进度的监听,android自定义控件开发入门与实战

注:如果需要对Http的返回值做解析,可在使用uploadProgress操作符时,传入一个解析器Parser下载//文件存储路径String destPath = getExternalCacheDir() + “/” + System.currentTimeMillis() + “.apk”;RxHttp.get(“http://update.9158.com/miaolive/Miaolive.apk”).download(destPath) //注意这里使用download操作符,并传入本

2021-11-17 14:18:52 290

原创 Android-世界的活点地图-dumpsys(Android-Detail-工具)

dumpsys 的使用技巧(快速定位 Activity 和 Fragment)记不住冗长的命令?介绍一款「威力巨猛」的工具 ????dumpsys 是什么?dumpsys 是一种在 Android 设备上运行的工具,可提供有关系统服务的信息。—— 官方文档它就像 Android 世界的「活点地图」(《哈利波特》中的魔法地图),是一个非常强大的神兵利器。dump(作为计算机的术语翻译为转储),sys(system)。我们可以通过 adb 调用该命令以获取系统服务信息。?

2021-11-17 14:15:42 104

原创 Android-Studio-教程:入门开发第一个程序,程序员必须要了解的知识点

接下来需要选择开发什么设备(可选“手机和平板”、“穿戴(Wear)”、“TV”,“车载(Android Auto)”等)上的应用,以及确定最小SDK的版本号。Minimum SDK的作用是在应用安装前,会对设备的Android版本做校验,如果设备的Android版本低于这个最小版本会阻止用户安装应用。如果不知道怎么选择最小版本可以点击Help me choose看看每个版本的分布图表和描述:继续点击Next按钮进行下一步,我们需要通过形象友好的GUI模板,来选择我们第一个Activity的样式:

2021-11-17 14:12:35 302

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除