当前位置: 首页 > news >正文

中建八局第三建设有限公司网站网上注册公司需要多长时间

中建八局第三建设有限公司网站,网上注册公司需要多长时间,山东泰安为什么那么穷,一个网站可以优化多少关键词1.ViewModel 解决问题#xff1a; 瞬态数据丢失异步调用内存泄漏类膨胀提高维护难度和测试难度 作用#xff1a; 介于View视图和Model数据模型之间桥梁使视图和数据能够分离#xff0c;也能保持通信 public class MainActivity extends AppCompatActivity {private Tex…1.ViewModel 解决问题 瞬态数据丢失异步调用内存泄漏类膨胀提高维护难度和测试难度 作用 介于View视图和Model数据模型之间桥梁使视图和数据能够分离也能保持通信 public class MainActivity extends AppCompatActivity {private TextView textView;private MyViewModel viewModel;Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);textView findViewById(R.id.textView);viewModel new ViewModelProvider(this, new ViewModelProvider.AndroidViewModelFactory()).get(MyViewModel.class);textView.setText(String.valueOf(viewModel.number));}public void plusNumber(View view) {textView.setText(String.valueOf(viewModel.number));} }public class MyViewModel extends ViewModel {public int number;} 2.LiveData LiveData是Android架构组件中的一部分用于在数据源和UI之间建立连接实现数据的实时更新和同步。它允许观察者例如Activity或Fragment订阅数据变化并在数据发生变化时自动更新UI。 基本概念LiveData是一个可观察的数据持有者类它遵循观察者模式。这意味着它可以持有数据并且当数据发生变化时它会通知所有已订阅的观察者。这在处理生命周期相关的数据时非常有用因为它可以确保只有当活动或片段处于激活状态时才会接收到更新。工作原理LiveData的核心是LifecycleOwner通常是Activity或Fragment。当LiveData对象有新数据时它会检查是否有活跃的观察者并通知它们。如果观察者已经销毁如Activity已经停止或Fragment已经分离那么LiveData就不会再发送通知从而避免了内存泄漏。使用步骤要使用LiveData首先需要在项目的build.gradle文件中添加依赖。然后可以在ViewModel中创建LiveData对象并在UI层如Activity或Fragment中观察它。当LiveData对象的数据改变时UI会自动更新。应用场景LiveData适用于多种场景包括但不限于配置更改、网络状态变化、数据库操作等。它特别适用于需要响应配置更改如屏幕旋转的场景因为在这些情况下观察者可能会被销毁并重新创建而LiveData能够确保在这些过程中不会发生内存泄漏。双向绑定虽然LiveData本身不直接支持双向绑定但可以与DataBinding库结合使用通过将LiveData对象与UI元素绑定来实现双向绑定的效果。数据更新当LiveData中的数据发生变化时所有订阅了该LiveData的观察者都会收到通知从而实现UI的自动更新。事件处理LiveData还提供了Transformations API允许开发者对LiveData对象进行转换和组合以实现更复杂的数据处理逻辑。高级功能除了基本的数据持有和通知功能外LiveData还提供了一些高级功能如切换地图类型、设置筛选条件等这些功能使得LiveData更加灵活和强大。 public class MyViewModel extends ViewModel {private MutableLiveDataInteger currentSecond;public MutableLiveDataInteger getCurrentSecond(){if (currentSecond null){currentSecond new MutableLiveData();currentSecond.setValue(0);}return currentSecond;} }public class MainActivity extends AppCompatActivity {private TextView textView;private MyViewModel viewModel;Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);textView findViewById(R.id.textView);viewModel new ViewModelProvider(this, new ViewModelProvider.AndroidViewModelFactory()).get(MyViewModel.class);textView.setText(String.valueOf(viewModel.getCurrentSecond()));viewModel.getCurrentSecond().observe(this, new ObserverInteger() {Overridepublic void onChanged(Integer integer) {textView.setText(String.valueOf(integer));}});startTimer();}private void startTimer(){new Timer().schedule(new TimerTask() {Overridepublic void run() {// 非ui线程 postValue// ui线程 setValueviewModel.getCurrentSecond().postValue(viewModel.getCurrentSecond().getValue()1);}},1000,1000);} }3.DataBinding Android DataBinding是Google在Jetpack中推出的一款数据绑定的支持库它通过将数据源直接与UI元素进行绑定来实现数据与视图之间的自动更新。 对DataBinding的详细介绍 基本概念DataBinding是一种强大的数据绑定技术它能够实现视图和数据之间的自动更新。开发者可以将数据直接绑定到视图上从而简化了视图和数据之间的操作提高了代码的可读性和可维护性。工作原理DataBinding的工作原理主要依赖于数据绑定引擎和数据对象。数据绑定引擎负责管理数据和视图之间的关系当数据发生变化时引擎会自动更新视图。而数据对象则是数据的载体它可以是任何对象只要实现了相应的数据接口。使用步骤启用DataBinding需要在app module的build.gradle中添加相应代码。布局文件需要更改为layout节点并引入data节点同时创建好需要用到的Model。在Activity或Fragment中用DataBindingUtil.setContentView(Activity activity, int layoutId)代替setContentViewint layoutId同时初始化数据并进行绑定。应用场景列表展示、条件渲染、数据绑定布局、MVVM架构等都是DataBinding的应用场景。DataBinding与MVVM架构相结合可以实现更好的代码分离和组件化开发。双向绑定双向绑定的效果是数据影响界面界面变化也要使得数据发生变化。例如EditText输入内容时绑定的数据bean要跟着变化。数据更新Databinding通过使用实现Observable的数据当数据更新的时候自动更新UI。监听对象变化更新。事件处理事件处理包括方法引用和监听绑定两种方式。高级功能DataBinding支持在普通方法上添加注解来添加自定义控件属性。这提供了更大的灵活性允许开发者根据需要定制控件的行为 public class MainActivity extends AppCompatActivity {Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);ActivityMainBinding binding DataBindingUtil.setContentView(this, R.layout.activity_main);Idol idol new Idol(蔡徐坤, 五星);binding.setIdol(idol);} }?xml version1.0 encodingutf-8? layout xmlns:androidhttp://schemas.android.com/apk/res/androidxmlns:apphttp://schemas.android.com/apk/res-autoxmlns:toolshttp://schemas.android.com/toolsdatavariablenameidoltypecom.zzzjian.databinding.Idol //dataandroidx.constraintlayout.widget.ConstraintLayoutandroid:idid/mainandroid:layout_widthmatch_parentandroid:layout_heightmatch_parenttools:context.MainActivityandroidx.constraintlayout.widget.Guidelineandroid:idid/guidelineandroid:layout_widthwrap_contentandroid:layout_heightwrap_contentandroid:orientationhorizontalapp:layout_constraintGuide_begin365dp /ImageViewandroid:idid/imageView2android:layout_width300dipandroid:layout_height300dipandroid:contentDescriptionTODOapp:layout_constraintBottom_toTopOfid/guidelineapp:layout_constraintEnd_toEndOfparentapp:layout_constraintStart_toStartOfparentandroid:srcdrawable/ikunapp:layout_constraintTop_toTopOfparenttools:srctools:sample/avatars /TextViewandroid:idid/textViewandroid:layout_widthwrap_contentandroid:layout_heightwrap_contenttools:text姓名android:text{idol.name}android:textSize24spapp:layout_constraintBottom_toBottomOfparentapp:layout_constraintEnd_toEndOfparentapp:layout_constraintStart_toStartOfparentapp:layout_constraintTop_toTopOfid/guidelineapp:layout_constraintVertical_bias0.245 /TextViewandroid:idid/textView2android:layout_widthwrap_contentandroid:layout_heightwrap_contenttools:text五星android:text{idol.star}android:textSize24spapp:layout_constraintBottom_toBottomOfparentapp:layout_constraintEnd_toEndOfparentapp:layout_constraintStart_toStartOfparentapp:layout_constraintTop_toTopOfid/guideline //androidx.constraintlayout.widget.ConstraintLayout /layout
http://www.hkea.cn/news/14438513/

