<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[u011283103的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/u011283103</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; u011283103]]></copyright><item><title><![CDATA[本地调试,ie 谷歌浏览器都正常，但是将网站部署到服务器上发现ie内核css样式出现问题]]></title><link>https://blog.youkuaiyun.com/u011283103/article/details/47949361</link><guid>https://blog.youkuaiyun.com/u011283103/article/details/47949361</guid><author>u011283103</author><pubDate>Mon, 24 Aug 2015 12:35:19 +0800</pubDate><description><![CDATA[asp.net 
本地调试,ie 谷歌浏览器都正常，但是将网站部署到服务器上发现ie内核css样式出现问题， 
搜了一下发现是http的头的问题 
百度：相容性檢視(Quirks) 
http://www.dotblogs.com.tw/littlebtc/archive/2009/03/21/ie8-modes.aspx 
http://www.cnblogs.com/Nina-piaoye/ar]]></description><category></category></item><item><title><![CDATA[Java获取IP地址:request.getRemoteAddr()警惕]]></title><link>https://blog.youkuaiyun.com/u011283103/article/details/43988003</link><guid>https://blog.youkuaiyun.com/u011283103/article/details/43988003</guid><author>u011283103</author><pubDate>Sat, 28 Feb 2015 17:39:09 +0800</pubDate><description><![CDATA[在JSP里，获取客户端的IP地址的方法是：request.getRemoteAddr() ，这种方法在大部分情况下都是有效的。但是在通过了Apache,Squid等反向代理软件就不能获取到客户端的真实IP地址了。 
如果使用了反向代理软件，将http://192.168.1.110:2046/ 的URL反向代理为http://www.xxx.com/ 的URL时，用request.getRemote]]></description><category></category></item><item><title><![CDATA[欢迎使用优快云-markdown编辑器]]></title><link>https://blog.youkuaiyun.com/u011283103/article/details/43985941</link><guid>https://blog.youkuaiyun.com/u011283103/article/details/43985941</guid><author>u011283103</author><pubDate>Sat, 28 Feb 2015 15:07:39 +0800</pubDate><description><![CDATA[request.getParameter(),request.setAttribute()区别如下： 
（1）request.getParameter()取得是通过容器的实现来取得通过类似post,get等方式传入的数据，request.setAttribute()和getAttribute()只是在web容器内部流转，仅仅是请求处理阶段。 
（2）request.getParameter()方法传]]></description><category></category></item><item><title><![CDATA[android中的后退键——onBackPressed()的使用]]></title><link>https://blog.youkuaiyun.com/u011283103/article/details/43759425</link><guid>https://blog.youkuaiyun.com/u011283103/article/details/43759425</guid><author>u011283103</author><pubDate>Thu, 12 Feb 2015 10:23:37 +0800</pubDate><description><![CDATA[很多网友不明白如何在Android平台上捕获Back键的事件，Back键是手机上的后退键，一般的软件不捕获相关信息可能导致你的程序被切换到后台，而回到桌面的尴尬情况，在Android上有两种方法来获取该按钮的事件。


  1.直接获取按钮按下事件，此方法兼容Android 1.0到Android 2.1 也是常规方法，直接重写Activity的onKeyDown方法即可，代码如下:

]]></description><category></category></item><item><title><![CDATA[ByteArrayOutputStream与InputStream]]></title><link>https://blog.youkuaiyun.com/u011283103/article/details/43733155</link><guid>https://blog.youkuaiyun.com/u011283103/article/details/43733155</guid><author>u011283103</author><pubDate>Wed, 11 Feb 2015 13:44:19 +0800</pubDate><description><![CDATA[字节数组流：
ByteArrayOutputStream:    可以捕获内存缓冲区的数据，转换成字节数组。
ByteArrayoutputStream bout=new ByteArrayOutputStream();
bout.write(int a);  bout.write(int b);  bout.write(int c);
byte[] buf=bout.toByteArra]]></description><category></category></item><item><title><![CDATA[InputStream当中read()、read(byte[]  b)、read(byte[] b、int off 、int len)的使用]]></title><link>https://blog.youkuaiyun.com/u011283103/article/details/43705145</link><guid>https://blog.youkuaiyun.com/u011283103/article/details/43705145</guid><author>u011283103</author><pubDate>Tue, 10 Feb 2015 16:54:09 +0800</pubDate><description><![CDATA[下面就说说InputStream当中read()、read(byte[]  b)、read(byte[]
 b、int off 、int
 len)的使用以及区别(以txt文本的复制为例通过代码以及注释说明)：

一、read()方法：

