![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
android
文章平均质量分 61
醉挑珠帘
find out myself and control my world
展开
-
记录一次发生在Android上的SSLHandshakeException。
前提条件:1. Server架在了新加坡 2. Server做了反代3. 证书由CA认证签发,不是自签名证书 问题现象:1. API请求全部报 javax.net.ssl.SSLHandshakeException: java.security.cert.CertPathValidatorException: Trust anchor for certificati...原创 2018-11-14 17:55:25 · 1475 阅读 · 0 评论 -
android 飞行模式 注册广播后 三种状态监听
[html] view plaincopypublic class MainActivity extends Activity implements OnClickListener { private static final String TAG = "MainActivity"; private int airState;转载 2014-05-05 11:10:11 · 2306 阅读 · 0 评论 -
NFC 前台分发机制
NFC两种注册 nfc标签前台分发系统之所以把他也归类在nfc的过滤里面,主要是因为他跟解析nfc标签到不是那么的紧密,他解决的是接受哪些nfc标准的标签问题。所以更接近nfc的过滤。什么叫nfc的前台发布系统?就是说当我们已经打开我们的应用的时候,那么通过这个前台发布系统的设置,我们可以让我们已经启动的activity拥有更高的优先级来依据我们在代码中定义的标准来过滤原创 2014-08-13 09:51:40 · 1270 阅读 · 0 评论 -
Android 未接来电及未读短彩信的监听实现
public class PhoneConstants { /** * The phone state. One of the following: * * IDLE = no phone activity * RINGING = a phone call is ringing or call waiting. * In原创 2014-10-22 16:33:10 · 1499 阅读 · 0 评论 -
为什么调用 FragmentPagerAdapter.notifyDataSetChanged() 并不能更新其 Fragment?
为什么调用 FragmentPagerAdapter.notifyDataSetChanged() 并不能更新其 Fragment?在一个 Android 应用中,我使用 FragmentPagerAdapter 来处理多 Fragment 页面的横向滑动。不过我碰到了一个问题,即当 Fragment 对应的数据集发生改变时,我希望能够通过调用 mAdapter.notifyDat转载 2014-04-22 18:56:26 · 1042 阅读 · 0 评论 -
Android中的PopupWindow详解
Android的对话框有两种:PopupWindow和AlertDialog。它们的不同点在于:AlertDialog的位置固定,而PopupWindow的位置可以随意AlertDialog是非阻塞线程的,而PopupWindow是阻塞线程的PopupWindow的位置按照有无偏移分,可以分为偏移和无偏移两种;按照参照物的不同,可以分为相对于某个控件(Anchor锚)和相对于父控件。具转载 2014-04-23 15:54:56 · 613 阅读 · 0 评论 -
ListView IllegalStateException
贴出源码:android.widget.ListView...if(mItemCount == 0){ resetList(); invokeOnItemScrollListener(); return;}else if(mItemCount != mAdapter.getCount()){ throw new IllegalStateException("The conte原创 2014-06-13 15:00:47 · 1223 阅读 · 0 评论 -
android 反编译
在学习Android开发的过程你,你往往会去借鉴别人的应用是怎么开发的,那些漂亮的动画和精致的布局可能会让你爱不释手,作为一个开发者,你可能会很想知道这些效果界面是怎么去实现的,这时,你便可以对改应用的APK进行反编译查看。下面是我参考了一些文章后简单的教程详解。(注:反编译不是让各位开发者去对一个应用破解搞重装什么的,主要目的是为了促进开发者学习,借鉴好的代码,提升自我开发水平。)转载 2014-09-16 11:24:55 · 523 阅读 · 0 评论 -
NFC功能介绍及MifareClassic类型的读取数据例子
NFC NFC即近场通讯功能,NFC是Near Field Communication缩写,即近距离无线通讯技术。由飞利浦公司和索尼公司共同开发的NFC是一种非接触式识别和互联技术,可以在移动设备、消费类电子产品、PC 和智能控件工具间进行近距离无线通信。NFC 提供了一种简单、触控式的解决方案,可以让消费者简单直观地交换信息、访问内容与服务。NFC技术允许电子设备之间进行非接触式点对点数据传原创 2014-02-20 09:46:31 · 8136 阅读 · 0 评论 -
android中的跨进程通信的实现(一)——远程调用过程和aidl
android在设计理念上强调组件化,组件之间的依赖性很小。我们往往发一个intent请求就可以启动另一个应用的activity,或者一个你不知道在哪个进程的service,或者可以注册一个广播,只要有这个事件发生你都可以收到,又或者你可以查询一个contentProvider获得你想要的数据,这其实都需要跨进程通信的支持。只是android将其封装的如此简单,应用开发者甚至完全不用关注它是不是和转载 2014-04-23 15:47:05 · 586 阅读 · 0 评论 -
Android跨进程通信的四种方式
由于android系统中应用程序之间不能共享内存。因此,在不同应用程序之间交互数据(跨进程通讯)就稍微麻烦一些。在android SDK中提供了4种用于跨进程通讯的方式。这4种方式正好对应于android系统中4种应用程序组件:Activity、Content Provider、Broadcast和Service。其中Activity可以跨进程调用其他应用程序的Activity;Content P转载 2014-04-23 15:25:41 · 751 阅读 · 0 评论 -
Android横竖屏切换总结
Android横竖屏要解决的问题应该就两个:一.布局问题二.重新载入问题1.布局问题:如果不想让软件在横竖屏之间切换,最简单的办法就是在项目的AndroidManifest.xml中找到你所指定的activity中加上android:screenOrientation属性,他有以下几个参数:"unspecified":默认值 由系统来判断显示方向.判定的策略转载 2014-04-23 15:28:04 · 583 阅读 · 0 评论 -
Smack4.1 + OkHttp3 在Android上开启SSL
1.Smack开启SSL2.Okhttp3开启SSL原创 2016-06-07 10:19:52 · 3059 阅读 · 2 评论 -
非静态内部类/匿名类引起的Memory Leak
在最近使用okhttp3的过程中,使用LeakCanary检查发现引起了memory leak,排查后发现泄露发生在okhttp3.Callback中,顺便学习了非静态内部类/匿名类引起的内存泄漏问题,现摘录如下。在JAVA中,非静态内部类/匿名类会隐式的持有外部类的引用,如果是外部类是Activity,在退出Activity后,系统不能回收Activity的资源, 导致内存泄漏。 解决这一问题原创 2016-05-20 11:25:09 · 2204 阅读 · 0 评论 -
RxJava&RxAndroid学习
RxJava&RxAndroid,Retrofit数据库原创 2016-05-13 10:58:18 · 431 阅读 · 0 评论 -
Android跨进程通信的四种方式
由于android系统中应用程序之间不能共享内存。因此,在不同应用程序之间交互数据(跨进程通讯)就稍微麻烦一些。在android SDK中提供了4种用于跨进程通讯的方式。这4种方式正好对应于android系统中4种应用程序组件:Activity、Content Provider、Broadcast和Service。其中Activity可以跨进程调用其他应用程序的Activity;Content P转载 2015-08-22 21:20:49 · 680 阅读 · 0 评论 -
安卓转屏实现4个方向+详细解释
Activity中设置屏幕方向的方法是setRequestedOrientation(int);这个方法接收一个整数,这个整数的值由ActivityInfo的常量类提供。现举出4个方向上的值0 landscape1 portrait8 reverseLanscape9 reversePortrait5 nosensor4 sensor怎么设置屏幕方向的方法有了,原创 2015-08-22 21:20:37 · 2415 阅读 · 0 评论 -
setDescendantFocusability,在父View和子View间处理焦点关系
这个函数是在ViewGroup里定义的,主要用于控制child View获取焦点的能力,比如是否阻止child View获取焦点。 他有三个常量可供设置 FOCUS_BEFORE_DESCENDANTS ViewGroup本身先对焦点进行处理,如果没有处理则分发给child View进行处理FOCUS_AFTER_DESCENDANTS 先分发给Child View进行处理,如转载 2014-06-04 18:01:12 · 1710 阅读 · 0 评论 -
Android Adpater中的notifyDataSetChanged和notifyDataSetInvalidated 无效原因
某日在转载 2014-06-13 17:55:59 · 1461 阅读 · 0 评论 -
Android—UI之DatePicker、TimePicker
这一篇博客分别讲解Android平台下,关于日期和时间的几个相关控件。包括DatePicker(日期选择控件)、TimePicker(时间选择控件)、DatePickerDialog(日期选择对话框)、TimePickerDialog(时间选择对话框)、AnalogClock(模拟时钟控件)、DigitalClock(数字时钟控件)。对于时间控件,无非就是一个展示、修改、获取等*作,下面一一讲解。原创 2014-04-23 15:31:52 · 864 阅读 · 0 评论 -
调用 FragmentPagerAdapter.notifyDataSetChanged() 并不能更新其 Fragment之我的解决方法
private class ViewPagerAdapter extends FragmentPagerAdapter { FragmentManager mFragmentManager; FragmentTransaction mCurTransaction; public ViewPagerAdapter(FragmentManager fragme原创 2014-04-23 12:49:01 · 2413 阅读 · 2 评论 -
android 在新建短信时,加入名称为","(英文逗号)的联系人时,应用崩溃的修改
请修改文件/alps/frameworks/ex/chips/src/com/android/ex/chips/RecipientAlternatesAdapter.javaprivate static Cursor queryAddressData(Context context, ArrayList addressesList, int addressType)把这里:转载 2014-02-27 14:41:58 · 667 阅读 · 0 评论 -
Android学习笔记——关于onConfigurationChanged
从事Android开发,免不了会在应用里嵌入一些广告SDK,在嵌入了众多SDK后,发现几乎每个要求在AndroidManifest.xml申明Activity的广告SDK都会要求加上注明这么一句属性:android:configChanges="orientation|keyboard|keyboardHidden" 通过查阅Android API可以得知android:onCo转载 2014-03-11 11:49:31 · 612 阅读 · 0 评论 -
MediaButtonReceiver
在Android中并没有定义MediaButtonReceive这个广播类,MediaButtonReceive只是作为一种通俗的命名方式来响应 插入耳机后,点击耳机上的按钮(名称:MEDIA_BUTTON)接受该广播事件的类。所有该MEDIA_BUTTON的按下我们就简称 为MEDIA_BUTTON广播吧。 顾名思义:它显然是一个转载 2014-02-26 14:32:32 · 1402 阅读 · 0 评论 -
Android 蓝牙
蓝牙是一种支持设备短距离传输数据的无线技术。android在2.0以后提供了这方面的支持。从查找蓝牙设备到能够相互通信要经过几个基本步骤(本机做为服务器):1.设置权限在manifest中配置 2.启动蓝牙 首先要查看本机是否支持蓝牙,获取BluetoothAdapter蓝牙适配器对象BluetoothAdapter mBluetoothAdapter =转载 2014-02-27 14:34:34 · 605 阅读 · 0 评论 -
Android Animation学习笔记 rotate scale translate alpha
无意中搜到的一篇非常有深度和条例的博文,转载过来。做下标记,方便以后查询原文地址 http://www.cnblogs.com/feisky/archive/2010/01/11/1644482.html关于动画的实现,Android提供了Animation,在Android SDK介绍了2种Animation模式: 1. Tween Animation:通过对场景里的对象不断转载 2014-02-19 15:01:37 · 1068 阅读 · 0 评论 -
Android 网络编程 Socket Http
在Android的网络通讯中,通常会使用Socket进行设备间数的数据通讯,使用Http来对网络数据进行请求。1、Socket(套接字)不管是有过Java开发经验还是.NET开发经验的同学都应该对Socket有或多或少的了解,常见的TCP或者UDP协议其实都是基于Socket来实现的。Socket是用于描述网络上的一个设备中的一个进程或者应用程序的,Socket由IP地址和端口转载 2014-02-27 16:08:38 · 673 阅读 · 0 评论 -
安卓屏幕唤醒与休眠
2个重要的类原创 2014-04-15 15:46:13 · 1605 阅读 · 0 评论 -
Android 4.4 Browser set most visited at home page 实现
本文只分析当主页为Most Visited时的实现。Tab.java中实现了WebViewClient的shouldInterceptRequest接口,该函数为回调函数,最终由native代码调用。调用过程为shouldInterceptRequest() CallbackProxy.java Tab.javapublic WebResourceResponse sh转载 2014-03-19 13:42:42 · 3757 阅读 · 0 评论 -
接受广播BroadcastReceiver
转载---》http://uule.iteye.com/blog/1707341Broadcast Receiver用于接收并处理广播通知(broadcast announcements)。多数的广播是系统发起的,如地域变换、电量不足、来电来信等。程序也可以播放一个广播。程序可以有任意数量的 broadcast receivers来响应它觉得重要的通知。broadcast rece转载 2014-03-03 15:55:37 · 826 阅读 · 0 评论 -
安卓转屏实现4个方向+变换坐标原点位置
Activity中设置屏幕方向的方法是setRequestedOrientation(int);这个方法接收一个整数,这个整数的值由ActivityInfo的常量类提供。现举出4个方向上的值0 landscape1 portrait8 reverseLanscape9 reversePortrait5 nosensor4 sensorSensorManager原创 2014-03-03 09:11:26 · 3137 阅读 · 0 评论 -
PreferenceActivity中添加自定义布局文件需要注意的地方
1.PreferenceActivity 介绍android开发中一共为我们提供了4个组件,分别是CheckBoxPreference组件、EditTextPreference组件、 ListPreference组件、RingtonePreference组件下面分别介绍1.) CheckBoxPreference组件CheckBoxPreference 选中为true 取消选中为f转载 2014-02-19 14:53:53 · 3369 阅读 · 0 评论 -
Intent系统广播集合
Intent.ACTION_AIRPLANE_MODE_CHANGED;//关闭或打开飞行模式时的广播Intent.ACTION_BATTERY_CHANGED;//充电状态,或者电池的电量发生变化//电池的充电状态、电荷级别改变,不能通过组建声明接收这个广播,只有通过Context.registerReceiver()注册Intent.ACTION_BATTERY_LOW转载 2014-04-15 12:49:43 · 703 阅读 · 0 评论 -
耳机按键事件的监听
注册监听,监听Intent.ACTION_MEDIA_BUTTON,后台处理按键事件,有优先级,有可能被拦截,接收不到按键事件。 实现方式如下: 1、注册监听Intent.ACTION_MEDIA_BUTTON,代码如下: IntentFilter mediafilter = new IntentFilter(); //拦截按键转载 2014-02-26 14:31:21 · 2003 阅读 · 0 评论 -
outgoing calls and incoming calls
呼出电话与呼入电话在安卓系统中的不同处理方式This is never launched directly from outside the phone app ,instead,it's either launched by the OutgoingCallBroadcaster(for outgoing calls) ,or as the FullScreenIntent of a n原创 2014-02-24 13:54:15 · 1061 阅读 · 0 评论 -
UICC,USIM卡与SIM的区别
SIM卡(Subscriber Identity Module) ,即用户识别卡,是全球通数字移动电话的一张个人资料卡。它采用A 级加密方法制作,存储着用户的数据、鉴权方法及密钥,可供GSM系统对用户身份进行鉴别。同时,用户通过它完成与系统的连接和信息的交换。移动电话只有装上SIM卡才能使用。“SIM卡”有大小之分,功能完全相同,分别适用于不同类型的GSM移动电话。SIM卡可以插入任何一部转载 2014-04-09 09:50:44 · 1767 阅读 · 0 评论 -
AsyncTack
在开发Android移动客户端的时候往往要使用多线程来进行操作,我们通常会将耗时的操作放在单独的线程执行,避免其占用主线程而给用户带来不好的用户体验。但是在子线程中无法去操作主线程(UI 线程),在子线程中操作UI线程会出现错误。因此android提 供了一个类Handler来在子线程中来更新UI线程,用发消息的机制更新UI界面,呈现给用户。这样就解决了子线程更新UI的问题。但是费时的任务操作转载 2014-01-17 09:57:04 · 656 阅读 · 0 评论 -
如何检测耳机的插入状态
1.原理:其实android系统在耳机插入和拔出的时候都会发送广播,所以我们要想检测耳机的状态只需要注册响应的BroadCastReceiver,对状态进行响应的判断就ok了。这个广播的名字叫做:android.intent.action.HEADSET_PLUG注意,在manifest.xml里面要添加响应的权限:1)...注意,广播要在java文件中动态注册。2)...转载 2014-02-27 14:23:06 · 2383 阅读 · 1 评论 -
使用QuickContactsBadge查询联系人时需要注意的事项
long contactId = cursor.getLong(QUERY_CONTACT_ID); String lookupKey = cursor.getString(QUERY_LOOKUP_KEY);原创 2014-04-08 11:13:20 · 646 阅读 · 0 评论 -
notification
注意,NotificationManager里的notify(id,notification)中的id是用来唯一标识我们当前的这个notification的标识符,我们通过cancel方法删除通知时,传递的就是这个值。可能读者在看很多文档的时候,发现这个地方指定了一个莫名奇妙的值,例如R.drawable.icon,很多朋友就纳闷了,为什么这里要指定一个图片呢。这里笔者就介绍下,为什么呢? 答翻译 2014-03-03 16:44:48 · 779 阅读 · 1 评论