
android开发笔记
BarryLll
Legends Never die!
展开
-
解决ConstraintLayout布局时候TextView左边有控件之后设置TextView宽度为wrap_content时,文字会超出屏幕的问题
问题:<TextView android:id="@+id/tv_answer_content_item_answer" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginStart="@dimen/dp_10" android:layout_marginTop="@dim.原创 2021-07-08 10:38:44 · 1803 阅读 · 0 评论 -
service与IntentService以及Thread的区别
Service缺陷:1.不会启动专门的一条线程, service和他所在的应用位于同一进程中2.servi也不是专门一条新线程, 不应该在service中直接处理耗时的任务IntentService特征:1.创建独立的worker线程来处理所有的intent请求2.创建独立的worker线程来处理onHandleIntent()方法实现的代码,无需处理多线程问题3.所有请求处理完成后,intentservice会自动停止,无需调用stopself()方法停止service4.为s原创 2021-07-02 14:57:14 · 334 阅读 · 0 评论 -
kotlin自定义一个简单的CircleView
1.自定义CircleView继承自Viewpackage com.example.myapplication.widgetimport android.content.Contextimport android.content.res.TypedArrayimport android.graphics.Canvasimport android.graphics.Colorimport android.graphics.Paintimport android.util.Attribu.原创 2021-07-01 11:53:53 · 336 阅读 · 0 评论 -
关于“The application could not be installed: INSTALL_FAILED_TEST_ONLY“的解决办法
在as项目的gradle.propertity文件中添加:android.injected.testOnly=false原创 2021-04-26 12:23:45 · 392 阅读 · 0 评论 -
Retrofit+RxJava原理浅析
Retrofit: 核心:返回一个对象 new ISharedListService()动态代理:代理所有的。动态生成一个类:一个你对应的.class文件的对象–>反射 代理的是一个object。看不见的类:代理类拓展类的行为和静态的是一样的 主要方法: invoke。所有对接口类型的方法的调用都会执行到invoke方法里面代理对象在内存中,而不在外存中。看不见的。所有对接口的调用都会去执行到代理类的invoke函数中。一旦访问到了invoke,就形成了一个功能的拦截获取到你所有.原创 2021-04-23 15:54:01 · 547 阅读 · 0 评论 -
注解和反射的初步应用
元注解注解上的注解:表示朱姐可以用在Java中的任何元素上,诸如:包名,类名,方法名,参数名,成员变量名import java.lang.annotation.ElementType;import java.lang.annotation.Retention;import java.lang.annotation.RetentionPolicy;import java.lang.annotation.Target;@Target(ElementType.TYPE)//元注解:注解上的注解@R原创 2021-04-22 16:27:24 · 96 阅读 · 0 评论 -
ConstraintLayout使用大全
API28文档中的ConstraintLayout相关介绍1.为什么要使用ConstraintLayout在多层LinearLayout嵌套(超过三层)之后,视图的渲染与解析会拖累应用的性能,以往我们会选择使用RelativeLayout,但是如果视图层复杂的话RelativeLayout里面还需要嵌套其他视图,对视图的位置控制起来很麻烦,也不容易进行屏幕适配。所以我们使用ConstraintLayout。因为ConstraintLayout使用起来比RelativeLayout更灵活,性能也更加.原创 2021-04-16 15:51:42 · 771 阅读 · 0 评论 -
Android Studio 提示“你的主机中的软件中止了一个已建立的连接”问题解决方法
Android Studio在Gradle sync、build、Clean、Rebuild、Run时,提示 “你的主机中的软件中止了一个已建立的连接.”解决方案1如果你是通过第三方软件连接的真机,比如:豌豆荚、应用宝、应用助手等等,那么这种解决方式适合你Win+R , 输入cmd, 输入 netstat -ano|findstr “5037”最后一列就是占用5037端口的进程的PID接着我们Ctrl+Alt+delete进入任务管理器,然后进去详细信息,去PID里面寻找所对应的进程然后把原创 2021-04-14 11:11:29 · 4306 阅读 · 3 评论 -
kolint版本流式布局FlowLayout
流式布局FlawLayout自定义viewpackage com.example.lsn_compose.viewimport android.annotation.SuppressLintimport android.content.Contextimport android.util.AttributeSetimport android.view.Viewimport android.view.ViewGroupimport androidx.core.view.childrenimp原创 2021-04-14 10:49:24 · 1050 阅读 · 1 评论 -
泛型
泛型编译时类型安全检测机制该机制允许程序员在编译时检测到非法的类型本质:参数类型–>所操作的数据类型被指定为一个参数泛型不存在于JVM虚拟机虚拟机在运行期进行检测,如果有异常,就会报异常CastNotException,而泛型将类型检测提前到了编译期作用:增强编译时错误检测,减少因类型问题引发的运行时异常泛型具有更强的类型检测避免类型转换泛型算法,增加代码复用性类、接口、方法//类public class Student<T>{ private T t;原创 2021-04-12 17:05:52 · 84 阅读 · 0 评论 -
c语言free相关以及字符串数组
if(new_arr){//重新开启的堆空间是成功的 free(new_arr); new_arr = NULL;//为了不出现悬空指针}else{//失败 free(arr); arr = NULL;}free只是清空堆空间,必须将指针指向NULL,不然会chuan变成悬空指针。字符串数组:遇到 ‘\0’’ 才结束,可以改变单个字符的值字符串指针:结尾默认添加 ‘\0’,不能修改单个字符的值,会崩溃------>崩溃的原理:数组在栈区持有静态区域的字符串的拷贝,直接修改的原创 2021-04-09 10:17:11 · 1280 阅读 · 0 评论 -
关于LitePal插入数据重复的问题解决
其实思路很简单,在你每次保存数据之前,先查询数据库判断该数据是否在数据库中已经存在,如果已经存在和将要存储的数据相同的数据,就对数据库中的数据进行删除,然后再保存该数据,这样就不会有重复的数据。下面给一下代码:Litepal给出的查询操作有三种:1.Song song = LitePal.find(Song.class, id);2.List<Song> allSongs...原创 2019-05-10 14:34:06 · 2121 阅读 · 0 评论 -
AndroidStudio更新至3.3后variantOutput.getPackageApplication()警告的解决办法
今天更新到Android Studio 3.3后,对应的gradle tools也更新到了3.3.0 dependencies { classpath 'com.android.tools.build:gradle:3.3.0' classpath 'com.tencent.mm:AndResGuard-gradle-plugin:1.2.13'...原创 2019-01-23 16:35:20 · 8314 阅读 · 0 评论 -
如何使用ConstraintLayout
API28文档中的ConstraintLayout相关介绍1.在多层LinearLayout嵌套(超过三层)之后,视图的渲染会拖累应用的性能,以往我们会选择使用RelativeLayout,但是如果视图层复杂的话RelativeLayout里面还需要嵌套其他视图,对视图的位置控制起来很麻烦,也不容易进行屏幕适配。所以我们使用ConstraintLayout。因为ConstraintLay...原创 2019-01-22 23:35:36 · 247 阅读 · 0 评论 -
Android开发之弹出菜单
PopupMenu.OnMenuItemClickListener主要有两个公用方法:1. public static interface PopupMenu.OnMenuItemClickListener 2.android.widget.PopupMenu.OnMenuItemClickListener一般常用的是第二个,但是如果item本身没有单独的itemClickListen...原创 2019-01-17 15:55:34 · 933 阅读 · 0 评论 -
欢迎使用优快云-markdown编辑器
欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B 斜体 Ctrl + I 引用 Ctrl转载 2016-12-22 17:12:30 · 173 阅读 · 0 评论