`
luotuoass
  • 浏览: 640660 次
文章分类
社区版块
存档分类
最新评论
文章列表
入职几年,先做了1年多的搜索相关项目,比如相关搜索、智能导航等,又做了2年多输入法,都算是从头搞到尾,也碰到很多问题,现在回过头来想想,应该把这个过程记录下来,对自己有帮助,也可以帮助后来的同学
之前我们介绍过在jni中调用java中的成员函数,这里我们来介绍下载jni中创建java中的类对象,其实跟之前一样就是调用java类中的构造函数。 我们在之前的例子的前提下修改一个带参数的构造函数,然后再main activety中使用native code去new一个class对象,在jni中调用构造函数传入参数去给类的成员变量赋值,最后打印出log。 ------------------------------------------------------------- 先看下构造函数: public class Student { private String name; p ...
之前我们介绍过在java中传入一些基本数据类型作为参数在jni中的处理,这里我们来介绍下载java中传入我们自定义的一个对象作为参数。 我们先自定义一个class为student public class Student { private String name; private int number; Student(){ name = ""; number = 0; } public String getName() { return name; } public void setName(String name) { this.nam ...
package diqye.lang; public class DiqyeString { private String str; private final int offset; public DiqyeString(int off, String str) { this.str = str; this.offset = off; System.out.println(this.str); System.out.println(off); } public DiqyeString(DiqyeString ds) { ...
单例模式也是我最喜欢的模式,因为不管你创建多少个对象,当前对象在内存中只存在一份实例,而且像Android中对数据库的操作,对HTTP的请求都可以用单例模式来实现,而且效率也会提升不少。这里我们就对《西游记》里的主 ...
本文由吴秦发表在Android开发之旅:组件生命周期(一) 一、引言 应用程序组件有一个生命周期——一开始Android实例化他们响应意图,直到结束实例被销毁。在这期间,他们有时候处于激活状态,有时候处于非激活状态;对于活动,对用户有时候可见,有时候不可见。组件生命周期将讨论活动、服务、广播接收者的生命周期——包括在生命周期中他们可能的状态、通知状态改变的方法、及这些状态的组件寄宿的进程被终结和实例被销毁的可能性。 本文主要讨论活动的生命周期及他们可能的状态、通知状态改变的方法。分为以下三部分: 1、活动生命周期 2、保存活动状态 3、协调活动 1、活动生命周期 ...
在Alpha-Beta算法的并行化的过程中,一个较为困难的问题是判断从哪里开始并行搜索,因为一个分支的搜索可能会发现并行进行的另一个搜索完全可以避免.正因为如此,Alpha-Beta算法是一个很难并行的算法. 虽然仿真可能预计出设计的A ...
32.1 平衡三进制 PKU JudgeOnline, 1702, Eva'sBalance是一个平衡三进制问题的实例。将一个某进制数转换为平衡三进制数的方法为:先转化为用0,1,2表示的3进制,然后通过“借位”转换。也即: 若对应的系数为2,则变为-1,高一位+1。 若对应的系数为3,则变为0,高一位+1。 为0或1时不变 32.1.1实例 PKU JudgeOnline, 1702, Eva's Balance. 32.1.2问题描述 有一个天平和一套重量为3^n的砝码,每种砝码只有一个。给定一个重量,给出维持天平平衡的砝码和重物的放置方法。 32.1.3输入 3 ...
vudroid在显示一本书的内容时,如果你滑动屏幕,则会有如下显示: 此图中,左上角蓝色区域显示当前页数,右上角显示红色圈内显示当前正在加载。 这里我们可以想到有两种实现方案: 1)在BaseViewerActivity中处理用户翻页操作,比如滑动、点击上下左右键等。此时根据具体的用户操作计算需要显示哪几页,通知DocumentView去显示这些页,同时更新图中的蓝圈及红圈区域。 2)在DocumentView中处理用户翻页操作,比如滑动、点击上下左右键等。此时根据具体的用户操作计算需要显示哪几页,显示这些页,同时通知BaseViewerActi ...
1、android事件的产生 这一部分比较难,需要涉及android整个架构的基础知识,包括linux系统对事件的处理。 这一部分内容来自android的窗口机制分析------事件处理。 由于Android是linux内核的,所以它的事件处理也在linux的 ...
更改当前系统的时候为15:35分: [root@idc]date -s 15:35:00 二 2月 28 15:35:00 CST 2012 [root@idc]# [root@idc]# clock -w [root@idc]#
vi编辑器是所有Unix及Linux系统下标准的编辑器,它的强大不逊色于任何最新的文本编辑器,这里只是简单地介绍一下它的用法和一小部分指令。由于对Unix及Linux系统的任何版本,vi编辑器是完全相同的,因此您可以在其他任何介绍vi的地方进一步了解它。Vi也是Linux中最基本的文本编辑器,学会它后,您将在Linux的世界里畅行无阻。 1、vi的基本概念   基本上vi可以分为三种状态,分别是命令模式(command mode)、插入模式(Insert mode)和底行模式(last line mode),各模式的功能区分如下: 1) 命令行模式command mode)   控制屏 ...
我们还是接着上一章节的中介者模式,这次我们来重构一下,唐僧只告诉小妖让他的徒弟们来救他,至于小妖通知谁,他不管,反正就是三个徒弟,小妖也想省事,就看见谁就通知谁呗。于是,我们的代码修改成: public class Monster { private Person person; private String message; public Monster() { } public void setPerson(String name) { if (name.equals("悟空")) { person = new Wukong ...
在java编程语言中有非静态成员函数和静态成员函数,JNI允许我们访问到java中的成员函数,然后再jni中调用,这里我就来举例说明在jni中是如何做到的。 我们先在java中定义2个成员函数,一个非静态的,一个是静态的,分别会把title的textView设置成不同的值: public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); mContext = this; ...
继续,现在介绍一下中介者模式呢,中介?想必大家都知道吧?房屋中介,职业中介等等,我们继续我们的《西游记》,话说唐僧被妖怪偷偷抓走了,三个徒弟都不知道被谁抓走的,怎么办呢?唐僧就用他的三寸不烂之舌说服了一个小妖,让他去通知他的徒弟们来救他,小妖就去通知了,徒弟们知道了就叫小妖回去跟唐僧说,让唐僧安心,然后徒弟们自会去救他,这里唐僧没有直接跟他的徒弟们交流,都是通过小妖来转达的,这里这个小妖就是中介者,这就是典型的中介都模式,我们首先实现小妖的代码: public class Monster { Person person; public Monster() { } publ ...
Global site tag (gtag.js) - Google Analytics