全部 文章 问答 分享 共找到146个相关内容
[文章] 我的大三春招实习生面试经历(填坑)
我的面试经历在2月份的时候,我进行了自己的第一次面试(字节内推)。经历两周,面到了第三面,然后就结束了。后面想了一下自己回答的一些问题,确实很多都回答错了。但整个面试体验还是很不错的。
1970-01-01 00:00 · 面试体验
[文章] 一些关于面试的链接 已分享
面试题集(2020)Android面试题含答案Android面试题总结(含答案),欢迎各位补充。
2023-02-16 10:24 · 面经
[问答] 哇,我要去面试了,求指教
没有过面试经历, 第一次面试,感觉很慌,特别是我这种半吊子,就更慌了


三轮面试啊啊啊啊,还有笔试题,大家有资源吗?

2022-06-09 11:05 · Android面试
[分享] 【图解】记一次手撕算法面试:字节跳动的面试官把我四连击了
字节跳动这家公司,应该是所有秋招的公司中,对算法最重视的一个了,每次面试基本都会让你手撕算法,今天这篇文章就记录下当时被问到的几个算法题,并且每个算法题我都详细着给出了最优解,下面再现当时的面试场景。
2020-02-17 02:25 · 算法 / 面试 / 字节跳动
[文章] Android tv开发01体验demo
背景最近入坑tv开发,记录遇到的需求和一些api分享官方Demo我们来体验下官方demo,后面分享的例子都在这个项目中加入创建tv项目新建工程,选择tv通常我没不会有tv的模拟器,下载一个就行,我这里选择的
2021-09-04 20:48 · TV / Android
[问答] 面试官问题,直接傻了求解答?
腾讯复试,因为简历上写了康师傅的那个领券联盟的项目,面试的时候就问到,为什么采用一个activity多fragment的设计?为什么进入领券页面又要用activity?
2021-03-19 09:16 · 面试 / 领券联盟
[问答] 毕业大学生如何面试实习工作?
康师傅,就是一名大四学生,马上要出去找实习了,在面试的时候,应该注意点什么?能给我们从来没找过工作的一点建议吗?
2019-09-20 22:33 · 求职
[问答] 想要一份Android面试题有没有?
大佬有没有Android最新的面试提纲(附答案)的,简单透彻的那种,最近想面试了,看了好多但是都看的雨里雾里的~~~感谢!!!
2020-06-11 10:17 · Android
[文章] 快速打开Intellij IDEA软件,丝滑般的体验
IntellijIDEA软件诞生很早,起初的电脑运行内存较少,运行起来的体验不如eclipse的好。
2020-09-03 15:44 · java
[分享] 「吐血整理」再来一打Webpack面试题(持续更新)
原文:从头发的浓密程度和干练的走路姿势我察觉到,面前坐着的这位面试官也是一把好手。我像以往一样,准备花3分钟的时间进行自我介绍。
2020-03-17 12:33 · Webpack / 前端 / 打包 / 面试 / 分享
[文章] Android面试官:你在教我做事吗?
android面试官问怎么面试呢?面试安卓工程师时,招聘者通常会综合考量候选人的理论知识、实践经验和解决问题的能力。
2024-01-26 17:51 · 面试 / 安卓 / 系统 / AOSP / java
[问答] 面试题:你怎么理解MVP 模式的?
因为学习了康师傅的这些项目,自己在简历中就有提到MVP、理所当然,面试官就....
2021-04-11 21:59 · 面试题分享
[文章] Android启动体验优化--启动白屏黑屏优化
③如何优化体验?问题1:从配置文件的主题入手,把这个颜色挖出来。小司机坐稳扶好。
2020-01-20 23:38 · 优化 / 实用技巧
[分享] 每天一道android面试
每天一道android面试题,小聚成河,大聚成江,坚持下来的都是时代的铸就者,共勉之!
2019-10-15 19:23 · 安卓面试题
[问答] 面试相关:怎么解决事件滑动的?
面试官对这个问题提出了致命一击:为啥这里要使用这种方式解决事件冲突呢?我......这.....
2021-04-11 22:11 · 面试题分享 / Android
[分享] 近 3 年常考的 Spring 面试题(附答案)
近 3 年常考的 Spring 面试题(附答案)
2020-02-08 13:13 · javaweb / Spring / 面试题 / 面试 / Spring面试
[文章] 阳光沙滩移动端发布会
客户端想必大家都体验过,我就简单放一些截图吧。账号登录。注册。摸鱼。文章。问答。个人区。富豪榜。消息中心。文章详情。问答详情。基本上最常用的功能了,简单摸鱼还是可以的。网站右侧的二维码扫描下载。
[文章] Android TV 08开发实战01焦点控制案例
左边显示分类名字,中间有个收藏按钮,下面试列表,最右边是分类列表。在手机端,接口获取右边列表,然后切换分类的时候,更新左边列表,这个功能,就拿数据而言对大家来说应该是简单的。这个不会有什么大问题。
2021-12-25 10:55 · AndroidTV / Android / leanback
[文章] 程序员找工作时的技巧
我遇到的面试算是比较综合的了,并且我也面试过别人。所以我会从两个角度是说说我的个人看法,仅仅是个人观点,不喜去厕所喷哈!相信程序员都是比较有素质的!从以前收到的简历来看,移动端基本上是两类。
2019-08-31 11:17 · 面试 / 程序员的日常 / 经验
[问答] api30以上支持进程杀掉后再重启应用?

