- 博客(350)
- 资源 (25)
- 问答 (8)
- 收藏
- 关注
原创 四款AI视频翻译产品横评
整体来说,视频转翻的产品目前不多,而且使用价格较贵。由于WaveAI网站没有做国际化,可能对不会英文的朋友不太友好,但是相对低廉的价格可能是他的优势。是一个基于 GPT-4 打造的帮用户快速使用AI的AI工具,通过与它的小助手对话可以了解各种AI的产品功能和使用方式。今天我们测评最新的4款视频翻译软件,分别是 RaskAI、WavelAI、 lingosyncAI和Zeemo。免费版提供一次试用,可以上传20分钟以内视频,但是输出视频只有一分钟。支持语言较多,可以自动生成翻译语言后的音频。
2023-05-25 19:09:32 2277
原创 五大向量数据库入门横评
坦率的说,Pincone确实是一款简单易上手对初学者友好的向量数据库。其提供的免费空间也够大多数场景使用了,方便的API,简单的WebUI,无需部署,自动扩容等都做的非常易用。唯一的缺点是相对其他产品,费用起点较高。对于刚接触向量数据库的伙伴来说,强烈推荐!结合 Paxi.ai 的数据内容很容易实现AI智能搜索等功能
2023-05-19 17:35:50 4482 2
原创 把Mac截屏发送到飞书
import time, os, jsonimport requestsdef takeScreenCapture(): now = time.time() # print(int(now)) # 执行指令的路径 # print(os.getcwd()) # 文件路径 # print(__file__) # 工程路径 projectDir = os.path.abspath(os.path.split(os.path.abspath(.
2021-12-03 23:00:55 857
原创 Python获取照片主色调
代码备份import sysfrom optparse import OptionParser import PILfrom PIL import Image# import cv2# import numpy as np# from sklearn.cluster import KMeans# from collections import Counterdef getMaxColor(img): # 计算5种主要颜色 kmeans = KMeans(n_clust
2021-10-26 17:08:11 1173
原创 Ubuntu 20.04安装CUDA & CUDNN 手把手带你撸
新手先看这之前一直使用CPU做训练,最近手上多了台单卡1080Ti显卡主机,于是开始研究GPU训练。用GPU训练一定会使用CUDA了,刚开始接触CUDA非常非常头痛,对小白很不友好,我几乎整了整整一天,中途想放弃过很多次,最后终于弄好了,回头看看其实不是很难,但是网上文章又多又杂,确实让我来回鼓捣了很久,于是写下这篇文章,希望对新入门GPU机去学习,想安装CUDA的朋友们一点帮助,少走弯路,不要像我一样浪费好多时间。新手最难理解的就是CUDA和cuDNN是啥了,以及安装过程,步骤。 这里先简单说一下
2021-07-22 17:53:21 133158 36
原创 Android插件化开发 第五篇 [360 Droid Plugin]
引言上篇文章为止我们有完整的介绍Android插件开发的流程。简单的回顾一下就是通过系统的ClassLoader加载插件apk里的方法,通过反射与插件交互。说起来容易实现起来却是一步一个坑,所以这篇文章起我们会了解一下目前网上流行的开源插件库。本文介绍DroidPlugin,它是360手机助手团队在Android系统上实现了一种插件机制。它可以在无需安装、修改的情况下运行APK文件,此机制对改进大型
2016-02-26 17:46:35 9180 7
原创 Android插件化开发 第四篇 [加载插件Activity]
引言上篇文章我们有介绍如何获取插件的Resource加载其资源,例子支持加载res文件夹下的素材资源例如动画、图片、布局、字符串等,本篇文章介绍宿主如何跳转到插件的Activity。跳转到插件的Activity方法比较多,但是目前为止都是一件挺复杂的事儿。常见的方法有宿主代理Activity模式和宿主动态创建Activity模式。两者区别是宿主代理无需在宿主中注册Activity,所有跳转均由一个傀
2016-02-25 17:00:00 4480
原创 Android插件化开发 第三篇 [加载插件资源]
引言本文讲解宿主如何从插件apk中获取到资源,为啥要从插件中获取资源呢?这种需求可能来自于显示插件的名字啊,图标之类的。比如宿主的一个按键上显示“扫一扫”或者”摇一摇”之类的,这个字符串是插件提供的。Demo创建引入插件的AssetManagerprivate static AssetManager createAssetManager(String apkPath) { try {
2016-02-24 16:44:54 4150
原创 Android插件化开发 第二篇 [动态加载apk优化]
引言上篇文章我们有提到过ClassLoader类加载器,通过学习了解到系统提供的类加载器有* PathClassLoader*和* DexClassLoader*两种。它们的不同之处是: * PathClassLoader只能加载系统/data/data/包名目录下的apk; * DexClassLoader可以加载jar/apk/dex,可以从SD卡中加载的apk;当Android应用开启的时
2016-02-24 14:05:44 3367 1
原创 Android插件化开发 第一篇 [动态加载apk]
引言随着应用版本的不断迭代,App变得非常庞大而臃肿。新需求接踵而至,旧需求废弃无用而占着空间,工程变得混乱。虽然会采用不同的包名隔离开各个需求模块,但是往往还是觉得如果需求能像插件一样分模块,需要的时候插上去,废弃的时候拔下来就好了。携程开源了其插件化开发框架(携程插件化开发框架),接下来我会学习并从本文开始介绍携程开源的这套插件化开发框架,让更多的人了解安卓的插件化开发。这里感谢携程团队的贡献,
2016-02-24 11:34:44 7103
原创 android-gif-drawable 无效 失效 不能用 not working
项目之前一直使用android-gif-drawable加载GIF图片,一切正常。最近突然发现不能自动播放GIF了,检查了一整天的代码都没找到原因。 从官网下载Demo却可以正常运行,一旦把代码整合到我们的工程里就不能运行了。 折腾了一天之后终于发现工程本地库里面莫名其妙的升级成了“1.1.12-SNAPSHOT”版本,而官方此时最高正式版本才1.1.11。 所以把build.gradle中的
2016-01-01 20:11:03 1961
转载 Java(Android)线程池
http://www.trinea.cn/android/java-android-thread-pool/介绍new Thread的弊端及Java四种线程池的使用,对Android同样适用。本文是基础篇,后面会分享下线程池一些高级功能。1、new Thread的弊端执行一个异步任务你还只是如下new Thread吗?Java
2015-12-07 12:02:56 900
转载 移动端网络优化
http://www.trinea.cn/android/mobile-performance-optimization/一个网络请求可以简单分为连接服务器 -> 获取数据两个部分。其中连接服务器前还包括 DNS 解析的过程;获取数据后可能会对数据进行缓存。 一、连接服务器优化策略1. 不用域名,用 IP 直连省去 DNS 解析过程,DNS 全名 Dom
2015-12-07 11:32:48 884
转载 codepath教程:浮动操作按钮详解
http://www.open-open.com/lib/view/open1437207632162.html原文:Floating Action Buttons 概览浮动操作按钮 (简称 FAB) 是: “一个特殊的promoted操作案例。因为一个浮动在UI之上的圆形图标而显得格外突出,同时它还具有特殊的手势行为”比如,如果我们在使用email
2015-10-12 18:05:40 1406
原创 RecyclerView 拖动才刷新内容
RecyclerView 拖动才刷新内容遇到问题是在ViewPager中的某个RecyclerView明明在UI线程调用了它的adapter.notifydatasetchanged()方法,但是UI就是没有刷新,且用手指拖动界面之后其才会刷新。 这个问题常见于内存消耗比较大,貌似Fragment被怎么回收了?这个时候监听Viewpager的onPageSelected事件,切换完tab之后调用
2015-07-22 11:33:49 5767 3
原创 Android Camera遇到的坑
拍照后onPictureTaken()不能回调在小米手机3上发现正常运行的程序拍照无法正常回调,且点击拍照按钮后会停留在最后拍照的界面,且日志里不会有任何报错信息。经排查发现是初始化相机的时候设置了setPictureSize()导致的。奇怪的是系统相机一切正常,且可以用硬件最大分辨率,可是我的代码里只能支持最高为2688x1520的pictureSize,否则均无法收到onPictureTaken
2015-04-01 16:24:38 2617
原创 Android 实现遮罩
关键方法paint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.SRC_IN));说明canvas原有的图可以理解为Dst新画上去的前景图可以理解为SreMode值如下图一般用法Canvas canvas = new Canvas(bitmap1); paint.setXfermode(new PorterDuffXfermode(Mod
2015-03-25 12:07:31 17537 1
转载 Java容器总结
http://www.bysocket.com/?p=162#0-tsina-1-86659-397232819ff9a47a7b7e80a40613cfe1Vector和ArrayList 1,vector是线程同步的,所以它也是线程安全的,而arraylist是线程异步的,是不安全的。如果不考虑到线程的安全因素,一般用arraylist效率比较高。
2015-03-24 10:23:53 850
原创 Markdown 语法的简要规则
标题标题是每篇文章都需要也是最常用的格式,在 Markdown 中,如果一段文字被定义为标题,只要在这段文字前加 # 号即可。# 一级标题## 二级标题### 三级标题以此类推,总共六级标题,建议在井号后加一个空格,这是最标准的 Markdown 语法。列表熟悉 HTML 的同学肯定知道有序列表与无序列表的区别,在 Mar
2015-03-12 19:28:20 2520
原创 在AndoridStudio中引入GreenDAO
在AndoridStudio中引入GreenDAOGreenDAO整个运行的逻辑是通过配置其提供的JavaSE代码,自动在一个文件夹下生成需要Bean、DAO、DaoMaster、DaoSession;然后在Android代码中通过创建DaoSession来操作数据库,具体方法如下:1.配置工程在./src/main目录下创建一个与java同层级的java-gen文件夹.打开build.gradle
2015-02-06 16:40:23 27949 22
转载 Android Studio Tips Of the Day - Roundup #3
http://www.developerphil.com/android-studio-tips-of-the-day-roundup-3/This is the third roundup of my Android Studio Daily Tips that I post on Google+You can take a look at the previous po
2015-02-02 14:04:49 1343
转载 Android Studio Tips Of the Day - Roundup #2
http://www.developerphil.com/android-studio-tips-of-the-day-roundup-2/This is the second roundup of my Android Studio Daily Tips that I post on Google+You can take a look at the previous p
2015-02-02 11:55:43 1269
转载 Android Studio Tips Of the Day - Roundup #1
http://www.developerphil.com/android-studio-tips-of-the-day-roundup-1/Turns out that I am not that good at keeping a commitment. The previous post was supposed to be a new series that I would
2015-02-02 09:44:26 2489
转载 用TextureView实现视频录制
https://android.googlesource.com/platform/development/+/4b737b6/samples/browseable/MediaRecorder/src/com.example.android.mediarecorder/MainActivity.java/* * Copyright (C) 2013 The Android Open Sour
2015-01-29 10:58:40 8090
原创 操蛋的百度地图SDK onReceiveLocation收不到回调
之前项目应为用百度地图各种操蛋,所以放弃使用百度地图SDK改用腾讯地图SDK。 虽然腾讯地图SDK比百度地图SDK各种好用,但是考虑到做地图闭经百度能力是强于腾讯的,而且百度出了新的5.0SDK,于是想试试。 新版SDK接口科学,文档简单可读性高,没几分钟就全部弄好进入调试模式。但是无论怎么都收不到onReceiveLocation回调。 最开始以为是使用Androi
2015-01-28 15:27:06 9069 3
原创 Android 强制获取屏幕方向
最近在做照相机功能,简单的封装系统相机,遇到一个问题就是无法获取屏幕的当前方向导致屏幕旋转之后无法获得正确的方向,所以照片方向不对。 在网上查了一下都是通过windowManager的Display或Configuration的getOrientation方法获取当前屏幕方向。但是问题来了,两种方法要求Activity不能固定方向,且需要系统打开自动旋转才能获取正确的值,否则会返回一个固
2015-01-27 18:11:23 6784 1
原创 Android Studio debug使用release的签名
当我们在做微信微博sdk分享的时候调试非常麻烦,因为要使用对应的签名版本才能调用sdk成功。当我们使用AndroidStudio的Gradle之后会很简单的解决这个问题。1.我们把签名文件放到工程根目录下(这样做是为了保持路径的统一)2.在Gradle中引入如下代码: //配置keystore签名 signingConfigs { release
2014-12-18 21:23:49 51886 9
原创 AndroidClipSquare安卓实现方形头像裁剪
安卓实现方形头像裁剪实现思路,界面可见区域为2层View最顶层的View是显示层,主要绘制半透明边框区域和白色裁剪区域,代码比较容易。第二层继承ImageView,使用ImageView的Matrix实现显示部分图片,及挪动,放大缩小等操作。比较复杂的地方在于多指操作对ImageView的影响,详见代码:ClipSquareImageView.javapackage c
2014-12-15 15:02:57 4572 1
原创 Matrix中set/post/per区别
1、setScale(sx,sy),首先会将该Matrix设置为对角矩阵,即相当于调用reset()方法,然后在设置该Matrix的MSCALE_X和MSCALE_Y直接设置为sx,sy的值 2、preScale(sx,sy),不会重置Matrix,而是直接与Matrix之前的MSCALE_X和MSCALE_Y值结合起来(相乘),M' = M * S(sx, sy)。3、pos
2014-12-12 16:11:57 1486
转载 Android--Matrix图片变换处理
http://www.cnblogs.com/plokmju/p/android_matrix.html前言 本篇博客主要讲解一下如何处理对一个Bitmap对象进行处理,包括:缩放、旋转、位移、倾斜等。在最后将以一个简单的Demo来演示图片特效的变换。 本篇博客的主要内容:MatrixMatrix缩放Matrix旋转Matrix位移Matrix倾斜Matr
2014-12-12 15:43:24 1671
原创 关于Android旋转屏幕丢失数据的新读
根据之前的经验,一直以为当Android屏幕旋转的时候会重新调用onCreate(),从而导致界面上所有的数据都会被重置,需要在Manifest中对Activity设置一个属性才能让他不重新走onCreate方法。或者很麻烦的需要在 onSaveInstanceState()方法中保存界面所有数据,然后在onRestoreInstanceState()方法中还原数据才行。 直到今天看到这样一句话
2014-12-12 11:58:22 4663 2
原创 Android Animating Layout Changes布局的默认动画
系统默认支持了对于Layout中addView和removeView
2014-11-22 14:56:10 1124
原创 Android使用ViewPager来滑动屏幕
屏幕滑动就是在两个或多个满屏页面间相互移动,主要用于新手引导或幻灯片。这节课我们会介绍如何用ViewPager实现屏幕间的滑动切换,其中也会介绍到创建Fragment,和利用PageTransformer自定义动画样式。准备开始首先为fragment创建一个content布局:<ScrollView xmlns:android="http://schemas.android.com/a
2014-11-22 11:58:35 1689
原创 Android Crossfading animation 淡出淡入动画
淡出淡入动画就是我们常说的渐隐动画,一个界面逐渐消失的时候另一个逐渐显现。当你需要在应用中切换两个视图的时候这个动画效果就显得非常实用了。 这个动画短小但很精致,巧妙的衔接了视图的切换。如果你不使用这种动画会让整个切换过程显得生硬且急促。准备开始1.创建成员变量链接到你需要时间动画的view上。2.让后显示的view先Gone掉,避免它占用layout的空间,避免计算它导致系统资源浪费
2014-11-22 11:02:51 4795
原创 Java的Clone简要
对于一个普通的对象来说,如果实现Cloneable接口,并重写clone方法可以实现对象的深拷贝。但是对于List/Set等集合来说不管是用集合的clone方法还是对象的clone方法都是浅拷贝,即指针的引用,如果要实现java集合的深拷贝必须将对象实现Serializable接口后写一个深拷贝方法才行。import java.io.ByteArrayInputStream;import
2014-11-07 20:40:40 1051
原创 Mac下的Apk多渠道验证工具
我之前写过一个在Windows平台下基于jre环境的Apk多渠道验证工具,详见http://blog.csdn.net/h3c4lenovo/article/details/10041047这种场景比较局限,而且之后修改渠道提供商之后再做修改很麻烦需要重新编译jar包。于是这次我写了一个基于shell脚本和python脚本的多渠道验证工具,我的开发环境是mac,所以对于mac来说这个脚本不
2014-11-05 13:41:59 1706 4
原创 Android方法数超过65536的解决办法
印度佬写的,挺厉害的,虽然里面有很多坑,但是把坑填完之后确实好用,还是给他点赞!https://github.com/creativepsyco/secondary-dex-gradle
2014-09-06 15:27:26 6058 2
原创 Java构建器模式
构建器模式只适用于需要传入很多种情况参数的时候,比如大于4种参数的配合,才比较划算。而且值得注意的是:最好在类的设计之初就考虑是否使用构建器,否则日后扩展起来新构建器旧构造器一起用维护起来不方便。
2014-08-19 20:05:34 8372
Mac下apk渠道检测工具
2014-11-05
Android解析json速度对比
2014-05-22
生活小助手
2013-10-11
安卓获取当前位置天气
2013-09-24
Android实现删除apk弹出网页
2013-08-27
完美逆向百度手机助手5.0底部菜单栏 - Android Tabhost 点击动画
2013-08-22
安卓多线程下载(商业级别)断点续传
2013-08-21
android Listview 分栏显示2
2013-07-21
android Listview 分栏显示
2013-07-21
Chrome插件,弹出当前uri
2012-06-09
请教各位密码学及数学高手,这段代码反加密如何实现。谢谢
2013-08-28
android downloadmanager支持调用暂停吗?
2013-07-24
我在安卓模拟器上用多线程下载速度很快这是为什么???
2013-07-17
为什么我写的android多线程下载程序刚开始速度很快,之后越来越慢?
2013-07-16
请教Android SQLite大神,我重复调用CREATE TABLE会将旧表覆盖吗?
2013-07-14
请问像我这样设置Listview的adapter高度为什么无效?
2013-06-07
谁能用简单的、真实的、代码的形式解释iOS的循环引用
2013-05-31
在UIPopoverController上如何创建按钮?
2013-05-09
TA创建的收藏夹 TA关注的收藏夹
TA关注的人