11 2012 档案

摘要:首先需要说明的是JMF是个什么东西?这个简单问下百度,在百度里输入JMF后看百度百科就很清楚了,我就不啰嗦了,啰嗦也没人家说的好。哈哈接下来就说它的安装了,我下载的是2.1.1e版本的,在windows安装直接默认就行了。下载去官网(google里输入JMF)。下来就说正事了,功能就说用电脑本机上的摄像头采集数据然后存放成视频文件就ok了好了看代码先是启动类public class MainClass { /** * 程序运行入口 * @param args */ public static void main(String[] args) { MainFrame frmMain = ... 阅读全文
posted @ 2012-11-22 14:39 JackyYang7 阅读(511) 评论(0) 推荐(0)
摘要:编辑器加载中...许多朋友在找关于网络视频会议的资料,希望对这方面感兴趣的朋友有所帮助。也真诚希望大家多多交流。 一.简介 1.1JMF 体系结构简介 在开发JMF 应用程序之前要完全理解JMF 的体系架构、接口和类。就拿我们的家用摄像机系统作个例子。首先用摄像机拍摄内容,拍摄下来的内容录制在DV带中。DV带可以放在放像机里播放、放像机提供视频信号给电视机,提供音频信号给音箱,这样我们就可以在电视机上看到画面,从音箱里听到声音。JMF API 提供的也是同样的模型。 JMF 提供的模型可大致分为七类 * 数据源(Data source) * 截取设备(Capture D... 阅读全文
posted @ 2012-11-21 16:04 JackyYang7 阅读(780) 评论(0) 推荐(0)
摘要:各位,本人的问题具体是这样的:我用的是eclipse+tomcatjsp页面与applet的class文件的路径关系是这样的:-工程名/src/com/model/logic/SoundCalling.java(applet路径)-工程名/WebRoot/jsp页面-工程名/WEB-INF/classes/com/model/logic/SoundCalling.class我的jsp页面中用下面两种方法来写都不行,都会报错,说找不到类:<jsp:plugintype="applet"code="WEB-INF.classes.com.model.logic. 阅读全文
posted @ 2012-11-21 09:54 JackyYang7 阅读(860) 评论(0) 推荐(0)
摘要:随着Android honeycomb的普及,对于Android开发用的平板电脑购买也是十分必要的,到底哪款平板适合开发使用呢?一、硬件方面 CPU最好是主流的NVIDIA Tegra2 A9双核1GHz,RAM为1GB,分辨率为WXGA即1280x800,运行的系统至少为Android 3.0。对于非谷歌官方的Android 2.x系统可以忽略,毕竟很多API是3.0才开始有的。二、选购品牌品牌过硬,最好是一线的大厂,由于和Google合作紧密,得到Android最新版代码和研发效率等因素要好很多,知名品牌的固件升级有保障。 目前摩托罗拉的Xoom已经有Android 3.1固件了,三星G. 阅读全文
posted @ 2012-11-20 23:01 JackyYang7 阅读(581) 评论(0) 推荐(0)
摘要:很多Android开发者可能觉得仅仅了解Java层还不够,这里Android123结合源码帮助大家如何了解Android Framework层。 首先Android开发网提示大家需要了解哪些前置知识,首先要有C++基础,如果你只会C,可能对于C++ STL标准库,以及模板和泛型的理解会吃力很多,同时要有OOP的思想否则看Android这样的大工程可能无法很好的组织,这点可以通过h文件画出UML图来快速了解整个结构。 1. 首先我们从Android GIT源码托管站点下载Framework层的源码,在base.git包 2. 对于Android来说,Google内部使用C++有些类似STL,因为 阅读全文
posted @ 2012-11-20 23:01 JackyYang7 阅读(345) 评论(0) 推荐(0)
摘要:在Android平台上做Web上传等操可以考虑对于URL编码尽量做UTF-8的处理,这样空格和中文字符将会被转换,比如空格处理为20%,Android应用可以直接使用Java的URLEncoder.encode(strUrl , "utf-8"); 来处理,比如说String sUrl="http://www.android123.com.cn/中文/";String sDest=URLEncoder.encode(sUrl , "utf-8");执行完后sDest将会返回编码好的URL,同时上传图片可以考虑先处理为Base64编码。 阅读全文
posted @ 2012-11-20 23:00 JackyYang7 阅读(187) 评论(0) 推荐(0)
摘要:越来越多的Android隐私问题,使得我们考虑如何保护系统安全,对于Android平台的防火墙,可以考虑Rootkit惯用的Hook技术来实现一个简单的防火墙,这样我们可以对敏感的服务,比如说LocationManager、TelephonyManager和SmsManager以及CameraManager等可能产生隐私泄露的行为进行拦截,目前来看在Android上实现这些技术已经不是问题,但Root权限的请求是必须的。由于Android的API相对于其他平台更开放,如果Google推出一套权限的反病毒框架,安全和功能开放上可以做的更有竞争力。 阅读全文
posted @ 2012-11-20 23:00 JackyYang7 阅读(467) 评论(0) 推荐(0)
摘要:很多网友不明白很多Android山寨平板均使用了480x800的分辨率,但是相对于手机来说明显比手机的480x800的WVGA显示的内容要多和大,这点Android123提示大家还是要从DPI这样的问题入手了,在系统中存在DPI这个概念是依赖于设备的,同时显示系统的density也决定了分辨率,所以一般的7英寸平板电脑显示的480x800分辨率,完全可以放心,远大于你的手机。最简单的方法可以观察山寨平板的桌面图标显示数量或开个浏览器便可知晓。 阅读全文
posted @ 2012-11-20 22:59 JackyYang7 阅读(208) 评论(0) 推荐(0)
摘要:对于Android应用中涉及到文件下载来说,我们可以使用Java运行库的URL库或Apache的HttpXXX的处理。经过长期的测试JRE中的 URLConnection 的稳定性不是很好,这主要是封装问题底层仍然使用的是Apache的库,而从Android 2.2开始引入的AndroidHttpClient使用的是Apache库的方式下载,在整体稳定性和可靠性方面有了很大的提升,这里Android123推荐大家使用Apache。 一个完善的文件下载类需要更多的HTTP协议通讯,Apache库对于Web提交(上传)或Web下载有着强大的功能,比如说断点需要主要是获取Server上文件的大小,. 阅读全文
posted @ 2012-11-20 22:59 JackyYang7 阅读(209) 评论(0) 推荐(0)
摘要:对于Android平台,很多网友可能考虑开发一个软件商店,对于Android平台上如何实现断点续传操作呢? 这里Android123给大家一些思路和原理的介绍,同时在Android手机上要考虑的一些事情。 1. 流量控制,获取运营商的接入方式,比如说使用移动网络接入,尽可能的提示用户切换WiFi或提示,限制下载的流量以节省话费。 2. 屏幕锁控制,屏幕锁屏后导致应用会被挂起,当然Android提供了PowerManager.WakeLock来控制。 3. 对于断点续传,这要追溯到Http 1.1的特性了,主要是获取文件大小,如果这个无法读取的话,那么就无法断点续传了只能使用chunked模式了 阅读全文
posted @ 2012-11-20 22:58 JackyYang7 阅读(583) 评论(0) 推荐(0)
摘要:很多网友可能发现部分Android手机或平板支持底座,目前比较主流的有摩托罗拉系列,中低端的Milestone和Milestone 2代均可以使用充电底座或多媒体底座,网购大概50元左右。而中高端的Atrix 4G则支持HD或物理键盘底座,在我们连接底座后,一般使用官方固件的Android手机会自动切换到底座的桌钟模式,会显示提前、时间或闹铃等信息,如果通过代码获取底座插拔状态呢? 下面Android123给大家一个简单的思路。 在Androidmanifest.xml文件中,我们在自己应用的主activity中,加入下面的代码<meta-data android:name=" 阅读全文
posted @ 2012-11-20 22:58 JackyYang7 阅读(381) 评论(0) 推荐(0)
摘要:相信Android开发者都喜欢用C++编写一些高效的应用,有关Android NDK的C++开发相关知识Android123总结如下: 1. 从Android NDK r5开始支持了STL Port,在这个版本开始就可以使用部分STL库的功能了,比如说vector、string摆脱c下面容易出现的数组未初始化、越界,增强应用的健壮性。 2. 很多网友包含了include <vector> 这样头,但仍然无法编译,这里你首先要检查当前文件是否为.cpp后缀,同时为了使用标准库必须加入 APP_STL := stlport_static 在Application.mk文件中。相关对应还 阅读全文
posted @ 2012-11-20 22:57 JackyYang7 阅读(367) 评论(0) 推荐(0)
摘要:对于Android来说除了SDK和NDK外,ADK被称为第三大革命型,Android ADK通过USB为传输方式可以和外设进行通讯,基于Google的Open Accessory Protocol(开放式附件协议) 可以让你的Android设备和车载系统、家电进行通讯,当然ADK还可以让Android设备支持各种常用USB设备,比如扫描仪、打印机、键盘、鼠标等。在Android开源项目GIT官网上已经开设了device/google/accessory/arduino.gitdevice/google/accessory/demokit.git这两个分支,其中demokit为演示包,可以让你轻 阅读全文
posted @ 2012-11-20 22:57 JackyYang7 阅读(441) 评论(0) 推荐(0)
摘要:很多网友来函表示对Android AIDL不是很理解,这里Android123准备了一个简单的例子,帮助大家了解Android上比较强大的远程服务设计吧。 一、为什么要使用AIDL,他的优势有哪些呢? AIDL服务更像是 一个Server,可以为多个应用提供服务。由于使用了IDL这样类似COM组件或者说中间语言的设计,可以让后续的开发者无需了解内部,根据暴漏的接口实现相关的操作,AIDL可以工作在独立的进程中。二、学习AIDL服务需要有哪些前置知识? 作为Android上服务的扩展,首先你要了解Android Service模型,Android Serivice我们可以分为两种模式,三个类型, 阅读全文
posted @ 2012-11-20 22:57 JackyYang7 阅读(8003) 评论(0) 推荐(0)
摘要:对于Android平台来说已经有迹象表明开放纯C/C++编写的应用,过去我们也介绍过今天就说下具体的吧,在NDK的Samples中名为native-activity的例子已经证实了这点,不过目前Android123提示大家,显示系统Android上提供的C++接口只有OpenGL了,一起来看看AndroidManifest.xml中的定义吧。不过必须在Android 2.2或更高的固件上才能运行。注意下面的minSDK设置的为8,同时application的android:hasCode=false表示了这个应用将没有Java代码。 <?xml version="1.0&quo 阅读全文
posted @ 2012-11-20 22:56 JackyYang7 阅读(434) 评论(0) 推荐(0)
摘要:有关Android NDK开发的相关问题,仍然有不少网友存在问题,下面就常见的问题Android123总结如下: 1. Android 1.5如果调用C++库,都支持哪些方法? 由于Android 1.5 API Level为3,当初提供的类和函数可以在NDK下查看include目录中找到<cstddef>、 <new>、 <utility> 和 <stl_pair.h> 可以看到都是语言运行库和基本的数据类型。2. NDK下的log支持,这里大家可以包含<android/log.h>这个头文件,同时在mk文件中加入LOCAL_LDL 阅读全文
posted @ 2012-11-20 22:55 JackyYang7 阅读(182) 评论(0) 推荐(0)
摘要:很多Android新手对于JNI开发过程中的疑问不是很清楚,根据android123@163.com邮箱中反馈的内容我们整理如下: 1. JNI中,什么情况才处理jstring、jint、jobject这样的类型,其实通过NDK开发Android C++应用,大部分仍然是常规的cpp和h的标准写法,只有需要和Java层通讯的方法才包含了类似JNIEXPORT void JNICALL XXX这样的函数,大多数的逻辑和标准C/C++没有什么区别。2. 我有一个在Windows上开发好的dll能否在Android上使用呢? 这里Android开发网提醒大家,对于dll这样的PE文件只能在Windo 阅读全文
posted @ 2012-11-20 22:55 JackyYang7 阅读(170) 评论(0) 推荐(0)
摘要:1. 如何让你的应用优先安装到SD卡上? 从Android 2.2 SDK开始多出了一个属性在AndroidManifest.xml中,在manifest节点加入android:installLocation="preferExternal"即可,当然要想让你的应用真正的安装到SD卡上,用户最终的固件为2.2,同时用户选择安装时在SD卡上。一般只有大型游戏或非重要的系统级应用选择安装在SD卡上,SD卡的读写要慢于ROM且更费电,所以重要的应用,比如闹铃提醒是不能设置安装到SD卡的。 2. 如何防止Service被系统回收? 对于Service被系统回收,一般做法是通过提高优 阅读全文
posted @ 2012-11-20 22:54 JackyYang7 阅读(185) 评论(0) 推荐(0)
摘要:对于很多新手Android应用程序开发出一些不错的UI可能有些难度,这里Android123推荐大家不妨试试更灵活的HTML作为UI,通过html+css+javascript方式,可以灵活开发出各种吸引人的UI,你甚至可以考虑JQuery这样的组件,老外已经写了本名为 《Building Android Apps with HTML, CSS, and JavaScript 》的图书,目前简体中文版仅售28元,可以通过搜索 《使用HTML、CSS和JavaScript开发Android程序》购买到。 如果你是刚入门Android开发,做一些简单有趣的应用,可以尝试下html方式,最大的特点就 阅读全文
posted @ 2012-11-20 22:54 JackyYang7 阅读(178) 评论(0) 推荐(0)
摘要:Android SDK目录下有很多文件夹,主要都是干什么的呢? 1. add-ons 这里面保存着附加库,比如Google Maps,当然你如果安装了Ophone SDK,这里也会有一些类库在里面。 2. docs 这里面是Android SDK API参考文档,所有的API都可以在这里查到。 3. market_licensing 作为Android Market版权保护组件,一般发布付费应用到电子市场可以用它来反盗版。 4. platforms 是每个平台的SDK真正的文件,里面会根据API Level划分的SDK版本,这里就以Android 2.2来说,进入后有一个android-8的文 阅读全文
posted @ 2012-11-20 22:49 JackyYang7 阅读(251) 评论(0) 推荐(0)
摘要:对于开发者选择Windows Phone和Android呢? 下面就Android123的对实战开发不同做简单对比: 一、用户界面 Windows Phone的用户界面Metro UI我们算作色块好了,桌面主题无法定制,即使是每个厂商的主题,必须单独运行一个程序,比如HTC Hub。相对于Android来说桌面整个就可以被替换掉,这里分为三部分吧:1. 整个桌面主题 2.顶部滑动的状态栏 3. 桌面appWidget小插件。 Android用户可以放置天气预报、微博、开关WiFi小插件到桌面上,而WP7每次都要进入相应的程序,或进入到系统设置中才能开关WiFi十分繁琐。整体流畅性,Androi 阅读全文
posted @ 2012-11-20 22:49 JackyYang7 阅读(221) 评论(0) 推荐(0)
摘要:对于很多处理图形相关的Android开发者来说,大的Bitmap对象可能直接导致软件崩溃,Android平台如何防止内存泄露呢? 目前来说Android设备的RAM可能差距比较大,很多低端配置的256MB RAM或512MB RAM由于运行了太多的后台任务或HTC Sense这样的主题导致了处理一些高像素的图片,比如500w或800w像素的照片很容易崩溃。 1. 判断目标设备Dalvik VM内存情况 通过 java.lang.Runtime类的long freeMemory() 方法可以获取当前进程的RAM可用情况,Runtime类需要 getRuntime() 方法来实例化。比如获取最大可 阅读全文
posted @ 2012-11-20 22:48 JackyYang7 阅读(180) 评论(0) 推荐(0)
摘要:很多Android开发者对于Activity中如何传递复杂的类型不是很清楚,这里Android123再帮刚入门的开发者整理下。对于传递 一、实现Parcelable接口 对于Android来说传递复杂类型,主要是将自己的类转换为基础的字节数组,Activity之间传递数据是通过Intent实现的,对于二进制数据,传递的参数为putExtra(String name, Parcelable value) ,比如Bitmap类就实现了Parcelable接口,如果需要在Activity中传递图片,可以直接用Bitmap类型,当然如果本身是Drawable你可以先转化为Bitmap,可以参考Bitm 阅读全文
posted @ 2012-11-20 22:48 JackyYang7 阅读(319) 评论(0) 推荐(0)
摘要:对于Activity状态保存上一次在强制保持Android Activity状态一文中我们做了讲解,但是还有一种更坏的情况,比如你接的来电时间比较长,由于用户的Android设备RAM较少,你的应用被Java VM的GC给回收了,下次用户再切换回,由于你的应用已经被系统结束了任务,对于游戏来说这可能是致命的。 所以通过重写Activity的onSaveInstanceState(Bundle outState) 方法可以在Android系统触发结束任务时,保存当前Activity的值,而下次进入该Activity时,可以通过重写 onRestoreInstanceState(Bundle sa 阅读全文
posted @ 2012-11-20 22:48 JackyYang7 阅读(175) 评论(0) 推荐(0)
摘要:对于Android来说,官方提供了一个简单的录音程序,可以很方便的实现一个语音便签功能,大约95%的Android设备均自带了官方的这个录音应用,调用方法为 1. 首先在Activity中定义一个Activity返回结果句柄 private static final int CWJ_RECORD = 1987; 2. 接下来只需要执行Media.RECORD_SOUND_ACTION这个Action即可启动Android内置的录音程序。 Intent intent = new Intent(Media.RECORD_SOUND_ACTION);startActivityForResult(in 阅读全文
posted @ 2012-11-20 22:47 JackyYang7 阅读(466) 评论(0) 推荐(0)
摘要:有时候我们使用adb shell想更改一些应用的配置信息,Android上每个应用android.content.SharedPreferences类保存的位置对应apk安装后的/data/data/<package name>/shared_prefs 目录中,由于使用了key-value的pair方式存储,这里android使用的是xml文件,在linux shell下编辑不是很方便,不过通过 setpref 命令可以很轻松的修改。 1. 首先chmod 777 设置文件有写权限。 2. 为了防止共享违例,可以先killall <package name> 来结束掉 阅读全文
posted @ 2012-11-20 22:47 JackyYang7 阅读(457) 评论(0) 推荐(0)
摘要:PhoneGap是一个开源项目,使用PhoneGap通过编写HTML5、CSS和JavaScript让你的应用很容易的在不修改代码情况下运行在谷歌Android、iOS苹果和微软Windows Phone 7、诺基亚Symbian等系统上,看起来有些像J2ME当初的一次编译,各处执行的设计方式,没错由于HTML5层面比Java还高,所以PhoneGap就是一个中间件,在各个平台上解析你的HTML代码来执行相应的功能。 今天Android123介绍的不是PhoneGap而是它本身就是开源的,由于为了兼容各个平台,比如Bada、Qt可以让很多移动开发者快速通过学习PhoneGap的代码来了解各个平 阅读全文
posted @ 2012-11-20 22:46 JackyYang7 阅读(185) 评论(0) 推荐(0)
摘要:对于Android平台的APK文件安装来说,如果安装失败后,则系统会返回一些错误,下面是Android最新版的APK安装返回值,adb install的返回值可能和这个部分有出入,具体可以参考base下cmds的pm相关的执行脚本,分析,下面是目前最新的返回结果,由于Google将PackageManager的installPackage方法移除,下面的返回值也从最新的SDK文档中移除,作为结果参考方便大家查阅Android123整理如下:int FORWARD_LOCK_PACKAGEint INSTALL_FAILED_ALREADY_EXISTSint INSTALL_FAILED_CO 阅读全文
posted @ 2012-11-20 22:46 JackyYang7 阅读(851) 评论(0) 推荐(0)
摘要:[Android开发视频教学].01_01_Android平台一日http://android.itmdc.com/forum.php?mod=viewthread&tid=45[Android开发视频教学].01_02_搭建Android开发环境http://android.itmdc.com/forum.php?mod=viewthread&tid=46[Android开发视频教学].01_03_say_hello_to_Androidhttp://android.itmdc.com/forum.php?mod=viewthread&tid=47[Android开发 阅读全文
posted @ 2012-11-20 22:45 JackyYang7 阅读(222) 评论(0) 推荐(0)
摘要:前一段,Android123介绍了PhoneGap开源项目用于多平台的学习在《PhoneGap让你的应用兼容Android、iOS、WP7》一文中讲到了,今天一起来看下PhoneGap for Android平台的代码吧,完整源码打包放到了Android开发论坛上,点击进入下载页面对于初入Android开发的网友可以很好的了解代码规范,同时很多成熟的可复用代码希望对大家有帮助。PhoneGap内部数据传递使用了JSON,比如PhoneGap中指南针部分源码如下:public class CompassListener extends Plugin implements SensorEventL 阅读全文
posted @ 2012-11-20 22:44 JackyYang7 阅读(226) 评论(0) 推荐(0)
摘要:对于Android平台的安全问题凸显,Android123经过长期的分析研究就目前Android平台上Rootkit开发实现底层防火墙相关基础做简单的总结,Android的Rootkit和PC上的Linux Rootkit没有太大的区别,如果你有Linux内核相关知识或Win32下内核驱动开发知识阅读本文会轻松很多。 和Windows一样Android的Rootkit离不开底层的调用,在Win32上我们使用较低层的API有Native API,一般以Ring0中以Zw开头的函数居多,在Ring3中则为Nt开头的函数,比如任务管理器常用的NtQuerySystemInformation函数,它们 阅读全文
posted @ 2012-11-20 22:43 JackyYang7 阅读(474) 评论(0) 推荐(0)
摘要:对于谷歌Android 4.0 Ice Cream SandWich和微软WP7.5 Mango在开发技术上作对比,可以看出早期Google学习了Microsoft的WPF的设计方式,由于微软Windows Phone 7发布缓慢,导致Google在技术上将微软复杂的设计方式改进,从现在来看安卓冰激凌三明治和微软WP7芒果来看开发技术上仍然存在着巨大的差异。对于准备步入移动开发的网友,就目前主流的系统做简单的分析: 一、UI控件和设计模式 对于WP7来说,整体控件数量不如Android丰富和实用,但也有一些创新的地方,比如说枢轴Piovt控件,在触控操作上比Android的TabHost强了. 阅读全文
posted @ 2012-11-20 22:43 JackyYang7 阅读(153) 评论(0) 推荐(0)
摘要:Android 4.0引入了一项很重要的技术就是 WiFiDirect (WiFi直连) ,它可以让WiFi设备无需热点即可实现两个WiFi设备的P2P数据交换。使用最新的Android 4.0 SDK,最低API Level 14才支持此项技术,在SDK的例子中我们可以看到很多界面用到了Android 3.0时代的Fragment容器。 首先我们需要实现android.net.wifi.p2p.WifiP2pManager.ChannelListener 接口来获取支持WiFi直连的Android设备。 public class WiFiDirectActivityextendsActiv. 阅读全文
posted @ 2012-11-20 22:42 JackyYang7 阅读(360) 评论(0) 推荐(0)
摘要:对于Android 4.0 SDK中提供的Beam例子,对于NFC开发来说的确是一个不错的模板。对于了解NFC的NDEF消息处理过程不妨看下面的代码。public class Beam extends Activity implements CreateNdefMessageCallback, OnNdefPushCompleteCallback { NfcAdapter mNfcAdapter; TextView mInfoText; private static final int MESSAGE_SENT = 1; @Override public void onCreate(Bundl 阅读全文
posted @ 2012-11-20 22:41 JackyYang7 阅读(638) 评论(0) 推荐(0)
摘要:对于Android手机来说,由于Google全面开放多任务同时运行着Java这样的解释型语言导致对RAM的开销很大,随着Android平台的发展很多新手程序员在经验等问题,会导致你的应用执行效率较低。针对于发布版应用应该注意以下几点:一、慎用Logcat输出 如果你的应用总是在后台不断的输出Log.i或Log.d的内容,除了增加系统开销外,对你应用的整体效率受影响,尤其是持续输出很多内容。由于Log需要底层的JNI调用,对Java虚拟机的开销来说还是不小的。二、ProGuard扰码器 对于Android应用加密,扰码器可能除了修改类和变量的名称外,增加算法复杂难度,可能出现本身1+1=2的问题 阅读全文
posted @ 2012-11-20 22:40 JackyYang7 阅读(229) 评论(0) 推荐(0)
摘要:对于Android NDK版本来说,编译出来的so文件对应运行的Android固件最小版本是有一定要求的,高版本的NDK编译出的.so文件由于包含了一些新的特性,新特性可能在低版本的Android固件上无法运行,目前最新的对着表Android开发网总结如下API Level 1 --- Android 1.0 不支持NDKAPI Level 2 --- Android 1.1 不支持NDKAPI Level 3 --- Android 1.5 NDK 1API Level 4 --- Android 1.6 NDK 2API Level 5 --- Android 2.0API Level 6 阅读全文
posted @ 2012-11-20 22:39 JackyYang7 阅读(1553) 评论(0) 推荐(0)
摘要:一、HTTP基础1、网络开发必备的HTTP协议知识http://www.eoeandroid.com/thread-83496-1-1.html2、Http和Socket区别http://www.eoeandroid.com/thread-96927-1-1.html3、关于HTTP协议中的KeepAlive属性http://www.eoeandroid.com/thread-165564-1-1.html二、实例教程1、Android 通过http协议数据交互http://www.eoeandroid.com/thread-91611-1-1.html2、android使用http协议上传文 阅读全文
posted @ 2012-11-20 13:05 JackyYang7 阅读(682) 评论(0) 推荐(2)
摘要:iPhone 开发过程中,内存的使用至关重要。不但要合理分配使用内存,还要注意内存泄露的问题, 因为内存泄露会导致程序由于内存不足而崩溃。根据个人开发的经验来看,在开发iPhone程序的过程中,关于内存的问题需要注意以下几点:内存分配、释放成对出现使用 alloc 分配的内存对象需要在用完后 调用release释放注意copy,retain,assign操作符的区别copy, retain操作符赋值的对象和alloc一样,需要release释放,否则会导致内存泄露assign 操作符的含义是将对象指向另一对象, 两者指向的是同一内存对象,无需调用release释放NSArray, NSDict 阅读全文
posted @ 2012-11-18 23:02 JackyYang7 阅读(209) 评论(0) 推荐(0)
摘要:一、简单的get请求网络编程是我们经常遇到的,在IPhone中,SDK提供了良好的接口,主要使用的类有NSURL,NSMutableURLRequest,NSURLConnection等等。一般情况下建议使用异步接收数据的方式来请求网络连接,这种网络连接分为两步,第一步是新建NSURLConnection对象后,直接调用它的start方法来连接网络。第二步是使用delegate方式来接收数据,这里给一个常用的写法:网络请求部分:NSString *urlString = [NSString stringWithFormat:@"http://www.voland.com.cn:808 阅读全文
posted @ 2012-11-18 23:02 JackyYang7 阅读(285) 评论(0) 推荐(0)
摘要:ARC是什么ARC是iOS 5推出的新功能,全称叫 ARC(Automatic Reference Counting)。简单地说,就是代码中自动加入了retain/release,原先需要手动添加的用来处理内存管理的引用计数的代码可以自动地由编译器完成了。该机能在 iOS 5/ Mac OS X 10.7 开始导入,利用 Xcode4.2 可以使用该机能。简单地理解ARC,就是通过指定的语法,让编译器(LLVM 3.0)在编译代码时,自动生成实例的引用计数管理部分代码。有一点,ARC并不是GC,它只是一种代码静态分析(Static Analyzer)工具。变化点通过一小段代码,我们看看使用AR 阅读全文
posted @ 2012-11-18 23:01 JackyYang7 阅读(1429) 评论(0) 推荐(0)
摘要:代码下载地址:UICustomSwitch.rariPhone SDK中的Switch控件默认的文本为 ON OFF两种,不同的语言显示不同, 颜色均为蓝色和亮灰色,如图如果想改变ON,OFF文本,我们必须重从UISwitch继承一个新类, 然后在新的Switch类中修改替换原有的Views, 申明代码如下UICustomSwitch.h//// UICustomSwitch.h// UICatalog//// Created by aish on 09-2-25.// Copyright 2009 .. All rights reserved.//#import <UIKit/UIKi 阅读全文
posted @ 2012-11-18 23:01 JackyYang7 阅读(621) 评论(0) 推荐(0)
摘要:代码下载地址:objective-c-memman.zip此文章是作者Vince Yuan的一篇力作,写的很不错.对iphone内存不熟悉的朋友看过来.版本1.1发表于2010-03-08前言初学objectice-C的朋友都有一个困惑,总觉得对objective-C的内存管理机制琢磨不透,程序经常内存泄漏或莫名其妙的崩溃。我在这里总结了自己对objective-C内存管理机制的研究成果和经验,写了这么一个由浅入深的教程。希望对大家有所帮助,也欢迎大家一起探讨。此文涉及的内存管理是针对于继承于NSObject的Class。一基本原理Objective-C的内存管理机制与.Net/Java那种全 阅读全文
posted @ 2012-11-18 23:00 JackyYang7 阅读(176) 评论(0) 推荐(0)
摘要:UITextField是我们经常用的之一但是常用的属性都很熟悉,有些不常用的我也总结下,例如下面的:UIImageView * myView = [[ UIImageView alloc]initWithImage:[UIImage imageNamed:@"face.png"]];UIImageView * myView2 = [[ UIImageView alloc]initWithImage:[UIImage imageNamed:@"face.png"]];UITextField *myTextField=[[UITextField alloc] 阅读全文
posted @ 2012-11-18 22:59 JackyYang7 阅读(167) 评论(0) 推荐(0)
摘要:NSDate是NS类库中基础类型之一。随着数字化发展,程序对数据处理量越来越大,我们经常从服务器取得的日期是字符串序列,格式化为正确的date类型是一个不可避免的工作。在Cocoa程序里提供了非常方便的函数和类,但是仍然需要我们了解一些技巧。尤其是当我们的程序面对大量的日期字符串转换的时候,要格外的注意。苹果文档中使用NSDateFormatter类格式化日期字符串,但是以防读者不知道,我这里提一下:它的速度非常慢!!这篇文章介绍如何处理这种情况。- (NSDate *)dateFromString:(NSString *)string {//Wed Mar 14 16:40:08 +0800 阅读全文
posted @ 2012-11-18 22:59 JackyYang7 阅读(288) 评论(0) 推荐(0)
摘要:HockeyKit是一个用于iOS和Android下的app更新的开发包,作者是Thomas Dohmke,主页是:http://hockeykit.net/简述:Hockey 是一个iOS Ad-Hoc 自动更新框架。所有的苹果店中的app都可以使用它,它能显著提高整个beta测试过程。它分为两部分:服务器和客户端框架。服务端组件总是必需的,它不需要客户端库就能单独工作。它提供了一个web界面给beta测试者通过iPhoneSafari去安装最新的AdHoc激活文档及最新的beta测试版本。只需在服务器上安装一次服务端,就可以处理bundle identifier不同的多个应用程序(我强烈建 阅读全文
posted @ 2012-11-18 22:58 JackyYang7 阅读(682) 评论(0) 推荐(0)
摘要:最近在用happe解析html中的图片。有个翻页操作,如果请求的html中没有需要解析的标记的话会造成xmllib2的内存泄露。这一个是happ的一个bug吧。修改方法:修改 XPathQuery.m 类中的NSArray *PerformXPathQuery(xmlDocPtr doc, NSString *query){xmlXPathContextPtr xpathCtx;xmlXPathObjectPtr xpathObj;/* Create xpath evaluation context */xpathCtx = xmlXPathNewContext(doc);if(xpathCt 阅读全文
posted @ 2012-11-18 22:57 JackyYang7 阅读(198) 评论(0) 推荐(0)
摘要:代码下载地址:201207162220045782.zip使用Objective-C解析HTML或者XML,系统自带有两种方式一个是通过libxml,一个是通过NSXMLParser。不过这两种方式都需要自己写很多编码来处理抓取下来的内容,而且不是很直观。有一个比较好的类库hpple,它是一个轻量级的包装框架,可以很好的解决这个问题。它是用XPath来定位和解析HTML或者XML。安装步骤:-加入 libxml2 到你的项目中 Menu Project->Edit Project Settings 搜索“Header Search Paths”添加新的 search path “${SD 阅读全文
posted @ 2012-11-18 22:57 JackyYang7 阅读(204) 评论(0) 推荐(0)
摘要:总结了一些开源的IOS项目,与大家分享。扫描wifi信息:http://code.google.com/p/uwecaugmentedrealityproject/http://code.google.com/p/iphone-wireless/条形码扫描:http://zbar.sourceforge.net/iphone/sdkdoc/install.htmltcp/ip的通讯协议:http://code.google.com/p/cocoaasyncsocket/voip/sip:http://code.google.com/p/siphon/http://code.google.com 阅读全文
posted @ 2012-11-18 22:52 JackyYang7 阅读(208) 评论(0) 推荐(0)
摘要:代码下载地址:201207162237173664.zip大概你第一眼看来,动态调整高度是一件不容易的事情,而且打算解决它的第一个想法往往是不正确的。在这篇文章中我将展示如何使图表单元格的高度能根据里面文本内容来动态改变,同时又不必子类化UITableViewCell。你当然可以通过子类化它来实现,但是这样做会使得代码复杂因为设置高度是在图表本身的实例上而不是对单元格操作。下面你将会看到这其实是一件轻而易举的事情。对于图表来说能够动态调整高度是件很有意义的事情,我首先想到的需要这个功能的是当显示一列长度会变化的文本列表时,如果文本内容较少,它或许能够适合正常的单元格label,但是如果文本变长 阅读全文
posted @ 2012-11-18 22:52 JackyYang7 阅读(301) 评论(0) 推荐(0)
摘要:代码下载地址:201207170853252862.zip今天就讲下UIScrollView的一些事情,这个可以拖动的组件无论在应用还是游戏开发都会经常用到,所以我们就一定要更加熟悉它了。下面我们开始下手咯。(1)初始化一般的组件初始化都可以alloc和init来初始化,上一段代码初始化。UIScrollView *sv = [[UIScrollView alloc] initWithFrame:CGRectMake(0.0, 0.0, self.view.frame.size.width, 400)];一般的初始化也都有很多方法,都可以确定组件的Frame,或者一些属性,比如UIButton 阅读全文
posted @ 2012-11-18 22:51 JackyYang7 阅读(207) 评论(0) 推荐(0)
摘要:代码下载地址:201207170954152133.zip项目中需要获取本机IP并发送到服务器,之前在网上找了一段代码获取ip,模拟器运行正常,但在真机上得到的却是一段乱七八糟的字符串。又在网上找的一段代码,It works:#define MAXADDRS 32extern char *if_names[MAXADDRS];extern char *ip_names[MAXADDRS];extern char *hw_addrs[MAXADDRS];extern unsigned long ip_addrs[MAXADDRS];// Function prototypesvoid InitA 阅读全文
posted @ 2012-11-18 22:50 JackyYang7 阅读(275) 评论(0) 推荐(0)
摘要:这篇介绍几种变量类型的区别和注意点,虽然简单.但比较实用.1、当需要使用int类型的变量的时候,可以像写C的程序一样,用int,也可以用NSInteger,但更推荐使用NSInteger,因为这样就不用考虑设备是32位的还是64位的。2、NSUInteger是无符号的,即没有负数,NSInteger是有符号的。3、有人说既然都有了NSInteger等这些基础类型了为什么还要有NSNumber?它们的功能当然是不同的。NSInteger是基础类型,但是NSNumber是一个类。如果想要存储一个数值,直接用NSInteger是不行的,比如在一个Array里面这样用:NSArray *array= 阅读全文
posted @ 2012-11-18 22:50 JackyYang7 阅读(1233) 评论(0) 推荐(0)
摘要:相信很多人买来iPhone第一件事就是为它贴膜、买保护套吧。在街边小摊买的手机贴膜,到了消费者手上少则七八十元,多则一二百元,但成本不足1块钱,是不是让你觉得差价太大,利润太多呢?有没有想过自己来贴膜?自己动手丰衣足食,让我们动手来为iPhone贴膜吧!来看看小编为贴膜准备的工具吧:膜(其中附带无尘布)大卷的封箱胶带公交卡(用来挤压气排出空气,或者其他卡片也可以)剪刀或者戒刀(用来剪胶带)Step 1:首先使用贴膜中附带的无尘布(有眼睛布或者专用屏幕擦拭布最好不过了)清理好屏幕上面的灰尘、油渍等等脏东西,记得也要在一个尽量少灰尘的环境下进行贴膜。然后用车卡在贴膜时候慢慢的一点点挤压出可能存在的 阅读全文
posted @ 2012-11-18 22:49 JackyYang7 阅读(624) 评论(0) 推荐(0)
摘要:代码下载地址:201207171710488122.zip正则表达式功能强大,使用广泛,相信折腾代码的童鞋都深有体会。大多数语言都有正则表达式的内置函数库,但iOS的SDK却不支持,只能使用第三方类库RegexKitLite,一个非常不错的Objective-C语言的正则类,是NSString的category,调用灰常方便。一、到http://regexkit.sourceforge.net/下载RegexKitLite类,添加到项目中;二、在项目的framework中添加libicucore.dylib;三、调用正则:if ([aString isMatchedByRegex:@" 阅读全文
posted @ 2012-11-18 22:49 JackyYang7 阅读(291) 评论(0) 推荐(0)
摘要:源码下载地址:201207211128467512.rar在android中我曾经利用zxing做过条形码扫描功能,现在又找到了一个iphone下免费开源的条形码扫描的sdk,下面介绍一下这个sdk的使用.免费的条形码是zbar,其使用地址是:http://zbar.sourceforge.net/iphone/sdkdoc/install.html下面是实现的效果:利用条形码,可以简单的得到二维码的值.具体的实现过程如下:首先下载zbr的sdk。然后,创建工程,iphone.scanbar。第三,把下载的ZBarSDK添加到工程中。第四,然后添加.framework到工程中。第五,然后添加一 阅读全文
posted @ 2012-11-18 22:48 JackyYang7 阅读(1549) 评论(0) 推荐(0)
摘要:有时候需要动态缩小图片,这样你可以用UIImage来缩小图片,代码如下:@implementation UIImage (Extras)#pragma mark -#pragma mark Scale and crop image- (UIImage*)imageByScalingAndCroppingForSize:(CGSize)targetSize{UIImage *sourceImage = self;UIImage *newImage = nil;CGSize imageSize = sourceImage.size;CGFloat width = imageSize.width;C 阅读全文
posted @ 2012-11-18 22:47 JackyYang7 阅读(193) 评论(0) 推荐(0)
摘要:代码下载地址:201207302119082861.rar在IPhone SDK开发范例大全中,有很多的范例码下面这段范例码,示范了两张图片的交换,以及放大缩小的动画动画效果请参照下图#import <UIKit/UIKit.h>#define IMAGE_VIEW_1 100#define IMAGE_VIEW_2 101#define BIGRECT CGRectMake(0.0f, 0.0f, 320.0f, 435.0f)#define SMALLRECT CGRectMake(130.0f, 187.0f, 60.0f, 60.0f)@interface ToggleVi 阅读全文
posted @ 2012-11-18 22:47 JackyYang7 阅读(425) 评论(0) 推荐(0)
摘要:这段代码示范如何取得iphone剩余磁盘空间/全部磁盘空间#include <sys/param.h>#include <sys/mount.h>long long freeSpace() {struct statfs buf;long long freespace = -1;if(statfs("/", &buf) >= 0){freespace = (long long)buf.f_bsize * buf.f_bfree;}return freespace;}+(float)getTotalDiskSpaceInBytes {NSA 阅读全文
posted @ 2012-11-18 22:45 JackyYang7 阅读(237) 评论(0) 推荐(0)
摘要:有些朋友在使用Xcode 4.x的时候,会发现XIB无法从iPhone版转变为iPad版,很不方便,转载了一篇文章,希望对大家有用。在Xcode 3.x中,将xib从iPhone版转变为iPad版,通过Create iPad Version菜单。但在Xcode 4.x中,这个菜单找不到了。通过一番摸索,笔者发现可以用如下方法将xib转换为iPad版本。1、修改xib源文件xib文件其实是一个xml文件,你可以以文本方式编辑和修改它。在Project Navigator中,在xib文件上右键,选择“Open As ->Source Code”,即可以源代码方式查看xib文件,找到" 阅读全文
posted @ 2012-11-18 22:43 JackyYang7 阅读(238) 评论(0) 推荐(0)
摘要:现在大家都喜欢用MAC系统,以下介绍几款MAC下面比较实用和流行的代码编辑器XcodeXcode 是一个Apple的解决方案,用来开发OSX和iOS应用。支持C,C++,Objective-C,Objective- C++,Java,AppleScript,Python和Ruby。使用Xcode你可以书写,debug和预览代码。提供了GUI builder和一个移动设备模拟器用来测试iOS应用。IDE基于开源工具例如GNU Debugger和Apple LLVM compiler。Xcode曾经需要付费,但是现在免费提供给大家使用。Coda 2Coda是一个all-in-one的web开发人员 阅读全文
posted @ 2012-11-18 22:43 JackyYang7 阅读(15494) 评论(0) 推荐(0)
摘要:源码下载:201208261028444663.zip使用Quartz Core绘制文字非常简单,苹果的Quartz 2D参考中演示了如何使用CGContextShowTextAtPoint函数绘制文本。不幸的是,这个函数不支持Unicode字符的绘制(这个函数只支持MacRoman一种编码)。如果你使用中文、日文等亚洲字体,那么就不得不悲催了。许多童鞋肯定会被文档中的这句话所吸引:“如果想使用MacRoman以外的文本编码,请调用CGContextShowGlyphsAtPoint替代CGContextShowTextAtPoint。”如果你采用这种办法,那么另一种悲剧就产生了。一、CGCo 阅读全文
posted @ 2012-11-18 22:42 JackyYang7 阅读(323) 评论(0) 推荐(0)
摘要:其实iOS中已经包含了中文字体。这不奇怪,否则iPhone是通过什么来显示中文?使用下列代码,我们可以查看iPhone上支持的所有字体名:NSArray *fontFamilies = [UIFontfamilyNames];for(NSString *fontFam in fontFamilies) {NSLog(@"=========%@=========",fontFam);NSArray *fontNames = [UIFontfontNamesForFamilyName:fontFam];for (NSString* fontName in fontNames) 阅读全文
posted @ 2012-11-18 22:42 JackyYang7 阅读(322) 评论(0) 推荐(0)
摘要:这个Bug折腾了我近一天,读一个文件,NSLog输出文件内容,结果死活读不完整,不光中文没有,英文也不全,考虑了编码,文件大小,文件位置等各种可能的因素,尝试用各种方式重写这个操作,最后发现是NSLog的问题,跟文件一毛钱关系都没有,感谢这两个链接:link1 link2 。鉴于第二个链接已经解释的很清楚了,我这里就简要说一下,毕竟Wall还是有些麻烦重现Bug很简单,Xcode 4.3+,用lldb在真机上运行(模拟器没有问题)下面代码:NSLog(@"English1");NSLog(@"中文");NSLog(@"English2" 阅读全文
posted @ 2012-11-18 22:40 JackyYang7 阅读(404) 评论(0) 推荐(0)
摘要:1、概要翻开ios官方开发文档,赫然发现上面对这三个属性的解释如下:frame:描述当前视图在其父视图中的位置和大小。bounds:描述当前视图在其自身坐标系统中的位置和大小。center:描述当前视图的中心点在其父视图中的位置。是不是有点迷糊?好吧,别急,让我们先说说ios的坐标系统。2、ios坐标系统ios以左上角为坐标原点(0,0),以原点向右侧为X轴正方向,原点下侧为Y轴正方向,如下图所示。ios采用CGPoint来表示点在坐标系上X、Y位置。我们可以通过CGPointMake(x,y)来创建一个坐标点:CGPoint point = CGPointMake(80,40)同时,ios采 阅读全文
posted @ 2012-11-18 22:40 JackyYang7 阅读(302) 评论(0) 推荐(0)
摘要:iPhone文件读写系统操作教程是本文要介绍的内容,对于一个运行在iPhone得app,它只能访问自己根目录下得一些文件(所谓sandbox).一个app发布到iPhone上后,它得目录结构如下: 1、其中获取 app root 可以用 NSHomeDirectory() 访问到; 2、Documents 目录就是我们可以用来写入并保存文件得地方,一般可通过以下代码获取,NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);NSString *doc... 阅读全文
posted @ 2012-11-18 22:39 JackyYang7 阅读(678) 评论(0) 推荐(0)
摘要:对于app应用来说,使用列表的形式展现数据非UITableView莫属.在熟练掌握了用UITableView展示数据以后,是不是也遇到了需要删除数据的需求?是不是觉得在一行数据上划动一下,然后出现一个删除按钮很酷?废话少说,直奔正题,就由笔者来向您展示一下这个功能的实现是多么容易.先前的准备工作:第一步,准备好数据源.#import <UIKit/UIKit.h>@interface UITableCellSwapDeleteViewController : UIViewController <UITableViewDelegate>{IBOutlet UITableV 阅读全文
posted @ 2012-11-18 22:36 JackyYang7 阅读(163) 评论(0) 推荐(0)
摘要:这里罗列了一些不同的网站,教你如何创建用户界面和伟大的应用程序以及App Store的开发。这些教程中的大部分是完全免费的。1)Apple Learning Objective C2)Design then Code3)Mobile Tutsplus4) Team Tree House5)Introduction to iOS Development Coding your First Application6)Stackoverflow – iOS7)iPhone App Development Where to Start8)iPhonedev9)Lynda10)Raywenderlich 阅读全文
posted @ 2012-11-18 22:34 JackyYang7 阅读(175) 评论(0) 推荐(0)
摘要:Java Media Framework 基础教程Java媒体架构基础内容表格1. 关于此指南2. 一个简单的音频播放器3. JMF用户接口组件4. JMF概念5. 传播和接收媒体6. 总结以及资源第一节. 关于此指南此指南包含的内容?Java 媒体架构(JMF)是一个令人激动的通用的API,它允许Java开发者用许多不同的方法处理媒体。本指南主要通过使用工作的例子提供一个JMF的一些主 要的特征的概述。阅读完本指南后,你将会明白JMF体系结构中的主要播放功能。你同样能正确的使用JMF,使用现存的例子和可为更多特殊功能扩展的源代 码。本指南包含着以下主题:· 下载和安装JMF 阅读全文
posted @ 2012-11-18 10:48 JackyYang7 阅读(1626) 评论(0) 推荐(0)
摘要:本文主要介绍JMF整体框架概念。author: ZJ06-11-14Blog:[url]http://zhangjunhd.blog.51cto.com/[/url] 原文出处JMF(Java Media Framework)是Sun公司提出的Java媒体架构。它是对应Java 2平台标准版(J2SE)的一种可选用的应用编程接口(API)。JMF的源代码通过SCSL(Sun社团源代码许可模式)发布这一强大的媒体工具包,可以在任何版本(1.1.x及以上版本)的Java平台上的运行。JMF2.1.1技术提供了先进的媒体处理能力,从而扩展了Java平台的功能。JMF所提供的多媒体功能如下:l可以在J 阅读全文
posted @ 2012-11-17 17:29 JackyYang7 阅读(380) 评论(0) 推荐(0)
摘要:Struts、Hibernate和Spring是我们Java开发中的常用关键,他们分别针对不同的应用场景给出最合适的解决方案。但你是否知道,这些知名框架最初是怎样产生的?我们知道,传统的Java Web应用程序是采用JSP+Servlet+Javabean来实现的,这种模式实现了最基本的MVC分层,使的程序结构分为几层,有负责前台展示的JSP、负责流程逻辑控制的Servlet以及负责数据封装的Javabean。但是这种结构仍然存在问题:如JSP页面中需要使用符号嵌入很多的Java代码,造成页面结构混乱,Servlet和Javabean负责了大量的跳转和运算工作,耦合紧密,程序复用度低等等。St 阅读全文
posted @ 2012-11-17 12:31 JackyYang7 阅读(184) 评论(0) 推荐(0)