public static void inputStreamRead1() {

      try{

            //构造一]]></description><category></category></item><item><title><![CDATA[java中long 转换成 int]]></title><link>https://blog.youkuaiyun.com/u011283103/article/details/43671657</link><guid>https://blog.youkuaiyun.com/u011283103/article/details/43671657</guid><author>u011283103</author><pubDate>Mon, 09 Feb 2015 15:46:52 +0800</pubDate><description><![CDATA[由int类型转换为long类型是向上转换，可以直接进行隐式转换，但由long类型转换为int类型是向下转换，可能会出现数据溢出情况：

 主要以下几种转换方法，供参考：

 一、强制类型转换

long ll = 200000;  

int ii = (int)ll;  

二、调用intValue()方法

long l = 200000;  

int i= ne]]></description><category></category></item><item><title><![CDATA[getSharedPreferences和getDefaultSharedPreferences用法差别]]></title><link>https://blog.youkuaiyun.com/u011283103/article/details/43529233</link><guid>https://blog.youkuaiyun.com/u011283103/article/details/43529233</guid><author>u011283103</author><pubDate>Thu, 05 Feb 2015 15:59:42 +0800</pubDate><description><![CDATA[自定义的一些偏好设置用getSharedPreferences来获取，例如定义一个loginpref.xml的偏好文件

使用

SharedPreferences sharedPreferences = getSharedPreferences("loginpref", Context.MODE_PRIVATE);

System.out.println("set_location ]]></description><category></category></item><item><title><![CDATA[使用System.arraycopy()实现数组之间的复制]]></title><link>https://blog.youkuaiyun.com/u011283103/article/details/43487371</link><guid>https://blog.youkuaiyun.com/u011283103/article/details/43487371</guid><author>u011283103</author><pubDate>Wed, 04 Feb 2015 15:51:52 +0800</pubDate><description><![CDATA[System提供了一个静态方法arraycopy(),我们可以使用它来实现数组之间的复制。其函数原型是： public static void arraycopy(Object src, int srcPos,
 Object dest, int destPos, int length) src:源数组； srcPos:源数组要复制的起始位置； dest:目的数组； destPos:目的数组放置]]></description><category></category></item><item><title><![CDATA[Flash Media Server直播时声音断续的问题]]></title><link>https://blog.youkuaiyun.com/u011283103/article/details/43411617</link><guid>https://blog.youkuaiyun.com/u011283103/article/details/43411617</guid><author>u011283103</author><pubDate>Mon, 02 Feb 2015 17:33:54 +0800</pubDate><description><![CDATA[首先FMS的资料在网上太少了，也许因为FMS卖得太贵，很少有人正式使用。但是Flash安装量不可忽视呀，FMS也有两个代替品Red5、Wowza Media Server，前者是免费开源基于java的解决方案，后者是付费但是比FMS便宜的解决方案，因此以后这方面还是会发展，选择也会更多样化；FMS研究一下也无妨。
研究了就会有问题，这次的问题是使用Flash自身的encoder机制和使用Flas]]></description><category></category></item><item><title><![CDATA[android调试出现E/AndroidRuntime(13678): java.lang.NoClassDefFoundError:]]></title><link>https://blog.youkuaiyun.com/u011283103/article/details/43410433</link><guid>https://blog.youkuaiyun.com/u011283103/article/details/43410433</guid><author>u011283103</author><pubDate>Mon, 02 Feb 2015 16:40:49 +0800</pubDate><description><![CDATA[01-06 02:26:28.437: E/AndroidRuntime(4129): java.lang.NoClassDefFoundError: org.slf4j.LoggerFactory


