自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(33)
  • 资源 (3)
  • 收藏
  • 关注

原创 BufferQueue

连接图形数据的生产者和消费者,生产者和消费者可以存在于不同的进程中,几乎所有的图形数据buffer的传递都依赖于BufferQueue。

2022-12-01 21:46:33 529 1

原创 Android Audio常见问题分析方法

分析audio dump,确定写给BT的data是否正常,MTK平台Android原生架构分析threadloop write节点,高通平台分析QXDM 1586节点,从dump确定问题大概位置。分析systrace 确定性能。AudioFocus状态(用于播放或者音量异常的情况)。AudioTrack是否正常创建bt连接是否正常通路异常,setMode,setSpeakerphoneOn等都会影响设备选择,sco调用流程是否正常。

2022-12-01 21:45:56 1109

原创 git常用命令

repo init初始化一个新的repo。等同于:git clone manifest repository & git checkout branch_namerepo sync将repo中所有仓库同步到本地。等同于:git clone repository & git checkout branch_namerepo start将repo中所有仓库新建一个branch。等同于:git commit提交修改。git branch列出当前所有分支。合并指定分支到当前分支。

2022-11-02 21:09:24 556

原创 Android Audio 焦点

app获取焦点之后,必须在其他app请求焦点时释放焦点。这种情况下,app会收到AudioFocusChangeListener的onAudioFocusChange()的回调,该方法在调用requestAudioFocus时指定。

2022-11-02 21:07:40 1013

原创 JNI基本语法

JNI基本语法

2022-04-10 22:58:58 891

原创 Android Audio播放流程

Android音频框架,audio播放流程

2022-04-07 00:32:03 11111 1

原创 C++杂项记录

本文主要记录学习C++过程中遇到的问题以及知识点

2022-02-20 00:32:36 460

原创 Android Audio杂项记录

Android Audio相关概念以及一些知识点

2022-02-16 00:35:34 4802

原创 代码管理相关问题

常见代码管理相关问题

2022-02-15 00:11:48 461

原创 Spring boot常见标签、注解解释

带有目录的标题application.propertiesMavenspring-boot-starterspring-boot-starter-web@RestController注解@RequestMapping注解application.propertiesSpringBoot项目启动的时候会自动加载application.properties配置文件。MavenMaven的作用是方便管理jar包。spring-boot-starterSpring Boot的核心启动器,包含了自动配置、日

2021-07-22 00:06:41 618

原创 Python学习之路

Python 是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。

2021-07-21 00:01:50 183 1

原创 Android build.gradle文件详解(转述自《Android第一行代码》第二版)

Android build.gradle文件详解1. 最外层目录下的build.gradle文件1.1 repostories1.2 dependencies2. app目录下的build.gradle文件2.1 apply plugin2.2 android2.3 buildTypes2.4 dependencies以下内容全是《Android第一行代码》(郭霖·第二版)中的内容,这篇文档只是为了记录一下Gradle是一个非常先进的项目构建工具,它使用了一种基于Groovy的领域特定语言(DSL)来声

2020-08-15 20:17:15 1126

原创 Android杂项记录

Android杂项记录

2020-08-15 00:14:19 262

原创 Java杂项记录

Java知识点汇总以及常见面试题“==”和equals()的区别==比较基本数据类型,比较的是值是否相等,比较引用数据类型时是地址值是否相等,地址值相等代表引用同一个对象,返回true。equals(),在Object类中比较的是地址值是否相等,而在其他类重写后,根据重写的equals()方法进行判断。构造方法能不能重写或者重载构造器不能被重写,但是能被重载。基本数据类型类型字节位数取值范围默认值byte18-128~1270short216-

2020-08-14 23:54:34 828

原创 Android TextView设置多样式文本,跑马灯以及霓虹灯效果

1.设置TextView字体颜色1)使用Html标签方式设置代码如下:tvTest1.setText(Html.fromHtml("电影<font color = blue>《斗牛》</font>,黄渤和奶牛的爱情故事。"));效果图如下:使用Html标签设置TextView文本样式2)使用SpannableString设置文本样式新建一个S...

2019-11-02 18:51:30 2629

原创 Android多线程基础知识详解(傻瓜教程)

