08 2011 档案
AsyncTask 实现异步处理任务
摘要:本文来自:安卓航班网 在开发Android应用时必须遵守单线程模型的原则: Android UI操作并不是线程安全的并且这些操作必须在UI线程中执行。在单线程模型中始终要记住两条法则: 1. 不要阻塞UI线程 2. 确保只在UI线程中访问Android UI工具包 当一个程序第一次启动时,Android会同时启动一个对应的主线程(Main Thread),主线程主要负责处理与UI相关的事件,如:用户的按键事件,用户接触屏幕的事件以及屏幕绘图事件,并把相关的事件分发到对应的组件进行处理。所以主线程通常又被叫做UI线程。 比如说从网上获取一个网页,在一个TextView中将... 阅读全文
posted @ 2011-08-30 16:45 泉と緣 阅读(398) 评论(0) 推荐(1)
Android:layout_weight详解
摘要:本文来自:安卓航班网 layout_weight 用于给一个线性布局中的诸多视图的重要度赋值。所有的视图都有一个layout_weight值,默认为零,意思是需要显示多大的视图就占据多大的屏幕空 间。若赋一个高于零的值,则将父视图中的可用空间分割,分割大小具体取决于每一个视图layout_weight 值以及该值在当前屏幕布局的整体 layout_weight值和在其它视图屏幕布局的layout_weight值中所占的比率而定。 举个例子:比如说我们在 水平方向上有一个文本标签和两个文本编辑元素。 该文本标签并无指定layout_weight值,所以它将占据需要提供的最少空间。如果两个文本.. 阅读全文
posted @ 2011-08-30 16:21 泉と緣 阅读(413) 评论(0) 推荐(0)
android 中使用socket使native和framework通信
摘要:本文来自:安卓航班网一般的native和framework的通信是通过jni,但是这一般只是framework调用native,native如果有消息要怎样通知上层呢?android中GSP模块提供一种解决思路,但是实现有些复杂,这里介绍一种使用socket通信的方法可以使native和framework自由通信,具体实现如下: android中使用jni对linux中的socket进行了封装。使用起来十分的方便。 由于android是基于linux的,所以linux的代码会在java之前先执行,所以一般native端是服务器。framework端是客户端。 java层主要代码: LocalS 阅读全文
posted @ 2011-08-28 19:45 泉と緣 阅读(776) 评论(0) 推荐(0)
Android中线程与进程的理解
摘要:本文来自:安卓航班网进程和线程 当一个应用程序开始运行它的第一个组件时,Android会为它启动一个Linux进程,并在其中执行一个单一的线程。默认情况下,应用程序所有的组件均在这个进程的这个线程中运行。然而,你也可以安排组件在其他进程中运行,而且可以为任意进程衍生出其它线程。进程 组件运行所在的进程由manifest文件所控制。组件元素——<activity>, <service>, <receiver>和<provider>——都有一个process 属性来指定组件应当运行于哪个进程之内。这些属性可以设置为使每个组件运行于它自己的进程之内,或 阅读全文
posted @ 2011-08-28 19:43 泉と緣 阅读(415) 评论(0) 推荐(0)
Android 代码监控apk安装,卸载,替换
摘要:本文来自:安卓航班网从题目上看大家应该就能明白了,那么我就不多说了,现在我们就来看看代码是怎么写的吧。java代码: public class GetBroadcast extends BroadcastReceiver {private static GetBroadcast mReceiver = new GetBroadcast();private static IntentFilter mIntentFilter;public static void registerReceiver(Context context) {mIntentFilter = new IntentFilter( 阅读全文
posted @ 2011-08-27 19:36 泉と緣 阅读(510) 评论(0) 推荐(0)
http soap关系
摘要:本文来自:安卓航班网http:是一个客户端和服务器端请求和应答的标准(TCP)。http协议其目的是为了提供一种发布和接收htttp页面的方法一http协议的客户端与服务器的交互:由HTTP客户端发起一个请求,建立一个到服务器指定端口(默认是80端口)的TCP连接。HTTP服务器则在那个端口监听客户端发送过来的请求。一旦收到请求,服务器(向客户端)发回一个状态行,比如"HTTP/1.1 200 OK",和(响应的)消息,消息的消息体可能是请求的文件、错误消息、或者其它一些信息。soap 协议:它描述了一种在分散或分布式的环境中如何交换信息的轻量级协议。soap在http协议 阅读全文
posted @ 2011-08-27 19:22 泉と緣 阅读(280) 评论(0) 推荐(0)
Android SDK所有版本区别
摘要:本文来自:安卓航班网Android 1.0 第一版商用操作系统 Android 1.1 更新了部分API,新增一些功能,修正了一些错误,同时增加com.google.android.maps包 Android 1.5 智能虚拟键盘 使用widgets实现桌面个性化 在线文件夹(Live Folder)快速浏览在线数据 视频录制和分享 图片上传 更快的标准兼容浏览器 Voice search 语音搜索 立体声蓝牙和免提电话 Android 1.6 完全重新设计的Android Market,可以显示更多的屏幕截图 手势支持,可以让开发者生成针对某个应用程序的手势库 支... 阅读全文
posted @ 2011-08-24 20:21 泉と緣 阅读(457) 评论(0) 推荐(0)
Android 基础知识杂谈
摘要:本文来自:安卓航班网 switch case什么情况用 if-else就像一个1V1的开关,但是可以在else这头再串联if-else,开关switch-case是一个1VN的开关,根据switch()中的变量的不同值,用case转换比如要根据一个变量的状态来执行不同语句。用switch-case略简单但是要根据多个变量时最好还是if-else去嵌套。 .class 和 .java 区别文件类型区别 .java为Java的源文件后缀,编写的代码需要写在.java文件中。而.class是字节码文件,是.java源文件通过javac命令编译后生成的文件。Java虚拟机就是去运行.cla... 阅读全文
posted @ 2011-08-24 20:08 泉と緣 阅读(385) 评论(0) 推荐(0)
[相关总结性文章] 写给即将入行的程序员的一封信
摘要:本文来自:安卓航班网 首先,欢迎来到程序员的世界。在这个世界上,不是有很多人想创造软件并解决问题。你是一名hacker,属于那些愿意做一些有挑战性的事情的人。 “当你不创造东西时,你只会根据自己的感觉而不是能力去看待问题。” – WhyTheLuckyStiff 对于下面的文字你不必完全接受,所有这些来自一个其貌不扬的程序员。我喜欢把事情做到最好,而不是对原来的东西修修补补。 仅仅是因为爱好,开始做一些创新,这是一个很好的开始!如果你说“我要先学习一下再开始做”,那么你永远不会真正开始。每个人都需要从某个地方开始,所以现在打开你的编辑器开始写代码吧。 下面是一些很重要的建议,虽然有... 阅读全文
posted @ 2011-08-23 20:26 泉と緣 阅读(354) 评论(0) 推荐(0)
Android开发游戏必备的思路
摘要:本文来自:安卓航班网一、Android游戏开发的背景。 开发背景就是你简单的介绍一下你开发游戏的历史什么的。二、功能演示。 就是功能演示了,本游戏有加载界面、欢迎界面、游戏主界面。三、游戏策划。 游戏策划就是你要开发什么样的游戏,完了根据游戏来制定出: 游戏情节(这就是看自己的喜好了) 目标平台(就是你在android编写代码的版本) 呈现技术(就是你应用了什么样的技术) 操作方式(就是用手机的键盘还是触屏的)四、开发前的工作准备。 主要就是有两个方面:1、图片的准备 2、声音的准备五、游戏的总构架,我用具体的实例来说明... 阅读全文
posted @ 2011-08-23 19:25 泉と緣 阅读(509) 评论(0) 推荐(0)
Android开发基础YesNo对话框构造代码
摘要:本文来自:安卓航班网很多初入Android开发的网友询问,如何快速的实现一个简单的YesNo对话框,其实我们主要的构造代码如下AlertDialog.Builder builder = new AlertDialog.Builder(CWJ.this);builder.setTitle("标题");builder.setMessage("问题描述");builder.setPositiveButton("是", CWJ.this);builder.setNegativeButton("否", null);build 阅读全文
posted @ 2011-08-22 22:36 泉と緣 阅读(316) 评论(0) 推荐(0)
在android模拟器中永久删除自带应用程序
摘要:本文来自:安卓航班网首先启动android模拟器。打开cmd命令行窗口。输入 adb -s emulator-5554 shell此时可以管理系统文件夹了,再输入 ls可以看到列出了文件夹和文件,输入 cd system/app再输入 ls可以看到系统自带的应用程序apk文件,删除你想要删除的,例如Phone.apk,输入 rm Phone.apk此时会看到提示说rm failed for Phone.apk, Read-only file system那是因为这些是只读文件,我们没有权限删除它。所以接下来要做的是获取权限,首先查看权限,输入 mount可以看到/dev/block/mtdbl 阅读全文
posted @ 2011-08-22 22:25 泉と緣 阅读(711) 评论(0) 推荐(1)
[android]实现拖动效果
摘要:本文来自:安卓航班网要实现拖动效果需要做以下的准备。1.创建一个Android工程。2.在main.xml中添加一个ViewFlipper组件。<ViewFlipper android:id="@+id/ViewFlipper01"android:layout_width="wrap_content" android:layout_height="wrap_content"></ViewFlipper>在代码中设置ViewFlipper的事件和属性viewFlipper = (ViewFlipper) find 阅读全文
posted @ 2011-08-17 21:55 泉と緣 阅读(528) 评论(0) 推荐(0)
Android开发铃声和音量的获取程序
摘要:本文来自:安卓航班网 通过程序获取android系统手机的铃声和音量。同样,设置铃声和音量的方法也很简单!设置音量的方法也很简单,AudioManager提供了方法: publicvoidsetStreamVolume(intstreamType,intindex,intflags)其中streamType有内置的常量,去文档里面就可以看到。JAVA代码:AudioManager mAudioManager = (AudioManager) getSystemService(Context.AUDIO_SERVICE);//通话音量int max = mAudioManager.getStre 阅读全文
posted @ 2011-08-17 21:46 泉と緣 阅读(334) 评论(0) 推荐(0)
Android自定义Adapter步骤
摘要:本文来自:安卓航班网 Android中提供了大量的适配器Adapter,常见的有BaseAdapter、SimpleCursorAdapter、CursorAdapter等等,其中包含Cursor可以自动和数据库关联。一般在ListView中我们需要定义一些显示的内容,需要用到继承Adapter实现窗口的子类化。 一般我们需要重写Adapter类的四个方法即可,分别是public int getCount() 、public Object getItem(int position)、public long getItemId(int position)和public View getView( 阅读全文
posted @ 2011-08-16 21:45 泉と緣 阅读(314) 评论(0) 推荐(0)
Android蓝牙栈bluez使用方法
摘要:本文来自:安卓航班网 很多开发人员在最新的Android 0.9 SDK中没有找到蓝牙栈相关的参考,不过在官方消息中我们已经看到了是采用的是org.bluez相关的Package。这里主要介绍下Android蓝牙SDP相关的例程,我们看到是.intent.action,分为4个阶段:org.bluez.intent.action.DISCOVERY_STARTED 开始探测org.bluez.intent.action.REMOTE_DEVICE_FOUND 远程设备找到org.bluez.intent.action.REMOTE_NAME_UPDATED获取远程设备名称org.bluez.i 阅读全文
posted @ 2011-08-16 21:43 泉と緣 阅读(450) 评论(0) 推荐(0)
Android系统的十个实用小技巧
摘要:本文来自:安卓航班网 1. 不要安装经常使用的应用程序到SD卡中。你可能已经注意到当你的手机连接USB线时所有安装在SD卡的程序都无法访问,这意味着你充电时无法使用这些程序,除非你每次充电前都操作一次把程序移到手机内存。另外SD卡的存取速度肯定不如手机内存快,安装程序在SD卡也会影响程序运行速度,这一点在速度较慢的SD卡上尤其明显。 2. 使用USB绑定共享手机的移动网络,不要使用WLAN热点。Android系统的使用WiFi分享手机网络给其他设备的功能虽然很酷,不过使用后你可能发现你的手机电量会在短时间内消耗光,所以我们建议你使用另外一种分享网络的方式,使用USB绑定共享手机的移动网络。通过 阅读全文
posted @ 2011-08-16 21:31 泉と緣 阅读(446) 评论(0) 推荐(0)
Android Info类总结
摘要:本文来自:安卓航班网 首先我们来看一下PackageItemInfo,它是包含了一些信息的基类,它的直接子类有:ApplicationInfo、ComponentInfo、InstrumentationInfo、PermissionGroupInfo、PermissionInfo。它的间接子类有:ActivityInfo、ProviderInfo、ServiceInfo。这个类包含的信息对于所有包中项目是平等的。这些Package items是被Package manager所持有的。这个类提供了属性的非常普通的基本设置:label、icon和meta-data。这个类的意图不是被自己调用。它 阅读全文
posted @ 2011-08-15 20:43 泉と緣 阅读(295) 评论(0) 推荐(0)
使用SharedPreferences进行数据存储
摘要:本文来自:安卓航班网 很多时候我们开发的软件需要向用户提供软件参数设置功能,例如我们常用的QQ,用户可以设置是否允许陌生人添加自己为好友。对于软件配置参数的保存,如果是window软件通常我们会采用ini文件进行保存,如果是j2se应用,我们会采用properties属性文件或者xml进行保存。如果是Android应用,我们最适合采用什么方式保存软件配置参数呢?Android平台给我们提供了一个SharedPreferences类,它是一个轻量级的存储类,特别适合用于保存软件配置参数。使用SharedPreferences保存数据,其背后是用xml文件存放数据,文件存放在/data/data/ 阅读全文
posted @ 2011-08-15 20:12 泉と緣 阅读(206) 评论(0) 推荐(0)
Android系统架构基本模式解析
摘要:本文来自:安卓航班网 Android系统架构之应用程序 Android会同一系列核心应用程序包一起发布,该应用程序包包括email客户端,SMS短消息程序,日历,地图,浏览器,联系人管理程序等。所有的应用程序都是使用JAVA语言编写的。 Android系统架构之应用程序框架 开发人员也可以完全访问核心应用程序所使用的API框架。该应用程序的架构设计简化了组件的重用;任何一个应用程序都可以发布它的功能块并且任何其它的应用程序都可以使用其所发布的功能块(不过得遵循框架的安全性限制)。同样,该应用程序重用机制也使用户可以方便的替换程序组件。隐藏在每个应用后面的是一系列的服务和系统, 其中包括; * 阅读全文
posted @ 2011-08-15 19:06 泉と緣 阅读(246) 评论(0) 推荐(0)
Android开发ListView适配器优化
摘要:本文来自:安卓航班网 Adapter的作用就是ListView界面与数据之间的桥梁,当列表里的每一项显示到页面时,都会调用Adapter的getView方法返回一个View。 优化的思路两种: 1. View的重用 View的每次创建是比较耗时的,因此对于getview方法传入的convertView应充分利用 != null的判断 2.ViewHolder的应用 View的findViewById()方法也是比较耗时的,因此需要考虑只调用一次,之后就用View.getTag()方法来获得ViewHolder对象 下面是优化后的代码供参考: public class MyAdapter ext 阅读全文
posted @ 2011-08-14 20:37 泉と緣 阅读(191) 评论(0) 推荐(0)
Android 下载网络图片注意的问题
摘要:本文来自:安卓航班网 在使用的过程中,如果网络比较慢的话,则会出现下载不成功的问题。经过google搜索,终于解决了这个问题。 一般我们会用以下的代码:java代码://获取connection,方法略conn = getURLConnection(url);is = conn.getInputStream();//获取Bitmap的引用Bitmap bitmap = BitmapFactory.decodeStream(is) 但是网络不好的时候获取不了图片,推荐使用以下的方法:java代码://获取长度int length = (int) conn.getContentLength();i 阅读全文
posted @ 2011-08-14 20:36 泉と緣 阅读(184) 评论(0) 推荐(0)
Android开发content provider详解
摘要:本文来自:安卓航班网 MediaProvider中存在两个数据库一个是external对应文件系统为SD Card, 一个是内部数据库internal用于手机flash上的文件系统。遗憾的是虽然MediaProvider提供了操作内外两个数据库的功能,但在发布的应用中并没有使用这个内部文件系统。Android 默认状态下Image,audio等文件是保存在SD card上。External, internal 数据库都保存在手机文件系统上 Path: /data/data/com.android.providers.media/database/ 如果要使用内部文件系统需要修改以下几个地方 1 阅读全文
posted @ 2011-08-14 20:32 泉と緣 阅读(450) 评论(0) 推荐(0)
[Android实例] Android 适配器并实现监听控件!(三)
摘要:本文来自:安卓航班网java代码:/*** 童鞋们只需要将需要设置监听事件的组件写在下面这方法里就可以啦!* 别的不需要修改!* 备注3*/ public void addListener(View convertView) { ((Button)convertView.findViewById(R.id.btn)).setOnClickListener( new View.OnClickListener() { @Override public void onClick(View v) { new AlertDialog.Builder(MainActivity.ma) .setTitle( 阅读全文
posted @ 2011-08-10 20:55 泉と緣 阅读(292) 评论(0) 推荐(0)
[Android实例] Android 适配器并实现监听控件!(二)
摘要:本文来自:安卓航班网 修改源码:MainActivity.java:java代码:public class MainActivity extends Activity { private SimpleAdapter adapter;// 声明适配器对象 private ListView listView; // 声明列表视图对象 private List<Map<String, Object>> list;// 声明列表容器 public static MainActivity ma; @Override public void onCreate(Bundle save 阅读全文
posted @ 2011-08-10 20:50 泉と緣 阅读(423) 评论(0) 推荐(0)
Android高性能文件类MemoryFile
摘要:本文来自:安卓航班网很多网友抱怨Android处理底层I/O性能不是很理想,如果不想使用NDK则可以通过MemoryFile类实现高性能的文件读写操作。MemoryFile顾名思义就是内存文件的意思,如果你过去从事过Win32开发,那么它的原理就是MapViewOfFile(),当然开发过Linux的网友可能很快就联想到了mmap(),是的该类就是他们的托管代码层封装,位于android.os.MemoryFile这个位置,从Android 1.0开始就被支持。MemoryFile适用于哪些地方呢? 对于I/O需要频繁操作的,主要是和外部存储相关的I/O操作,MemoryFile通过将 NAN 阅读全文
posted @ 2011-08-10 20:29 泉と緣 阅读(1561) 评论(0) 推荐(0)
[Android实例] Android 适配器并实现监听控件!(一)
摘要:本文来自:安卓航班网 ListView :在Android应用开发过程中属于最常用的系统组件之一,当然可能童鞋们问为什么会突然游戏开发中讲这个,呵呵,其实在游戏开发中,也会常常使用到系统组件,比如游戏排行榜,简单的游戏关卡选择等等,都可以来使用ListView来实现; 当然关于ListView我想大家都会使用了,那跟大家讲解ListView是如果使用的,而是如何实现自定义一个【通用】适配器类; 在ListView三种适配器当中,最受大家 青睐的肯定就是SimpleAdapter适配器,用过的童鞋们都很清楚,它的扩展性很强,可以将ListView中每一项都使用自定义布局,插入N多组 件;但是Si 阅读全文
posted @ 2011-08-10 20:11 泉と緣 阅读(615) 评论(0) 推荐(0)
自定义Android应用的访问权限
摘要:本文来自:安卓航班网由于Android部分设计原理较为开放,可能通过Intent或PackageManager就可以解析处理调用其他应用的子类,所以在部分应用中需要做更多的安全处理,保证应用内部的稳定性和安全性。强烈大家仔细阅读本文,这将会对您在构架Android应用时减少一些隐患的发生。 稳定性: 部分类可能没有数值的传入将会导致可能初始化失败,造成Force Close等问题。 安全性: 其他应用调用本程序的SQL数据库等问题,可能会造成一些无法预料到的损失。 一、Android应用内部安全保护为了考虑内部部分敏感数据处理的安全性加入类ACL访问控制,当然使用了更加灵活的,比如UID、SI 阅读全文
posted @ 2011-08-09 17:02 泉と緣 阅读(349) 评论(0) 推荐(0)
Android程序完全退出的三种方法
摘要:本文来自:安卓航班网很多网友可能发现自己的Android程序有很多Activity,比如说主窗口A,调用了子窗口B,在B中如何关闭整个Android应用程序呢? 这里给大家三种比较简单的方法实现。 首先要说明在B中直接使用finish(),接下来手机显示的还是主窗口A,所以一起来看看是如何实现的吧. 1. Dalvik VM的本地方法 android.os.Process.killProcess(android.os.Process.myPid()) //获取PID,目前获取自己的也只有该API,否则从/proc中自己的枚举其他进程吧,不过要说明的是,结束其他进程不一定有权限,不然就乱套了。 阅读全文
posted @ 2011-08-09 17:00 泉と緣 阅读(281) 评论(0) 推荐(0)
WebView使用技巧和介绍
摘要:本文来自:安卓航班网 在Android的所有控件中,WebView的功能是最强大的作为直接从android.webkit.Webview实现的类可以拥有浏览器所有的功能,Webview可以让开发人员从Java转向html+js这样的方式,如果你掌握ajax可以方便通过这种方式配合远端server来实现一些内容。 Webview中设置字体,可以使用 WebView.getSettings().setDefaultFontSize() 方法,设置屏幕的缩放级别可以使用 WebView.getSettings().setDefaultZoom() 来实现。 目前在Android 2.2中已经加入了A 阅读全文
posted @ 2011-08-09 16:59 泉と緣 阅读(465) 评论(0) 推荐(0)
Android中使用定时器TimerTask类介绍
摘要:本文来自:安卓航班网在Android平台中需要反复按周期执行方法可以使用Java上自带的TimerTask类,TimerTask相对于Thread来说对于资源消耗的更低,除了使用Android自带的AlarmManager使用Timer定时器是一种更好的解决方法。 我们需要引入import java.util.Timer; 和 import java.util.TimerTask;private TimermTimer = new Timer(true); private TimerTask mTimerTask; mTimerTask = new TimerTask() { public v 阅读全文
posted @ 2011-08-08 20:14 泉と緣 阅读(295) 评论(0) 推荐(0)
Android内存管理-SoftReference的使用
摘要:本文来自:安卓航班网 很多时候我们需要考虑Android平台上的内存管理问题,Dalvik VM给每个进程都分配了一定量的可用堆内存,当我们处理一些耗费资源的操作时可能会产生OOM错误(OutOfMemoryError)这样的异常,观察了下国内的类似Market客户端设计,基本上都没有采用很好的内存管理机制和缓存处理。 如果细心的网友可能发现Android Market客户端载入时,每个列表项的图标是异步刷新显示的,但当我们快速的往下滚动到一定数量比如50个,再往回滚动时可能我们看到了部分App的图标又重新开始加载,当然这一过程可能是从SQLite数据库中缓存的,但是在内存中已经通过类似Sof 阅读全文
posted @ 2011-08-08 20:13 泉と緣 阅读(397) 评论(0) 推荐(0)
Android开发者应该保持以下特质
摘要:本文来自:安卓航班网作为Android平台上的开发可能来看算是比较简单易学的,我们对于开发一些应用来说应该以量少质高的方式深入,目前Android Market充斥着大量重复而又低劣的应用,如何在众多软件中脱颖而出呢?1. 用户群定位 -目前我们要考虑软件是给什么样的人用的,操作人员的技术是什么,并不是所有的用户都是开发者理解很多专业术语。2. 用户体验度 - 好的UI设计,尽量不要出现广告除了影响美观,浪费流量外还浪费屏幕资源,电池消耗等毕竟多开了一个Ad线程不是吗? 简单易用,不是每个人都是专家。3. 严格测试- 对于市面上很多软件对于版本升级或数据操作的可靠性不敢恭维,国内的大多数软件仍 阅读全文
posted @ 2011-08-08 19:33 泉と緣 阅读(228) 评论(0) 推荐(0)
Android数据库SQLite性能优化技巧
摘要:对于Android使用的数据库而言,官方提供了开源的SQLite,由于支持SQL语言查询底层开源整体性能表现的比较稳定,如果提高你的Android数据库性能? 下面Android开发网就平时用到的技巧和大家分享:1. 相对于封装过的ContentProvider而言,使用原始SQL语句执行效率高,比如使用方法rawQuery、execSQL的执行效率比较高。2. 对于需要一次性修改多个数据时,可以考虑使用SQLite的事务方式批量处理,我们定义SQLiteDatabase db对象,执行的顺序为db.beginTransaction();//这里处理数据添加,删除或修改的SQL语句db.se. 阅读全文
posted @ 2011-08-05 16:34 泉と緣 阅读(339) 评论(0) 推荐(0)
Android获取本机电话号码
摘要:本文来自:安卓航班网 如何在Android上获取本机电话号码,目前Android上提供了一个API可以读取早期SIM卡上固化的号码,private String getPhoneNumber(){ TelephonyManager mTelephonyMgr; mTelephonyMgr = (TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE); return mTelephonyMgr.getLine1Number(); } 上面的getPhoneNumber方法返回当前手机的电话号码,同时必须在androidmanife 阅读全文
posted @ 2011-08-05 16:31 泉と緣 阅读(641) 评论(0) 推荐(0)
更轻松的获取APK文件安装时间
摘要:本文来自:安卓航班网很多Android开发者想设计一个APK管理程序,获取APK文件的安装日期很多网友不是很明白。在早期Android123使用的方法是通过PackageManager类的getInstalledApplications方法返回一个ApplicationInfo数组,ApplicationInfo类中sourceDir可以获取APK的文件路径,从而使用File类读取文件的上次修改时间而实现。但这可能导致:1. 无法获取原始的创建时间,可能很早就被创建了,之后被替换了。2. 如果这个APK在一个私有的位置,比如app-private目录,使用Market付费购买的应用在这个位置, 阅读全文
posted @ 2011-08-05 16:29 泉と緣 阅读(341) 评论(0) 推荐(0)
ListView自动滚动方法
摘要:本文来自:安卓航班网如何让你的ListView实现自动滚动呢? Android其实已经考虑到ListView控件的智能滚动操作。直接在Layout中写即可,注意下面的stackFromBottom以及transcriptMode这两个属性。Android123提示大家类似Market客户端的低端不断滚动,Android123将在以后的文章中告诉大家更好的解决方法。涉及代码如下: <ListView android:id="listCWJ" android:layout_width="fill_parent" android:layout_heigh 阅读全文
posted @ 2011-08-04 17:24 泉と緣 阅读(340) 评论(0) 推荐(0)
自定义Android菜单背景
摘要:本文来自:安卓航班网如何自定义Android菜单背景呢? 默认的情况下Android系统的菜单是白色的,下面的例子可以通过自定义的xml布局实现个性化的menupublic class MenuEx extends Activity {private static final String TAG = "android123"; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main 阅读全文
posted @ 2011-08-04 17:19 泉と緣 阅读(324) 评论(0) 推荐(1)
UiModeManager设置夜间模式和行车模式
摘要:本文来自:安卓航班网Android在2.2时新增了一个实用的类UiModeManager可以方便的管理当前Android设备的夜间模式和行车模式,位于android.app.UiModeManager这个包中。UiModeManager类使用Context.getSystemService(Context.UI_MODE_SERVICE) 来实例化,主要提供了以下几种方法voiddisableCarMode(int flags) // 禁止行车模式,这里参数一般为UiModeManager.DISABLE_CAR_MODE_GO_HOMEvoidenableCarMode(int flags) 阅读全文
posted @ 2011-08-04 17:17 泉と緣 阅读(913) 评论(0) 推荐(0)
NativeActivity添加控件和输入法
摘要:本文来自:安卓航班网Android3.0推出了NativeActivity,也让很多C/CPP的开发者有了发挥余地。 NativeActivity允许Android开发者使用C/C++在NDK环境中处理Activity的生命周期,但是经过好几天的尝试,发现在C的方向还是很难满足UI方面的需求,比如简单的添加一些输入框,或者显示输入法等等。 经过几天的琢磨发现可以通过继承NativeActivity的方法来解决这个问题。 Java代码public class CustomNativeActivity extends NativeActivity {@Overrideprotected void 阅读全文
posted @ 2011-08-02 20:01 泉と緣 阅读(656) 评论(0) 推荐(0)
Android开发知识点总结
摘要:本文来自:安卓航班网1. 如何让你的应用优先安装到SD卡上? 从Android 2.2 SDK开始多出了一个属性在AndroidManifest.xml中,在manifest节点加入android:installLocation="preferExternal"即可,当然要想让你的应用真正的安装到SD卡上,用户最终的固件为2.2,同时用户选择安装时在SD卡上。一般只有大型游戏或非重要的系统级应用选择安装在SD卡上,SD卡的读写要慢于ROM且更费电,所以重要的应用,比如闹铃提醒是不能设置安装到SD卡的。2. 如何防止Service被系统回收?对于Service被系统回收,一般 阅读全文
posted @ 2011-08-02 19:50 泉と緣 阅读(306) 评论(0) 推荐(0)
android获取用户点击的坐标
摘要:本文来自:安卓航班网具体方式: 1, Activity中实现onTouchEvent方法,通过event.getX()和event.getY()即可以获得用户操作的坐标。 2, 根据获取到的坐标值,进行判断,执行需要的操作。 具体代码如下: public class AbsoluteLayout extends Activity { private TextView tv; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { s 阅读全文
posted @ 2011-08-02 16:52 泉と緣 阅读(1438) 评论(0) 推荐(1)
android handler概念解释
摘要:本文来自:安卓航班网本文是翻译了SDK中handle类的概述部分。推荐大家尽量多看SDK英文版。handler类允许你发送消息和处理线程消息队列中的消息及runnable对象。handler实例都是与一个线程和该线程的消息队列一起使用,一旦创建了一个新的handler实例,系统就把该实例与一个线程和该线程的消息队列捆绑起来,这将可以发送消息和runnable对象给该消息队列,并在消息队列出口处处理它们。handler类有两种主要用途:1。按照时间计划,在未来某时刻,对处理一个消息或执行某个runnable实例。2。把一个对另外线程对象的操作请求放入消息队列中,从而避免线程间冲突。时间类消息通过 阅读全文
posted @ 2011-08-01 17:14 泉と緣 阅读(225) 评论(0) 推荐(0)
ANDROID事件触发机制
摘要:本文来自:安卓航班网ANDROID事件触发机制 首先,这篇文章仅仅针对于由于触摸(Touch)而触发的事件。 Android的事件:onClick, onScroll, onFling等等,都是由许多个Touch组成的。其中Touch的第一个状态肯定是ACTION_DOWN, 表示按下了屏幕。之后,touch将会有后续事件,可能是: ACTION_MOVE //表示为移动手势 ACTION_UP //表示为离开屏幕 ACTION_CANCEL //表示取消手势,不会由用户产生,而是由程序产生的 一个Action_DOWN, n个ACTION_MOVE, 1个ACTION_UP,就构成了Andr 阅读全文
posted @ 2011-08-01 17:13 泉と緣 阅读(455) 评论(0) 推荐(0)
Android学习之路
摘要:本文来自:安卓航班网很多童鞋在网上问我,Android应该怎么学,需要哪些基础,Android开发学习需要学习J2EE吗?下面根据我的教学经验,推荐就业,学员面试的情况,给大家一些参考。一、Android开发的分类: 1、Android客户端应用程序 如新浪微博、网银客户端、凡客、淘宝客户端,快盘客户端。Android在这里的应用还是界面层的东西为主。核心还在WEB。客户端界面很重要,用户体验度很重要。从应用需求上来讲,几乎大一点的网站,都需要有手机客户端程序。 2、Android通用类程序 如基于LBS(基于位置的服务)的应用 (这类一般会嵌入到客户端应用程序中),流媒体播放应用。由于移动设 阅读全文
posted @ 2011-08-01 17:10 泉と緣 阅读(527) 评论(0) 推荐(1)