1. 程式人生 > >Android Data Bingding初體驗

Android Data Bingding初體驗

1.配置

只需要在model builder.gradle中android中配置如下即可:

dataBinding {
        enabled = true
    }

如果還想使用lambda表示式,則再加入①②
①:在model 中新增

compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }

②在專案builder.gradle中新增

dependencies {
        ……
        classpath 'me.tatarka:gradle-retrolambda:3.2.5'
}
allprojects {
    repositories {
        ……
        apply plugin: 'me.tatarka.retrolambda'
    }
}

2.配置貼圖

root builder.grale

這裡寫圖片描述

model builder.grale

這裡寫圖片描述

3.簡單使用

<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
android:fitsSystemWindows="true" tools:context="com.databding.MainActivity">
<data> <variable name="title" type="com.databding.entity.User"></variable> <variable name="presenter" type="com.databding.MainActivity.Presetner"
>
</variable> </data> <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <EditText android:layout_width="match_parent" android:layout_height="50dp" android:hint="請輸入" android:onTextChanged="@{presenter.onTextChanged}" /> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="@{title.name}" /> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:onClick="@{presenter.onClick}" android:text="@{title.info}" /> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:onClick="@{()-> presenter.CustomClick(title)}" android:text="@{title.add}" /> </LinearLayout> </layout>
package com.databding;

import android.databinding.DataBindingUtil;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.Toast;

import com.databding.databinding.DataMainBinding;
import com.databding.entity.User;

public class MainActivity extends AppCompatActivity {
    private User user = new User("吳新喜", "Android學習小學生", "安徽亳州");
    DataMainBinding binding;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        binding = DataBindingUtil.setContentView(this, R.layout.data_main);
        binding.setTitle(user);
        binding.setPresenter(new Presetner());
    }

    public class Presetner {
        public void onTextChanged(CharSequence s, int start, int before, int count) {
            user.setName(s.toString());
            binding.setTitle(user);
        }

        public void onClick(View view) {
            Toast.makeText(MainActivity.this, "HHAHA", Toast.LENGTH_SHORT).show();
        }

        public void CustomClick(User user) {
            Toast.makeText(MainActivity.this, user.getName(), Toast.LENGTH_SHORT).show();
        }
    }
}

4.演示

這裡寫圖片描述

相關推薦

Android Data Bingding體驗

1.配置 只需要在model builder.gradle中android中配置如下即可: dataBinding { enabled = true } 如果還想使用lam

Android逆向分析體驗

目錄 搜索 比較 .com -1 動態調試 總結 為我 修改 一、 準備知識 1. 懂Java Android開發。 2. 懂NDK ,C 語言 Android 動態鏈接庫.SO開發。 3.

Android開發--Kotlin體驗,java轉Kotlin程式碼及異常排除

Kotlin火了一段時間了,近段關於java版權的官司谷歌也輸了。趁著最近有時間,瞭解下Kotlin。為了更方便檢視與java開發的區別,決定拿一個小專案直接改成Kotlin程式碼。 看別人部落格的時候發現AS自帶有Java轉Kotlin的工具,於是,我們可以很方便的使用快

Android外掛化體驗

最近把Activity啟動流程整體看了一遍,估摸著弄個啥來鞏固下,發現外掛化正好是這塊技術的實踐,而說道外掛化其實有好幾種實現方式,這裡我用的是hook的方式實現,主要目的呢是為了對activity啟動流程有個整體的認識,當然了本篇的外掛化也只是一個demo版本並沒有任何相容適配

Android Studio之體驗 ---- 很好很強大

一、介紹     很多android 開發者都感嘆做android開發竟然都沒有一款專門的軟體來使用,不像IOS有Xcode,WP有VS。一般做android開發都是eclipse或者ADT或者In

一、Spring-Data-Jpa 體驗(基於SpringBoot)