线程的基本用法Android中的多线程和Java中的多线程语法基本相同。定义一个新的线程首先需要新建一个类继承自Thread,然后重写父类方法run(),在run()方法中编写耗时逻辑即可。一般情况这个类为内部类。class TestThread extends Thread{ @Override public void run(){ //处理具...

2019-01-19 12:03:49 657

原创 Android Intent常用方法详细介绍,显示Intent,隐式Intent,调用浏览器,拨号,发短信,传递数据

Intent介绍Intent是Android程序中各个组件之间进行交互的一种重要方式,它不仅可以指明当前组件想要执行的动作,还可以在不同组件之间传递数据。Intent一般用于启动活动,启动服务以及发送广播等场景。Intent大致可以分为两种,显示Intent和隐式Intent。Intent有多个构造函数的重载,其中最常用的一个是Intent(Context packageContext,Cla...

2019-01-11 18:15:26 6072 3

原创 Android NotificationManager详解

1.获取NotificationManager的实例调用Context的getSystemService()方法获取,getSystemService()方法接收一个字符串参数用于确定获取系统那一个服务,这里是Context.NOTIFICATION_SERVICE。NotificationManager manager = (NotificationManager)getSystemS......

2018-12-29 10:10:48 12453 8

原创 android状态栏(沉浸式状态栏,改变状态栏字体颜色,背景颜色)

通过主题设置状态栏在API21(android 5.0)之后,设置状态栏透明效果为半透明,并且为了保证在API19(android 4.4)之前的正常使用,所以需要3份不同的style文件。即values-v19(android 4.4之前使用),values-v21(android 5.0以后使用),自带的values(android4.4~android5.0之间使用)。在res文件下...

2018-12-03 22:12:01 12845 2

原创 Android 开发常用ADB命令集合

Android开发常用ADB命令:1. 安装apkadb install -r apk路径(注:-r表示覆盖)2. 启动应用adb shell am start -n package_name(包名)/launch_activity(启动Activity名)3. 查看当前连接设备adb devices4. 查看apk包名和类名方法一:aapt 目录 dump bad...

2018-10-28 19:47:18 4046 2

原创 Adapter中notify(),notifyAll(),notifyDataSetChanged(),notifyDataSetInvalidaded()方法的区别

1.notify()与notifyAll()notify()和notifyAll()一般用于唤醒被锁或等待中的adapter,两者都是object对象用于通知处在等待该对象的线程方法。notify唤醒一个正在等待该对象的线程,notifyAll唤醒所有正在等待该对象的线程。两者最大的区别是,notifyAll使所有原来在该对象上等待被notify的线程全部退出wait状态,变成等待该对象上的锁...

2018-10-28 19:34:29 3620

原创 android创建Menu菜单

上图看效果:menu.git首先在res文件夹创建一个menu文件夹,再在menu文件夹中创建一个menu resource file,命名为main。在此文件中添加如下代码:&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;menu xmlns:android="http://schemas.android.com/apk/res/and...

2018-08-15 23:29:34 2117

原创 Android项目目录结构中各个文件夹的作用

工程目录1. .gradle和.idea这两个目录下放置的都是Android Studio自动生成的一些文件,我们无须关心,也不要去手动编辑。2.app项目中的代码、资源等内容几乎都是放置在这个目录下的。3.build这个目录也不需要过多关心,它主要包含了一些在编译时自动生成的文件。4.gradle这个目录下包含了gradle wrapper的配置文件,使用grad...

2018-08-13 23:57:21 12783 2

原创 JAVA浮点数浮点数转换成人民币读法

    侵删!    在《疯狂JAVA讲义》第4章最后练习题中,第5题:编写一个程序,将浮点数转换成人民币读法字符串,例如,将1006.33转换成一千零六元三角三分。    这个题主要是一个逻辑判断的过程。首先考虑的问题是整数部分和小数部分,我们在这里给小数部分做个限制,因为只有角和分,所以就固定判断小数部分只有两位数。小数部分就分别判断角和分。接下来是整数部分,由于考虑到整数部分可能过长,所以我...

2018-05-05 12:17:42 825

原创 java控制台五子棋游戏

首先我们要知道做一个五子棋游戏的流程。①、用户输入坐标,根据坐标下棋。②判断用户是否赢棋。③如果没有,电脑随机产生坐标,下棋。④、判断电脑是否赢棋。然后就根据这个流程一直循环。 下面看代码,主要有三个类,游戏类,棋盘类,棋子类。我们从最简单的棋子类说起。棋子我们只需要黑棋和白棋,在这里我们使用枚举的方式。构造器传入当前棋子。getChessman()获取当前棋子。/** * 棋子枚...

2018-04-27 15:02:38 3651 2

原创 JAVA控制台扑克牌游戏,洗牌,发牌,比较大小

此游戏是一个简单的并且很基础的java控制台程序。这个扑克牌游戏主要的游戏过程是:首先创建一副扑克牌,创建好了后要进行洗牌,牌洗好了,需要玩家来玩,接下来就创建玩家。有洗好的牌,也有玩家了,那么就开始发牌,发完牌后,比较玩家中手牌的大小,大的那一位获胜。下面是代码: 首先创建一个扑克牌类,扑克牌主要有两个属性,一个是点数,一个是花色。给点数和花色生成getter和setter。然后重...

2018-04-24 11:51:31 5694 6

原创 eclipse无线循环输出时,怎样关闭

eclipse控制台无限循环输出的时候找到,找到控制台右边有一个红色方块按钮,点击即可停止运行。如下图

2018-03-25 14:25:55 2164

原创 启动Eclipse时,错误:WorkSpace Unavailable

在测试线程的时候,控制台无限循环输出,怎么也关不掉,最后索性就直接把eclipse直接关了,然后再重启,那么问题就来了。 就在我重新启动eclipse的时候,出现了错误:WorkSpace Unavailable这个错误。后来发现,在控制台无限循环输出的时候,将eclipse关掉,控制台依旧在后台运行。 解决办法:打开任务管理器,在后台进程中找到ecli...

2018-03-25 14:12:48 3581

原创 android ProgressBar 进度条demo

ProgressBar Demo进度条没有什么好讲解的,就是几个方法,熟悉了就ok。直接上代码。activity_main.xml&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:ap...

2018-01-13 13:30:00 787

原创 Android判断app是不是第一次启动

判断APP是不是第一次启动基本思路就是,在第一次启动APP的时候,在本地保存一个布尔数据进行记录。如果是第一次启动保存为true,然后进行判断,如果是true,则提示是第一次启动并且修改为false。如果是false,则提示不是第一次启动。代码如下:MainActivity.javapackage f3.nsu.com.firststart;import android.content.Sha...

2018-01-12 22:01:22 7479

原创 Android 自定义控件圆形图案

自定义控件圆形图案主要是利用Paint和Canvas,个人觉得这个demo没有什么需要讲解的,直接看代码就行。下面是代码。布局代码activity_main.xml&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;RelativeLayout xmlns:android="http://schemas.android.com/apk/res/andr...

2018-01-12 21:42:45 535

原创 android studio创建9.patch图片,使用时出现Error: Duplicate resources

创建9.patch图片右键点击需要创建9.patch图片的图片文件,选择"create 9-Patch file",然后按照需要设置。 制作好后,使用时出现Error:Duplicate resources这个错误表示文件重复。在创建9.patch图片时,自动生成的文件名和原来的名字一样,只是后缀变成了.9.png。比如说要创建"one.png"这个文件的9.patch文件,系统会...

2017-10-14 21:49:32 6341 1

原创 Android日志Log的封装以及每个级别的意义

Log级别介绍Log.v()是日志级别中最低的,对应verbose,常用于打印琐碎,意义不大的日志信息。Log.d()比Log.v()高一级,对应debug,常用于打印一些调试信息。Log.i()比Log.d()高一级,对应info,常用于打印分析问题的重要数据。Log.w()比Log.i()高一级,对应warn,常用于打印警告。Log.e()比Log.w()高一级,对应err...

2017-08-31 11:06:19 800

IntentDemo

android intent 详细demo。包括显示Intent,隐式Intent,打电话,打开浏览器,向下一个活动传递数据,返回数据给上一个活动。

2018-08-16

android Menu 菜单

android Menu菜单。android Menu菜单。android Menu菜单。android Menu菜单。

2018-08-15

android活动生命周期

android一般活动生命周期的过程,以及DialogActivity的生命周期

2017-10-28

空空如也

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

TA关注的人

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