Android
文章平均质量分 68
小风筝0010
退然后进,思然后行。
展开
-
adb install success 但看不到安装的应用
如题,弄了很久就是发现应用。提示是安装成功的。在其他手机是可以的,在Android P Pixel 却不行。 直接把安装包通过手机QQ传送后,安装也是可以的。后来发现在 设置-应用和通知-查看全看应用 是能看到这个应用的,但是有个特别的提示,“未针对此用户安装”,这个是问题是手机ROM多用户造成的,选择按钮“为所有用户卸载此应用”,然后再重新安装即可。...原创 2018-08-28 17:16:27 · 9507 阅读 · 0 评论 -
Android studio中assets文件更换之后不生效
当我需要更换assets中的文件的时候,就去替换了一下,编译之后,发现并没有生效,还是之前的文件。可问题是,我之前的文件已经删除了,为啥显示的还是之前的文件?之前的文件哪里来的?我尝试一下三种方式解决问题。Build - clean project ,发现并没有用。检查代码逻辑,是否有哪些没注意到的逻辑,重新设置了原来assets文件。然而并没有发现。觉得还是缓存原因。Fi...原创 2018-08-28 17:07:27 · 5011 阅读 · 1 评论 -
Android视图View绘制流程及源码分析
相信每个Android程序员都知道,我们每天的开发工作当中都在不停地跟View打交道,Android中的任何一个布局、任何一个控件其实都是直接或间接继承自View的,如TextView、Button、ImageView、ListView等。这些控件虽然是Android系统本身就提供好的,我们只需要拿过来使用就可以了,但你知道它们是怎样被绘制到屏幕上的吗?多知道一些总是没有坏处的,那么我们赶快进入到本篇文章的正题内容吧原创 2017-03-04 22:04:40 · 2313 阅读 · 0 评论 -
BottomNavigationView初探,给你分享Material Design最新控件
BottomNavigationView 很早之前就在 Material Design 中出现了,但是直到 Android Support Library 25 中才增加了 BottomNavigationView 控件。该控件使用方法如下:在 build.gradle 文件中增加依赖:1compile 'com.android.support:design:25.0.0'在 res/menu/ 目录下原创 2017-03-10 18:49:13 · 1397 阅读 · 0 评论 -
Butter Knife View注入 以及 插件Android Butterknife Zelezny使用
前言之前我写过一篇 Butter Knife添加依赖 不生效。如今,最新的Butter Knife 已经是8.4版本了。所以打算更新一下,基本原理是一样的。另外介绍一个好用的插件Android Butterknife Zelezny。添加依赖如图:新版本的不像之前的那么麻烦了,只需在app层的build.gradle加入 compile 'com.jakewharton:butterknife:8.原创 2016-12-14 10:59:19 · 1363 阅读 · 1 评论 -
Butter Knife添加依赖 不生效
更新请移步 官方更新至8.4.0版本,相应的使用方法也进行了更新,请移步Butter Knife View注入 以及 插件Android Butterknife Zelezny使用问题Butter Knife之前的版本添加依赖我记得直接在module-level build.gradle添加 compile ‘com.jakewharton:butterknife:*.0.1’就行了。但在Bu原创 2016-06-20 19:56:37 · 6206 阅读 · 1 评论 -
Android中为什么有些变量会以m开头?配置Android Studio识别成员变量的m前缀
Android中为什么有些变量会以m开头 private String mTitleText;为什么变量名非得以 ‘m’ 开头呢?配置Android Studio识别成员变量的m前缀原创 2017-05-10 19:14:32 · 8777 阅读 · 3 评论 -
Execution failed for task ':app:transformResourcesWithMergeJavaResForDebug'
异常描述Android Studio 编译运行的时候,出现以下错误: Error:Executionfailedfortask’:app:transformResourcesWithMergeJavaResForDebug’. com.android.build.api.transform.TransformException: com.android.builder.packaging.原创 2017-05-25 16:20:48 · 1115 阅读 · 0 评论 -
VideoView无法播放此视频 android问题
问题描述:采用VideoView进行mp4和3gp视频文件播放,模拟器可以播放,但小米真机就不行,弄了两天,终于知道为什么了?AndroidManifest.xml文件增加了两条权限控制语句后,可以在两个平台上正常运行了:小米将内置卡识别为外置USB设备导致的。小米将内置卡识别为外置USB设备导致的。原创 2016-04-02 20:00:25 · 7293 阅读 · 0 评论 -
android 视频 播放 (VideoView的小实例)
(一些废话:最近,学习android的视频播放功能,网上内容繁多,质量参差不齐,且比较零碎,很难有个整体的认识,由于自己感觉学的很乱,所以想写下这篇博客,整理下思路,顺便分享给亲爱的你。 承谢阅读!!)来看看*实例*吧 android 视频 播放 (VideoView的小实例)原创 2016-03-31 21:33:32 · 1394 阅读 · 0 评论 -
glide 显示 加载不出来 图片
在Android设备上,加载网络图片一直是一个头疼的问题,因为Android设备种类繁多(当然最主要的是配置),处理的稍不周到轻则应用卡顿,严重者就会出现OOM的,导致程序挂掉。现如今网络上有很多图片库,如 Universal-Image-Loader,Picasso,Fresco,Glide等等。相信列举出的这几个库大家都不陌生,这也是目前最火的图片库了。由于个人的喜好原因(主要是别人介绍说Glide库比较NB),原创 2017-01-28 16:25:16 · 33919 阅读 · 4 评论 -
AccountManager getAccount 在Android O 8.0版本中获取为 null ?
问题 AccountManager accountManager = AccountManager.get(this); Account[] accounts = accountManager.getAccounts();以上代码在 Android 8.0 (API 26) 之前运行地很好,能够获取到 account 信息。但是在最新版本 8.0 上却获取不到,返回 accoun...原创 2018-03-25 19:03:52 · 4728 阅读 · 1 评论 -
Volley如何体现生产者消费者模式,优先级排序?
Volley为何使用Queue作为管理分发Request的数据结构?Volley如何根据Request的优先级进行排序?原创 2018-08-31 11:58:41 · 384 阅读 · 0 评论 -
Android Studio关联第三方class文件的源码
当打开某个类文件的时候,有时候需要查看源码。跳进去之后发现, 于是,我点击了choose source,然后想取消。苦苦找都找不到取消的地方。这里谢谢liming帮忙看了下,在下面目录中发现文件。 里面对应的文件有下面配置 删去即可。...原创 2018-09-12 11:46:58 · 1748 阅读 · 0 评论 -
Button与TextView的区别?
缘起我在处理事件分发机制相关的问题时,发现布局中子view 分别为Button 和 TextView 的时候,onInterceptTouchEvent方法能接受的MotionEvent不同,于是就去了解了下二者有何不同。探寻先看Button的源码。Button 这个类代码很少,继承自TextView。除了getAccessibilityClassName 和 onResolveP...原创 2018-11-13 15:14:54 · 2192 阅读 · 0 评论 -
【Android】onInterceptTouchEvent 方法收不到ACTION_MOVE事件
问题是这样的:我自定义一个父布局,继承自FrameLayout,然后重写其中的onInterceptTouchEvent方法和onTouchEvent方法。但是onInterceptTouchEvent 方法就是收不到ACTION_MOVE事件。问题实例Demo先看MainActivity。为了说明问题,这里demo做了简化。如下:public class MainActivity e...原创 2018-11-13 20:05:40 · 3635 阅读 · 3 评论 -
AIDL使用详解(三) 客户端通过AIDL与服务端通信 实例项目
我们接着上篇文章[AIDL使用详解 (二)AndroidStudio中 创建 AIDL service](http://blog.csdn.net/zheng548/article/details/54605824)继续,根据上篇文章创建aidl文件的步骤创建原创 2017-01-19 13:29:12 · 2269 阅读 · 2 评论 -
AIDL 使用详解 (一) Android跨进程调用
引言如果进程1需要使用进程2的数据,或者进程2需要和进程1共享数据,它们之间如何进行通信呢?如果你说直接进行通信不就行了吗,但是不行,官方不允许这么做。进程之间不能直接进行通信。 每个应用程序都是一个虚拟机,一般来说,每个应用程序也是一个进程。进程之间无法直接通信,有安全方面的考虑,这样保证了进程之内数据的安全性,保证每个进程的数据不受其它进程的影响。 进程之间要进行通信,必须通过Android原创 2017-01-18 22:50:56 · 784 阅读 · 0 评论 -
AIDL使用详解 (二)AndroidStudio中 创建 AIDL service
当我对AIDL一无所知的时候,想去了解一下,网上一搜,虽然有很多资料,博客是写这个的,但是,一无所知的我看不懂呀。各种关于Android studio 使用 AIDL的,但是讲解不是很细致,总是版图而废。鉴于此,我想记录一下我的学习过程,一步步演示怎么用AndroidStudio 创建 AIDL 。如果能帮助到你,是我莫大的荣幸。也欢迎各位大佬拍砖。这是一篇入门级别的文章,大牛请移步,专为像笔者这原创 2017-01-18 22:53:57 · 2959 阅读 · 0 评论 -
android中drawable 与mipmap的区别
一般只把app的启动logo放在mipmap中,把其他资源图片放在drawable中。 If you build an APK for a target screen resolution like HDPI, the Android asset packageing tool,AAPT,can strip out the drawables for other resolution you d原创 2016-10-01 13:23:35 · 842 阅读 · 0 评论 -
Gson使用及多层嵌套 json 定义类
问题描述对于简单的Json数据,其对应的java bean 也比较简单,尤其用GSON处理的时候。 但是如果是多层嵌套的json数据,如果是手工用JSONArray和JSONObject进行解析,还是可以的,虽然会繁琐一点。但是如果用GSON开源库解析,有该如何定义java bean呢? 如果定义不好,会出现NEP空指针异常。分析在我的项目中,有这样的一段代码, public TopicApi原创 2016-10-06 12:04:21 · 10162 阅读 · 2 评论 -
9GAG 中用到的 Shimmer 是什么?
Shimmer for Android原作者效果预览添加依赖Gradle dependency:compile 'com.romainpiel.shimmer:library:1.4.0@aar'layout设置<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/原创 2016-08-27 20:39:25 · 1345 阅读 · 0 评论 -
getWritableDatabase与getReadableDatabase的区别
最权威莫过于官方文档和源码,下面分别以这两方面给大家看一下文档说明getReadableDatabase getReadableDatabase Added in API level 1 SQLiteDatabase getReadableDatabase () Create and/or open a database. This will be the same obje原创 2016-11-17 18:52:51 · 1610 阅读 · 0 评论 -
android SQLite 数据存储
为什么是SQLite?文件存储和SharedPreferences适用于保存一些简单的数据,SharedPreferences经常和android开发中的设置一起使用。 这时,SQLite可以存储数据量大,结构复杂的数据,配上用场了,Android内置了SQLite数据库,它运算速度快,占用资源少,很受青睐。getWritableDatabase与getReadableDatabase的区别专门写原创 2016-11-17 17:59:17 · 491 阅读 · 0 评论 -
Activity的实例 onCreate()函数 构造方法
我们知道,一个类的实例创建,都是通过new 一个构造函数。然而,我们通常见到的只是onCreate()方法。构造函数是哪里体现的呢?其实呢,android中activity的创建都是通类反射的方法创建的,当打开activity的时候,android系统框架根据配置文件找到相应的acitivity对应的类,通过activity的默认构造函数创建了activity的实例,然后创建应用的上下文环境,通过w原创 2016-12-10 23:57:30 · 2366 阅读 · 0 评论 -
Android 四大组件的理解
Android 四大组件的理解(组件内容)Android四大组件是一个App的基石,四大组件相信大家都知道哪四个,Activity,BroadCast,ContentProvider,Service。(组件职责)Activity提供与UI界面相关的管理;Service提供与UI无关的服务;ContentProvider用于共享数据;BroadCast用于跨进程数据传输。四大组件之间几乎没有耦合,它们之间通过Intent联系在一原创 2016-12-03 13:30:12 · 1129 阅读 · 0 评论 -
瀑布流 RecycleView 的 StaggeredGridLayoutManager?
疑惑?最近在github查看项目时候,发现很多过去的项目用到StaggeredGridView,或者 重写StaggeredGridView,我有点疑惑,这个效果,如果用RecycleView 中的 StaggeredGridLayoutManager同样可以实现,为什么好多大牛用StaggeredGridView呢?查开源项目于是查到StaggeredGridView作者的此项目,详情见链接如下:原创 2016-08-28 19:07:44 · 1105 阅读 · 0 评论 -
点击 Android Studio 的 build 按钮后发生了什么
首先,说明下这个问题的来历。 优秀的(Android)软件工程师是如何练成的 这篇文章提到了这个问题,于是就去思考下,也感谢前人的努力,让我们小菜鸟学习更加容易。你一定会问,点击Build后(我理解是 Build > Make Module module-name),还能发生什么,无非是安装在模拟器或者真机上一个App呗~.没错,但是,这个问题的本意一定没这么简单。gradle插件要构建和运行应原创 2017-02-05 17:52:23 · 3639 阅读 · 0 评论 -
Android四大组件 Activity BroadCast ContentProvider Service 的理解
(组件内容)Android四大组件是一个App的基石,四大组件相信大家都知道哪四个,Activity,BroadCast,ContentProvider,Service。(设计思想)Android之父设计Android时曾希望Android能够像堆积木一样使用现有的功能模块方便构建一个App,所以,Android被设计为高度组件化,可复用的系统。开发者可以使用Intent调用系统中已经存在的功能模原创 2017-02-05 18:58:13 · 949 阅读 · 2 评论 -
Android 进程保活
Android进程保活手段主要有三种: 1. 不同的app进程,用广播相互唤醒(包括利用系统提供的广播进行唤醒) 2. 启动前台Service 3. 利用系统的漏洞启动前台Service详情请移步 关于 Android 进程保活,你所需要知道的一切 作者:D_clock爱吃葱花Android进程保活招式大全 作者: Bugly_Tony原创 2017-01-17 16:09:46 · 748 阅读 · 0 评论 -
Android系统架构
Android 系统架构图首先看一张来自维基百科的图片大致分为四层架构:Linux内核层系统运行库层应用框架层应用层各层简单介绍Linux内核层(Linux kernel)Android系统是基于Linux内核的,这一层为Android设备的各种硬件提供了底层的驱动,如显示驱动,音频驱动,蓝牙驱动,Wi-Fi驱动。系统运行库层(Libraries)该层通过一些C/C++库来为Android原创 2017-01-12 22:55:07 · 1004 阅读 · 0 评论