![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
移动开发
文章平均质量分 87
拖鞋王子猪
公众号 拖鞋王子猪 欢迎您的光临
展开
-
Android的TabLayout右上角展示数量
先直接上图主要使用了TabLayout、ViewPager、Fragment这三个控件的使用就不多介绍了,如有不熟悉的朋友,可自行先去了解一下这三个控件的使用。activity_main的布局如下:<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match原创 2021-06-11 11:20:30 · 632 阅读 · 2 评论 -
Android:Kotlin详细入门学习指南-包-控制流-返回与跳转-基础语法(三)
本人也是在初学Kotlin,如有错误,请帮忙指出,持续更新Android:Kotlin详细入门学习指南-包-控制流-返回与跳转-基础语法(三)建议先看看前面的文章Android:Kotlin详细入门学习指南-基础语法(一)Android:Kotlin详细入门学习指南-基本类型-基础语法(二)这篇文章主要分享Kotlin中的-包-控制流-返回与跳转包一个源文件以包声明开始:package foo.bar fun bza() {} class Goo {}//...源文件的所有内容(比原创 2021-01-19 17:20:02 · 209 阅读 · 0 评论 -
Android:Kotlin详细入门学习指南-基础语法(一)
Android:Kotlin详细入门学习指南-基础语法(一)本人也是在初学Kotlin,如有错误,请帮忙指出,持续更新Kotlin被Google官方认为是Android开发的一级编程语言自 2019 年 Google I/O 以来,Kotlin 就成为了 Android 移动开发的首选。首先来看看Kotlin的基础语法Kotlin是什么Kotlin是Android开发的一级编程语言(Google官方认证)由JetBrains公司在2010年推出 & 开源,与Java语言互通 &a原创 2021-01-14 13:38:29 · 420 阅读 · 0 评论 -
Android刮刮乐效果-proterDuffXfermode
Android刮刮乐效果-proterDuffXfermode先看看实现的效果这个场景主要是模拟我们有些app里面的刮刮乐中奖的效果,主要是利用Android的proterDuffXfermode这个类去实现的。proterDuffXfermode在用Android中的Canvas进行绘图时,可以通过使用PorterDuffXfermode将所绘制的图形的像素与Canvas中对应位置的像素按照一定规则进行混合,形成新的像素值,从而更新Canvas中最终的像素颜色值,这样会创建很多有趣的效果。Port原创 2020-12-15 15:33:18 · 2088 阅读 · 12 评论 -
Android中使用fragment切换,避免出现重叠和叠影
在Android的主页面,我们一般就是以下几种方式(1)使用Fragment实现(2)使用ViewPage实现(3)使用ViewPage+FragmentPageAdapter(4)使用框架实现但是,如果使用fragment的时候,有时候会出现重叠,或者程序有问题,也会出现这个问题,主要是这个savedInstanceState,会在程序发生异常的时候保存状态。所以,我们要对这个方法进行处理在activity的onCreate()中判断//根据传入的Bundle对象判断Act原创 2020-08-03 10:36:14 · 736 阅读 · 4 评论 -
java-基础-异常处理
1.异常概述与异常体系结构在使用计算机语言进行项目开发的过程中,即使程序员把代码写得尽善尽美,在系统的运行过程中仍然会遇到一些问题,因为很多问题不是靠代码能够避 免的,比如:客户输入数据的格式,读取文件是否存在,网络是否始终保持 通畅等等。异常:在Java语言中,将程序执行中发生的不正常情况称为“异常”。 (开发过程中的语法错误和逻辑错误不是异常) Java程序在执行过程中所发生的异常事件可分为两类: Error:Java虚拟机无法解决的严重问题。如:JVM系统内部错误、资源 ..原创 2020-05-10 09:41:58 · 176 阅读 · 0 评论 -
java基础-数组
1.数组的概述数组(Array),是多个相同类型数据按一定顺序排列的集合,并使用一个名字命名,并通过编号的方式 对这些数据进行统一管理。 数组的常见概念 数组名 下标(或索引) 元素 数组的长度数组本身是引用数据类型,而数组中的元素可以是任何数据类型,包括基本数据类型和引用数据类型。 创建数组对象会在内存中开辟一整块连续的空间,而数组名中引用的是 这块连续空间的...原创 2020-05-04 10:37:55 · 189 阅读 · 0 评论 -
java中对象的序列化和反序列化
一、概念 把对象转换为字节序列的过程称为对象的序列化。 把字节序列恢复为对象的过程称为对象的反序列化。 对象的序列化主要有两种用途: 1) 把对象的字节序列永久地保存到硬盘上,通常存放在一个文件中; 2) 在网络上传送对象的字节序列。二、具体操作java.io.ObjectOutputStream代表对象输出流,它的writeObject(Object ob...原创 2019-06-01 20:52:47 · 86 阅读 · 0 评论 -
Android中自定义view,onTouchEvent的事件不触发,请大佬看看为什么?
package com.yuan.refresh;import android.content.Context;import android.support.annotation.Nullable;import android.util.AttributeSet;import android.util.Log;import android.view.MotionEvent;impo...原创 2019-06-09 14:44:59 · 4444 阅读 · 0 评论 -
Android如何防止异常奔溃以及拿到crash日志,处理线上问题定位
Android中防止程序崩溃,以及拿到crash日志分析定位1.添加该工具类方法public class CrashProtectManager { private static CrashProtectManager mInstance; private static Context mContext; private CrashProtectManage...原创 2019-06-30 22:33:16 · 815 阅读 · 0 评论 -
百度地图详解使用,显示自己的当前位置BaiduMap
第一步:注册百度开发者账号 http://lbsyun.baidu.com/,下载对应的jar和Key第二步:创建应用填写正确的SHA1和应用的包名,并且下载第三步:解压上面的SDK_Lib压缩包文件libs下放入jar包,并且添加到依赖main下面新建文件夹JNIlibs放入这些文件第四步:AndroidManifest.xml文件配置加入所需要的权限...原创 2019-07-27 20:20:24 · 1592 阅读 · 0 评论 -
Android运行时权限申请Easypermissions简单使用
Easypermissions是运行时权限申请的一个库,使用起来非常简单第一步:在build.gradle里面添加implementation "pub.devrel:easypermissions:2.0.1"第二步:在需要使用的activity里面实现,implements EasyPermissions.PermissionCallbacks第三步:代码使用,在on...原创 2019-08-21 13:36:08 · 782 阅读 · 0 评论 -
Android开发者Hanlder避免内存泄漏,采用静态内部类+弱引用的方式(非静态内部类导致内存泄露)
非静态内部类(包括匿名内部类)默认就会持有外部类的引用,当非静态内部类对象的生命周期 比外部类对象的生命周期长时,就会导致内存泄露。非静态内部类导致的内存泄露在 Android 开发中有一种典型的场景就是使用 Handler,很多开发 者在使用 Handler 是这样写的:public class MainActivity extends AppCompatActivity {@Ove...原创 2019-08-21 23:15:48 · 761 阅读 · 0 评论 -
Android自定义dialog的实现
1.先看效果图 ,直接按照demo粘贴复制修改即可2.主要类文件public class UsualDialogger extends Dialog { private final String TITLE; private final String MESSAGE; private final String CONFIRMTEXT; private...原创 2019-09-11 16:46:30 · 227 阅读 · 0 评论 -
DialogPlus实现版本升级下载的弹框dialog样式
先上效果图,升级带下载功能第一步:加入依赖implementation 'com.orhanobut:dialogplus:1.11@aar'第二步实现布局<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/re...原创 2019-09-12 09:34:20 · 816 阅读 · 5 评论 -
Android种RadioGroup和fragment的切换
话不多说,上图,扫一扫,读一读,来回切换,根据自己的需要,可做相应的修改第一步:布局文件:activity_read_and_write<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" ...原创 2019-09-18 09:57:28 · 223 阅读 · 0 评论 -
简单的单例模式
public class Instance { private static Instance instance; private Instance() { } public static Instance getInstance() { if (instance == null) { instance = new Instance(); } return i...原创 2019-06-01 10:03:13 · 99 阅读 · 0 评论 -
Android线程封装的工具类,主线程和子线程
子线程和主线程之间的简单封装public class ThreadUtils { //主线程的Handler private final static Handler MAIN = new Handler(Looper.getMainLooper()); public static void postMainThread(Runnable runnbale) { ...原创 2019-06-01 09:48:32 · 868 阅读 · 2 评论 -
android中dp与px的转换
public classDensityUtil { /** * 根据手机的分辨率从dip的单位 转成为px(像素) */ public static intdip2px(Context context,floatdpValue) { final floatscale = context.getResour原创 2018-06-24 22:56:33 · 124 阅读 · 0 评论 -
android从后台获取环形进度值progress
效果图 :里面的90%都是后台获取的,进度条会有变化的。第一步:自定义属性 attrs.xml文件<?xml version="1.0" encoding="utf-8"?><resources> <declare-styleable name="RoundProgress"> <attr name="roundCo原创 2018-06-30 12:05:33 · 704 阅读 · 0 评论 -
Activity的使用
1.概述 :作用 ①界面 ②与用户交互2.组件的特点:①继承父类或实现接口 ②需要注册 ③对象是系统创建的④生命周期方法的自动调用3.如何声明一个activity4.启动 ①startActivity(intent) ②Activity1:startActivityForResult(int requestCode,Intent intent) ...原创 2018-06-25 21:40:00 · 529 阅读 · 0 评论 -
androidstudio在引用依赖的时候出现 Cannot find declaration to go to
在引用com.viewpagerindicator.TabPageIndicator这个依赖的时候,按住CTRL+鼠标左键不能进入里面的源代码,经过仔细检查之后,发现是自己的viewpagerindicator单词没有写正确,修改之后就可以。系统也会提示是xml的文件写错了,这个时候,就应该好好检查xml的布局文件代码和单词拼写。...原创 2018-07-01 17:59:59 · 3134 阅读 · 0 评论 -
TextView实现跑马灯效果
第一种方法textview.xml<TextViewandroid:id="@+id/tv_product_title"android:layout_width="match_parent"android:layout_height="wrap_content"android:singleLine="true"android:ellipsize="marquee"android:t..原创 2018-07-01 22:22:16 · 1477 阅读 · 0 评论 -
Bitmap的圆形处理
public class BitmapUtils { public static Bitmap circleBitmap(Bitmap source) { //获取Bitmap的宽度 int width = source.getWidth(); //以Bitmap的宽度值作为新的bitmap的宽高值。 Bitmap bitmap =...原创 2018-07-06 21:52:33 · 1270 阅读 · 0 评论 -
Android软件框架的搭建笔记
软件框架的搭建,Android通用的,是学习尚硅谷之后的笔记整理。下面四个按钮直接的切换,不同的fragment之间的跳转。关键代码布局页面activity_mian.xml<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.co...原创 2018-08-04 20:27:16 · 928 阅读 · 2 评论 -
影音app项目笔记
欢迎页splash launcher welcome防止启动多次,①设置为单例模式启动 ②设置true 在destory中所有的消息都移除@Overrideprotected void onDestroy() { handler.removeCallbacksAndMessages(null); super.onDestroy();}1. BasePagera 构...原创 2018-08-19 14:33:52 · 368 阅读 · 0 评论 -
viewpager使用大全
主要功能1.根据页面改变设置文本2.添加指示点3.支持左右无限滑动4.自动滑动页面5.当手滑动或者按下的时候停止滑动6.添加点击事件 运行起来的效果。主页面布局:main.xml<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://sc...原创 2018-08-22 22:00:21 · 141 阅读 · 0 评论 -
android与h5互调
Java代码与H5互调界面布局就不说了,一个按钮主要是核心代码package com.example.androi_h5;import android.app.Activity;import android.os.Bundle;import android.text.TextUtils;import android.view.View;import android.web...原创 2018-09-01 13:23:25 · 396 阅读 · 0 评论 -
Android自定义控件笔记
三种类型1.继承现有的系统控件 2.继承View 3.继承ViewGroupview和viewgroup最大的区别就是viewgroup是有孩子的,getChild()方法ObjectAnimator 属性动画ViewPager的高度一般要指定,要不然不显示viewPager的适配器是继承PagerAdapterinstantiateItem多一步 contain...原创 2018-09-01 13:24:21 · 138 阅读 · 0 评论 -
Android:ContentProvider的使用简介
一、作用 进程间 数据共享,跨进程通信 ContentProvider相当于中间的箱子,真正 存储操作数据的还是原来的存储数据的方式(数据库、文件、xml或者网络) 底层的原理是Android中的Binder机制二、使用 1.统一资源标识符(URL) URL = content://com.carson.provider/User/1 ...原创 2018-11-11 12:24:30 · 383 阅读 · 0 评论 -
android解析XML的三种方式 DOM、SAX、PULL
第一种DOM是全部解析出来,消耗内存空间<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layou...原创 2018-11-18 14:58:44 · 180 阅读 · 0 评论 -
Android 中的回调机制
在Java中不允许直接操作指针,它的回调是接口和内部类来实现的1.定义接口Callback,包含回调方法callback()2.在一个类Caller中声明一个Callbck接口对象mCallback3.在程序中赋予Caller对象的接口成员(mCallback) 一个内部类对象 Button的单击事件//a.接口定义public interface OnClickLi...原创 2018-12-02 18:54:07 · 119 阅读 · 0 评论 -
AS3.0之后使用butterknife:8.8.1的步骤
第一步:在app下的build.gradle添加依赖implementation 'com.jakewharton:butterknife:8.8.1'annotationProcessor 'com.jakewharton:butterknife-compiler:8.8.1'在MainActivity使用的时候,ButterKnife.bind(this); 一定要放在其...原创 2019-05-12 10:28:49 · 241 阅读 · 0 评论 -
android 设置全屏的三种方式
一:动态编码的方式:// 去掉窗口标题requestWindowFeature(Window.FEATURE_NO_TITLE);// 隐藏顶部的状态栏getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);setContentView();二:android:theme="@android:style/Theme.Blac...原创 2018-06-24 22:50:22 · 10100 阅读 · 0 评论