自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Android-jni(5)-Jni调用实例方法

上一篇看了jni调用静态方法和修改静态字段,这一篇学习了jni调用实例方法和修改实例字段 调用实例方法,步骤: 找到类:利用FindClass,找到类 找到要调用的方法id:利用GetMethodID,找到方法id 创建实例对象:利用实例对象的构造方法id来创建 使用实例对象去调用对应的Method:CallVoidMethod 修改实例字段,步骤: 找到类:利用FindClass,...

2018-11-25 14:39:54 579

原创 Android-jni(4)-C调用Java静态方法修改静态字段

一. jni交互相关-方法签名 方法签名在jni的使用中经常都会用到,在java中会有重载,那么定位到一个方法的方式:类+方法名称+方法签名,那么我们先学习下签名规则: 基本类型签名: 咱们基本类型有各自的签名,如下表 类型名 签名 boolean Z byte B char C short S int I long J float F double...

2018-11-24 11:26:33 872

原创 Android-jni(3)-原生方式打印Logcat

咱们打印日志,Android通常是打印到logcat中,Android有自己的一套日志系统,c里面如果调用printf,包括c++中的cout等等都不能打印到logcat中。所以我们需要使用Android提供给我们的日志库来打印到logcat中 CMakeLists.txt引入log库: # 用于定位NDK中的库,比如这里的Log库 find_library( # Sets the name ...

2018-11-20 21:57:34 1098

原创 Android-jni(2)-第一个native方法

在前面讲了基础配置,那么接下来开始使用了: 第一个native方法 在第一篇中配置完cmake后,笔者在MainActivity中创建来了一个native方法: package shixin.ndkdemo; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.widg...

2018-11-20 21:55:22 293

原创 Android-jni(1)-环境配置

一. Android Studio配置 (一) 组件下载 要使用和调试,先下载NDK组件: NDK包:这套工具集允许您为 Android 使用 C 和 C++ 代码,并提供众多平台库,让您可以管理原生 Activity 和访问物理设备组件,例如传感器和触摸输入。 cmake:一款外部构建工具,可与 Gradle 搭配使用来构建原生库。如果您只计划使用 ndk-build,则不需要此组件。 LL...

2018-11-20 21:52:40 169

原创 简述-访问者模式

介绍 访问模式是23种模式中最复杂的一个。目的在于将数据操作与数据结构进行分离。一个系统由许多对象组成,每个对象都有一个accept操作来接收访问者访问,对象会调用访问者的visit方法传入该对象,使得访问者可以访问处理对象结构中的每个元素。访问者是一个接口,又根据实现不同的访问者来达到对系统类的不同访问实现。 Android中APT(Annotation Processing Tools)则是使...

2018-11-15 22:52:17 345

原创 简述-组合模式

介绍 本模式为结构型设计模式之一,也称为部分与整体模式。在上面说到解释器模式,里面有叶子和枝干到概念。本模式也有叶子和枝干到概念。将一组相似到对象看作一个对象处理,并根据一个树状架构来组合对象,提供一个统一的方法去访问相应的对象。总公司有子公司和其部门组成,子公司又有自己的部门,这里母公司就是根,母公司部门就是叶子,子公司就是枝干,子公司部门又是叶子。 比如:像我们文件和目录使用的则是组合模式。A...

2018-11-15 22:50:18 215

原创 简述-解释器模式

介绍 一种用得比较少的行为型模式。其提供一种解释语言的语法或表达式的方式,化繁为简。比如给定一个语言,定义它的文法的一种表示,并定义一个解释器,这个解释器用来解释语言中的句子。Android中的AndroidManifest.xml的解析,PackageParser就用到了这种模式。 场景 简单语言需要解释执行且可以将该语言的语句表示为抽象语法树(如±法运算) 特定领域出现不断重复,可以将该问题...

2018-11-15 17:51:32 195

原创 简述-命令模式

