Welcome 微信登录
编程资源 图片资源库 蚂蚁家优选 PDF转换器

首页 / 操作系统 / Linux

在Android手机上实现阅读器的翻页效果

在Android手机上实现阅读器的翻页效果

本篇文章来谈谈怎么使用java实现翻页效果,就像电子阅读器那样。现在先来看看翻页的原理图:先了解各个字母表示的含义:A-把书页翻起来后看到的背面区域B-把书页翻起来后看到的下一页的一角C-当前页的可见部分。a-手指滑动页角到达的位置b-当前页翻起来后与书本垂直边的交点c-当前页翻起来后与书本水平边的交点m-翻页的起始点n-书本右上角t-书本左上角o-直角坐标系原点为了能在翻页的过程中看到下一页的部分内容,在每次翻页之前必须准备两张页面,一张是当前页,另一张...
第一个QNX程序

第一个QNX程序

QNX开发环境和QNX虚拟机都搭建好了,开始写第一个QNX程序。关于QNX程序开发的最好参考是QNX官网上的pdf书《10 Steps to Developing a QNX Program: Quickstart Guide 》,清晰地说明了如何通过十个步骤开发第一个QNX应用程序。有好心人将它翻译成中文,中文名叫《10步开发一个QNX程序》。《10步开发一个QNX程序》一贴可以轻松地从网上搜索到,而英文的《10 Steps to Developing ...
QNX程序的键盘输入与控制台输出

QNX程序的键盘输入与控制台输出

