<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[king的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/gs12software</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; gs12software]]></copyright><item><title><![CDATA[安卓开发在AI时代何去何从？]]></title><link>https://blog.youkuaiyun.com/gs12software/article/details/159281161</link><guid>https://blog.youkuaiyun.com/gs12software/article/details/159281161</guid><author>gs12software</author><pubDate>Fri, 20 Mar 2026 11:59:17 +0800</pubDate><description><![CDATA[在这个技术飞速迭代的时代，人工智能(AI)正以前所未有的速度重塑着软件开发领域。作为曾经移动互联网时代的霸主，安卓开发如今站在了AI变革的十字路口。许多开发者不禁要问：在AI浪潮的冲击下，安卓开发将何去何从？我们的职业又将面临怎样的挑战与机遇？]]></description><category></category></item><item><title><![CDATA[安卓JNI从0到1入门教程（三）]]></title><link>https://blog.youkuaiyun.com/gs12software/article/details/131681348</link><guid>https://blog.youkuaiyun.com/gs12software/article/details/131681348</guid><author>gs12software</author><pubDate>Thu, 13 Jul 2023 14:35:50 +0800</pubDate><description><![CDATA[前面两篇博客介绍了jni相关内容，以及怎么在Android中简单使用，demo比较简单。这次来讲讲复杂一点的java和C/C++的互相调用。下面我们将要实现的功能是将Java对象传递给C++，然后用C++的对象接收值，最后把C++对象的值回传给Java层。]]></description><category></category></item><item><title><![CDATA[安卓JNI从0到1入门教程（二）]]></title><link>https://blog.youkuaiyun.com/gs12software/article/details/131636204</link><guid>https://blog.youkuaiyun.com/gs12software/article/details/131636204</guid><author>gs12software</author><pubDate>Mon, 10 Jul 2023 16:24:01 +0800</pubDate><description><![CDATA[打开File-Settings-Tools-External Tools，添加新的工具，命名为ndk-build（随意命名），Program配置选择你的ndk所在的目录下的ndk-build.cmd，这个通常在你的AndroidStudio的安装目录下的ndk目录，Working directory填写项目的jni目录。控制台切换到jni目录下，也就是包含Android.mk和Application.mk的目录，执行ndk-build命令，成功后可以在libs文件夹下找到。]]></description><category></category></item><item><title><![CDATA[安卓JNI从0到1入门教程（一）]]></title><link>https://blog.youkuaiyun.com/gs12software/article/details/131529052</link><guid>https://blog.youkuaiyun.com/gs12software/article/details/131529052</guid><author>gs12software</author><pubDate>Tue, 04 Jul 2023 17:55:20 +0800</pubDate><description><![CDATA[JNI（Java Native Interface）是Java编程语言提供的一种编程框架和技术，用于在Java应用程序中调用Native代码（通常是用C/C++编写的）以实现底层功能和与操作系统、硬件交互。JNI允许开发者编写用C/C++等本地语言编写的代码，然后通过JNI接口与Java代码进行交互。例如常见的音视频处理，图像处理，地图等等都会用到JNI。]]></description><category></category></item><item><title><![CDATA[在安卓中使用WebSocket]]></title><link>https://blog.youkuaiyun.com/gs12software/article/details/131300245</link><guid>https://blog.youkuaiyun.com/gs12software/article/details/131300245</guid><author>gs12software</author><pubDate>Tue, 20 Jun 2023 10:00:52 +0800</pubDate><description><![CDATA[WebSocket是一种在Web浏览器和服务器之间进行实时双向通信的协议。与传统的HTTP请求-响应模型不同，WebSocket允许服务器主动向客户端推送数据，而不需要客户端发起请求。当然，发展到如今，WebSocket已经不再局限于Web浏览器了，也可以在移动应用、桌面应用上使用。]]></description><category></category></item><item><title><![CDATA[Android低功耗蓝牙(BLE)开发（一）]]></title><link>https://blog.youkuaiyun.com/gs12software/article/details/131226724</link><guid>https://blog.youkuaiyun.com/gs12software/article/details/131226724</guid><author>gs12software</author><pubDate>Fri, 16 Jun 2023 11:28:31 +0800</pubDate><description><![CDATA[BLE是指低功耗蓝牙（Bluetooth Low Energy），也被称为蓝牙4.0。它是蓝牙技术的一种变体，旨在消耗更少的电量，具有便携性，并且可以在无线传输距离较短的范围内实现低速数据传输。BLE技术已经广泛应用于智能家居、健康监测、物联网等场景中。]]></description><category></category></item><item><title><![CDATA[Android低功耗蓝牙(BLE)开发（二）]]></title><link>https://blog.youkuaiyun.com/gs12software/article/details/131228434</link><guid>https://blog.youkuaiyun.com/gs12software/article/details/131228434</guid><author>gs12software</author><pubDate>Fri, 16 Jun 2023 11:28:08 +0800</pubDate><description><![CDATA[在Android BLE通信中，如果要发送的数据大小超过MTU（最大传输单元）的限制，就需要进行数据分包处理。在上一篇文章中我们了解了BLE的相关概念，这里我们来实际用代码演示安卓进行BLE连接和通讯的功能。]]></description><category></category></item><item><title><![CDATA[安卓使用VLC播放视频，实现截图和录制功能]]></title><link>https://blog.youkuaiyun.com/gs12software/article/details/130618598</link><guid>https://blog.youkuaiyun.com/gs12software/article/details/130618598</guid><author>gs12software</author><pubDate>Thu, 11 May 2023 12:23:21 +0800</pubDate><description><![CDATA[使用vlc-android库播放RTSP视频]]></description><category></category></item><item><title><![CDATA[Java实现AES加密解密]]></title><link>https://blog.youkuaiyun.com/gs12software/article/details/128835912</link><guid>https://blog.youkuaiyun.com/gs12software/article/details/128835912</guid><author>gs12software</author><pubDate>Fri, 05 May 2023 11:52:17 +0800</pubDate><description><![CDATA[AES（Advanced Encryption Standard）高级加密标准，是一种被广泛使用的对称加密算法，用于加密和解密数据。它曾经是美国政府的一个机密标准，但现在已成为公开的加密算法，并被广泛使用于商业、政府及军事领域。AES算法有三种不同的密钥长度：128位、192位和256位，每种长度有不同数量的轮数，其中128位密钥需要进行10轮加密，192位密钥需要进行12轮加密，256位密钥需要进行14轮加密。]]></description><category></category></item><item><title><![CDATA[Android实现进程保活的思路]]></title><link>https://blog.youkuaiyun.com/gs12software/article/details/130502312</link><guid>https://blog.youkuaiyun.com/gs12software/article/details/130502312</guid><author>gs12software</author><pubDate>Fri, 05 May 2023 11:14:07 +0800</pubDate><description><![CDATA[在Android应用程序中，为了保证应用的正常运行和稳定性，有时需要对进程进行保活。以下是一些实现进程保活的方法：使用前台服务：将服务调用startForeground()方法，并传入一个通知对象，将该服务置于前台运行状态。这样可以使得该服务的优先级更高，从而减少被系统杀死的概率。使用JobScheduler：使用这个API可以让应用程序以更低的功耗周期性地执行任务，从而避免长时间占用CPU资源。使用AlarmManager：使用这个API可以让应用程序在指定的时间间隔内执行任务。]]></description><category></category></item><item><title><![CDATA[关于安卓10以上连接wifi无法联网的问题]]></title><link>https://blog.youkuaiyun.com/gs12software/article/details/129005358</link><guid>https://blog.youkuaiyun.com/gs12software/article/details/129005358</guid><author>gs12software</author><pubDate>Mon, 13 Feb 2023 12:03:15 +0800</pubDate><description><![CDATA[在Android10之前应用内连接wifi是调用addNetwork和enableNetwork。但在Android10以后以上方法不会生效，在使用新api连接成功后，也可能无法访问外部网络。]]></description><category></category></item><item><title><![CDATA[Android音视频开发(九)MediaCodec解码播放视频]]></title><link>https://blog.youkuaiyun.com/gs12software/article/details/106349092</link><guid>https://blog.youkuaiyun.com/gs12software/article/details/106349092</guid><author>gs12software</author><pubDate>Thu, 28 May 2020 14:32:51 +0800</pubDate><description><![CDATA[简介
MediaCodec是Android提供的用于对音视频进行编解码的类，即编码器/解码器组件。它通过访问底层的Codec来实现编解码的功能。是Android media基础框架的一部分，通常和 MediaExtractor, MediaSync, MediaMuxer, MediaCrypto, MediaDrm, Image, Surface和AudioTrack 一起使用，在视频播放和视频压缩编码中起到重要作用。官方文档
工作流程
整体的流程上看，MediaCodec编解码器是对输入数据进行处理然后]]></description><category></category></item><item><title><![CDATA[微信小程序下拉刷新/上拉加载组件]]></title><link>https://blog.youkuaiyun.com/gs12software/article/details/105972320</link><guid>https://blog.youkuaiyun.com/gs12software/article/details/105972320</guid><author>gs12software</author><pubDate>Thu, 07 May 2020 14:40:52 +0800</pubDate><description><![CDATA[简介
一款基于官方组件scroll-view进行封装的支持上拉加载下拉刷新的微信小程序组件，需要基础库2.10.1及以上，
项目地址：github
预览
在这里插入图片描述

