记录问题

这篇文章记录实际中遇到的问题,写给自己看,只为以后遇到同样问题快速解决,持续更新

 

目录

 

1.显示问题

1.1 recyclerview 加载完数据会自动跑到第一个item

1.2 scrollview嵌套横向滑动的recyclerview,只显示一个item

1.3 Chronometer 实现开始、暂停、结束功能

1.4 应用开启后,每隔一段时间向服务器传一次自己的位置

1.5 计算后的double精确到小数点后两位

1.6 shape画叠加圆

1.7 ScrollView嵌套recyclerView加载完数据总是自动滑动到最下面

1.8 ScrollView嵌套recyclerView,recyclerView只能显示一个item

1.9Tablayout指示器过长

2.配置问题

2.1 Kotlin plugin should be enabled before 'kotlin-android-extensions'

2.2 Error: Invoke-customs are only supported starting with Android O (--min-api 26)

2.3 Compatible side by side NDK version was not found. Default is 20.0.5594570

2.4 Android10 访问不了网络

2.5 build中文出现乱码

3.编译问题

3.1 gradle插件版本与gradle版本对应表

3.2 查看gradle详细错误信息

3.3 安装失败:Installation failed due to: '-99'

3.4 error: failed linking file resources. Cause: invalid type code: 2D

3.5  jjava.rmi.ServerError: Error occurred in server thread; nested exception is:     java.lang.AssertionError: Could not delete caches dir F:\beforeUpdate-new\BaseProject-1.0

3.6 项目突然乱码了,原本的Java文件变成了J标识

4.有用的工具合集

5.代码推送问题

1.远程推送被拒绝

2.refusing to merge unrelated histories


1.显示问题

1.1 recyclerview 加载完数据会自动跑到第一个item

       不要每次都setAdapter(),用add,然后notifyDataSetChanged()

1.2 scrollview嵌套横向滑动的recyclerview,只显示一个item

       原因:itemwidth设置了固定值,改成wrap_content就可以了

1.3 Chronometer 实现开始、暂停、结束功能

原文链接

1.4 应用开启后,每隔一段时间向服务器传一次自己的位置

原文链接

1.5 计算后的double精确到小数点后两位

 DecimalFormat df = new DecimalFormat("0.00");
 new BigDecimal(df.format(需要转的数据));

1.6 shape画叠加圆

要实现这样一个效果,可以考虑用layer-list来实现,本文只列举了两个,其他的请自行扩展

1
圆+圆
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">

    <item>
        <shape
            android:shape="oval"
            android:useLevel="true">
            <size
                android:width="@dimen/px280"
                android:height="@dimen/px280" />

            <solid android:color="#AAF7D2" />

        </shape>
    </item>

    <item
        android:bottom="@dimen/px20"
        android:left="@dimen/px20"
        android:right="@dimen/px20"
        android:top="@dimen/px20">
        <shape
            android:shape="oval"
            android:useLevel="true">
            <size
                android:width="@dimen/px100"
                android:height="@dimen/px100" />
            <solid android:color="@color/white" />
        </shape>
    </item>

</layer-list>
2
环+圆
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">

    <item>
        <shape
            android:shape="oval"
            android:useLevel="true">
            <size
                android:width="@dimen/px280"
                android:height="@dimen/px280" />

            <solid android:color="#AAF7D2" />
            <stroke
                android:width="@dimen/px10"
                android:color="@color/yellow" />
        </shape>
    </item>

    <item
        android:bottom="@dimen/px90"
        android:left="@dimen/px90"
        android:right="@dimen/px90"
        android:top="@dimen/px90">
        <shape
            android:shape="oval"
            android:useLevel="true">
            <size
                android:width="@dimen/px100"
                android:height="@dimen/px100" />
            <solid android:color="@color/white" />
        </shape>
    </item>

</layer-list>

1.7 ScrollView嵌套recyclerView加载完数据总是自动滑动到最下面

rv.setFocusableInTouchMode(false);
rv.requestFocus();

1.8 ScrollView嵌套recyclerView,recyclerView只能显示一个item

用NestedScrollView代替ScrollView

rv.setLayoutManager(new LinearLayoutManager(this){
    @Override
    public boolean canScrollVertically() {
        return false;
    }
});

1.9Tablayout指示器过长

Tablayout指示器太长,很难看,通过setTabIndicatorFullWidth(false);方法设置

 

2.配置问题

2.1 Kotlin plugin should be enabled before 'kotlin-android-extensions'

  'kotlin-android'需要放在'kotlin-android-extensions'的前面,app 的build.gradle中如下

apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'

2.2 Error: Invoke-customs are only supported starting with Android O (--min-api 26)

app的build.gradle下

android {
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }
   ...
}

2.3 Compatible side by side NDK version was not found. Default is 20.0.5594570

