<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Zone_yan的专栏]]></title><description><![CDATA[]]></description><link>https://blog.csdn.net/Zone_yan</link><language>zh-cn</language><generator>https://blog.csdn.net/</generator><copyright><![CDATA[Copyright &copy; Zone_yan]]></copyright><item><title><![CDATA[Android studio通过lame生成把pcm转成MP3的so库以及音频的录制和播放附源码]]></title><link>https://blog.csdn.net/Zone_yan/article/details/129065503</link><guid>https://blog.csdn.net/Zone_yan/article/details/129065503</guid><author>Zone_yan</author><pubDate>Tue, 21 Feb 2023 09:52:39 +0800</pubDate><description><![CDATA[把libmp3lame目录中的所有.c和.h文件(注意其他类型的文件和目录不需要)都复制到项目中新建的map3lame目录中，并且把include目录中的lame.h也复制到项目的map3lame中，一共有43个文件如下图。这些文件中会有红线报错，先不用管，因为没有配置CMakeLists.txt文件。在target_link_libraries中配置的so名字要和上面定义一样。最新版本是3.100，解压完成后如下图。对其中三个文件进行修改，否则会报错。]]></description><category></category></item><item><title><![CDATA[如果修改aar包并再次打包成aar]]></title><link>https://blog.csdn.net/Zone_yan/article/details/112141318</link><guid>https://blog.csdn.net/Zone_yan/article/details/112141318</guid><author>Zone_yan</author><pubDate>Sun, 03 Jan 2021 17:24:59 +0800</pubDate><description><![CDATA[步骤：
解压.aar文件
使用jd-gui查看源码并定位到代码再修改
解压.aar文件解压后产生的classes.jar文件
打包源码为classes.jar
打包所有文件(res文件、classes.jar、AndroidManifest.xml等)为xxx.aar
解压.aar文件
$ unzip myLib.aar -d tempFolder
使用jd-gui查看源码并定位到代码再修改
进入tempFolder把里面的classes.jar复制出来
再使用jd-gui(mac版下载地址：https:/]]></description><category></category></item><item><title><![CDATA[Android 8.0接收通知后会手机崩溃,一直提示系统停止运行]]></title><link>https://blog.csdn.net/Zone_yan/article/details/99325786</link><guid>https://blog.csdn.net/Zone_yan/article/details/99325786</guid><author>Zone_yan</author><pubDate>Mon, 12 Aug 2019 19:18:35 +0800</pubDate><description><![CDATA[最近用极光推送,发现有新的SDK,就试试用.我的手机是Nexus 6P,原生8.0,结果一更新,手机就不断闪屏,系统崩溃,说要恢复出厂设置了
幸亏重启前截停了.然后求助极光推送,可得到的答复不是SDK的问题,碰巧也有人碰到这问题,但他说他的解决方法是在drawable-xxxx各分辨率下加上jpush_notification_icon.png就可以避免了.可我试了不行.郁闷啊.一天重启几十遍.也...]]></description><category></category></item><item><title><![CDATA[android 8.0安装apk失败]]></title><link>https://blog.csdn.net/Zone_yan/article/details/88367550</link><guid>https://blog.csdn.net/Zone_yan/article/details/88367550</guid><author>Zone_yan</author><pubDate>Sat, 09 Mar 2019 16:12:41 +0800</pubDate><description><![CDATA[android 8.0安装apk除了要配置provider
&amp;lt;provider
    android:name=&quot;android.support.v4.content.FileProvider&quot;
    android:authorities=&quot;包名.fileprovider&quot;
    android:grantUriPermissions=&quot;true&quot;
    android:expor...]]></description><category></category></item><item><title><![CDATA[关于Android开发面试的一些问题]]></title><link>https://blog.csdn.net/Zone_yan/article/details/79613383</link><guid>https://blog.csdn.net/Zone_yan/article/details/79613383</guid><author>Zone_yan</author><pubDate>Mon, 19 Mar 2018 16:23:33 +0800</pubDate><description><![CDATA[结合项目问一些问题，主要考察对项目掌握和深入理解的程度，以及沟通表达能力，是否能调理清晰的表达出项目的情况；

handler原理源码级别的理解，可以参考http://blog.csdn.net/Zone_yan/article/details/79078033；

线程池常用的几种类型；

设计模式，单例，工厂，观察者模式等常用的就行，不会问太多；

开发框架mvc，mvp，mvvm等，mvp最...]]></description><category></category></item><item><title><![CDATA[（笔记）关于binder机制的一点理解]]></title><link>https://blog.csdn.net/Zone_yan/article/details/79149686</link><guid>https://blog.csdn.net/Zone_yan/article/details/79149686</guid><author>Zone_yan</author><pubDate>Wed, 24 Jan 2018 13:26:10 +0800</pubDate><description><![CDATA[binder分为几个部分：client，service，serviceManager，driver，