第一个QNX程序已经写完,(见 http://www.linuxidc.com/Linux/2011-09/43465.htm)测试了QNX应用的开发过程,开始写一些复杂一点点的程序。最先想到的是获取键盘输入和通过控制台进行输出,这些都是当初学习C语言的时候必做的功课。和标准的C语言一样,QNX C语言实现也是通过printf()进行控制台输出,通过scanf()获取键盘输入。printf()在第一个QNX程序中已经使用过了,使用比较简单,第一个参数是要输...
QNX 上的多线程编程

QNX 上的多线程编程

在QNX 文本界面编程除了简单的键盘输入,控制台输出以外,还有好多重要的知识点需要学习,包括多线程,线程同步,进程通讯,资源管理器(硬件驱动)等等。首先了解一下QNX环境下的多线程编程。QNX环境实现了多线程并发,多线程切换时的复杂处理已经由内核实现了,开发人员需要做的就是创建启动线程。在QNX下创建线程的方法是pthread_create方法,使用时需要导入pthread.h头文件,pthread_create方法定义如下:(再次强调,QNX的“API”...
第一个BeagleBoard上的QNX程序

第一个BeagleBoard上的QNX程序

成功在BeagleBoard上运行QNX系统后,尝试在BealgeBoard上跑一个Hello World程序吧。测试发现整个程序编写过程和虚拟机上的第一个QNX程序类似,只是选择目标系统的时候要选择ARM,而不是X86。所以以下过程有些简略,如果有不清楚地地方请参考之前的文章《第一个QNX程序》 http://www.linuxidc.com/Linux/2011-09/43465.htm先准备好环境:启动QNX Momentics在BeagleBoar...
QNX学习者,向ARM汇编进发!

QNX学习者,向ARM汇编进发!

既然BeagleBoard是ARM的板子,自己又有想法了解学习一下ARM体系结构和ARM汇编,有机会肯定要在这个板子上跑跑ARM汇编程序。在网上了解了一下,一般的做法是搭建一个Linux环境设置混编环境,编译后将程序传到板子上运行。搭建这些环境有些麻烦,而且自己手上的QNX Momentics环境就浪费了。于是决定在QNX Momentics上找个方法编译,链接ARM汇编程序,然后直接通过QNX Momentics的调试器和BeagleBoard板上的QN...
QNX开发与PlayBook开发

QNX开发与PlayBook开发

自己最早的时候动了念头学习QNX是因为RIM的BlackBerry PlayBook的发布,还有传闻的BlackBerry SuperPhone的消息。关于BlackBerry SuperPhone的消息到现在仍然只是消息,暂且放下。PlayBook已经可以在市场上看到了,虽然中国区并没有正式销售PlayBook。PlayBook上的应用开发方式目前有两种,Adobe AIR和WebWorks。网上有消息说是PlayBook上的原生开发工具也很快要发布了,...
第一个QNX图形程序

第一个QNX图形程序

理清了思路以后开始通过实例测试GF的使用过程,为了简化测试环境,这次使用的是QNX Momentics环境和QNX虚拟机环境,没有使用BeagleBoard作为运行目标,主要是怕直接在板子上运行会有其他因素影响测试。在QNX momentics环境中创建了一个新的QNX C Project, 在main.c里先加上gf头文件的引用:#include <gf/gf.h>然后在main方法里加上第一步操作,就是通过fg_dev_attach()方法...
Linux平台和Windows平台下Web Service加载JNI dll的区别

Linux平台和Windows平台下Web Service加载JNI dll的区别

Web Service是由Java编写,部署在Tomcat上。 Web Service调用JNI DLL之前,需要加载该DLL,在生成WAR包的java工程中,可以使用“System.load()” 来加载外部DLL,但是必须写全路径,这样不利于跨平台。也可以使用函数"System.loadLibrary()"来加载外部DLL,只需要写文件名(省略后缀名)。如果找不到库,就会弹出 异常UnsatisfiedLinkError no *** in java....
Web Service开发之利用WSDL生成Java工程

Web Service开发之利用WSDL生成Java工程

WSDL(Web Service Description Language),定义了类以及类的成员函数。AXIS2 有wsdl2java.bat 用于将wsdl生成java工程。开发工具 IntelliJ IDEA 也可以从WSDL生成一个package,里面有已声明的各个类的定义,以及他们的成员函数声明。运行 IntelliJ IDEA ,建立一个java工程。首先需要配置工程,如果网速快, IntelliJ IDEA 会自动从官网下载axis等库,如果...
升级Android内置apk版本

升级Android内置apk版本

如果升级Android内置apk版本,遇到系统重启后又被还原,那是因为你手动安装的apk版本号和内置系统的apk版本号一样。这样的情况,在开发调试系统apk的情况中容易出现。关于Android系统内置的apk更新后,在系统重启以后又被还原的问题,解决方法如下:将 frameworks/base/services/java/com/android/server/PackageManagerService.java 中 scanPackageLI函数的pack...
Linux设备驱动工程师之路——内核链表的使用

Linux设备驱动工程师之路——内核链表的使用

一、重要知识点1.内核链表和普通链表的区别内核链表是一个双向链表,但是与普通的双向链表又有所区别。内核链表中的链表元素不与特定类型相关,具有通用性。我们先来看一幅图 kernel list展示的是内核链表的结构,normallist展示的是普通链表的结构。head是链表头,p1,p2,p3是链表节点。从图中可以看出普通链表的p1的next指针是指向的结构体p2的地址,p2的pre指针指向p1结构体的地址。而内核链表的p1的next指向的是p2结构体中包含p...
Linux设备驱动工程师之路——硬件访问及混杂设备LED驱动

Linux设备驱动工程师之路——硬件访问及混杂设备LED驱动

一、重要知识点 1.I/O端口和I/O内存寄存器和常规内存的区别:寄存器和RAM主要不同在于寄存器有边际效果,读取某个地址时可能导致该地址的内容发生变化,比如说很多设备的中断状态寄存器只要一读取,便自动清0。所以硬件寄存器不能直接访问,而要通过I/O端口和I/O内存两种方式访问。在硬件层,I/O内存区域和I/O端口区域没有概念上的区别:它们都是通过向地址总线和控制总线发生电平信号进行访问,再通过数据总线读写数据。 a.I/O端口: 一些CPU制造厂在它们...
Linux设备驱动工程师之路——Linux内存管理机制及mmap方法

Linux设备驱动工程师之路——Linux内存管理机制及mmap方法

一、重点知识 1. Linux内存管理机制 Linux 2.6.29内核为每种CPU提供统一的界面,采用四级页面管理构架。来兼容二级、三级、四级管理架构的CPU。通过页式管理机制完成虚拟地址(线性地址)到物理地址的映射。一般每个页大小为4K。cr3寄存器中保存了创建进程时分配的值。 Linux操作系统采用虚拟内存管理技术,使得每个进程都有独立的进程地址空间,该空间大小是3G,用户看到和接触的都是虚拟地址,无法看到实际的物理地址。利用这种虚拟地址不但能起到保...
Linux设备驱动工程师之路——高级字符设备驱动程序

Linux设备驱动工程师之路——高级字符设备驱动程序

高级字符设备驱动在简单字符驱动的基础上添加ioctl方法、阻塞非阻塞读写、poll方法、和自动创建设备文件的功能。一、重要知识点 1.ioctlioctl命令:使用4个字段定义一个ioctl命令,包括type: 幻数,一般使用一个字符定义,在内核中唯一。number: 序数。direction: 数据传输方向,当不涉及数据传输时,此字段无效。size: 所涉及用户数据的大小,当不涉及数据传输时,此字段无效。_IOC_NONE_IOC_READ_IOC_WR...
<< 1341 1342 1343 1344 1345 1346 1347 1348 1349 1350 >>