自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

也曾选择安逸 但终破釜沉舟 .

  • 博客(43)
  • 资源 (5)
  • 收藏
  • 关注

原创 200斤的漫漫Android复习路(不停更)

目录综合脑图知识点分解:慢慢填坑吧Android基础Android系统体系架构Android系统各大版本特性四大组件六大布局五大存储(持久化)IntentFragmentRecyclerView 综合技术JNI和NDK编程热门技术Android进阶调试能力Java基础Java设计模式网络基础Java虚拟机数据结构和...

2019-06-04 16:26:26 257

原创 PyQt5 QComboBox下拉框 选中并立即触发事件

为下拉框添加事件:self.comboboxNote.currentIndexChanged.connect( lambda: self.WrittingNotOfOther(self.comboboxNote.currentIndex())) # 点击下拉列表,触发对应事件添加对应方法: def WrittingNo...

2019-08-20 13:18:58 17936 1

原创 Python signal 信号

在Python当中,几个类中的方法会经常互相调用,按照平时的做法,我们会惯性的去“from xxx import yyy”,但是实际上,Python是不允许Aimport了B之后,B再importA的。那么如果有出现以下情况:A类实例化了B类让B类show()出来,B类再show()出来之后又要调用A类中的方法,然而Python又不允许互相import,怎么办 —— 用信号。信号可...

2019-07-01 16:09:40 1792

原创 PyQt5 QTableWidget设置列宽

我们在使用QTableWidget的时候,经常会出现这种情况,如图,内容过少,然后导致大片留白:这个时候如果填充数据进去,右侧的留白会导致体验感大打折扣,在代码中加入以下代码,可以使表宽度能够自适应:self.tableWidget.horizontalHeader().setSectionResizeMode(QHeaderView.Stretch) # 使表宽度自适应用了上...

2019-07-01 11:28:05 6915 2

原创 这是一篇描述 Broadcasts 的文章

目录广播概述系统广播系统广播的变化Android 9Android 8.0Android 7.0注册广播的两种方式静态注册(在清单文件中注册)动态注册(在代码中注册)对过程状态的影响发送广播用权限限制广播发送权限接收权限注意事项和最佳实践文章来源于此:官方的才是正宗的广播概述Android应用程序可以从Android系统和其他...

2019-06-13 22:18:44 387

原创 这是一篇描述 Activity启动模式 的文章

目录四种启动模式FLAG标志位部分内容摘抄自:这里在清单文件中声明 Activity 时,我们可以使用 <activity> 元素的 launchMode 属性指定 Activity 应该如何与任务关联。四种启动模式launchMode 属性指定有关应如何将 Activity 启动到任务中的指令。您可以分配给 launchMode 属性的启动模式共有四种:"...

2019-06-06 14:23:15 141

原创 Android Studio 不显示XML预览布局 Failed to load AppCompat ActionBar with unknown error.

Android Studio 突然不显示XML预览布局,点击右边的小红点,被提示“Failed to load AppCompat ActionBar with unknown error.”:多半应该是Style出现了问题。百度搜索一下,果然是Style的问题,得到了如下解决方案,验证可行 ——将原本的Style:<resources> <!--...

2019-06-06 11:09:20 317

原创 这是一篇描述 Service 的文章

目录启动服务的两种形式startService()bindService()服务的生命周期onStartCommand()onBind()onCreate()onDestroy()服务的两个类ServiceIntentService部分内容摘自:这里,这里整合成我自己看得懂的形式,以便复习~Service 是一个可以在后台执行长时间运行操作而不提...

2019-06-06 09:40:25 375

原创 这是一篇描述 Intent 和 Intent 过滤器 的文章

目录简介Intent的类型部分内容摘自:Intent 和 Intent 过滤器简介Intent 是一个消息传递对象,您可以使用它从其他应用组件请求操作。尽管 Intent 可以通过多种方式促进组件之间的通信,但其基本用例主要包括以下三个:启动 Activity:Activity 表示应用中的一个屏幕。通过将 Intent 传递给 startActivity(),您可以启动...