相关文章:

  • 网站方案原则平台软件开发
  • 网店网站源码四川省住房和城乡建设厅考试报名
  • 东莞网站建设公司电话产品线上营销推广方案
  • 我要学做网站wordpress中文4.8
  • 做网站如何找项目南宫网站建设
  • 商城网站租服务器安全不怎样自己创造网站
  • 网站开发技术考试题目做网站的基础架构
  • 开通网站需要什么手续wordpress文章版权主题插件
  • 网页设计中好的网站免费app制作软件下载
  • 嘉兴网站制作费用免费素材图片下载
  • 国外中文网站排行有哪些网站可以做h5
  • 公司网站开发需要做哪些事小软件开发
  • 网站开发人员周报重庆的企业网站
  • 长春做高端网站公司wordpress实现轮播图
  • 做网站需要提供的资料资源网站优化排名优化
  • 网站建设如何不被忽悠网站免费部署
  • 自贡市住房和城乡建设局网站河南网站推广怎么做
  • 简单风景网站模版wordpress 主题切换
  • 网站页面优化方法微信网站上传图片
  • 工程信息网站谁做WordPress数据库添加管理员
  • 网站首页图片素材长图大全泰安最好的网站建设公司
  • 杭州网站建设优化推广山东网站建设公司哪家好
  • 在网站后台管理系统里产品说明怎么添加图片软件开发模型比较
  • 松江网站开发培训学校平台网站开发多少钱
  • 网站设计是什么意思安徽高端网站建设
  • 门户网站源码html网站运行时间代码
  • 网站建设实训报告doc常州平台网站建设
  • 株洲网站建设制作电子商务网站平台有哪些
  • wordpress 用iis建站佛山微信网站推广多少钱
  • 张家港杨舍网站制作种子搜索网站开发