9 欧阳鹏

我要认证

一个人如果你不逼自己一把,你根本不知道自己有多优秀!

等级
TA的排名 267

【我的Android进阶之旅】解决进入页面展示,ScrollView直接就自动滚动到底部的问题

一、问题描述当ScrollView里面包含Recycleview或Listview或者其他的布局比如ConstraintLayout,并且数据在一个屏幕页面不能完全显示完全的时候,打开该页面,就会自动滚动到页面底部。但是这不是我们想要的效果。我们想要的效果是 页面进来就是正常显示,用户自己滑动的时候页面再滚动下去就好。如下所示:页面进来的时候,正常显示,直接在页面顶部。二、分析问题原因就是:Scrollview的childview,拥有获得焦点的能力,高度很大的childview获取到焦点,

2020-10-28 21:56:04

【我的Android进阶之旅】如何通过JNI来封装已有的C源码算法,然后让Java层调用C语言写的算法

一、需求描述最近有个需求,需要接入算法同事写的算法。算法同事的算法代码是用C语言写的,然后需要将该算法运用到Android层。然后经过一段时间的开发,算法人员将算法写好了,他们在PC端调试模拟数据,但是如何将他们的算法接入到Android层,他们不会。说白了,他们只懂C语言,其他的都不会。算法人员已经有已经有了下面的两个文件:.h文件(其中包括一些结构体的定义,还有一些方法的声明等等).c文件(里面是对.h文件中一些方法的实现)很显然这里说的.c文件中的函数肯定没有按照那种JNI的规范

2020-10-26 21:42:43

【我的Android进阶之旅】使用RecyclerView + SnapHelper实现类似抖音的竖向翻页效果

一、需求描述最近有个需求,其中一个小需求是做一个可以竖向翻页的效果,就是类似抖音不停刷刷刷的上下滑动的时候切换视频的效果一样。效果如下所示:第一页第二页每次滑动一下就翻一页。不滑动就翻页的效果如果不做处理的RecycleView的话,就无法实现滑动一下就翻动一页,会变成如下所示的效果:滑动一点,滚动一点。二、实现代码2.1 实现不能滑动就翻页的效果Activity的布局文件 activity_main2.xml其中就放一个RecyclerView&l

2020-10-23 21:11:17

【我的Android进阶之旅】实现跟随ViewPager滑动而滑动的指示器,并且滑动到最后一页之后继续滑动则跳转到其他页面

一、需求描述最近做了一个需求,其中有一个小需求如下所述的描述:做一个可以左右滑动的页面,然后在页面上方有一个跟随页面滑动而滑动的指示器。并且滑动到最后一页的时候继续滑动的话,则跳转到另外一个页面。效果如下所示:第一页第6页最后一页最后一页继续左滑,则跳转到第二个页面二、实现上面的效果2.1 自定义指示器自定义一个指示器,如下代码所示:思路很简单使用一个LinearLayout装载和页数一样多的灰显背景小块然后使用FrameLayout帧布局将背景滑

2020-10-23 20:41:34

【我的Android进阶之旅】Android Studio中JNI开发如何通过Extranal Tools 快速一键生成.h头文件

一、需求描述刚要开发一个JNI的项目,需要生成一些.h的头文件。如何能够快速提供编写好的java文件生成.h头文件呢?二、实现需求2.1 打开File->Setting->Tools->Enternal Tools2.2 新增你的 External Tools如上所示,已经有一个我刚刚新建的名字叫做【JNI】的 External Tools,我们来看下我们新增的这个JNI的内容是什么。我们可以通过点击 +号 按钮,新建一个External Tools。然后我们建一个名字叫

2020-10-20 16:38:54

【我的Android进阶之旅】解决Android 8.1系统部分机型获取Wifi名字为空 WifiInfo.getSSID为空或者为<unknown ssid>的情况

一、需求描述最近做一个需求,需要在做某个业务之前,判断Android设备是否连接上指定名称的WiFi。如果连接上了指定名称的WiFi才可以继续某个业务;否则就跳到设置去连接该指定名称的WiFi。因此,我需要获取当前Android设备连接的WiFi名称,来进行业务逻辑判断。二、实现方法2.1 通过WifiManager.getConnectionInfo().getSSID()通过WifiManager.getConnectionInfo().getSSID(),代码如下所示: privat

2020-10-19 14:57:10

【我的Android进阶之旅】解决Android Studio报的警告:Resource IDs will be non-final in Android Gradle Plugin version