閒話少說,首先動起來(基於springboot+gradle): 1、引入依賴 dependencies { compile 'org.springframework.boot:spring-boot-starter-data-jpa:2.1.1.RELEASE' testCompile

Android 長連線體驗(基於netty)

前言 眾所周知,推送和 IM 在 Android 應用中很常見,但真正自己去實現的比較少,我們大多會去選擇第三方提供的成熟方案,如極光推送、雲信等,因為行動網路具有不確定性,因此自己實現一套穩定的方案會耗費很多精力,這對於小公司來說是得不償失的。 推送和 IM 我們平時用的很多,但真正瞭

訊飛的聲紋識別API以及Android studio的體驗

【安裝時候的坑】 安裝Android studio的時候最好放c盤  因為我電腦上git 和sdk 和gradle就放在c盤 因為空間不夠studio沒有放在c盤 後來翔宇因為一直有git的root請求 認為有時候as需要呼叫c盤程式的時候沒有許可權 我看了一下 那個是a

Android Studio的體驗

eas 設置權限 con inf webview ror settings elf dtd 在機緣巧合之下遇到了安卓開發,接觸了Android Studio開始了漫長的改bug的道路,以下為簡易版心酸歷程 首先我需要成功安裝Android Studio,由於我過於叛逆以及

Spring Cloud Data Flow體驗,以Local模式執行

# 1 前言 > 歡迎訪問[南瓜慢說 www.pkslow.com](https://www.pkslow.com/)獲取更多精彩文章! `Spring Cloud Data Flow`是什麼,雖然已經出現一段時間了,但想必很多人不知道,因為在專案中很少有人用。不僅找不到很多中文資料,英文資料也一樣

Android開發學習之路--異步消息Handler,Message,Looper和AsyncTask之體驗

被調用 project 輸入 gettext npos article app sso 音樂播放 在簡易音樂播放器中。用了Handler。也沒有過多地去研究學習,這裏再學習下android下的異步消息處理機制。這裏用了Handler主要是在線程中不能更新UI

Android開發學習之路--圖表實現(achartengine/MPAndroidChart)之體驗

bundle 喜歡 嵌入式linux Y軸 tid ren sca ref java代碼 ??已經有一段時間沒有更新博客了,在上周離開工作了4年的公司,從此不再安安穩穩地工作了。很多其它的是接受挑戰和實現自身價值的提高。離開了嵌入式linux,從此擁抱移

Android開發體驗

pub warn android cor big row @+ result pre 第一個Androd應用-GeoQuiz,它能給出一道道地理問題,用戶點擊TRUE或FALSE按鈕來回答屏幕上的問題,GeoQuiz及時做出反饋,首先我們來看看它完成後的樣子 1.首先我們

Android Studio 3.0 正式版 體驗

blog ice images 安裝 str ext gradle 空間 文件夾 原來的版本是 2.3 ,一開始安裝,詢問是否需要卸載2.3,猶豫了一下,還是卸載了,硬盤空間吃緊…… 然後一路Next,比較順利。 遇到的幾個問題跟安裝2.

Fedora28 Android體驗

Android studio 安裝 你好! 這是你第一次使用 Markdown編輯器 所展示的歡迎頁。如果你想學習如何使用Markdown編輯器, 可以仔細閱讀這篇文章,瞭解一下Markdown的基本

Android外掛化——Replugin實戰體驗

本篇主要講外接外掛的接入,即從伺服器下載獨立的apk接入宿主程式中,以便宿主程式呼叫。 在專案根目錄的 build.gradle 宿主AP

Android Studio 體驗

                        Google在I/O2013大會上釋出了Android新的開發工具Android Studio,趁週末時間做了一下嘗試。有需要的可以 new Android development environment based on IntelliJ IDEA. Simi

Android開發學習之路--Activity之體驗

    環境也搭建好了,android系統也基本瞭解了,那麼接下來就可以開始學習android開發了,相信這麼學下去肯定可以把android開發學習好的,再加上時而再溫故下linux下的知識,看看an

Mono for Android體驗之“電話撥號器”

1、Main.axml檔案: <?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:orientat

Android Things 物聯網應用開發體驗

Android Things 是 Google 最近推出的全新物聯網作業系統,前身是去年釋出的物聯網平臺 Brillo,除了繼承 Brillo 的功能,還加入了 Android Studio、Android SDK、Google Play 服務以及 Google 雲平臺等