mvvm

谷歌最支持的 Android 开发架构指南

泄露秘密 提交于 2021-01-26 17:06:11
点击上方“ 逆锋起笔 ”, 公众号回复 pdf 领取大佬们推荐的学习资料 程序员书库(ID:CodingBook)编译 链接地址: https://productcoalition.com/a-guide-to-googles-recommended-architecture-for-android-apps-8cfc1c774755 就像所有软件一样,Android应用程序也应该遵循通用的架构规则和模式,没有遵循正确架构的Android应用程序往往会因为缺乏一致的设计而变得很难维护。 考虑到良好架构的重要性,人们如何选择就变得尤其重要,在大多数情况下,我更推荐谷歌的标准架构作为Android应用程序的起点,然后随着应用程序变得越来越复杂,可以添加一些新的概念。 那么谷歌推荐的Android应用开发架构指南是怎样的呢?很简单,以下是一些要遵循的规则: reactive 使用viewmodel和LiveData 使用存储库获取和缓存数据 在本文中,我们将讨论当前正在使用的Android应用程序的通用体系结构的优缺点,从而帮助你更好的选择。 什么才是好的软件架构? 在专注于Android之前,我想先讨论一下不同软件架构的有效性。根据我的经验,无论平台如何,成功实现软件体系结构都需要三件事: 简单 如果架构的可变动部分过多,则无论是在概念上还是在技术上都难以使用

WPF: Filtering a dataGrid on the fly

