自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Mikes的专栏

问题备忘录

  • 博客(64)
  • 资源 (1)
  • 收藏
  • 关注

原创 记录一次发生在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 1452

原创 Smack4.1 + OkHttp3 在Android上开启SSL

1.Smack开启SSL2.Okhttp3开启SSL

2016-06-07 10:19:52 3037 2

原创 非静态内部类/匿名类引起的Memory Leak

在最近使用okhttp3的过程中,使用LeakCanary检查发现引起了memory leak,排查后发现泄露发生在okhttp3.Callback中,顺便学习了非静态内部类/匿名类引起的内存泄漏问题,现摘录如下。在JAVA中,非静态内部类/匿名类会隐式的持有外部类的引用,如果是外部类是Activity,在退出Activity后,系统不能回收Activity的资源, 导致内存泄漏。 解决这一问题

2016-05-20 11:25:09 2194

原创 RxJava&RxAndroid学习

RxJava&RxAndroid,Retrofit数据库

2016-05-13 10:58:18 426

转载 Android跨进程通信的四种方式

由于android系统中应用程序之间不能共享内存。因此,在不同应用程序之间交互数据(跨进程通讯)就稍微麻烦一些。在android SDK中提供了4种用于跨进程通讯的方式。这4种方式正好对应于android系统中4种应用程序组件:Activity、Content Provider、Broadcast和Service。其中Activity可以跨进程调用其他应用程序的Activity;Content P

2015-08-22 21:20:49 673

原创 安卓转屏实现4个方向+详细解释

Activity中设置屏幕方向的方法是setRequestedOrientation(int);这个方法接收一个整数,这个整数的值由ActivityInfo的常量类提供。现举出4个方向上的值0 landscape1 portrait8 reverseLanscape9 reversePortrait5 nosensor4 sensor怎么设置屏幕方向的方法有了,

2015-08-22 21:20:37 2400

原创 groovy入门 环境搭建以及HelloWorld实现

一 Groovy环境搭建WIndowsgroovy下载地址如下:http://groovy.codehaus.org/Download

2014-11-23 16:44:45 5249

转载 JAVA8 闭包

一、闭包的定义。 有很多不同的人都对闭包过进行了定义,这里收集了一些。  # 是引用了自由变量的函数。这个函数通常被定义在另一个外部函数中,并且引用了外部函数中的变量。 -- wikipedia>>  # 是一个可调用的对象,它记录了一些信息,这些信息来自于创建它的作用域。-- >  # 是一个匿名的代码块,可以接受参数,并返回一个返回值,也可以引用和使用在它周围的,可见域中定

2014-11-23 16:33:23 2474 1

原创 单个项目更改蓝牙默认名称的方法

最近做一个项目,需要更改蓝牙默认,现将悲惨的寻找历史记录下来,以待

2014-10-30 14:49:26 4098

原创 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 1484

转载 android 反编译

在学习Android开发的过程你,你往往会去借鉴别人的应用是怎么开发的,那些漂亮的动画和精致的布局可能会让你爱不释手,作为一个开发者,你可能会很想知道这些效果界面是怎么去实现的,这时,你便可以对改应用的APK进行反编译查看。下面是我参考了一些文章后简单的教程详解。(注:反编译不是让各位开发者去对一个应用破解搞重装什么的,主要目的是为了促进开发者学习,借鉴好的代码,提升自我开发水平。)

2014-09-16 11:24:55 515

转载 Email正文webview加载方式

android.webkit.WebView/WebViewClient/WebChromeClient使用android.webkit.WebView控件在xml布局文件中定义  android:id=”@+id/webkit01”  android:layout:width=”fill_parent”  android:layout:height=”fill_p

2014-09-16 09:44:51 724

原创 NFC 前台分发机制

NFC两种注册 nfc标签前台分发系统之所以把他也归类在nfc的过滤里面,主要是因为他跟解析nfc标签到不是那么的紧密,他解决的是接受哪些nfc标准的标签问题。所以更接近nfc的过滤。什么叫nfc的前台发布系统?就是说当我们已经打开我们的应用的时候,那么通过这个前台发布系统的设置,我们可以让我们已经启动的activity拥有更高的优先级来依据我们在代码中定义的标准来过滤

2014-08-13 09:51:40 1246

转载 Android Adpater中的notifyDataSetChanged和notifyDataSetInvalidated 无效原因

某日在

2014-06-13 17:55:59 1451

原创 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 1218

转载 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 1686

转载 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 2288

转载 Android中的PopupWindow详解

Android的对话框有两种:PopupWindow和AlertDialog。它们的不同点在于:AlertDialog的位置固定,而PopupWindow的位置可以随意AlertDialog是非阻塞线程的,而PopupWindow是阻塞线程的PopupWindow的位置按照有无偏移分,可以分为偏移和无偏移两种;按照参照物的不同,可以分为相对于某个控件(Anchor锚)和相对于父控件。具

