zoukankan      html  css  js  c++  java
  • xUtils3.5 在 as 3.1.2 的安装使用

    1. 按照官方文档,在gradle中引用xUtils3的包,在gradle4.4中,需要这样引用,不能完全按照官方的compile。用关键字api来引用

    dependencies {
        implementation fileTree(dir: 'libs', include: ['*.jar'])
        implementation 'com.android.support:appcompat-v7:27.1.1'
        implementation 'com.android.support.constraint:constraint-layout:1.1.0'
        api 'org.xutils:xutils:3.5.0'                     //关键引入
        testImplementation 'junit:junit:4.12'
        androidTestImplementation 'com.android.support.test:runner:1.0.2'
        androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
    }

    2.独立写一个类,继承Application,并且在配置文件中,配置此文件。如写一个类名叫MyApp,并且写注入代码,x.Ext.init(this)和x.Ext.setDebug(true)日志

    public class MyApp extends Application {
        @Override
        public void onCreate() {
    
            super.onCreate();
            x.Ext.init(this);                   // 初始化
            x.Ext.setDebug(true);               //日志输出
        }
    }

    在manifest文件中,用name来引用此类,这样就可以在所有的这个app中注入。

    <manifest xmlns:android="http://schemas.android.com/apk/res/android"
        package="cn.bazi.myapplication">
    
        <application
            android:name=".MyApp"                         //关键引入类名
            android:allowBackup="true"
            android:icon="@mipmap/ic_launcher"
            android:label="@string/app_name"
            android:roundIcon="@mipmap/ic_launcher_round"
            android:supportsRtl="true"
            android:theme="@style/AppTheme">
            <activity android:name=".MainActivity">
                <intent-filter>
                    <action android:name="android.intent.action.MAIN" />
    
                    <category android:name="android.intent.category.LAUNCHER" />
                </intent-filter>
            </activity>
        </application>
    
    </manifest>

    3.三个注解文件,第一个是主布局,第二个是控件,第三个是控件方法。

    在布局文件中,使用@ContentView,在控件上用@ViewInject,在方法上用@Event。

    4.在Activity文件中,使用x.view().inject(this);进行注入。

    代码如下

    @ContentView(R.layout.activity_main)
    public class MainActivity extends AppCompatActivity {
    
        @ViewInject(R.id.btn_test)
        private  Button btn;
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            x.view().inject(this);                    //注入
        }
    
    
        @Event(value = R.id.btn_test,type = View.OnClickListener.class)
        private  void btn_method(View view){
    
            Toast.makeText(getApplicationContext(),"ahahahahah",Toast.LENGTH_LONG).show();
        }
    }

    布局文件如下

    <Button android:id="@+id/btn_test"
        android:layout_height="wrap_content"
        android:layout_width="wrap_content"
        android:text="test tt"
    />
       

    --------------------------------------------------------

    主要碰到的难点有两个,一是在gradle中,开始用的implementation 不是用的api,导致导包不正常。

    二是布局文件没有加@ContentView注解。

  • 相关阅读:
    【1】排行榜算法设计
    基础问答【二】
    基础问答【一】
    【1】c语言
    (五)帧同步与状态同步
    (四)c++虚函数详解
    (三)git pull报错解决方案,Your local changes to the following files would be overwritten by merge
    (二)干货!获取该目录下,指定权限不为770的文件, 并设置权限为770
    【8】java新特性,双冒号 :: 的使用场景
    go(01) 基础语法
  • 原文地址:https://www.cnblogs.com/sdgtxuyong/p/9153021.html
Copyright © 2011-2022 走看看