前天去面试面试官问到这个问题,整不会了。说是有个方法可以,求大佬赐教

2023-06-11 20:11 · Android
[文章] 来自深夜有感而发。希望大家引以为戒
..这是我的电脑桌前,左边是我总结的面试题目,右边是我上课记的笔记。目前我在用费曼学习法浓缩我的知识点。唉,平时不肯下功夫在学技术上,就有无数个面试前的夜晚通宵达旦。
2021-03-27 01:28 · 思考
[问答] 掌握android喜马拉雅播放器后实习简历大概可以如何描述这个项目的知识点

最近在找实习,虽然说可能还没完全掌握知识要点,也就是跟着过了一遍

想着头铁先写上,先搞面试再说,问一下各位大佬大概可以写啥


2022-02-28 19:47 · android
[文章] Android Hilt 依赖注入框架初体验 🗡️
Hilt意为“刀柄”,是谷歌在著名依赖注入框架Dagger的基础上,针对Android开发的场景化实现添加依赖项首先,将hilt-android-gradle-plugin插件添加到项目的根级build.gradle文件中:buildscript{...dependencies{...classpath'com.google.dagger:hilt-android-gradle-plugin:2.28-alpha'}}然后,应用Gradle插件并在app/build.gradle文件中添加以下依赖项:...applyplugin:'kotlin-kapt'applyplugin:'dagger.hilt.android.plugin'android{...}dependencies{implementation"com.google.dagger:hilt-android:2.28-alpha"kapt"com.google.dagger:hilt-android-compiler:2.28-alpha"}Hilt使用Java8功能。如需在项目中启用Java8,请将以下代码添加到app/build.gradle文件中:android{...compileOptions{sourceCompatibilityJavaVersion.VERSION_1_8targetCompatibilityJavaVersion.VERSION_1_8}}实战Hilt应用类所有使用Hilt的应用都必须包含一个带有@HiltAndroidApp注释的Application类。@HiltAndroidApp会触发Hilt的代码生成操作,生成的代码包括应用的一个基类,该基类充当应用级依赖项容器。@HiltAndroidAppclassExampleApplication:Application(){...}生成的这一Hilt组件会附加到Application对象的生命周期,并为其提供依赖项。此外,它也是应用的父组件,这意味着,其他组件可以访问它提供的依赖项。将依赖项注入Android类在Application类中设置了Hilt且有了应用级组件后,Hilt可以为带有@AndroidEntryPoint注释的其他Android类提供依赖项:@AndroidEntryPointclassMainActivity:AppCompatActivity(){...}Hilt目前支持以下Android类:Application(通过使用@HiltAndroidApp)ActivityFragmentViewServiceBroadcastReceiver如果您使用@AndroidEntryPoint为某个Android类添加注释,则还必须为依赖于该类的Android类添加注释。例如,如果您为某个Fragment添加注释,则还必须为使用该Fragment的所有Activity添加注释。注意:在Hilt对Android类的支持方面还要注意以下几点:Hilt仅支持扩展ComponentActivity的Activity,如AppCompatActivity。Hilt仅支持扩展androidx.Fragment的Fragment。Hilt不支持保留的Fragment。@AndroidEntryPoint会为项目中的每个Android类生成一个单独的Hilt组件。这些组件可以从它们各自的父类接收依赖项,如组件层次结构中所述。如需从组件获取依赖项,请使用@Inject注释执行字段注入:@AndroidEntryPointclassMainActivity:AppCompatActivity(){@Injectlateinitvarcar:Car...}注意:由Hilt注入的字段不能为私有字段。尝试使用Hilt注入私有字段会导致编译错误。Hilt注入的类可以有同样使用注入的其他基类。如果这些类是抽象类,则它们不需要@AndroidEntryPoint注释。定义Hilt绑定为了执行字段注入,Hilt需要知道如何从相应组件提供必要依赖项的实例。“绑定”包含将某个类型的实例作为依赖项提供所需的信息。向Hilt提供绑定信息的一种方法是构造函数注入。在某个类的构造函数中使用@Inject注释,以告知Hilt如何提供该类的实例:dataclassCarconstructor(valbrand:String,valmodel:String,valprice:Float){@Injectconstructor():this("Benz","G63",3000000f)}下面是完整的代码@AndroidEntryPointclassMainActivity:AppCompatActivity(){@Injectlateinitvarcar:Car@SuppressLint("SetTextI18n")overridefunonCreate(savedInstanceState:Bundle?){super.onCreate(savedInstanceState)setContentView(R.layout.activity_main)text.text="Brand:${car.brand}Model:${car.model}Price:${car.price}"}}运行结果如下注意:在构建时,Hilt会为Android类生成Dagger组件。然后,Dagger会走查您的代码,并执行以下步骤:构建并验证依赖关系图,确保没有未满足的依赖关系且没有依赖循环。生成它在运行时用来创建实际对象及其依赖项的类。Hilt模块有时,类型不能通过构造函数注入。发生这种情况可能有多种原因。例如,您不能通过构造函数注入接口。此外,您也不能通过构造函数注入不归您所有的类型,如来自外部库的类。在这些情况下,您可以使用** Hilt模块**向Hilt提供绑定信息。Hilt模块是一个带有@Module注释的类。与Dagger模块一样,它会告知Hilt如何提供某些类型的实例。与Dagger模块不同的是,您必须使用@InstallIn为Hilt模块添加注释,以告知Hilt每个模块将用在或安装在哪个Android类中。您在Hilt模块中提供的依赖项可以在生成的所有与Hilt模块安装到的Android类关联的组件中使用。注意:由于Hilt的代码生成操作需要访问使用Hilt的所有Gradle模块,因此编译Application类的Gradle模块还需要在其传递依赖项中包含您的所有Hilt模块和通过构造函数注入的类。使用@Binds注入接口实例以AnalyticsService为例。如果AnalyticsService是一个接口,则您无法通过构造函数注入它,而应向Hilt提供绑定信息,方法是在Hilt模块内创建一个带有@Binds注释的抽象函数。@Binds注释会告知Hilt在需要提供接口的实例时要使用哪种实现。带有注释的函数会向Hilt提供以下信息:函数返回类型会告知Hilt函数提供哪个接口的实例。函数参数会告知Hilt要提供哪种实现。classAnalyticsAdapter@Injectconstructor(privatevalservice:AnalyticsService){funwork():String{returnservice.analyticsMethods()}}interfaceAnalyticsService{funanalyticsMethods():String}//构造函数注入,因为Hilt也需要知道如何//提供AnalyticsServiceImpl的实例。classAnalyticsServiceImpl@Injectconstructor():AnalyticsService{overridefunanalyticsMethods():String{return"注入成功"}}@Module@InstallIn(ActivityComponent::class)abstractclassAnalyticsModule{@BindsabstractfunbindAnalyticsService(analyticsServiceImpl:AnalyticsServiceImpl):AnalyticsService}Hilt模块AnalyticsModule带有@InstallIn(ActivityComponent::class)注释,因为您希望Hilt将该依赖项注入MainActivity。此注释意味着,AnalyticsModule中的所有依赖项都可以在应用的所有Activity中使用。@AndroidEntryPointclassMainActivity:AppCompatActivity(){@InjectlateinitvaranalyticsAdapter:AnalyticsAdapter@SuppressLint("SetTextI18n")overridefunonCreate(savedInstanceState:Bundle?){super.onCreate(savedInstanceState)setContentView(R.layout.activity_main)text.text="AnalyticsAdapter:${analyticsAdapter.work()}"}}运行结果如下使用@Provides注入实例接口不是无法通过构造函数注入类型的唯一一种情况。如果某个类不归您所有(因为它来自外部库,如Retrofit、OkHttpClient或Room等类),或者必须使用构建器模式创建实例,也无法通过构造函数注入。接着前面的例子来讲。如果AnalyticsService类不直接归您所有,您可以告知Hilt如何提供此类型的实例,方法是在Hilt模块内创建一个函数,并使用@Provides为该函数添加注释。带有注释的函数会向Hilt提供以下信息:函数返回类型会告知Hilt函数提供哪个类型的实例。函数参数会告知Hilt相应类型的依赖项。函数主体会告知Hilt如何提供相应类型的实例。每当需要提供该类型的实例时,Hilt都会执行函数主体。@Module@InstallIn(ActivityComponent::class)abstractclassAnalyticsModule{//@Modulemaynotcontainbothnon-staticandabstractbindingmethods//@Binds//abstractfunbindAnalyticsService(analyticsServiceImpl:AnalyticsServiceImpl):AnalyticsServicecompanionobject{//⚠️@Provides修身的方法需为静态方法@ProvidesfunprovideAnalyticsService(analyticsServiceImpl:AnalyticsServiceImpl):AnalyticsService{returnRetrofit.Builder().baseUrl("https://example.com").build().create(AnalyticsService::class.java)}}}为同一类型提供多个绑定如果您需要让Hilt以依赖项的形式提供同一类型的不同实现,必须向Hilt提供多个绑定。您可以使用限定符为同一类型定义多个绑定。限定符是一种** 注释**,当为某个类型定义了多个绑定时,您可以使用它来标识该类型的特定绑定。仍然接着前面的例子来讲。如果需要拦截对AnalyticsService的调用,您可以使用带有拦截器的OkHttpClient对象。对于其他服务,您可能需要以不同的方式拦截调用。在这种情况下,您需要告知Hilt如何提供两种不同的OkHttpClient实现。首先,定义要用于为@Binds或@Provides方法添加注释的限定符:@Qualifier@Retention(AnnotationRetention.BINARY)annotationclassAuthInterceptorOkHttpClient@Qualifier@Retention(AnnotationRetention.BINARY)annotationclassOtherInterceptorOkHttpClient然后,Hilt需要知道如何提供与每个限定符对应的类型的实例。在这种情况下,您可以使用带有@Provides的Hilt模块。这两种方法具有相同的返回类型,但限定符将它们标记为两个不同的绑定:classAuthInterceptor@Injectconstructor():Interceptor{overridefunintercept(chain:Interceptor.Chain):Response{...}}classOtherInterceptor@Injectconstructor():Interceptor{overridefunintercept(chain:Interceptor.Chain):Response{...}}@Module@InstallIn(ApplicationComponent::class)objectNetworkModule{@AuthInterceptorOkHttpClient@ProvidesfunprovideAuthInterceptorOkHttpClient(authInterceptor:AuthInterceptor):OkHttpClient{returnOkHttpClient.Builder().addInterceptor(authInterceptor).build()}@OtherInterceptorOkHttpClient@ProvidesfunprovideOtherInterceptorOkHttpClient(otherInterceptor:OtherInterceptor):OkHttpClient{returnOkHttpClient.Builder().addInterceptor(otherInterceptor).build()}}您可以通过使用相应的限定符为字段或参数添加注释来注入所需的特定类型:@Module@InstallIn(ActivityComponent::class)abstractclassAnalyticsModule{companionobject{//⚠️@Provides修身的方法需为静态方法/***提供[Retrofit]AnalyticsService*/@ProvidesfunprovideAnalyticsService02(@OtherInterceptorOkHttpClientokHttpClient:OkHttpClient):AnalyticsService{returnRetrofit.Builder().baseUrl("https://example.com").client(okHttpClient).build().create(AnalyticsService::class.java)}}}最佳做法是,如果您向某个类型添加限定符,应向提供该依赖项的所有可能的方式添加限定符。让基本实现或通用实现不带限定符容易出错,并且可能会导致Hilt注入错误的依赖项。Hilt中的预定义限定符Hilt提供了一些预定义的限定符。例如,由于您可能需要来自应用或Activity的Context类,因此Hilt提供了@ApplicationContext和@ActivityContext限定符。假设本例中的AnalyticsAdapter类需要Activity的上下文。以下代码演示了如何向AnalyticsAdapter提供Activity上下文:classAnalyticsAdapter@Injectconstructor(@ActivityContextprivatevalcontext:Context,privatevalservice:AnalyticsService){...}如需了解Hilt中提供的其他预定义绑定,请参阅下方组件默认绑定。为Android类生成的组件对于您可以从中执行字段注入的每个Android类,都有一个关联的Hilt组件,您可以在@InstallIn注释中引用该组件。每个Hilt组件负责将其绑定注入相应的Android类。前面的示例演示了如何在Hilt模块中使用ActivityComponent。Hilt提供了以下组件:注意:Hilt不会为广播接收器生成组件,因为Hilt直接从ApplicationComponent注入广播接收器。组件生命周期Hilt会按照相应Android类的生命周期自动创建和销毁生成的组件类的实例。注意:ActivityRetainedComponent在配置更改后仍然存在,因此它在第一次调用Activity#onCreate()时创建,在最后一次调用Activity#onDestroy()时销毁。组件作用域默认情况下,Hilt中的所有绑定都未限定作用域。这意味着,每当应用请求绑定时,Hilt都会创建所需类型的一个新实例。在本例中,每当Hilt提供AnalyticsAdapter作为其他类型的依赖项或通过字段注入提供它(如在MainActivity中)时,Hilt都会提供AnalyticsAdapter的一个新实例。不过,Hilt也允许将绑定的作用域限定为特定组件。Hilt只为绑定作用域限定到的组件的每个实例创建一次限定作用域的绑定,对该绑定的所有请求共享同一实例。下表列出了生成的每个组件的作用域注释:在本例中,如果您使用@ActivityScoped将AnalyticsAdapter的作用域限定为ActivityComponent,Hilt会在相应Activity的整个生命周期内提供AnalyticsAdapter的同一实例:@ActivityScopedclassAnalyticsAdapter@Injectconstructor(privatevalservice:AnalyticsService){...}注意:将绑定的作用域限定为某个组件的成本可能很高,因为提供的对象在该组件被销毁之前一直保留在内存中。请在应用中尽量少用限定作用域的绑定。如果绑定的内部状态要求在某一作用域内使用同一实例,或者绑定的创建成本很高,那么将绑定的作用域限定为某个组件是一种恰当的做法。假设AnalyticsService的内部状态要求每次都使用同一实例-不只是在ExampleActivity中,而是在应用中的任何位置。在这种情况下,将AnalyticsService的作用域限定为ApplicationComponent是一种恰当的做法。结果是,每当组件需要提供AnalyticsService的实例时,都会提供同一实例。以下示例演示了如何将绑定的作用域限定为Hilt模块中的某个组件。绑定的作用域必须与其安装到的组件的作用域一致,因此在本例中,您必须将AnalyticsService安装在ApplicationComponent中,而不是安装在ActivityComponent中://如果AnalyticsService是接口@Module@InstallIn(ApplicationComponent::class)abstractclassAnalyticsModule{@Singleton@BindsabstractfunbindAnalyticsService(analyticsServiceImpl:AnalyticsServiceImpl):AnalyticsService}//如果你不拥有AnalyticsService@Module@InstallIn(ApplicationComponent::class)objectAnalyticsModule{@Singleton@ProvidesfunprovideAnalyticsService():AnalyticsService{returnRetrofit.Builder().baseUrl("https://example.com").build().create(AnalyticsService::class.java)}}组件层次结构将模块安装到组件后,其绑定就可以用作该组件中其他绑定的依赖项,也可以用作组件层次结构中该组件下的任何子组件中其他绑定的依赖项:注意:默认情况下,如果您在视图中执行字段注入,ViewComponent可以使用ActivityComponent中定义的绑定。如果您还需要使用FragmentComponent中定义的绑定并且视图是Fragment的一部分,应将@WithFragmentBindings注释和@AndroidEntryPoint一起使用。组件默认绑定每个Hilt组件都附带一组默认绑定,Hilt可以将其作为依赖项注入您自己的自定义绑定。请注意,这些绑定对应于常规Activity和Fragment类型,而不对应于任何特定子类。这是因为,Hilt会使用单个Activity组件定义来注入所有Activity。每个Activity都有此组件的不同实例。还可以使用@ApplicationContext获得应用上下文绑定。例如:classAnalyticsServiceImpl@Injectconstructor(@ApplicationContextcontext:Context):AnalyticsService{...}//Application绑定不带限定符即可使用classAnalyticsServiceImpl@Injectconstructor(application:Application):AnalyticsService{...}此外,还可以使用@ActivityContext获得Activity上下文绑定。例如:classAnalyticsAdapter@Injectconstructor(@ActivityContextcontext:Context){...}//Activity绑定不带限定符即可使用classAnalyticsAdapter@Injectconstructor(activity:FragmentActivity){...}在Hilt不支持的类中注入依赖项Hilt支持最常见的Android类。不过,您可能需要在Hilt不支持的类中执行字段注入。在这些情况下,您可以使用@EntryPoint注释创建入口点。入口点是由Hilt管理的代码与并非由Hilt管理的代码之间的边界。它是代码首次进入Hilt所管理对象的图的位置。入口点允许Hilt使用它并不管理的代码提供依赖关系图中的依赖项。例如,Hilt并不直接支持内容提供者。如果您希望内容提供者使用Hilt来获取某些依赖项,需要为所需的每个绑定类型定义一个带有@EntryPoint注释的接口并添加限定符。然后,添加@InstallIn以指定要在其中安装入口点的组件,如下所示:classExampleContentProvider:ContentProvider(){@EntryPoint@InstallIn(ApplicationComponent::class)interfaceExampleContentProviderEntryPoint{funanalyticsService():AnalyticsService}...}如需访问入口点,请使用来自EntryPointAccessors的适当静态方法。参数应该是组件实例或充当组件持有者的@AndroidEntryPoint对象。确保您以参数形式传递的组件和EntryPointAccessors静态方法都与@EntryPoint接口上的@InstallIn注释中的Android类匹配:classExampleContentProvider:ContentProvider(){...overridefunquery(...):Cursor{valappContext=context?.applicationContext?:throwIllegalStateException()valhiltEntryPoint=EntryPointAccessors.fromApplication(appContext,ExampleContentProviderEntryPoint::class.java)valanalyticsService=hiltEntryPoint.analyticsService()...}}在本例中,您必须使用ApplicationContext检索入口点,因为入口点安装在ApplicationComponent中。如果您要检索的绑定位于ActivityComponent中,应改用ActivityContext。Hilt和DaggerHilt在依赖项注入库Dagger的基础上构建而成,提供了一种将Dagger纳入Android应用的标准方法。关于Dagger,Hilt的目标如下:简化Android应用的Dagger相关基础架构。创建一组标准的组件和作用域,以简化设置、提高可读性以及在应用之间共享代码。提供一种简单的方法来为各种构建类型(如测试、调试或发布)配置不同的绑定。由于Android操作系统会实例化它自己的许多框架类,因此在Android应用中使用Dagger要求您编写大量的样板。Hilt可减少在Android应用中使用Dagger所涉及的样板代码。Hilt会自动生成并提供以下各项:用于将Android框架类与Dagger集成的组件-您不必手动创建。作用域注释-与Hilt自动生成的组件一起使用。预定义的绑定-表示Android类,如Application或Activity。预定义的限定符-表示@ApplicationContext和@ActivityContext。Dagger和Hilt代码可以共存于同一代码库中。不过,在大多数情况下,最好使用Hilt管理您在Android上对Dagger的所有使用。如需将使用Dagger的项目迁移到Hilt,请参阅迁移指南和“将Dagger应用迁移到Hilt”Codelab。其它案例地址HiltDemo文章来源https://developer.android.com/training/dependency-injection/hilt-android?hl=zh-cn#component-hierarchy本文是在配合官方文档学习过程中整理的,大部分内容来自官方文档
2020-09-15 15:23 · android / Hilt / 依赖注入
[文章] 浅谈离职和当前工作
我在面试地过程中,面试官总是会问我,“上一份工作,你是因为什么原因离职呀?”;我只会委婉地告诉他们,我认为(年轻人不应该满足于安乐稳定的环境,应该随时有努力奋斗的觉悟,做好自己的长期规划)。
2022-06-19 16:58 · 运维 / 面试
[问答] WebView
WebView加载图片,但是图片不能填满手机,这时候未填满的区域是黑色,体验不好,怎么将未填满的区域设置成白色,或者将图片占满
2020-12-07 14:19 · webview背景
[文章] Flutter领券联盟分享
可以直接跑Android手机上面的,debug版本不怎么流畅,可以打release版本出来体验flutterbuildapk等待打包完成ok,注意,Android需要在配置文件,==增加相关权限==,比如网络
2020-07-19 00:04 · Android / flutter
[问答] Android中为什么主线程不会因为Looper.loop()方法造成阻塞
面试的时候有被问道这个问题,百度了一下好像回答都是复制粘贴的模糊回答想要一个标准一点的回答为什么这个死循环不会阻塞线程呢?
2020-12-04 09:44 · android
[文章] 考研与否要结合自身
未来门槛越来越高,面试越来越卷。17年面试中等模式,21年面试困难模式,按这难度递进,25年面试终极地狱模式。研发类,不吃学历。专科生学个培训班,也能当程序员。与大部分本科生研究生吃同一份饭碗。
2021-03-05 18:18 · 思考 / 考研
[文章] ios 阳光沙滩客户端挖坑
背景日常使用iPhone,不方便摸鱼,想在iPhone上面摸鱼,想要好的体验,不想用flutter,那就想办法开发原生的。登录登录能用了。文章列表文章,也勉强能用,后面再把ui整整。
2022-01-04 17:46 · ios / swift / 阳光沙滩客户端
  • 1
  • 2
  • 3
  • 4
  • 5