自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(21)
  • 收藏
  • 关注

原创 Android基础学习----Activity

一、对Activity的理解Activity它是Android的四大组件(Activity service broadcastReceiver ContentProvider)之一,而Activity是我们应用程序完成页面展示以及接收用户输入的载体,再赘述一下我对四大组件的理解,四大组件是Android的FrameWork层就是系统的SDK提供给我们的四个主要的类,依赖于这四个类我们就能在Android系统的手机上访问手机中的数据,并且能够接收系统内部的消息,可以在手机屏幕上显示我们的业务页面,并且也可以

2021-03-03 22:34:49 119

原创 Android基础学习---自定义组合控件

1.demo功能描述今天要实现的自定义组合控件是无数据图,其包含了一个imageview以及一个textview,因为在开发过程中无数据图往往逻辑很简单,如我们自定义的组和控件一搬都是一个图片对应一个描述,并且对应不同场景图片资源往往不同,为了方便我们的开发以及应对后期设计修改样式,我们需要实现一个无数据图的自定义控件2.demo实现关键点(1)创建自定义控件类,一般继承一个现有的viewGroup,这样无需我们自己实现measure以及layout(2)创建自定义属性(3)创建自定义style

2021-03-01 15:37:58 337 1

原创 Anddroid基础---网络请求

