`
Ancool
  • 浏览: 30882 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论
文章列表

Objective-C中的锁

    博客分类:
  • iOS
    锁是线程编程同步工具的基础。锁可以让你很容易保护代码中一大块区域以便你可以确保代码的正确性。 1 使用POSIX互斥锁     POSIX互斥锁在很多程序里面很容易使用。为了新建一个互斥锁,你声明并初始化一个pthread ...
在Android项目中用到JNI,当用了proguard后,发现native方法找不到很多变量,原来是被produard优化掉了。所以,在JNI应用中该慎用progurad啊。 解决办法: 1、在Android.mk中加入一行: LOCAL_PROGUARD_FLAGS := -include $(LOCAL_PATH)/proguard.flags 2、创建proguard.flag文件,里面写入不需要proguard优化的类和方法。例如: -keep class oms.miracle.mobiletv.broadcast.ServiceContext { 
  synchronized(obj) { while(!condition) { obj.wait(); } obj.doSomething(); }     当线程A获得了obj锁后,发现条件condition不满足,无法继续下一处理,于是线程A就wait() , 放弃对象锁. 之后在另一线程B中,如果B更改了某些 ...
  一、隐藏标题栏   //隐藏标题栏   this.requestWindowFeature(Window.FEATURE_NO_TITLE);   二、隐藏状态栏   //隐藏状态栏   this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);   三、去掉所有Activity界面的标题栏   修改AndroidManifest.xml   在application 标签中添加android:theme=& ...
在BlackBerry设备上使用Java 应用程序控制使用BlackBerry API BlackBerry Java 开发环境(简称JDE)的设计提供了一套完整的API和工具,来开发在BlackBerry设备上运行的Java应用程序。BlackBerry设备包含了一个基于CLDC1.1以及MIDP的Java ME(Java Platform ...
    修改安装目录下(如:…BlackBerry JDE5.0.0\simulator或者…\Research In Motion\BlackBerry Smartphone Simulators 5.0.0\5.0.0.484 (9500_EastAsia))的device.xml     例如9550机型为 9550.xml     打开会看到: <SimulatorConfiguration version=”1.0″ hardwareid=”0x0C001404″ flashSize=”32768″ platformVersion=”1.8.0.0″ vendorID=”0 ...
由于Android对于APN的网络API没有公开,不过我们可以阅读源代码,然后进行数据库操作,系统会自动监听数据库的变化,从而实现开启或者关闭APN。   大家可以研究一下frameworks/base/core/java/android/provider/Telephony.java这个类, 比较重要的就是 URI 和数据库字段: content://telephony/carriers 字段可以在Telephony.java中找到。     其实原理很简单 :  1 、 当开启APN的时候,设置一个正确的移动或者联通的APN 2、 关闭的时候设置一个错误APN就会自动关闭网 ...
  zlib(http://www.zlib.net/)是一套非常流行的且开源的压缩、解压缩库,由Jean-loup Gailly与Mark Adler所开发,初版0.9版在1995年5月1日发表。zlib使用DEFLATE演算法,最初是为libpng函式库所写的,后来普遍为许多软体所使用。 zlib当前版本是 1.2.3,其移植性非常好,本人已经在Windows、Linux、WinCE、Symbian等平台成功地移植了zlib,当然也包括今天要移植的平台:Android。 首先,从zlib 的官方网站下载zlib的源代码:zlib123.zip,解压后得到一个目录zlib-1.2.3,z ...
SDL(Simple DirectMedia Layer)是一套开放源码的跨平台多媒体开发库,使用C语言写成。SDL提供了多种图像、声音、键盘等的实现,可配置性与移植性非常高,开发者可以开发出跨多个平台(Linux、Windows、Mac OS X、Symbian、Widnows Mobiel等 ...
在做SDL至Android的移植时,键盘事件是能正常捕获到,看了SLD的源码,发现用的device是 /dev/tty0,但是鼠标叫是不能成功捕获,总是得到 0,运行命令查看devices时,显示如下:  # cat /proc/bus/input/devices cat /proc/bus/input/devices I: Bus=0000 Vendor=0000 Product=0000 Version=0000 N: Name="qwerty" P: Phys= S: Sysfs=/class/input/input0 U: Uniq= H: Handl ...
虽然现在能通过交叉环境编译程序,并push到Android上执行,但那只是console台程序,是不是有些单调呢?下面就要看如何通过Linux的 framebuffer 技术在Android上画图形,关于Linux的framebuffer技术,这里就不再详细讲解了,请大家google一下。 操作framebuffer的主要步骤如下: 1、打开一个可用的FrameBuffer设备; 2、通过mmap调用把显卡的物理内存空间映射到用户空间; 3、更改内存空间里的像素数据并显示; 4、退出时关闭framebuffer设备。 下面的这个例子简单地用framebuffer画了一个渐变的进度 ...
Android是基于Linux的操作系统,处理器是ARM的,所以要在Linux或Windows等x86系统上编译Android能运行的程序,你需要一个交叉编译器。 在Linux下面,你可以自已编译一个交叉编译环境,但Windows下面,就比较复杂(也可以在cygwin中编译一个),但你可以选择下载一个现成的交叉编译环境: http://www.codesourcery.com/gnu_toolchains/arm/download.html Windows: http://www.codesourcery.com/gnu_toolchains/arm/portal/package3400/ ...
  新建一个activity,编辑AndroidManifest.xml。 <intent-filter> <action android:name="ancool.miao"/> <category android:name="android.intent.category.DEFAULT"/> </intent-filter>      调用。 Intent intent = new Intent("ancool.mi ...
  android本身就有linux下的SDK包。 所以就方便了不少,可是一直不知道如何在ubuntu下开始执行adb命令。。 然后就各种搜索。 新手要善用搜索。。   找到很多方法,终于找到一个可以使用的。。 现在已经在开始用了。   写在这里做一个记录,并且凑一篇文章下来 。。   首先下载SDK工具 http://developer.android.com/sdk/ 解压得到 Android SDK , 文件名很随意。   之后将fastboot 放入解压得出文件的 /tools , 可以在这里下载 http://android-dls.com/files/linux/f ...
    1,web 浏览器   Java代码   Uri myBlogUri = Uri.parse("http://kuikui.iteye.com ");   returnIt = new Intent(Intent.ACTION_VIEW, myBlogUri);   Uri myBlogUri = Uri.parse("http://kuikui.iteye.com ");   returnIt = new Intent(Intent.ACTION_VIEW, myBlogUri);   2,地图   Jav ...
Global site tag (gtag.js) - Google Analytics