随笔分类 -  Android

摘要:工欲善其事,必先利其器。学习Android开发, 首先需要搭建开发环境。于是便有了这篇文章,记录了个人配置Android开发环境的过程。如有错误,还请指正。闲言少叙,直接进入主题。使用的操作系统:win7 32bit 。开发环境仅适用Eclipse首先了解Android SDK开发Android应用程序的系统需求:支持的操作系统:Windows XP (32-bit), Vista (32- or 64-bit), or Windows 7 (32- or 64-bit)Mac OS X 10.5.8 or later (x86 only)Linux (tested on Ubuntu Lin 阅读全文
posted @ 2012-07-15 17:22 water0504 阅读(228) 评论(0) 推荐(0)
摘要:最近在看android关于定位的方式,查了很多资料,也做了相关实验,在手机上做了测试,下面总结:一共有三种定位方式,一种是GPS,一种是通过网络的方式,一种则是在基于基站的方式,但是,不管哪种方式,都需要开启网络或者GPS首先添加权限 <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/> <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>在 阅读全文
posted @ 2012-07-15 12:05 water0504 阅读(258) 评论(0) 推荐(0)
摘要:在前文Android定位功能(一)中,已经大致介绍了一下在Android平台中,和定位功能相关的类,并举例获取了位置信息。但是前文是基于Criteria定制了一个标准,通过getBestProvider()方法由Android系统自动获取最符合Criteria的LocationProvider,从而实现了定位功能。这样的做法能最大限度的保证定位功能的可实现性,但是却无法保证获取到的位置信息有最大的准确度。因为除了GPS外,其他定位方式都或多或少存在着位置偏移。 在实现GPS定位前,先了解一下GPS的部分特性: 1. GPS定位需要依靠3颗或3颗以上的卫星。 2. GPS定位受环境影响较大... 阅读全文
posted @ 2012-07-14 22:33 water0504 阅读(253) 评论(0) 推荐(0)
摘要:废话不多说,直接开始说说与实现Android定位有关的API吧。 这些API都在android.location包下,一共有三个接口和八个类。它们配合使用即可实现定位功能。 三个接口: GpsStatus.Listener: 这是一个当GPS状态发生改变时,用来接收通知的接口。 GpsStatus.NmeaListener: 这是一个用来从GPS里接收Nmea-0183(为海用电子设备制定的标准格式)信息的接口。 LocationListener: 位置监听器,用于接收当位置信息发生改变时从LocationManager接收通知的接口。 八个类: Address: 描述地址的类,... 阅读全文
posted @ 2012-07-14 22:31 water0504 阅读(197) 评论(0) 推荐(0)
摘要:其实所谓的静态注册,动态注册,是指接收广播的时候,是静态注册接收还是动态注册接收,发送的时候不分静态,动态以发送intent为例,一共分4种情况,以每次注册两个Broadcast为例:情况一,注册2个静态Broadcast如果是静态注册的,接收的一定是某一个类继承BroadcastReceiver2个java文件如下:BroadcastActivity.javapackage com.broad.test1;import android.app.Activity;import android.content.Intent;import android.os.Bundle;import andr 阅读全文
posted @ 2012-07-14 22:23 water0504 阅读(232) 评论(0) 推荐(0)
摘要:在Android的应用中,往往需要在执行主界面的操作时,如果要执行耗时的操作,那么应该是另外开线程的,或者是用async或者handler,今天发现其实也可以用android中的一个Intentservice去实现。下面例子讲解下。 1 例子中是一个文本框,当用户输入内容后,模拟slepp 10秒,这个时候要是不分离线程,操作的话,用户再点界面,就会死死地停在那里,甚至是出现提示,要强行CLOSE,代码如下: EditText input = (EditText) findViewById(R.id.txt_input); String strInputMsg = input.getText( 阅读全文
posted @ 2012-07-14 15:22 water0504 阅读(213) 评论(0) 推荐(0)
摘要:IntentService是Service类的子类,用来处理异步请求。客户端可以通过startService(Intent)方法传递请求给IntentService,IntentService通过worker thread处理每个Intent对象,执行完所有的工作之后自动停止Service。 说明:worker thread处理所有通过传递过来的请求,创建一个worker queue,一次只传递一个intent到onHandleIntent中,从而不必担心多线程带来的问题。处理完毕之后自动调用stopSelf()方法;默认实现了Onbind()方法,返回值为null; 模式实现了哦你Sta.. 阅读全文
posted @ 2012-07-14 15:17 water0504 阅读(399) 评论(0) 推荐(0)
摘要:Android程序中访问资源时需要提供Context,一般来说只有在各种component中(Activity, Provider等等)才能方便的使用api来获取Context, 而在某些工具类中要获取就很麻烦了。为此,我们可以自定义一个Application类来实现这种功能。import android.app.Application;public class MyApplication extends Application {private static MyApplication instance;public static MyApplication getInstance() {r 阅读全文
posted @ 2012-07-14 14:46 water0504 阅读(565) 评论(0) 推荐(0)
摘要:1、给EditText追加ChangedListenerEditText editText = (EditText) findViewById(R.id.edittext);editText.addTextChangedListener(watcher); 2、描述监听private TextWatcher watcher = new TextWatcher() {@Overridepublic void onTextChanged(CharSequence s, int start, int before, int count) {// TODO Auto-generated method 阅读全文
posted @ 2012-07-14 14:26 water0504 阅读(727) 评论(0) 推荐(0)
摘要:被判断的Service 必须是带包名的全名通过Service的类名来判断是否启动某个服务 private boolean MusicServiceIsStart(List<ActivityManager.RunningServiceInfo> mServiceList,String className){ for(int i = 0; i < mServiceList.size(); i ++){ if(className.equals(mServiceList.get(i).service.getClassName())){ ... 阅读全文
posted @ 2012-07-14 14:14 water0504 阅读(930) 评论(0) 推荐(0)
摘要:一、判断网络连接是否可用public static boolean isNetworkAvailable(Context context) { ConnectivityManager cm = (ConnectivityManager) context .getSystemService(Context.CONNECTIVITY_SERVICE); if (cm == null) { } else { //如果仅仅是用来判断网络连接 //则可以使用 cm.getActive... 阅读全文
posted @ 2012-07-14 14:12 water0504 阅读(254) 评论(0) 推荐(0)