目前普遍使用的网络请求框架是Retrofit + OkHttp + RxJava,下面对这个框架进行一个简单详细的介绍(1)OkHttp,一个优秀的开源网络通信库,它与Android系统原生的HttpURLConnection类似可以实现相同的功能,并且它与原生的对比更加的易用,性能也不低于原生的,所以很受青睐thread { val client = OkHttpClient() val request = Request.Builder()

2021-02-27 14:27:10 172

原创 Android基础学习---MVC MVP MVVM以及dataBinding

Android应用程序的框架结构演变(1)MVC应用程序框架结构分为视图层(V)控制层(C)模型层(M)控制层负责操作数据M,视图层则可以通过调用C层来设置以及获取数据,各司其职,看似没有问题,但由于业务逻辑变得复杂,V层的逻辑越来越多,维护起来成本比较高(2)MVP应用程序框架结构类似MVC,只不过C—》P,这种变化是为了让P减轻V的责任,与MVC对比,P负责了C+部分V 中的工作,但是依然摆脱不了数据变化产生的层层调用,由于很多逻辑都是set及get类型的操作,因此出现了MVVM(3)MVVM应

2021-02-19 00:12:20 172 3

原创 前端学习路线

https://github.com/kamranahmedse/developer-roadmap

2021-02-17 19:35:56 71

原创 android基础学习——service及BroadcastReceiver

(1)demo功能描述:在Activity中绑定service,在service中接收到绑定的回调后,发送广播,并在Activity中接收Service发送的广播。(2)实现关键类及关键方法清单service—onBind()ServiceConnectionbindService()unBindService()sendBroadcast()IntentFilter—addAction()registerReceiver()unRegisterReceiver()实现过程—注册广播

2021-02-17 18:50:43 248 1

原创 Android基础学习——通知

通知相关的类及其获取和使用方式1.NotificationManager获取方式val manager = getSystemService(Context.NOTIFICATION_SERVICE) as NotificationManager2.Android 8.0及以后为了更好的管理通知泛滥的情况,NotificationChannel,创建方式if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { val

2021-02-15 23:58:55 93 2

原创 Kotlin学习

学习Kotlin原因及意义说起学习它的原因和意义,(1)越来越多的Android开发者使用它(2)它是Android开发的Google官方推荐语言,一定能得到越来越好的支持(3)我个人从学习它来看,就像大家说的它是Java的语法糖,使用它可以几行替代原来十几行的Java代码,它把我们常写的逻辑总结成了语法,一句搞定,还是很好的。Kotlin主要知识点1.object(参考:https://blog.csdn.net/xlh1191860939/article/details/79460601)(1)

2020-12-27 23:19:22 110

原创 设计模式---单例

java中单例的实现方式1.饿汉式:饿汉式顾名思义,就是在类加载后直接初始化,不等静态方法调用的时候判空 再初始化,好处是防止多线程并发的情况下同时判为空多次创建对象。(1)public class SingleTest { private static SingleTest singleTest = new SingleTest(); private SingleTest(){ } public static SingleTest getInstance(){

2020-12-27 18:43:01 60

原创 Popwindow

写在前面最近一直在在努力坚持着间断的持续学习,过程是痛苦的,但是好在每个痛苦之后都有那么一丁点的收获,今天有个思考为什么我学习Android这么难,今天好像有点结论但是又不敢下定论,和上学的时候对比,最明显的感觉就是,虽然Android的知识点是成体系的,但是和我们上学的时候学习的基础知识做对比来说,感觉知识点有点庞大,它不是你仅仅是掌握几个基本知识点就能推理出的,真的要达到活学活用,触类旁通,要记住的东西有很多,或许是我的理解力不够吧,但是把基础常用的掌握住,应该在大多数的场景下可以应付的过来,虽然难,

2020-12-20 14:44:51 429

原创 APP升级代码实现

APP升级流程升级安装 Intent intent = new Intent(Intent.ACTION_VIEW); //intent.addCategory(Intent.CATEGORY_DEFAULT); //intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {

2020-12-17 22:05:35 438

原创 对接口的理解

1.简单来说,我的理解是接口是Java多态的一种表现形式。2.示例图使用A test = new A1();test.fun();//实际调用的是A1类中的实现,这就是多态的表现demopublic class Test { int getScore(MakeScore makeScore){ return makeScore.getScore(); } int getScore(HwEnum hwEnum){ if(hwEnum=

2020-12-13 22:28:27 164

原创 Android数据库操作

通过ORM访问数据库的过程JDBC介绍1、加载JDBC驱动程序Class.forName(“oracle.jdbc.driver.OracleDriver”);2、创建数据库连接String url=“jdbc:oracle:thin:@localhost:1521:bjpowernode”; //驱动程序名:@主机名/IP:端口号:数据库实例名String username=“DbName”;String password=“pwd”;conn=DriverManager.getConne

2020-12-13 22:06:17 354

原创 关于枚举类的简单使用

定义一个枚举类public enum HwEnum { DOC_HW("doc","文本作业"), VIDEO_HW("video","视频作业"); String code; String name; public String getCode() { return code; } public void setCode(String code) { this.code = code; } pu

2020-12-12 21:03:21 130

原创 调试Webview的方法

在使用webview加载网页时,会遇见这样的问题,使用浏览器加载是没有问题的,但是放在移动端我们的应用中加载就会有问题,这样的问题怎样调试呢,一次工作中遇到的问题,让我发现了一个好工具https://developers.google.com/web/tools/chrome-devtools/remote-debugging/webviews?hl=zh-cn,使用Google的在线调试工具可以很好的帮我们解决问题,如果你也遇到了同样的问题,就试试吧,还有一点就是要在线工具需要翻墙使用。...

2020-10-26 18:12:20 205 1

原创 RXJava学习(一)

在准备好好学习RXJava之前需要问自己一个问题,我为什么学习RXJava只有给自己解释明白了,才能认真学,才能真的学有所用,才能真的学的透做为一个Android开发,平时写的最多的就是业务相关的,那与业务相关的当然就很大的可能性是用户交互相关的,那么代码一定都是写在主线程中,而且平时已经习惯了一个开发模式,按照设计好的界面搭建界面,然后理一下业务逻辑,写个大概的框架,然后进行代码实现,就是这样,已经非常固定的一个模式,好像说的有点远????,这和RXJava有啥关系,我想大概的关系就是,因为平时已

2020-06-20 14:13:56 170 1

原创 Android基础知识学习记录(一)

一、说一说Android的虚拟机DVM与ART在说DVM与ART之前,要说说与JVM的一个区别,前者是基于寄存器实现的,后者是基于栈实现的。1.DVM:Dalvik是Google公司自己设计用于Android平台的Java虚拟机。支持已转换为.dex(Dalvik Executable)格式的Java应用程序的运行,.dex格式是专为Dalvik应用设计的一种压缩格式,适合内存和处理器速度有限的系统。2.ART:ART是Android Run Time即Android运行时的简称,An.

2020-06-07 17:07:10 239

原创 JVM内存结构大小设置

最近在学习JVM相关知识,今天在这里记录一下JVM的各内存模型的大小参数设置我们的java程序都是通过JVM虚拟机执行的,那在程序运行过程中,我们的程序会被拆解为类,实例,方法等加载到JVM内存中进行执行,我们知道JVM内存模型大概分为方法区,堆,JVM栈,程序计数器等,其中各个模型所占空间的大小是多少呢?如果系统默认配置的大小不合乎我们的需求又怎么办呢?堆所占空间设置:-Xmx1m...

2020-05-01 22:27:27 196

原创 Android本地文件读写操作

文件写入:private void addFile(String requestUrlStr){ String filePath = Environment.getExternalStorageDirectory() .getAbsolutePath() + File.separator + "RequestHistory" + File...

2020-04-24 11:43:14 1017

原创 JDK1.8对于集合操作的简化处理的应用

/** * jdk 1.8对于集合各种操作简化处理的学习 * (1)集合转为stream * (2)面向流的filter(有返回值true,false),排序sorted,map[mapToInt……,无返回值,把当前值映射成为另一个对象],distinct,distinctbyKey[重写filter参数类型的方法<T> Predicate<T> distinct...

2020-04-19 16:55:41 265 1

原创 记一次使用Glide遇到的崩溃问题

最近项目中使用Glide去加载图片原图,因为图片涉及到切换,因此以防程序OOM,所以对加载到的bitmap,在加载下一张图片的时候进行了回收,但是最后GG了,具体如下伪代码Bitmap mResource;private void loadPic(String url){Target target = new SimpleTarget<Bitmap>(){重写方法onR...

2020-04-06 14:09:57 3482

空空如也

空空如也

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

TA关注的人

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