tools–>sdk manager–>Android sdk–>sdk tools–>show package detail–>找到NDK(side by side) 具体版本,完成下载并安装即可

2.4 Android10 访问不了网络

在AndroidManifest.xml <application />节点中加入  android:usesCleartextTraffic="true"

2.5 build中文出现乱码

help-edit Custom CM Options,在末尾加入-Dfile.encoding=UTF-8,然后重启as

3.编译问题

3.1 gradle插件版本与gradle版本对应表

https://developer.android.google.cn/studio/releases/gradle-plugin.html#updating-gradle

        gradle下载地址:https://services.gradle.org/distributions/

3.2 查看gradle详细错误信息

 gradlew compileDebug --stacktrace
        gradlew compileDebug --stacktrace -info
        gradlew compileDebug --stacktrace -debug
        gradlew compileDebugSources --stacktrace -info(推荐)

3.3 安装失败:Installation failed due to: '-99'

安装的时候出现了这个问题:List of apks: [0] 'F:\copy_dou\D\dou\workspace\dapingv1.1\app\build\outputs\apk\debug\app-debug.apk' Installation failed due to: '-99

解决方法:File--Invalidate Caches / Restart... 

3.4 error: failed linking file resources. Cause: invalid type code: 2D

原因是设置color的时候没有用正确的颜色格式,实际中可能会出错的两种情况:

通过Color.parseColor()方式设置颜色的时候忘了加“#”,比如Color.parseColor("#999999")写成Color.parseColor()

还有就是xml中color设置出错,我这次比较蠢,把android:textColor中的内容写成了文本

3.5  jjava.rmi.ServerError: Error occurred in server thread; nested exception is: 
    java.lang.AssertionError: Could not delete caches dir F:\beforeUpdate-new\BaseProject-1.0

解决步骤:

1.尝试build-clean project-rebuild project,没解决问题

2.尝试file-invalidate caches/restart,没解决问题

3.关闭as,找到上面说的文件路径,直接删除,提示该文件被java(TM) Platform SE binary占用,Ctrl+Shift+Esc启动任务管理器,找到该进程,结束任务,然后再打开as,编译、运行,成功

4.第3种方式就可以解决该问题了,可是每次都这么操作太费时间了,所以可以在出现这种情况的时候直接启动任务管理器结束占用文件的进程。推荐该方法

3.6 项目突然乱码了,原本的Java文件变成了J标识

解决方法:

删除.Androidstudio/system/caches下缓存文件再重新打开项目

用notepad++也可以看到正常的文件

 

4.有用的工具合集

1.gifSplitter(把gif分割为帧图片,当然ps也可以实现这个需求,不过这个更方便快捷嘛)

链接: https://pan.baidu.com/s/1D4xWgbIk57p2Pd4au9aImg 提取码: vdma

2.格式转换工厂(看名字就不用介绍是干啥了吧)

5.代码推送问题

1.远程推送被拒绝

按照这个方法解决了:https://www.cnblogs.com/wf-skylark/p/9315463.html

总结一下就是在terminal中用 git push -u origin +master​ 

2.refusing to merge unrelated histories

在你操作命令后面加--allow-unrelated-histories
例如:
git merge master --allow-unrelated-histories

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
来电记录问题的时间复杂性取决于记录的数量和操作的复杂度。假设有n个来电记录,下面是一些常见的操作和它们的时间复杂性: 1. 插入记录:将新来电记录插入到已有记录中,时间复杂性通常为O(1)或O(log n),具体取决于使用的数据结构。例如,如果使用哈希表,插入操作的平均时间复杂性为O(1);如果使用平衡二叉搜索树,插入操作的平均时间复杂性为O(log n)。 2. 删除记录:从已有记录中删除一个来电记录,时间复杂性通常为O(1)或O(log n),具体取决于使用的数据结构。与插入操作类似,如果使用哈希表,删除操作的平均时间复杂性为O(1);如果使用平衡二叉搜索树,删除操作的平均时间复杂性为O(log n)。 3. 查找记录:根据某些条件查找来电记录,时间复杂性通常为O(n)或O(log n),具体取决于搜索算法和数据结构。如果没有使用任何索引或排序机制,需要遍历所有记录才能找到匹配的记录,时间复杂性为O(n)。如果使用了索引或排序机制,可以将时间复杂性降低到O(log n)。 总体来说,如果使用适当的数据结构和算法,来电记录问题的时间复杂性可以在常数时间、对数时间或线性时间内解决。 至于空间复杂性,它通常取决于存储来电记录所需的内存空间。如果只需要存储来电记录的基本信息(如电话号码、呼叫时间等),空间复杂性通常为O(n),其中n是来电记录的数量。如果还需要存储其他附加信息(如来电者姓名、通话内容等),空间复杂性可能会更高。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值