AAPT: error: reso 1. mavenCentral():2. jcenter():3. mavenLocal(),定时器,android Mod

简介: AAPT: error: reso 1. mavenCentral():2. jcenter():3. mavenLocal(),定时器,android Mod

AAPT: error: resource android:attr/dialogCornerRadius not found.



e00120c43bd34756bb3e158078bc6682_tplv-k3u1fbpfcp-zoom-in-crop-mark_4536_0_0_0.jpg

添加相应的format


a571d64f77fd4cafbf31ffb6d0a83844_tplv-k3u1fbpfcp-zoom-in-crop-mark_4536_0_0_0.png

上面的属性一般不会相信爱那个运行,我们搜索控件名称查看什么地方使用



3cf89a1144ef40199f56f9ec2eab4ea6_tplv-k3u1fbpfcp-zoom-in-crop-mark_4536_0_0_0.jpg

这个v-28的报错,我们统一版本



6cd30ad01b024abeaf329a29e1b5418e_tplv-k3u1fbpfcp-zoom-in-crop-mark_4536_0_0_0.jpg


build之后会显示报错,我们不要改一个翻一个,下面都是;



1785c2d75bfe4a7ab87c790f2f47587b_tplv-k3u1fbpfcp-zoom-in-crop-mark_4536_0_0_0.jpg



a533db55dc3d4308bc4f251029576989_tplv-k3u1fbpfcp-zoom-in-crop-mark_4536_0_0_0.png


resource android:attr/dialogCornerRadius not found



build时引用到了v28包,导致不兼容的问题

gradle.properties文件中 添加一行

android.enableAapt2=false


This project uses AndroidX dependencies, but the 'android.useAndroidX' property is not enabled.



在这个文件里添加两行代码,


android.useAndroidX=true
android.enableJetifier=true

buildscript里的repositories与allprojects里的repositories 区别:



  1. buildscript里是gradle脚本执行所需依赖,分别是对应的maven库和插
  2. 2.allprojects里是项目本身需要的依赖


1. mavenCentral():


mavenCentral()别名意味着从中央Maven 2存储库中获取依赖项.


repositories { mavenCentral() } 用于访问此存储库的URL为 https://repo.maven.apache.org/maven2 /.该存储库的名称为MavenRepo.


2. jcenter():


jcenter()别名表示从 Bintray的JCenter Maven存储库中获取依赖项


3. mavenLocal():


mavenLocal()别名意味着从本地Maven存储库中获取依赖项.

实际上,所有3个都是Maven存储库.我们通过使用其Maven存储库的URL地址或在本地文件系统中的位置来将其用于构建.


使用URL:


repositories {
    maven { url("https://plugins.gradle.org/m2/") }
}


通过使用本地文件系统:


repositories {
    maven { url '../maven-repo' }
}


Gradle具有三个"别名" ,当我们向构建中添加Maven存储库时可以使用它们.


Jcenter vs. mavenCentral



jcenter()和mavenCentral()是Android Studio中Gradle插件的存储库


早期的Android Studio版本使用mavenCentral(),并在一段时间后切换到jcenter.

这是因为在性能和内存占用方面,jcenter()优于mavenCentral():


  • Jcenter是世界上最大的Java存储库
  • 通过 https协议通过CDN服务实现Jcenter 安全和使用 http的Android Studio 0.8版本mavenCentral() 协议
  • Jcenter是mavenCentral的超集,其中包括许多其他功能 罐子
  • Jcenter性能优于mavenCentral
  • mavenCentral将自动下载许多与IDE相关的索引, 而且不需要的次数较少.


Maven和google



a7469b98f22141fcbdcb872667c71584_tplv-k3u1fbpfcp-zoom-in-crop-mark_4536_0_0_0.png


这两个是一样的


maven { url 'https://maven.google.com' }
google()

Failed to transform artifact 'butterknife-runtime.aar (com.jakewharton:butterknife-runtime:10.1.0)'



接入 butterknife 10.1.0  和java 版本对应,java使用8;


a3e78a72c0b94583a81ea7595306139f_tplv-k3u1fbpfcp-zoom-in-crop-mark_4536_0_0_0.png


我们看到的1.8 就是java8


androidX迁移



602bf71a308b42ccad7a430475612901_tplv-k3u1fbpfcp-zoom-in-crop-mark_4536_0_0_0.png


修改当前项目的 gradle.properties


android.useAndroidX=true
android.enableJetifier=true
复制代码

Android:你好,androidX!再见,android.support - 简书


定时器


