
android
文章平均质量分 96
chituhuan
这个作者很懒,什么都没留下…
展开
-
WebView 使用简介
WebView 使用简介一 WebView 相关的类1. WebView用来显示网页,使用必须时刻注意我们需要添加网络权限<uses-permission android:name="android.permission.INTERNET"/>加载网页:webView.loadUrl("http://www.baidu.com/");加载本地网页, 网页放在 ass...原创 2020-03-26 12:11:13 · 305 阅读 · 0 评论 -
OkHttp Post 限速上传
在局域网中通过OkHttp post 上传一些大文件,测试后发现文件上传经常占满带宽,影响业务交互。在上传时需要限速。限速可以服务端限速,也可以客户端限速。服务端限速只是延迟接受,造成TCP 缓冲区拥堵,带宽的问题并没有真正的解决。客户端限速的思路就是写Socket 限速。搜了一下资料,OkHttp 并没有提供限速的接口。研究了一下OkHttp 的拦截器 Interceptor一 网络访问...原创 2020-03-26 12:03:07 · 1911 阅读 · 0 评论 -
android jni 的编写二 (NDK 开发中动态注册Jni)
NDK 开发中动态注册Jni.在framework开发中经常见到的是动态注册,但是这需要android的一些特定的api.最近看了一些jin文章觉得也可以NDK也支持动态注册。首先看一下头文件,在NDK中有jni.h参看jni.h 在后边有这两个函数,说明NDK是支持动态注册的。 点击(此处)折叠或打开/** Prototypes for functions exported by loadabl原创 2016-08-31 12:12:12 · 520 阅读 · 0 评论 -
ANDROID jni 中的事件回调机制JNIenv的使用
android framework 里java调用native,使用JNI机制,java如何调用native,在framework里面的例子很多,有很多参考,可以方便的使用。但是在一些native中如果涉及到了事件回调,需要在native里调用java对象,在framework 框架里也有这样的例子。在项目里用到了这一机制。在native 注册的时候首先保存java的调用方法:static voi原创 2016-08-31 12:12:09 · 3244 阅读 · 1 评论 -
Android 蓝牙
MVP 结构的Android 蓝牙 DemoMVP整个代码采用MVP 结构来写。和其他MVP模式大同小异, 由于Bluetooth 发现配对连接过程比较 行,整个UI的布局功能不是特别的清晰。只能作为参考了。 比较难处理的是Adapter, 在这里把BtAdapter 拆分为三个部分,BtViewHolder 负责在Adapter 的getView 中处理View相关。Adapter中的数据放在原创 2017-04-20 14:42:27 · 3056 阅读 · 0 评论 -
websocket 和SSL浅析
1 WebSocket 原理1.1 背景WebSocket 是基于Http 协议的改进,Http 为无状态协议,基于短连接,需要频繁的发起请求,第二 Http 只能客户端发起请求,服务端无法主动请求。1.2 相同点都是基于TCP的应用层协议。 都使用Request/Response模型进行连接的建立。 在连接的建立过程中对错误的处理方式相同,在这个阶段WS可能返回和HTTP相同的返回码。 都可原创 2017-04-27 10:52:57 · 20971 阅读 · 0 评论 -
APP java.lang.UnsatisfiedLinkError so错误
so错误App 中需要引用第三方的SDK,第三方SDK 带so. 编译后在7.0的模拟器上运行产生如下的错误,但是在一个三星的平板上运行正常。05-19 10:30:56.977 25669-25669/com.nextev.carcontrol E/AndroidRuntime: FATAL EXCEPTION: main原创 2017-06-01 10:05:24 · 1851 阅读 · 2 评论 -
Android 中签名 加密和HTTPS
RSA 加密算法非对称加密算法1976年,两位美国计算机学家Whitfield Diffie 和 Martin Hellman,提出了一种崭新构思,可以在不直接传递密钥的情况下,完成解密。这被称为”Diffie-Hellman密钥交换算法”。Diffie-Hellman算法一种秘钥交换算法,它是一种建立秘钥的方法,而不是加密方法,所以秘钥必须和其他一种加密算法结合使用。这种秘钥交换原创 2018-01-25 20:02:53 · 2761 阅读 · 0 评论 -
Android 上 Https 双向通信— 深入理解KeyManager 和 TrustManagers
Android 客户端的配置生成SSLContext和Http 客户端关联Android 作为Https 的服务端AndroidService 支持客户端证书请求使用认证链做认证使用hugo 观察SSL handshark 过程服务端发送证书服务端发送 Certificate Request客户端校验客户端发送证书concrypt 库的bugTwo way s...原创 2018-04-27 18:56:20 · 13882 阅读 · 2 评论 -
DSBridge-Android 源码分析
一 Android WebView Js 原生APIAndroid WebView 提供了Js 和 WebView相互调用的接口,js 调用Android 代码通过@JavascriptInterface 注解WebView.addJavascriptInterface(Object object, String name) 方法实现JS 和java 对象的映射。同样 WebVi...原创 2019-09-29 16:03:15 · 1590 阅读 · 0 评论 -
android jni 的编写一(JNI的静态注册)
使用ndk开发需要编写jni.jni函数注册有两种方法。第一种静态注册,第二种动态注册。在NDK开发中使用第一种方法比较多,第二种方法在framework开发中使用的比较多,但是依赖android的一些特定的函数库。在ndk中不能使用。jni的静态注册需要生成对应的native头问题件,我们以ndk中hell-jni 为例进行说明:按照网上的攻略root@ubuntu12:/work/androi原创 2016-08-31 12:08:48 · 341 阅读 · 0 评论 -
Android AsyncTask 原理及Java多线程探索
java 多线程Android AsyncTask原创 2016-11-13 17:11:52 · 741 阅读 · 0 评论 -
Dalvik——如何控制vm
一 dalvik虚拟机支持一系列的命令行参数(使用adbshell dalvikvm –help获取列表),但是不可能通过android应用运行时来传递任意参数,但是可以通过特定的系统参数来影响虚拟机行为。对于下述所有参数,你都可以通过setprop来设置系统特性,shell命令如下:adbshell setprop 必须重启android运行时从而使得改变生效(adb shell stop:a原创 2016-08-31 12:12:14 · 1358 阅读 · 0 评论 -
TextView 滚动
在TextView中,有时候内容那个太多,超出了TextView的长度,会换行,在一些按钮上,需要单行显示,可以让TextView滚动。 android:singleLine="true" android:ellipsize="marquee" android:scrollHorizontally="true" android原创 2016-08-31 12:09:12 · 466 阅读 · 0 评论 -
Activity 中view 的布局
android 中view 代表一块图形区域。每一个view 都与一个依赖一个父view。在每一个Activity 中有一个Window 代表一个屏幕,包含一个View 树和窗口的layout 参数。View tree的root View可以通过getDecorView得到。 在 new 一个activity 时,通常把APK的view和布局通过setContentView(R.layout.a原创 2016-08-31 12:09:00 · 375 阅读 · 0 评论 -
Android ListActivity学习
An activity that displays a list of items by binding to a data source such as an array or Cursor, and exposes event handlers when the user selects an item.ListActivity hosts a ListView object that can原创 2016-08-31 12:08:56 · 309 阅读 · 0 评论 -
Java 基础
Java 基础一 Java 虚拟机1. JVM 概述2. JVM 内存模型3. ClassLoader4. 垃圾回收机制5. 从一道面试题来认识java类加载时机与过程二 Java 集合数据类型1. Java 集合类详解2. Hashmap实现原理三 Java 线程Java多线程(一)Java多线程(二)Java多线程(三)Java - 安全的退出线程四. Java 访问修饰符 作用域 当前原创 2016-10-26 11:55:34 · 378 阅读 · 0 评论 -
android_动画框架
Android 动画框架动画API介绍View动画 (tween animation)帧间动画(frmae animation)属性动画 (Property Animation)View 动画原理以 AlphaAnimation 为例,AlphaAnimation new 以后,通常要调用View的startAnimationstartAnimation来执行动画: alphaImageView.s原创 2016-10-27 21:19:25 · 483 阅读 · 0 评论 -
activity-alias的使用
activity-alias是android里为了重复使用Activity而设计的。 当在Activity的onCreate()方法里,执行getIntent().getComponent().getClassName();得到的可能不是这个Activity的名字,有可能是别名的名字,例如:在AndroidMenifest.xml有如下配置:原创 2016-08-31 12:08:51 · 441 阅读 · 0 评论