自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(45)
  • 收藏
  • 关注

原创 android ipc通信机制之二序列化接口和Binder

IPC的一些基本概念,Serializable接口,Parcelable接口,已经Binder。此核心为最后的IBookManager.java类!!!Serializable接口,Parcelable接口都是可以完成对象的序列化过程。序列化 (Serialization)将对象的状态信息转换为可以存储或传输的形式的过程。在序列化期间,对象将其当前状态写入到临时或持久性存储区。以后,可以通

2021-03-23 09:41:09 194

原创 Echarts 出现不明竖线解决方案

Echarts出现了不明竖线,百思不得其解。去查相应的解决方案也没有找到。后来自己点来点去,突然感觉像是上一个Echarts遗留的。然后去Echarts官网看到了 clear()方法,这个方法可以清空画布。问题得到顺利解决:1.因为我需要再切换时需要保留原来的属性,所以先临时存储然后clear掉,2.然后把原来属性赋值回来3.然后重新设置option。希望对其他有类似问题的开发者提...

2018-09-11 15:16:00 100

原创 关于华为手机Log.d打印不出来log的问题

http://blog.csdn.net/picasso_l/article/details/52489560 拨号,进入后台设置,进行操作。

2018-03-16 15:20:00 45

原创 Java源码解读(一)——HashMap

  HashMap作为常用的一种数据结构,阅读源码去了解其底层的实现是十分有必要的。在这里也分享自己阅读源码遇到的困难以及自己的思考。HashMap的源码介绍已经有许许多多的博客,这里只记录了一些我看源码过程中的疑问,一些基础知识不再讲解。一:Hash值的来源和使用 1 public V put(K key, V value) {2 return putVal(hash(...

2018-01-06 15:25:00 39

原创 算法小题

在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。class Solution {public: bool Find(int target, vector<vector<int> > array) { int m = arr...

2017-05-04 18:14:00 21

原创 Python简单小程序练习

1.九九乘法表#!/usr/bin/python for i in range(1,10): for j in range(i): j += 1 print ("%d * %d = %-2d " %(i, j, i*j)), print ""2.水仙花#!/usr/bin/python l = []for a in rang...

2017-03-08 10:03:00 24

原创 TCP/IP协议栈(三)——linux 向下的报文处理

  应用程序连接服务器时,目的地套接字地址(端口号和IP地址)以参数形式传递给系统调用connect(tcp_v4_connect())。下面逐步介绍初始化该连接检查内核路由表,查找给定目的地IP地址路由表。该路由包含传出设备信息,如果没有传出设备,则初始化APR特定信息,并缓冲以便后用。若没有找到则返回错误。/** * 特殊的路由查找函数,用于TCP。 * 是对普通路由缓存查找函...

2017-01-31 12:33:00 22

原创 TCP协议(二)——TIME_WAIT状态

  当TCP主动关闭套接字时,采用四步握手机制来彻底关闭连接。如图: 客户端主动关闭连接,发送FIN段到服务端。TCP状态由ESTABLISHED(连接状态)转为FIN_WAIT1(表示,发送的FIN需要确认)。服务端接受FIN后,服务端的TCP状态由ESTABLISHED转为CLOSE_WAIT,并且回送ACK。客户端接受确认ACK后,TCP状态由FIN_WAIT1转化为F...

2017-01-31 10:49:00 24

原创 TCP协议滑动窗口(一)——控制大批量数据传输速率

  窗口大小:TCP头中一个16位的域,表示当前可用接受缓冲区大小。在每个TCP对等段连接初始化时,告诉对方自己的窗口大小(不一定是满额,假如满额65201字节,可能暂时通告5840字节)。若客户端接受数据速度大于客户端程序读取数据速度,那么会导致接收缓冲区充满,窗口大小减少为0,当服务器得知此消息时将不会发送数据。  TCP发送端发送数据时,并不是直接传输给接收端,而是先将数据复制到发送缓冲...

2017-01-20 17:55:00 40

原创 Linux文件系统inode、block解释权限(三)

  利用文件系统的inode和block来分析文件(目录)的权限问题。为什么读取一个文件还要看该文件路径所有目录的权限?为什么目录的w权限具有删除文件的能力,而文件w权限不行。  inode:记录文件的属性,一个文件占用一个inode,同时记录了文件数据所在的block号码。Ext3文件系统inode大小为128B,Ext4文件系统inode大小为256B。  block:记录了文件...

2016-11-28 14:51:00 22

原创 Linux 基本权限(一)

  1. 权限概念root@hang:/home# ll总用量 20#文件权限 链接数量 文件所有者 所属用户组 容量大小B 创建(修改)时间  文件名drwxr-xr-x 5    root    root    4096    11月 27 19:19    ./drwxr-xr-x 24    root    root    4096    11月 26 19:55    .....

2016-11-27 21:12:00 14

原创 android手机ping不通linux的ip地址

我的linux是装载虚拟机里的,修改虚拟机的网络连接方式为桥接模式即可。

2016-09-27 15:55:00 31

原创 解决NDK开发中Eclipse报错“Unresolved inclusion jni.h”的最终方法

http://blog.csdn.net/zhubin215130/article/details/39347873

2016-09-26 18:08:00 26

原创 VS2015生成64位dll文件

导入自己的源文件,准备生成DLL文件。也可以自己创建。右键项目,进入属性,修改Configuration Type 为 DLL。修改为64位,Configureation Manager ->->Active solution platform ,x新添加一个x64。 下面的会自动变为x64.然后运行,会生成一个x64\debug的目录,里面即为64位DL...

2016-09-23 11:37:00 80

原创 gdb简单调试~core文件

1.打开终端,进入项目目录,输入ulimit -a ,可以看core文件大小设置(第一行),若为0, 则没有打开core dump设置。2.ulimit -c unlimited ,core文件大小不限制。相应的,ulimit -c 200 ,core 大小为100K。可以看到,第一行变为unlimited~3.再次运行程序,再次出现你想要调试的错误。  这时也会生成一个core文件。...

2016-09-22 20:01:00 23

原创 Ubuntu ENet 的下载和编译

ENet的目的是提供一个相对轻便、简单和强大的网络通信层的UDP(用户数据报协议)。 它提供的主要功能是可选的、可靠的、顺序的数据包发送。ENet省略了一些更高层次的网络功能,如身份验证、加密,尤其特定于应用程序的其他类似任务。库文件灵活,轻便,容易嵌入。 1.下载ENet源文件git clone https://github.com/lsalzman/enet.git ...

2016-07-23 18:25:00 29

原创 Android LIstView初次创建getview方法执行多次问题

  写listview优化的时候,发现Listview初次创建的时候会多次执行getView方法。<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://s...

2016-06-30 20:29:00 23

原创 java/android线程池详解

一,简述线程池:线程池是如何工作的:一系列任务出现后,根据自己的线程池安排任务进行。如图: 线程池的好处:重用线程池中的线程,避免因为线程的创建和销毁所带来的性能开销。能有效控制线程池的最大并发数,避免大量的线程之间因互相抢占系统资源而导致的阻塞现象。能对线程进行简单的管理。并提供定时执行以及指定间隔循环执行等功能。线程池的具体实现为ThreadPoolExeutor,其接口...

2016-06-24 16:21:00 21

原创 Android优化系列之ListView优化老生常谈

本文内容:adapter,listview的优化,RecycleBi,google大会推荐优化,实现ListView的过程,Adapter起到了至关重要的作用,不仅仅因为getview()方法。那么,先从Adapter说起~Adapter:    它在ListView和数据源之间起到桥梁的作用,避免listview和数据源直接接触,而导致因为数据源的复杂性使listview显得臃肿。  ...

2016-06-18 03:06:00 25

原创 android Thread和Runable区别,精讲(有疑问)

网上总是说Runable和Thread可以实现线程,这导致我对Thread和Runable有错误的理解,谁让当时不求甚解,让我一直以为实现Runable可以开启线程。看过源码后进行区分这两者。无论怎么样,线程都是通过Thread创建的。其一:Runable只是一个接口,不会开启一个线程,依旧是运行在UI线程中。                     public interface ...

2016-06-13 20:33:00 21

原创 android ipc通信机制之之三,进程通讯方式。

IPC通讯方式的优缺点:IPC通讯方式的对比名称优点缺点适用场景Bundle简单易用只能传输Bundle支持的数据类型四大组件的进程通信文件共享简单易用不适合高并发场景,并无法做到进程间即时通讯。无并发访问情形,交换简单的数据是实时性不高的场景。AIDL功能强大,支持一对多并发通信,支持实时通信。使用稍微复杂,需要处理好线程同步。  一对多通信且...

2016-06-12 19:21:00 23

原创 Android ipc通信机制

IPC:Intent-process Communication,跨进程通信。    在一个应用程序中,可以很方便的开启多进程。开启进程的方式只有一种,只能在AndroidMenifest中为四大组件指定 Android:process属性。在非常规情况下,也可以通过JNI在native层去fork一个新的进程。activity android:name="

2016-06-09 11:16:45 319

原创 APK的目录结构

APK 包含以下内容:被编译的代码文件(.dex文件)文件资源(resources)assets. 证书(certificates)清单文件(maifestfile)assets 文件lib文件META_INF:      CERT.RSA:保存该引用程序的证书和授权信息。      CERT.SF:保存SHA-1信息资源列表。(SHA:Secource Hash ...

2016-06-01 21:35:00 14

原创 android Handler错误,不同的包Handler

1.import java.util.logging.Handler;这个包了会自动生成如下方法。当时还觉得和以前的不一样了,本不在意。 Handler handler1= new Handler() { @Override public void close() { } @Override...

2016-05-26 13:10:00 21

原创 BaiduMap开发,获取公交站点信息。

可能有些人会出现无法导入overlayutil的错误,这是因为BaiduMap里面的包把这部分删除掉了,并且官方没有给出说明,这个地方以前也是让我折腾了很久。不知道现在有没有说明这个问题,如果需要这个包,可以下载官方demo,把这个包复制下载粘贴到自己项目里面。功能如下:在地图中显示公交路线。在log中打印公交路线及其信息。在地图中添加站点点击显示相应信息。(这里使用百度提供的包,在...

2016-05-26 00:16:00 20

原创 GitHub托管项目步骤

1.打开Git Shell ,进入你要托管的项目目录里。然后输入git init ,该项目下就会多一个.git文件夹2.点击add,然后再path里面输入你项目的,git文件夹目录地址。如下:3.你会看到Change做了改变,增加了很多东西,这些就是你项目的文件。输入summary,这个是必须输入的。然后点击提交。4.进入History,右侧有 Publish,点击可以提交到git...

2016-05-20 17:57:00 15

原创 android vector矢量图画图详解

SVG是一种矢量图格式,是Scalable Vector Graphics三个单词的首字母缩写。在xml文件中的标签是,画出的图形可以像一般的图片资源使用,例子如下:vector xmlns:android="http://schemas.android.com/apk/res/android" android:width="24dp" android:height="

2016-05-08 15:09:01 8124

原创 Android vector标签 PathData 画图超详解

  SVG是一种矢量图格式,是Scalable Vector Graphics三个单词的首字母缩写。在xml文件中的标签是<vector>,画出的图形可以像一般的图片资源使用,例子如下:<vector xmlns:android="http://schemas.android.com/apk/res/android" android:width="24dp" ...

2016-05-06 19:11:00 13

原创 Mysql,JDBC封装

1.完成对数据库的表的增删改的操作2.查询返回单条记录3.查询返回多行记录4.可以使用反射机制来封装,查询单条记录5.反射机制,查询多条记录package myjdbc;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.SQLException;import java.util.A...

2016-04-18 20:55:00 16

原创 简单工厂模式练习

输入两个数和运算符,计算出结果。可以根据工厂模式画出类图,四种(或者更多)运算符,统一运算符接口,并含有run()方法,用于执行运算。定义一个运算工厂,含有工厂方法,该工厂方法根据用户输入的运算符new出相应的对象。Main测试import java.util.Scanner;public class Main { public static void main...

2016-04-11 13:18:00 16

原创 单例模式

单例模式:确保一个类只有一个实力,并提供一个全局访问点。内容其实就是实例化一个对象(唯一一个),然后提供接口供全局访问。 那么,为什么只要一个唯一对象:比如线程池,缓存,对话框只需要一个对象,因为如果有多个对象会导致类似数据访问不一致,行为异常(就像多线程访问共享数据而导致数据的不一致那样)。 那么,为什么不适用静态static:拥有static 方便并且没有 sta...

2016-04-10 19:25:00 13

原创 关于装饰者模式的层层调用

学习装饰者模式的时候,关于装饰者的层层调用觉得很是不明白。想到了好多,因为以前没这样写过。Beverage beverage = new DarkRoast();//就是来搞明白怎么回事。怎么层层调用beverage = new Whip(beverage);beverage = new Soy(beverage);beverage = new Mocha(beverage)...

2016-04-07 18:32:00 14

原创 设计模式--观察者模式

《Head First 设计模式》1.观察者模式:定义了对象之间的一对多依赖,这样一来,当一个(主题)对象改变状态时,它的所有依赖都会收到通知并自动更新。 我喜欢看报纸,于是我订阅了《人民日报》。那么,《人民日报》每次的新闻都会告诉我(谁让我买了报那)。a. 这个报社不仅仅我一个人订阅。(报社与我(对象之间)是一对多的依赖)。b.报社每天的更新信...

2016-04-07 10:41:00 15

原创 设计模式之策略模式

《Head First 设计模式》,好书!策略模式经典的例子:鸭子模型。假设我们主要研究鸭子(DUCK)的"叫(quack)"和鸭子的飞(fly)。public abstract class Duck{ //呱呱叫 quack(); //飞 fly();} 1.假如,我们想要很多种鸭子在屏幕上飞和叫,想到了设计一个DUCK父类,让许许多多的鸭子子类继承f...

2016-04-06 09:44:00 12

原创 网络通讯简单了解

本文不研究这些,只是为了理解,写一篇文章出来自己看。OSI和TCP/IP:数据通讯时,从上到下将数据一层一层封包(封装数据),到达另一台电脑时,从下到上一层一层拆包(将封包打开)。tcp/ipOSI作用(白话)设备/功能传输数据应用层应用层哪个应用发出的? 封qq/msn表示层 发出的数据什么类型(图片)封会话层和谁通...

2016-04-04 22:33:00 15

原创 android 五子棋开发

两天完成基本功能,再对其进行细节bug优化,本小白的思路。思路:1.用canvas绘制棋盘:得到手机的分辨率。棋盘大小为19*19。将手机宽屏分为21份,取中间19份为棋盘。上下空白位置为按钮功能。如下:画出棋盘。 1 protected void onDraw(Canvas canvas,Paint paint) { 2 3 ...

2016-03-29 11:06:00 23

原创 android studio里的build.gradle基本属性

//声明是android 程序apply plugin: 'com.android.application'android { //编译SDK版本 compileSdkVersion 23 // build tools的版本 buildToolsVersion "23.0.1" defaultConfig { //该应用的包名 ...

2016-03-25 10:26:00 18

原创 android studio 真机调试

1.使用usb连接电脑,打开开发者选项,打开usb调试。2.不能使用仅充电,修改为媒体设备(MTP)3.如果无法连接可以使用豌豆荚或者金山手机助手连接。4.运行android程序即可。5.如果无法运行,可以在愉快的使用真机调试吧,告别虚拟机!...

2016-03-24 16:46:00 24

原创 java线程知识点

1. 进程与线程一个进程拥有多个线程,多个线程共享进程的内存块。操作系统不分配新的内存,因此线程之间通信很容易。不同的进程因处于不同的内存块,因此进程之间通信较为困难。进程:每个进程都有独立的代码和数据空间(进程上下文),进程切换的开销大。线程:轻量的进程,同一类线程共享代码和数据空间,每个线程有独立的运行栈和程序计数器(PC),线程切换的开销小。多进程:在操作系统中,能同时运行多个...

2016-03-24 11:41:00 9

原创 android studio简易了解第二部分

1.新建Moudle(eclispe的项目) 其余的和eclipse差不多,一般情况一直next就可以了!如果选择New Project会重新打开一个AS。一个AS只会有一个Project(eclipse党,我每次手贱都要打开它,习惯!!!)。2.创建虚拟机,不过真机测试最好不过了。打开后,新建虚拟机选择虚拟机的信息,目前是手机虚拟机选择后会有相关的虚拟机信息,确认无误后...

2016-03-23 18:59:00 17

空空如也

空空如也

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

TA关注的人

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