2014-04-23 15:54:56 609

转载 android中的跨进程通信的实现(一)——远程调用过程和aidl

android在设计理念上强调组件化,组件之间的依赖性很小。我们往往发一个intent请求就可以启动另一个应用的activity,或者一个你不知道在哪个进程的service,或者可以注册一个广播,只要有这个事件发生你都可以收到,又或者你可以查询一个contentProvider获得你想要的数据,这其实都需要跨进程通信的支持。只是android将其封装的如此简单,应用开发者甚至完全不用关注它是不是和

2014-04-23 15:47:05 579

转载 深入研究java.lang.ProcessBuilder类

一、概述      ProcessBuilder类是J2SE 1.5在java.lang中新添加的一个新类,此类用于创建操作系统进程,它提供一种启动和管理进程(也就是应用程序)的方法。在J2SE 1.5之前,都是由Process类处来实现进程的控制管理。      每个 ProcessBuilder 实例管理一个进程属性集。它的start() 方法利用这些属性创建一个新的 Process

2014-04-23 15:45:44 654

原创 Android—UI之DatePicker、TimePicker

这一篇博客分别讲解Android平台下,关于日期和时间的几个相关控件。包括DatePicker(日期选择控件)、TimePicker(时间选择控件)、DatePickerDialog(日期选择对话框)、TimePickerDialog(时间选择对话框)、AnalogClock(模拟时钟控件)、DigitalClock(数字时钟控件)。对于时间控件,无非就是一个展示、修改、获取等*作,下面一一讲解。

2014-04-23 15:31:52 852

转载 Android横竖屏切换总结

Android横竖屏要解决的问题应该就两个:一.布局问题二.重新载入问题1.布局问题:如果不想让软件在横竖屏之间切换,最简单的办法就是在项目的AndroidManifest.xml中找到你所指定的activity中加上android:screenOrientation属性,他有以下几个参数:"unspecified":默认值 由系统来判断显示方向.判定的策略

2014-04-23 15:28:04 577

转载 Android跨进程通信的四种方式

由于android系统中应用程序之间不能共享内存。因此,在不同应用程序之间交互数据(跨进程通讯)就稍微麻烦一些。在android SDK中提供了4种用于跨进程通讯的方式。这4种方式正好对应于android系统中4种应用程序组件:Activity、Content Provider、Broadcast和Service。其中Activity可以跨进程调用其他应用程序的Activity;Content P

2014-04-23 15:25:41 746

原创 调用 FragmentPagerAdapter.notifyDataSetChanged() 并不能更新其 Fragment之我的解决方法