以通过AIDL实现方式为例，我们如果已经创建客户端MyClient和服务端MyService，并且通过AIDL得到我们需要的引用文件（ServiceManager），这个引用文件ServiceManager.java从代码上看是个接口，其中有个继承Binder并实现本身接口的抽象类Stub，这个]]></description><category></category></item><item><title><![CDATA[（笔记）关于View的事件分发大概流程]]></title><link>https://blog.csdn.net/Zone_yan/article/details/79098876</link><guid>https://blog.csdn.net/Zone_yan/article/details/79098876</guid><author>Zone_yan</author><pubDate>Thu, 18 Jan 2018 17:35:12 +0800</pubDate><description><![CDATA[点击事件分发三个很核心的方法：dispatchTouchEvent（分发）、onInterceptTouchEvent（拦截）、onTouchEvent（处理）。

关于三者的关系可以用以下伪代码表示：



pulic boolean dispatchTouchEvent(MotionEvent event){
   boolean consume = false;
   if (onInter...]]></description><category></category></item><item><title><![CDATA[（笔记）关于Handler机制中looper Message的一些理解]]></title><link>https://blog.csdn.net/Zone_yan/article/details/79078033</link><guid>https://blog.csdn.net/Zone_yan/article/details/79078033</guid><author>Zone_yan</author><pubDate>Tue, 16 Jan 2018 18:56:45 +0800</pubDate><description><![CDATA[handler在接受/处理消息需要looper来管理，每个主线线程在创建开始都会自动创建一个looper，通过Looper.loop(); 来进行消息循环，对整个activity的生命周期中的事件进行接收和处理。

