- 博客(53)
- 资源 (31)
- 问答 (4)
- 收藏
- 关注
原创 华为Harmony鸿蒙开发笔记十一:线程管理
鸿蒙的线程是有TaskDispatcher类来分发的,TaskDispatcher有四种GlobalTaskDispatcher、ParallelTaskDispatcher、SerialTaskDispatcher、SpecTaskDispatcher。创建对象: private String parallelName = "parallelTaskDispatcher"; private String serialName = "serialTaskDispatcher";
2021-01-24 10:20:25
918
1
原创 华为Harmony鸿蒙开发笔记十:剪切板
鸿蒙系统的剪切板都是由SystemPasteboard这个类来管理的,我们可以获取它的对象,来操作剪切板。剪切板的数据都放在PasteData对象里,我们可以用pasteboard.getPasteData();获取PasteData对象。 private SystemPasteboard pasteboard; pasteboard = SystemPasteboard.getSystemPasteboard(this); PasteData pasteData = pas
2021-01-17 21:50:30
2710
原创 华为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
670
原创 华为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
1836
原创 华为Harmony鸿蒙开发笔记七:公共事件
公共事件类似于Android的广播,有可能就是广播,下面将提到一个疑点。一个公共事件就两个使用地方,一个是发布事件,一个是接收事件,所以这里写两个Ability,MainAbility接收事件,SecondAbility发送事件。首先定义一个EventHandler类,用来异步处理消息:public class MyEventHandler extends EventHandler { public MyEventHandler(EventRunner runner) throws I
2021-01-03 09:48:36
1918
1
原创 华为Harmony鸿蒙开发笔记六:Ability跨设备分布式任务调度
目前来看,鸿蒙应用的跨设备分布式调度并不复杂,跟在本应用内调用没有太大却别,只是多了权限管理和设备管理的相关参数和配置。这里我将官方文档的代码整理一下,等待以后验证。首先配置权限,根据已经验证了的DataAbility可知,权限是配置在请求方的Ability的配置文件里的 { "skills": [ { "entities": [ "entity.system.home"
2021-01-01 22:48:04
1521
原创 华为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
4195
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
1204
原创 华为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
1109
原创 华为Harmony鸿蒙开发笔记二:PageAbility页面跳转
1、从一个Ability跳转到另外一个Ability: Intent secondIntent = new Intent(); // 指定待启动FA的bundleName和abilityName Operation operation = new Intent.OperationBuilder() .withDeviceId(""
2020-12-26 10:05:06
2349
原创 华为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
536
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
7897
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
600
原创 GitHub个人收藏的好用的Android库,持续更新。
1、https://github.com/CarGuo/GSYVideoPlayer视频播放器(IJKplayer、ExoPlayer、MediaPlayer),HTTPS,支持弹幕,外挂字幕,支持滤镜、水印、gif截图,片头广告、中间广告,多个同时播放,支持基本的拖动,声音、亮度调节,支持边播边缓存,支持视频自带rotation的旋转(90,270之类),重力旋转与手动旋转的同步支持,支持列表播放 ,列表全屏动画,视频加载速度,列表小窗口支持拖动,动画效果,调整比例,多分辨率切换,支持切换播放器,进度
2020-12-21 10:53:00
218
原创 Android Retrofit下载工具类
代码并非完全原创,由本人修改整理。使用非常简单: DownloadManager downloadManager = DownloadManager.getInstance(); downloadManager.setProgressListener(new DownloadManager.ProgressListener() { @Override public void progressChanged(int pro
2020-08-06 10:54:13
1060
3
原创 无需集成SDK,实现Android端的分享图片和视频功能。
最近APP要接入分享功能,主流就是微博微信QQ,需要去注册APP,集成SDK,非常麻烦。突然发现,可以调用系统的分享功能,这样可以省去很多的麻烦,但是系统的分享是一次性启用整个手机的分享,有时候会非常的多,并不是我们所需要的。所以我写了一个工具类,用来实现指定的平台来分享图片和视频,再也不用接入分享SDK了核心方法如下,根据指定的包名和分享方式,过滤所需要的的平台,返回intentprivate Intent getChooser(String packageName,String pa
2020-07-02 16:34:39
782
原创 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
234
原创 Android实现炫酷的底部菜单栏切换动画效果
最近按照需求做了一个花里胡哨的首页底部菜单切换,我不会做GIF,传两张图看一下效果点击不同的位置,底部Bar的凹陷位置会移动,同事选中的图标会上升,非选中的图标会下降,同时,图标的背景圆圈会做东升西落的动画效果。实现原理:这个效果其实可以分解为三个动画,1、底部凹陷位置的移动。2、图标的上升与下降。3、背景圆圈的东升西落图标上升下降的代码和背景运动的代码如下priv...
2019-11-12 17:35:32
3603
2
原创 Android用Animation实现完整的抛物线效果
最近需求要做一个小球上升再下降的抛物线运动,类似太阳东升西落的动画。在网上找了好久,好多的抛物线都是平抛,用于购物车添加效果。于是自己动手,做了一个完整的向上抛物线的动画。首先要区分两个概念,一个是VIew的坐标系,如下图(来自网络)另外一个就是Animation动画的坐标,最开始,我以为动画是在View坐标系上进行的。研究之后才发现,Animation有自己的坐标,跟View...
2019-11-11 11:44:10
2503
原创 Android使用GpuImage给图片、视频、相机添加滤镜
网上关于GpuImage使用的资料较少,我在使用的过程中整理出一个Demo,分享出来,希望帮助到有需要的人Demo比较简单首先是给图片加滤镜,这个比较简单,网上也有现成的例子给视频添加滤镜,这里还有裁剪功能,但有点小问题就是保存视频的时候音频有点不准确,因为我操作的是没有声音的视频,所以这点问题我没有解决,留给大家最后是给相机添加滤镜地址https://dow...
2019-07-19 11:56:35
2369
原创 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
2448
3
原创 自定义一个简单的Handler来了解Android的Handler机制
说来惭愧,工作三年了,都没了彻底解Android的几个重要的机制,只是会用,最近找工作被问的懵逼,所以我决定彻底了解这些机制,今天说的是Handler机制。 Handler机制每个人都能说出个大概,但是具体怎么实现的,估计很多人都说不出来,看源码又很枯燥,我就对着几个博客,尝试着自己实现自己的Handler机制,而且我成功了,贴出自己的小Demo,希望能帮助到各位...
2019-04-11 12:34:28
663
原创 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
128
原创 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
8696
1
原创 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
280
转载 PyramidBox 百度人脸检测算法 论文翻译
目前效果最好的人脸检测算法 PyramidBox:A Context-assisted Single Shot Face Detectorhttps://github.com/EricZgw/PyramidBox0 摘要 人脸检测研究从多年前就已开始,然而,在不受控制的环境中检测小的、模糊的及部分遮挡的人脸仍旧是一个有待解决的难题。针对棘手的人脸检测问题,本文提出了一种语境辅助的单...
2018-08-09 11:12:46
556
翻译 FaceNet: A Unified Embedding for Face Recognition and Clustering 翻译
摘要: 尽管最近在人脸识别领域取得了重大进展[10,14,15,17],但大规模有效地实施人脸验证和识别对当前方法提出了严峻挑战。 在本文中,我们提出了一种名为FaceNet的系统,它直接学习从面部图像到紧凑的欧几里德空间的映射,其中这种距离直接对应于面部相似性的度量。一旦生成此空间后,使用FaceNet嵌入作为特征向量的标准技术可以轻松实现面部识别,验证和聚类等任务。 ...
2018-07-17 09:52:55
847
原创 Image_label使用方法
1,下载安装包https://github.com/liulei01/DRBox,点击打开链接2.解压后,cmd命令下进入labelImg-master文件夹,执行语句pyrcc4 -o resources.py resources.qrcpython labelImg.py
2018-01-27 15:58:30
12590
3
原创 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
1815
原创 Android WebView显示不全的问题。图片不显示的问题。
最近写一个项目,用WebView加载网页的时候有时能显示全,有时能,有事还得滑动一下才能显示出来,奇怪,代码都是从一个正常的项目中拷贝过来的,怎么会出问题呢,而且百度谷歌半天都没解决,经过半天的排查,原因如下:<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http
2017-11-24 13:04:44
3636
原创 Android仿IOS的UISegmentedContro分段控制器
先上效果图效果如上,可以左右切换,也有监听事件,但缺点就是颜色没法设置,需要到XML中修改,也很简单。其实原理很简单,重写了一个SegmentedControLayout继承LinearLayout,放两个TextView,添加背景和监听器,实现联动。首先是样式,总共有四个,分别为左右的选中和不选中状态,我给出一个,其他的可以修改:<shape xmlns:android
2017-09-13 17:02:27
513
原创 Android Studio检查不到真机
电脑新装系统项之后,再装Android Studio,运行项目的时候检测不到真机,于是我上网搜了一下。首先查看端口是否能被绑定,使用cmd命令 adb nodaemon server如果提示:cannot bind 'tcp:5037'是端口绑定失败,则继续查看到底是哪个端口给占用了运行命令:netstat -ano | findstr "5037" 结果输出:TCP
2017-09-01 10:12:57
739
原创 Android自定义SeekBar,带开始值结束值和Thumb上方滑动的Text
之前根据网友的博文写了一个Demo(点击打开链接)但是这个Demo用到attr,layout color,还有其他的类,给使用者造成很多麻烦,我想,这样的自定义控件为啥不用一个类来完成呢,这样直接复制过来就能用,于是我彻底的封装了这个自定义的SeekBar,做到了一个类完成所有功能,而且代码量也不多。效果图: 原理,其实我不是自定义SeekBar,我是自定义了一个Relative
2017-08-28 19:08:36
4470
原创 Android双向表格可滑动可双向适配
项目需要做这种可滑动的表格,其实我觉得这些线图更好,没办法,领导要求;我的技术水平还没法让我徒手写一个这样复杂的控件,我在网上找了一个(原文找不到了,这里就不贴链接了),但是不太完美:第一,表头只有一个TextView,不能显示那种分割的表头;第二:数据只能纵向适配,不能横向适配;所以我在理解了这个代码之后做了改变,完善了这个Demo。代码我会给出完整的Demo,所以这里我就不贴了,只讲一
2017-08-21 18:14:37
2290
原创 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
2741
1
Android抛物线动画.zip
2019-11-11
Android使用GpuImage给图片、视频、相机添加滤镜.zip
2019-07-19
Android仿IOS的UISegmentedContro分段控制器
2017-09-13
为什么Calendar.DAY_OF_WEEk获取的数值一直都是7
2015-09-29
Android应用socket创建失败,抛出IOException,大神帮忙看看因为什么
2015-07-20
java创建socket时失败的原因有哪些?
2015-07-18
关于ServerSocket.accept()的疑问
2015-07-16
TA创建的收藏夹 TA关注的收藏夹
TA关注的人