<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[苦涩]]></title><description><![CDATA[生活总是让我们遍体鳞伤，但到后来，那些受伤的地方一定会变成我们最强壮的地方。]]></description><link>https://blog.youkuaiyun.com/Bitter_2014</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Bitter_2014]]></copyright><item><title><![CDATA[Android监听应用程序安装和卸载]]></title><link>https://blog.youkuaiyun.com/Bitter_2014/article/details/46623009</link><guid>https://blog.youkuaiyun.com/Bitter_2014/article/details/46623009</guid><author>Bitter_2014</author><pubDate>Wed, 24 Jun 2015 15:51:01 +0800</pubDate><description><![CDATA[第一、             新建监听类：BootReceiver继承BroadcastReceiver
publicclass BootReceiver extends BroadcastReceiver {
 
    @Override
    public void onReceive(Context context,Intent intent) {
        //接收广]]></description><category></category></item><item><title><![CDATA[Android将Activity打成jar包供第三方调用（解决资源文件不能打包的问题）]]></title><link>https://blog.youkuaiyun.com/Bitter_2014/article/details/46622995</link><guid>https://blog.youkuaiyun.com/Bitter_2014/article/details/46622995</guid><author>Bitter_2014</author><pubDate>Wed, 24 Jun 2015 15:50:00 +0800</pubDate><description><![CDATA[最近有一个需要，我们公司做了一个apk客户端，然后其他的公司可以根据自己的需要来替换里面的资源图片，文字等一些资源文件问题，我本来想这个简单，用两个工程直接替换里面的资源文件就行，老大说，这样子不好，如果要改需要改两个客户端，而且还麻烦，叫我将所有的Activity打成Jar包的形式，这样子我们改了里面的内容就直接发布Jar包出去，其他公司直接下载Jar来使用，这样子他们自己公司也能更好的维护。]]></description><category></category></item><item><title><![CDATA[Android之广播大全 Intent Action 事件]]></title><link>https://blog.youkuaiyun.com/Bitter_2014/article/details/46622959</link><guid>https://blog.youkuaiyun.com/Bitter_2014/article/details/46622959</guid><author>Bitter_2014</author><pubDate>Wed, 24 Jun 2015 15:47:15 +0800</pubDate><description><![CDATA[Intent.ACTION_AIRPLANE_MODE_CHANGED;
//关闭或打开飞行模式时的广播
 
Intent.ACTION_BATTERY_CHANGED;
//充电状态，或者电池的电量发生变化
//电池的充电状态、电荷级别改变，不能通过组建声明接收这个广播，只有通过Context.registerReceiver()注册
 
Intent.ACTION_BATTERY]]></description><category></category></item><item><title><![CDATA[Android之开机自启动Service]]></title><link>https://blog.youkuaiyun.com/Bitter_2014/article/details/46622941</link><guid>https://blog.youkuaiyun.com/Bitter_2014/article/details/46622941</guid><author>Bitter_2014</author><pubDate>Wed, 24 Jun 2015 15:46:10 +0800</pubDate><description><![CDATA[之前我们有篇关于介绍 Android 如何实现开机自启动，不过都写的是关于如何启动 Activity，本篇文章将介绍如何启动 Service。
先附上之前文章的链接，以便参考：【Android】开机自启动。



Service 的启动相比 Acitivty 而言较为繁琐，其实都是通过别的类去调用被启动类，只不过可能 Activity 大家更为熟悉，Service 比较陌生吧。
不了解]]></description><category></category></item><item><title><![CDATA[Android之Service 生命周期]]></title><link>https://blog.youkuaiyun.com/Bitter_2014/article/details/46622917</link><guid>https://blog.youkuaiyun.com/Bitter_2014/article/details/46622917</guid><author>Bitter_2014</author><pubDate>Wed, 24 Jun 2015 15:45:07 +0800</pubDate><description><![CDATA[原文链接：http://www.roiding.com/index.php/archives/187