一、问题描述最近写完一段代码,关于使用switch case语句来判断R.id的时候,出现了如下所示的警告:代码类似于下面这样,出现了警告。int id = view.getId();switch (id) { case R.id.button1: action1(); break; case R.id.button2: action2(); break; case R.id.button3: a

2020-10-17 16:41:58

【我的Android进阶之旅】解决升级AndroidStudio到4.1版本后打不开,报错java.lang.NoSuchMethodError

一、问题描述今天没事手动将Android Studio 从4.0 升级到4.1 之后,打不开了,报如下错误:Internal error. Please refer to https://code.google.com/p/android/issuesjava.lang.NoSuchMethodError: com.intellij.ide.plugins.PluginManagerCore.loadDescriptors()[Lcom/intellij/ide/plugins/IdeaPlugin

2020-10-16 16:08:46

【我的Android进阶之旅】解决Android8.0下TextView显示奇怪的断行问题,你真的了解Android TextView的breakStrategy吗?

一、问题描述前几天同事遇到一个很奇怪的关于TextView显示折行的问题,右边明明还有很多空白的地方,但是TextView就不显示直接换行了,如下所示:TextView的布局<?xml version="1.0" encoding="utf-8"?><androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" xml

2020-09-27 20:53:54

【我的Android进阶之旅】你了解adb device unauthorized的原因 和 adb授权机制的中adbkey与adbkey.pub的作用吗?

一、问题描述最近在某些第三方的硬件平台上开发一款APP,然后提测给测试人员测试。然后测试人员无法使用adb命令安装APP。运行adb devices命令 提示 xxx设备 unauthorized,如下所示:C:\Users\Administrator>adb devicesList of devices attachedxxx750xxx unauthorized测试运行 adb install -r 命令安装apk 也报错,如下所示:C:\Users\Administ

2020-09-05 17:30:56

【Kotlin学习之旅】Kotlin的类型别名typealias

一、类型别名typealias介绍Kotlin提供了类似于C语言的typedef 的功能:可以为已有的类型指定另一个可读性更强的名字。Kotlin提供了typealias来定义类型别名。typealias语句的语法格式为:typealias 类型别名 = 已有类型如果类型名称太长,你可以另外引入较短的名称,并使用新的名称替代原类型名。它有助于缩短较长的泛型类型。 例如,通常缩减集合类型是很有吸引力的:// 为Set<Network.Node> 指定更短的别名NodeSet t

2020-08-13 20:28:36

【Kotlin学习之旅】Kotlin的字符串类型

一、字符串类型介绍Kotlin的字符串有两种字面值(Literal),分别如下所示:类型描述转义字符串转义字符串可以有转义字符,转义字符串很像Java字符串原始字符串原始字符串可以包含换行和任意文本。原始字符串需要用3个引号引起来。二、字符串类型示例代码如下所示:fun stringTest() { //定义普通字符串 var str = "欧阳鹏" println(str.length) //定义原始字符串 va

2020-08-13 20:07:55

【Kotlin学习之旅】Kotlin的Elvis运算

Elvis运算是一个小技巧,其实就是if else 的简化写法。一、示例程序下面来一个示例对比代码,如下所示:fun elvisTest() { var b: String? = "oyp" var len1 = if (b != null) b.length else -1 //输出3 println(len1) b = null var len2 = b?.length ?: -1 // 输出 -1 println(len2)

2020-08-13 19:34:54

【Kotlin学习之旅】Kotlin的数值型之间的类型转换

Kotlin是一门强类型的语言,因此编译器对类型检查非常严格,这种严格保证了Kotlin程序的健壮性,因此Kotlin不同类型的值经常需要进行相互转换,数值型之间的变量和值也可以相互转换。一、整型之间的转换不同整型的变量能支持的表数范围是不同的。 如下所示:ByteByte型证书在内存中通常占8位,表数范围是 -128~127。 兼容Java的byte和Byte类型ShortShort型证书在内存中通常占16位,表数范围是 -32768(-2的15次方)~32767(2的15次方减1)

2020-08-13 09:59:48

【Kotlin学习之旅】Kotlin的字符型

一、简介字符型统筹用于表示单个的字符,字符型必须使用单引号(‘)括起来。Kotlin语言使用16位Unicode字符集作为编码方式,而Unicode被设计成支持世界上所有书面语言的字符,包括中文字符,因此Kotlin程序支持各种语言的字符。字符型值有以下3种表现形式。直接通过单个字符来指定字符型值,如‘A’、‘9’和‘0’等通过转义字符表示特殊字符型值,如‘\n’和’\t’等直接使用Unicode值来表示字符型值,格式是‘\uXXXX’,其中XXXX代表一个十六进制的整数。二、Kotlin

2020-08-12 21:14:12

股权、期权和原始股傻傻分不清楚?一文帮你安排的明明白白!

下面内容copy整理自:https://new.qq.com/omn/20200723/20200723A0QE4A00.htmlhttps://www.sohu.com/a/304030977_270543说到股权、期权和原始股,很多人可能多少都听过,但是要真让你说出个所以然来,很多人可能还是一头雾水,那么股权、期权和原始股有啥区别呢?这三者到底哪个更值钱?今天就来给大家提供满满的干货,以后再说起股权期权和原始股,就清楚里面的门道啦!我们经常能看到新闻里说创业公司对员工发放股权或者期权.

2020-08-01 15:13:40

2021计算机科学与技术考研学校排名 (第四轮计算机科学与技术学科评估排名结果出炉)

PS: 转载于: https://kaoyan.koolearn.com/20200611/1080433.html教育部学位与研究生教育发展中心公布了全国第四轮学科评估结果。在95个一级学科范围内开展(不含军事学门类等16个学科),共有513个单位的7449个学科参评。下面是一级学科哲学的评估结果,大家可以看看,选择合适的考研院校。一级学科代码及名称: 0812 计算机科学与技术本一级学科中,全国具有“博士授权”的高校共 77所,本次参评75所;部分具有“硕士授权”的高校也参加了评估;参评高校共.

2020-08-01 10:34:40

【我的Android进阶之旅】你的Android Studio中不显示build文件夹?快来看看是不是【show Excluded Files 】未勾选!

一、问题描述今天早上,不知道是在Android Studio中做了什么操作,编译完APP之后,整个build文件夹不显示出来。然后,在Terminal终端,我使用ls命令是可以看到build文件夹,如下所示:C:\CodeForAndroid\matrix\samples\sample-android>cd appC:\CodeForAndroid\matrix\samples\sample-android\app>ls -ltotal 24-rw-r--r-- 1 DH207

2020-07-30 14:42:28

【我的Android进阶之旅】快来使用Android Studio的Shelve功能吧!

一、Android Studio的Shelve功能介绍话说,我昨天在调试部分新代码的时候,有个同事正好过来,要我查看另外一个问题,而另外一个问题需要切换一下分支,因此我的需求就是:需要在未完成的事情之间切换不同的任务,然后再返回到它们。然后我就直接使用了Android Studio 自带的 Shelve Changes 功能,将代码直接搁置到了一边。接着分析完同事的问题之后,又使用了“Unshelve Changes” 功能,恢复了之前Shelve的代码。同事看完说: 居然还有这个操作,我居然不

2020-07-29 11:06:50

【我的Android进阶之旅】Android混淆踩坑之:开启了shrinkResources true,从而导致Resources.getIdentifier()使用的动态资源被移除的问题

一、问题描述前几天对一个之前未开启混淆的APP,进行了一轮混淆配置,开启混淆,开启删除无用资源之后,发现出现了一个bug: 即使用Resources.getIdentifier()动态调用一些图片资源的地方都无法正常显示,显示出来的图片资源都是纯黑的,没有了图片本身的内容。二、分析问题2.1 初步怀疑是不是资源ID被混淆了我将混淆关闭之后,发现没有此bug。因此应该就是因为混淆导致的bug。然后我猜想,是不是这些动态引用的图片的id被混淆了,所以导致调用的时候找不到。接着我去找到map

2020-07-22 16:19:31

查看更多

CSDN身份
  • 博客专家
勋章 我的勋章
  • GitHub
    GitHub
    绑定GitHub第三方账户获取
  • 脉脉勋章
    脉脉勋章
    绑定脉脉第三方账户获得
  • 签到新秀
    签到新秀
    累计签到获取,不积跬步,无以至千里,继续坚持!
  • 推荐红人
    推荐红人
    发布高质量Blink获得高赞和评论,进入推荐栏目即可获得
  • 阅读者勋章Lv2
    阅读者勋章Lv2
    授予在CSDN APP累计阅读博文达到7天的你,是你的坚持与努力,使你超越了昨天的自己。
  • 专栏达人
    专栏达人
    授予成功创建个人博客专栏的用户。专栏中添加五篇以上博文即可点亮!撰写博客专栏浓缩技术精华,专栏达人就是你!
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv2
    勤写标兵Lv2
    授予每个自然周发布4篇到6篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。
  • 学习力
    学习力
    《原力计划【第二季】》第一期主题勋章 ,第一期活动已经结束啦,小伙伴们可以去参加第二期打卡挑战活动获取更多勋章哦。
  • 原力新人
    原力新人
    在《原力计划【第二季】》打卡挑战活动中,成功参与本活动并发布一篇原创文章的博主,即可获得此勋章。
  • 1024勋章
    1024勋章
    #1024程序员节#连续参与两年活动升级勋章,当日发布原创博客即可获得