自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Android Studio上Kotlin的入门,android界面设计实验报告

5.易学易用 Kotlin 非常易于学习,尤其是对于 Java 开发人员而言。第一个Kotlin应用知道了Kotlin是什么,那我们就先用Android Studio来创建你的第一个Kotlin应用吧创建Kotlin应用很简单,所有的步骤都和创建Java应用是一样的,只需在创建时,将所使用的语言改为Kotlin就行创好了后,我们打开MainActivity,可以看到,比起java,Kotlin的代码要少一些,写类和方法的语法规则也不同。class MainActivity : AppCompa

2022-01-03 10:56:10 1059

原创 Android Studio 插件,【性能优化实战】

创建AlertDialog create AlertDialog创建DatePickerDialog create DatePickerDialog创建TimePickerDialog create TimePickerDialog从对话框中删除标题 remove title from Dialog通过查找ID片段 find fragment via id恢复最后交易片段 revert last fragment transaction通过FragmentMan

2022-01-03 10:54:45 241

原创 android Studio Git命令--解决冲突和产看提交内容,移动应用开发专业前景分析

显示Samplecommit6305aa81a265f9316b606d3564521c43f0d6c9a3Author:XXXDate:   Thu Nov 3 11:38:15 2011 +0800fillauthor information in the head of files and format some codecommit8e8a4a96e134dab8f045937efee35bd710006946Author:XXXDate:

2022-01-03 10:53:20 242

原创 Android ORM 框架 GreenDao 使用详解,面试题bug的生命周期

}dest.writeString(name);dest.writeString(icon);dest.writeString(info);dest.writeString(type);}public Long getId() {return this.id;}public void setId(Long id) {this.id = id;}public Integer getGoodsId() {return this.goodsId;}public void setGoo

2022-01-03 10:50:30 174

原创 Android mvvm 之 LiveData 的原理,android开发者模式

我们看一下关键的源代码:// 入口@MainThreadprotected void setValue(T value) {// 必须在主线程调用assertMainThread(“setValue”);//…省略非关键代码// 设置新值并派发通知mData = value;dispatchingValue(null);}// 通知派发流程void dispatchingValue(@Nullable ObserverWrapper initiator) {//…省略非关键代码/

2022-01-03 10:49:05 118

原创 Android 高质量开发之崩溃优化,kotlin匿名内部类

崩溃率是不是就能完全等价于应用的稳定性呢?答案是肯定不行。处理了崩溃,我们还会经常遇到 ANR(Application Not Responding,程序没有响应)这个问题。出现 ANR 的时候,系统还会弹出对话框打断用户的操作,这是用户非常不能忍受的。**ANR处理方法:**使用 FileObserver 监听 /data/anr/traces.txt 的变化。非常不幸的是,很多高版本的 ROM,已经没有读取这个文件的权限了。这个时候你可能只能思考其他路径,海外可以使用 Google Play 服务,

2021-12-31 11:55:42 418

原创 Android 面试官:简述一下 View 的绘制流程,这个都答不出来就别想拿Offer了