作为一款多任务操作系统，如果不能运行后台服务，显然说不过去，Android 当然提供了运行后台程序的方法。而且非常简单易用，只不过有一些小问题需要注意，这个主题分为两部分，第一部分是如何实现一个Service以及他的生命周期，第二部分是对于一个个后台服务应该注意的事项。我们开始吧！
创]]></description><category></category></item><item><title><![CDATA[Android之Service学习之本地服务]]></title><link>https://blog.youkuaiyun.com/Bitter_2014/article/details/46622879</link><guid>https://blog.youkuaiyun.com/Bitter_2014/article/details/46622879</guid><author>Bitter_2014</author><pubDate>Wed, 24 Jun 2015 15:43:49 +0800</pubDate><description><![CDATA[原文地址：http://android.blog.51cto.com/268543/527314
作者：Icansoft



    Service是在一段不定的时间运行在后台，不和用户交互应用组件。每个Service必须在manifest中 通过来声明。可以通过contect.startservice和contect.bindserverice来启动。
    Service和其他]]></description><category></category></item><item><title><![CDATA[Android动态注册广播接收器]]></title><link>https://blog.youkuaiyun.com/Bitter_2014/article/details/46622853</link><guid>https://blog.youkuaiyun.com/Bitter_2014/article/details/46622853</guid><author>Bitter_2014</author><pubDate>Wed, 24 Jun 2015 15:41:57 +0800</pubDate><description><![CDATA[从本质来说，Android 系统的广播机制是一种消息订阅/发布机制，因此，使用这种消息驱动模型的第一步便是订阅消息；而对 Android 应用程序来说，订阅消息其实就是注册广播接收器。
    注册的方法有两种，一种是静态注册，一种是动态注册。在 Android 的广播机制中，动态注册的优先级是要高于静态注册优先级的，因此在必要的情况下，我们是需要动态注册广播接收器的。


    先回顾]]></description><category></category></item><item><title><![CDATA[Android获取设备型号、SDK版本及其系统版本]]></title><link>https://blog.youkuaiyun.com/Bitter_2014/article/details/46622831</link><guid>https://blog.youkuaiyun.com/Bitter_2014/article/details/46622831</guid><author>Bitter_2014</author><pubDate>Wed, 24 Jun 2015 15:40:20 +0800</pubDate><description><![CDATA[首先是获取设备型号、设备SDK版本以及设备的系统版本信息





[java] view
 plaincopy



String device_model = Build.MODEL; // 设备型号  
String version_sdk = Build.VERSION.SDK; // 设备SDK版本  
String version_release = Buil]]></description><category></category></item><item><title><![CDATA[Android屏幕适配]]></title><link>https://blog.youkuaiyun.com/Bitter_2014/article/details/46622819</link><guid>https://blog.youkuaiyun.com/Bitter_2014/article/details/46622819</guid><author>Bitter_2014</author><pubDate>Wed, 24 Jun 2015 15:39:45 +0800</pubDate><description><![CDATA[转载自：http://blog.sina.com.cn/s/blog_74c22b210100tn3o.html




如何将一个应用程序适配在不同的手机上，虽然这不算是一个技术问题，但是对于刚刚做屏幕的开发人员来说，还真不是一件多么简单的事情。
 
首先：你需要在AndroidManifest.xml文件的元素如下添加子元素
supports-screens android:l]]></description><category></category></item><item><title><![CDATA[Android获取设备的基本服务信息]]></title><link>https://blog.youkuaiyun.com/Bitter_2014/article/details/46622795</link><guid>https://blog.youkuaiyun.com/Bitter_2014/article/details/46622795</guid><author>Bitter_2014</author><pubDate>Wed, 24 Jun 2015 15:37:28 +0800</pubDate><description><![CDATA[TelephonyManager提供了取得手机基本服务的信息的一种方式。因此应用程序可以使用TelephonyManager来探测手机基本服务的情况。
应用程序也可以注册listener来监听电话状态的改变。
我们不能对TelephonyManager进行实例化，只能通过如下的形式得到对其实例的引用：
Context.getSystemService(Context.TELEPHONY_SE]]></description><category></category></item><item><title><![CDATA[Android网络判断]]></title><link>https://blog.youkuaiyun.com/Bitter_2014/article/details/46622761</link><guid>https://blog.youkuaiyun.com/Bitter_2014/article/details/46622761</guid><author>Bitter_2014</author><pubDate>Wed, 24 Jun 2015 15:35:11 +0800</pubDate><description><![CDATA[很多联网应用在连接前都应该做检测；在没有网络的时候，要及时的提醒用户，避免用户长时间无谓的等待~


代码如下：



[java] view
 plaincopy



ConnectivityManager manager = (ConnectivityManager) getSystemService(CONNECTIVITY_SERVICE);    
     ]]></description><category></category></item><item><title><![CDATA[Android广播大全]]></title><link>https://blog.youkuaiyun.com/Bitter_2014/article/details/46622707</link><guid>https://blog.youkuaiyun.com/Bitter_2014/article/details/46622707</guid><author>Bitter_2014</author><pubDate>Wed, 24 Jun 2015 15:32:47 +0800</pubDate><description><![CDATA[<!--
				收发短信、SIM卡存储已满、WAP PUSH的接收事件,
				需要android.permission.RECEIVER_SMS及android.permission.RECEIVER_MMS权限
			-->
			
				
				
				<!--
					SMS_REJECTED:An incoming SMS has been rejected by the t]]></description><category></category></item><item><title><![CDATA[android开机自启动]]></title><link>https://blog.youkuaiyun.com/Bitter_2014/article/details/46622689</link><guid>https://blog.youkuaiyun.com/Bitter_2014/article/details/46622689</guid><author>Bitter_2014</author><pubDate>Wed, 24 Jun 2015 15:30:52 +0800</pubDate><description><![CDATA[public class BootReceiver extends BroadcastReceiver {
