-
Android回调机制概括
所属栏目:[教程] 日期:2021-11-20 热度:77
一、回调函数 回调函数就是一个通过函数 的指针调用的函数。如果你把函数的指针(地址)作为参数传递给另一个函数,当这个指针被用为调用它所指向的函数时,我们就说这是回调函数。回调函数不是由该函数的实现方直接调用,而是在特定的事件或条件发生时由另外[详细]
-
认识Java中的前期绑定和后期绑定
所属栏目:[教程] 日期:2021-11-20 热度:70
前期绑定,在程序执行前根据编译时类型绑定,调用开销较小,如C语言只有前期绑定这种方法调用。 后期绑定,是指在运行时根据对象的类型进行绑定,又叫动态绑定或运行时绑定。实现后期绑定,需要某种机制支持,以便在运行时能判断对象的类型,调用开销比前期[详细]
-
Android:TextView跑马灯介绍
所属栏目:[教程] 日期:2021-11-20 热度:78
TextView之所以需要跑马灯,是由于文字太长,或者是吸引眼球。 关键代码如下: Android:singleLine=true android:ellipsize=marquee android:focusable=true android:marqueeRepeatLimit=marquee_forever android:focusableInTouchMode=true android:scrollHo[详细]
-
Android计算器简单逻辑达成
所属栏目:[教程] 日期:2021-11-20 热度:90
package com.example.androidlessontwo; import android.os.Bundle; import android.app.Activity; import android.view.Menu; import android.view.View; import android.widget.Button; import android.widget.TextView; public class MainActivity extend[详细]
-
编译Android ICS错误解决措施
所属栏目:[教程] 日期:2021-11-20 热度:110
./mk-ics.sh 4 make hisdk ######################### make: *** [out/target/common/obj/JAVA_LIBRARIES/framework_intermediates/noproguard.classes-with-local.dex] killed enlarge swap memory size sudo dd if=/dev/zero of=swapfile bs=1024 count=10[详细]
-
Hibernate列名是保留字的解决措施
所属栏目:[教程] 日期:2021-11-20 热度:87
在Hibernate框架下,如果要操作的列名是Oracle的保留字,则会报如下的错误。 Exception in thread main org.hibernate.exception.SQLGrammarException: Could not execute JDBC batch update at org.hibernate.exception.SQLStateConverter.convert(SQLState[详细]
-
使用Hibernate达成简单的增、改、删、查操作
所属栏目:[教程] 日期:2021-11-20 热度:165
作为Hibernate的初学者,要真正的掌握Hibernate,从简单的增、改、删、查开始。 1.增加(save或persist) 这两个方法都能实现数据的添加,主要区别在于:在没有开启事物时,save( )会执行相关的sql语句,然后在回滚,而persist根本不会执行sql语句。所以这两个[详细]
-
SL4A 之实现原理介绍
所属栏目:[教程] 日期:2021-11-20 热度:83
深入理解SL4A SL4A架构实现了本地脚本和原生态Android程序的内部消息通信,所以任何本地脚本语言,只要实现了这套兼容的JSON RPC通信接口,就可以呼叫SL4A的RPC Server端程序。至于为什么要选用JSON,及这种格式的优点和特征,此处就不详细叙述了,大家可以[详细]
-
Python 小程序,达成比较两个列表范围
所属栏目:[教程] 日期:2021-11-20 热度:138
有一道题: 比较两个列表范围,如果包含的话,返回TRUE,否则FALSE。 详细题目如下: Create a function, this function receives two lists as parameters, each list indicates a scope of numbers, the function judges whether list2 is included in lis[详细]
-
C#与Java实例化对象时的区别
所属栏目:[教程] 日期:2021-11-20 热度:113
先来看看一段Java代码: package example; class Print { public Print(String info) { System.out.println(测试信息---- + info); } } class BaseA { private Print p = new Print(实例变量A); private static Print p1 = new Print(静态变量A); static { S[详细]
-
在Java中执行 Groovy Script 技巧
所属栏目:[教程] 日期:2021-11-20 热度:159
如何在Java中执行 Groovy Script,例如: GroovyShell shell = new GroovyShell(); Script scrpt = shell.parse(script.groovy); Binding binding = new Binding(); binding.setVariable(str1, value1); binding.setVariable(str2, value2); scrpt.setBindin[详细]
-
交叉编译中需要谨慎make的隐晦规则
所属栏目:[教程] 日期:2021-11-20 热度:171
熟悉Linux的都知道,GUN 的make工具在生成可执行程序的过程中为我们提供了非常大的便利。不过要写出高效、简洁的Makefile可就不那么容易了(比如像我这样的菜鸟)。偶最近在进一步学习Makefile,就把遇到的问题以及自己的小小心得写出来,需要指正的大家尽管[详细]
-
C++中函数指针和函数对象的差异与联系
所属栏目:[教程] 日期:2021-11-20 热度:185
函数调用是C++中再频繁不过的一项操作了,函数可以直接调用,也可以通过函数指针来调用,也可以通过函数对象来间接调用,形式多样化。下面来看看函数指针和函数对象的区别。 1.函数指针 1)定义 函数指针是指向函数的指针变量。在C编译时,每一个函数都有一[详细]
-
借助Fiddler对Android https请求进行监测
所属栏目:[教程] 日期:2021-11-20 热度:187
Web开发中Chrome、IE、firefox等浏览器都自带提供了插件帮助开发者跟踪http数据,在手机客户端怎么实现http数据抓包呢?Fiddler可以实现真机调试抓包。Fiddler支持Any Browser,Any System,Any Platform。 Fiddler 是通过代理来实现数据捕获的。对 Android 手[详细]
-
Linux下PCI设备驱动程序之注册介绍
所属栏目:[教程] 日期:2021-11-20 热度:118
一 识别方式: 天朝为了方便每个人的管理,搞了一套身份识别的玩意(档案和身份证)。kernel本省就像一个社会,每个进来的设备必须要有它独特的名字和一些档案。 这个工作对PCI来说,它是由pci_device_id这个结构体来进行身份信息保存的: 17 struct pci_devic[详细]
-
Python达成DNS查询
所属栏目:[教程] 日期:2021-11-20 热度:161
我们知道,操作系统提供执行基本DNS查询的服务。在Python的socket模块当中,提供了访问这些基本操作系统服务的接口,下看些基本应用。 1. 根据主机名来查询IP地址: socket.getaddrinfo(host,port[, family[, socktype[,proto[,flag]]]] Host参数就是你想查[详细]
-
Python达成UDP通信
所属栏目:[教程] 日期:2021-11-20 热度:184
UDP,用户数据报传输协议,它位于TCP/IP协议的传输层,是一种无连接的协议,它发送的报文不能确定是否完整地到达了另外一端。UDP广泛应用于需要相互传输数据的网络应用中,如QQ使用的就是UDP协议。在网络质量不好的情况下,使用UDP协议时丢包现象十分严重,[详细]
-
插入排序的思想与达成InsertSort
所属栏目:[教程] 日期:2021-11-20 热度:114
简单来说,插入排序的思想是将待排序数列(这里用数组表示)分为已排好序和未排好序的两部分,一般将前面先排有序,例如:a[0]...a[i]已经有序,剩下的任务就是将a[i+1]...依次插入到前面有序的数列中,并同时使前面的序列仍然有序。 插入排序的开销主要在:[详细]
-
C++中使用动态数组的技巧
所属栏目:[教程] 日期:2021-11-20 热度:194
1.变长一维数组 这里说的变长数组是指在编译时不能确定数组长度,程序在运行时需要动态分配内存空间的数组。实现变长数组最简单的是变长一维数组,你可以这样做: //文件名: array01.cpp #includeiostream using namespace std; int main() { int len; cinle[详细]
-
Python达成switch功能
所属栏目:[教程] 日期:2021-11-20 热度:128
Python实现switch功能 #!/usr/bin/env python # Filename: switch.py # Author: zhangliang - z_liang90@126.com # Last modified: 2014-02-26 10:53 # Description: from __future__ import division def arithMetic(x,oprator,y): result = { +:x+y, -:x-y,[详细]
-
Ubuntu 上编译Android出现cannot find -lstdc++解决措施
所属栏目:[教程] 日期:2021-11-20 热度:169
在Ubuntu 12.04 x86_64机器上编译Android出现下面错误,是因为找不到32bit的libstdc++.so库。 /usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/4.6/libstdc++.so when searching for -lstdc++ /usr/bin/ld: skipping incompatible /usr/li[详细]
-
Qt中使用QLabel显示时间的两种办法
所属栏目:[教程] 日期:2021-11-20 热度:83
Qt中使用QLabel显示时间的两种方法思路一致,只是实现方法不一样而已。 main.cpp #include displaytime.h #include QApplication int main(int argc, char *argv[]) { QApplication a(argc, argv); DisplayTime w; w.show(); return a.exec(); } 方法一: di[详细]
-
Linux中多线程的达成
所属栏目:[教程] 日期:2021-11-20 热度:171
所谓的多线程就是多个函数同时执行。一般将线程表述为一个api加一个函数。线程函数有特定的格式要求,以便系统自动调用。 Windows进程包含多个线程,进程是分配资源(包括CPU)的最小单位,而线程是调度的最小单位。 Linux中的进程和线程关系应该和Windows一[详细]
-
Python 新式类与经典类的差异
所属栏目:[教程] 日期:2021-11-20 热度:103
从 Python2.2 开始,Python 引入了 new style class。虽然从使用上看,new style class 与 classic class 没有太大的差别, 但是在实现上, 两者有很大的区别。比如,下文所展示的基类搜索机制上的不同。 #!/usr/bin/env python classic class class CA(): va[详细]
-
Objective-C 和 Core Foundation 对象相互转换的内存管理概括
所属栏目:[教程] 日期:2021-11-20 热度:195
iOS允许Objective-C 和 Core Foundation 对象之间可以轻松的转换,拿 NSString 和 CFStringRef 来说,直接转换豪无压力: CFStringRef aCFString = (CFStringRef)aNSString; NSString *aNSString = (NSString *)aCFString; 针对内存管理问题,ARC 可以帮忙管[详细]