介绍 行为型设计模式之一。这个模式没有规矩,比较灵活。将一些列的方法调用封装,用户只需要调用一个方法执行,那么所有这些被封装的方法就会被挨个执行调用。如名字一样,命令,比如开机命令,只需要一条命令,内部操作都封装好了自己执行。很多时候封装API其实也可以看作是一个简单的命令 Android中使用多,但不是很典型,比较典型的是Android的事件机制中底层逻辑对事件的转发处理,Android的每一种...

2018-11-15 17:48:09 208

原创 简述-迭代器模式

介绍 一个容器,必然会涉及到遍历算法,如果将它封装在容器中,则增加了复杂度,如果客户实现,则不那么方便。所以引入第三方类来帮忙处理,这个类就是迭代器。 又称为游标模式,行为型设计模式之一。我的理解是目的在遍历,弱化容器与遍历算法的关系。在容器与访问类中添加一个迭代器,用于承担遍历,又不需要访问类自行实现。提供一种顺序访问一个容器对象中的各个元素,而又不需要暴露改对象的内部表示。 Android中数...

2018-11-15 17:46:28 360

原创 简述-适配器模式

适配器模式 介绍 顾名思义,就是要做到适配的作用,类似于电源适配器,转换进电达到出电固定。将两个不兼容电融合到一起,粘合剂到作用。把一个类到接口变换成客户端所期待到另一种接口,从而使得原本接口不匹配无法在一起工作到两个类能够在一起工作。 Android中到ListView、GridView、RecycleView都需要使用到的Adpater则使用到了适配器模式。ListView使用的Adapter...

2018-11-15 17:44:33 535

原创 简述-桥接模式

桥接模式 介绍 结构型模式之一,顾名思义,目的为连接两边。这里的两边可以指的是两个独立变化的方向,如电器和开关,开关很多种,电器很多种,两者独立变化又是耦合。通过桥接模式,可将多维度变化类或者多个树状类之间的耦合解耦。 Android中view视图层级,控件与绘制到屏幕相关实现类DisplayList、HardWareLayer和Canvas可以看作桥接模式。Adapter和AdapteView也...

2018-11-15 17:42:16 598

原创 简述-装饰者模式

装饰模式 介绍 结构型模式之一,通过装饰者持有组件(被装饰者)的引用,也含有调用组件的方法。而这两个往往两个都是抽象,都有具体的实现。那么在具体的装饰者中,调用具体的组件方法,使用super方式来调用,再其调用前后可以自由添加想用的新增方法,这新增方法就是装饰了。 Android中咱们常用的startActivity()等方法,是在Context中,而具体实现是ContextImpl,然而持有Co...

2018-11-15 17:40:14 491

原创 简述-中介者模式

介绍 顾名思义,中介,在多方之间调和。对应到代码中就是将多个互相依赖的对象通过增加一个中介者来调和。 子系统相互依赖的时候,通过中介者来调用依赖方,这样子系统就不必知道另外的子系统,所有子系统都只知道中介者,而中介者知道所有子系统。 UML 组成结构 Mediator:抽象中介者角色,定义同事对象到中介者对象的接口,一般以抽象类实现。 ConcreteMediator:具体中介者角色,实现父类...

2018-11-15 17:33:03 199

原创 简述-外观模式

介绍 外观模式,提供一个统一的接口供使用者访问,隐蔽内部实现,制作API必备。应该每一个开发者都会使用到,因为你在使用SDK的时候受到的熏陶,无意之间自己写也经常会封装。只是可能你并没有把它认识为到模式层面。 Android中,Context就用到来外观模式,像什么startActivity()、sendBroadcast()等等,就是该类提供出来的外观方法。 UML Faced : 外观接口...

2018-11-15 17:30:08 439 1

Volley的简单使用

volley基本网络请求,StringRequest,JsonObjectRequest。图片加载。界面联动。介绍。还有简单的封装方式。

2016-10-05

垂直滚动textview例子

简单的垂直滚动自定义view

2016-03-14

空空如也

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

TA关注的人

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