netkiller-BG7NYT
https://netkiller.blog.youkuaiyun.com
展开
-
Android WebRTC 拉流代吗
【代码】Android WebRTC 拉流代吗。原创 2025-02-21 07:07:30 · 28 阅读 · 0 评论 -
Anroid 相机应用开发
安卓相机有两种使用方式,一种是调用系统自带相机APP,另一种是自己开发。下面代码就是自己开发的例子。原创 2024-12-18 10:51:06 · 248 阅读 · 0 评论 -
Android okhttp3 Restful 工具集
【代码】Android okhttp3 Restful 工具集。原创 2024-12-17 10:06:59 · 245 阅读 · 0 评论 -
Android 键盘事件
onKeyDown(int keyCode, KeyEvent event) 只能工作在 Activity 中,Fragment 也需要处理键盘时间,所以我用广播将键盘事件发送给 Fragment, broadcastKeyboard(keyCode, event);if (keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0) { //按下的如果是BACK,同时没有重复。// 处理向左方向键的操作。// 处理向右方向键的操作。原创 2024-11-12 14:51:38 · 599 阅读 · 0 评论 -
Android 播放视频
Toast.makeText(VideoViewActivity.this, "下一曲", Toast.LENGTH_SHORT).show();Toast.makeText(VideoViewActivity.this, "播放完成", Toast.LENGTH_SHORT).show();Toast.makeText(VideoViewActivity.this, "播放出错", Toast.LENGTH_SHORT).show();textViewStatus.setText("视频加载完毕");原创 2024-11-08 07:36:05 · 885 阅读 · 0 评论 -
Android MediaPlayer 媒体播放
播放一段特效声音,例如铃音,可以在点击按钮德时候调用 playSound()@Override});播放 res 中的资源文件= null) {try {// 或使用这种方式 mediaPlayer.setDataSource(assetFileDescriptor.getFileDescriptor(), assetFileDescriptor.getStartOffset(), assetFileDescriptor.getLength());原创 2024-11-08 07:35:01 · 646 阅读 · 0 评论 -
Android 开发一个手电筒APP
Toast.makeText(getApplicationContext(), "打开手电筒", Toast.LENGTH_SHORT).show();Toast.makeText(getApplicationContext(), "关闭手电筒", Toast.LENGTH_SHORT).show();原创 2024-11-07 10:32:31 · 750 阅读 · 0 评论 -
Android 使用 TabLayout 切换 Fragment
Log.e(TAG, "onTabSelected: 暴击 " + tab.getText() + " 位置: " + index);Log.e(TAG, "Tab 释放,并且切换最后一次点击位置: " + index);android:theme="@style/ThemeOverlay.犀慕.FullscreenContainer"Log.d(TAG, "Tab 切换出错" + e.getMessage());android:text="通知" />android:text="审核" />原创 2024-11-07 09:48:34 · 1136 阅读 · 0 评论 -
Android 下载管理
Toast.makeText(getApplicationContext(), "任务:" + id + " 下载完成!// //如果文件名不为空,说明已经存在了,拿到文件名想干嘛都好。//创建下载任务,downloadUrl就是下载链接。//获取文件下载路径。// //在广播中取出下载任务的id。//下载路径,如果路径无效了,可换成你的下载路径。//将下载任务加入下载队列,否则不会进行下载。//指定下载路径和下载文件名。原创 2024-11-07 09:42:28 · 909 阅读 · 0 评论 -
Android EventBus(四)
上面章节中的例子EventBus实例中采用默认方式这种方式的获取到的EventBus的都是默认属性,有时候并不能满足我们的要求,这时候我们可以通过EventBusBuilder来个性化配置EventBus的属性。// 创建默认的EventBus对象,相当于EventBus.getDefault()。// 添加由EventBus“注释预处理器生成的索引// 默认情况下,EventBus认为事件类有层次结构(订户超类将被通知)// 定义一个线程池用于处理后台线程和异步线程分发事件。原创 2024-11-03 08:00:00 · 537 阅读 · 0 评论 -
Android EventBus(三)
如果发布事件的线程不是主线程,那么事件处理方法将直接在该线程中被调用。如果发布事件的线程是主线程,那么将使用一个单独的后台线程,该线程将按顺序发送所有的事件。MainOrdered:也是直接在主线程中执行事件处理方法,但与Main方式不同的是,不论发布者所在线程是不是主线程,发布的事件都会进入队列按事件串行顺序依次执行;Main:直接在主线程中执行事件处理方法(即UI线程),如果发布事件的线程也是主线程,那么事件处理方法会直接被调用,并且未避免ANR,该方法应避免进行耗时操作;原创 2024-11-02 08:30:00 · 964 阅读 · 0 评论 -
Android EventBus (二)
Sticky Events 粘性事件可以理解为Message做了持久化,直到Message被消费为止。无需注册即可发送Message。下面的例子:在MainActivity发送事件,在StickyActivity里注册并且接收事件A. MainActivity 发送事件:B. StickyActivity 接收事件1. 注册2. 事件接收3. 取消注册。原创 2024-11-02 08:15:00 · 594 阅读 · 0 评论 -
Android EventBus (一)
在EventBus中主要有以下三个成员:Event:事件,可以自定义为任意对象,类似Message类的作用;Publisher:事件发布者,可以在任意线程、任意位置发布Event,已发布的Evnet则由EventBus进行分发;Subscriber:事件订阅者,接收并处理事件,需要通过register(this)进行注册,而在类销毁时要使用unregister(this)方法解注册。原创 2024-11-02 08:00:00 · 990 阅读 · 0 评论 -
Android 获取SIM卡状态,打电话,发短信
else{原创 2024-11-01 08:30:00 · 1120 阅读 · 0 评论 -
Android GPS 定位服务(二)
Log.e("Location", "定位方式:" + location.getProvider());Log.e("Location", "经度:" + location.getLongitude());Log.e("Location", "纬度:" + location.getLatitude());Log.e("Location", "海拔:" + location.getAltitude());Log.e("Location", "时间:" + location.getTime());原创 2024-11-01 08:15:00 · 765 阅读 · 0 评论 -
Android GPS 定位服务(一)
Log.e("Location", "定位方式:" + location.getProvider());Log.e("Location", "经度:" + location.getLongitude());Log.e("Location", "纬度:" + location.getLatitude());Log.e("Location", "海拔:" + location.getAltitude());Log.e("Location", "时间:" + location.getTime());原创 2024-10-31 19:37:26 · 808 阅读 · 0 评论 -
Android NFC (Near field communication) 开发
- 要求当前设备必须要有NFC芯片 -->android:label="NFC 初始化工具"<activity。原创 2024-11-01 08:00:00 · 631 阅读 · 0 评论 -
Android 声卡相关
例子: tinycap /sdcard/test.pcm -D 0 -d 0 -c 4 -r 48000 -b 32 -p 768 -n 10。如果不知道设备编号,可以使用 /proc/asound/cards 替代。这里可以看到 通道是 1,码率是 16000,调整录音参数之后,正常录音。-n n_periods 周期数。-D card 声卡。-d device 设备。device 0 表示录音设备。# 当前位 Off 状态。# 修改回 Off 状态。原创 2024-10-31 08:15:00 · 1125 阅读 · 0 评论 -
Android adb 命令
获取指定的属性 adb shell getprop net.bt.name。设置属性值为0表示一直打开虚拟按键,属性值为1 表示隐藏虚拟按键。-g :为应用程序授予所有运行时的权限。-d :允许降级覆盖安装。允许被发现,此时屏幕会弹出,需要按键确认。默认情况执行 adb 会提示找不到命令。-l :锁定应用程序。-p :部分应用安装。这里我使用的是 zsh shell。返回1表示开启,0表示关闭。只查看无线 IP 地址。原创 2024-10-30 21:37:15 · 729 阅读 · 0 评论 -
Android 讯飞 AIUI
Log.d(TAG, "歌曲\"" + "" + "\"播放出错: " + code + "\nINFO:产品未通过酷我验收,仅支持获取奇数id资源\n");//TODO 开发者需要实现生成sn的代码,参考:https://www.yuque.com/iflyaiui/zzoolv/tgftb5。Log.i(TAG, "酷我账号退出失败,错误码为:" + errCode + " ,信息为: " + errInfo);//注意事项1: sn每台设备需要唯一!//当前播放歌曲序号。原创 2024-10-31 08:00:00 · 907 阅读 · 0 评论 -
Android 实现汉字转汉语拼音
/ 必须设置WITH_U_UNICODE,否则会抛出异常。* WITH_TONE_MARK:直接用音标符(必须设置WITH_U_UNICODE,否则会抛出异常)* WITH_TONE_NUMBER:1-4数字表示音标。* WITH_U_AND_COLON:用"u:"表示ü。* WITH_U_UNICODE:直接用ü。* WITH_V:用v表示ü。原创 2024-10-30 02:43:35 · 1144 阅读 · 0 评论 -
Android 讯飞 TTS 文本转语音
showTip("初始化失败,错误码:" + code + ",请点击网址https://www.xfyun.cn/document/error-code查询解决方案");showTip("语音合成失败,错误码: " + code + ",请点击网址https://www.xfyun.cn/document/error-code查询解决方案");// Log.d(TtsDemo.TAG, "开始播放:" + System.currentTimeMillis());原创 2024-10-30 02:41:38 · 1101 阅读 · 0 评论 -
Android 讯飞语音唤醒
/ buffer.append("【唤醒词id】" + object.optString("id"));// buffer.append("【得分】" + object.optString("score"));// buffer.append("【前端点】" + object.optString("bos"));// showTip("请求成功");// 设置闭环优化网络模式。原创 2024-10-30 02:40:01 · 1098 阅读 · 0 评论 -
android fastjson
jsonObject 转 Java Object。对象转JsonObject。json 转 字符串。字符串 转 json。Json 转 map。原创 2024-10-27 15:12:31 · 471 阅读 · 0 评论 -
Android 自动升级故障之血泪排查
我们的创业项目,好不容易接到了一个单,要在合作厂商的安卓平板上安装一批我们研发的APP,首批已经安装成功,由于这是定制产品,所以我们没有自己的应用市场,采用APK包方式安装。如果我们app做了更新,会推送到平板,平板电机下载按钮自动安装。此前我们是自己的产品,是B2C模式,打包是 release。现在是客户定制版本,是 B2B2C,需要很多条件编译,例如区分来自那个合作厂商,因为后面涉及到的盈利分成。原创 2024-10-06 06:31:25 · 680 阅读 · 0 评论 -
安卓开发甘特图(Gantt)·子任务和任务组
项目管理甘特图Gantt 允许子任务或者叫任务组也可以。其实任务组,类似一个大括号。它将子任务包含进去即可。做这个项目,纯属闲得蛋疼,有时间就写写,没时间就搁置,三天打鱼两天晒网。我的项目管理工具,安卓甘特图,进展到了“子任务”功能阶段。持续关注博主,了解最新进度。原创 2024-08-31 13:56:47 · 450 阅读 · 0 评论 -
安卓开发甘特图 View 之 里程碑
在 View 中实现里程碑这个功能,有两种方案,一种是画矩形,然后旋转45度,另一种方案是使用路径绘制,比较了两种方案之后,最终我选择了路径方案。我的项目管理工具,安卓甘特图,进展到了“里程碑”功能阶段。在项目甘特图管理工具中,里程碑使用菱形方块表示。原创 2024-08-31 13:13:29 · 322 阅读 · 0 评论 -
Android 儿童绘本/汉语拼音实现
有这样一个项目,开发一个电子绘本,需要在绘本上显示,汉语拼音。原创 2024-07-11 18:03:11 · 157 阅读 · 0 评论 -
Android Gantt View 安卓实现项目甘特图
安卓平板,Gantt 甘特图开发原创 2024-07-11 17:43:07 · 433 阅读 · 0 评论 -
Android 安卓 BottomNavigationView 只显示文字,不能垂直局中对齐。
Android 安卓 BottomNavigationView 只显示文字,不能垂直局中对齐。原创 2024-04-28 20:08:25 · 396 阅读 · 0 评论 -
Android MQTTv5 代码示例
网上大部分 Android 链接 Mqtt 都是使用 v3 版本,paho 的客户端也多年没有更新,能在网上到的 MQTTv5 的例子很少,也没有在安卓上实践的代码。Android Service 启动 MQTTv5 监听 Topic。经过我长时间摸索,踩了不少坑,最终稳定的代码如问下。onDestory 种断开有是 Mqtt 的链接。onCreate 种启动 Service。新手容易忽视的是 生命周期管理。onResume 恢复启动。onStop 种要关闭。原创 2024-04-23 16:19:56 · 946 阅读 · 2 评论 -
Android MQTTv5 反复重连故障
经过检查 发现 close() 无法关闭链接,同时发现 mqttAsyncClient.isConnected() 并不是判断链接状态的,而是判断是否被 connect()过,一旦执行过 mqttAsyncClient.connect(mqttConnectionOptions);真正断开服务器的是 mqttAsyncClient.disconnect();经过修该代码,解决重连问题。Android 8/11+ 版本使用 Paho mqttv5 版本链接 MQTT服务。安卓系统反复重连mqtt,表现为。原创 2024-04-23 15:59:28 · 882 阅读 · 3 评论