public class TimerTest{     
    public static void main(String[] args){     
        Timer timer = new Timer();     
        timer.schedule(new MyTask(), 1000, 2000);//在1秒后执行此任务,每次间隔2秒执行一次,如果传递一个Data参数,就可以在某个固定的时间执行这个任务.     
        while(true){//这个是用来停止此任务的,否则就一直循环执行此任务     
            try{     
                int in = System.in.read();    
                if(in == 's'){     
                    timer.cancel();//使用这个方法退出任务     
                    break;  
                }     
            } catch (IOException e){     
                // TODO Auto-generated catch block     
                e.printStackTrace();     
            }     
        }     
    }    
    static class MyTask extends java.util.TimerTask{      
        public void run(){     
            System.out.println("________");     
        }     
    }    
}  


sendMessageDelayed


sendMessageDelayed是如何实现延时发送消息的?

sendMessageDelayed是通过阻塞来达到了延时发送消息的结果,那么会不会阻塞新添加的Message?


android Module之间数据传递


(1)在子module创建回调接口(参数可变)


public interface OnChangeLisener {
void onChanged(Date date);
}


(2)在子module 实现类设置接口回调


//设置选择回调
public void setOnChangeLisener(OnChangeLisener onChangeLisener) {
this.onChangeLisener = onChangeLisener;
}
实现方法
onChangeLisener.onChanged(DateUtils.getDate(year, moth, day, hour, minut));
(3)在app module设置接口回调即可
private OnChangeLisener onChangeLisener;
onChangeLisener =new OnChangeLisener() {
@Override
public void onChanged(Date date) {
String messge = “”;
}
};
DatePickDialog dialog = new DatePickDialog(this);
//设置选择回调
dialog.setOnChangeLisener(onChangeLisener);
方法二:使用 sharedpreferences
在一个module中保存数据
SharedPreferences sp = getSharedPreferences(“sp_demo”, Context.MODE_PRIVATE);sp.edit().
putString(“name”, “梅西”).putInt(“age”, 11).commit();
在另一个module中获取数据
SharedPreferences sp = getSharedPreferences(“sp_demo”, Context.MODE_PRIVATE);
String name = sp.getString(“name”, null);int age = sp.getInt(“age”, 0);


目录
相关文章
|
7月前
|
Android开发 开发者
Error:Could not find com.android.support:appcompat-v7:27.0.2.
Error:Could not find com.android.support:appcompat-v7:27.0.2.
146 0
|
7月前
|
开发工具 Android开发 git
解决Android AAPT: error: resource android:attr/lStar not found. 问题
解决Android AAPT: error: resource android:attr/lStar not found. 问题
531 0
|
7月前
|
Android开发
【Bug】Android resource linking failed和error: failed linking references.
【Bug】Android resource linking failed和error: failed linking references.
|
4月前
|
Android开发 Docker 容器
docker中编译android aosp源码,出现Build sandboxing disabled due to nsjail error
在使用Docker编译Android AOSP源码时,如果遇到"Build sandboxing disabled due to nsjail error"的错误,可以通过在docker run命令中添加`--privileged`参数来解决权限不足的问题。
910 1
|
7月前
|
开发工具 Android开发 Windows
Android应用] 问题2:ERROR: unknown virtual device name:
Android应用] 问题2:ERROR: unknown virtual device name:
42 2
|
7月前
|
Android开发 开发者
安卓投屏神器 Scrcpy安 报错ERROR: Could not find any ADB device
使用Scrcpy安卓投屏工具时遇到报错,问题根源是未开启开发者模式。解决步骤:进入设置,点击【关于手机】→连续点击版本号激活开发者模式,然后在【系统设置】→【开发者选项】中开启USB调试。参照此方法后可正常执行。Scrcpy软件下载链接和GitHub页面也已提供。
822 1
|
7月前
解决Error:All flavors must now belong to a named flavor dimension. Learn more at https://d.android.com
解决Error:All flavors must now belong to a named flavor dimension. Learn more at https://d.android.com
130 5
|
7月前
|
XML Android开发 数据格式
Caused by: android.view.InflateException: Binary XML file line #11: Error inflating class
Caused by: android.view.InflateException: Binary XML file line #11: Error inflating class
69 0
|
7月前
|
API Android开发
List.size() 问题 Android studio: Verbose,Debug,Info,Warn,Error
List.size() 问题 Android studio: Verbose,Debug,Info,Warn,Error
42 0
|
XML Android开发 数据格式
Android Binary XML file line #50: Error inflating class androidx.cardview.widget.CardView 错误
Android Binary XML file line #50: Error inflating class androidx.cardview.widget.CardView 错误
92 0