自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(100)
  • 资源 (2)
  • 收藏
  • 关注

原创 反射的基本使用

一、通过反射,获取另一个模块的方法(不能直接调用SettingActivity)public class SettingActivity extends BaseActivity implements View.OnClickListener {private void test() {logE("我是反射拿到的数据");}Class<?> clazz = Class.forName("com.example.settinglib.activity.SettingAct.

2021-05-07 22:15:12 280

转载 Android通知栏-Notification(通知消息)

1.概述当应用程序在后台运行,希望向用户发出一些提示学习,就需要借助Notification(通知)来实现。在发出一条通知后,手机最上方的状态栏会显示一个通知的图标,下拉状态栏后就可以看到通知的详细内容。1.1 视图分类Notification有两种视觉风格,一种是标准视图(Normal View),另外一种是大视图(Big view)。标准视图在Android中各版本是通用的,但是对于大视图而言,仅支持Android4.1+的版本。1.2 标准视图从官方文档了解到,一...

2021-04-20 08:32:49 1372

原创 aidl的基本使用--在不同app之间通信

一、将第一个app,当做服务端(一)创建Fruit.java文件,在com.example.settinglib包下实现Parcelable ,只有序列化的数据,才能在进程间传递public class Fruit implements Parcelable { private String mName ; private int mNumber; public Fruit(Parcel source) { mName = sour..

2021-04-07 23:09:37 412

原创 ContentProvider知识点-------(一)详解

一、目录1,阐述2,ContentProvider实现数据共享3,android:exported4,ContentProvider接口方法运行在哪个线程中呢?5,ContentProvider是如何在不同应用程序之间传输数据的?二、内容(一)阐述1,ContentProvider使一个应用程序的指定数据集提供给其他应用程序。其他应用可以通过ContentResolver类从该内容提供者中获取或存入数据。2,主要是为了,在多个应用程序间共享数据。跨进程数据共享。.

2021-03-28 22:30:19 398

原创 ContentProvider知识点-------(二)基本使用

一、创建LocationContendProvider ,并在清单文件注册1,在清单文件注册LocationContendProvider <provider android:name=".sqlite.LocationContentProvider" android:authorities="com.example.settinglib" android:exported="true" />2,创建L

2021-03-28 22:27:08 314

原创 三、git命令之--解决冲突

1,查看本地修改情况git status2,添加git add .3,提交git commit -m “第一次提交”4,先刷新,以免发生冲突,紧接着输入密码git pull origin 分支名字5,没有冲突,就直接推送git push origin 分支名字更新的时候若有冲突,就得返回studio解决冲突,有冲突的地方会报红6,有冲突,不能立即运行,要解决完冲突再运行,运行没问题,再次add,commit解决完冲突,比如文中的core.i...

2021-03-08 22:17:07 363

原创 二、git命令之--回滚(回退到某个版本)、合并代码

一、回滚1,git log 查看提交记录2,git reset --hard commitId(比如圈中的: 1f7872cada2d10c9d57efe7ae1c904acf1c1f52f) 回退到指定版本3, git log 查看提交日志,应该当前已经回退到指定版本,所以该版本之前的记录就没了 -----按Q键就可以退出log在该本版修改...

2020-04-25 21:31:39 2956

原创 一、git命令之--下载项目、迁移代码仓库

一、下载项目1,git clone 项目地址2,cd 项目名字3,git branch -a 查看远程所有分支4,git branch 查看本地所有分支5,git checkout -b dev origin/dev(新建本地分支,并将项目切换到分支,)5.1,若是报错:fatal: Cannot update paths and switch to branch 'd...

2020-04-25 14:29:41 446

转载 实现Android应用图标的上的数字角标

在做一些推送服务的时候,想在应用图标上添加未读消息,Android桌面角标的适配确实是非常坑爹的需求。原生系统根本就没有这个功能,国内很多厂家效仿ios都自己定义了该功能。现在就为大家介绍部分机型添加角标的代码。1、华为手机上显示角标:(已通过)//添加权限<uses-permission android:name="com.huawei.android.launch...

2019-09-16 10:20:12 896

转载 LinkedHashMap是如何实现按照插入顺序有序输出的-addBefore()方法

一, LinkedHashMap是HashMap的子类,很多方法都是继承自父类,重要的区别就是内部类中多了两个entry,一个记录前方entry,一个记录后方entry,这样的双向链表结构保证了插入顺序的有序。 二, 总得来说,LinkedHashMap底层是数组+单项链表+双向链表。挺神奇的,数组+单向链表就是HashMap的结构,记录数据用...

2019-07-16 16:16:01 2163

原创 非Activity的类,跳转到Activity中

一,在工具类中跳转到Activitypublic static void startIt(Context activity) { Intent intent = new Intent(activity, RechargeActivity.class); if (!(activity instanceof Activity)) { intent.setFlags...

2019-07-10 11:04:03 536

原创 shortcut详解

一,阐述Shortcuts功能跟随着 Android7.1 Nougat 一起诞生,其主要目:在于用户可以定义一些常用的操作路径,以快捷方式的形式存在。这些快捷方式展示在可以支持的设备上,帮助用户快速启动常用或者推荐的页面和行为。二,展示方式1,一种通过长按应用 icon,此时会弹出列表弹窗.(对于没有配置快捷方式的应用,一般都是手机厂商给的默认功能)...

2019-07-03 17:54:41 31932

原创 提高studio编译速度

1,加大分配的内存打开studio的 bin\studio64.exe.vmoptions文件夹.(studio.exe.vmoptions是32位的电脑需要配置的)二,找到studio的bin目录下的idea.properties文件,添加disable.android.first.run=true(避免每次启动Android Studio都要fetching An...

2019-06-20 11:34:22 958

原创 BaseRecyclerViewAdapterHelper详细介绍(三)----实现点击事件,添加头布局,脚布局

相关文章:BaseRecyclerViewAdapterHelper详细介绍(一)BaseRecyclerViewAdapterHelper详细介绍(二)----实现嵌套功能一,点击条目openRecordAddapter.setOnItemClickListener(new BaseQuickAdapter.OnItemClickListener() { ...

2019-06-19 15:42:07 3017

原创 BaseRecyclerViewAdapterHelper详细介绍(二)----实现嵌套功能

相关文章:BaseRecyclerViewAdapterHelper详细介绍(一)BaseRecyclerViewAdapterHelper详细介绍(三)----实现点击事件,添加头布局,脚布局一,有两种方式实现嵌套功能1,第一种实现方式 继承BaseMultiItemQuickAdapterpublic class OpenRecordAddapter extends...

2019-06-19 15:37:25 2296

原创 BaseRecyclerViewAdapterHelper详细介绍(一)

相关文章:BaseRecyclerViewAdapterHelper详细介绍(二)----实现嵌套功能BaseRecyclerViewAdapterHelper详细介绍(三)----实现点击事件,添加头布局,脚布局一,拥有功能: 1,上拉加载 2,下来刷新 3,添加头布局,脚布局 4,列表嵌套...

2019-06-19 15:32:05 3984

转载 安卓开发中SpannableString之富文本显示效果

安卓开发中SpannableString之富文本显示效果SpannableString其实和String一样,都是一种字符串类型,SpannableString可以直接作为TextView的显示文本,不同的是SpannableString可以通过使用其方法setSpan方法实现字符串各种形式风格的显示,重要的是可以指定设置的区间,也就是为字符串指定下标区间内的子字符串设置格式。setSpa...

2019-04-11 15:14:40 174

转载 Android在开发中的使用技巧之解决ScrollView嵌套RecyclerView出现的系列问题

相信大家都遇到过ScrollView嵌套RecyclerView或者RecyclerView嵌套RecyclerView来使用, 也会遇到一堆奇奇怪怪的问题, 比如滑动卡顿、数据加载不完、数据加载完后没有停留在顶部等问题今天我们就来写一篇RecyclerView嵌套版本的解决方案 今年六月份的IO大会把Kotlin用做Android开发的一级语言, 也让这个语言在Android开发圈子里...

2019-03-18 19:12:09 154

原创 gradle插件升级到3.2.1产生的一些bug

1,Android Studio3.0之后不需要再指定buildToolsVersion,每个版本的Android Gradle插件都有默认版本的构建工具,删掉就行。2,The `android.dexOptions.incremental` property is deprecated and it has no effect on the build process.原因:...

2019-03-11 10:27:45 741

转载 minSdkVersion、targetSdkVersion、compileSdkVersion三者的作用解析

1. minSdkVersionminSdkVersion限制安装application所需要的系统最低版本,低于该版本的系统都不可以安装该application。同时不能使用该level版本SDK所不具备的API,例如在minSdkVersion为8的application中调用【this.getActionBar()】就会出现Call requires API level 11 (curr...

2019-03-08 11:28:22 167

原创 Error:(27, 0) Gradle DSL method not found: 'compileSdkVersion()'

Error:(27, 0) Gradle DSL method not found: 'compileSdkVersion()'原因:少了= 号1,在自己创建的config.gradle中,配置加上等号 2,同步一下即可

2019-02-27 10:42:17 1885

转载 Android高效加载大图、多图解决方案,有效避免程序OOM

优秀文章:1,Android中的Bitmap2,android之Bitmap详解转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/9316683本篇文章主要内容来自于Android Doc,我翻译之后又做了些加工,英文好的朋友也可以直接去读原文。http://developer.android.com/training...

2019-02-22 18:05:45 124

转载 在Java中使用Protocol Buffers

这份教程为Java开发者提供了使用 Protocol Buffer 的基本介绍。通过创建一个简单的示例应用,它展示了在 .proto 文件中定义消息格式。 使用 Protocol Buffer 编译器。 使用Java Protocol Buffer API读写消息。这不是一个在Java中使用 Protocol Buffer 的全面指南。更多详细的信息,请参考Protocol Buffer...

2018-12-05 14:49:21 883

转载 热修复---之bugly热修复打基准包步骤以及发布(三)

报错:未匹配到可应用补丁包的App版本,请确认补丁包的基线版本是否配置正确- 原因:      1.打补丁时,只需将base改为patch      2.需要更改的包必须运行一次,才能上报到bugly。一般这种情况是没有运行打好的包 1.配置基准包的tinkerId (注意这里的base版本必须联网上报 才可以上传补丁包)设置你的基准版本号 最好是和app version对应...

2018-11-29 15:11:13 967

转载 热修复---之bugly热修复的使用(二)

上篇介绍了bugly热修复的接入,接下来我们来说下如何使用的,接入不难,但是使用你觉得会懵逼,反正我开始的时候找了老半天没找到所谓的gradle界面。当时是百脸懵逼啊。既然是修复,那么咱们就先搞一个错误出来,最伟大的错误空指针最好了。1、创建一个类。内容如下:public class BugClass{ public String bug(){ String...

2018-11-29 15:08:26 215

转载 热修复---之bugly热修复集成步骤(一)

刚听朋友说bugly出热修复了,抱着好奇的心发现居然已经那么久的事,居然不知道,结果打开文档的时候Tinker进入视野,当时就懵逼了,这不是微信的玩意嘛,看了下好像介入是比较简单点了。但是还是搞了好久,入坑了。。bugly热修复文档进入http://bugly.qq.com/docs/user-guide/instruction-manual-android-hotfix/?v=201702...

2018-11-29 15:07:15 378

转载 今日头条屏幕适配

 这个月在 Android 技术圈中 屏幕适配 这个词曝光率挺高的,为什么这么说呢?因为这个月陆续有多个大佬发布了屏幕适配相关的文章,公布了自己认可的屏幕适配方案上上个星期 Blankj 老师发表了一篇力挺今日头条屏幕适配方案的 文章 https://juejin.im/post/5b6250bee51d451918537021,提出了很多优化的方案,并开源了相关源码。 上个星期 ...

2018-10-11 17:22:37 370

原创 Fragment基本介绍(三) ----之Tablayout+ViewPage+Fragment

一,两种adapter使用场景 - FragmentStatePagerAdapter和FragmentPagerAdapter - 1,两种Adapter特点分析     a)fragmentPagerAdapter带有缓存,内存开销大,响应速度很快     b)FragmentStatePagerAdapter没有缓存,内存开销小,响应速度稍慢。     c...

2018-10-10 10:48:53 291

转载 PreferenceFragment详解

一、PreferenceFragment的引入:PreferenceActivity是一个非常有用的基类,当我们开发Android项目时避免不了选项设置,这些设置习惯用Preference来保存。Android专门为这种Activity提供了便捷的基类PreferenceActivity。如果继承自Preference则不需要自己控制Preference的读写,PreferenceActivi...

2018-10-09 23:33:38 2675

转载 Android 性能优化—— 启动优化提升60%

目录: 1.应用启动速度2.视觉优化    2.1启动主题优化        默认情况        透明主题优化        设置闪屏图片主题3.代码优化    3.1冷启动耗时统计        adb 命令统计        系统日志统计    3.2代码优化        Application 优化        闪屏页业务优化...

2018-09-29 15:12:30 671

转载 Android Launcher 启动 Activity 的工作过程

前言 Launcher 整体流程 startActivityForResult Instrumentation IBinder contextThread IBinder token startActivity AMS AMS分析 ActivityStarter ActivityStackSupervisor ActivityStack ...

2018-09-29 15:07:56 988 1

转载 Android 消息机制——你真的了解Handler?

前言 Questions Looper 死循环为什么不会导致应用卡死 主线程的消息循环机制是什么 ActivityThread 的动力是什么 Handler 是如何能够线程切换 子线程有哪些更新UI的方法 runOnUiThread 创建Handler传入getMainLooper ViewpostRunnable r 子线程中ToastshowDia...

2018-09-29 14:54:37 185

转载 Android中的Bitmap

Bitmap位图简介位图文件(Bitmap),扩展名可以是.bmp或者.dib。位图是Windows标准格式图形文件,它将图像定义为由点(像素)组成,每个点可以由多种色彩表示,包括2、4、8、16、24和32位色彩。位图文件是非压缩格式的,需要占用较大存储空间。例如,一幅1920X1080分辨率的32位图片,其所占存储字节数为:1920×1080×32/(8*1024)=8100KB=7....

2018-09-28 10:34:27 220

原创 Fragment详解(一)

一,Fragment基本概念     1.Fragment,简称碎片,是Android 3.0(API 11)提出的,为了兼容低版本,support-v4库中也开发了一套Fragment API,最低兼容Android 1.6。Fragment是依赖于Activity的,不能独立存在的。建议使用V4包的Fragment.     2,优点:  2.1,模块化(Modularity):我们...

2018-09-27 20:42:42 1216

转载 Android之Fragment回退栈详解

前言:本文将结合开发中的实际需求,来讲解一下Fragment中的回退栈 对于Activity,当按返回键时,能够返回到上一个Activity,但是,当我们Fragment到Activity中时,如果不做任何处理,当按返回键时,当前Fragment都会全部退出,如果想要拥有Activity逐渐退出的效果,我们需要应用一下Fragment中的回退栈.视频地址:代码地址:案例效果案例描...

2018-09-27 20:35:28 3283 1

原创 Fragment详解(二) ----之实现懒加载

一,阐述:         1,我们在做应用开发的时候,一个Activity里面可能会以viewpager(或其他容器)与多个Fragment来组合使用。而ViewPager默认会缓存三页数据.            2,即:Viewpager每加载一个Fragment,都会预先加载此Fragment左侧或右侧的Fragment。          3,而如果每个fragm...

2018-09-27 19:00:01 310

转载 TabLayout使用详解

上图是简书Android端的主页Tab,在其他的App中Tab也是很常见的,它的实现方式也有很多:TabHost,自定义控件(第三方库),RadioGroup等等。这里主要介绍Android Design库中的TabLayout的使用。优秀文章:TabLayout高端用法(一) 一.什么是TabLayout在源码中给出了TabLayout的定义:TabLayout pro...

2018-09-27 11:09:35 356

原创 java--泛型

##泛型##一,在具体使用时,可以分为泛型接口、泛型类和泛型方法。- 1,泛型的好处:    是在编译的时候检查类型安全,并且所有的强制转换都是自动和隐式的,以提高代码的重用率。- 2,在Java SE 1.5之前,没有泛型的情况的下,通过对类型Object的引用来实现参数的“任意化”,“任意化”带来的缺点是要做显式的强制类型转换,- 3,命名泛型字母可以随意指定,尽量使用单个的大写字母...

2018-09-26 12:26:07 133

转载 android之Bitmap详解

一、在说Bitmap之前先说个是,之前一直忘记说了,由于Android的2D渲染现在可以比较好的支持硬件加速了,但是在自定义控件进行绘制是还是有很多api不兼容的,所以在自定义控件的时候,在你不能100%确认你使用的api支持硬件加速的话,最好把硬件加速关闭了,否则有可能出现一些莫名其妙的问题:1、硬件加速关闭方法在清单文件的application节点下进行关闭或者打开,这种方式是作用于整个...

2018-09-25 17:08:26 1910

转载 自定义之----折线图

总结:1,初始化画笔和一些自定义属性2, 通过layout确定圆点的位置 xy轴的位置3,在onDraw()里 通过canvas.drawLine()绘制xy轴线 通过canvas.drawPath()绘制折线 通过canvas.drawCircle()绘制圆点4触摸事件处理x轴坐标点击事件处理圆点点击事件处理冲突,拦截父类点击处理速...

2018-09-06 12:38:11 914

shareSDKDemo

mob的一键分享 private void showShare() { OnekeyShare oks = new OnekeyShare(); //关闭sso授权 oks.disableSSOWhenAuthorize(); // title标题,微信、QQ和QQ空间等平台使用 oks.setTitle(getString(R.string.share)); // titleUrl QQ和QQ空间跳转链接 oks.setTitleUrl("http://sharesdk.cn"); // text是分享文本,所有平台都需要这个字段 oks.setText("我是分享文本"); // imagePath是图片的本地路径,Linked-In以外的平台都支持此参数 oks.setImagePath("/sdcard/test.jpg");//确保SDcard下面存在此张图片 // url在微信、微博,Facebook等平台中使用 oks.setUrl("http://sharesdk.cn"); // comment是我对这条分享的评论,仅在人人网使用 oks.setComment("我是测试评论文本"); // 启动分享GUI oks.show(this); } }

2018-03-19

git命令行提交代码

git命令行提交代码,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,

2018-01-05

空空如也

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

TA关注的人

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