自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

星光的专栏

探索未知的世界

  • 博客(45)
  • 收藏
  • 关注

原创 叛乱沙漠风暴server安装 ubuntu 22.04

最新版沙暴已经不支持centos了,还是使用ubuntu比较顺利。// 安装steamcmd依赖。

2023-10-26 23:18:02 496

原创 获取泛型T的class,java语言的缺陷

这样newTest()是获取不到泛型Class的,无解,我觉得是java的缺陷。需要继承一下在获取才行,例如上面的TestImpl,然后再获取。

2022-07-29 13:10:18 425 1

原创 Button跟随在RecyclerView底部

让按钮跟随RecyclerView底部,当RecyclerView数据过多,按钮置底。

2022-07-19 13:41:13 559

原创 沙暴解封玩家

查看被踢的玩家,根据steam id进行解封

2022-06-03 11:33:20 351

原创 okhttp3 get请求支持Body

okhttp3 的get请求如何支持Body?回答这个问题之前,首先http协议并不建议在get请求加body,意思是既然...

2022-05-23 17:28:36 4708 1

原创 Android Studio出现NoClassDefFoundError: javax/xml/bind/JAXBException

1.问题:Android Stuido出现编译过程,出现错误:java.lang.NoClassDefFoundError: javax/xml/bind/JAXBException2.原因是:Java 11删除了这个API3.方法:降低JDK版本到JDK 1.8。下载openjdk 1.8,然后再Android Studio里选择此路径。...

2022-03-25 10:44:24 3997

原创 Flutter Text提前换行,问题解决

/// 解决中文和英文提前自动换行问题extension FixAutoLines on String { String fixAutoLines() { return Characters(this).join('\u{200B}'); }}String str = "中文和word,或者数字,例如123456789之间混合容易提前换行";str.fixAutoLines()原理是,在每个字符插入不可见字符,让单词、数字不是连续的,这样系统就不会把他们当成整体进行换行了。.

2022-01-28 11:43:20 3223 1

原创 Flutter Text自动换行,全网独一份

网上搜不到,长时间探索,得出的结论,不容易。1、问题介绍Flutter的Text默认不支持自动换行,如果文字过长,会溢出到屏幕之外。例如这样的布局,此时Text换行失效:Row->Column->Text2、如何实现换行?(1)找到Text被包裹的所有Row(必须是Row),在Row内部,使用Expanded包住里面的元素(只包裹住通往Text那条线上的元素就行)(2)同时为Text套一个约束盒,ConstrainedBox,指定一个最大高度就好了。这样解决了

2022-01-28 11:39:24 10658 1

原创 flutter 实现自适应、自动换行、相对布局

两个控件,为了实现文本2紧靠文本1右侧。如果随着文本1变长,会将文本2顶到右侧,最终文本1继续边长会自动换行。Android实现:<LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="horizontal"> <TextView android:layout_w..

2022-01-19 19:33:38 3861

原创 支付宝恶意拉起日活?奇怪的NFCEntry页面

我在测试Android uri调起时,无意间使用通过intent打开https://xx.com,发现竟然带起了支付宝NFC页面。每次我写错url时,都会调起支付宝的NFC页面。后来反编译支付宝apk,看了一下com.alipay.mobile.nfc.ui.NFCEntry声明真相大白了,原来的这个页面,只匹配的https。也就是当https uri匹配不到后,系统会尝试匹配scheme部分,这样就匹配到了NFC页面。<data android:scheme="htt

2020-11-19 15:33:06 631

原创 鸿蒙AGPContainerView

鸿蒙开发过程,在所有鸿蒙组件,最终是画在了AGPContainerView上,AGPContainerView其实就是SurfaceView,为了兼容安卓,才这样做的。相当于所有组件都画在了SurfaceView的Canvans里,坐标从Activity获取,可以确定落在位置SurfaceView的哪个位置。...

2020-11-09 14:42:29 705

原创 解决Could not get resource 'https://dl.google.com

好久不写博客了,还是写一下吧,做个记录,也能帮助别人。自认为自己已经算是老鸟了,在使用Android Studio build的时候也总会遇到奇怪的问题,例如今天mac电脑在gradle build时遇到了这个问题:问题描述:Could not resolve all dependencies for configuration ':main:skeletonDebug...

2019-08-19 15:33:11 20122 1

原创 git 场景 :从一个分支cherry-pick多个commit

场景:在branch1开发,进行多个提交,这是切换到branch2,想把之前branch1分支提交的commit都【复制】过来,怎么办?首先切换到branch1分支,然后查看提交历史记录,也可以用sourceTree查看,也可以用命令git log例如我的git log 如下:commit 023sb6f299849a1fec3bbe72baaf315482522c

2017-11-09 17:41:58 104109 6

原创 android 音量获取和设置总结

1、获取音量值:    AudioManager audioManager = (AudioManager) mContext.getSystemService(Context.AUDIO_SERVICE);int currentVolume = audioManager.getStreamVolume(AudioManager.STREAM_MUSIC);其中AudioManag

2017-11-08 17:22:43 18626

原创 Fresco加载gif实现圆角(无动画)

