自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(23)
  • 资源 (2)
  • 收藏
  • 关注

原创 Android仿网易云音乐中锁屏后在开锁界面插屏功能

这个功能实现起来应该有多种方式,可以使用WindowManager创建window的方法。 在本文中我们使用开启一个Activity来充当锁屏界面。 实现步骤有以下两步: 一、后台开启一个Service,监听屏幕锁屏广播。 二、当屏幕熄灭,收到广播后,开启充当锁屏界面的Activity。 实现思路就是这么简单,但具体细节需要说说。首先开启Service。Intent service = n

2016-05-18 17:04:09 7830 2

原创 Android中跨进程通信方式之使用AIDL一些小细节

一、使用Binder连接池 当业务模块很多时,需要很多个AIDL,按照之前的方式那么一个AIDL需要创建一个Service,使用很多Service使得应用很重量级。我们只需要一个Service,服务端提供一个queryBinder接口,用来返回当前业务需要的Binder,根据这个Binder可以调用远程方法了。 所以Binder连接池的作用是将每个业务的Binder请求统一转发到一个Servic

2016-05-11 20:24:19 839

原创 Android中跨进程通信方式之使用AIDL进阶篇

本文分析上一篇《Android中跨进程通信方式之使用AIDL》中IUserManager的内部结构。package com.example.aidl;public interface IUserManager extends android.os.IInterface { /** Local-side IPC implementation stub class. */ public

2016-05-11 14:45:02 547

原创 Android中跨进程通信方式之使用AIDL

首先创建一个User.java文件,实现Parcelable接口以用来进程间的对象传递package com.example.aidl;import android.os.Parcel;import android.os.Parcelable;public class User implements Parcelable{ private String username; priv

2016-05-11 13:46:37 432

原创 Android中跨进程通信方式之使用Messenger

服务端MessengerService的process属性指定它的进程跟MainActivity不在一个进程 <service android:name="com.example.activity.MessengerService" android:process="com.example.activity.remote" >

2016-05-10 14:20:42 935

原创 Android中跨进程通信方式之使用文件共享

一、使用Serializable序列化对象import java.io.Serializable;public class User implements Serializable{ private static final long serialVersionUID = 1L; private String username; private String passwor

2016-05-09 21:02:05 1435

原创 Android中跨进程通信方式之使用Bundle

一、开启多进程方式 <activity android:name="com.example.activity.SecondActivity" android:process="com.example.activity.remote"> </activity>process属性指定SecondActivity所在的进程是

2016-05-09 17:06:47 2406

原创 Activity的启动模式

android:launchMode="standard"标准模式,默认情况下Activity的启动模式就是标准模式,以下用ABCD表示四个不同的Activity。 标准模式下,每次启用Activity会为这个Activity产生一个实例,不管该Activity是否已经在当前Activity任务栈中存在。android:launchMode="singleTop"栈顶复用模式。比如当前Activi

2016-05-09 16:23:52 899 2

原创 Activity的生命周期,异常恢复数据

Activity的生命周期正常情况下,Activity第一次启动会执行如下三个方法:onCreat()onStart()onResume()在当前Activity不可见时,比如跳到另一个Activity或者按下home键,当前Activity从onResume()状态依次变为onPause()onStop()

2016-05-09 15:44:31 480

原创 排序算法之堆排序

堆排序是构建最大堆后,将堆顶元素(最大数)与最后一个元素交换,然后将剩下的数重新构建最大堆,再将当前堆中的堆顶元素与最后一个元素交换,直至当前堆中无元素为止。 为了方便表示堆的左右孩子,我们使元素角标从1开始,假如s表示父亲结点,那么左孩子2s,右孩子2s+1 private static void heapSort(int[] a,int n) { //第一次构建最大堆

2016-04-05 12:14:18 299

原创 排序算法之快速排序

快速排序是每次选择锚点,然后将比锚点小的数放到锚点的左边,大的数放到右边。然后递归将锚点左边的数,继续选择锚点,比锚点小的数放到锚点的左边,大的数放到右边。同理递归锚点右边的数。直至剩下一个数为止。由于锚点的选择会影响快速排序的效率,最差情况下,假如锚点左边没有数,那么锚点右边就是整个数组,这样情况下时间复杂度为n*n。为了避免这种情况,我们选择数组中first,mid,last的中位数作为锚点

2016-03-31 22:29:22 294

原创 排序算法之归并排序

归并排序是将数组二分,二分,直至分得的大小为1为止。然后按序合并分开的数组。 private static int[] mergeSort(int a[],int first,int last){ if(first < last){ int mid = (first + last)/2; return merge(mergeSor

2016-03-31 20:32:57 249

原创 排序算法之希尔排序

希尔排序是对直接插入排序的改进。直接插入排序是无距离的比较, 而希尔排序是将数组分距离比较,直到这个距离为1为止。 private static void xierSort(int[] a){ int temp,j; int gap = a.length; do{ gap = gap/3 + 1;

2016-03-30 20:35:04 251

原创 排序算法之直接插入排序

直接插入排序是将数组分成有序和无序两部分,每次将当前未排序的数和有序部分比较,移动有序部分,找到未排序数的插入点。 private static void insertionSort(int[] a, int first, int end) { for (int i = first + 1; i <= end; i++) { int firstUnsor

2016-03-30 17:52:49 412

原创 排序算法之选择排序

选择排序的思想是将数组a[0]和之后的数比较,选择出最小的和a[0]交换,然后忽略a[0],再将a[1]和之后的数比较,选择最小的和a[1]交换,直到a[n-1]和a[n]比较。private static void selectionSort(int[] a) { for (int i = 0; i < a.length - 1; i++) { int sm

2016-03-30 17:42:09 281

原创 排序算法之冒泡排序

冒泡排序是排序算法中入门级算法。 其主要思想是相邻两个数之间两两比较,小的冒泡到上面。 如果有n个元素则比较n-1次,每一轮少比较一次。 private static void bubbleSort(int[] a) { for (int i = 0; i < a.length - 1; i++) { for (int j = a.length -

2016-03-30 17:27:05 269

原创 hashCode散列码

基本数据类型包装类的散列码: byte、char、short等就是转换成int值 long是64位的,而int是32位的,直接转换会丢弃数据。 java中采用value^(value>>32)得到long转换的散列码 举个例子: 10101100 右移四位后00001010 成功将低四位值去除,

2016-01-15 14:48:54 545

原创 机器学习KNN算法原理及实现

KNN->>K近邻算法 已知训练样本的类别,输入新的样本即测试样本,对测试样本进行分类 1、求测试样本跟训练样本的距离 2、找出距离最小的K个测试样本 3、得到这K个测试样本出现最多的类标 4、根据类标分类测试样本。__author__ = 'admin'from numpy import *import operatordef creatDataSet(): group

2016-01-07 19:08:46 646

原创 WebView 的用法

WebView 的用法WebView webView = (WebView) findViewById(R.id.wv_web); progress = (ProgressBar) findViewById(R.id.pb_progress); String url = getIntent().getStringExtra("url"); WebSe

2015-11-07 18:27:22 346

原创 学习心得(三)

ViewPager的指示器,使用ViewPagerIndicator。 滑动事件的处理: 事件:dispatch ->intercept-> ontouch 分发事件的用法: 如果父控件拦截了(intercept retrun true,或者天然就要处理事件)子控件的事件,那么子控件将响应不到事件的传递。这时候可以在子控件dispatch方法中getParent().requestdisal

2015-11-07 12:31:27 313

原创 学习心得(二)

主页面的RadioButton 去调Button:android:button=”@null” 字体居中:android:gravity=”center_horizontal” 上方图片:android:drawableTop 设置drawableTop和text的选择器android:state_checked=”true” ViewPager和RadioGroup互相监听: radi

2015-11-06 22:33:11 355

原创 状态栏沉浸

状态栏沉浸是安卓4.4以上新功能,这里使用github上开源项目,SystemBarTint来实现。 在你的Activity中创建对象并设置颜色 SystemBarTintManager manager = new SystemBarTintManager(this); manager.setNavigationBarTintEnabled(true); manag

2015-11-06 12:58:15 283

原创 学习心得(一)

day01 Splash界面 让一个布局播放一个动画。 动画–>animation 布局配置和代码配置 布局配置:res目录下创建anim文件夹, 多个动画一起播用将动画包起来。 pivotX属性表示当前动画的锚点,%表示相对于自己。相对于自己一定要用到%,比如50%就是自己的中心,100%自己的最大值,0自己的起始值。属性是动画播完后保持播完后的样子。

2015-11-04 22:16:56 288

MySQL-python-1.2.5.win-amd64-py2.7 亲测可用版

MySQL-python-1.2.5.win-amd64-py2.7 亲测可用版 有效解决安装mysql-python时遇到的error: Unable to find vcvarsall.bat问题,哎,安装mingw什么的,都是浮云啊(搞了一个星期都没有成功啊)!还是这个有用!

2017-11-24

模式识别 c均值算法

C均值算法 模式识别 可以实现图像分割,数据分类等任务

2013-05-14

空空如也

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

TA关注的人

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