5、kotlin循环语句
for (a in 0…19) {
barEntityList.add(internentBarEntity)
}
6、onActivityResult,requestCode请求码,resultCode返回码
java是:
put
Intent intent = new Intent(MainActivity.this,TwoActivity.class);
startActivityForResult(intent,66);//66是请求码
get
@Override protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { super.onActivityResult(requestCode, resultCode, data); String result = data.getExtras().getString("result");//得到新Activity 关闭后返回的数据 }
kotlin是:
put
startActivityForResult(Intent(this@MainActivity, Main2Activity::class.java),54)
get
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
super.onActivityResult(requestCode, resultCode, data)
when (resultCode) {
3 -> {
val result = data!!.getExtras().getString(“result”)//得到新Activity 关闭后返回的数据
}
}
}
java返回数据:
Intent intent = new Intent();
//把返回数据存入Intent
intent.putExtra(“result”, “My name is meixi”);
//设置返回数据
setResult(33, intent);
//关闭Activity
finish();
kotlin返回数据:
val intent = Intent()
//把返回数据存入Intent
intent.putExtra(“result”, “My name is meixi”)
//设置返回数据
setResult(3, intent)
//关闭Activity
finish()
注:如果是在fragment调用startActivityForResult跳转。则请求码返回时是随机数,而不是原请求码
7、activity嵌套fragment.kt
1、创建fragment.kt
class BlankFragment : Fragment() {
private var mTitle: String? = null
companion object {
fun getInstance(title: String): BlankFragment {
val fragment = BlankFragment()
val bundle = Bundle()
fragment.arguments = bundle
fragment.mTitle = title
return fragment
}
}
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
}
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?,
savedInstanceState: Bundle?): View? {
return inflater.inflate(R.layout.fragment_blank, container, false)
}
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
LgqLogutil.e(“11”)
mText.text = “ss22”
mText.setOnClickListener {
Log.i(“lgq”, “fff”);
}
}
}
2、activity加载fragment
private var mBlankFragment: BlankFragment? = null
val transaction = supportFragmentManager.beginTransaction()
BlankFragment.getInstance(“title”).let {
mBlankFragment = it
transaction.add(R.id.frame,it,“tag”)}
transaction.commitAllowingStateLoss()
Kotlin中@JvmOverloads的使用方法
=========================
Overload翻译为重载,JvmOverloads即重载方法
在Kotlin中@JvmOverloads注解的作用就是:生成多个重载方法,这样方便我们调用,可以省掉一些不关心的参数可以修饰方法或者类
代码解析:
普通kotlin语法
class Mytext : TextView {
constructor(context: Context) : super(context) {}
constructor(context: Context, attrs: AttributeSet) : super(context, attrs) {}
constructor(context: Context, attrs: AttributeSet, defStyleAttr: Int) : super(
context,
attrs,
defStyleAttr
)
}
等同于如下@JvmOverloads语法
class Mytext @JvmOverloads constructor(
context: Context, attrs: AttributeSet? = null, defStyleAttr: Int = com.google.android.material.R.attr.materialCardViewStyle
) : TextView(context, attrs, defStyleAttr)
关于面试的充分准备
一些基础知识和理论肯定是要背的,要理解的背,用自己的语言总结一下背下来。
虽然 Android 没有前几年火热了,已经过去了会四大组件就能找到高薪职位的时代了。这只能说明 Android 中级以下的岗位饱和了,现在高级工程师还是比较缺少的,我能明显感觉到国庆后多了很多高级职位,所以努力让自己成为高级工程师才是最重要的。
好了,希望对大家有所帮助。
接下来是整理的一些Android学习资料,有兴趣的朋友们可以关注下我免费领取方式。
①Android开发核心知识点笔记
②对标“阿里 P7” 40W+年薪企业资深架构师成长学习路线图
③面试精品集锦汇总
④全套体系化高级架构视频
**Android精讲视频领取学习后更加是如虎添翼!**进军BATJ大厂等(备战)!现在都说互联网寒冬,其实无非就是你上错了车,且穿的少(技能),要是你上对车,自身技术能力够强,公司换掉的代价大,怎么可能会被裁掉,都是淘汰末端的业务Curd而已!现如今市场上初级程序员泛滥,这套教程针对Android开发工程师1-6年的人员、正处于瓶颈期,想要年后突破自己涨薪的,进阶Android中高级、架构师对你更是如鱼得水!
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
如今市场上初级程序员泛滥,这套教程针对Android开发工程师1-6年的人员、正处于瓶颈期,想要年后突破自己涨薪的,进阶Android中高级、架构师对你更是如鱼得水!
[外链图片转存中…(img-4VbHPvga-1714282897041)]
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!