![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
技术文档
87年的90后
这个作者很懒,什么都没留下…
展开
-
Android使用adb命令向APP发送特定广播
Android使用adb命令向APP发送特定广播原创 2023-04-06 09:32:20 · 1332 阅读 · 0 评论 -
华为Harmony鸿蒙开发笔记十一:线程管理
鸿蒙的线程是有TaskDispatcher类来分发的,TaskDispatcher有四种GlobalTaskDispatcher、ParallelTaskDispatcher、SerialTaskDispatcher、SpecTaskDispatcher。创建对象: private String parallelName = "parallelTaskDispatcher"; private String serialName = "serialTaskDispatcher";原创 2021-01-24 10:20:25 · 904 阅读 · 1 评论 -
华为Harmony鸿蒙开发笔记十:剪切板
鸿蒙系统的剪切板都是由SystemPasteboard这个类来管理的,我们可以获取它的对象,来操作剪切板。剪切板的数据都放在PasteData对象里,我们可以用pasteboard.getPasteData();获取PasteData对象。 private SystemPasteboard pasteboard; pasteboard = SystemPasteboard.getSystemPasteboard(this); PasteData pasteData = pas原创 2021-01-17 21:50:30 · 2663 阅读 · 0 评论 -
华为Harmony鸿蒙开发笔记九:IntentAgent
直观的来看,IntentAgent就是写一个Intent,设置好,但不执行,需要执行的时候再触发。 private IntentAgent agent; private void initAgent() { Intent intent = new Intent(); // 指定要启动的Ability的BundleName和AbilityName字段 // 将Operation对象设置到Intent中 Operation o原创 2021-01-17 08:29:58 · 657 阅读 · 0 评论 -
华为Harmony鸿蒙开发笔记八:通知
通知还是比价简单的,很容易就实现。首先,实现一个NotificationSlot,用来设置通知的方式和等级 private NotificationSlot slot; private void initNotificationSlot() { slot = new NotificationSlot("slot_001","slot_default", NotificationSlot.LEVEL_MIN); // 创建notificationSlot对象原创 2021-01-10 09:59:17 · 1815 阅读 · 0 评论 -
华为Harmony鸿蒙开发笔记七:公共事件
公共事件类似于Android的广播,有可能就是广播,下面将提到一个疑点。一个公共事件就两个使用地方,一个是发布事件,一个是接收事件,所以这里写两个Ability,MainAbility接收事件,SecondAbility发送事件。首先定义一个EventHandler类,用来异步处理消息:public class MyEventHandler extends EventHandler { public MyEventHandler(EventRunner runner) throws I原创 2021-01-03 09:48:36 · 1893 阅读 · 1 评论 -
华为Harmony鸿蒙开发笔记六:Ability跨设备分布式任务调度
目前来看,鸿蒙应用的跨设备分布式调度并不复杂,跟在本应用内调用没有太大却别,只是多了权限管理和设备管理的相关参数和配置。这里我将官方文档的代码整理一下,等待以后验证。首先配置权限,根据已经验证了的DataAbility可知,权限是配置在请求方的Ability的配置文件里的 { "skills": [ { "entities": [ "entity.system.home"原创 2021-01-01 22:48:04 · 1511 阅读 · 0 评论 -
华为Harmony鸿蒙开发笔记五:DataAbility操作数据库
学习鸿蒙应用开发,在DataAbility这里卡了好久,因为官方文档太简单了,漏掉了很多的东西,还好网上已经有大神已经做出来了,我查查资料,也做出自己的Demo来了。首先,在模块的build.gradle文件中添加compileOptions{ annotationEnabled true }apply plugin: 'com.huawei.ohos.hap'ohos { compileSdkVersion 4 defaultConfig { ...原创 2020-12-31 22:06:31 · 4120 阅读 · 8 评论 -
华为Harmony鸿蒙开发笔记四:ServiceAbility使用
按照上图创建ServiceAbility,会自动生成带有生命周期的类和配置文件:package com.example.serviceabilitydemo;import ohos.aafwk.ability.Ability;import ohos.aafwk.content.Intent;import ohos.rpc.IRemoteObject;import ohos.hiviewdfx.HiLog;import ohos.hiviewdfx.HiLogLabel;public..原创 2020-12-28 22:23:26 · 1165 阅读 · 0 评论 -
华为Harmony鸿蒙开发笔记三:PageAbility跨设备迁移
由于没有设备,模拟器又不支持启动多个,所以该功能没有实践,只贴代码,以后有机会再更新。跨设备迁移,就是讲一个Ability(页面),从A设备,显示到B设备上的功能。首先,讲需要迁移的Ability和它包含的Slice都实现IAbilityContinuation接口,并实现该接口的所有方法package com.example.continuationdemo.slice;import com.example.continuationdemo.MyApplication;import c原创 2020-12-26 23:15:27 · 1094 阅读 · 0 评论 -
华为Harmony鸿蒙开发笔记二:PageAbility页面跳转
1、从一个Ability跳转到另外一个Ability: Intent secondIntent = new Intent(); // 指定待启动FA的bundleName和abilityName Operation operation = new Intent.OperationBuilder() .withDeviceId(""原创 2020-12-26 10:05:06 · 2338 阅读 · 0 评论 -
华为Harmony鸿蒙开发笔记一:PageAbility生命周期
Ability可以理解为组件,跟Android相似但是又区别,Ability分类和作用如下图:Ability有两类,在前端显示的是FA(Feature Ability),就是图中的PageAbility,以及运行在后台的PA(Particle Ability),PA又有Service Ability和Data Ability两种。就像Android的Activity一样,PageAbility是使用最多的Ability。先从Ability的生命周期入手,Ability共有六个生命周期,.原创 2020-12-24 21:47:13 · 525 阅读 · 1 评论 -
从代码上看鸿蒙APP与Android APP的关系
昨天跑通了鸿蒙的helloWord,蛮高兴的,正准备继续深入的时候,在网上看到这样一篇文章https://zhuanlan.zhihu.com/p/338663467我按照文章的说法复盘了一下,贴出代码,供大家交流。1.当helloWord跑起来后,在build\intermediates\shell\debug\src\main目录下确实有Android 代码2、打开AndroidManifest.xml文件,可以看到Android配置信息3、打开配置文件指向的ShellMyA原创 2020-12-23 21:50:59 · 7888 阅读 · 11 评论 -
鸿蒙HarmonyOS第一个程序HelloWord
HarmonyOS 2.0发布,我本来想下载一个到手机上尝尝鲜,最后报名的时候说只有在华为应用市场上架过APP的开发者才能使用,我注册的时候是以个人身份注册的,所以就没报上名。转而我就想,要不要试用一下开发工具,体验一下,毕竟,要响应国产嘛,于是我就按照华为官方文档搭建了开发环境,写了个HelloWord。官方文档很详细,我就写一下我遇到的问题。鸿蒙官方文档https://developer.harmonyos.com/cn/docs/documentation/doc-guides/start-o原创 2020-12-22 17:32:00 · 594 阅读 · 0 评论 -
GitHub个人收藏的好用的Android库,持续更新。
1、https://github.com/CarGuo/GSYVideoPlayer视频播放器(IJKplayer、ExoPlayer、MediaPlayer),HTTPS,支持弹幕,外挂字幕,支持滤镜、水印、gif截图,片头广告、中间广告,多个同时播放,支持基本的拖动,声音、亮度调节,支持边播边缓存,支持视频自带rotation的旋转(90,270之类),重力旋转与手动旋转的同步支持,支持列表播放 ,列表全屏动画,视频加载速度,列表小窗口支持拖动,动画效果,调整比例,多分辨率切换,支持切换播放器,进度原创 2020-12-21 10:53:00 · 210 阅读 · 0 评论 -
无需集成SDK,实现Android端的分享图片和视频功能。
最近APP要接入分享功能,主流就是微博微信QQ,需要去注册APP,集成SDK,非常麻烦。突然发现,可以调用系统的分享功能,这样可以省去很多的麻烦,但是系统的分享是一次性启用整个手机的分享,有时候会非常的多,并不是我们所需要的。所以我写了一个工具类,用来实现指定的平台来分享图片和视频,再也不用接入分享SDK了核心方法如下,根据指定的包名和分享方式,过滤所需要的的平台,返回intentprivate Intent getChooser(String packageName,String pa原创 2020-07-02 16:34:39 · 766 阅读 · 0 评论 -
Android7.0相机和URI报exposed beyond app through ClipData.Item.getUri()错误
今天在写系统分享的时候,报了这个错误,百度一下,大部分的解决方案都是AndroidManifest.xml中添加provider,然后在写XML和工具类,十分麻烦,而且provider中还要引用android.support.v4.content.FileProvider这种过时的包。最后我参照一个项目,发现了一个非常简单的解决方案:在Application的onCreate方法中添加下面的代码就可以解决该问题 // android 7.0系统解决拍照的问题 St原创 2020-07-02 10:54:43 · 230 阅读 · 0 评论 -
Android实现炫酷的底部菜单栏切换动画效果
最近按照需求做了一个花里胡哨的首页底部菜单切换,我不会做GIF,传两张图看一下效果点击不同的位置,底部Bar的凹陷位置会移动,同事选中的图标会上升,非选中的图标会下降,同时,图标的背景圆圈会做东升西落的动画效果。实现原理:这个效果其实可以分解为三个动画,1、底部凹陷位置的移动。2、图标的上升与下降。3、背景圆圈的东升西落图标上升下降的代码和背景运动的代码如下priv...原创 2019-11-12 17:35:32 · 3562 阅读 · 2 评论 -
Android用Animation实现完整的抛物线效果
最近需求要做一个小球上升再下降的抛物线运动,类似太阳东升西落的动画。在网上找了好久,好多的抛物线都是平抛,用于购物车添加效果。于是自己动手,做了一个完整的向上抛物线的动画。首先要区分两个概念,一个是VIew的坐标系,如下图(来自网络)另外一个就是Animation动画的坐标,最开始,我以为动画是在View坐标系上进行的。研究之后才发现,Animation有自己的坐标,跟View...原创 2019-11-11 11:44:10 · 2492 阅读 · 0 评论 -
Android环形统计控件
这是一个相对简单的自定义控件,是根据总人数和统计人数的比例,来画出环形统计图,原理就是在同一个圆心上画上不同的圆形和扇形来达到想要的效果,该控件在屏幕适配上海有一些小问题,欢迎大家完善。下面是代码:源码下载:http://download.csdn.net/detail/y280903468/9158929效果图:原创 2015-10-06 16:46:06 · 2639 阅读 · 0 评论 -
Android内存溢出提示android.view.InflateException: Binary XML file解决方案
第一次独立开发一个项目,APP界面刚搭建好,就出现了内存溢出的怪事,代码写的也不多,图片也不大,为啥会内存溢出?报错提示中还有android.view.InflateException: Binary XML file,但提示错误的位置只不过是一个普通的ImageView,改来改去,都没有解决,更奇怪的是:在有的手机上运行会成功,在有的手机上运行会失败。解决方案:1把图片做成不同尺寸,在以下各原创 2016-04-25 10:22:41 · 2236 阅读 · 0 评论 -
Android直接使用JDBC+SSH连接外网MySQL数据库
网上很多人都说这种做法是不合理的,其实我也是这么觉得的,因为安全得不到保障,而且对数据库操作的业务逻辑不可能都放在Android断,这样会对APP造成很大压力。但是我们项目精灵非要做,于是我们就硬着头皮做了,也测试通了,我这里提供两个版本的DEMO,一个是连接内网,一个是连接外网,目前只在模拟器上测试过,真机不敢保证附注:我的代码是参照别人的,本来想列举链接的,但是找不到了,如果以后找到原文链原创 2016-05-30 15:13:27 · 4280 阅读 · 5 评论 -
Android Studio更换项目svn地址
感觉安卓屎丢丢还是有很多BUG的,在对SVN的支持上,我是踩了很多的坑,现在分享一下SVN地址变更后,如何在安卓屎丢丢中修改svn服务器地址1:右键单击项目-》Subversion-》ReloCate;入下图2,在弹出的对话框中跟换地址就可以了,如下图:填写完成后就可以更新了原创 2016-08-22 20:07:05 · 9056 阅读 · 0 评论 -
Android下拉刷新PullToRefresh源码解读
我是Android新手,我就先打算阅读优秀的开源项目来提高自己的水平,下面我将要把我自己解读的Android下拉刷新实现的基本步骤做一下我自己的解读学习资料来源:http://blog.csdn.net/leehong2005/article/details/12567757首先来看我的项目组成:1.基本布局原理示意图:我的基本布局原理部分就是实现该界面,效果如原创 2016-10-22 16:37:55 · 442 阅读 · 0 评论 -
React Native 热更新的组件react-native-pushy
我本来是Android程序猿,公司大领导偷偷带着部下用RN开发APP,准备清洗移动端程序猿,等我知道了,已经晚了,于是我紧急启动学霸模式,学习React Native ,期间还搞定了他们没有搞定的热更新问题。高兴之余写下这篇博客。准备:1、已经搭建好Android开发环境;2、已经搭建好React Native开发环境注意:Android Studio要升级到2.2以上版本,因为要原创 2017-04-07 16:49:58 · 2737 阅读 · 1 评论 -
Android自定义SeekBar,带开始值结束值和Thumb上方滑动的Text
之前根据网友的博文写了一个Demo(点击打开链接)但是这个Demo用到attr,layout color,还有其他的类,给使用者造成很多麻烦,我想,这样的自定义控件为啥不用一个类来完成呢,这样直接复制过来就能用,于是我彻底的封装了这个自定义的SeekBar,做到了一个类完成所有功能,而且代码量也不多。效果图: 原理,其实我不是自定义SeekBar,我是自定义了一个Relative原创 2017-08-28 19:08:36 · 4465 阅读 · 0 评论 -
Android Studio检查不到真机
电脑新装系统项之后,再装Android Studio,运行项目的时候检测不到真机,于是我上网搜了一下。首先查看端口是否能被绑定,使用cmd命令 adb nodaemon server如果提示:cannot bind 'tcp:5037'是端口绑定失败,则继续查看到底是哪个端口给占用了运行命令:netstat -ano | findstr "5037" 结果输出:TCP原创 2017-09-01 10:12:57 · 733 阅读 · 0 评论 -
Android WebView显示不全的问题。图片不显示的问题。
最近写一个项目,用WebView加载网页的时候有时能显示全,有时能,有事还得滑动一下才能显示出来,奇怪,代码都是从一个正常的项目中拷贝过来的,怎么会出问题呢,而且百度谷歌半天都没解决,经过半天的排查,原因如下:<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http原创 2017-11-24 13:04:44 · 3625 阅读 · 0 评论 -
Android 调用相机拍照时报错FileUriExposedException .jpg beyond app through Intent.getData()
最开始代码是没问题的,在7.0以上调用摄像头就报错,具体什么错我忘了,网上一搜,有解决方案,用provider来获取URI,照做了。调用摄像头不报错了,但是读取照片又报错了FileUriExposedException ****.jpg beyond app through Intent.getData()感觉是权限的问题,但是怎么都找不到问题出在哪,最后在stackoverflo原创 2017-11-24 13:12:53 · 1810 阅读 · 0 评论 -
ubuntu 16.04 caffe cpu安装
下载caffe的安装包git clone git://github.com/BVLC/caffe.git $ cd caffe$ cp Makefile.config.example Makefile.config (复制一份Makefile.config文件)$ make pycaffe$ make all$ make run$ make test测试$ pytho...原创 2018-08-20 16:55:38 · 277 阅读 · 0 评论 -
Android Studio 报Error: Program type already present: **.BuildConfig
从GitHub上检出一个项目,编译的时候报了这个错,网上查说是module的包名跟APP一样,我就修改了module的包名,但是还是报这个错,最后在stackoverflow有个方法是在app的build.gradle插入下面的代码defaultConfig { 。。。。。。 multiDexEnabled true 。。。。。。。。。。 }...原创 2019-01-08 14:34:15 · 8689 阅读 · 1 评论 -
No toolchains found in the NDK toolchains folder for ABI with prefix: mips64el-linux-android
从github上下载的项目报下面的错误No toolchains found in the NDK toolchains folder for ABI with prefix: mips64el-linux-android网上的答案说什么ndk版本问题,其实只要把项目的gradle中的gradle版本号改成可用的就行buildscript { repositories {...原创 2019-03-18 14:54:22 · 121 阅读 · 0 评论 -
自定义一个简单的Handler来了解Android的Handler机制
说来惭愧,工作三年了,都没了彻底解Android的几个重要的机制,只是会用,最近找工作被问的懵逼,所以我决定彻底了解这些机制,今天说的是Handler机制。 Handler机制每个人都能说出个大概,但是具体怎么实现的,估计很多人都说不出来,看源码又很枯燥,我就对着几个博客,尝试着自己实现自己的Handler机制,而且我成功了,贴出自己的小Demo,希望能帮助到各位...原创 2019-04-11 12:34:28 · 658 阅读 · 0 评论 -
CMake编译不通过Error occurred while communicating with CMake server. Check log /dumpDex-
找了个项目打开的时候报下面这个错Error occurred while communicating with CMake server. Check log /dumpDex-master/app/.externalNativeBuild/cmake/debug/armeabi-v7a/cmake_server_log.txt for additional information.网上的答...原创 2019-05-05 18:01:15 · 2441 阅读 · 3 评论 -
Android使用GpuImage给图片、视频、相机添加滤镜
网上关于GpuImage使用的资料较少,我在使用的过程中整理出一个Demo,分享出来,希望帮助到有需要的人Demo比较简单首先是给图片加滤镜,这个比较简单,网上也有现成的例子给视频添加滤镜,这里还有裁剪功能,但有点小问题就是保存视频的时候音频有点不准确,因为我操作的是没有声音的视频,所以这点问题我没有解决,留给大家最后是给相机添加滤镜地址https://dow...原创 2019-07-19 11:56:35 · 2363 阅读 · 0 评论 -
JDBC链接SQLServer数据库的大致步骤
我写大致步骤,每个步骤的具体做法,可以自行百度1、 安装好SQLServer数据库、eclipse2、 配置SQLServer的IP和端口号,这个可以上网搜,配置SQLServer为sa登录3、 在SQLServer数据中创建yq数据库,在yq数据库中创建yq_user数据表,当然,名字可以自己起,在代码中注意改正就行4、 下原创 2015-07-16 19:05:47 · 1006 阅读 · 0 评论