自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(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 166

原创 接口回调的简单使用

建一个接口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 291

原创 事件分发机制的应用---解决listview scrollview冲突

文章目录前言一、Listview与scrollview 冲突情景二、如何解决冲突:前言Android的事件分发(dispatchTouchEvent),拦截(onInterceptTouchEvent)与处理(onTouchEvent)一、Listview与scrollview 冲突情景如图 : 整体用srollview包裹,上面带图片的是listview 下面是一个内容足够多的TextView。冲突情况:当滑动listview整体一块儿滑动,也就是说滑动的是scrollview而不是li

2021-01-14 20:33:28 291 1

原创 Android的事件分发(dispatchTouchEvent),拦截(onInterceptTouchEvent)与处理(onTouchEvent)

文章目录前言一、基本知识1. 事件分发的三个函数2.事件分发的对象3. 分发事件的组件二、事件分发机制场景1.不拦截、不消费2.拦截,但均无消费总结前言一、基本知识1. 事件分发的三个函数事件的分发 dispatchTouchEvent()事件的拦截 onInterceptTouchEvent()事件的处理(消费) onTouchEvent()2.事件分发的对象  被分发的对象是那些?被分发的对象是用户触摸屏幕而产生的点击事件,事件主要包括:按下、滑动、抬起与取消。这些事件被封装.

2021-01-14 20:04:01 1258 1

原创 RecyclerView缓存复用的简单理解

文章目录前言一、RecyclerView的四级缓存是什么?二、流程分析1.前提条件2.读入数据总结前言文中材料都来自网络查找,有错的话可以评论交流一、RecyclerView的四级缓存是什么?  首先需要对RecyclerView如何滚动显示其子项有一定的了解,这与ViewGroup的显示流程有关,ViewGroup需要依次走过onMeasure()方法、onLayout()方法、onDraw()方法,依次测量,布局,绘制。RecyclerView监听到滑动的操作后,重新调用onLayout()

2021-01-12 20:32:46 285

转载 Android设置系统状态栏颜色

开门见山,先来三张效果图:      然后我们再来讲如何实现以及如何快速地实现。 如何实现 实现设置系统状态栏颜色需要至少在Android 4.4.2(API 19)以上。这是因为,在这个版本以下,没有任何的API可以帮助我们来实现。那么具体如何设置呢? Android 4.4.2 实现 Android 4.4.2新增了一个特性,即可以设置...

2021-01-10 19:48:25 9611 3

转载 Retrofit初探和简单使用

https://www.jianshu.com/p/c94b557e2c59添加链接描述

2020-11-15 19:22:17 97

原创 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 2158 1

原创 面试题 17.12. BiNode 二叉搜索树

算法菜鸟一枚,二叉搜索树和题目意思都是看完题解理解的,看完思路晚上做了一下。做的时候仍遇到了问题,开始认为左子二叉树,左右子节点皆为null,的时候,则为0那个节点,但是右子二叉树的左右孩子节点也是这样。然后如果p.left=null,对应着题目说的left置空,但是这行代码放进else{ }节点少的时候可以通过,节点多的时候会出现循环节点,不知道原因。...

2020-10-23 22:01:08 131

原创 《android中保存图片到/data/data/<package name>/files/目录中》,

《android中保存图片到/data/data//files/目录中》, 一https://blog.csdn.net/cheng9981/article/details/53070042?utm_source=app

2020-10-17 09:50:01 433

原创 算法 递归 求树的高度

就一句话,给自己做记录的求树的高度时;左右子树,递归到底时返回的高度,无所谓是左还是右,到最后,高的那一个会返回给上一层的父结点

2020-09-26 19:08:51 580

转载 AlertDialog

AlertDialog可以在当前的界面上显示一个对话框,这个对话框是置顶于所有界面元素之上的,能够屏蔽掉其他控件的交互能力,因此AlertDialog一般是用于提示一些非常重要的内容或者警告信息。1.创建AlertDialog首先,我们来了解一下AlertDialog的大体创建顺序。与TextView、Button这些控件稍有不同,AlertDialog并不是初始化(findViewById)之后就直接调用各种方法了。仔细想想AlertDialog的使用场景, 它并不像TextView和Button那些

2020-09-13 13:24:28 330

原创 安卓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 130

原创 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 142

原创 不能真机运行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 933

原创 系统日历添加事件

准备写个app,本弱鸡自然是从最简单的功能入手,边学边写,其中一个小功能便是做一个,事件提醒功能,不过听说用系统日历,app被杀依然能执行事件提醒功能,所以便开始了学习之前已经发过了一个博客,这次就写里面的 坑~~,还有完整的实现代码;首先是xml的代码,然后是活动Activit里的代码,Log,v()是我用来测试的,请忽略<?xml version="1.0" en...

2019-10-23 15:21:53 563

原创 android向系统日历添加日程事件(实现闹铃效果,且在app被杀仍能完成)

向系统日历读写事件有一下步骤1,有读写日历的权限2,如果没有日历账户需要先创建日历账户3,实现日历事件增删改查,提醒功能一,权限申请AndroidManifest.xml添加如下权限<uses-permission android:name="android.permission.READ_CALENDAR" /><uses-permission an...

2019-10-23 15:01:38 1349

转载 对ArrayAdapter的理解

1. 适配器的作用是数据和视图之间的桥梁2. 要显示一个数组,我们就用ArrayAdapter,数组适配器,数据的数据类型<>是String类型的,数据的数据类型还可以是其他的包括对象类。3. ArrayAdapter<String> arrayAdapter = new ArrayAdapter<String>(ArrayListDem...

2019-09-12 21:54:34 609

原创 使用litepal时创建litepal.xml遇到的问题

当项目中导入litepal时,新建assets目录,此时新建xml file是不行的,必须新建一个file,然后文件名字直接使用“litepal.xml"才可以。

2019-08-24 16:17:24 434

原创 如何消除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 1271

原创 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 139

原创 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 782 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 2860 1

原创 输入输出流

Java学的一塌糊涂就开始搞安卓,不过听大佬说这两个可以一起学的,互相促进那种。然后我就放心了,幸好我安卓学的也不好。安卓书看到后面就发现一些东西仅限于知道,剩下的都忘了。。。不过单独学,真的静不下心,边学边写博客就很舒服了。(玩儿了一小时后)也不是很舒服。。在变量,数组和对象中存储的数据是暂时存在的,程序结束后他们就会丢失。为了永久的保存程序创建的数据,需要将其保存在磁盘文件中,...

2019-08-02 16:32:04 81

原创 Java构造函数

构造函数,是一种特殊的方法。主要用来在创建对象时初始化对象,即为对象成员变量赋值初始值,总与new运算符一起使用在创建对象的语句中。特别的一个类可以有多个构造函数,可以根据其参数个数的不同或参数类型的不同来区别他们,即构造函数的重载。先写到这儿吧,下次有空再写【滑稽】嘿嘿嘿1.构造函数的命名必须和类名完全相同;普通函数不能和类名相同.2.构造函数的功能主要用于在类的对象创建时...

2019-08-02 16:15:10 164

原创 安卓模拟器遇见ERR_CLEARTEXT_NOT_PERMITTED

这种开始去看报错,发现出现一堆错,不过网上说,这种报错都很宽泛,就是很多问题上都会出现这种报错。最后我就查了一下,模拟器显示的这段文字ERR_CLEARTEXT_NOT_PERMITTED。然后就明白了是安卓更新九点零以后,有新的限制对未加密流量不在信任,直接放弃请求。解决方法,改用安卓8.1(手动滑稽)这个是真的可行。不过正经的是<application andro...

2019-08-02 10:34:33 896

原创 安卓的坑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 4141 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 210

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除