private class ViewPagerAdapter extends FragmentPagerAdapter {     FragmentManager mFragmentManager;     FragmentTransaction mCurTransaction;        public ViewPagerAdapter(FragmentManager fragme

2014-04-23 12:49:01 2404 2

转载 为什么调用 FragmentPagerAdapter.notifyDataSetChanged() 并不能更新其 Fragment?

为什么调用 FragmentPagerAdapter.notifyDataSetChanged() 并不能更新其 Fragment?在一个 Android 应用中,我使用 FragmentPagerAdapter 来处理多 Fragment 页面的横向滑动。不过我碰到了一个问题,即当 Fragment 对应的数据集发生改变时,我希望能够通过调用 mAdapter.notifyDat

2014-04-22 18:56:26 1034

转载 Throwable学习

一.java异常类结构常用的CheckedException常用的RuntimeException 二.Throwable类源码 StackTraceElement。一个final类,代表栈轨迹中的元素,一个异常可能有多个元素。Java代码  public final class StackTraceElement implements ja

2014-04-18 20:28:03 781

原创 安卓屏幕唤醒与休眠

2个重要的类

2014-04-15 15:46:13 1588

转载 Intent系统广播集合

Intent.ACTION_AIRPLANE_MODE_CHANGED;//关闭或打开飞行模式时的广播Intent.ACTION_BATTERY_CHANGED;//充电状态,或者电池的电量发生变化//电池的充电状态、电荷级别改变,不能通过组建声明接收这个广播,只有通过Context.registerReceiver()注册Intent.ACTION_BATTERY_LOW

2014-04-15 12:49:43 701

转载 UICC,USIM卡与SIM的区别

SIM卡(Subscriber Identity Module) ,即用户识别卡,是全球通数字移动电话的一张个人资料卡。它采用A 级加密方法制作,存储着用户的数据、鉴权方法及密钥,可供GSM系统对用户身份进行鉴别。同时,用户通过它完成与系统的连接和信息的交换。移动电话只有装上SIM卡才能使用。“SIM卡”有大小之分,功能完全相同,分别适用于不同类型的GSM移动电话。SIM卡可以插入任何一部

2014-04-09 09:50:44 1725

原创 使用QuickContactsBadge查询联系人时需要注意的事项

long contactId = cursor.getLong(QUERY_CONTACT_ID); String lookupKey = cursor.getString(QUERY_LOOKUP_KEY);

2014-04-08 11:13:20 639

转载 安卓面试题库

1.什么是Activity? 通俗一点说Activity就是一个界面,这个界面里面可以放置各种控件。Activity的界面也是用xml文件表示的,放置在res->layout下面。每生成一个新的Activity后,我们需要在AndroidManifest.xml中注册一下这个activity。2.请描述一下Activity生命周期。onCreate(Bundle savedInstan

2014-03-31 15:37:17 967

转载 android打电话 接电话 挂电话流程分析

android打电话过程:1.TwelveKeyDialer.java,onKeyDown()->dialButtonPressed()2.OutgoingCallBroadcaster.java,onCreate()sendOrderedBroadcast(broadcastIntent, PERMISSION,                new OutgoingCall

2014-03-31 09:29:26 2065

转载 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 3746

转载 loadData和loadDataWithBaseUrl

在写WebView时,感觉LoadUrl太浪费流量,而且加载起来有点慢,就考虑用其它的方法来实现。在加载页面时,如果只加载数据,页面模板提前写好放到项目中,这样就可以来更快的加载页面,用户体验会好些。      如果不用loadUrl,省下的就只有LoadData和loadDataWithBaseURL了,下面来说下LoadData和loadDataWithBaseURL 的用法;

2014-03-18 16:54:09 4749

转载 android的AsyncTask分析

AsyncTask的介绍及基本使用方法关于AsyncTask的介绍和基本使用方法可以参考官方文档和Android实战技巧:多线程AsyncTask这里就不重复。AsyncTask引发的一个问题上周遇到了一个极其诡异的问题,一个小功能从网络上下载一个图片,然后放到ImageView中,是用AsyncTask来实现的,本身逻辑也很简单,仅是在doInBackground中用HTTP请求把图

2014-03-17 13:29:43 650

转载 android源生Browser分析(四)---Webkit部分

浏览器探究——webkit部分——WebKit平台相关层基本架构该部分研究的很浅,会有很多错误之处,请注意。这里主要先关注下Source/WebKit/android下的几个文件跟FrameWork层通过JNI关联的类在jni/目录下跟WebCore相关联的一些类在WebCoreSupport/目录下一些跟cache相关的和WebView对应的jni在nav/目录下 W

2014-03-17 13:18:53 1893

转载 android源生Browser分析(三)---Framework层

Framework层的主要功能Framework层的webkik主要起到提供给APP层一个WebView控件,WebSettings设置,WebViewClient回调,WebChromeClient回调。这些用于上层APP实现浏览网页的功能。而对于下层,通过native的接口与c++层的WebKit对接,把上层需求传递给WebKit,把WebKit的回调返回给上层或者自己做一些处理,因为

2014-03-17 13:17:26 2468

转载 android源生Browser分析(二)---APP层基本架构

App层的功能主要分几块:使用WebView的浏览器页面主体除WebView之外的UI页面的相关功能,如页内查找,前进,后退设置事件多窗口管理书签/历史记录 首先看构成主体框架的几个类BrowserActivityBrowserActivity继承自Activity,提供了对Browser应用生命周期的控制,事件的入口。这里的事件包括Key的事件,菜单的

2014-03-17 13:16:31 3634 3

转载 android源生Browser分析(一)--loadUrl APP层分析

文主要对browser 的java部分代码一个简单说明,主线基本上围绕着第一次打开 browser加载网页的流程展开, 同时顺便提了下App层几个主要类的关系。以便大家可以更快了解 browser的上层代码,然后腾出时间去关注 webkit部分代码。webkit部分代码可非常多哦。首先根据logcat 的日志信息或 brower应用的Androidmanifest.xml, 打开browser 第

2014-03-17 13:15:08 3218

转载 Android框架层漏洞-Fragment注入

谷歌在Android 4.4KitKat中提供的补丁添加了一个新的保护API,PreferenceActivity.isValidFragment,通过PreferenceActivity调用之前的动态实例Fragment (见图9)。这个isValidFragment方法必须覆写,否则默认实例将抛出异常,详情参考SDK Reference。我们希望开发人员正确地实现这个方法(例如white-li

2014-03-13 17:33:54 2888

NFC 标签读取APK NDEF格式工具

可以帮助查看带有NFC芯片的卡信息.比如上海地铁卡,沈阳地铁卡

2014-08-13

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除