2019-06-06 08:59:12 175

原创 这是一篇描述 Android系统体系架构 的文章

架构图:从上到下,如图可见:*)系统应用层*)Java API 框架层*)原生 C/C++ 库层与Android Runtime层*)硬件抽象层 (HAL)*)Linux 内核层

2019-06-05 19:01:00 283

原创 200斤牌面试必备:Service面试题 请安利(不停更)

目录Q:谈一谈Service的生命周期?Q:Service的两种启动方式?区别在哪?Q:一个Activty先start一个Service后,再bind时会回调什么方法?此时如何做才能回调Service的destory()方法?Q:Service如何和Activity进行通信?Q:用过哪些系统Service?Q:是否能在Service进行耗时操作?如果非要可以怎么做?Q:AlarmM...

2019-06-05 18:31:47 236

原创 200斤牌面试必备:Activity面试题 请安利(不停更)

目录Q:说下Activity的生命周期?Q:onStart()和onResume()/onPause()和onStop()的区别?Q:Activity A启动另一个Activity B会回调哪些方法?如果Activity B是完全透明呢?如果启动的是一个Dialog呢?Q:谈谈onSaveInstanceState()方法?何时会调用?Q:onSaveInstanceState...

2019-06-05 08:57:08 386

原创 200斤牌面试必备:SQLite面试题 请安利(不停更)

