自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

璐璐的专栏

勿骄勿躁

  • 博客(169)
  • 收藏
  • 关注

原创 JetPack06-Navigation 管理Fragment间的导航

一个Activity+多个Fragment,Activity中使用Navigation组件,可以实现Fragment之间的相互跳转,同时能与菜单联动。

2024-10-09 10:45:04 349

原创 10-JetPack项目实战-实现App共享ViewModel

JetPack项目实战-实现App共享ViewModel;MVVM框架;项目实战-实现App共享ViewModel;

2024-09-29 17:52:09 687 1

原创 JetPack03-ViewModel 保证界面数据稳定性

ViewModel 保证界面数据稳定性;ViewModel使用和源码分析。

2024-09-26 17:26:47 544

原创 Jetpack02-LiveData 数据驱动UI更新(类似EventBus)

LiveData使用及源码分析,LiveData 数据驱动UI更新,修改数据,通知UI更新,具有生命周期属性,

2024-09-25 11:43:03 462

原创 JetPack01- LifeCycle 监听Activity或Fragment的生命周期

LifeCycle 监听Activity或Fragment的生命周期使用及源码分析

2024-09-24 12:04:01 594

原创 委托 by 操作符

委托 by 操作符

2024-08-28 14:18:45 333

原创 RxJava-操作符-mergeDelayError使用

RxJava操作符mergeDelayError的使用

2024-08-21 09:23:33 339

原创 RxJava基础使用

RxJava基础使用,Rx思想,RxJava+Retrofit,防抖等

2024-07-30 11:50:26 1015

原创 自定义ViewGroup-流式布局FlowLayout(重点:测量和布局)

实战流式布局-讲解自定义ViewGroup

2024-07-13 17:12:43 678

原创 自定义View-渐变TextView(重点:绘制文本)

自定义View-渐变TextView(重点:绘制文本)

2024-07-10 17:55:52 915 1

原创 Android App-targetSDKVersion28升级为30

App-targetSDKVersion28升级为30

2023-12-06 16:44:22 4760 1

原创 自定义ViewGroup实现流式布局

自定义ViewGroup原理 流式布局

2023-06-01 11:52:08 673

原创 自定义View

目录引言1 自定义属性2 onDraw 绘制View3 onMeasure 测量 View 的大小并确定它们的宽度和高度4 完整代码5 绘制流程6 总结

2023-05-11 17:43:04 683

转载 Android UI 基础-坐标系、角度(弧度)、颜色

Android UI 基础-坐标系、角度(弧度)、颜色

2023-05-08 15:45:01 625

原创 解读apk分包-32位安装包、32位64位兼容包和64位安装包

确保应用包含64位库即可,如包含不做修改,如未包含,需添加64位库即可。应用不一定要支持所有 64 位架构,但对于支持的每种原生 32 位架构,应用都必须包含相应的 64 位架构。

2022-11-01 12:08:46 24434 1

原创 ListView列表项View复用--ViewHolder模式

名词介绍ListView我们称之为列表,ListView中显示的每列,我们称之为列表项。内容:本文讲列表项View复用,那么何时会复用列表项View?当列表存在滚动时,即所有列表项不能被全部看到,就会复用View。本文以ListView使用时重写BaseAdapter的适配器为例,讲解列表项View复用中的ViewHolder模式实现的控件对象复用。在重写BaseAdapter时,通过重写getView方法实现自定义列表项View和列表项View复用,每个列表项的每次展示都需要调用getView

2021-04-17 22:38:01 1013

原创 Android线程间通信runOnUiThread

定义:Android线程间通讯(主要是子线程与UI主线程之间通信,子线程发送消息给UI主线程,主线程对界面进行相应的更新)原理基于Handler,在Handler的基础上进行封装,Handler的使用如下:1、Main Thread 中实现Handler类2、子线程中拥有Main Thread中Handler类的对象mHandler3、子线程发送消息给主线程mHandler.sendMessage(Message msg)4、通过Looper循环机制,主线程Handler类中的handleMe

2021-02-03 17:55:14 654

原创 Java基础-数据序列化之序列化框架的使用

为什么要序列化?现在开发过程中经常遇到多个进程多个服务间需要交互,或者不同语言的服务之间需要交互,这个时候,我们一般选择使用固定的协议,将数据传输过去,但是在很多语言,比如java等jvm语言中,传输的数据是特有的类对象,而类对象仅仅在当前jvm是有效的,传递给别的jvm或者传递给别的语言的时候,是无法直接识别类对象的,那么,我们需要多个服务之间交互或者不同语言交互,该怎么办?这个时候我们就需要...

2020-04-14 12:41:07 219

原创 框架篇(一)-登录实例和Google官方实例讲解MVP模式

实例讲解MVP模式

2020-04-09 11:09:55 638

原创 解决国内访问GitHub慢的问题(加速访问网站)