Looper在创建开始的构造方法中创建了关联的MessageQueue，它是以队列形式管理Message，发送无延时的message是先进先出，但是通过sendMessageAtFro...]]></description><category></category></item><item><title><![CDATA[gerrit升级到16.04之后连接不到服务器]]></title><link>https://blog.csdn.net/Zone_yan/article/details/52121274</link><guid>https://blog.csdn.net/Zone_yan/article/details/52121274</guid><author>Zone_yan</author><pubDate>Thu, 04 Aug 2016 17:33:59 +0800</pubDate><description><![CDATA[转自http://www.cnblogs.com/teamoxin/p/5728705.html升级到ubuntu-16.04后，发现Git-review代码报错：Unable to negotiate with 10.140.110.77 port 29418: no matching key exchange method found. Their offer: diffie-hellman-g]]></description><category></category></item><item><title><![CDATA[socket错误码]]></title><link>https://blog.csdn.net/Zone_yan/article/details/52062816</link><guid>https://blog.csdn.net/Zone_yan/article/details/52062816</guid><author>Zone_yan</author><pubDate>Fri, 29 Jul 2016 11:10:39 +0800</pubDate><description><![CDATA[转自http://blog.csdn.net/uestc_huan/article/details/5863614 
都是网上整理的资料。贴在这里，以便查阅。Linux网络编程socket错误分析socket错误码：EINTR： 4 
阻塞的操作被取消阻塞的调用打断。如设置了发送接收超时，就会遇到这种错误。 
只能针对阻塞模式的socket。读，写阻塞的socket时，-1返回，错误号为INTR。另]]></description><category></category></item><item><title><![CDATA[String.format()用法]]></title><link>https://blog.csdn.net/Zone_yan/article/details/51098792</link><guid>https://blog.csdn.net/Zone_yan/article/details/51098792</guid><author>Zone_yan</author><pubDate>Fri, 08 Apr 2016 18:25:41 +0800</pubDate><description><![CDATA[package junit.test;import java.util.Date; 
import java.util.Locale;import org.junit.Test;public class StringFormat {/* 
String.format()用法1、转换符 
%s: 字符串类型，如：”ljq” 
%b: 布尔类型，如：true 
%d: 整数类型(十进制)，如：99 
%]]></description><category></category></item><item><title><![CDATA[android 关于提高app的进程service优先级]]></title><link>https://blog.csdn.net/Zone_yan/article/details/50593088</link><guid>https://blog.csdn.net/Zone_yan/article/details/50593088</guid><author>Zone_yan</author><pubDate>Wed, 27 Jan 2016 11:41:07 +0800</pubDate><description><![CDATA[基本上大家都知道提高service优先级可以在很大程度上让你的service免于因为内存不足而被kill，当然系统只是在此时先把优先级低的kill掉，如果内存还是不够，也会把你的service干掉的。不过现在的机器不像几年前了，基本上不会发生那种情况。先来看看网上常见的“错误”方法：1.android:persistent=”true”对第三方app无效，下面是官方说明 
android:persi]]></description><category></category></item><item><title><![CDATA[关于Eclipse 起动不了Android项目，报错Unable to execute dex: java.nio.BufferOverflowException.]]></title><link>https://blog.csdn.net/Zone_yan/article/details/43801523</link><guid>https://blog.csdn.net/Zone_yan/article/details/43801523</guid><author>Zone_yan</author><pubDate>Fri, 13 Feb 2015 21:30:45 +0800</pubDate><description><![CDATA[关于Eclipse 起动不了Android项目，报错Unable to execute dex: java.nio.BufferOverflowException.或者 

R.java was
 modified manually! Reverting to generated version!


找了好久，终于找到原因，我的错误很简单，在这里写下了跟大家共享，希望能节省一些时间和]]></description><category></category></item><item><title><![CDATA[Android网络编程之Http通信(post,get)]]></title><link>https://blog.csdn.net/Zone_yan/article/details/41941011</link><guid>https://blog.csdn.net/Zone_yan/article/details/41941011</guid><author>Zone_yan</author><pubDate>Mon, 15 Dec 2014 10:48:27 +0800</pubDate><description><![CDATA[Android中提供的HttpURLConnection和HttpClient接口可以用来开发HTTP程序。以下是本人在学习中的总结与归纳。
1. HttpURLConnection接口
    首先需要明确的是，Http通信中的POST和GET请求方式的不同。GET可以获得静态页面，也可以把参数放在URL字符串后面，传递给服务器。而POST方法的参数是放在Http请求中。因此，在编程之前，应]]></description><category></category></item><item><title><![CDATA[Android使用设置AlertDialog(退出提示框)]]></title><link>https://blog.csdn.net/Zone_yan/article/details/39641267</link><guid>https://blog.csdn.net/Zone_yan/article/details/39641267</guid><author>Zone_yan</author><pubDate>Sun, 28 Sep 2014 14:37:54 +0800</pubDate><description><![CDATA[先上效果图：]]></description><category></category></item><item><title><![CDATA[Android 上传图片]]></title><link>https://blog.csdn.net/Zone_yan/article/details/39289459</link><guid>https://blog.csdn.net/Zone_yan/article/details/39289459</guid><author>Zone_yan</author><pubDate>Mon, 15 Sep 2014 10:28:15 +0800</pubDate><description><![CDATA[<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:orientation="vertical" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    > 
  ]]></description><category></category></item><item><title><![CDATA[软键盘的关闭和显示]]></title><link>https://blog.csdn.net/Zone_yan/article/details/38537349</link><guid>https://blog.csdn.net/Zone_yan/article/details/38537349</guid><author>Zone_yan</author><pubDate>Wed, 13 Aug 2014 15:14:07 +0800</pubDate><description><![CDATA[关闭软键盘
InputMethodManager imm (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);imm.hideSoftInputFromWindow(myEdit.getWindowToken(), 0);下面就可以通过下面方法可以恢复显示boolean showSoftInput(View vie]]></description><category></category></item><item><title><![CDATA[textView添加超链接（两种方式）]]></title><link>https://blog.csdn.net/Zone_yan/article/details/38490843</link><guid>https://blog.csdn.net/Zone_yan/article/details/38490843</guid><author>Zone_yan</author><pubDate>Mon, 11 Aug 2014 12:24:02 +0800</pubDate><description><![CDATA[public class MainActivity extends Activity { 
@Override 
protected void onCreate(Bundle savedInstanceState) { 
super.onCreate(savedInstanceState); 
LinearLayout layout = new LinearLayout(this); 
]]></description><category></category></item><item><title><![CDATA[Android TextView自定义实现@用户跳转]]></title><link>https://blog.csdn.net/Zone_yan/article/details/38319947</link><guid>https://blog.csdn.net/Zone_yan/article/details/38319947</guid><author>Zone_yan</author><pubDate>Thu, 31 Jul 2014 16:50:10 +0800</pubDate><description><![CDATA[Android TextView自定义实现@用户跳转
 (2012-12-03 16:00:50)
转载▼





Textview能满足简单的文字展示，其中可以设置自动索引链接，邮箱等。但有时候我们需要对TextView进行更丰富的展现原本的就很难满足需求。例如各种标注，特殊文字高亮，关键字链接。
    项目中需要用到对@用户的链接。所以楼主就去研究了一下Textview。]]></description><category></category></item></channel></rss>