/** * 将gif处理成圆形 * * @param imageView * @param url * @param reqWidth * @param reqHeight */ public static void displayRoundImageSupportGif(final ImageView imageVie

2017-11-06 15:31:05 1598

原创 Activity用户点击转屏后,恢复自由转屏

场景:在播放器界面,用户旋转手机,自动横竖屏切换,当用户处于竖屏点击全屏按钮时,应该转到横屏(使用Activity.setRequestedOrientation会导致屏幕固定为横屏)方案如下,不使用系统的自动转屏,自动转屏代码完全自己控制,代码如下:用户点击全屏和竖屏调用   setActivityOrientationimport and

2017-08-28 17:09:23 603

原创 查明某个方法被那个方法调用了

今天在工作中,没有更改任何代码,但是出现了bug,之前版本是没有的,说明肯定别人修改某些东西导致的。bug是这样的:Activity横屏播放视频时,由于网络错误,当重新开始播放视频的时候,activity被强制改为竖屏了。为了确定是那个方法搞的鬼,我在当前activity里面写如下代码:@Overridepublic void setRequestedOrie

2017-07-11 16:52:57 407

原创 放心使用Handler的removeCallbacksAndMessages

我在A类初始化了一个Handler,使用的是主线程的Looper,用于发送延迟消息和主线程切换,当A类释放资源的时候我调用removeCallbacksAndMessages(null),意思是清空当前Handler队列所有消息。因为不这样做会导致A类释放后还有可能执行Handler的那个延迟消息。有人review我代码的时候,说我在释放资源的时候把主线程的消息都清空了,我翻一

2017-04-24 09:42:22 28976

原创 java.lang.IllegalStateException native_dequeueOutputBuffer异常解决

java.lang.IllegalStateExceptionandroid.media.MediaCodec.native_dequeueOutputBuffer(Native Method)android.media.MediaCodec.dequeueOutputBuffer(MediaCodec.java:1033)原因是MediaCodec编码分辨率不支持。出现在

2017-03-17 17:27:34 13264 3

转载 Android Studio使用gradle-experimental构建NDK工程(无需Android.mk、Application.mk文件)

原文:http://www.jianshu.com/p/7844aafe897d本人已经成功1.首先新建一个Android工程Gradle_Experimental_NDK,我们打开Gradle_Experimental_NDK/gradle/wrapper下的gradle-wrapper.properties文件,进行如下配置:distributionUrl=https\:/

2017-02-24 21:37:24 1484

原创 git使用情景3:最常见的解决冲突

本地代码修改完毕,该提交了,开始准备提交【看一眼当前状态,命令:git status】B000000095605B:test baidu$ git statusOn branch masterYour branch is up-to-date with 'origin/master'.Changes not staged for commit:  (use "git add

2017-02-23 13:09:58 49368

原创 Java的序列化和反序列化,我所遇到的坑

有时需要为对象做持久化,就是把内存里的对象保存到磁盘(暂且叫做磁盘吧,可以等同于sp、db、文件、网络等)上,等以后需要这个对象的时候再从磁盘上还原到内存,因此需要序列化和反序列化。坑1、类里面一定要serialVersionUID,否则旧数据会反序列化会失败。serialVersionUID是根据该类名、方法名等数据生产的一个整数,用来验证版本是否一致。如果不加这个字段,

2017-01-19 18:04:14 11585

原创 机型适配遇到的奇葩

在网上搜索机型适配往往会搜索出一大堆什么布局适配,而我今天说的是,在工作中遇到的奇葩问题,以及解决办法。做安卓开发,真是心累,系统API不是都可以用的项目中需要使用系统的Camera和MediaRecorder录像,Android5.0之前使用Camera,之后使用Camera2。遇到了几个问题:1、三星SM-G9200使用Camera2录像生产的视频文件有问题,播放视频文件时,前

2017-01-09 17:05:55 579

原创 关于View在后台的getVisibility的坑

今天遇到了一个坑,直播间界面,用户清屏后,所有的View都不显示,恢复清屏后,所有的View都恢复显示。为了判断此时是清屏还是非清屏状态,直接随便判断一个View的显示状态:public boolean isVisibility(){    return textView.getVisibility() == View.VISIBLE;}奇怪的事情发生了,虽然所有的View都显

2016-12-20 16:53:10 5920

原创 git使用情景2:commit之后,想撤销commit

写完代码git add . //添加所有文件git commit -m "本功能全部完成"执行完commit后,想撤回commit,怎么办?这样凉拌:git reset --soft HEAD^这样就成功的撤销了你的commit说一下个人理解:HEAD^的意思是上一个版本,也可以写成HEAD~1如果你进行了2次commit,想都撤

2016-12-13 16:42:11 301813 30

原创 git使用情景1:正在写代码,突然线上出现了bug

最近在学习Git,如有说的不正确地方,请大神门指正。正在拼命的写代码,突然线上出现了一个bug,需要立刻解决,但是目前的工作空间代码改动挺大的,怎么解决?方法如下:方法1:在当前主分支修改bug暂存当前的改动的代码,目的是让工作空间和远程代码一致:git stash修改完bug后提交修改:git add .git commit -m "f

2016-12-13 16:00:03 4140 1

转载 Android6.0权限适配之WRITE_EXTERNAL_STORAGE(SD卡写入)

转载自UncleChen's Blog,作者:UncleChen本文链接地址:Android6.0权限适配之WRITE_EXTERNAL_STORAGE(SD卡写入)前一篇博客中介绍了Android6.0运行时权限简介,最近遇到这么一个情况,就是一个App以前都是在SD卡根目录直接新建了一个XXX/image/目录,来保存图片缓存的,但是如果适配到Android6.0,我们就需要弹

2016-11-15 13:34:43 2816

原创 学习安卓相关的网站

里面有很多优秀文章http://gold.xitu.io/welcome/android这个总结的还不错https://github.com/GeniusVJR/LearningNotes

2016-11-13 11:24:45 268

原创 Android Studio 导入eclipse带NDK的项目,使用Android.mk文件

我有一个eclipse项目,很久以前做的,现在需要导入到Android Studio里面,因为这个项目用到了JNI,所以不是直接转换那么简单。第一步:打开Android Studio,导入eclipse项目,它会自动帮你转换成格式。第二部:在gradle里面配置一下,目的为了指明mk文件以及输出so路径。在buildType里面写如下代码:sourceSet

2016-11-11 16:30:19 2626 1

原创 Android N 分屏适配

Android N就是Android7.0,虽然没有用过Android N,但是公司要求适配Android N,主要需要适配分屏,我进行了一番探索。当app切换/恢复分屏或画中画状态时,Activity会回调下面的方法:@Override    public void onMultiWindowModeChanged(boolean isInMultiWindowMode) {

2016-11-10 20:14:29 6149 2

原创 Android 横竖屏切换总结

有些应用需要支持横竖屏切换,例如播放器、直播间。切换横竖屏2种方式:1、通过点击按钮进行横竖屏切换setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);  //切换到横屏setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTR

2016-11-10 14:14:53 2523

原创 RelativeLayout的layout_marginBottom属性失效问题

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="wrap_content" android:layout_height="wrap_content"> <TextView android:id="@+id/tex

2016-10-25 14:28:14 13150 2

原创 Android Studio 里面的引用第三方库总结,以及compile、provided使用

Android Studio引用第三方库很方便,只需要一句代码就可以搞定,几种引用第三方库的方式,总结一下:方式:1:它就会自动把这个包下载下来,并且引用它。节省git空间,而且修改版本也很方便。compile 'com.android.support:support-v4:23.3.0'方式2:引用libs下所有jar包compile fileTree(dir:

2016-10-25 11:04:18 30447 6

原创 DatePicker TimePicker 需要注意的地方

1、产品要求不允许查看并选择以前的时间。2、在Android5.0系统里,TimePicker的setOnTimeChangedListener不回调。

2016-10-21 16:48:41 554

原创 使用SurfaceView实现飘赞动画

最近做直播项目,需要实现点赞动画,一提起动画就想到了使用View的属性动画,后来想了一下,那么多用户点赞,会导致屏幕上出现很多View,开销太大,一定会很卡,所以看主流主播软件用什么方案解决的。于是反编译了映客apk,大概看了一下,它的点赞只用了一个SurfaceView,每个心都是实时画到画布上去的,这样效率确实很高,再多的心也不怕了。思路有了,但是自己从头到尾写毕竟麻烦,后来上网查

2016-10-12 13:19:13 6123 8

转载 Android Applications and Resource Management

Android applications, as previously established, run within instances of the Dalvik virtual machine with each virtual machine being viewed by the operating system as a separate process. If the system

2016-10-09 11:24:32 385

转载 Android Activity and Low Memory

Android trivia of the day! Activity A starts Activity B, but there's not enough memory to start Activity B. What do you think will happen?A) Activity B crashes with java.lang.OutOfMemoryEr

2016-10-09 10:44:52 1329

原创 NumberPicker 选择器

final String[] array = new String[]{"频道1", "频道2", "频道3", "频道4", "频道5"}; View view = View.inflate(this, R.layout.layout_number_picker, null); NumberPicker numberPicker =

2016-09-27 10:01:46 1965

原创 Camera使用setPreviewCallbackWithBuffer优化内存

在直接设置mCamera.setPreviewCallback(this)方法后,启动预览,每产生一帧都会回调public void onPreviewFrame(byte[] data, Camera camera) 方法,看下面log:04-01 17:17:11.987 24768-24780/com.netease.carrecorder D/Camera-JNI: Allocatin

2016-04-01 17:40:14 8885 1

原创 使用ffmpeg录像,同时进行语音识别

使用javacv中的FrameRecorder进行录像,录像的时候,调用record方法写帧数据和音频数据,这时候我们有一个需求,录像的同时,要把声音实时拿过来进行语音识别。问题1:语音识别用的是讯飞的SDK,要求声音采样率8k或16k。而设置FrameRecorder.setSampleRate(8000)后,再FrameRecorder.start()会报错,报错如下:avcodec_enco

2016-03-31 18:47:40 2643

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除