一、基础使用
1. 谷歌Play的虚拟机在读数据库文件时会读不到
解决:换个不是Play商店的AVD虚拟机即可。
2. 安卓读写文件相关
解决:raw,assert文件夹下的文件只读不可写,使用读写流操作内部存储时,可以在 /data/data/com.example.guang/files/ 下找到自己的文件。
3. 内容提供器,访问方应用需要加权限声明的
<uses-permission android:name="DatabaseProvider._READ_PERMISSION" />
<uses-permission android:name="DatabaseProvider._WRITE_PERMISSION" />
<queries>
<package android:name="com.example.guang" />
</queries>
4. 小白神坑
问题:找不到包了,listview.setAdpter方法用不了
错误代码:Inconvertible types; cannot cast 'android.view.View' to 'com.example.project2.ListView'
解决:注意自定义的类别跟系统的重,将DIY的类改为其他名。
4.在阅读郭霖的第一行代码时实现下载功能
问题:Android Studio之library工程中不能使用switch-case语句访问资源ID
解决: Android Studio之library工程中不能使用switch-case语句访问资源ID_casual_clover的博客-CSDN博客
二、项目踩坑
1. ImageView修改corner-radius
解决:Android ImageView 圆角实现 - 掘金 (juejin.cn)
我使用了CardView,完美解决
2 . 清楚对话框默认内边距
问题描述: 我设置的对话框周边总是有透明边距导致不能全屏显示。
解决:手把手带你玩转 DialogFragment - 掘金 (juejin.cn)
3. 导入开源项目需要修改的配置
问题描述: 在学习中需要导入运行别人的开源项目,但环境可能不同,因此时常build,或者run失败,以下为修改配置的步骤
- 需要改的文件
- 具体文件(建议新建个新项目,照着改)
compileSdkVersion 33 //改为本地版本
buildToolsVersion '33.0.1' //改为本地版本,这个都可以再sdk manager中看,选择其中一个buildtool
defaultConfig {
namespace "com.xwrl.mvvm.demo"
applicationId "com.xwrl.mvvm.demo"
minSdkVersion 26
targetSdkVersion 33 //改为本地版本
versionCode 1
versionName "1.0.0"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}
// Top-level build file where you can add configuration options common to all sub-projects/modules.
plugins {
id 'com.android.application' version '8.1.1' apply false //版本与新建项目一致
}
sdk.dir=C:\Users\zhangmingyu\AppData\Local\Android\Sdk //写本地Sdk路径,建议与新建项目的一致
#Wed Nov 17 20:47:21 CST 2021
distributionBase=GRADLE_USER_HOME
distributionUrl=https://services.gradle.org/distributions/gradle-8.0-bin.zip //与gradle版本一致
distributionPath=wrapper/dists
zipStorePath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
pluginManagement {
repositories {
google()
mavenCentral()
gradlePluginPortal()
}
}
dependencyResolutionManagement {
repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
repositories {
maven { setUrl("https://maven.aliyun.com/nexus/content/repositories/google") } //用阿里镜像,下载快
maven { setUrl("https://maven.aliyun.com/repository/public") }
maven { setUrl("https://maven.aliyun.com/nexus/content/repositories/jcenter") }
google()
mavenCentral()
}
}
rootProject.name = "Demo"
include ':app'
4. ( 神坑 )Installation did not succeed. The application could not be installed.
问题描述: build 成功,但是intall失败
解决:因为安卓Studio自带了instant run功能,以快速发布应用,类似于缓存,因此清理一下就好了。
5. 安卓webview无法打开网址
解决:(成功解决)网页无法打开位于http://www.baidu.com/的网页无法加载,因为:net:ERR_NAME_NOT_RESOLVED-CSDN博客
6. sdk34打开sdk33项目,谷歌浏览器闪退
解决:模拟机改为sdk32。
7. app inspection不能监听雷电模拟器的数据库
解决:改用自带的虚拟机