自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(157)
  • 资源 (4)
  • 收藏
  • 关注

原创 android studio ndk开发遇到的问题

1. ndk版本和api版本不一致导致无法编译2.as2.3 最低支持api25 3. jni文件下 必须有2个以上c文件 否则编译无法通过

2018-07-26 08:50:59 323

原创 android studio 2.3 cmake ndk开发第一个项目运行

勾选support c++的ndk配置创建项目 添加defaultConfig {            ndk{            moduleName "HelloJni" //so文件: lib+moduleName+.so            abiFilters "armeabi", "armeabi-v7a", "x86" //cpu的类型            ...

2018-07-26 08:49:08 289

原创 python 3.6.4 win10 安装 pycrypto模块的坑

需要VC++在VC++的命令行里运行下面网址里的命令 安装即可https://blog.zengrong.net/post/2655.html

2018-05-14 15:26:40 561

原创 python socket 2018年5月8日 看的需要注意的点

1.socket的 send方法的 data参数 是  byte数组类型  不是字符串类型  send时要调用encode方法将字符串转变为字节数组该方法默认为utf-8编码    decode方法是将byte数组转化为string类型  2.send方法和sendall方法  send方法是超过最大长度不会发送,比如最大传输单元为1000可是send了2000的数据,那么只会传输小于1000的数...

2018-05-08 20:56:47 359

原创 用到过的网站 记一下 2018年5月8日

http://www.xicidaili.com/nn/     国内高匿代理IP   用于python爬虫代理????

2018-05-08 14:56:37 301

原创 Android 软键盘上面 输入框弹起 计算软键盘高度法实现

大概方法: OnGlobalLayoutListener方法监听window的变化  如果可见屏幕的高度小于屏幕高度的80% 则说明弹出了这种方式通常是在 默认的弹出冲突了  或者已经使用了默认的弹出方式的情况下使用。。 public void addOnSoftKeyBoardVisibleListener(Activity activity) { final View dec...

2018-05-01 08:45:31 1525

原创 python初安装出现的一点问题(pycharm无法安装第三方模块,pip无法升级等)

今天安装pyCharm准备熟悉下环境,安装很顺利,找个激活码什么的,但是当我想导入一个第三方模块的时候就出现了问题,问题如下图所示对于一个刚入门的我来说,比较难过,看描述意思是模块pip没有main属性,描述的很清楚,但。。。怎么解决呢。。。还好网上有一篇文章讲了这个问题。。https://www.cnblogs.com/Fordestiny/p/8901100.html找到安装目录下 helpe...

2018-04-23 17:37:46 4234

转载 监测软键盘的弹出和收起

boolean isVisiableForLast = false; int keyboardHeight = 0; public void addOnSoftKeyBoardVisibleListener(Activity activity) { final View decorView = activity.getWindow().getDecorView()...

2018-04-17 09:15:53 362

原创 android studio 导入他人项目的坑

android studio 导入别人项目时总会由于gradle的版本不同产生一系列问题 很无语对于不能翻墙的我来说  很难受一般来说导入他人项目 最好能和他的gradle版本一致(我的不一致,搞了半天没搞好,于是新下了个和他版本一致的as。。。)新下了之后  gradle版本一致了 又缺少tool  于是点击下载 死活下不开  弹还出个提示说 不能下载 上网百度了一番  原来是我 之前没重新下载...

2018-04-11 02:15:58 1559

原创 RecyclerView notifyItemRemoved 的坑

RecyclerView 的 notifyItemRemoved  方法  可以 实现 带动画的 删除 先设置 recyclerView.setItemAnimator(new DefaultItemAnimator());   这样可以带有 添加和删除的动画  然后  更新的时候 不要使用  notifyDataSetChanged 方法   使用  notifyItemRemo

2017-04-27 19:47:54 1964

原创 关于最下方 EditText 获取焦点 界面上移的问题

1.当正常的activity   没有设置adjustpan 时   界面中  没有 ListView时   界面不会上移2.当activity 设置了  adjustpan   会自动上移 3.当activity没设置 adjustpan   界面中有 ListView  并且Listview设置了  scrollbar=none时   会上移很奇怪  把scrollbar

2017-04-12 21:45:07 2660

原创 Android Studio lint工具所提示的需要注意的内容简要记录

Android lint部分:Duplicated icons under different names 相同的icon 用了不同的名字 FrameLayout can be replaced with tag FrameLayout 可以被替换成 merge标签 Handler reference leaks handler的内存溢出问题 替换成静态 + 弱引用 Hardcode

2016-12-22 18:55:24 2934

原创 React-Native 原生跳转不同的RN界面的实现思路

最近在研究React-Native开发App,准备把RN运用到自己的毕业设计中,因为以前做过一个购物社交类的App,但是没有做完,所以就想把它完善一下作为毕业设计,而RN可以热更新,所以对于购物类app中的一些时常变化的商品介绍列表就准备用一下RN来试试了。 既然要使用RN和Native混合使用,就得考虑原生如何向RN跳转的问题了,之前做过的RN项目都是直接一个Activity进入index.an

2016-12-20 15:51:49 6404 1

转载 Android 默认水波纹的使用和去除

actionBarItemBackground 5.0以上超出边界圆形水波纹 selectableItemBackground 5.0以上边界内圆形水波纹 style=”?android:attr/borderlessButtonStyle” 无效果 这两个属性在5.0以下是默认的灰色效果,个人觉得也很唯美大笑用法 Android:background=”?android:attr/

2016-11-08 16:03:04 9968

原创 Android ViewPager + Fragment 懒加载数据 可操作控件版

ScrollView + ViewPager + Fragment 懒加载数据 和 动态Fragment高度问题

2016-11-07 17:28:54 478

原创 Android DrawText 基线的确定问题

drawText baseLine的确定

2016-11-03 11:07:03 2583

原创 Android 反编译XML 代码乱码问题 解决

今天在写一个布局的时候 出了点小问题 原本已经完成的布局让我一不小心改掉了,由于修改回去比较麻烦,一想我自己手机上安装的是没修改以前的,因此也就想着反编译一下取回当时的代码了。首先我把apk直接解压了,在res文件夹下 打开布局文件,可是却是乱码,不可读。 以前的时候是eclipse写的apk 反编译用的是Androidfby 直接反编译apk可以得到正确的xml布局,可对于as apk就

2016-11-02 16:23:51 7602 3

原创 Android MediaRecorder 录制视频出现的问题及解决

1. 报错这种情况一般是由于 初始化顺序不对 或者是设置了分辨率手机不兼容 需要设置为CamcorderProfile profile = CamcorderProfile.get(CamcorderProfile.QUALITY_HIGH); mediaRecorder.setVideoSize(profile.videoFrameWidth, profile.vid

2016-10-10 16:34:00 7173 2

原创 Android EditText 自动获取焦点问题

只需要在 EditText的父布局  自动获取焦点即可  android:focusable="true"   android:xxtouchxxfocusable="true"

2016-09-21 15:31:11 982

原创 Android 布局优化

Android布局优化是性能优化的一个方面,主要是选择适合的布局 尽量减少嵌套的层数。使用工具检查嵌套层数如何减少布局的嵌套层数呢,一种是我们写代码的时候自行注意,还可以使用工具来检查布局的层数 如果你是使用AS开发的话,你可以在 AS 工具栏中点击 Tools–>Android–>Android Device Monitor–>Hierarchy View 但是这个工具 如果使用的真机不能使

2016-08-22 16:56:50 387

原创 Android 自定义可自动扩大缩小的ViewPager

前些天看到蘑菇街的主页上有一个效果 左右滑动照片,控件可以随着照片的大小放大缩小 于是就自己试着实现了以下 我是使用ViewPager实现的 在其基础上进行了简单的改造。 代码如下:public class ScaleViewPager extends ViewPager { interface ScalePagerChangedListener { publi

2016-08-17 14:54:46 1996

原创 Android ViewPager 无限循环左右滑动(可自动) 实现

对于ViewPager 广告页 这个功能 很多APP都有这个功能 在网上也看过一些资料,我就在这把我自己完整的实现方法写出来吧 Demo放在最下面 基础的ViewPager:<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android

2016-08-17 14:43:51 15082 1

转载 Android 自定义ViewPager 过渡效果

Android 实现个性的ViewPager切换动画 实战PageTransformer(兼容Android3.0以下)其中  -1,0  表示左边的页面     0,1表示 右边的页面

2016-08-08 19:46:58 406

原创 Java 泛型的好处及实现原理

做笔试模拟题遇到这样一个问题,平时常用泛型,好处也差不多知道,但是让写出来就不大写的出来了,所以在这边整理一下,以后也可以回顾回顾首先先总结一下好处: 简单易用 消除强制类型转换 保证类型安全 泛型好处:泛型简单易用 类型安全 泛型的主要目标是实现java的类型安全。 泛型可以使编译器知道一个对象的限定类型是什么,这样编译器就可以在一个高的程度上验证这个类型消除了强制类型转换 使得

2016-08-02 11:29:10 16538

原创 Android Allocation Tracker和TraceView的使用

在介绍这两个工具之前,我们要先知道这两个工具的作用 Allocation Tracker : 分析内存占用情况 在Monitors 的 memory中 可以看出各个成员在内存中所占的大小 追踪对象在内存创建的过程TraceView : 分析方法执行的性能 在 ADM 中 可以知道方法执行的时间 次数等 这两个工具的使用很简单 :Allocation Track

2016-07-31 15:40:37 772

原创 Android Studio +MAT 分析内存泄漏实战

对于内存泄漏,在Android中如果不注意的话,还是很容易出现的,尤其是在Activity中,比较容易出现,下面我就说下自己是如何查找内存泄露的。首先什么是内存泄漏?内存泄漏就是一些已经不使用的对象还存在于内存之中且垃圾回收机制无法回收它们,导致它们常驻内存,会使内存消耗越来越大,最终导致程序性能变差。 其中在Android虚拟机中采用的是根节点搜索算法枚举根节点判断是否是垃圾,虚拟机会从GC R

2016-07-29 20:45:10 20816 3

原创 Android 热补丁技术的探索与简单实战----Qzone方案

Android app客户端与Web app相比的有一个劣势在于web app有更新不需要重新安装程序,而Android app如果有更新则需要重新下载最新版本安装完成更新,这个缺点无疑会给用户带来不小的麻烦与流量的浪费。 那么有没有办法解决这个问题呢? 热补丁技术的出现就是为了解决这个问题,现今我所知道的热补丁技术有淘宝的Dexposed、支付宝的AndFix以及Qzone的超级热补丁方案。下

2016-07-28 13:36:41 1915

转载 javassit框架的使用---动态改变字节码

原文地址: Javassist简单应用小结 概述   Javassist是一款字节码编辑工具,可以直接编辑和生成Java生成的字节码,以达到对.class文件进行动态修改的效果。熟练使用这套工具,可以让Java编程更接近与动态语言编程。   下面一个方法的目的是获取一个类加载器(ClassLoader),以加载指定的.jar或.class文件,在之后的代码中会使用到。private stat

2016-07-26 22:38:07 4509 1

原创 Android Studio 更新后一直停在Refreshing gradle project问题解决

解决办法: 1. 查看自己android studio 安装路径下的 gradle 下的 gradle版本 比如 我的路径F:\android_studio\gradle\gradle-2.10 版本号就是 2.10 2. 查看正在refreshing的项目的目录下的 \gradle\wrapper\gradle-wrapper.properties文件 比如我的 路

2016-07-25 17:47:21 40283 3

原创 MySql 保存大文件

JDBC实现MySql批处理业务场景: 当需要向数据库发送一批SQL语句执行时,应避免向数据库一条条的发送执行,而应采用JDBC的批处理机制,以提升执行效率。 实现批处理有两种方式第一种方式:Connection conn = null;Statement st = null;ResultSet rs = null;try {conn = JdbcUtil.getConnection()

2016-07-22 19:51:43 8439

原创 内存对齐的规则

为什么要内存对齐对于CPU从内存读取数据,并不是我们想象的那样,直接前去读取对应的大小,为了提升效率和速度,CPU会按照内存读取粒度的大小来读取内从中的数据,比如说如果内存读取粒度是4个字节,那么CPU会一次读取4个字节的内存,就算读取char类型的数据,虽然它只占1个字节,但是CPU依然会读取4个字节,然后从四个字节中取出char类型的数据,因此就产生了内存对齐这样的问题,也就是在结构体这样的类型

2016-07-21 07:08:45 364

原创 JVM内存结构

jvm管理的内存分为程序计数器、虚拟机栈、本地方法栈、堆、方法区 其中前三个个事线程私有的 程序计数器: 程序计数器是一块很小的区域,这部分区域的作用是存放当前线程所执行字节码的行号,它是线程私有的区域虚拟机栈: 虚拟机栈也就是我们常说的栈空间,它也是线程私有的,每个方法执行的时候都会产生一个栈帧,它用来存储局部变量表、操作数栈、动态链接、方法出口等信息,每一个方法从调用到执行完成的过程,

2016-07-21 07:08:19 268

原创 JVM中对象的创建过程

为什么要内存对齐对于CPU从内存读取数据,并不是我们想象的那样,直接前去读取对应的大小,为了提升效率和速度,CPU会按照内存读取粒度的大小来读取内从中的数据,比如说如果内存读取粒度是4个字节,那么CPU会一次读取4个字节的内存,就算读取char类型的数据,虽然它只占1个字节,但是CPU依然会读取4个字节,然后从四个字节中取出char类型的数据,因此就产生了内存对齐这样的问题,也就是在结构体这样的类型

2016-07-21 07:07:15 1702

原创 Android SwitchCompat 自定义颜色 及使用

在Android 5.0 中 Switch 更新了样式 变得 比较好用了 但是在5.0 以下的版本 还是老样子 不实用 因此 就有了 SwitchCompat 来兼容 它是v7 包中的 因此可兼容到 2.1 使用时 写一下布局即可。。 <android.support.v7.widget.SwitchCompat android:id="@+id/switch

2016-06-20 12:53:27 14267

原创 软件设计——原则

约束是强加给我们的 而原则是我们为了标准化和一致性而采用的 开发原则编码标准和规范 自动化单元测试 静态分析工具 等等 架构原则分层策略 业务逻辑的位置 高内聚 低耦合 SOLID 无状态组件 存储过程 域模型。。 HTTP会话的使用 始终一致和最终一致 如果你经常构建大型企业软件系统,那么你可能考虑过上述的这些原则,但是要小心,即使是善意的原则 有时候也会起到意

2016-06-13 23:20:06 555

原创 软件设计——约束

作为软件开发者 我们设计的每一个软件都存在于现实生活中,所以一定会存在约束条件的 约束可以驱动 塑造和影响软件系统的架构 你工作的组织和环境都会给你强加一些约束 影响你的架构1.时间和预算的约束 也就是时间和金钱 这两者我们都很熟悉 而且通常不够。。。2.技术约束 通俗来说 也就是 你所能达到的技术 你肯定不可以接收一个你的技术达不到的项目 或者说某个功能你的技术达不到

2016-06-13 22:51:35 36643

原创 软件设计——质量属性(非功能性需求)

欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B 斜体 Ctrl + I 引用 Ctrl

2016-06-13 20:40:08 13152

原创 软件设计——开始设计前的准备

最近在看<<程序员必读之软件架构>> 这本书 ,主要是想规范一下自己开发软件的流程 这本书看了三分之一了 发现对于自己来说 看这本书还是有点早的,对于我一个还没毕业经验不是很丰富的程序员来说 里面大多讲的东西距离我还有一段距离,但是其中设计软件这一部分对于我来说还是正合适的 我就先在这里 总结一下 这一部分所学的东西吧 不总结我怕我回过头就忘记了 哈哈 对于软件设计来说 有很多东西是需要我

2016-06-13 17:31:25 688

原创 Android 输入法弹出界面上移的问题

在 AndroidMainifest 中对应activity中加入android:windowSoftInputMode=”adjustPan” 加入此句可使界面不变化 android:windowSoftInputMode activity主窗口与软键盘的交互模式,可以用来避免输入法面板遮挡问题,Android1.5后的一个新特性。 这个属性能影响两件事情: 【一】当有焦点产生时,软键

2016-06-07 17:17:17 5860

原创 Android 关于ScrollView的子布局无法设置高度的问题

由于Scrollview 的作用是滑动显示 所以他的子布局 必须设置 wrap。。。。。 而且只能有一个 之后可以随意布局

2016-06-07 17:15:35 1461

BinderPool的小Demo

由于一个程序可能需要绑定多个aidl服务 需要开启多个服务进程 这是不好的,于是为了实现烤漆一个服务 绑定多个aidl 写了BinderPool类 参考博客: http://blog.csdn.net/u012760183/article/details/51397014

2016-05-14

BinderPool的Demo

当一个程序需要绑定多个AIDL的时候 开启多个服务明显不合适 于是就写了这个BinderPool来实现 开启一个服务 使用多个AIDL

2016-05-14

ContentProvider实现IPC的简单Demo

ContentProvider实现进程间的通信 对应我的下面这篇博客: http://blog.csdn.net/u012760183/article/details/51397014

2016-05-14

AIDL的简单实现(一个应用开启了2个进程)

关于aidl的简单实现 程序中开启了两个进程 进行通信 所以不需要复制aidl文件到另一个程序中 比较简单 详情可参考我的这篇博客 http://blog.csdn.net/u012760183/article/details/51397014

2016-05-14

空空如也

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

TA关注的人

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