Android下,java应用程序通过JNI方法调用硬件抽象层模块,在Android 从硬件到应用:一步一步向上爬 3 -- 硬件抽象层訪问硬件驱动 中我们已经编译好了硬件抽象层模块,以下就要開始为HAL层编写JNI方法,为上层提供服务. cd到frameworks/base/services/jni文件夹中,新建一个com_android_server_GpioService.cpp文件: #include "jni.h" #include "JNIHelp.h"…
创Android Applicationproject:采用Eclipse的Android插入ADT创Androidproject,project名字Gpio,创建完成后,project文件夹packages/apps/文件夹下,并删除project文件夹下的gen文件夹.不删除的话会造成类反复的错误. src/com/android/gpio/Gpio.java: package com.android.gpio; import com.android.gpio.R; import andro…
cocos2d-x 3.0发布有一段时间了,作为一个初学者,我一直觉得cocos2d-x很坑.每个比较大的版本变动,都会有不一样的项目创建方式,每次的跨度都挺大…… 但是凭心而论,3.0RC版本开始 环境搭建.项目创建.编译的方式更加人性化了. 现在我们进入正题,一步一步搭建cocos2dx的开发环境 cocos2d-x很多tools都是需要使用Python的,因此我们需要先安装Python环境 python下载:点这里 这里需要下载Python 2.X版本.曾经以为要下载3.x版本 后来装上发…
在上两篇文章中,我们介绍了如何为Android系统的硬件编写驱动程序,包括如何在Linux内核空间实现内核驱动程序和在用户空间实现硬件抽象层接口.实现这两者的目的是为了向更上一层提供硬件访问接口,即为Android的Application Frameworks层提供硬件服务.我们知道,Android系统的应用程序是用Java语言编写的,而硬件驱动程序是用C语言来实现的,那么,Java接口如何去访问C接口呢?众所周知,Java提供了JNI方法调用,同样,在Android系统中,Java应用程序通过…
原本计划DigitalClock和AnalogClock单独各一篇来写,但是想想,两个控件的作用都一样,就和在一起写一篇了. DegitalClock和AnalogClock控件主要用于显示当前时间信息,使用也很简单.先看效果图: 上面小的长方形为DegitalClock效果图,正方形的为AnalogClock,上图中是用了自定义背景widget_button_drawable.xml,详细内容参见一步一步学android控件(之三) —— Button.今天的主要内容在布局文件中——widge…
根据使用场景不同,有时候使用系统默认的CheckBox样式就可以了,但是有时候就需要自定义CheckBox的样式.今天主要学习如何自定义CheckBox样式.在CheckBox状态改变时有时需要做一些额外的工作,可以在OnCheckedChangeListener做这些工作.所以今天的内容如下: 1.系统默认样式 2.自定义checkBox样式 3.使用OnCheckedChangeListener监听器监听CheckBox的选中状态. 先看一下效果图:               图一    …
在上两篇文章中,我们介绍了如何为Android系统的硬件编写驱动程序,包括如何在Linux内核空间实现内核驱动程序和在用户空间实现硬件抽象层接 口.实现这两者的目的是为了向更上一层提供硬件访问接口,即为Android的Application Frameworks层提供硬件服务.我们知道,Android系统的应用程序是用Java语言编写的,而硬件驱动程序是用C语言来实现的,那 么,Java接口如何去访问C接口呢?众所周知,Java提供了JNI方法调用,同样,在Android系统中,Java应用程序…
今天学习的控件是MultiAutoCompleteTextView . 提到MultiAutoCompleteTextView 我们就自然而然地想到AutoCompleteTextView ,就想知道他们之间到底有什么区别.在讲他们区别之前呢先来看看下面两张图片:                                 (图1)AutoCompleteTextView                           (图2)MultiAutoCompleteTextView 这两张图…
复制粘贴了那么多博文很不好意思没点自己原创的也说不出去,现在写一篇一步一步教你做安卓新闻客户端,借此机会也是让自己把相关的技术再复习一遍,大神莫笑,专门做给新手看. 手里存了两篇,一个包括软件视图 和新手引导 软件侧滑菜单 滑动主页的GUI篇 一个内容解析篇. 代码里有很详细的注释 所以直接放代码了 有不会的站内信或者评论我会及时回复. MainActivity XML :只有一个ListView布局 <?xml version="1.0" encoding="utf-…
我开发完毕了一个完整的视频clientapp.如今.分享出来.供刚開始学习的人学习參考(大神就不用看了,比較简单,仅供入门),大家相互交流相互学习. 项目有些功能,我时间也不是非常多.仅仅能时不时更新下. 仅仅能大概解说怎么一步一步实现,相关的知识点.大家自己查阅相关文档了,本人非常多地方也是会使用,要我说出个详细的原理什么的,确实说不清,还有本人表达能力有限.大家仅仅能将就看看,不喜忽喷,哈哈. 还有为大家说下,怎么增加广告平台的广告,公布市场,获取收入(老实说本人app,加广告.基本没收入)…
大家假设喜欢我的博客,请关注一下我的微博,请点击这里(http://weibo.com/kifile),谢谢 转载请标明出处(http://blog.csdn.net/kifile),再次感谢 大家在平时使用 Android 手机的时候,都会发现有些应用(比如 qq,微信,淘宝)为自己创建了账号系统,而且可以在设置页面看到他,但是当自己希望为自己的软件写一个账号系统的时候总是不知从何入手,如今我们就从头開始,一步一步打造属于自己应用的账号系统. 在进行设备账户管理的时候,我们会通过一个 Acco…
一步一步学ROP之linux_x86篇 作者:蒸米@阿里聚安全 ​ 一.序 ROP的全称为Return-oriented programming(返回导向编程),这是一种高级的内存攻击技术可以用来绕过现代操作系统的各种通用防御(比如内存不可执行和代码签名等).虽然现在大家都在用64位的操作系统,但是想要扎实的学好ROP还是得从基础的x86系统开始,但看官请不要着急,在随后的教程中我们还会带来linux_x64以及android (arm)方面的ROP利用方法,欢迎大家继续学习. 小编备注:文中涉…
这是一个系列的文档,长期目标是利用DeviceOne开发一些目前使用广泛的优质手机应用,我们会最大化的实现这些应用的每一个功能和细节,不只停留在简单的UI模仿和Demo阶段,而是一个基本可以使用的实际App. 在实现的过程中,会有很多困难,还会发现有一些功能目前缺乏组件支持而无法实现,也会碰见各种移动开发中都会碰到的常见技术问题.一步一步的操作和问题的解决可以让开发者直观的了解通过DeviceOne如何开发一个实际App,也可以了解移动开发本身的很多技术细节,可以让App开发者少走很多弯路. 这…
Oracle RAC 12 c(12.1)在Linux上安装虚拟机,一步一步向导 今天我们将看到如何安装 12 c版本1 RAC(真正的应用程序集群)数据库2 Linux 64位的虚拟机 使用VMWare或Oracle VirtualBox. 甲骨文的“c”12 c代表“ 云 ” 有一些重要和有趣的变化时安装12 c相比11 g RAC. 甲骨文似乎增加了很多新的有趣的特性在12摄氏度. 请注意,我们需要2虚拟机各有3 GB内存. 所以如果你有足够的记忆你的笔记本电脑/ PC机或服务器上,那么你…
本帖最后由 xinxincaijq 于 2013-1-9 10:27 编辑 一步一步学ZedBoard & Zynq(四):基于AXI Lite 总线的从设备IP设计 转自博客:http://www.eeboard.com/bbs/thread-6206-1-1.html 本小节通过使用XPS中的定制IP向导(ipwiz),为已经存在的ARM PS 系统添加用户自定IP(Custom IP ),了解AXI Lite IP基本结构,并掌握AXI Lite IP的定制方法,为后续编写复杂AXI IP…
2013-11-14 最近在看<一步一步写嵌入式操作系统>,感觉此书甚好,许多地方讲得很清楚.可操作性强,计划边读边实践边写笔记,希望能够逐步熟悉嵌入式操作系统底层的东西,最终剪裁出一套实用的实时嵌入式操作系统,备选的裁剪对象有ucos.RTlinux和uClinux. SkyEye介绍 “SkyEye是一个指令级模拟器,可以模拟多种嵌入式开发板,可支持多种CPU指令集,在SkyEye上运行的操作系统意识不到它是在一个虚拟的环境中运行,而且开发人员可以通过SkyEye调试操作系统和系统软件.由…
最近闲着看了一下jcenter的使用,也想将自己使用频率比较高的东西抽成类库,然后通过compile来使用,提高开发效率,本来以为挺简单的,但是网上介绍的比较模糊,很多博客也比较老了,不适用,花了我一天的时间,还是走了很多弯路,这里记录下来,希望能帮助到小伙伴们,现在觉得还是挺简单的.第一步:首先是注册,这就是我踩的最大的一个坑,导致我一天都没有上传成功.网上说的都是去jcenter的网站上注册就可以,其实不然,英文好的最好去看英文文档,一步一步来操作.个人正确的注册地址:https://bin…
[DG][三思笔记]一步一步学DataGuard 它有无数个名字,有人叫它dg,有人叫它数据卫士,有人叫它data guard,在oracle的各项特性中它有着举足轻理的地位,它就是(掌声)......................Oracle Data Guard.而对于我而言,我一定要亲切的叫它:DG(注:主要是因为打着方便). 不少未实际接触过dg的初学者可能会下意识以为dg是一个备份恢复的工具.我要说的是,这种形容不完全错,dg拥有备份的功能,某些情况下它甚至可以与primary数据库…
如何一步一步建立CAN通讯 2016-04-12 20:38:14来源: eefocus 关键字:CAN通讯  硬件环境   收藏 评论(0) 分享到 微博 QQ 微信 LinkedIn CAN通讯的优点在此就不多说了,10公里,5Kb/s的速度是能保证的. 第一步:硬件环境的建立. 这里采用的是SJA1000作为总线控制器,CTM8251模块作为总线驱动器.MCU采用的是MEGA16:利用I/O口模拟数据总线,当然也可以使用有总线的MCU:MCS-51,MEGA8515等. 原理图如下: 第二…
本文将教大家一步一步打造属于自己的eclipse,涉及到地方,不完全之处请谅解. 一.下载 进入eclipse网站:http://www.eclipse.org/downloads/ 下载:Eclipse IDE for Java Developers 二.改主题 下载后解压,打开的eclipse是这样的 我们会觉得太难看了,所以请到这个网址去看看:http://marketplace.eclipse.org/content/eclipse-moonrise-ui-theme 步骤: ①点击帮助…
     PreferenceActivity给我们封装好了一个数据存储对象,我们只需要在xml文件中写上控件即可完成简单的设置界面.但是系统提供的设置界面十分的简陋,要想做的好看必须要自己来进行修改.本文就是一步一步教大家如何定义自己的PreferenceActivity界面. 一.创建模块一(选择模块组) 先在res/xml文件夹中定义一个customer_prefs.xml文件(名字自定),建立根节点 <PreferenceScreen xmlns:android="http://s…
一步一步在RHEL6.5+VMware Workstation 10上搭建 oracle 11gR2 rac + dg 之grid安装 (四) 转自 一步一步搭建 oracle 11gR2 rac+dg之grid安装(四)-lhrbest-ITPUB博客http://blog.itpub.net/26736162/viewspace-1297101/ 本章目录结构: 这一步也比较重要,主要是安装ASM,如果前一步的共享磁盘没有准备好的话,执行root脚本的时候可能会报错,不过不要紧的,,,一定可…
DG 机器配置 转自: 一步一步搭建11gR2 rac+dg之DG 机器配置(七)-lhrbest-ITPUB博客http://blog.itpub.net/26736162/viewspace-1298733/ 本文文档结构: 这一步的DG机器配置就相当于安装单实例的DB+ASM 一样,这里我把之前的文档内容直接拷贝过来了,也不做过多的解释了 安装之前的配置工作 检查硬件 在正式安装开始前,请先检查你的软硬件条件是否满足安装需要. 硬件上可以使用命令查看内存情况和 CPU 特性: #more…
本文来自网易云社区 作者:孙有军 前言 本篇的主要目的就是JNI开发入门,使大家对JNI开发流程有一个大致的了解,后续再进行深入学习. JNI不是Android特有的,JNI是Java Native Interface单词首字母的缩写,就是指用C或者C++开发的接口.JNI是JVM规范中的一部份,因此JNI程序在任何实现了JNI规范的Java虚拟机中都可以运行. 作为一个Android开发,这里不大书特书学习JNI的必要性和重要性,很多博客,文章都有讲述,这里主要给出入门步骤,让大家可以根据一步…
TCP/IP协议簇是目前互联网应用最广的协议栈,谈到TCP/IP协议栈就不能不讲一讲IP路由的问题,因为在我们使用的网络通信中几乎每时每刻都在发生着IP路由的事件…….当你在网络世界中还是一位新手的时候,你也许认为设备之间实现IP路由所需的仅仅是一台设备的IP地址而已,如果你真的这样认为那就错了.每台设备在进行IP路由的时候除了必需的IP地址外还需要很多其他信息来完成数据的封装!我将通过以下网络场景提供的案例一步一步地来分析设备在进行IP路由时将会发生哪些通信事件. 在这个场景中有两个网络,这两…
之前写了一个简单的例子usb-host一步一步学(一)安卓在usb-host模式下列出当前连接的usb设备,下面的这个例子是获取各种usb设备.usb接口以及usb连接点(endpoint) 正如上一章节提到的那样,为了指定应用程序以usb-host模式运行,在AndroidManifest.xml文件中需要添加<uses-feature android:name="android.hardware.usb.host">并且修改安卓的minSDKVersion="…
目录 00. 目录 01. Workstation Pro 15.0安装简介 02. Windows 主机上安装 Workstation Pro 15.0 03. Linux 主机上安装 Workstation Pro 04. Windows 主机中卸载 Workstation Pro 05. Linux 主机中卸载 Workstation Pro 06. 默认快捷键 07. 附录 00. 目录 @ 01. Workstation Pro 15.0安装简介 您可以在 Linux 或 Window…
目录 00. 目录 01. Linux内核版本 02. Linux内核官方网站 03. Linux发行版本 04. Linux发行版本介绍 4.1 Ubuntu 4.2 RedHat 4.3 Debian 4.4 Gentoo 4.5 CentOS 4.6. Fedora 4.7 Kali Linux 4.8 Arch Linux 4.9 OpenSuse 4.10 Damn Vulnerable Linux 00. 目录 @ 01. Linux内核版本 Linux最早是由芬兰 Linus To…
目录 00. 目录 01. Linux概述 02. Linux简史 03. Linux主要特性 04. Linux之父 05. Linux相关术语 06. Linux其它 07. Linux应用领域 00. 目录 @ 01. Linux概述 Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户.多任务.支持多线程和多CPU的操作系统.它能运行主要的UNIX工具软件.应用程序和网络协议.它支持32位和64位硬件.Linux继承了Unix以网络为核心的设计思…
目录 一步一步学ROP之linux_x86篇(蒸米spark) 0x00 序 0x01 Control Flow Hijack 程序流劫持 0x02 Ret2libc – Bypass DEP 通过ret2libc绕过DEP防护 0x03 ROP– Bypass DEP and ASLR 通过ROP绕过DEP和ASLR防护 0x04 小结 0x05 参考文献 一步一步学ROP之linux_x86篇(蒸米spark) 转自蒸米spark的一步一步学ROP 原文链接:https://wooyun.j…