- 博客(28)
- 收藏
- 关注
转载 自定义view&viewgroup
1.自定义View自定义View主要是Android系统内置的View无法实现我们的需求,我们需要针对我们的业务需求定制我们想要的View。自定义View我们大部分时候只需重写两个函数:onMeasure()、onDraw()。onMeasure负责对当前View的尺寸进行测量,onDraw负责把当前这个View绘制出来,还得写至少写2个构造函数:public MyView(Context context) { super(context);}public MyView(Context c
2021-04-07 23:24:49
252
原创 接口回调的简单使用
建一个接口public interface callback { void callback(String a);//}使用在一个方法中传入 接口类型的参数,把想要回调的数据传入接口的方法里。另一个方法中实现这个接口,接口里的参数,即为想要回调的数据public class shiyong { public static void hahh(String b,callback callback){ callback.callback(b); }
2021-03-31 22:25:27
345
原创 事件分发机制的应用---解决listview scrollview冲突
文章目录前言一、Listview与scrollview 冲突情景二、如何解决冲突:前言Android的事件分发(dispatchTouchEvent),拦截(onInterceptTouchEvent)与处理(onTouchEvent)一、Listview与scrollview 冲突情景如图 : 整体用srollview包裹,上面带图片的是listview 下面是一个内容足够多的TextView。冲突情况:当滑动listview整体一块儿滑动,也就是说滑动的是scrollview而不是li
2021-01-14 20:33:28
392
1
原创 Android的事件分发(dispatchTouchEvent),拦截(onInterceptTouchEvent)与处理(onTouchEvent)
文章目录前言一、基本知识1. 事件分发的三个函数2.事件分发的对象3. 分发事件的组件二、事件分发机制场景1.不拦截、不消费2.拦截,但均无消费总结前言一、基本知识1. 事件分发的三个函数事件的分发 dispatchTouchEvent()事件的拦截 onInterceptTouchEvent()事件的处理(消费) onTouchEvent()2.事件分发的对象 被分发的对象是那些?被分发的对象是用户触摸屏幕而产生的点击事件,事件主要包括:按下、滑动、抬起与取消。这些事件被封装.
2021-01-14 20:04:01
1604
1
原创 RecyclerView缓存复用的简单理解
文章目录前言一、RecyclerView的四级缓存是什么?二、流程分析1.前提条件2.读入数据总结前言文中材料都来自网络查找,有错的话可以评论交流一、RecyclerView的四级缓存是什么? 首先需要对RecyclerView如何滚动显示其子项有一定的了解,这与ViewGroup的显示流程有关,ViewGroup需要依次走过onMeasure()方法、onLayout()方法、onDraw()方法,依次测量,布局,绘制。RecyclerView监听到滑动的操作后,重新调用onLayout()
2021-01-12 20:32:46
491
转载 Android设置系统状态栏颜色
开门见山,先来三张效果图: 然后我们再来讲如何实现以及如何快速地实现。 如何实现 实现设置系统状态栏颜色需要至少在Android 4.4.2(API 19)以上。这是因为,在这个版本以下,没有任何的API可以帮助我们来实现。那么具体如何设置呢? Android 4.4.2 实现 Android 4.4.2新增了一个特性,即可以设置...
2021-01-10 19:48:25
10491
4
原创 ViewModel简单使用 java版
添加依赖implementation 'androidx.lifecycle:lifecycle-viewmodel:2.2.0'ViewModel 的一个重要作用就是帮助Activity分担一部分工作,只要是界面上能看到的数据,它的相关变量都应该存放在ViewModel中。1、创建MyViewModel继承ViewModelpublic class myViewModel extends ViewModel { protected int a=0; public myViewMod
2020-11-09 21:50:25
2406
1
原创 面试题 17.12. BiNode 二叉搜索树
算法菜鸟一枚,二叉搜索树和题目意思都是看完题解理解的,看完思路晚上做了一下。做的时候仍遇到了问题,开始认为左子二叉树,左右子节点皆为null,的时候,则为0那个节点,但是右子二叉树的左右孩子节点也是这样。然后如果p.left=null,对应着题目说的left置空,但是这行代码放进else{ }节点少的时候可以通过,节点多的时候会出现循环节点,不知道原因。...
2020-10-23 22:01:08
197
原创 《android中保存图片到/data/data/<package name>/files/目录中》,
《android中保存图片到/data/data//files/目录中》, 一https://blog.youkuaiyun.com/cheng9981/article/details/53070042?utm_source=app
2020-10-17 09:50:01
492
原创 算法 递归 求树的高度
就一句话,给自己做记录的求树的高度时;左右子树,递归到底时返回的高度,无所谓是左还是右,到最后,高的那一个会返回给上一层的父结点
2020-09-26 19:08:51
641
转载 AlertDialog
AlertDialog可以在当前的界面上显示一个对话框,这个对话框是置顶于所有界面元素之上的,能够屏蔽掉其他控件的交互能力,因此AlertDialog一般是用于提示一些非常重要的内容或者警告信息。1.创建AlertDialog首先,我们来了解一下AlertDialog的大体创建顺序。与TextView、Button这些控件稍有不同,AlertDialog并不是初始化(findViewById)之后就直接调用各种方法了。仔细想想AlertDialog的使用场景, 它并不像TextView和Button那些
2020-09-13 13:24:28
405
原创 安卓9.0系统出现 CLEARTEXT communication to XX not permitted by network security policy
由于2018年发布的Android P限制了非加密的流量请求导致出现 not permitted by network security policy解决的办法有2种1.把所有的http请求全部改为https请求2.在res的xml目录(),然后创建一个名为:network_config.xml文件在文件中设置cleartextTrafficPermitted为开启状态<?xm...
2019-12-01 18:03:30
189
原创 Recyclerview的个人理解,便于自己理解和记忆
first step添加相应依赖库:dependendcies{implementation 'com.android.support:recyclerview-v7:28.0.0 '}<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="...
2019-11-10 21:31:44
197
原创 不能真机运行Didn't find class "com.example.chifan.MainActivity" on path: DexPathList[[zi
写代码发现模拟器能运行,真机运行不了本来以为是版本问题,需要把minSdkVersion 15调高或者活动里if()版本,咋地咋地....最后发现这个报错,但是之前一直报一个很无关的一个错,搞的我很蒙。Didn't find class "com.example.chifan.MainActivity" on path: DexPathList[[zi然后百度就知道了,关闭i...
2019-10-23 15:50:25
1056
原创 系统日历添加事件
准备写个app,本弱鸡自然是从最简单的功能入手,边学边写,其中一个小功能便是做一个,事件提醒功能,不过听说用系统日历,app被杀依然能执行事件提醒功能,所以便开始了学习之前已经发过了一个博客,这次就写里面的 坑~~,还有完整的实现代码;首先是xml的代码,然后是活动Activit里的代码,Log,v()是我用来测试的,请忽略<?xml version="1.0" en...
2019-10-23 15:21:53
614
原创 android向系统日历添加日程事件(实现闹铃效果,且在app被杀仍能完成)
向系统日历读写事件有一下步骤1,有读写日历的权限2,如果没有日历账户需要先创建日历账户3,实现日历事件增删改查,提醒功能一,权限申请AndroidManifest.xml添加如下权限<uses-permission android:name="android.permission.READ_CALENDAR" /><uses-permission an...
2019-10-23 15:01:38
1464
转载 对ArrayAdapter的理解
1. 适配器的作用是数据和视图之间的桥梁2. 要显示一个数组,我们就用ArrayAdapter,数组适配器,数据的数据类型<>是String类型的,数据的数据类型还可以是其他的包括对象类。3. ArrayAdapter<String> arrayAdapter = new ArrayAdapter<String>(ArrayListDem...
2019-09-12 21:54:34
673
原创 使用litepal时创建litepal.xml遇到的问题
当项目中导入litepal时,新建assets目录,此时新建xml file是不行的,必须新建一个file,然后文件名字直接使用“litepal.xml"才可以。
2019-08-24 16:17:24
469
原创 如何消除Permission is only granted to system apps报错
在加权限的时候,有Permission is only granted to system apps报错此类权限仅授予系统级应用我们只需要在加入 tools:ignore="ProtectedPermissions"就可以忽略这个错误:如 <uses-permission android:name="android.permission.MOUNT_UNMOUN...
2019-08-20 20:13:33
1504
原创 android绑定服务学习
public class MyService extends Service {private DownloadBinder mBinder = new DownloadBinder();class DownloadBinder extends Binder { public void startDownload() { Log.d("MyService", "startDow...
2019-08-20 14:17:45
192
原创 Notification【Android】将服务变成前台服务时的问题
ntent intent = new Intent(this, MainActivity.class); PendingIntent pi = PendingIntent.getActivity(this, 0, intent, 0); Notification notification = new NotificationCompat.Builder(th...
2019-08-19 16:54:24
842
1
原创 前台服务java.lang.SecurityException: Permission Denial: startForeground
前台服务报错如下 Caused by: java.lang.SecurityException: Permission Denial: startForeground from pid=32168, uid=10088 requires android.permission.FOREGROUND_SERVICE在AndroidMainfest.xml里加一段代码就好<...
2019-08-11 09:50:53
2981
1
原创 输入输出流
Java学的一塌糊涂就开始搞安卓,不过听大佬说这两个可以一起学的,互相促进那种。然后我就放心了,幸好我安卓学的也不好。安卓书看到后面就发现一些东西仅限于知道,剩下的都忘了。。。不过单独学,真的静不下心,边学边写博客就很舒服了。(玩儿了一小时后)也不是很舒服。。在变量,数组和对象中存储的数据是暂时存在的,程序结束后他们就会丢失。为了永久的保存程序创建的数据,需要将其保存在磁盘文件中,...
2019-08-02 16:32:04
98
原创 Java构造函数
构造函数,是一种特殊的方法。主要用来在创建对象时初始化对象,即为对象成员变量赋值初始值,总与new运算符一起使用在创建对象的语句中。特别的一个类可以有多个构造函数,可以根据其参数个数的不同或参数类型的不同来区别他们,即构造函数的重载。先写到这儿吧,下次有空再写【滑稽】嘿嘿嘿1.构造函数的命名必须和类名完全相同;普通函数不能和类名相同.2.构造函数的功能主要用于在类的对象创建时...
2019-08-02 16:15:10
196
原创 安卓模拟器遇见ERR_CLEARTEXT_NOT_PERMITTED
这种开始去看报错,发现出现一堆错,不过网上说,这种报错都很宽泛,就是很多问题上都会出现这种报错。最后我就查了一下,模拟器显示的这段文字ERR_CLEARTEXT_NOT_PERMITTED。然后就明白了是安卓更新九点零以后,有新的限制对未加密流量不在信任,直接放弃请求。解决方法,改用安卓8.1(手动滑稽)这个是真的可行。不过正经的是<application andro...
2019-08-02 10:34:33
982
原创 安卓的坑didn't find class "android.support.multidex.MultiDexApplication"on path......
写的功能在模拟器里运行时,完全正常,在手机里就报错didn't find class "android.support.multidex.MultiDexApplication"on path......网上查了一下,说是要这样(一般是第三个那种情况)是MultiDex未初始化的问题:1)首先修改Gradle配置文件,启用MultiDex并包含MultiDex支持:de...
2019-05-30 21:53:08
4272
1
原创 求最少走多少路
fold已经非常的饿了! 所以fold决定去他的朋友家蹭饭吃! fold有3个好朋友: Anxdada, Ciwikun和twh233, 他们住在自己的房屋里. 这三位朋友的房屋都可以相互到达. Anxdada家到Ciwikun家的距离是a, Anxdada家到twh233家的距离是b, Ciwikun家到twh233家的距离是c.fold想要蹭n顿饭. 现在fold在Anxdada家吃第一顿饭...
2018-12-13 12:43:07
266
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人