<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[md_beijing的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/md_beijing</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; md_beijing]]></copyright><item><title><![CDATA[Android Handler机制]]></title><link>https://blog.youkuaiyun.com/md_beijing/article/details/113886028</link><guid>https://blog.youkuaiyun.com/md_beijing/article/details/113886028</guid><author>md_beijing</author><pubDate>Sat, 20 Feb 2021 16:22:26 +0800</pubDate><description><![CDATA[一篇搞定Handler

Handler如何运转
Looper如何线程隔离
IdleHandler如何使用
消息有什么讲究

Handler怎么用？
通过Handler 的sendMessage方法发送一个Message，就可以在需要的地方重写Handler的hanldeMessage()方法去处理相应逻辑，并且可以保证Handler在那个线程创建，回调就在哪个线程执行。
这里有两点需要注意：
1.线程不会错乱
2.发送消息会触发回调（生产消费模型）
那么是如何做到上述两点的，我们可以看下源码，在看源码之前]]></description><category></category></item><item><title><![CDATA[android 自定义相机]]></title><link>https://blog.youkuaiyun.com/md_beijing/article/details/53067983</link><guid>https://blog.youkuaiyun.com/md_beijing/article/details/53067983</guid><author>md_beijing</author><pubDate>Mon, 07 Nov 2016 17:12:32 +0800</pubDate><description><![CDATA[周五下班前被一个大一学生给问住了，怎么搞一个相机可以在取景框随便写画，点击拍照保存图片。 
    周末研究了一下，遇到以下几个问题记录一下。 
    首先说明一下 我的预览View 使用surfaceview，手画view也是surfaceview。 
 1、surfaceview 与Camera的绑定。 
 2、两个surfaceview覆盖存在问题，会出现后者不显示。 
 3、两个view的]]></description><category></category></item><item><title><![CDATA[android studio添加忽略]]></title><link>https://blog.youkuaiyun.com/md_beijing/article/details/52489663</link><guid>https://blog.youkuaiyun.com/md_beijing/article/details/52489663</guid><author>md_beijing</author><pubDate>Fri, 09 Sep 2016 18:08:36 +0800</pubDate><description><![CDATA[]]></description><category></category></item><item><title><![CDATA[Genymotion 安装项目失败]]></title><link>https://blog.youkuaiyun.com/md_beijing/article/details/52249815</link><guid>https://blog.youkuaiyun.com/md_beijing/article/details/52249815</guid><author>md_beijing</author><pubDate>Fri, 19 Aug 2016 13:09:45 +0800</pubDate><description><![CDATA[Genymotion 安装项目会失败，安装成功也会闪退，这主要的原因是因为Android系统是基于ARM架构的，而Genymotion是基于X86架构的。
我们需要手动刷入arm支持，方法也很简单。
android5.0以下模拟器ARM下载地址：
http://download.youkuaiyun.com/detail/md_beijing/9607274




android5.0以上模]]></description><category></category></item><item><title><![CDATA[Genymotion 安装项目失败，闪退]]></title><link>https://blog.youkuaiyun.com/md_beijing/article/details/52247813</link><guid>https://blog.youkuaiyun.com/md_beijing/article/details/52247813</guid><author>md_beijing</author><pubDate>Fri, 19 Aug 2016 09:46:58 +0800</pubDate><description><![CDATA[Genymotion 安装项目会失败，安装成功也会闪退，这主要的原因是因为Android系统是基于ARM架构的，而Genymotion是基于X86架构的。
我们需要手动刷入arm支持，方法也很简单。
android5.0以下模拟器ARM下载地址：
http://download.youkuaiyun.com/detail/md_beijing/9607274




android5.0以上模]]></description><category></category></item><item><title><![CDATA[studio  报错集锦]]></title><link>https://blog.youkuaiyun.com/md_beijing/article/details/52223174</link><guid>https://blog.youkuaiyun.com/md_beijing/article/details/52223174</guid><author>md_beijing</author><pubDate>Tue, 16 Aug 2016 17:20:18 +0800</pubDate><description><![CDATA[1.报错如下：
Error:Execution failed for task ':app:transformClassesWithDexForDebug'.
> com.android.build.api.transform.TransformException: com.android.ide.common.process.ProcessException: org.gradle.proc]]></description><category></category></item><item><title><![CDATA[retrofit2.0  趟过的坑]]></title><link>https://blog.youkuaiyun.com/md_beijing/article/details/52126244</link><guid>https://blog.youkuaiyun.com/md_beijing/article/details/52126244</guid><author>md_beijing</author><pubDate>Fri, 05 Aug 2016 09:57:12 +0800</pubDate><description><![CDATA[retrofit日下最火的联网请求框架，但是对于我这样的小白，还是不很容易上手的，在此记录，一下自认为不方便的的地方。
1.LOG打印，联网的请求在实际项目中肯定是要打印请求数据，响应数据，接口信息等。这样才会方便以后的调试，但是retrofit没有提供联网的start回调方法，并切那个repson的打印永远是地址值。
此处可以采用自定义okhttp拦截器的方法来实现。代码如下：
 OkHt]]></description><category></category></item><item><title><![CDATA[自定义Toast]]></title><link>https://blog.youkuaiyun.com/md_beijing/article/details/51982836</link><guid>https://blog.youkuaiyun.com/md_beijing/article/details/51982836</guid><author>md_beijing</author><pubDate>Thu, 21 Jul 2016 14:53:35 +0800</pubDate><description><![CDATA[其实自定义toast很简单，先上图