1.2. Activity、Window、DecorView之间关系首先来看一下Activity中setContentView源码:public void setContentView(@LayoutRes int layoutResID) {//将xml布局传递到Window当中getWindow().setContentView(layoutResID);initWindowDecorActionBar();}从代码可以看出,Activity的setContentView实质是将View.

2021-12-31 11:54:36 670

原创 Android 贝塞尔曲线实战之网易云音乐鲸云特效,2021程序员进阶宝典

一阶这个比较简单,因为没有在网上找到可以直接输入数学公式的工具,就手工推导了下。![在这里插入图片描述](https://img-《Android学习笔记总结+最新移动架构视频+大厂安卓面试真题+项目实战源码讲义》【docs.qq.com/doc/DSkNLaERkbnFoS0ZF】 完整资料开源分享blog.csdnimg.cn/20191227162611692.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shado.

2021-12-31 11:53:22 1491

原创 Android 让Activity部分透明、并作出流畅的进场动画,android 开发环境

startActivity(intent);overridePendingTransition(R.anim.bottom_in,R.anim.bottom_silent);第二步:写activity的manifest配置://我们要将其设置为可以透明显示的<activityandroid:name=".XXXActivity"android:theme="@style/XXXTheme"><meta-dataandroid:name=“android.max_aspect

2021-12-31 11:52:05 284

原创 Android 视频播放器总结,android内存优化方案

getSupportFragmentManager().beginTransaction().add(R.id.fragmentContainer, videoUnlockMainFragment).add(R.id.fragmentContainer, videoLockMainFragment).add(R.id.fragmentContainer, photoMainFragment).hide(videoLockMainFragment).hide(photoMainFragment).s

2021-12-31 11:50:43 954

原创 Android 自定义方形输入框,仿滴滴验证码输入框,Android开发前景怎么样

fix bug :暗文密码模式无效果问题update :添加输入框平分等间距模式,并可设置输入框间距update :添加清空输入框方法update :修改Listener,添加文本改变时回调方法监听public interface OnCodeFinishListener {/**文本改变*/void onTextChange(View view, String content);/**输入完成*/void onC..

2021-12-31 11:49:20 1724

原创 android进阶篇10、APK包大小优化,android嵌入式开发及实训答案

//1resConfigs “zh-rCN”}、、、}5、动态库打包配置目前Android打包可以支持如下CPU架构:armeabi-v7a 第7代 ARM v7,使用硬件浮点运算,具有高级扩展功能(支持 armeabi 和 armeabi-v7a,目前大部分手机都是这个架构)arm64-v8a 第8代,64位,包含AArch32、AArch64两个执行状态对应32、64bit(支持 armeabi-v7a、armeabi 和 arm64-v8a)x86 intel 32位,少数的平板应

2021-12-30 13:21:30 299

原创 Android进阶之光读书笔记——第一章,Android开发视频教程

通过附近是否有可信任设备来解锁7.Ok Google语音指令手机处于待机状态,可以说一些语音指令来执行对应的程序8.Face unlock面部解锁花费较大的力气优化了面部解锁功能1.1.2 替换ListView和GridView的RecyclerView有了 ListView、 GridView, 为什么还需要 RecyclerView 这样的控件呢? 从整体上看, RecyclerView架构提供了一种插拔式的体验, 它具有高度的解耦、 异常的灵活性和更高的效率, 通过设置它提供的不同Lay

2021-12-30 13:20:34 1002

原创 Android记录4--自定义ToggleButton+用SharedPreferences保存用户配置

android:layout_height=“wrap_content”android:background="@drawable/toggle_selector"android:gravity=“left|center_vertical”android:paddingLeft=“14dp”android:paddingRight=“14dp”android:textColor="#ffffff"android:textOff=“OFF”android:textOn=“ON” />&l

2021-12-30 13:18:44 119

原创 Android自定义控件开发入门与实战(14)Bitmap,帮你突破瓶颈

(1)如何存储每个像素点一张位图所占的内存 = 图片长度(px) * 图片宽度(px) * 一个像素点所占用的字节数。其中占用的字节数按照Bitmap.Config来设定:ALPHA_8:表示8位的Alpha位图,即A=8,表示只存储Alpha,不存储颜色值,1个像素点只占用1个字节,它没有颜色,只有透明度ARGB_4444:表示16位ARGB位图,即A、R、G、B各占4位,一个像素点占16位,即2字节ARGB_8888:表示32位ARGB位图,各占8位,一个像素点占8*4=32位,即

2021-12-30 13:17:48 143

原创 Android自定义View 雷达扫描效果,android开发从入门到精通第二版

private int measureWidth(int measureSpec, int defaultSize) {int result = 0;int specMode = MeasureSpec.getMode(measureSpec);int specSize = MeasureSpec.getSize(measureSpec);if (specMode == MeasureSpec.EXACTLY) {result = specSize;} else {result = defau

2021-12-30 13:15:58 669

原创 Android自定义DataTimePicker(日期选择器),从零开始系统化学Android

private TimePicker timePicker;private AlertDialog ad;private String dateTime;private String initDateTime;private Activity activity;/**日期时间弹出选择框构造函数@param activity :调用的父activity@param initDateTime 初始日期时间值,作为弹出窗口的标题和日期时间初始值

2021-12-30 13:15:03 484

原创 Android组件化和插件化开发简单介绍,kotlin开发android教程

什么是组件化和插件化?为什么要项目组件化组件化插件化什么是组件化和插件化?组件化开发:就是将一个app分成多个模块,每个模块都是一个组件(Module),开发的过程中我们可以让这些组件相互依赖或者单独调试部分组件等,但是最终发布的时候是将这些组件合并统一成一个apk,这就是组件化开发。插件化开发和组件化开发略有不用,插件化开发时将整个app拆分成很多模块,这些模块包括一个宿主和多个插件,每个模块都是一个apk(组件化的每个模块是个lib),最终打包的时候将宿主apk和...

2021-12-30 13:13:12 176

原创 Android底部导航栏实现,Android开发学习视频

Fragment.class总结底部导航栏================================================================在使用应用软件时,为了方便用户操作和增加界面直观,许多应用都会用到底部导航栏。我们经常使用的微信、QQ就是很贴切的例子:下面我通过几种方式实现类似效果的底部导航栏。使用Fragment实现底部导航栏========================================================..

2021-12-29 14:40:23 746

原创 Android应用程序签名 debug签名,一文全懂

3)zipalign:对签名后的apk进行优化,提高与Android系统交互的效率(Android SDK1.6版本开始包含此工具)通常你开发的所有应用程序,都是使用同样的签名,即使用同一个数字证书。如果你是第一次做Android应用程序签名,上面的3个工具都将用到; 但如果你已经有数字证书了,以后再给其它apk签名时,只需要用到jarsigner和zipalign就可以完成。另外,keytool和 jarsigner两个工具是jdk自带的,也就意味着生成数字证书和文件签名不是Android的专利;另外从

2021-12-29 14:39:16 693

原创 Android应用开发Scroller详解及源码浅析,flutter二维码扫描插件

public Scroller(Context context) {this(context, null);}public Scroller(Context context, Interpolator interpolator) {this(context, interpolator,context.getApplicationInfo().targetSdkVersion >= Build.VERSION_CODES.HONEYCOMB);}public Scroller(Contex

2021-12-29 14:38:02 151

原创 Android应用开发--MP3音乐播放器代码实现(二,android开发实例大全

}switch (repeatState) {case isCurrentRepeat: // 单曲循环repeatBtn.setBackgroundResource(R.drawable.repeat_current_selector);Toast.makeText(HomeActivity.this, R.string.repeat_current,Toast.LENGTH_SHORT).show();break;case isAllRepeat: // 全部循环repeatBtn.

2021-12-29 14:36:45 1099

转载 Android常见问题及开发经验总结(一,flutter真机调试闪退iOS

下面介绍一些Android开发中一些常用的经验技巧=========================1.自定义title栏。首先要在values->styles中定义一个style,然后在mainfest文件中设置android:theme.最后在Activity中按照这个顺序写:super.onCreate(savedInstanceState);requestWindowFeature(Window.FEATURE_CUSTOM_TITLE);setContentView(R.la

2021-12-29 14:32:50 657

原创 Android常见40道原理性面试,去面试之前必须要了解的知识点

24.有什么解决方法可以避免OOM?25.Oom 是否可以try catch?为什么?(可以,当)26.内存泄漏是什么?内存泄露就是指该被GC垃圾回收的,但被一个生命周期比它长的对象仍然在引用它,导致无法回收,造成内存泄露,过多的内存泄露会导致OOM。27.什么情况导致内存泄漏?1) 非静态内部类、匿名内部类:非静态内部类、匿名内部类 都会持有外部类的一个引用,如果有一个静态变量引用了非静态内部类或者匿名内部类,导致非静态内部类或者匿名内部类的生命周期比外部类(Activity)长,就会导致.

2021-12-29 14:31:35 52

原创 Android小菜鸡2 个月的面试亲身经历告诉大家,如何进入 BAT 等大厂

做到以上三点,面试官心里估计已经对你的项目已经有了很大的认可,至少不会认为是去忽悠他的,哈哈。我们都是很诚实的,不存在忽悠的哈。。。怎么介绍项目难点与亮点?=========================================================================本来是分为难点与亮点两个来讲的,但是思考了一下,发现其实还是有很大的共性的,所以就放在一起来讲。面试了这么长的时间,不,应该说被怼了这么长的时间,我就是这惨,每每问到项目的时候,当我介绍完了项目,然

2021-12-29 14:30:24 276

原创 Android实现Rxjava2+Retrofit完美封装,安卓面试题生命周期

BasicResponse response = (BasicResponse) adapter.fromJson(value.charStream());if (response.getCode()==200) {return response.getResults();} else {// 特定 API 的错误,在相应的 DefaultObserver 的 onError 的方法中进行处理throw new ServerResponseException(response.getCode(),

2021-12-29 14:29:04 332

原创 Android面经:入职网易的那一天,我哭了,kotlin语法印章类

在面试前,需要给自己定制一个学习计划,一些基础的必问的知识点需要牢牢的记住,我稍微例举下一些常考的问题:1、网络通信方面,一些基础的协议概念。比如TCP的握手挥手问题,Http和Https的区别以及Https传输过程中用到的加密方式,Http1.0、Http2.0和SPDY之间的区别,Http2.0做了哪些优化等。2、Java方面的一些基础问题,比如HashMap的原理以及HashTable的区别、Android方面的SparseArray的实现、ArrayList和LinkedList的实现原理等等。

2021-12-25 13:44:48 101

原创 android多级树形列表,android实战开发教程

isHide = false;}else{isHide = true;}adapter.updateView(isHide);}});try {adapter = new MyTreeListViewAdapter(treeLv, this,mDatas, 10, isHide);adapter.setOnTreeNodeClickListener(new OnTreeNodeClickListener() {@Overridepublic void onClick(Node nod

2021-12-24 13:38:11 1500

原创 Android多点触摸与手势,在字节跳动我是如何当面试官的

Android从2.0版本开始支持多点触摸,在API中体现出来就是一个MotionEvent事件里面包含若干个点的信息。因为不同硬件支持的点数不一样,所以需要通过API获取得到的点的个数。下面是一个SDK文档中的例子,并做了简单的注释:void printSamples(MotionEvent ev) {final int historySize = ev.getHistorySize();// 获取历史采样的

2021-12-24 13:37:05 110

原创 Android图片加载框架:玩转Glide的回调与监听,android屏幕适配方案

.into(simpleTarget);}怎么样?不愧是SimpleTarget吧,短短几行代码就搞了。这里我们创建了一个SimpleTarget的实例,并且指定它的泛型是GlideDrawable,然后重写了onResourceReady()方法。在onResourceReady()方法中,我们就可以获取到Glide加载出来的图片对象了,也就是方法参数中传过来的GlideDrawable对象。有了这个对象之后你可以使用它进行任意的逻辑操作,这里我只是简单地把它显示到了ImageView上。Simpl

2021-12-24 13:36:04 438

原创 Android四种启动模式LanchMode,android开发实战pdf

更多Android知识点分享============================================================================架构师筑基必备技能目前Android APP开发主流语言就是Java语言,Java语言最大的特性就是提高了软件的交互可能性,可以说安卓手机几乎所有应用程序都是利用Java语言来进行编写的。由于篇幅原因,这里有一份完整学习笔记pdf如有需要,可以点击这里免费自取!知识要点: 1、深入理解Java泛型 2、注解深入浅出

2021-12-24 13:35:05 152

原创 ARouter讲解2-AutowiredProcessor,字节跳动上千道精选面试题还不刷起来

Arouter讲解4_CoreAutowired@Target({ElementType.FIELD})@Retention(RetentionPolicy.CLASS)public @interface Autowired {// Mark param’s name or service name.String name() default “”;// If required, app will be crash when value is null.// Primitive type.

2021-12-23 13:26:32 80

原创 APP流畅度优化做得再好,怎么防止同事在代码里面“下毒

private int m = 1;public int add() {int j = 2;int k = m + j;return k;}}然后我们通过 javac Test.java -g来编译为Test.class,用文本编辑器打开如下:可以看到是一堆十六进制数,但是其实这一堆十六进制数是按严格的结构拼接在一起的,按顺序分别是:魔数(cafe babe)、java版本号、常量池、访问权限标志、当前类索引、父类索引、接口索引、字段表、方法表、附加属性等十个部分,这些部分以十六进制的形式

2021-12-23 13:25:25 613

原创 APK体积优化的一些总结,【性能优化实战】

这个使用的时候很简单,选中图片直接右键,conver to Webp…直接就能转换过来!越大的图片转换节约的体积也就越大!资源混淆基本上我优化的时候就从以上几个方面去进行的,在和之前没进行优化的项目比较,可以使体积减少至少30%!不信可以在你的项目中实验一下!省的说我开车不稳,翻车了!!!1. svg的使用与优化首先我们先来了解一下什么是svg在百度百科是这么说的!!!,其实我们只要关注主要的概念就好了!可缩放的矢量图形。其实人话就是在不同大小的地方显示不变形!具体的概念,看看百度百科就好了!!!

2021-12-23 13:24:07 520

原创 AnimationDrawable监听播放结束及ImageSwitcher动画图片切换,带动画

mimRepaymentProgress.setBackground(ad);ad.start();handler.sendEmptyMessageDelayed(100, 1500);isOverdue = true;} else {mtvRepaymentStatement.setText(R.string.home_prepayment);mllOverdue.setVisibility(View.GONE);for (int i = 0; i < 15 - productInfo

2021-12-23 13:22:42 263

原创 Android:这是一份全面-&-详细的Retrofit-2-0-源码分析指南

Executor callbackExecutor, boolean validateEagerly) {this.callFactory = callFactory;this.baseUrl = baseUrl;this.converterFactories = unmodifiableList(converterFactories);this.adapterFactories = unmodifiableList(adapterFactories);// unmodifiableList(li

2021-12-23 13:21:32 119

原创 Android面试题精选:讲一讲-Android-的事件分发机制,程序员中年危机

厄,那你觉得在一个列表中,同时对父 View 和子 View 设置点击方法,优先响应哪个?为什么会这样?肯定是优先响应子 View 的,至于为什么这样,平时知道这个结论,所以没去太深入研究,但我相信我简单看一下源码是肯定知道的。先发表点扯淡我们可能经常会遇到上面的这种情况,面试官希望了解我们知识的深入情况,或者说是平时学习欲望到底怎样。可很不幸的是,我搞 模拟面试 以来,80% 的小伙伴都属于开发能力不错,可对类似事件分发这样的基础问题一概不知。究其原因,除去忙以外,大多数小伙伴还是觉得平时开发也.

2021-12-23 13:17:25 135

原创 Android开发老生新谈:从OkHttp原理看网络请求,flutterui模板

interceptors = interceptors,index = 0,exchange = null,request = originalRequest,connectTimeoutMillis = client.connectTimeoutMillis,readTimeoutMillis = client.readTimeoutMillis,writeTimeoutMillis = client.writeTimeoutMillis)…try {val response = ch

2021-12-22 13:27:55 373

原创 Android开发是简单的「能写应用就行」吗,android开发基础应用

掌握至少一门数据库语言至少有一个完整的 Android 应用开发经验良好的编码风格,沟通能力和团队合作精神,有责任感《Android学习笔记总结+最新移动架构视频+大厂安卓面试真题+项目实战源码讲义》【docs.qq.com/doc/DSkNLaERkbnFoS0ZF】 完整内容开源分享在 Google Play 上线过自己的 App,加分对开源技术有强烈的兴趣和爱好,有个人blog、Github账号,参与或向开发者提交过 bug 和 patch 者优先####..

2021-12-22 13:26:30 82

原创 Android开发如何进阶,薪资如何跟上年龄的脚步?,经典Android开发教程

4,Activity 横竖屏切换生命周期有哪些变化?5,显示Intent 和隐式Intent 有和区别?Service:Service 也是我们用得比较多的一个组件,关于Service ,我们需要知道:Service 的生命周期Service 的两种启动方式:1, startService2, bindService2种启动方式 所走的生命周期方法是不一样的Service vs IntentService:Service 和IntentService 个自用于..

2021-12-22 13:25:05 254

空空如也

空空如也

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

TA关注的人

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