随笔分类 -  android

Android笔记:invalidate()和postInvalidate() 的区别及使用(转载)
摘要:原文Android提供了Invalidate方法实现界面刷新,但是Invalidate不能直接在线程中调用,因为他是违背了单线程模型:Android UI操作并不是线程安全的,并且这些操作必须在UI线程中调用。invalidate()是用来刷新View的,必须是在UI线程中进行工作。比如在修改某个view的显示时,调用invalidate()才能看到重新绘制的界面。invalidate()的调用是把之前的旧的view从主UI线程队列中pop掉。 一个Android 程序默认情况下也只有一个进程,但一个进程下却可以有许多个线程。在这么多线程当中,把主要是负责控制UI界面的显示、更新和控件交互的线 阅读全文

posted @ 2012-02-13 18:14 苏桓(osbert) 阅读(261) 评论(0) 推荐(0)

android LBS的定位源码解析
摘要:GPS定位能提供精确, 详细的数据。但是有的时候我们不能通过GPS获得数据,如在屋子里面,无GPS功能等情况。那我们就需要其他的定位手段,基站定位是一个不错的选择。当我们手机开机时,手机会自动向信号最强的无线通讯台联系,注册信息,这个通讯台就是我们所说的基站,每个基站都有自己的id,我们通过这个基站的id能够找到基站的位置,而国内城市的基站密度可以达到500米以下或者更低,所以能够大体上确定我们的位置。准备工具:1. TelephonyManager: 主要提供了一系列用于访问与手机通讯相关的状态和信息的get方法。其中包括手机SIM的状态和信息、电信网络的状态及手机用户的信息。在这里我们就是 阅读全文

posted @ 2012-01-13 14:41 苏桓(osbert) 阅读(5239) 评论(0) 推荐(0)

有关Activity的Launch mode 以及Intent的setFlags(转载)
摘要:有关Activity的Launch mode 以及Intent的setFlagsActivity有四种加载模式:standard(默认), singleTop, singleTask和 singleInstance。以下逐一举例说明他们的区别:standard:Activity的默认加载方法,即使某个Activity在Task栈中已经存在,另一个activity通过Intent跳转到该activity,同样会新创建一个实例压入栈中。例如:现在栈的情况为:A B C D,在D这个Activity中通过Intent跳转到D,那么现在的栈情况为: A B C D D 。此时如果栈顶的D通过Inten 阅读全文

posted @ 2011-12-06 17:29 苏桓(osbert) 阅读(186) 评论(0) 推荐(0)

NDK开发DEMO
摘要:http://www.androidzz.com/2011/09/ubuntu-x64-android-ndk-c/ 阅读全文

posted @ 2011-12-02 09:57 苏桓(osbert) 阅读(148) 评论(0) 推荐(0)

android 3D摄像头的扩展现实
摘要:JPCT的应用现在貌似还不多,用纯java语言在android平台上的3D实现目前还需要功能更强大的硬件支持,不过JPCT论坛的这个帖子很值得学习,就此翻译一下,译文如下:所有的代码,这里提供的是免费使用,你使用它,我不负责。我收到了一个问题,我发现很有意思,与大家分享。关于这个主题的详细信息有极少部分是介绍如何在android上设置正确的工作布局。因此,在这个主题,我会回答简单的问题:如何使用Android摄像头和JPCT-AE作为渲染覆盖摄像头。(扩展现实的概念)必须具备已有的引擎,并且相关代码功能齐备。首先,我们需要建立一个XML布局。我们的最低要求是glSurfaceView,我们将用 阅读全文

posted @ 2011-10-10 15:36 苏桓(osbert) 阅读(1217) 评论(0) 推荐(1)

android图片压缩
摘要:这段代码很多网站都有转载,在这里是为了注释:较大的图片文件上传到服务器一般都需要压缩调整,保证数据通信的效率是最主要的。//对图片进行压缩BitmapFactory.Optionsoptions=newBitmapFactory.Options();options.inJustDecodeBounds=true;//获取这个图片的宽和高Bitmapbitmap=BitmapFactory.decodeFile("/sdcard/dcim/Camera/hello.jpg",options);//此时返回bm为空options.inJustDecodeBounds=false 阅读全文

posted @ 2011-10-10 11:04 苏桓(osbert) 阅读(7314) 评论(1) 推荐(0)

android自动检测版本更新
摘要:packagecom.hiyo.game.pdk.tool;importjava.io.File;importjava.io.FileOutputStream;importjava.io.InputStream;importjava.net.URL;importjava.net.URLConnection;importandroid.app.Activity;importandroid.app.AlertDialog;importandroid.app.ProgressDialog;importandroid.content.Context;importandroid.content.Dial 阅读全文

posted @ 2011-09-27 15:04 苏桓(osbert) 阅读(544) 评论(0) 推荐(0)

android客户端使用网络数据压缩
摘要:GZIPInputStream面试遇到了网络数据压缩的问题,本来问道这个问题前我也看过Gzip,不是很理解,龙哥提示要把网络两个字去掉就有思路了,再次提示下我才看到gzip方式。Gzip也是android客户端支持的方式,官网解释:GZIPInputStream此类类是用来读取在GZIP格式存储的数据,从底层的流进它的缓冲区读取和解压GZIP数据。InputStream is = ...GZIPInputStream zis = new GZIPInputStream(new BufferedInputStream(is));try { // Reading from 'zis' 阅读全文

posted @ 2011-09-26 09:37 苏桓(osbert) 阅读(1708) 评论(0) 推荐(0)

ubuntu下运行android emulator权限不够解决方法
摘要:ubuntu下运行android emulator权限不够解决方法在ubuntu下安装的eclipse及android sdk,运行模拟器时提示权限不够的解决方法是,在终端中找到当前sdk目录然后使用管理员权限执行以下命令。# chmod 777 android-sdk-linux_x86/ -R 阅读全文

posted @ 2011-08-30 14:14 苏桓(osbert) 阅读(416) 评论(0) 推荐(0)

foursquare的高效率XML分析器(一)
摘要:在分析foursquare的代码时,xml交互数据应该算是最核心的部分,通常理解为sax解析,但我找了半天没有在代码中找到,所以意识到是思路有偏差,重新整理发现用的是分析器(Parser)的方式来处理,并且效率很高代码如下:package com.joelapenna.foursquare.parsers;import com.joelapenna.foursquare.Foursquare;import com.joelapenna.foursquare.error.FoursquareError;import com.joelapenna.foursquare.error.Foursqua 阅读全文

posted @ 2011-08-18 18:37 苏桓(osbert) 阅读(285) 评论(0) 推荐(0)

导航