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

软件开发小程序制作系统集成与运维空间租用硬件开发视频监控技术咨询与支持——联系电话:0311-88999002/88999003

首页 / 操作系统 / Linux

Android开发实践:自定义ViewGroup的onLayout()分析

Android开发实践:自定义ViewGroup的onLayout()分析

前一篇文章主要讲了自定义View为什么要重载onMeasure()方法(见 http://www.linuxidc.com/Linux/2014-12/110164.htm),那么,自定义ViewGroup又都有哪些方法需要重载或者实现呢 ?Android开发中,对于自定义View,分为两种,一种是自定义控件(继承View类),另一种是自定义布局容器(继承ViewGroup)。如果是自定义控件,则一般需要重载两个方法,一个是onMeasure(),用来测量...
99% 的新移动恶意程序是针对 Android

99% 的新移动恶意程序是针对 Android

安全公司 F-Secure的2014年Q1报告(PDF)显示,新发现的移动恶意程序绝大多数是针对Google的开源操作系统Android。这很大程度上是因为Android的市场统治地位,以及版本碎片化所导致的更新不一致和第三方应用市场的繁荣。Android上面并不是恶意程序泛滥成灾,安全研究人员只是发现了277种新的恶意程序家族,其中275种是针对Android,1种是iOS,还有1种是针对(前)诺基亚的Symbian。这些恶意程序主要是悄悄订阅增值号码,...
OAuth与OpenID登录工具曝出重大漏洞

OAuth与OpenID登录工具曝出重大漏洞

几周前,OpenSSL网站加密工具曝出的“Heartbleed”漏洞,已经将整个互联网安全领域震翻了一回。尽管绝大多数网站都在第一时间修复了它,但是一个新的问题又浮出了水面。一名安全研究人员发现了两款登录系统上的重大漏洞,而想要修复它们,却比Heartbleed要困难得多。给 Nginx 增加 OAuth 支持(nginx-lua) http://www.linuxidc.com/Linux/2014-01/94916.htmSpr...
Android开发实践:常用NDK命令行参数

Android开发实践:常用NDK命令行参数

Android提供了NDK工具,用来编译native代码(c/c++),该工具配置好了相关的交叉编译环境和工具链,只需要你简单地编写几个.mk文件即可将你的c/c++代码编译为Android的java工程/Android手机可以识别、加载和运行的库或者应用程序。默认情况下,使用NDK编译c/c++代码,需要将该代码放置到任一个Android应用工程的jni目录下,然后编写相应的Android.mk文件,并执行ndk-build命令完成编译。其实你也是可以在...
Android开发实践:在任意目录执行NDK编译

Android开发实践:在任意目录执行NDK编译

前面一篇文章简单地介绍了Android ndk编译的一些命令行参数(http://www.linuxidc.com/Linux/2014-12/110167.htm),一般情况下,我们都是在Android工程的jni目录下编译本地代码,或许用不到那些参数,但是如果你需要将一些第三方C/C++库,如ffmpeg、libjpeg等,编译为Android可使用的静态库/动态库,那么,你就得尝试在这些第三方库的源码目录中,配置Android的编译环境,使用NDK提...
Android开发实践:Android交叉编译工具链的使用

Android开发实践:Android交叉编译工具链的使用

前面2篇文章分别介绍了Android NDK编译的命令行参数,以及如何在任意目录使用Android.mk来编译本地c/c++代码,Andriod.mk和ndk-build只不过是Android官方提供了一套封装过的Android交叉编译环境而已,其实,你可以不用它,而直接通过传统的Makefile文件来编译你的c/c++代码的,本文即介绍如何直接通过传统的Makefile文件来编译可用于Android平台的库文件。http://www.linuxidc.c...
如何创建和使用Python CGI脚本

如何创建和使用Python CGI脚本

你是否想使用Python语言创建一个网页,或者处理用户从web表单输入的数据?这些任务可以通过Python CGI(公用网关接口)脚本以及一个Apache web服务器实现。当用户请求一个指定URL或者和网页交互(比如点击""提交"按钮)的时候,CGI脚本就会被web服务器启用。CGI脚本调用执行完毕后,它的输出结果就会被web服务器用来创建显示给用户的网页。配置Apache web服务器,让其能运行CGI脚本在这个教程里,我们假设Apache web服务...
为什么 C++ 成员函数指针是 16 字节宽的

为什么 C++ 成员函数指针是 16 字节宽的

当提及指针时,我们通常认为它是可以用void * 指针表示的在x86_64架构上占用8字节的东西。例如, 维基百科有一篇关于x86_64的文章中这样写道:Pushes and pops on the stack are always in 8-byte strides, and pointers are 8 bytes wide.从CPU的角度来看,指针就只是一个内存地址,并且x86_64中的所有内存地址用64位表示,所以8字节的假设是成立的。其实可以简单...
Android仿微信录音功能,自定义控件的设计技巧

Android仿微信录音功能,自定义控件的设计技巧

讲解一个比较通用的录音控件实现方法与设计技巧最近由于需要做一个录音功能(/嘘 悄悄透露一下,千万别告诉红薯,就是新版本的OSC客户端噢),起初打算采用仿微信的录音方式,最后又改成了QQ的录音方式,之前的微信录音控件也就白写了[大哭]。之前有很多朋友在问我自定义控件应该怎么学习,遂正好拿出来讲讲喽,没来得及截效果图,大家就自己脑补一下微信发语音时的样子吧。所谓自定义控件其实就是由于系统SDK无法完成需要的功能时,通过自己扩展系统组件达到完成所需功能做出的控件...
浅谈 C++ 中的 new/delete 和 new[]/delete[]

浅谈 C++ 中的 new/delete 和 new[]/delete[]

在 C++ 中,你也许经常使用 new 和 delete 来动态申请和释放内存,但你可曾想过以下问题呢?new 和 delete 是函数吗?new [] 和 delete [] 又是什么?什么时候用它们?你知道 operator new 和 operator delete 吗?为什么 new [] 出来的数组有时可以用 delete 释放有时又不行?…如果你对这些问题都有疑问的话,不妨看看我这篇文章。new 和 delete 到底是什么?如果...
C 语言中 setjmp 和 longjmp

C 语言中 setjmp 和 longjmp

在 C 语言中,我们不能使用goto语句来跳转到另一个函数中的某个label处;但提供了两个函数——setjmp和longjmp来完成这种类型的分支跳转。后面我们会看到这两个函数在处理异常上面的非常有用。setjmp 和 longjmp 使用方法我们都知道要想在一个函数内进行跳转,可以使用goto语句(不知怎么该语句在中国学生眼中就是臭名昭著,几乎所有国内教材都一刀切地教大家尽量不要使用它,但在我看来,这根本不是语言的问题,而是使用...
<< 2191 2192 2193 2194 2195 2196 2197 2198 2199 2200 >>