- 博客(45)
- 资源 (2)
- 收藏
- 关注
原创 Failed to install the following Android SDK packages as some licences have not been accepted.
安装VSCode,运行flutter项目,出现如下错误Failed to install the following Android SDK packages as some licences have not been accepted. build-tools;28.0.3 Android SDK Build-Tools 28.0.3 platforms;android-29 Android SDK Platform 29 To build this project, acce
2021-06-22 21:31:56
260
2
原创 Android音视频开发(二)绘制一张图片
效果图:文章目录前言一、Imageview二、SurfaceView2.读入数据总结前言先简单的实现一下图片的绘制,主要用到了Imageview、SurfaceView、自定义VIew三种形式一、Imageview代码如下://第一种方式:通过R.drawabe.xxx加载图片资源imageView.setImageResource(R.mipmap.tupian);//第二种方式:加载assests路径的资源imageView.setImageBitmap(getImageFro
2021-06-18 15:16:24
233
1
原创 Flutter开发(二)、安装和配置
配置环境变量新建 PUB_HOSTED_URL=https://pub.flutter-io.cn新建 FLUTTER_STORAGE_BASE_URL=https://storage.flutter-io.cnG盘创建一个目录Flutter,打开git命令窗口,ctrl+右键执行命令:git clone -b stable https://github.com/flutter/flutter.git2、下载完成之后,Flutter路径为:D:\Flutter\flutter,找到..
2021-06-18 14:53:28
316
1
原创 Flutter开发(一)、简介
文章目录前言一、Flutter是什么?二、Flutter的好处1.快速开发2.富有表现力和灵活的UI3.原生性能总结前言本文你讲学习到Flutter是什么,用它开发有什么好处一、Flutter是什么?Flutter是谷歌的移动UI框架,可以快速在iOS和Android上构建高质量的原生用户界面。 Flutter可以与现有的代码一起工作。在全世界,Flutter正在被越来越多的开发者和组织使用,并且Flutter是完全免费、开源的。二、Flutter的好处1.快速开发毫秒级的热重载,修改后,您
2021-06-18 14:51:35
343
原创 Edittext禁止输入空格换行、特殊符号、表情
1.禁止表情 InputFilter emojiFilter = new InputFilter() { Pattern emoji = Pattern.compile("[\ud83c\udc00-\ud83c\udfff]|[\ud83d\udc00-\ud83d\udfff]|[\u2600-\u27ff]", Pattern.UNICODE_CASE | Pattern.CASE_INSENSITIVE); @Override
2020-12-04 15:21:17
618
原创 AS真机测试不能截图unexpected error while obtaining screenshot from device: EOF
Android studio近几个版本的截图好像不能用unexpected error while obtaining screenshot from device: EOF原因:新版adb.exe文件本身的bug解决方式:替换老版的adb.exe1、关闭Android studio2、在SDK目录下(…\Sdk\platform-tools),将现有的adb.exe重命名为adb.exe2备份3、下载老版adb.exe。下载地址 https://dl.google.com/android/r
2020-11-27 17:03:56
176
1
原创 设计模式之观察者与被观察者
1.什么是观察者模式简单情形:有A、B、C、D等四个独立的对象,其中B、C、D这三个对象想在A对象发生改变的第一时间知道这种改变,以便做出相应的响应或者对策。上面的这种情形,就是观察者模式。当然可以有多个观察者,多个被观察者。观察者与被观察者也不是对立的,一个对象可以观察其他对象,也可以被其他对象观察。2、观察者模式的实现举个例子:出版社跟读者,出版社发布了新书到的消息,订阅了出版社消息的读者就会收到消息。在这里出版社就是被观察者,读者就是观察者。代码实现:观察者:public class
2020-10-21 10:53:24
2046
原创 Route在模块之间不能跳转
1、在需要Route的模块的bulid.gradle文件 添加Route依赖(每个需要跳转的模块都要)dependencies { //router框架 api 'com.chenenyu.router:router:1.3.2' annotationProcessor 'com.chenenyu.router:compiler:1.3.2'}2、登录模块跳转到主界面模块运行报错解决:在主界面的bulid.gradle文件添加如下代码javaCompileOp
2020-09-10 16:47:58
332
原创 AS常用插件以及安装
1、安装插件点击AS工具栏【file】-【setting】,弹出setting对话框;点击左侧栏【plugin 】,内容如下:2、常用插件(1)GsonFormatGsonFormat是一个可以快速将json字符串转换成一个Java Bean,免去我们根据json字符串手写对应Java Bean的过程。(2)Android ButterKnife Zelezny配合ButterKnife实现注解,从此不用写findViewById,想着就爽啊。在Activity,Fragment,Ad
2020-09-08 19:54:28
875
原创 解决AS 中xml自动提示不起作用的问题
突然断电,再次打开AS,java代码一片红,xml的id,text等自动提示不起作用,clean,rebulid,清除缓存都不起作用。在网上找了一些方法解决方案1.省电模式(无效)也许是studio在你不知道的情况下开启了省电模式File —>power save mode—>取消勾选2.清理Studio的缓存(无效)3.删除.idea和.iml,然后ReBuild(无效)4.更改compileSdkVersion版本到最新版本(没有验证,我的版本是最新的)5.API版本的
2020-09-02 11:26:01
1184
1
原创 ExpandableListView的刷新问题
适配器继承了BaseExpandableListAdapter,ExpandableListView继承了ListView,正常来说,加载出数据,然后通过notifyDataSetChanged()刷新就可以但BaseExpandableListAdapter更新数据比较恶心通过handler来刷新数据,而且必须重新伸缩之后才会刷新数据package com.chunhui.moduleperson.adapter;import android.content.Context;import an
2020-08-19 16:40:32
1071
原创 ExpandableListView设置父节点不可点击,去掉背景
1、设置父节点不可点击mExpandableListView.setOnGroupClickListener(new ExpandableListView.OnGroupClickListener() { @Override public boolean onGroupClick(ExpandableListView parent, View v, int groupPosition, long id) { return tr
2020-08-18 12:23:51
549
原创 Android通过系统广播监听网络变化
1、定义广播private final BroadcastReceiver mSystemReceiver = new SystemBroadcastReceiver();2、注册广播/*本地广播*/ IntentFilter intentFilter = new IntentFilter(); intentFilter.addAction(ConnectivityManager.CONNECTIVITY_ACTION); registerReceiv
2020-08-13 09:38:37
546
原创 CardView设置margin属性不起作用
使用CardView作为适配器的Item布局的根View,在RecyclerView.Adapter中的onCreateViewHolder中加载Item布局的时候,如果使用的LayoutInflater.from(Context).inflate(layoutId,null)这个方法来加载布局的话,那么Item布局中的CardView中的有些属性是无法起作用的,比如:android:layout_margin=“xxdp”,就算设置了这个属性,但是在5.1系统是不能显示为卡片式的,但是在4.4系统是可以显
2020-08-12 12:18:43
736
原创 Android动态设置View的相关布局操作
1、动态设置Margin如果这个控件是在XML中定义的 比如TextviewLinearLayout.LayoutParams lp = (LinearLayout.LayoutParams) textview.getLayoutParams();lp.leftMargin = 0;textview.setLayoutParams(lp);如果这个控件是我们new出来的,就会会发现用上面的方法就会有空指针报错了。然后我们用另一种方法LinearLayout.LayoutParams layo
2020-08-04 19:19:03
357
原创 Android NDK的下载配置
一、NDK下载https://developer.android.google.cn/ndk/downloads/ (r14b)二、NDK配置AS也提供了NDK,但可能会存在少东西,最终导致编译不成功,所以这里不用AS提供的NDK。1、下载之后进行解压2.配置ndk环境变量path,在其中加入;D:\NDK\android-ndk-r14b;3.检验是否配置成功在cmd命令行输入 ndk-build ,出现如下情况,则表示配置成功。...
2020-08-01 15:07:52
811
原创 java数字取整(向上取整,向下取整,四舍五入)
向上取整:Math.ceil(double a)向下取整:Math.floor(double a)四舍五入取整:Math.round(double a)例:Math.ceil(24.2)–> 25Math.floor(24.7)–> 24Math.round(24.2)–> 24Math.round(24.7)–> 25
2020-07-29 16:46:54
2285
原创 Android百度地图定位getCity()为空
通过打印日志发现location.getLocType()–>66 address,poi字段是有的,就location.getCity()—>null查阅百度地图的LocType()返回值:61 : GPS定位结果,GPS定位成功。62 : 无法获取有效定位依据,定位失败,请检查运营商网络或者wifi网络是否正常开启,尝试重新请求定位。63 : 网络异常,没有成功向服务器发起请求,请确认当前测试手机网络是否通畅,尝试重新请求定位。65 : 定位缓存的结果。66 : 离线定
2020-07-14 19:19:45
1208
原创 Android项目报错Error: Static interface methods are only supported starting with Android N (--min-api 24)
错误原因:这是因为java8才支持静态接口方法的原因解决办法:可以通过在app的build.gradle文件中配置使用java8编译:android { ... compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 }}...
2020-07-06 19:01:21
161
原创 【ButterKnife】用ButterKnife绑定view提示Required view ‘register_ll‘ was not found
用ButterKnife注解view、注解点击事件时,提示如上异常原因:先执行绑定ButterKnife,再绑定view的方法解决方法:先绑定view,再绑定ButterKnife
2020-07-04 11:23:55
291
原创 Android动态生成TextView并设置Margin
我们在编程的时候,除了可以利用布局中的TextView来显示数据,同样我们也可以利用对象来动态创建TextView,并展示数据。1、创建TextView对象2、添加数据和属性值3、把TextView设置为布局的子节点 LinearLayout ll = (LinearLayout) findViewById(R.id.lay); //把数据显示至屏幕 String[] descriptionSp = description.split("、");
2020-07-03 18:10:21
1582
原创 Android 使用gif 动图
最近因为项目中需要用到gif动态图片,而android目前还不支持gif动态图片的加载,所以搜索了网上已有的第三方自定义控件,帮助实现加载gif图片。第一步、引入依赖compile'pl.droidsonroids.gif:android-gif-drawable:1.2.6'第二步、在layout文件使用 <pl.droidsonroids.gif.GifImageView android:id="@+id/loading_url" android:l
2020-07-02 12:02:45
3590
原创 Android 使用ARouter 跳转
一、页面路由基本介绍1.什么是页面路由映射页面跳转关系,包含跳转相关的URL跳转及值传递、拦截器等功能。2.为什么要使用页面路由在原始android开发中,当我们需要进行页面跳转时,正常写法如下:Intent intent = new Intent(mContext, XXActivity.class);intent.putExtra("key","value");startActivity(intent);Intent intent = new Intent(mContext, XXAc
2020-07-01 19:51:30
673
原创 在Android studio中引入butterKnife遇到的坑
Android studio中引入butterKnife在build.gradle的ependencies中添加implementation 'com.jakewharton:butterknife:8.5.1'annotationProcessor 'com.jakewharton:butterknife-compiler:8.5.1'接下来在项目中的MainActivity中绑定即可,绑定语句应写在setContentView下面: setContentView(R.layout.activ
2020-07-01 15:06:43
1419
原创 Android项目实战(1)搭建MVP框架
准备用MVP框架搭建一个自己的项目,之前的项目有用到过,但都是公司的同事搭建好的,现在自己搭建一个。搭建之前先来了解一下MVP。1、什么是MVPM(Model)负责数据的请求,解析,过滤等数据操作。V(View)负责处理UI,通常以Activity Fragment的形式出现。P(Presenter)View Model中间件,交互的桥梁。2、MVP的优点分离了UI逻辑和业务逻辑,降低了耦合。Activity只处理UI相关操作,代码变得更加简洁。UI逻辑和业务逻辑抽象到接口中,方便阅
2020-06-30 14:13:03
476
原创 AS创建项目去掉Androidx
按照官方文档说明 AndroidX 是对 android.support.xxx 包的整理后产物。由于之前的 support 包过于混乱,所以,Google 推出了AndroidX。由于在后续版本中,会逐步放弃对 support 的升级和维护,所以,我们必须迁移到 AndroidX。而且目前,新版本的Android Studio 在新建工程的时候,会强制使用 Android X 开发。但是有时候,我们还是想用之前的 support 模式怎么办呢?解决方法:1、在 SDK 中取消 Android 1
2020-06-29 11:05:42
2171
原创 Android音视频开发(一)学习规划
目录序言学习规划音视频内容序言公司的项目有涉及到音视频的开发,但都是已经开发完的,想去看懂代码,但却无从下手,因为自己对音视频只有一个模糊的概念,所以从这个文章开始,从零入门,要把音视频弄懂,然后自己写一个demo。学习规划目前的确没有比较系统的教程或者书籍,网上的博客文章也都是比较零散的,查找了很多资料,制定了一个学习路线。(Android音视频开发的学习系列文章主要是参考了Jhuster前辈的博客)音视频内容核心:音视频技术=封装技术+视频压缩编码技术+音频压缩编码技术+流媒体协议技术
2020-06-24 17:04:30
1259
原创 android实现截图并动画消失
整体思路1、获取要截图的view2、根据这个view创建Bitmap3、保存图片,拿到图片路径4、把图片路径传入自定义view(自定义view实现的功能:画圆角边框,动画缩小至消失)核心代码得到图片的路径private String getFilePath() { Bitmap bitmap = createViewBitmap(picImg); if (bitmap != null) { try { /
2020-06-23 09:02:47
2375
1
原创 Android百度地图仿微信发送位置
先上图前提:有百度地图账号并配置了相关环境,可以参考百度地图开发者文档并下载so和jar代码有相对应的注释,关键的就是百度地图移动版开发密钥、正确填写SHA1 和 程序包名,这将影响百度地图的功能使用主要功能(参照微信发送定位):1.定位所在位置并且展示周边POI(建筑物等信息);2.拖拽地图完成,返回中心覆盖物所处位置周边的POI信息;3.支持关键词等搜索,每次搜索完成,中央覆盖物移动到第一条POI信息的相应位置;4.点击定位的图标,中央覆盖物回到所定位的位置;5.点击下边列表的某条数
2020-06-18 11:01:52
1751
4
原创 公交车到站提示功能(简单自定义View)
MainActivity.javapackage com.lyw.myproject;import androidx.appcompat.app.AppCompatActivity;import android.os.Bundle;import android.os.CountDownTimer;import com.lyw.myproject.been.BusLineBeen;...
2020-04-01 13:58:04
974
1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人