Q:了解SQLite中的事务操作吗?是如何做的SQLite在做CRDU操作时都默认开启了事务,然后把SQL语句翻译成对应的SQLiteStatement并调用其相应的CRUD方法,此时整个操作还是在rollback journal这个临时文件上进行,只有操作顺利完成才会更新db数据库,否则会被回滚。CRUD:增加(Create)、读取查询(Retrieve)、更新(Update)和删除(D...

2019-06-04 15:44:40 2765

原创 PyQt5 .ui转.py 让GUI更简单

目录大纲概述在PyCharm中配置转换插件(我假设你已经知道PyQt5是干嘛用的,并且你知道PyQt5生成的是.ui的文件)举个栗子大纲概述PyQt5是对Qt所有类的Python封装,即可以利用Qt的强大功能,也可以利用Python丰富的生态,同时能够结合Python简洁的语法进行操作,其结果就是使用PyQt5可以高效简单地开发出自己想要的程序。在PyCharm...

2019-05-31 13:24:51 16734 12

原创 这是一篇描述 Handler消息机制 的文章

目录大纲概念概述详细描述执行流程初步使用在主线程中使用sendMessage(Message)post(Runnable)在次线程中使用我的Demo源码原理相关面试题感谢感谢developer.android.google!~感谢各位大大提供了各种学习资料!~感谢自己 感谢你们!~学习资料:Handler消息传递机制浅析...

2019-05-29 17:40:08 306

原创 200斤牌面试必备:Handler面试题 请安利(不停更)

我非原创,只做整合,谢谢各位提供问题的小伙伴!~,Q:handleMessage究竟在哪个线程执行找到一篇比较合适的答案,在这里:答案传送门Q:子线程中,是否可以直接new一个Handler?不可以,子线程中虽然可以new一个Handler,但是不可以直接new,因为Handler本身要配合Looper去使用。在主线程中不需要额外的对Looper进行操作,那是因为系统在创建主线程的...

2019-05-29 15:25:27 239

原创 Android ANR异常

目录什么是anr造成anr的主要原因Android中哪些操作是在主线程的呢如何解决anr本系列文章仅用于记录一个在Mooc复习Android的过程,不做任何商用。如有转载请注明出处。什么是anranr(Application Not Responding),指在应用程序无响应时的弹出的对话框造成anr的主要原因在应用程序当中,它的响应性是由Activity Ma...

2019-03-14 14:43:16 479

原创 这是一篇描述 Activity 的文章

目录大纲Activity任务栈Activity的4种状态生命周期正常情况下activity的生命周期异常情况下activity生命周期小总结通信Activity与Activity之间通信Activity与Fragment之间通信Activity将数据传递给FragmentFragment将数据传递给ActivityActivity与Service...

2019-03-13 16:21:45 593

原创 ARCore 如何去除3D模型底部白色圆环

所谓的3D模型底部白色圆环,如图所示,就是在模型被选中时,下方出现的那一圈白色的选中环:因为模型的问题,出来的模型被选中之后,白色圆环会偏移到模型的左上角,所以就想要去除3D模型底部白色圆环,让整体显得美观一些。国内ARCore/sceneform的资料比较少,问题一直搁置久久得不到解决,有尝试过直接将andy.select()屏蔽掉,虽然在创建andy的时候可以把圆环去掉,但是在多创...

2018-11-09 16:24:49 867

原创 ARCore 如何正确导入3D资产/改变3D模型大小

Google推出了Sceneform是为了让 Android 开发者不必学习 3D 图形和 OpenGL 就能使用 ARCore。 一个用于导入、查看和构建 3D 资产的Google Sceneform Tools (Beta)插件,就能直接导入.obj文件,官方的导入和预览 3D 资产可以点击这里查看。然后很多小伙伴按照官方教程导入预览发现没有毛病,但是在使用的时候,就发现不管怎么R.ra...

2018-11-09 15:32:19 1760

转载 Android 线程的创建与销毁

在Android开发中经常会使用到线程,一想到线程,很多同学就立即使用new Thread(){...}.start()这样的方式。这样如果在一个Activity中多次调用上面的代码,那么将创建多个匿名线程,程序运行的越久可能会越来越慢。因此,需要一个Handler来启动一个线程,以及删除一个线程,保证线程不会重复的创建。创建Handler的一般方式一般会使用Handler...

2017-04-26 11:41:02 1127

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

原文出处:http://blog.csdn.net/guolin_blog/article/details/9316683本篇文章主要内容来自于AndroidDoc,我翻译之后又做了些加工,英文好的朋友也可以直接去读原文。http://developer.android.com/training/displaying-bitmaps/index.html高效加载大图片我们在...

2017-04-18 09:45:52 337

转载 Android 系统启动过程

在面试过程中,不免会有面试官问到一个这样的问题:你了解Android系统的启动过程吗?今天,我将我看到的好文章(好文出处)整合贴出来,供大家一起学习,Android系统的启动过程到底是一个怎样的过程。首先,给出一张图引用过来帮助大家理解和分析:从下到上分析:第一阶段:Android设备上电后,首先会从处理器片上ROM的启动引导代码开始执行,片上ROM会寻找Bootloader代...

2017-04-17 17:09:16 260

原创 Android 事件分发机制

最近在准备面试,所以重新学习总结一下面试时一些概率性出现的问题。今天学习总结的是Android的事件分发机制,我是通过该视频学习的,分享给有需要的小伙伴~学习笔记:最常见的几个触摸事件:ACTION_DOWN、ACTION_MOVE、ACTION_UP ...事件分发的顺序:从父到子,即从Activity-->Layout-->控件,由外向内事件消费(处理)顺序:从子到...

2017-04-14 10:19:04 247

原创 Android Studio 新手避坑

目录导入lib库库已经导入到jniLibs中,为何还无法使用?assets目录的位置应该在哪里?用AS开发已经有近1年了,但是,很多时候思维都还是固定在Eclipse的使用之上,所以今天专门来写一篇博客,记录记录使用AS开发过程中的那些坑。 导入lib库 很多时候我们的开发都要借助到第三方的库,在Eclipse中,我们的库直接复制粘贴到libs这一文件夹中就可以,如...

2017-03-24 17:30:18 437

原创 JNI C_指针

指针就是内存地址,内存地址就是指针举个栗子来学习指针:#include#includemain(){ int i=10; int* p;//定义一个一级指针p p=&i;//把i对应的内存地址,赋值给p printf("*p取得的值是:%d\n\n",*p); //*p就是取值,就是把p对应的那个内存地址的值取出来

2017-03-23 15:21:13 617

原创 JNI C_输出函数占位符

%d —— int%ld —— long int%c —— char%f —— float%u —— 无符号数%hd —— 短整型%lf —— double%x —— 十六进制输出 int、long int 、short int%o —— 八进制输出%s —— 字符串 以上,便是C语言中包含的占位符。注意:C语言中是没有boolean、byte和St

2017-03-23 09:40:36 854 1

转载 Android Retrofit用法详解

原文出处于此,我想再也找不到如此详细的用法详解了,涵盖使用代码示例、使用示例的视频、课件。我这里仅仅只把课件展示出来,如果有需要看代码或者视频学习的小伙伴,可以自行点击。原文作者在使用retrofit编写基本的client端代码之前,先使用LoopBack搭建一个用于测试的api server,这一步不太清楚的同学可以去LooBack官网查阅一下,视频里也是粗略的有提到而已。那么以下就...

2017-03-22 09:50:47 388

原创 Android 自定义开关

Android原生的开关,单从视觉上来看已经不能满足我们日常App的需求了,所以很多时候,App的开关按键会选择自定义,那么今天,我就分享一下我的学习成果。自定义开关,它实现了这样的效果,第一:可以 通过点击选择开关;第二,可以通过滑动选择开关。先看一下效果gif:这是通过点击选择开关的gif效果:这是通过滑动选择开关的效果:其实学习过后发现,实现自定义的原理是非常的简单的...

2017-03-16 17:02:48 339

原创 Android ViewPager 无限滚动广告栏

现在很多App在进入的时候,都会在首页的顶部有一个广告栏,具体实现了以下的功能:1.实现用户左右手动滑动2.实现广告栏自动轮播3.实现广告栏点击事件4.无论是用户手动滑动还是广告栏自动轮播的时候,下方的指示点都会随之改变状态5.实现用户点击或者拖拽时轮播停止,松手时继续轮播先上3个效果gif吧:第一个gif,展示的是功能1和2;第二个gif,展示的是功能3;...

2017-03-16 10:46:29 452

转载 Android 属性动画完全解析(下),Interpolator和ViewPropertyAnimator的用法

原文出处:点击打开链接大家好,欢迎继续回到Android属性动画完全解析。在上一篇文章当中我们学习了属性动画的一些进阶技巧,包括ValueAnimator和ObjectAnimator的高级用法,那么除了这些之外,当然还有一些其它的高级技巧在等着我们学习,因此本篇文章就对整个属性动画完全解析系列收个尾,来学习一下剩下的非常重要的高级技巧。另外,本篇文章中使用的代码是建立在上篇文章基础之...

2017-03-15 16:07:25 205

转载 Android 属性动画完全解析(中),ValueAnimator和ObjectAnimator的高级用法

原文出处:点击打开链接大家好,在上一篇文章当中,我们学习了Android属性动画的基本用法,当然也是最常用的一些用法,这些用法足以覆盖我们平时大多情况下的动画需求了。但是,正如上篇文章当中所说到的,属性动画对补间动画进行了很大幅度的改进,之前补间动画可以做到的属性动画也能做到,补间动画做不到的现在属性动画也可以做到了。因此,今天我们就来学习一下属性动画的高级用法,看看如何实现一些补间动画所...

2017-03-15 16:05:45 176

转载 Android属性动画完全解析(上),初识属性动画的基本用法

原文出处:点击打开链接在手机上去实现一些动画效果算是件比较炫酷的事情,因此Android系统在一开始的时候就给我们提供了两种实现动画效果的方式,逐帧动画(frame-by-frame animation)和补间动画(tweened animation)。逐帧动画的工作原理很简单,其实就是将一个完整的动画拆分成一张张单独的图片,然后再将它们连贯起来进行播放,类似于动画片的工作原理。补间动画则...

2017-03-15 16:01:16 179

原创 Android 仿优酷菜单 代码逻辑实现 02

上一篇博客中,我们实现了优酷菜单的UI部分,这一博客,就专门用来实现代码逻辑。控件的实例化我直接就用ButterKnife来做了,如果有还不会ButterKnife的小伙伴,可以先移步到这里,花两分钟时间看一下,你会发现两分钟过后,世界是如此的美妙~那么在上代码之前,我们先分析一下原理:优酷菜单实现点击旋转事件,其实就是实现了一个旋转的动画,分析如图:那么代码的具体实现是这样的...

2017-03-15 09:27:47 374

原创 Android 仿优酷菜单 从布局开始 01

近来思想发生了一个重大的转变——避而不见往往失败,迎难而上反而有成功的可能。其实吧,在今天之前,我的内心一直是非常排斥自定义view的,很简单——因为不是很会。很多时候项目需要用到自定义控件,永远都是百度百度,开发者都知道,纵使是百度,也不可能百度出一模一样的效果,那么这个时候,就需要根据百度出来的东西自己再次改造,然而问题来了,因为之前由于自己的无知而无比排斥的自定义导致我看到别人的代码时真...

2017-03-14 17:24:22 276

转载 Android 实现静态的默认安装和卸载应用

这篇博文转自这里:原博链接,由于原博实在是太给力了,故而转载到自己博客来,意在和大家分享~最近好长时间都没有写blog了,主要是因为最近工作上的事以及下载Android源码的事耽误的(下载源码这件事会在后续的blog中写道,这个真的很有意义呀~~),那么今天来写点什么呢?主要的灵感来自于早上看新闻看到一篇文章说有一款应用在后台中卸载用户手机中的所有浏览器的app,不会被用户察觉,但是...

2017-03-14 14:19:28 1570

原创 如何在自己的App中调用Android系统自带的安装/卸载程序

AppUtils里面写了如何安装和卸载apk(这段代码出自这里:点击打开链接~),这里的安装和卸载调用的是Android本身的一个安装卸载,所以可能页面不会太优雅,并不符合商业App的期望,如果要做到更优雅的实现,就要用到静默安装/卸载,这个可以参照网上教程,我这里有一篇转载还是很不错的,大家可以参照一下:Android中实现静态的默认安装和卸载应用~public class AppUtil...

2017-03-14 14:01:56 1830

原创 Android 创建文件夹 并 实现文件(夹)拷贝

往清单文件中添加权限:<!--往sdcard中写入数据的权限 --> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission> <!--在sdcard中创建/删除文件的权限 --> <us...

2017-03-14 13:47:04 1503 1

原创 ButterKnife 懒癌患者的福音

初了解到ButterKnife的时候,其实我的内心是拒绝的,毕竟,在我的潜意识里,我更求稳不求简便,所以活该我写了好几百遍的findViewById,昨天抽空学习了一下ButterKnife,内心无比奔腾,深深感悟到了一句话,现在写findViewById流的泪,是当初拒绝新技术脑子进的水。开这篇帖,记录一下学习的过程,懒癌患者请注意,为了将懒癌进行到底,在项目开启之前,确保你的AS里,...

2017-03-03 10:01:46 326 1

原创 Android Studio「Extract Resource」快捷提取字符串

昨天看stormzhang的公众号AndroidDeveloper学习到了一点Android Studio 小技巧,我相信有很多小伙伴也是以前也是不知道,一是当做记录,二是当做分享,就写出来吧。以下这段话摘自原文:我们知道 Android 开发中,是不建议在布局文件或者代码中直接出现字符串的,而应该把字符串统一放在 String 的 xml 资源文件中,具体原因就不多解释了。但是因...

2017-02-24 10:19:07 3834

python基础培训.ppt

python基础培训.ppt python基础培训.ppt python基础培训.ppt

2018-03-02

ViewPager广告栏源码

2017-03-16

完美实现无限滚动广告栏源码

2017-03-16

空空如也

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

TA关注的人

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