static final String action_boot="android.intent.action.BOOT_COMPLETED";
 
    @Override
    public void onReceive(Context context, Intent inte]]></description><category></category></item><item><title><![CDATA[android沉浸式状态栏和虚拟按键]]></title><link>https://blog.youkuaiyun.com/Bitter_2014/article/details/46439405</link><guid>https://blog.youkuaiyun.com/Bitter_2014/article/details/46439405</guid><author>Bitter_2014</author><pubDate>Wed, 10 Jun 2015 11:04:20 +0800</pubDate><description><![CDATA[在java代码中：
public class MainActivity extends Activity {

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		requestWindowFeature(Window.FEATURE_NO]]></description><category></category></item><item><title><![CDATA[心情记录-2015年5月26日 13:34:26]]></title><link>https://blog.youkuaiyun.com/Bitter_2014/article/details/46006917</link><guid>https://blog.youkuaiyun.com/Bitter_2014/article/details/46006917</guid><author>Bitter_2014</author><pubDate>Tue, 26 May 2015 13:34:34 +0800</pubDate><description><![CDATA[之前在一家外包公司工作，码代码，每天搞到后半夜，实在太累，很久没更新博客了，今天换了家公司，忙里偷闲，更新了下博客的内容，还有很多东西没有整理，慢慢来，把发表博客帮助新人作为一份责任。有责任才会成长。不多唠叨了，继续整理代码，还要忙公司的项目。


                                                      Bitter          20]]></description><category></category></item><item><title><![CDATA[读取短信自动填写验证码功能]]></title><link>https://blog.youkuaiyun.com/Bitter_2014/article/details/46006895</link><guid>https://blog.youkuaiyun.com/Bitter_2014/article/details/46006895</guid><author>Bitter_2014</author><pubDate>Tue, 26 May 2015 13:33:06 +0800</pubDate><description><![CDATA[//权限
 uses-permission android:name ="android.permission.RECEIVE_SMS" />
//注册广播

IntentFilter filter = new IntentFilter();
filter.addAction( "android.provider.Telephony.SMS_RECEIVED" );
filter.se]]></description><category></category></item><item><title><![CDATA[ScrollView滚动到底部]]></title><link>https://blog.youkuaiyun.com/Bitter_2014/article/details/46006887</link><guid>https://blog.youkuaiyun.com/Bitter_2014/article/details/46006887</guid><author>Bitter_2014</author><pubDate>Tue, 26 May 2015 13:30:45 +0800</pubDate><description><![CDATA[使用fullScrol()
下面我们看一下这个函数:
scrollView.fullScroll(ScrollView.FOCUS_DOWN);滚动到底部
scrollView.fullScroll(ScrollView.FOCUS_UP);滚动到顶部
需要注意的是，该方法不能直接被调用
因为Android很多函数都是基于消息队列来同步，所以需要一部操作，
addView完之后，不等于]]></description><category></category></item><item><title><![CDATA[android开源项目]]></title><link>https://blog.youkuaiyun.com/Bitter_2014/article/details/46006867</link><guid>https://blog.youkuaiyun.com/Bitter_2014/article/details/46006867</guid><author>Bitter_2014</author><pubDate>Tue, 26 May 2015 13:30:08 +0800</pubDate><description><![CDATA[蘑菇街 -- TeamTalk ：    https://github.com/mogujie/TeamTalk   -->http://bluefoxah.org/teamtalk/new_tt_deploy.html
Facebook- Fresco图片加载 
： http://fresco-cn.org/
掌握并熟练使用常见的开源项目：actionbarsherlock ,slidin]]></description><category></category></item><item><title><![CDATA[android应用程序中获取view的位置]]></title><link>https://blog.youkuaiyun.com/Bitter_2014/article/details/46006859</link><guid>https://blog.youkuaiyun.com/Bitter_2014/article/details/46006859</guid><author>Bitter_2014</author><pubDate>Tue, 26 May 2015 13:29:22 +0800</pubDate><description><![CDATA[我们重点在获取view的y坐标,你懂的...
依次介绍以下四个方法:
 
1.getLocationInWindow
 

Java代码  


int[] position = new int[2];  
textview.getLocationInWindow(position);  
System.out.println("getLocationInWindow:" +]]></description><category></category></item><item><title><![CDATA[Android 获得view的宽和高]]></title><link>https://blog.youkuaiyun.com/Bitter_2014/article/details/46006833</link><guid>https://blog.youkuaiyun.com/Bitter_2014/article/details/46006833</guid><author>Bitter_2014</author><pubDate>Tue, 26 May 2015 13:27:18 +0800</pubDate><description><![CDATA[在oncreate()中利用view.getWidth()或是view.getHeiht()来获取view的宽和高，看似没有问题，其实他们去得值是0，并不是你想要的结果？
这是为什么呢？
在调用oncreate()方法时，界面处于不可见状态，内存加载组件还没有绘制出来，你是无法获取他的尺寸。
那如何在绘制组件之前能获取到该组件的尺寸大小呢？
这里有三种方法，经过验证的：
方法一 ：
/]]></description><category></category></item></channel></rss>