
技术
lovelixue
这个作者很懒,什么都没留下…
展开
-
kotlin-协成同步
kotlin协成同步代码,实现等待前者执行完后再执行后面代码原创 2022-06-19 13:18:10 · 1083 阅读 · 2 评论 -
Jetpack Compose学习(一):初步创建compose项目
前言:compose项目是基于kotlin的进阶,因此需要有一定kotlin的基础,同时对Androidstudio开发工具有版本要求,具体版本下载及简介可参考https://developer.android.google.cn/jetpack/compose/setup?authuser=0接下来开始创建我的第一个compose项目1.file-new-new project2.选择Empty Compose Activity3.finish...原创 2021-11-16 15:03:38 · 10905 阅读 · 0 评论 -
Android调用系统相机拍照
1.设置路径,调用拍照,并指定路径public void test(){ placePhotoPath = ContantsUtils.FilePath.PlacePhoto + UUIDUtil.getUUID() + ".jpg"; File path = new File(placePhotoPath); if (!path.exists()) { path.mkdirs(); } place原创 2021-09-27 10:30:27 · 633 阅读 · 0 评论 -
litepal更新数据失败
我再做数据库更新操作的时候,有一个字段是int类型的,于是乎通过update方法更新失败,需注意:litepal不支持int类型,需要改为Integer即可原创 2021-09-26 16:53:04 · 566 阅读 · 0 评论 -
Android11文件夹创建兼容
本篇仅限自己记录一下Android兼容创建外部存储文件夹,无法从根本上兼容处理,能解决问题1.android:requestLegacyExternalStorage="true"2.将targetSdkVersion改成28,包括compileSdkVersion,buildToolsVersion也希望能帮助到各位...原创 2021-04-09 10:29:50 · 4139 阅读 · 0 评论 -
Android应用内升级
此文章只实现应用内调起安装界面安装更新包首先上安装方法public static void installApk(Activity activity, File apkFile) { Intent intent = new Intent(); intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); intent.setAction(Intent.ACTION_VIEW); Uri uri = n原创 2021-02-07 10:18:48 · 1496 阅读 · 0 评论 -
FileUriExposedException: file:///storage/emulated/0/001/1612321465868.mp4 exposed beyond app through
我在调用系统相机的时候报错private void openCamera() { Intent intent = new Intent(MediaStore.ACTION_VIDEO_CAPTURE); if (intent.resolveActivity(getPackageManager()) != null) { startActivityForResult(intent,takeCameraCode); } }原创 2021-02-03 12:01:36 · 4245 阅读 · 0 评论 -
Android的条目里面使用edittext时的复用问题
我描述下我遇到的问题,场景是一个列表,每个item里面有edittext,例如:我输入item1,item2,item3,item4值分别为1,2,3,4,然后向下滑动,滑动到这四个item消失会,会发现item1的值1被清空了首先我的代码是:if(s.etText.getTag() instanceof TextWatcher){ s.etText.removeTextChangedListener((TextWatcher) s.etText.getTag());原创 2020-12-11 11:30:01 · 424 阅读 · 2 评论 -
Android版本兼容(存储、http,相机、SparseArray、升级)
版本兼容处理(后续我会一直迭代下去的,只要遇到了就更新,希望能帮到大家)Android 11 存储规范Android 11 中的存储机制更新Android 11(API 29),在Android 10设备操作文件无效,临时解决方案为在AndroidManifest.xml中application标签添加以下属性:<application android:allowBackup="true" android:icon="@drawable/logo" andro原创 2020-08-25 10:47:09 · 1632 阅读 · 1 评论 -
Android通过glide和rxjava实现图片下载
首先来看实现方式:public void download(View view) { List<BaseBean> baseBeanList = new ArrayList<>(); for (int i = 0;i < paths.length; i++){ BaseBean baseBean = new BaseBean(); baseBean.setUrl(paths[i]);原创 2020-05-20 15:32:00 · 561 阅读 · 0 评论 -
Android身份证、手机号、邮箱、QQ号、文件夹正则表达式
public static final String EMAIL = "^[a-z0-9]+([._\\\\-]*[a-z0-9])*@([a-z0-9]+[-a-z0-9]*[a-z0-9]+.){1,63}[a-z0-9]+$";//邮箱 public static final String TEXT = "^([\\u4e00-\\u9fa5])*$";//中文 public static final String ENGLISH = "^([a-zA-Z])*$";//英文 .原创 2020-05-19 14:25:42 · 558 阅读 · 0 评论 -
flutter的前景
各位大佬,我想咨询下flutter的前景如何,作为一名Android开发,有没有必要去学习flutter,有几点困惑1.flutter可以直接跟Androidstudio一样写一套代码就直接运行在Android手机上,然后flutter写的也可以直接运行在ios上呢2.flutter相对于一名Android开发来说,有没有学习的必要3.flutter可以写后台接口吗感谢各位大佬的留言解...原创 2020-05-07 17:53:37 · 2379 阅读 · 1 评论 -
git命令创建分支(如何将GitHub上面的项目拉下来并创建分支到本地,并附上ssh权限问题解决)
本文主要讲解如何通过git命令实现将GitHub上面的项目拉下来并创建分支到本地,修改代码后直接上传代码到GitHub分支上下面的文件夹自己定义即可1.在本地创建文件夹test2.进入test文件夹右击选择git base here,输入git clone https://github.com/LitePalFramework/LitePal.git(我这里是用litepal举例)...原创 2020-04-25 10:05:42 · 1061 阅读 · 0 评论 -
Android实现跳转第三方地图导航(百度、高德)
很多项目需求都是需要你实现地址导航功能,如果没有硬性要求,可以直接跳转到第三方无疑是最方便的,接下来就讲讲如何实现第三方地图导航的跳转1.首先判断设备是否安装百度和高德地图 判断方式如下/** * 判断手机中是否安装指定包名的软件 * @param context * @param pkgname 包名 */ public static b...原创 2020-04-15 16:17:26 · 5340 阅读 · 0 评论 -
将本地代码push到GitHub指定仓库
这篇文章主要讲解如何将本地代码push到GitHub指定仓库1.在as的terminal里面先初始化项目,将本地项目初始化添加到本地git仓库git initgit statusgit add -A或者git add .git commit -m"提交描述"如此操作后这个项目已经存在本地git仓库了2.按快捷键ctrl+shift+k弹出提示框然后在GitHub找到...原创 2020-04-08 18:02:16 · 1442 阅读 · 0 评论 -
关于brvah的setEmptyView功能无法显示问题
首先先描述下我所遇到的问题1.在adapter里面实现设置空view的时候,list先有数据再清空setnewdata为null的时候就可以显示出来,但是这种情况就没意义了2.nationAdapter.isUseEmpty(true);添加这个设置依然无效3.nationAdapter.setEmptyView(LayoutInflater.from(this).inflate(R.l...原创 2020-03-31 14:12:29 · 2014 阅读 · 2 评论 -
litepal的批量更新
需求:我有一个RoomListDB表,然后需要更新里面“roomStatus”这个字段的所有值为2,这个时候如果你用saveOrUpdate方法,你会发现速度相当慢,是因为你通过这个每次更新数据库,都需要连表,断开,连接断开,但是如果使用下面这种方式就会快速很多//更新房号状态值ContentValues roomValues = new ContentValues();roomValu...原创 2019-12-30 17:36:37 · 2062 阅读 · 0 评论 -
OSS上传报错:Access denied by authorizer's policy
<Error> <Code>AccessDenied</Code> <Message>Access denied by authorizer's policy.</Message> <RequestId>5DC4E1F94ABA213436C410D3</RequestId>...原创 2019-11-08 11:44:58 · 12006 阅读 · 6 评论 -
java.lang.IllegalArgumentException: baseUrl must end in /: http://localhost:1600/idm/example3/
再接口请求的时候报了这个错,按照意见及时这样写GET()括号里面不能为空,也不能为"",然后我加上“/”,这个之后也不行最后我将url的最后一节getstssecrettoken放到括号里面,保证这个get里面有东西之后就可以了记录一波,希望也可以帮到各位猿友...原创 2019-11-07 15:46:58 · 4611 阅读 · 0 评论 -
android.os.NetworkOnMainThreadException
这个是我最近遇到的一个问题,在进行OSS上传的时候(能确保该上传无异常),我使用Iterator去遍历本地文件,然后调用上传接口,发现会报android.os.NetworkOnMainThreadException这个错,具体日志如下:以下是我遍历上传的代码后来我就切换成for循环遍历,发现能解决这个问题,网上搜了下,百思不得其解,为什么for循环可以,迭代器不行,求大神指教,欢...原创 2019-10-22 11:36:52 · 455 阅读 · 0 评论 -
Android使用代码获取SHA1值
获取sha1值可以通过命令,也可以通过代码形式,这里我就上代码的public static String sHA1(Context context) { try { PackageInfo info = context.getPackageManager().getPackageInfo( context.getPackageNam...原创 2018-08-16 11:04:27 · 3634 阅读 · 0 评论 -
Android的反射机制的实现
在Android中会有一些异常方法或者属性,是你想用而拿不到的,这种时候你就需要使用反射了,反射不能跨进程使用反射机制:(官方解释)在运行状态中,对于任意一个类或者任意一个对象,都能够知道这个类的所有属性和方法,这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制反射原理:(以下仅是我个人理解,如有误请帮忙指正,谢谢)java中的类运行后JVM会在本地生成一个cl...原创 2018-09-18 14:55:17 · 1317 阅读 · 0 评论 -
Android广播的基本使用
这里我就简单写个动态注册广播的使用案例发送方(请求方)发送广播Intent intent = new Intent();//设置广播的名字(设置Action)intent.setAction("voice_home");sendBroadcast(intent); 接收方注册广播IntentFilter myIntentFilter = new IntentFilt...原创 2018-09-18 10:34:09 · 2521 阅读 · 0 评论 -
讯飞语音识别demo实现
最近看了看百度语音和讯飞语音识别的实现,吐个槽,他们的官方文档是真的写得垃圾,可能是我技术不到位,反正我是很难看懂的,不吐槽了,先上实现讯飞的官方文档https://doc.xfyun.cn/msc_android/%E8%AF%AD%E9%9F%B3%E8%AF%86%E5%88%AB.html按步骤来注册账号进去后注册应用,得到APPID(这是必须操作,因为不注册应用是不可...原创 2018-09-12 10:26:01 · 34687 阅读 · 6 评论 -
LitePal数据库的使用
今天来一波LitePal数据库的使用操作LitePal数据库的githup地址:https://github.com/LitePalFramework/LitePal直接开始步骤了1、添加依赖implementation 'org.litepal.android:core:2.0.0'2、在assets创建litepal.xml文件管理数据库如图 为了方...原创 2018-08-20 18:18:01 · 1886 阅读 · 0 评论 -
Android的接口回调使用案例(回调定位信息)
至于定位的配置之类的我就不多说,此篇文章重点在于接口回调private static BDAbstractLocationListener mListener = new BDAbstractLocationListener() { @Override public void onReceiveLocation(BDLocation location) { ...原创 2018-08-16 15:15:06 · 1746 阅读 · 0 评论 -
Androidstudio动态授权
使用系统的授权功能比方我现在申请CAMERA权限1.在manifest里面添加这个权限<uses-permission android:name="android.permission.CAMERA"/>2.检测此权限是否已申请并回调结果public void requestAllPower() { if (ContextCompat.checkSelf...原创 2018-08-14 16:00:53 · 1924 阅读 · 1 评论 -
Androidstudio导入library
假设现本地有个library,我的是requestlibrary1.通过as导入这个requestlibrary 2.倒进来之后修改settings.gradle3.在 project structure里面添加这个library三步搞定...原创 2018-08-14 15:44:15 · 724 阅读 · 0 评论 -
通过数据库cursor的形式获取短信内容
不多说,直接上读取短信需要的权限```<uses-permission android:name="android.permission.READ_SMS"/>```### 读取数据库短信方法``` public static List<Map<String, String>> getSmsCode() { String l...转载 2018-08-14 15:11:56 · 1232 阅读 · 0 评论 -
阿里云atlas组件接入
在接入这个之前给各位广大猿友一个建议,一下步骤一步一步来,切勿贪快,亲身血淋淋的经历,接入过程中出现了一万个bug,后面会把相关出现的问题也搞上来并说明处理方法,直接进入正题:1.目录结构 a.app 是主工程,打包使用 b.librarybundle:中间bundle,其他module都依赖 c.localbundle:本地bundle,...原创 2018-07-21 10:40:19 · 3587 阅读 · 3 评论 -
AppCompatActivity设置透明主题
activity有一个属性@android:style/Theme.Translucent,但是AppCompatActivity是没有的,那么这个应该怎么设置透明主题呢,其实也很简单先自定义一个style<style name="MyTranslucentTheme" parent="Theme.AppCompat.Light.NoActionBar"> &l...原创 2018-09-13 17:23:23 · 7163 阅读 · 7 评论 -
文字识别功能
今天来学习下Android的图像文字识别功能有时候会有一些需求,比如给你一张图片,你需要识别这张图片的所有文字信息,接下来我就基于这个需求来学习并分析各大识别技术百度云百度云的文字识别功能成功率在90%以上,可高精度识别,含位置信息识别,手写识别等,相关文档https://cloud.baidu.com/doc/OCR/OCR-Android-SDK.html#.EC.DF.48.2...原创 2018-09-26 09:29:56 · 1754 阅读 · 0 评论 -
Android阿里云OSS鉴权模式(STS)上传图片文件
这篇讲述下Android通过阿里云OSS上传文件,使用鉴权模式,废话不多说,直接上步骤1.添加所需依赖implementation 'com.aliyun.dpa:oss-android-sdk:+'implementation "com.squareup.okhttp3:okhttp:3.9.0"2.添加权限<uses-permission android:name...原创 2019-03-14 10:17:04 · 7468 阅读 · 0 评论 -
实现高德地图后台持续定位
高德地图实现在后台持续定位,当然需要服务,但是现在已经无法在杀死APP的时候仍然持续获取了,我这种形式只能在APP没被杀死的时候持续获取,获取到定位信息后你可以回调出去,下面就是我这个服务public class LocationService extends Service { private static final String TAG = "LocationService...原创 2018-12-30 10:30:20 · 10543 阅读 · 1 评论 -
java中list排序和两个string的大小比较
此文章简单记录一波:list排序方法一Comparator形式:List<String> keyList = new ArrayList<>();keyList.add("User_Tel");keyList.add("SystemId");keyList.add("User_Pwd");Log.i("test_sort","排序前keyList原创 2018-12-25 10:25:01 · 7869 阅读 · 0 评论 -
intent传递集合数据
有时候需要activity跳转的时候需要通过intent传递值到目标activity,但是如果直接intent.putExtra()传入集合就显然不行,有可以直接arraylist<String>的,但是没有其他泛型的,有时候我们需要传入自己先要的data,这个时候就需要在泛型TestBean里面操作了,很简单例如传递List<TestBean> testBean一...原创 2018-12-27 18:57:00 · 3015 阅读 · 1 评论 -
Android启动第三方地图APP导航功能
上一个我的工具类,没啥好多说的,传递经纬度的时候标准传入方式也有public class PccGo2MapUtil { private Context context; public PccGo2MapUtil(Context context) { this.context = context; } /** * 启动高德地图,从...原创 2018-12-07 15:30:35 · 983 阅读 · 0 评论 -
Android沉浸式状态栏
之前一直没怎么去研究这方面的,最近有个项目,让我在沉浸式里面真的沉浸死了,虽然学习了很多,但是还是个沉浸式菜鸟,这里也就记录一些遇到的问题和分享下相关经验吧需求:这里是一个侧滑页面和主页面,这个布局必须是占满全屏的另外一种 需要实现这样的效果,也就是不会顶上去的 实现: <style name="MyFullScreenTheme" parent="@st...原创 2018-09-28 16:59:24 · 177 阅读 · 0 评论 -
pdf文件转bitmap再转图片
在写这篇文章的时候真的是一把鼻涕一把泪,遇到了几个坑,搞了一天半才搞出来,资质愚钝了,网上查找了资料,发现基本上没有pdf转图片相关的,难道都没这个需求么,接下来我先描述下我遇到的问题和现象吧首先我通过PdfRenderer将pdf文件转成bitmap集合,因为pdf文件可能有几页,所以需要集合装起来然后将bitmap集合里面的每个bitmap都转化成png或者jpg存储到本地,问题来了...原创 2018-09-27 10:33:51 · 1946 阅读 · 3 评论 -
百度云文字识别demo
https://blog.youkuaiyun.com/lovelixue/article/details/82848507上一篇讲了各大平台文字识别功能的区别和局限性,这篇就直接讲解百度云文字识别demo的实现首先注册登录百度云,然后创建应用,这里面呢最好选择需要包名 创建之后你就能看到你的Api Key和Secret Key了至于这两个后面用的上,也可以不用,详细请看后面解析 在和APP绑...原创 2018-09-26 09:35:31 · 4110 阅读 · 2 评论