Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
门心叼龙
android-mvvm-architecture
提交
5a6e0e13
A
android-mvvm-architecture
项目概览
门心叼龙
/
android-mvvm-architecture
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
A
android-mvvm-architecture
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
5a6e0e13
编写于
7月 07, 2017
作者:
A
amitshekhariitbhu
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Add some sample data binding in Main Activity
上级
c3c9206a
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
82 addition
and
11 deletion
+82
-11
app/src/main/java/com/mindorks/framework/mvvm/di/module/ActivityModule.java
...com/mindorks/framework/mvvm/di/module/ActivityModule.java
+8
-0
app/src/main/java/com/mindorks/framework/mvvm/view/main/MainActivity.java
...a/com/mindorks/framework/mvvm/view/main/MainActivity.java
+30
-1
app/src/main/java/com/mindorks/framework/mvvm/viewmodel/main/MainViewModel.java
...mindorks/framework/mvvm/viewmodel/main/MainViewModel.java
+17
-1
app/src/main/res/layout/activity_main.xml
app/src/main/res/layout/activity_main.xml
+27
-9
未找到文件。
app/src/main/java/com/mindorks/framework/mvvm/di/module/ActivityModule.java
浏览文件 @
5a6e0e13
...
...
@@ -20,6 +20,8 @@ import android.content.Context;
import
android.support.v7.app.AppCompatActivity
;
import
com.mindorks.framework.mvvm.di.ActivityContext
;
import
com.mindorks.framework.mvvm.di.PerActivity
;
import
com.mindorks.framework.mvvm.viewmodel.main.MainViewModel
;
import
dagger.Module
;
import
dagger.Provides
;
...
...
@@ -46,4 +48,10 @@ public class ActivityModule {
AppCompatActivity
provideActivity
()
{
return
mActivity
;
}
@Provides
@PerActivity
MainViewModel
provideMainViewModel
()
{
return
new
MainViewModel
(
"MainViewModel"
);
}
}
app/src/main/java/com/mindorks/framework/mvvm/view/main/MainActivity.java
浏览文件 @
5a6e0e13
...
...
@@ -16,16 +16,45 @@
package
com.mindorks.framework.mvvm.view.main
;
import
android.databinding.DataBindingUtil
;
import
android.os.Bundle
;
import
android.support.v7.app.AppCompatActivity
;
import
com.mindorks.framework.mvvm.MvvmApp
;
import
com.mindorks.framework.mvvm.R
;
import
com.mindorks.framework.mvvm.databinding.ActivityMainBinding
;
import
com.mindorks.framework.mvvm.di.component.ActivityComponent
;
import
com.mindorks.framework.mvvm.di.component.DaggerActivityComponent
;
import
com.mindorks.framework.mvvm.di.module.ActivityModule
;
import
com.mindorks.framework.mvvm.viewmodel.main.MainViewModel
;
import
javax.inject.Inject
;
public
class
MainActivity
extends
AppCompatActivity
{
private
ActivityComponent
mActivityComponent
;
@Inject
public
MainViewModel
mainViewModel
;
@Override
protected
void
onCreate
(
Bundle
savedInstanceState
)
{
super
.
onCreate
(
savedInstanceState
);
setContentView
(
R
.
layout
.
activity_main
);
ActivityMainBinding
mainBinding
=
DataBindingUtil
.
setContentView
(
this
,
R
.
layout
.
activity_main
);
mActivityComponent
=
DaggerActivityComponent
.
builder
()
.
activityModule
(
new
ActivityModule
(
this
))
.
applicationComponent
(((
MvvmApp
)
getApplication
()).
getComponent
())
.
build
();
mActivityComponent
.
inject
(
this
);
mainBinding
.
setViewmodel
(
mainViewModel
);
}
@Override
protected
void
onResume
()
{
mainViewModel
.
setText
(
"Amit Shekhar"
);
super
.
onResume
();
}
}
app/src/main/java/com/mindorks/framework/mvvm/viewmodel/main/MainViewModel.java
浏览文件 @
5a6e0e13
...
...
@@ -16,9 +16,25 @@
package
com.mindorks.framework.mvvm.viewmodel.main
;
import
android.databinding.BaseObservable
;
import
android.databinding.ObservableField
;
/**
* Created by amitshekhar on 07/07/17.
*/
public
class
MainViewModel
{
public
class
MainViewModel
extends
BaseObservable
{
public
final
ObservableField
<
String
>
value
=
new
ObservableField
<>();
private
final
String
dummyValue
;
public
MainViewModel
(
String
value
)
{
this
.
dummyValue
=
value
;
}
public
void
setText
(
String
text
)
{
this
.
value
.
set
(
text
);
}
}
app/src/main/res/layout/activity_main.xml
浏览文件 @
5a6e0e13
...
...
@@ -13,16 +13,34 @@
~ See the License for the specific language governing permissions and
~ limitations under the License
-->
<LinearLayout
xmlns:android=
"http://schemas.android.com/apk/res/android"
<layout
xmlns:android=
"http://schemas.android.com/apk/res/android"
xmlns:tools=
"http://schemas.android.com/tools"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
tools:context=
"com.mindorks.framework.mvvm.view.main.MainActivity"
>
<TextView
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:text=
"Hello World!"
/>
<data>
<import
type=
"android.view.View"
/>
<variable
name=
"view"
type=
"com.mindorks.framework.mvvm.view.main.MainActivity"
/>
<variable
name=
"viewmodel"
type=
"com.mindorks.framework.mvvm.viewmodel.main.MainViewModel"
/>
</data>
<LinearLayout
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
>
<TextView
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:text=
"@{viewmodel.value}"
/>
</LinearLayout>
</
LinearL
ayout>
</
l
ayout>
\ No newline at end of file
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录