在看代码：
Toast toast = new Toast(getActivity());
        toast.setDuration(Toast.LENGTH_LONG);
        toast.setGravity(Gravity.CENTER, 100, 300);
        View view_test  = getAct]]></description><category></category></item><item><title><![CDATA[Design Support Library---->NavigationView]]></title><link>https://blog.youkuaiyun.com/md_beijing/article/details/51603954</link><guid>https://blog.youkuaiyun.com/md_beijing/article/details/51603954</guid><author>md_beijing</author><pubDate>Tue, 07 Jun 2016 15:15:44 +0800</pubDate><description><![CDATA[先上一个效果图
可以看到 这是一个类似于QQ的侧滑菜单，这种效果有好多实现方式，但是今天来探讨一下V4包下的NavigationView。
         需要指出的是NavigationView常常与DrawerLayout一起使用，想要使用这两个空间首先需要导入最新的V4包。
   指定
   compile 'com.android.support:design:22.2.0']]></description><category></category></item><item><title><![CDATA[WIFI无线调试android真机开发]]></title><link>https://blog.youkuaiyun.com/md_beijing/article/details/51163299</link><guid>https://blog.youkuaiyun.com/md_beijing/article/details/51163299</guid><author>md_beijing</author><pubDate>Fri, 15 Apr 2016 17:19:08 +0800</pubDate><description><![CDATA[请看这个地址   ，很带感的～～～




http://blog.youkuaiyun.com/xusiwei1236/article/details/41480319?utm_source=tuicool&utm_medium=referral]]></description><category></category></item><item><title><![CDATA[android 自定义环形进度条，渐变色]]></title><link>https://blog.youkuaiyun.com/md_beijing/article/details/51142060</link><guid>https://blog.youkuaiyun.com/md_beijing/article/details/51142060</guid><author>md_beijing</author><pubDate>Wed, 13 Apr 2016 12:01:05 +0800</pubDate><description><![CDATA[什么也不说先上图




做一个类似qq记步的j进度条，直接上代码


首先在onmeasure方法中测量View的宽高

 protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
        int defaultWidth = Integer.MAX_VALUE;
        i]]></description><category></category></item><item><title><![CDATA[Android 获取验证码后的倒计时功能]]></title><link>https://blog.youkuaiyun.com/md_beijing/article/details/50763426</link><guid>https://blog.youkuaiyun.com/md_beijing/article/details/50763426</guid><author>md_beijing</author><pubDate>Mon, 29 Feb 2016 09:55:58 +0800</pubDate><description><![CDATA[在项目中经常遇到获取验证码的功能，在项目中，获取验证码就是调用后台的一个接口，而倒计时功能确实前端需要做的，其实这个功能非常简单，让我们来看看关键的类。
           CountDownTimer：
              new CountdownTimer(30000, 1000) {
  



     public void onTick(long millis]]></description><category></category></item><item><title><![CDATA[Android 屏幕适配一二]]></title><link>https://blog.youkuaiyun.com/md_beijing/article/details/50703802</link><guid>https://blog.youkuaiyun.com/md_beijing/article/details/50703802</guid><author>md_beijing</author><pubDate>Sat, 20 Feb 2016 10:14:03 +0800</pubDate><description><![CDATA[说一个公式 dp = px/(dpi/160)


                    其中dp 就是所谓的dip,就是android在写布局xml时所用的单位，
                    
px (pixels)像素 – 是像素，就是屏幕上实际的像素点单位， px就是平常所说的分辨率，一般的UI做图的单位，
                    
dpi是屏幕像]]></description><category></category></item><item><title><![CDATA[eclipse 启动失败]]></title><link>https://blog.youkuaiyun.com/md_beijing/article/details/50675249</link><guid>https://blog.youkuaiyun.com/md_beijing/article/details/50675249</guid><author>md_beijing</author><pubDate>Tue, 16 Feb 2016 15:52:48 +0800</pubDate><description><![CDATA[今天上午还用eclipse 但是未响应，我以为卡了就直接关闭了，没想到下午就直接启动不起来了，还提示到工作空间的.metadata文件夹下的.log查看错误日志，我打开了log文件报错如下：
!SESSION 2016-02-16 15:42:23.496 -----------------------------------------------
eclipse.buildId=v22.3]]></description><category></category></item><item><title><![CDATA[Android文件存储易混淆点]]></title><link>https://blog.youkuaiyun.com/md_beijing/article/details/50237481</link><guid>https://blog.youkuaiyun.com/md_beijing/article/details/50237481</guid><author>md_beijing</author><pubDate>Wed, 09 Dec 2015 15:59:16 +0800</pubDate><description><![CDATA[在Android手机里面，缓存的位置分为两类，一类是Internal Storage，即内部存储，另外一类是External Storage，即外部存储。比较老的手机，有一个手机内部存储，还有一个SD卡存储，就是分别对应这两种存储位置，因为以前的SD卡是可以扩展的，即可拆卸的，所以可以用是否可拆卸作为内外存储的分类标准。但是现在最新的设备，比如小米、锤子、华为等，都取消了可拆卸的SD卡，直接与机身焊]]></description><category></category></item></channel></rss>