![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
android
文章平均质量分 54
温酒睡黄昏
移动端开发
展开
-
android屏幕百分比适配
第一步,明确一点,渲染View的时候都是以px作为单位。第二步,拿到得到缩放比例。以宽度缩放为例,设计图宽度基准为720x1280,按钮宽度为360px。那么在1280x1920上,比例就是1280/720=1.5, 希望最终按钮的宽度应该是1.5x360=540。第三步,也是最后一步,如何实现1.5倍的缩放。分两个层面: View层面上,通过设置LayoutParams.width直接...原创 2019-02-13 12:36:38 · 1510 阅读 · 0 评论 -
android知识(二)
题目来源: https://www.jianshu.com/p/c70989bd5f29Requestlayout,onlayout,onDraw,DrawChild区别与联系reqeustlayout调用measure,layoutonlayout,ViewGroup用来摆放View的位置ondraw:绘制viewDrawChild:child.drawinvali...原创 2018-03-16 13:26:57 · 470 阅读 · 0 评论 -
《android系统源代码情景分析》学习-第15章 Android应用线程的消息循环模型
1 三种消息循环模型1.1 主线程消息循环第12章最后,AMS请求Zygote创建应用程序进程后,会自动进入主线程的消息循环,也就是ActivityThread。 //创建一个主线程消息循环 Looper.prepareMainLooper(); //创建一个ActivityThread实例 ActivityThread thread = new Act...翻译 2018-02-08 17:50:03 · 323 阅读 · 0 评论 -
《android系统源代码情景分析》学习-第12章Android应用程序进程的启动过程
第1步 AMS.startProcessLocked()1.1 创建新应用进程的用户ID与用户组ID1.2 调用Process的静态方法start()创建新进程,指定进程入口是android.app.ActivityThread的main()方法int pid = Process.start("android.app.ActivityThread", "翻译 2018-02-07 18:22:31 · 174 阅读 · 0 评论 -
《android系统源代码情景分析》学习-第11章 Zygote和System进程的启动过程
第二次看这本书,推荐阅读。距离上一次看已经很久了,这一次准备断断续续的记录一下,也算是一个学习的动力吧。第11章 Zygote和System进程的启动过程Zygote进程的启动Zygote是进程孵化器,通过复制自身的方式创建 System进程和所有的应用程序进程。Linux内核加载完成后启动init进程。init读取了init.rc的脚本,里面有Zygote的启动信息。源码翻译 2018-02-06 11:29:13 · 231 阅读 · 0 评论 -
android事件分发
参考文章 https://www.jianshu.com/p/d437a524c081 https://www.jianshu.com/p/d437a524c081 http://blog.csdn.net/feiduclear_up/article/details/47356429 https://www.2cto.com/kf/201606/520727.htmldispatchT...原创 2018-02-25 17:30:36 · 274 阅读 · 0 评论 -
提升从A Activity 进入 B Activity的速度
1.不要在onCreate中进行耗时操作,尽可能把方法移到onWindowFocusChanged(boolean hasFocus)中进行。比如进行控件的初始化等。原理就是尽快把界面显示出来,然后再进行操作。2.不需要立即显示的UI,使用ViewStub延迟渲染。原创 2018-01-19 11:25:55 · 914 阅读 · 0 评论 -
android7.0使用注意点
1.获取系统图片路径或者调用系统安装apk获取apk路径时需要Manifest.xml配置FileProvider2.监听网络变化需要动态注册BroadcastReceiver原创 2018-01-08 14:46:05 · 182 阅读 · 0 评论 -
android 用到的gradle
https://www.jianshu.com/p/03147709ea21http://www.aichengxu.com/android/2526418.htm原创 2018-01-31 11:52:31 · 128 阅读 · 0 评论 -
android知识(三)
题目来源: https://www.jianshu.com/p/c70989bd5f29Android各个版本API的区别谈谈对Volley的理解描述一次网络请求的流程ActivityThread,AMS,WMS的工作原理AsyncTask+HttpClient 与 AsyncHttpClient有什么区别?Android线程有没有上限?参考:...原创 2018-03-16 13:27:57 · 2191 阅读 · 2 评论 -
android面试题准备-Java知识
面试题来源: https://www.jianshu.com/p/c70989bd5f291.java中==和equals和hashCode的区别参考地址: http://blog.csdn.net/dove_knowledge/article/details/71027170 http://blog.csdn.net/tiantiandjava/article/details/...原创 2018-03-10 13:15:13 · 233 阅读 · 0 评论 -
LiveData+ViewModel用法2:多页面监听同一个状态
1.创建ViewModelpublic class SingletonViewModel extends ViewModel { private SingletonLiveData content; public SingletonLiveData getContent() { if (content == null) { content ...原创 2019-02-14 17:26:55 · 3818 阅读 · 5 评论 -
LiveData+ViewModel用法1:获取数据
之前一直使用MVP开发。刚上班看一下MVVM。LiveData+ViewModel确实比较给力,但看到databinding感觉xml写法复杂了很多,先记录下LiveData配合ViewModel使用。LiveData 优点不会再产生由于Activity处于stop状态而引起的崩溃。如果观察者的生命周期是不活跃的,例如 activity 处于后台,那么将不会收到任何 LiveData 事件。...原创 2019-02-14 16:49:57 · 5962 阅读 · 2 评论 -
悬浮窗显示在屏幕外
最近需要实现一个特殊的需求,用到WindowManager的一个不经常用的flag,FLAG_LAYOUT_NO_LIMITS,允许窗口扩展到屏幕之外。https://blog.lixplor.com/2015/10/06/android-window-manager/...原创 2018-10-29 15:43:00 · 2966 阅读 · 0 评论 -
android 7.0 root下静默安装
公司产品基于7.0开发,需要实现覆盖升级。之前的产品覆盖升级基于5.1系统,在7.0上不起作用。网上参考了许多博客。最终稀里糊涂的成功了,简单记录。核心代码只有一句String command = "pm install -r -i 包名 --user 0 apk路径";execInstallCommand(new String[]{command}) public static v...原创 2018-10-18 17:01:38 · 1515 阅读 · 0 评论 -
LitePal一对一、多对一、多对多
参考:https://www.jianshu.com/p/bc68e763c7a2一对一一个boy对应一个girl,相应地一个girl对应一个boyBoy类: public class Boy extends DataSupport { private int id; private Girl girl; privat...原创 2018-03-26 11:59:37 · 2754 阅读 · 1 评论 -
GreenDao数据库升级添加int字段报错问题
GreenDao数据库升级时添加int类型的字段出现问题,报错。 在网上找了一个版本: https://blog.csdn.net/yingtian648/article/details/56672559 测试之后还是报错,对代码稍加改动,经测试可以正常添加int字段。import android.database.Cursor;import android.text.TextUtil...原创 2018-03-25 20:11:13 · 1409 阅读 · 0 评论 -
android系统刷新机制
整理一下android系统的刷新机制参考: Android 屏幕刷新机制: https://www.jianshu.com/p/0d00cb85fdf3 Android应用层View绘制流程与源码分析 https://blog.csdn.net/yanbober/article/details/46128379一般刷新包括View.postInvalidate到最后都是走到View...原创 2018-03-22 23:34:41 · 1412 阅读 · 0 评论 -
android面试准备-android知识(-)
题目来源: https://www.jianshu.com/p/c70989bd5f29四大组件的生命周期和简单用法参考:https://www.cnblogs.com/bravestarrhu/archive/2012/05/02/2479461.htmlActivity生命周期Activity各种情况下的生命周期创建A:A:onCreate,on...原创 2018-03-11 19:57:20 · 356 阅读 · 0 评论 -
MVP开发的视频音乐图片小项目
https://github.com/zhushuhao/HappyHappy原创 2017-04-01 13:22:54 · 230 阅读 · 0 评论 -
好用的dialog
android dialog:简直完美github :https://github.com/afollestad/material-dialogs原创 2017-02-17 18:01:49 · 516 阅读 · 0 评论 -
fragment懒加载小总结
总结一下fragment懒加载前提:tabLayout+viewPager+fragment,不考虑fragment销毁(我一般做法是直接覆盖掉destroyItem方法)BaseFragment中懒加载代码(网上通用的代码) :在这没有检测试图是否已经加载,可自行搜索实现,在这主要关心fragment数据的加载与刷新问题protected boolean isVisible原创 2016-12-08 15:31:55 · 529 阅读 · 0 评论 -
android简单图片上传
今天学习android图片上传,简单总结,供以后参考。(大神请绕路)首先android端:简单布局仅仅放置一个button,添加点击事件。button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { uploadFile(原创 2016-03-17 13:24:11 · 625 阅读 · 0 评论 -
Volley实现图片上传
在网上找的关于Volley上传文件的方法,(当然可以用来传图片)转载自http://blog.csdn.net/com314159/article/details/39853865说的很详细,我拿来尝试了一下,上传图片挺好用的鉴于已经说的很详细了,我就不再累述,直接贴我实现的代码。别忘了添加原文作者所说的三个文件MultiPartRequest.java,Multi转载 2016-03-18 13:51:59 · 1557 阅读 · 1 评论 -
volley两种网络请求方式
今天简单总结Volley两种网络请求方式(GET与POST)有Web开发经验的对这两种方法肯定很熟悉,一般来说,要传递数据时推荐用POST,不推荐用GET(GET会暴露出传递的参数),好了废话不说了,直接上代码。1.GET方式请求 首先设置服务器地址,我这是Tomcat本地服务器.String url = "http://192.168.247.1:8060/Volley/原创 2016-03-18 13:15:49 · 493 阅读 · 0 评论 -
极光推送
很早以前就听说极光推送,知道最近才用到。把学习过程记录下来与大家一起分享。大神请绕开。(仅仅搭建环境,没有任何功能实现)1.登陆注册,不多说2.进入后台,创建应用点击确认即可。3.官方文档有个3分钟快速集成,说的相当清楚,还附有完整的demo。当然也可以直接跳过,来创建自己的demo。4.怎么写自己的demo呢?按照官方一步一步来就行。 我贴出我的过程。声明原创 2016-03-16 17:57:03 · 936 阅读 · 0 评论 -
Android 向左向右滑动销毁(finish)Activity, 随着手势的滑动而滑动的效果
最近在学习手势操作的时候看到了这篇文章 Android 向右滑动销毁(finish)Activity, 随着手势的滑动而滑动的效果博客地址 :http://blog.csdn.net/xiaanming/article/details/20934541里面讲的真心不错,对于我这样的菜鸟帮助很大。这篇博客的主要思想是:1.从左往右滑动屏幕时,如果滑动距离超过屏幕宽度的一半,就fin原创 2015-11-15 13:47:37 · 2021 阅读 · 0 评论 -
onMeasure,onLayout,onDraw
不管是自定义View还是系统提供的TextView这些,它们都必须放置在LinearLayout等一些ViewGroup中,因此理论上我们可以很好的理解onMeasure(),onLayout(),onDraw()这三个函数:1.View本身大小多少,这由onMeasure()决定;2.View在ViewGroup中的位置如何,这由onLayout()决定;3.绘制View,onDraw()定义了转载 2015-11-12 14:19:28 · 472 阅读 · 0 评论 -
canvas的基本用法
首先说一下canvas类:Class OverviewThe Canvas class holds the "draw" calls. To draw something, you need 4 basic components: A Bitmap to hold the pixels, a Canvas to host the draw calls (writing into t转载 2015-11-12 14:24:56 · 510 阅读 · 0 评论 -
dp与px的转换
今天使用LayoutParams设置LinearLayout大小的时候遇到了这个问题,在xml布局中长和宽都是100dp,想要改变为80dp,80dp,直接设置时出现了问题,和预期不一样。然后想到了屏幕密度的问题。LayoutParams params = new LayoutParams(80,80);ll.setLayoutParams(params);在new原创 2015-11-16 17:13:49 · 513 阅读 · 0 评论 -
SystemBarTint实现自定义StatusBar颜色
自定义Statusbar颜色十分漂亮,比原本黑色的高端太多在V7包中使用AppbarLayout和Toolbar可以实现漂亮的效果,用Android Studio新建一个工程就可以看到。(前提别新建一个空工程)今天使用SystemBarTint来实现。首先下载相应的jar包,下载地址然后导入工程,具体导入就不多说了。然后导入后看代码:原创 2016-03-18 21:11:33 · 350 阅读 · 0 评论 -
android 选择头像上传
记录一下android 选择头像上传的实现。简述一下:从图库获取的图片再经过裁剪后得到的图片质量很高,完全可以满足我们的需求。但是从使用一下这种方式通过相机拍照再裁剪后获得图片质量很低,不能满足使用。Intent intent2 = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);// 请求拍照的ActionstartActivityForR转载 2016-03-18 21:56:54 · 511 阅读 · 0 评论 -
Android studio 使用Gradle发布Android开源项目到JCenter 总结
mark:http://www.cnblogs.com/zhaoyanjun/p/4994981.html转载 2016-07-17 16:20:24 · 521 阅读 · 0 评论 -
5.0全透明状态栏效果
mark://Android5.0全透明状态栏效果if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { Window window = getWindow(); window.clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS原创 2016-07-16 13:49:35 · 298 阅读 · 0 评论 -
Rxjava使用详解
精品文章,必读http://gank.io/post/560e15be2dca930e00da1083转载 2016-07-11 13:24:20 · 241 阅读 · 0 评论 -
基于Retrofit+Okio+RxBus实现文件下载(带下载进度)
mark:http://www.tailyou.site/2016/06/22/基于Retrofit-Okio-RxBus实现文件下载(带下载进度)/按照源码实现了一遍,很不错,值得学习转载 2016-07-10 11:01:08 · 300 阅读 · 0 评论 -
clean架构
学习clean 架构:http://www.jcodecraeer.com/a/anzhuokaifa/androidkaifa/2016/0218/3979.html转载 2016-06-06 12:53:15 · 402 阅读 · 0 评论 -
dagger2 学习
很详细的,很基础的教程,mark一下http://www.cnblogs.com/zhuyp1015/p/5119727.html转载 2016-06-07 01:33:03 · 254 阅读 · 0 评论 -
android屏幕适配
做个标记,大神的屏幕适配解决方案http://blog.csdn.net/lmj623565791/article/details/49990941转载 2016-05-17 21:55:09 · 219 阅读 · 0 评论 -
MVP模式学习
最近一段时间在学习H5开发,没有研究android,今天学习了一下Mvp设计模式,记录一下。主要参考了一下文章:贴出链接,以示敬意。http://blog.csdn.net/knxw0001/article/details/39637273以及http://blog.csdn.net/duo2005duo/article/details/50594757再次表示感谢。转载 2016-04-13 17:38:07 · 255 阅读 · 0 评论