总结
我最近从朋友那里收集到了2020-2021BAT 面试真题解析,内容很多也很系统,包含了很多内容:Android 基础、Java 基础、Android 源码相关分析、常见的一些原理性问题
等等,可以很好地帮助大家深刻理解Android相关知识点的原理以及面试相关知识。
这份资料把大厂面试中常被问到的技术点整理成了PDF,包知识脉络 + 诸多细节;还有 高级架构技术进阶脑图 帮助大家学习提升进阶,也节省大家在网上搜索资料的时间来学习,也可以分享给身边好友一起学习。
这里也分享给广大面试同胞们,希望每位程序猿们都能面试成功~
Android 基础知识点
Java 基础知识点
Android 源码相关分析
常见的一些原理性问题
腾讯、字节跳动、阿里、百度等BAT大厂 2019-2020面试真题解析
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
问:开发一个最简单的微件总共分几步?
答:总共分4步。
1、创建一个
AppWidgetProvider
;
2、创建一个微件布局xml;
3、创建一个微件配置xml;
4、配置清单文件;
1、创建一个AppWidgetProvider
import android.appwidget.AppWidgetProvider
class SimpleWidget : AppWidgetProvider() {
}
2、创建一个微件布局xml
res/layout/widget_simple.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<TextView
android:layout_width="100dp"
android:layout_height="100dp"
android:background="#AAAAAA"
android:gravity="center"
android:text="我是微件"
android:textColor="@android:color/black"
android:textSize="15sp" />
</RelativeLayout>
3、创建一个微件配置xml
res/xml/widget_sample.xml
<?xml version="1.0" encoding="utf-8"?>
<appwidget-provider xmlns:android="http://schemas.android.com/apk/res/android"
android:initialLayout="@layout/widget_simple"
android:minWidth="100dp"
android:minHeight="100dp"
android:resizeMode="horizontal|vertical"
android:previewImage="@mipmap/ic_launcher"
android:updatePeriodMillis="86400000"
android:widgetCategory="home_screen" />
常用的配置(更多详细配置见google文档)
-
initialLayout :第2步创建的微件布局
-
minWidth:微件最小宽度
-
minHeight:微件最小高度
-
resizeMode:是否可以横向或纵向拉伸
-
previewImage:显示的预览样式
-
updatePeriodMillis:更新频率,默认86400000为一天
-
widgetCategory:声明应用微件是否可以显示在主屏幕 (home_screen) 和/或锁定屏幕 (keyguard) 上
4、配置清单文件
<receiver
android:name=".widget.SimpleWidget"
android:label="最简单的微件">
<intent-filter>
<action android:name="android.appwidget.action.APPWIDGET_UPDATE" />
</intent-filter>
<meta-data
android:name="android.appwidget.provider"
android:resource="@xml/widget_sample" />
</receiver>
-
receiver-name:第1步创建的AppWidgetProvider
-
receiver-label:自定义的微件名称
-
resource:第2步创建的微件配置xml
-
其他:固定写法
完成上述步骤,在微件中就可以看到我们刚刚创建的最简单的微件了,后续一些交互需要在我们第一步创建的AppWidgetProvider中实现。
微件并不是支持所有布局和控件,目前支持的布局包括:
-
FrameLayout
-
LinearLayout
-
RelativeLayout
-
GridLayout
支持的控件包括:
-
AnalogClock
-
Button
-
Chronometer
-
ImageButton
-
ImageView
-
ProgressBar
-
TextView
-
ViewFlipper
-
ListView
-
GridView
-
StackView
-
AdapterViewFlipper
注意:能且仅能使用以上控件,包含任意其他控件都会导致
加载微件时出现问题
,包括AppCompatXXX等
微件添加到桌面
-
onEnabled
-
onReceive :android.appwidget.action.APPWIDGET_ENABLED
-
onUpdate
-
onReceive :android.appwidget.action.APPWIDGET_UPDATE
微件从桌面移除
-
onDeleted
-
onReceive :android.appwidget.action.APPWIDGET_DELETED
-
onDisabled
-
onReceive :android.appwidget.action.APPWIDGET_DISABLED
最后
上面这些公司都是时下最受欢迎的互联网大厂,他们的职级、薪资、福利也都讲的差不多了,相信大家都是有梦想和野心的人,心里多少应该都有些想法。
也相信很多人也都在为即将到来的金九银十做准备,也有不少人的目标都是这些公司。
我这边有不少朋友都在这些厂工作,其中也有很多人担任过面试官,上面的资料也差不多都是从朋友那边打探来的。除了上面的信息,我这边还有这些大厂近年来的面试真题及解析,以及一些朋友出于兴趣和热爱一起整理的Android时下热门知识点的学习资料。
部分文件:
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
05678)]
[外链图片转存中…(img-k5JLLe52-1715189305679)]
[外链图片转存中…(img-B3isD1mB-1715189305679)]
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!