功能

下拉刷新
上拉加载
支持自定义下拉样式
支持自定义上拉加载样式

使用示例
{
  "usingComponents": {
    "pull-refresh-view":"../components/pull-r...]]></description><category></category></item><item><title><![CDATA[Android音视频开发(八)MediaExtractor]]></title><link>https://blog.youkuaiyun.com/gs12software/article/details/105951635</link><guid>https://blog.youkuaiyun.com/gs12software/article/details/105951635</guid><author>gs12software</author><pubDate>Wed, 06 May 2020 16:52:28 +0800</pubDate><description><![CDATA[简介
MediaExtractor，用于提取指定媒体文件的媒体信息的一个工具类。说白一点，就是可以利用它从一个视频文件中提取出视频的相关信息，例如视频轨道，音频轨道，时长，格式等等。
MediaExtractor通常和MediaCodec一起使用，用于视频解码播放。
说明
在使用MeidaExtractor之前，我们先了解下一个视频文件的构成：

音频数据
视频图像数据（帧）
文件信息，如大小，时...]]></description><category></category></item><item><title><![CDATA[Android音视频开发(七)AudioTrack播放音频]]></title><link>https://blog.youkuaiyun.com/gs12software/article/details/105831867</link><guid>https://blog.youkuaiyun.com/gs12software/article/details/105831867</guid><author>gs12software</author><pubDate>Wed, 29 Apr 2020 11:11:39 +0800</pubDate><description><![CDATA[之前我们介绍了AudioRecord是用于录制音频的，那么与之相对应，AudioTrack是用于播放音频的。
简介
AudioTrack类用于管理和播放单个音频资源。它允许将PCM音频缓冲区流传输到音频接收器以进行播放。AudioRecord录制PCM数据是通过“read”形式读入缓冲区，那么AudioTrack则是通过"write"形式从缓冲区输出。
AudioTrack实例可以在两种模式下运行...]]></description><category></category></item><item><title><![CDATA[Android音视频开发(六)MediaRecorder录制视频]]></title><link>https://blog.youkuaiyun.com/gs12software/article/details/105214944</link><guid>https://blog.youkuaiyun.com/gs12software/article/details/105214944</guid><author>gs12software</author><pubDate>Tue, 31 Mar 2020 17:01:03 +0800</pubDate><description><![CDATA[简介
安卓api提供了Camera类控制相机捕获图像，在api21以后，安卓也提供了Camera2，Camera变得过时了，但为了兼容性，这里还是使用Camera。
使用
使用Camera进行拍照摄像前，你得先申请权限：
&lt;!-- 相机权限 --&gt;
&lt;uses-permission android:name="android.permission.CAMERA" /&gt;
&l...]]></description><category></category></item><item><title><![CDATA[Android音视频开发(五)AudioRecord录制音频]]></title><link>https://blog.youkuaiyun.com/gs12software/article/details/105111803</link><guid>https://blog.youkuaiyun.com/gs12software/article/details/105111803</guid><author>gs12software</author><pubDate>Thu, 26 Mar 2020 11:18:42 +0800</pubDate><description><![CDATA[简介
AudioRecord是安卓多媒体框架中用于录制音频的工具。它支持录制原始音频数据，即PCM数据，PCM数据不能被播放器直接播放，需要编码压缩成常见音频格式才能被播放器识别。而原生api也提供了AudioTrack播放PCM数据。
录音流程
AudioRecord是通过read方式不断读取来自音源输入的数据流(字节流)，进而把数据流保存成PCM数据。
开始录音的时候，AudioRecord需...]]></description><category></category></item><item><title><![CDATA[Android音视频开发(四)MediaRecorder录制音频]]></title><link>https://blog.youkuaiyun.com/gs12software/article/details/104892980</link><guid>https://blog.youkuaiyun.com/gs12software/article/details/104892980</guid><author>gs12software</author><pubDate>Wed, 25 Mar 2020 10:34:25 +0800</pubDate><description><![CDATA[Android中，音频的采集通常使用AudioRecord相关的API，下面我来介绍一下AudioRecord：

]]></description><category></category></item><item><title><![CDATA[安卓7.0报错android.os.FileUriExposedException]]></title><link>https://blog.youkuaiyun.com/gs12software/article/details/77676970</link><guid>https://blog.youkuaiyun.com/gs12software/article/details/77676970</guid><author>gs12software</author><pubDate>Mon, 23 Mar 2020 16:49:00 +0800</pubDate><description><![CDATA[最近在开发过程中遇到了这样一个错误，android.os.FileUriExposedException: file:///storage/emulated/0/xxx/xxx.doc exposed beyond app through Intent.getData()
出现这个问题是在使用Intent附带uri打开sd卡下的doc文件，而在Android 7.0后，应用使用StrictMo]]></description><category></category></item><item><title><![CDATA[对安卓开发者的一些建议]]></title><link>https://blog.youkuaiyun.com/gs12software/article/details/104893270</link><guid>https://blog.youkuaiyun.com/gs12software/article/details/104893270</guid><author>gs12software</author><pubDate>Mon, 16 Mar 2020 11:05:02 +0800</pubDate><description><![CDATA[发展现状

Android系统最早正式发布在2008年，但正式开始兴起大概是在2009年，到了2012年左右，安卓已经发展迅猛，涌现一大批安卓开发者，然而随着市场的饱和态逐渐呈现，加上各种跨平台技术的出现，到了今天，很多安卓开发者的担忧也出现了，市场到底是供不应求还是供过于求？

说实话，这个问题我很难回答，因为你说市场不需要安卓开发者了吗？需要，但需求量确实不怎么高。如今，纯安卓原生开发可谓是越...]]></description><category></category></item></channel></rss>