原因：代码依赖于其他库，要在具体project上右键属性，在java build path里的order and export里把要编译的包文件前打勾。然后再clean该工程，刷新再运行就可]]></description><category></category></item><item><title><![CDATA[android中捕捉menu按键的点击事件]]></title><link>https://blog.youkuaiyun.com/u011283103/article/details/43155319</link><guid>https://blog.youkuaiyun.com/u011283103/article/details/43155319</guid><author>u011283103</author><pubDate>Mon, 26 Jan 2015 17:50:13 +0800</pubDate><description><![CDATA[@Override  
    public boolean onCreateOptionsMenu(Menu menu) {  
        /* 
         * add()方法的四个参数，依次是： 1、组别，如果不分组的话就写Menu.NONE, 
         * 2、Id，这个很重要，Android根据这个Id来确定不同的菜单 3、顺序，那个菜单现在在前面由这个参数]]></description><category></category></item><item><title><![CDATA[Android数据的四种存储方式SharedPreferences、SQLite、Content Provider和File]]></title><link>https://blog.youkuaiyun.com/u011283103/article/details/43154129</link><guid>https://blog.youkuaiyun.com/u011283103/article/details/43154129</guid><author>u011283103</author><pubDate>Mon, 26 Jan 2015 16:38:15 +0800</pubDate><description><![CDATA[作为一个完成的应用程序，数据存储操作是必不可少的。因此，Android系统一共提供了四种数据存储方式。分别是：SharePreference、SQLite、Content Provider和File。由于Android系统中，数据基本都是私有的的，都是存放于“data/data/程序包名”目录下，所以要实现数据共享，正确方式是使用Content Provider。

　　SQLite： SQL]]></description><category></category></item><item><title><![CDATA[Android应用开发SharedPreferences存储数据的使用方法]]></title><link>https://blog.youkuaiyun.com/u011283103/article/details/43151603</link><guid>https://blog.youkuaiyun.com/u011283103/article/details/43151603</guid><author>u011283103</author><pubDate>Mon, 26 Jan 2015 13:44:52 +0800</pubDate><description><![CDATA[SharedPreferences是Android中最容易理解的数据存储技术，实际上SharedPreferences处理的就是一个key-value（键值对）SharedPreferences常用来存储一些轻量级的数据
SharedPreferences是Android中最容易理解的数据存储技术，实际上SharedPreferences处理的就是一个key-value（键值对）。SharedP]]></description><category></category></item><item><title><![CDATA[JAVA中如何保证线程安全以及主键自增有序以及AtomicInteger简介]]></title><link>https://blog.youkuaiyun.com/u011283103/article/details/43148663</link><guid>https://blog.youkuaiyun.com/u011283103/article/details/43148663</guid><author>u011283103</author><pubDate>Mon, 26 Jan 2015 09:20:58 +0800</pubDate><description><![CDATA[一、常见场景

多个线程针对一个i进行主键自增。多线程下如果不做安全策略，将会导致各个现成获取的i值重复，导致脏数据




常见策略

1、增加syschroize进行线程同步

2、使用lock、unlock处理

3、使用reetrantent 锁进行锁定




缺点：容易造成性能低下，或者编写代码容易造成死锁




二、新方案


j]]></description><category></category></item><item><title><![CDATA[Android APK安装包瘦身]]></title><link>https://blog.youkuaiyun.com/u011283103/article/details/43057573</link><guid>https://blog.youkuaiyun.com/u011283103/article/details/43057573</guid><author>u011283103</author><pubDate>Fri, 23 Jan 2015 16:37:00 +0800</pubDate><description><![CDATA[很显然，APK安装包越小越好。下面从代码，资源文件，使用策略几个方面简要介绍下：

代码


保持良好的编程习惯，不要重复或者不用的代码，谨慎添加libs，移除使用不到的libs。
使用proguard混淆代码，它会对不用的代码做优化，并且混淆后也能够减少安装包的大小。
native code的部分，大多数情况下只需要支持armabi与x86的架构即可。如果非必须，可以考虑拿掉x86]]></description><category></category></item><item><title><![CDATA[android 杀死进程]]></title><link>https://blog.youkuaiyun.com/u011283103/article/details/43051659</link><guid>https://blog.youkuaiyun.com/u011283103/article/details/43051659</guid><author>u011283103</author><pubDate>Fri, 23 Jan 2015 09:50:11 +0800</pubDate><description><![CDATA[Android中，虽然有很多方法（API或者shell命令）杀死后台`service`，但是仍然有很多程序几秒内再次启动，导致无法真正的杀死。这里主要着重介绍如何像
 360 一样杀死Android后台服务，而不会再次启动。

一、已知的 kill 后台应用程序的方法

android.os.Process.killProcess(pid);activityManager.killBac]]></description><category></category></item><item><title><![CDATA[java中string与byte[]的转换]]></title><link>https://blog.youkuaiyun.com/u011283103/article/details/43051325</link><guid>https://blog.youkuaiyun.com/u011283103/article/details/43051325</guid><author>u011283103</author><pubDate>Fri, 23 Jan 2015 09:23:42 +0800</pubDate><description><![CDATA[1.string 转 byte[]

byte[] midbytes=isoString.getBytes("UTF8");

//为UTF8编码

byte[] isoret = srt2.getBytes("ISO-8859-1");

//为ISO-8859-1编码

其中ISO-8859-1为单字节的编码

2.byte[]转string

String iso]]></description><category></category></item><item><title><![CDATA[Activity中Flag的解释FLAG_ACTIVITY_SINGLE_TOP]]></title><link>https://blog.youkuaiyun.com/u011283103/article/details/42968859</link><guid>https://blog.youkuaiyun.com/u011283103/article/details/42968859</guid><author>u011283103</author><pubDate>Wed, 21 Jan 2015 15:19:30 +0800</pubDate><description><![CDATA[Activity的两种启动模式：FLAG_ACTIVITY_CLEAR_TOP和FLAG_ACTIVITY_REORDER_TO_FRONT

 

1. 若是已经启动了四个Activity：A，B，C和D。在D Activity里，我们要跳到B Activity，同时欲望C finish掉，可以在startActivity（intent）里的intent里添加flags标识表记标帜，如下]]></description><category></category></item><item><title><![CDATA[android 读取本地或网络图片，转换为Bitmap -]]></title><link>https://blog.youkuaiyun.com/u011283103/article/details/42967485</link><guid>https://blog.youkuaiyun.com/u011283103/article/details/42967485</guid><author>u011283103</author><pubDate>Wed, 21 Jan 2015 13:54:44 +0800</pubDate><description><![CDATA[在做android项目时，我们经常需要从本地或者网络读取图片，并转换为Bitmap图片，以便使用，下面是读取本地图片并转换的方法：





[java] view
 plaincopy






/** 
     * 得到本地或者网络上的bitmap url - 网络或者本地图片的绝对路径,比如: 
     *  
     * A.网络路径: url="]]></description><category></category></item></channel></rss>