自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

cao1991w的专栏

技术分享

  • 博客(54)
  • 资源 (4)
  • 收藏
  • 关注

原创 AsyncTask

1.AsyncTask是封装好的线程池,比起Thread+Handler的方式,AsyncTask在操作UI线程上更方便,因为onPreExecute()、onPostExecute()及更新UI方法onProgressUpdate()均运行在主线程中,这样就不用Handler发消息处理了;2.真正的缺点来自于AsyncTask的全局线程池只有5个工作线程,也就是说,一个APP如果运用A...

2019-05-21 14:21:37 170

原创 Android WebView图片显示问题

android This request has been blocked; the content must be served over HTTPS.android自带webview 出于安全问题对图片进行了拦截 ,需要如下设置才能显示图片 WebSettings settings = webView.getSettings(); settings.setJavaS...

2018-12-19 14:40:26 680

原创 NDK开发

 众所周知android studio可以设置代码补全和智能提示,但是ndk开发在cpp文件中需要在grandle配置才有智能提示,配置如下//让jni中的cpp或者c文件代码可以自动补全 sourceSets { main { jni.srcDirs = ['src/main/jni/'] ...

2018-10-16 15:16:12 173

原创 WebView js调用本地方法

WebView  与js交互中,js 方法与本地不在同一个 进程,必须新开才能调用class JavaScriptCallback { public void call(){//在html里面写入并调用call()方法,然后本方法再次调用html里面的js方法,问题在于不支持在同一个进程里面这么调用,如果要想在回调函数里面继续调用原生页面方法,需要开启一个新...

2018-08-08 17:01:48 951

原创 webview js交互返回页面

如果希望浏览的网页后退而不是退出webview,需要WebView覆盖URL加载,让它自动生成历史访问记录,那样就可以通过前进或后退访问已访问过的站点。//改写物理按键——返回的逻辑 @Override public boolean onKeyDown(int keyCode, KeyEvent event) { // TODO Auto-generated m...

2018-08-08 16:54:15 411

原创 Android studio & lint 代码检查设置

Android stuido作为google官方推荐的Android开发IDE,提供了一整套强大的静态代码分析工具,使用它们可以很好地帮助我们进行更加规范的开发。通常开发团队不允许在布局文件中出现hardcode我们可以通过设置AS的code inspections来设置静态代码检查的规则,同样的,我们还可以设置很多其他的IDE静态代码检查,通过改变其severity达到更直观提示的作用,可以让开...

2018-03-09 14:33:25 1017

原创 热更新,补丁修复---bugly

腾讯的bugly目前作为比较方便的热更新框架的一些使用问题:使用说明可以参考官网文档点击打开链接https://bugly.qq.com/docs/user-guide/instruction-manual-android-hotfix-demo/1. 补丁包是根据基线版本apk生成的,二者版本一致的情况下,补丁才能下发成功2.同一版本可以打多个补丁,补丁可以逐个覆盖,由于bugly具

2017-06-27 17:11:27 1207

原创 代理模式

代理(Proxy)是一种设计模式,提供了对目标对象另外的访问方式;即通过代理对象访问目标对象.这样做的好处是:可以在目标对象实现的基础上,增强额外的功能操作,即扩展目标对象的功能.这里使用到编程中的一个思想:不要随意去修改别人已经写好的代码或者方法,如果需改修改,可以通过代理的方式来扩展该方法举个例子来说明代理的作用:假设我们想邀请一位明星,那么并不是直接连接明星,而是联系明星的经纪人,来达到

2017-06-08 14:05:17 210

转载 RSA算法

package com.security.rsa; import java.security.KeyFactory; import java.security.KeyPair; import java.security.KeyPairGenerator; import java.security.PrivateKey; import java.security.Publi

2017-06-07 17:51:23 293

转载 Base64 用法

Base64 是网络上最常见的用于传输8Bit 字节代码的编码方式之一,大家可以查看RFC2045 ~RFC2049,上面有MIME 的详细规范。Base64 要求把每三个8Bit 的字节转换为四个6Bit 的字节(3*8 = 4*6 = 24 ),然后把6Bit 再添两位高位0 ,组成四个8Bit 的字节,也就是说,转换后的字符串理论上将要比原来的长1/3 。这样说会不会太抽象了

2017-06-07 17:46:38 531

原创 Java关键字final、static使用总结

一、final        根据程序上下文环境,Java关键字final有“这是无法改变的”或者“终态的”含义,它可以修饰非抽象类、非抽象类成员方法和变量。你可能出于两种理解而需要阻止改变:设计或效率。        final类不能被继承,没有子类,final类中的方法默认是final的。        final方法不能被子类的方法覆盖,但可以被继承。        fi

2017-03-01 16:45:37 220

原创 android 6.0网络通信

android 6.0中sdk改变解决方案1:httpclient是Apache的,不是Android的,想用的话,自己添加它的依赖就行了啊老版本的Android SDK只是为了方便,所以在SDK中集成了htttp-client解决方案2:API 23想用httpclien,在gradle 的android节点下 引入库useLibrary 'org.apache.http

2017-02-17 18:25:24 248

原创 时间设置

java.util.Date nowdate=new java.util.Date(); String myString = "2008-09-08";SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd", Locale.CHINA);Date d = sdf.parse(myString);boolean flag 

2017-02-17 18:22:52 344

原创 面向对象设计原则

一、开闭原则:这一条放在第一位来理解,它的含义是对扩展开放,对修改关闭。解释一下就是,我们写完的代码,不能因为需求变化就修改。我们可以通过新增代码的方式来解决变化的需求。当然,这是一种理想的状态,在现实中,我们要尽量的缩小这种修改。再解释一下这条原则的意义所在,我们采用逆向思维方式来想。如果每次需求变动都去修改原有的代码,那原有的代码就存在被修改错误的风险,当然这其中存在有

2017-02-17 18:17:57 186

翻译 代理模式

代理的好处:--->是可以在间接访问对象的同时,要其前或后,添加其它的逻辑代码.--->对原来逻辑进行添加其它逻辑,最终生成新的逻辑.即:对类的方法添加一些额外的逻辑,生成新的方法逻辑.(2)静态代理: -->一个原类与一个代理类要一一对应。-->两者都实现共同的接口或继承相同的抽象类;-->只是在代理类中,实例化原类,在原类方法的前后添加新的逻辑。如下:抽

2017-02-17 18:06:22 178

翻译 观察者模式

基本概念:观察者模式属于行为型模式,其意图是定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。这一个模式的关键对象是目标(Subject)和观察者(Observer)。一个目标可以有任意数目的依赖它的观察者,一旦目标的状态发生改变,所有的观察者都得到通知,作为对这个通知的响应,每个观察者都将查询目标以使其状态与目标的状态同步。

2017-02-17 18:04:35 267

原创 ListView中嵌套ListView

只要在设置ListView的Adapter后调用此静态方法即可让ListView正确的显示在其父ListView的ListItem中。但是要注意的是,子ListView的每个Item必须是LinearLayout,不能是其他的,因为其他的Layout(如RelativeLayout)没有重写onMeasure(),所以会在onMeasure()时抛出异常。      在ScrollView中嵌套L

2016-12-16 17:33:54 507

原创 推送

对于大部分开发者来说,除了做一个 App,还要独立开发一套推送系统是件异常困难的事情。哪怕是用户数量很大的 App ,这也不是一件容易的事情。于是在 2011 年底,我产生了做独立第三方推送服务的想法,也就有了后来的极光推送。最近主流的 Android 手机都会清理后台服务,禁止服务自动拉起,以前各种 SDK 保活手段相继失效,这个问题从根本上动摇了 Android 第三方

2016-12-16 17:28:53 245

原创 多渠道打包

一、什么是多渠道我理解的是:APP发布到不同的应用平台,监测用户是从哪个平台安装的。二、为什么要多渠道打包1. 统计用户安装APP来源知道多渠道的意义就不难理解多渠道打包主要是为了我们统计分析用的。所以,这样就很清楚了我最初的想法不是不行,而是不好,对今后的产品分析没有任何帮助。2.批量修改生成的apk文件名根据运营给的命名规则,如果是一个个的右键-重命名,那15个还好,要真是有1

2016-11-28 15:44:30 353

原创 用Android画一个几何图形

先来介绍一下画几何图形要用到的,画布(Canvas)、画笔(Paint)。1. 画一个圆使用的是drawCircle:canvas.drawCircle(cx, cy, radius, paint);x、y代表坐标、radius是半径、paint是画笔,就是画图的颜色;2. 在画图的时候还要有注意,你所画的矩形是实心(paint.setStyle(Paint.Style.FILL))还是空

2016-11-28 09:38:34 638

转载 linux中fork()函数详解

一、fork入门知识     一个进程,包括代码、数据和分配给进程的资源。fork()函数通过系统调用创建一个与原来进程几乎完全相同的进程,也就是两个进程可以做完全相同的事,但如果初始参数或者传入的变量不同,两个进程也可以做不同的事。    一个进程调用fork()函数后,系统先给新的进程分配资源,例如存储数据和代码的空间。然后把原来的进程的所有值都复制到新的新进程中,只有少数值与原来的进程...

2016-11-23 10:45:16 253

原创 欢迎使用CSDN-markdown编辑器

kjhgfhttp://www.szfutong.com/kks/111525.html http://www.szfutong.com/kks/111515.html http://www.szfutong.com/kks/11158.html http://www.szfutong.com/kks/111512.html http://www.szfutong.com/kks/11152

2016-11-20 02:01:10 272

原创 adb 问题

经常遇到 Please ensure that adb is correctly located at 'D:\java\sdk\platform-tools\adb.exe' and can be executed.遇到问题描述:运行android程序控制台输出    [2012-07-18 16:18:26 - ] The connection to adb is down,

2016-11-19 10:57:25 219

原创 单例模式的使用及应用场景

编译时初始化 // 在自己内部定义自己一个实例,是不是很奇怪?      // 注意这是private 只供内部调用      private static Singleton instance = new Singleton();        // 这里提供了一个供外部访问本class的静态方法,可以直接访问      public static Singleton getInstan

2016-11-19 10:09:37 7564

转载 ConvertView回收机制

一、ConvertView回收机制工作原理:1、ListView 针对List中每个item,要求 adapter “给我一个视图” (getView)。2、一个新的视图被返回并显示如果我们有上亿个项目要显示怎么办?为每个项目创建一个新视图?NO!这不可能!实际上Android为你缓存了视图。Android中有个叫做Recycler的构件,下图是他的工作原理:如

2016-11-18 17:36:04 377

转载 提高service优先级

1.提高优先级 这个办法对普通应用而言,应该只是降低了应用被杀死的概率,但是如果真的被系统回收了,还是无法让应用自动重新启动!2.让service.onStartCommand返回START_STICKY 通过实验发现,如果在adb shell当中kill掉进程模拟应用被意外杀死的情况(或者用360手机卫士进行清理操作),如果服务的onStartCommand返回START_STICKY,在ec

2016-11-18 17:21:32 1360

翻译 android 感应器

Android中检测重力感应变化大致需要下面几个步骤:1) 得到传感器服务 getSystemService(SENSOR_SERVICE);得到一个SensorManager,用来管理分配调度处理Sensor的工作,注意它并不服务运行于后台,真正属于Sensor的系统服务是SensorService,终端下#service list可以看到sensorservice: [android.gui.S

2016-11-16 15:30:43 719

原创 重力感应

permission android:name=”android.permission.VIBRATE”/> 13./** 安卓晃动手机监听–“摇一摇” @author jason0539 */ 19.public class TestSensorActivity extends Activity { private SensorManager sensorManager;

2016-11-16 15:10:21 422

原创 android 回调

1.定义接口public interface ContactInterface {public void callBackByTel(String answer);}2.注册接口public class Me { public static void main(String[] args){ Me me = new Me(); me.hasQuestion(); } priva

2016-11-16 11:34:18 218

原创 imageloader 设置

//原图显示 options1 = new DisplayImageOptions.Builder() .showStubImage(R.drawable.ic_stub) .showImageForEmptyUri(R.mipmap.ic_launcher) .showImageOnFail(R.drawable.ic

2016-11-11 17:55:19 241

转载 微信授权登录

前期准备工作:申请AppId,下载资源包jar、文档等。微信授权登录步骤:第三方发起微信授权登录请求,微信用户允许授权第三方应用后,微信会拉起应用或重定向到第三方网站,并且带上授权临时票据code参数;(第1步官方文档写得很模糊分散,做微信授权登录的时候遇到很多问题,现在总结记录下来)通过code参数加上AppID和AppSecret等,通过API换取access_token,openid;通

2016-11-09 14:13:29 497

翻译 常用正则表达式

1 Email地址:^\w+([-+.]\w+)@\w+([-.]\w+).\w+([-.]\w+)*$ 2 域名:[a-zA-Z0-9][-a-zA-Z0-9]{0,62}(/.[a-zA-Z0-9][-a-zA-Z0-9]{0,62})+/.? 3 InternetURL:[a-zA-z]+://[^\s]* 或 ^http://([\w-]+.)+[\w-]+(/[\w-./?%&=]

2016-11-09 14:10:38 230

转载 android八位透明色

了解了功能就好办了,只要选择好功能,输入数值就可以读出对应的进位值,这里以透明度为例,透明度总共有255阶,写进语句的都是转换为十六进制的值,255阶为不透明,要得到25%透明度,将255乘25%得到大概63(此时仍是十进制值),那么在进位制选择十进制,输入63,在Hex输出框可以得到3f,那么这个就是十进制时63转化为十六进制的值,将3f写进语句得到〈#3fffffff〉,保存回编译,对应布局的2

2016-11-09 14:09:12 381

原创 小米图标问题

有发布过应用的android开发盆友,可能会遇到app改版本的时候,被要求修改应用图标,这个本来不是什么事情,但是在小米手机有主题的情况时候,就是你替换了工程里面所有的launch图片,但是小米手机上还是显示老的图标。原因是主题的原理是根据包名去他的服务器上面获取你在小米商城上面传的图片,所以解决方式就是你修改小米商城上发布的图片,还有一种没什么卵用的做法就是安装的是时候,关掉网络,这样装好之后你的

2016-11-08 18:22:38 680

转载 anddroid 图标大小

程序启动图标:LDPI (Low Density Screen,120 DPI),其图标大小为 36 x 36 px。MDPI (Medium Density Screen, 160 DPI),其图标大小为 48 x 48 px。HDPI (High Density Screen, 240 DPI),其图标大小为 72 x 72 px。xhdpi (Extra-high density scree

2016-11-07 19:55:35 350

原创 注册本地广播,

localBroadcastManager=LocalBroadcastManager.getInstance(getActivity()); localBroadcastManager.registerReceiver(netmorkreciver , intentFilter); //注册本地广播,其他程序接收不到,本地广播需要动态注册,静态注册接收器是全局广播

2016-11-07 18:29:56 219

原创 项目出错

以前可以使用项目如果出错1. 当前编辑器sdk 版本不对,选择其他版本编译2. 修改错误,删除错误的import,重新导入3. 有可能是jar包重复,引用的不同版本的jar包eclipse下做过修改之后,要build project最好使用原来的开发环境打开项目,否则会出现各种不必要的错误,即使修改过也未必能运行 用对于的sdk版本 ,对应的模拟器as更改包名之后 先改APPlicatio

2016-11-07 18:29:02 214

原创 git clone

克隆特定分支的代码 git clone -b [remote repository address] $ git clone -b develop https://git.coding.net/。。。/baiweijk.git主要就是在clone的时候,后面添加branch的信息。

2016-11-07 18:28:26 208

原创 ratingbar

ratingbar不可点击之后父控件listview 获取点击事件 子空间可能拦截事件eclipse 项目在as中打开时,签名在iml 文件中配置配置文件路径也是此文件

2016-11-07 18:27:47 168

原创 颜色代码

如果你的颜色代码是#ffffff、#aaaaaa、#222222,就可以缩写为#fff、#aaa、#222,但是如果你的颜色代码写成3个字母的,如果3个一样的,效果就会跟写6个字母一样的,如果三个字母不一样的,系统会在每一个字母或者数字后面补0,比如#aab,那么就会补完到#a0a0b000%=FF(不透明

2016-11-07 18:26:43 3326

求两个数组的交集

查找数组中的重复元素,且时间复杂度为O(n)

2013-11-24

用堆栈实现模拟队列

用堆栈实现模拟队列的操作,降低时间复杂度

2013-11-24

记事本源代码

很全的记事本功能,很容易理解,代码很简单

2013-09-18

C语言算法ccc

C语言的应用语言的应用和算法

2013-04-23

空空如也

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

TA关注的人

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