无人久伴 提交于 2021-01-24 18:09:45
问题 In my WPF Window I have a DataGrid control, with its ItemsSource bound to an ObservableCollection of items (let's say a simple object with a couple properties): XAML: (Removed some xmlns stuff for brevity) <Window> <Window.Resources> <CollectionViewSource x:Key="MyViewSource" Source="{Binding MyItemList}" Filter="MyItemList_Filter"/> </Window.Resources> <Window.DataContext> <!-- Some Ioc stuff --> </Window.DataContext> <StackPanel> <TextBox Text="{Binding TextFilter}" /> <DataGrid Grid.Row="1

WPF: Filtering a dataGrid on the fly

China☆狼群 提交于 2021-01-24 18:05:53
问题 In my WPF Window I have a DataGrid control, with its ItemsSource bound to an ObservableCollection of items (let's say a simple object with a couple properties): XAML: (Removed some xmlns stuff for brevity) <Window> <Window.Resources> <CollectionViewSource x:Key="MyViewSource" Source="{Binding MyItemList}" Filter="MyItemList_Filter"/> </Window.Resources> <Window.DataContext> <!-- Some Ioc stuff --> </Window.DataContext> <StackPanel> <TextBox Text="{Binding TextFilter}" /> <DataGrid Grid.Row="1

WPF: Filtering a dataGrid on the fly

妖精的绣舞 提交于 2021-01-24 18:04:48
问题 In my WPF Window I have a DataGrid control, with its ItemsSource bound to an ObservableCollection of items (let's say a simple object with a couple properties): XAML: (Removed some xmlns stuff for brevity) <Window> <Window.Resources> <CollectionViewSource x:Key="MyViewSource" Source="{Binding MyItemList}" Filter="MyItemList_Filter"/> </Window.Resources> <Window.DataContext> <!-- Some Ioc stuff --> </Window.DataContext> <StackPanel> <TextBox Text="{Binding TextFilter}" /> <DataGrid Grid.Row="1

WPF: Filtering a dataGrid on the fly

感情迁移 提交于 2021-01-24 18:04:13
问题 In my WPF Window I have a DataGrid control, with its ItemsSource bound to an ObservableCollection of items (let's say a simple object with a couple properties): XAML: (Removed some xmlns stuff for brevity) <Window> <Window.Resources> <CollectionViewSource x:Key="MyViewSource" Source="{Binding MyItemList}" Filter="MyItemList_Filter"/> </Window.Resources> <Window.DataContext> <!-- Some Ioc stuff --> </Window.DataContext> <StackPanel> <TextBox Text="{Binding TextFilter}" /> <DataGrid Grid.Row="1

How to set click listener and pass edittext fields value to view model using data binding

喜夏-厌秋 提交于 2021-01-21 07:24:11
问题 Hi I am trying to use data binding and mvvm architecture in my android app. I want to add click listener using data binding in the layout and send the values of username and password edittext to the view model and it will execute the web service and call appropriate method of LoginActivity like startHomeActivity() . Does anyone know how to do this or Am I taking wrong approach ? I have below snippet of code of my activity, layout and view model LoginActivity.kt class LoginActivity :

MvvmCross: View inside another View (or the equivalent to a CaliburnMicro Conductor)

天涯浪子 提交于 2021-01-21 05:59:11
问题 I am pretty new to MvvmCross and the mvvm pattern in general, so I started a small learning project and immidiatly ran into a wall. I based my application on the idea of having a MainView which contains a standard Menu and a child MvxWpfView . This ChildView should be a simple ReadMeView first, but on user input it should switch to an other View (the one with actual data on it). I already found a few articles about this issue but none of them worked or i wasn't able to follow. My setup : Core

How to use android navigation without binding to UI in ViewModel (MVVM)?

≯℡__Kan透↙ 提交于 2021-01-20 19:31:57
问题 I am using android navigation that was presented at Google I/O 2018 and it seems like I can use it by binding to some view or by using NavHost to get it from Fragment. But what I need is to navigate to another specific view from ViewModel from my first fragment depending on several conditions. For ViewModel , I extend AndroidViewModel , but I cannot understand how to do next. I cannot cast getApplication to Fragment/Activity and I can't use NavHostFragment . Also I cannot just bind navigation

Android面试题

女生的网名这么多〃 提交于 2021-01-17 03:45:06
Android面试题[百度,小米,美团] 类加载器 双亲委托机制 自己定义java.lang.String, 在其他地方调用String类,调用的是系统的还是自定义的 同一个类用两个类加载器加载是否一样 类加载器的分类 类加载器在插件化中的应用 Handler Message 一个线程有几个Handler,如果一个线程有多个Handler,那么怎么系统怎么确定某个Message所回调到的handleMessage方法 两个副线程可以使用Looper.prepare公用一个MessageQueue吗?如果可以怎么实现 HandlerThread的用法 多线程 volatile关键词 lReentrantLock synchronized(同步代码快,同步函数,同步变量有什么区别) 有使用过什么多线程类? (回答任意一个都会追究到源码级,例如说AsyncTask,会问AsyncTask的线程池,并行和串行实现以及BlockingQueue的源码) A,B两线程同时启动,A执行到某一段必须等待B执行完才能接着执行,怎么实现?(消费者生产者模式) 设计模式 书写一个线程安全的单例模式(纯手写) 列举几个源码中你觉得用的比较好的设计模式并举例(AlertDialog Builder) 算法(书写代码) 自己实现String的equals方法 字符串反转算法 十二个球

基本MVVM 和 ICommand用法举例(转)

拜拜、爱过 提交于 2021-01-13 04:30:08
引言 在本贴中,我们将学习WPF Commands。 Commands 可以很好地与 MVVM 模式 (Model- View-ViewModel)结合在一起。我们也将看到,视图(view)实际上是怎样知道和怎样调用它的使用WPF 命令( Commands )的视图模型(ViewModel)。 背景 下面我们一步一步讨论而不是立即查看完整的代码,这也可以较好地帮助我们理解代码的每一部分。 让我们看一下MVVM的体系结构。 我们约定使用下列标准术语: View s 表示后缀为view的文件名 。 (例如: StudentListView ) ViewModel s 表示后缀为ViewModel的文件。(例如: StudentListViewModel ) Model s 表示后缀为Model的文件。 (例如: StudentModel ). 使用代码 原理介绍已经足够了。下面深入代码了解一个可以工作的MVVM例子,了解怎样在MVVM使用命令。 使用 Visual Studio 建立一个新WPF项目。按照上面的约定,把文件名 MainWindow更改为 MainWindowView。 接着,我们需要建立一个新的类,名字为 MainWindowViewModel ,它将担当视图MainWindowView的视图模型 ( ViewModel)。 我们在这里所做的是,在MVVM内