原因简述GitHub的域名遭到DNS污染,导致无法连接使用 GitHub 的加速分发服务器,才使得国内访问速度很慢。为了剖析原因,我们首先需要了解域名访问服务器的原理和DNS污染。域名访问服务器的原理由上图可知,域名访问网站服务器中最重要的环节是DNS解析域名和IP地址的对应关系,那么为什么会出现DNS污染呢?DNS污染(域名服务器缓存污染):DNS为缓解网络压力,会缓存解析到的域名...

2020-04-07 16:26:33 3829 1

原创 以Android Studio讲解Gradle在Android项目中的应用(一)

本文名词:Gradle/Android/Android Studio/android gradle plugin在本文中AS代表Android Studio,gradle插件代表android gradle plugin。本文目录:什么是Gradle?Gradle的功能gradle与android studio的关系android项目中的gradle文件扩展-不借助IDE使用gr...

2020-04-07 16:15:08 562 1

原创 Android studio(AS)项目更换gradle版本

本文只介绍操作,不介绍原理,如需了解原理,请详细了解Gradle、Android Gradle Plugin以及AS项目中与Gradle有关的文件和各文件的作用。在开发过程中经常会使用AS导入开源的项目,但是开源项目使用的Gradle与Android Gradle Plugin版本和自己的AS所使用的默认版本经常不一样==(如AS能支持开源项目的版本,最好使AS支持项目版本,否则可能因为版本不一...

2020-04-01 15:53:56 25051 1

原创 Android TextView省略号代替多出数据

1、效果图 2、xml实现 android:maxLines=”1” android:ellipsize=”end”<TextView android:id="@+id/name" android:layout_width="wrap_content" android:layout_height="wrap_content

2017-09-29 19:39:58 2102

原创 Android控件之WebView(网页调转回APP)

问题来源:网页跳转回应用 APP打开网页,网页放置在服务器中(例如,APP打开百度网页),打开网页之后在某一时刻需要从网页在跳转回到APP。 实现原理:使用URI再加上Intent来实现。 URI介绍: 就Android平台而言,URI主要分三个部分:scheme, authority and path。其中authority又分为host和port。格式如下: scheme://hos

2015-10-09 19:04:41 3511

原创 Android控件之WebView(基础知识)

1. 常用设置 1.1 打开网页时不调用系统浏览器,而是在WebView中显示。 WebView如果不设置setWebViewClient(),网页在系统系统浏览器中打开,如果设置则在WebView中显示,同时还可以自定义WebViewClient。mWebView.setWebViewClient(new WebViewClient(){ @Override publi

2015-10-09 18:52:10 672

原创 android下访问已存在的sqlite数据库文件的办法

android下访问已存在的sqlite数据库文件的办法

2015-09-17 11:44:33 6633

原创 ADT集成环境+PhoneGap 2.9.0搭建HTML5 开发APP环境

一.环境搭建1.   搭建开发Android环境,此处不再讲述,可以使用ADT集成环境,也可以使用Eclipse + Android SDK + ADT Plugin。ADT集成环境下载地址:http://developer.android.com/sdk/index.html2.   配置PhoneGapPhoneGap下载地址:http://phonegap.c

2015-05-28 11:35:08 1216

原创 Android断点调试Service

问题:以调试 模式启动Android 项目时,在service 中设置断点,调试器不会停止下来。解决办法:1.   Androidmanifest.xml配置文件,将service 配置后面的 android:process=":remote" 删除就可以了。2.   使用Log,打印信息。3.   等待添加调试器,添加了这条语句之后,可以在这个方法的任何地方添加断点。在需要调

2015-05-27 18:01:16 5402 1

原创 java.lang.ExceptionInInitializerError

一.错误,原因java.lang.ExceptionInInitializerError二.原因引起java.lang.ExceptionInInitializerError 错误的原因是:在类的初始化时,出错。也就是说,在加载类时,执行static的属性、方法块时,出错了。比如 public class AA{ private static AA aa =

2015-05-27 17:53:12 48571 3

原创 Android Callback浅谈

一.简介,例子      CallBack是回调的意思,"回调函数"或者"回调方法"是软件设计与开发中一个非常重要的概念,掌握"回调函数"的思想对程序员来说(不管用哪种语言)是非常必要的。       什么是回调函数呢?回调函数就是预留给系统调用的函数,而且我们知道该函数被调用的时机。这里有两点需要注意:第一点,我们写回调函数不是给自己调用的,而是准备给系统在将来某一时刻调用的;第二点

2015-04-22 18:32:26 1226

原创 Android Junit测试环境搭建

一.单元测试简介在android的开发的过程中,经常需要对业务方面的代码进行测试,熟悉java的人都知道junit, 在android中google提供了基于junit为android进行了优化得自动化框架junit,在Junit中可以得到组件,可以模拟发送事件和检测程序处理的正确性,在java中使用junit编写测试用例,我们需要继承TestCase,在android中需要继承Android

2015-04-22 18:13:48 1269

原创 Android Service(一)--浅谈Service

一.Service简介service可以说是一个在后台运行的Activity,它不是一个单独的进程,它只需要应用告诉它要在后台做什么就可以了,它要实现和用户的交互的话需要通过通知栏或则是发送广播,UI去接收显示。它的应用十分广泛,尤其是在框架层,应用更多的是对系统服务的调用。它用于处理一些不干扰用户使用的后台操作。如下载,网络获取。播放音乐,他可以通过INTENT来开启,同时也可以绑定到宿主对

2015-04-13 17:25:54 896

原创 Android Thread和AsyncTask的区别和联系

一.Thread简介在Android当中,当一个应用程序的组件启动的时候,并且没有其他的应用程序组件在运行时,Android系统就会为该应用程序组件开辟一个新的线程来执行。默认的情况下,在一个相同Android应用程序当中,其里面的组件都是运行在同一个线程里面的,这个线程我们称之为Main线程。当我们通过某个组件来启动另一个组件的时候,这个时候默认都是在同一个线程当中完成的。当然,我们可以自己

2015-04-10 11:59:36 1683 1

原创 Android Preference API 用法--ListPreference(一)

一.ListPreference简介我们都只知道SharedPreference非常适合于参数设置功能,在此处的preference 也是代表SharedPreference的意思,在SharedPreference中,我们可以迅速的将某些值保存进xml文件中,然后我们可以读取这些设置信息进行相应的操作。为了简化与preference相关的应用开发,android为我们提供了一系列的api

2015-04-09 17:56:50 6033

原创 Android向EasyN摄像头发送http get请求获取媒体数据响应包

一.描述Android实现获取网络摄像头的视频流并且播放,以便实现手机实时监控。网络摄像头:EsayN(普顺达)。网络:内网。外网应该也也一样,没有测试。协议文档:ip Camera视音频访问协议。此文档主要是实现协议文档中发送 http get请求到网络摄像头,获取媒体数据响应包。代码中摄像头的IP和端口分别是192.168.10.253  81。二.发送http g

2015-03-26 14:04:45 3328

原创 php支持连接sql server数据库

1、软件配置Win7 64 +wampserver2.2d-x32+SQL Server 2008 R2数据库,wamp2.2中的php版本是5.3.10。Php环境也可以换成php+apache。2、支持连接MySQL Server配置 php版本5.3以前,有php_mssql功能,可以使用,但是5.3及以后的版本不支持。2.1、php连接mssql设置(php5.3以前版

2014-12-02 16:01:47 3833

原创 android wifi连接可接收数据, gprs不能

android获取网络上的文件的时候,在WiFi环境下可以获得,GPRS网络不行。原因:访问的时候要使用静态ip,不能动态ip。例子: 华为网盘直链云加速里面存储的文件,下载的时候ip是动态分配的,GPRS网络环境下不能获取数据。扩展:1. 为什么GPRS网络下,获取数据的时候不能是动态ip,也就是说必须是公网ip才行?http://www.wzsky.net/html/Cis

2014-11-13 11:53:48 1899

原创 内存泄露

错误提示:java.lang.Throwable: Explicit termination method 'release' not called。翻译为:明确的终止方法不叫“释放”原因:内存泄露。尝试解决办法:1. 跟一下内存使用情况2. 监控你定义的全局变量大小。

2014-11-12 15:56:41 1008

原创 自动更新--下载apk以及提示对话框的实现(3)

下载apk以及提示对话框的实现一、步骤:1. 确定有可以更新的版本,对话框提醒用户是否进行更新。2. 选择更新的话,显示下载对话框并且进行下载,否则关闭提示更新对话框。3. Apk下载完成后,安装apk。二、具体细节:1. 提示用户更新的时候,实现必须更新的方法如下:显示的对话框只显示更新按钮,也就是只能选择更新。2. 下载的时候,下载对话框的页面显示一个进度条来显示下

2014-11-12 15:47:36 2568

原创 自动更新 -- 版本号比较(2)

版本号比较在实现自动更新的时候,需要进行版本号的比较。例如: 1.0.6 和1.0.7比较大小解决方案:将版本号的字符串转换成整数来比较。步骤:1. 去除字符串中的小数点。(使用正则表达式)2. 比较两个字符串的长度,长度短的后尾补0,直到两个字符串长度相同。(为了实现 1.0.5.1与1.0.6的比较)。3. 将两个字符串转换成整数比较。代码如下:// 正

2014-11-12 11:46:50 1551

无标题规划局本来开一个劳苦和gillg

无标题规划局本来开一个劳苦和gillg

2024-07-10

空空如也

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

TA关注的人

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