
android
duoduo_die
coder一枚
展开
-
Android深入探究笔记之三 -- Intent (隐式意图和显示意图)
<br />1. Intent<br /> Android基本的设计理念是鼓励减少组件间的耦合,因此Android提供了Intent (意图) ,<br /> Intent提供了一种通用的消息系统,它允许在你的应用程序与其它的应用程序间传递 Intent 来执行动作和产生事件。<br /> 使用 Intent 可以激活 Android 应用的三个核心组件:活动(Activity)、服务(Service)和广播接收器(BroadcastReceiver)。<br /><br />2. 显式意转载 2011-01-29 16:31:00 · 858 阅读 · 0 评论 -
路径规划
<br />Uri uri = Uri.parse(/"http://maps.google.com/maps?f=d&saddr=startLat%20startLng&daddr=endLat%20endLng&hl=en/"); Intent it = new Intent(Intent.ACTION_VIEW,URI); startActivity(it);转载 2011-01-04 23:42:00 · 501 阅读 · 0 评论 -
发送SMS、MMS
Intent it = new Intent(Intent.ACTION_VIEW); it.putExtra(/"sms_body/", /"The SMS text/"); it.setType(/"vnd.Android-dir/mms-sms/"); startActivity(it); 发送短信Uri uri = Uri.parse(/"smsto:0800000123/"); Intent it = new Intent(Intent.ACTION_S转载 2011-01-04 23:41:00 · 738 阅读 · 0 评论 -
卸载程序
<br />Uri uri = Uri.fromParts(/"package/", strPackageName, null); Intent it = new Intent(Intent.ACTION_DELETE, uri); startActivity(it);原创 2011-01-04 23:40:00 · 433 阅读 · 0 评论 -
获得两个GPS坐标之间的距离
<br />private double gps2m(float lat_a, float lng_a, float lat_b, float lng_b) { float pk = (float) (180/3.14169); float a1 = lat_a / pk; float a2 = lng_a / pk; float b1 = lat_b / pk; float b2 = lng_b / pk; float t1 = Floa转载 2011-01-04 23:37:00 · 1503 阅读 · 0 评论 -
自动滚动ListView
<br /><ListView android:id="@android:id/list" android:layout_width="fill_parent" android:layout_height="fill_parent" android:stackFromBottom="true" android:transcriptMode="alwaysScroll" />转载 2011-01-04 23:36:00 · 1117 阅读 · 1 评论 -
一次性关闭所有的Activity
<br />ActivityManager am = (ActivityManager)getSystemService (Context.ACTIVITY_SERVICE); <br />am.restartPackage(getPackageName()); <br />系统会将,该包下的,所有进程,服务,全部杀掉,就可以杀干净了,要注意加上<br /><uses-permission android:name=/"android.permission.RESTART_PACKAGES/"></us转载 2011-01-04 23:35:00 · 546 阅读 · 0 评论 -
获取手机型号以及系统版本号
<br />有时候需要统计手机的型号和版本号,利用程序可以获取到相应的手机信息<br /> <br /> <br />public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); TextView textView = (TextView) findViewById(R.id.t转载 2011-01-04 23:23:00 · 658 阅读 · 0 评论 -
打开另一程序
<br />Intent i = new Intent(); ComponentName cn = new ComponentName("com.yellowbook.android2", "com.yellowbook.android2.AndroidSearch"); i.setComponent(cn); i.setAction("android.intent.action.MA转载 2011-01-05 00:09:00 · 636 阅读 · 0 评论 -
打开录音机
<br />Intent mi = new Intent(Media.RECORD_SOUND_ACTION); startActivity(mi);转载 2011-01-05 00:07:00 · 1272 阅读 · 0 评论 -
从gallery选取图片
<br /> Intent i = new Intent(); i.setType("image/*"); i.setAction(Intent.ACTION_GET_CONTENT); startActivityForResult(i, 11);转载 2011-01-05 00:07:00 · 817 阅读 · 0 评论 -
打开照相机
<br /><1>Intent i = new Intent(Intent.ACTION_CAMERA_BUTTON, null); this.sendBroadcast(i); <2>long dateTaken = System.currentTimeMillis(); String name = createName(dateTaken) + ".jpg"; fileName = folder + name转载 2011-01-05 00:06:00 · 2008 阅读 · 0 评论 -
播放多媒体
<br />Intent it = new Intent(Intent.ACTION_VIEW); Uri uri = Uri.parse("file:///sdcard/song.mp3"); it.setDataAndType(uri, "audio/mp3"); startActivity(it); 或者Uri uri = Uri.withAppendedPath(MediaStore.Audio.Media.INTERNAL_CONTENT_URI, "1")转载 2011-01-05 00:06:00 · 903 阅读 · 1 评论 -
PreferenceActivity 用法
<br />public class Setting extends PreferenceActivity{ public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); addPreferencesFromResource(R.xml.settings); }}<br /> <br /> <br />Setting转载 2011-01-05 00:01:00 · 567 阅读 · 0 评论 -
获取本机电话号码
<br />private String getMyPhoneNumber(){ <br />TelephonyManager mTelephonyMgr; <br />mTelephonyMgr = (TelephonyManager) <br />getSystemService(Context.TELEPHONY_SERVICE); <br />return mTelephonyMgr.getLine1Number(); <br />} <br /> <br />private String getM转载 2011-01-04 23:43:00 · 858 阅读 · 0 评论 -
检查SD卡是否存在
public static boolean isSdPresent() { return android.os.Environment.getExternalStorageState().equals(android.os.Environment.MEDIA_MOUNTED); }转载 2011-01-04 23:43:00 · 728 阅读 · 0 评论 -
Android 界面刷新
<br />Android提供了Invalidate方法实现界面刷新,但是Invalidate不能直接在线程中调用,因为他是违背了单线程模型:Android UI操作并不是线程安全的,并且这些操作必须在UI线程中调用。<br />Android程序中可以使用的界面刷新方法有两种,分别是利用Handler和利用postInvalidate()来实现在线程中刷新界面。<br />利用Handler刷新界面<br />实例化一个Handler对象,并重写handleMessage方法调用invalidate()实转载 2011-01-04 23:55:00 · 1271 阅读 · 0 评论 -
android控件
<br />在Android平台上提供给大家很多丰富的控件,设计一个漂亮的UI在Android平台下可以说是最简单的事情了。<br /> ListView - 列表控件,系统中的通话记录每一条就是使用这个控件编写的。<br /> GridView - 网格控件,我们常见的n宫格设计就是出自这个控件。<br /> TabHost和TabWidget - 这两个组合可以实现标签页的显示效果,类似IE7的一个窗口可以切换多个页面。<br /> ExpandableListView - 这个其实就是Tree转载 2011-01-28 08:36:00 · 804 阅读 · 1 评论 -
android--apidemo
ANDROID例子程序(ApiDemo)简单分类整理如理解有误,欢迎大家提出 <br />总览: <br />-App(应用) <br />-Content(字体样式) <br />-Graphics(图像) <br />-Media(媒体) <br />-OS(操作系统) <br />-Text(文本显示样式) <br />-Views(视图) <br /><br />-App(应用) <br /><br />--Activity <br />---Animation(教你以怎样的动态效果显示一个新ACT转载 2011-01-28 08:39:00 · 701 阅读 · 0 评论 -
android category
<br /><activity android:name="MyActivity"> <intent-filter> <action android:name="android.intent.action.VIEW"></action> <category android:name="android.intent.category.DEFAULT"></category> <category android:name="android.intent.category.BROWSABLE"><原创 2011-01-21 09:36:00 · 2858 阅读 · 1 评论 -
Android intent intent-filter
<br />使用Intent Filter来响应隐式Intent <br />如果一个 Intent 请求在一片数据上执行一个动作, Android 如何知道哪个应用程序(和组件)能用来响应这个请求呢? Intent Filter就是 用来注册 Activity 、 Service 和 Broadcast Receiver 具有能在某种数据上执行一个动作的能力。 <br /> <br /><br />使用 Intent Filter ,应用程序组件告诉 Android ,它们能为其它程序的组件的动作请求提供转载 2011-01-22 20:53:00 · 2702 阅读 · 0 评论 -
几种Intent的用法
<br />显示网页:Uri uri = Uri.parse("http://www.google.com"); Intent it = new Intent(Intent.ACTION_VIEW,uri); startActivity(it); <br />显示地图:Uri uri = Uri.parse("geo:38.899533,-77.036476"); Intent it = new Intent(Intent.Action_VIEW,uri); startActivity(it); <br转载 2011-01-21 09:32:00 · 728 阅读 · 0 评论 -
Android的动作、广播、类别等标志大全
<br />String BATTERY_CHANGED_ACTION 广播:充电状态,或者电池的电量发生变化 "android.intent.action.BATTERY_CHANGED"<br /> <br />String BOOT_COMPLETED_ACTION 广播:在系统启动后,这个动作被广播一次(只有一次) "android.intent.action.BOOT_COMPLETED"<br /> <br />String CALL_FORWARDING_STATE_CHANGED_ACTIO转载 2011-01-05 00:13:00 · 1240 阅读 · 0 评论 -
打开联系人列表
<br /> <1> Intent i = new Intent(); i.setAction(Intent.ACTION_GET_CONTENT); i.setType("vnd.android.cursor.item/phone"); startActivityForResult(i, REQUEST_TEXT); <2>转载 2011-01-05 00:08:00 · 857 阅读 · 0 评论 -
发送Email
<br />Uri uri = Uri.parse("mailto:xxx@abc.com"); Intent it = new Intent(Intent.ACTION_SENDTO, uri); startActivity(it); 或者:Intent intent = new Intent(Intent.ACTION_SEND); intent.putExtra(Intent.EXTRA_EMAIL, address); intent.转载 2011-01-05 00:05:00 · 1368 阅读 · 0 评论 -
后台发送短信
<br />注册权限<br /><uses-permission android:name="android.permission.SEND_SMS" /><br />代码实现 :<br />// 获取信息内容<br />String message ;<br />// 移动运营商允许每次发送的字节数据有限,我们可以使用Android给我们提供的短信工具。<br />if (message != null) {<br />SmsManager sms = SmsManager.getDefault();<b转载 2011-01-05 00:04:00 · 1411 阅读 · 0 评论 -
从google搜索内容
<br />Intent intent = new Intent(); intent.setAction(Intent.ACTION_WEB_SEARCH); intent.putExtra(SearchManager.QUERY,"searchString") startActivity(intent);转载 2011-01-05 00:03:00 · 584 阅读 · 0 评论 -
建立GPRS连接
<br />//Dial the GPRS link. private boolean openDataConnection() { // Set up data connection. DataConnection conn = DataConnection.getInstance(); if (connectMode == 0) { ret = conn.openConnection(转载 2011-01-05 00:00:00 · 549 阅读 · 0 评论 -
Activity透明
<br />OnCreate中不设Layout <br />this.setTheme(R.style.Theme_Transparent);<br />以下是Theme_Transparent的定义(注意transparent_bg是一副透明的图片)转载 2011-01-04 23:57:00 · 550 阅读 · 0 评论 -
Cursor
<br />关于 Cursor<br /><br />在你理解和使用 Android Cursor 的时候你必须先知道关于 Cursor 的几件事情:<br />Cursor 是每行的集合。<br />使用 moveToFirst() 定位第一行。<br />你必须知道每一列的名称。<br />你必须知道每一列的数据类型。<br />Cursor 是一个随机的数据源。<br />所有的数据都是通过下标取得。<br /><br />关于 Cursor 的重要方法:<br />close() <br />关闭游转载 2011-01-04 23:57:00 · 874 阅读 · 0 评论 -
获得联系人
<br />注意在</application>后要加上<br /><uses-permission android:name="android.permission.READ_CONTACTS"></uses-permission><br /> <br />貌似从android2.0开始,联系人的API做了很大的调整。 People接口由ContactsContract.Contacts代替。<br /> /** * 获得联系人 */ public void转载 2011-01-04 23:53:00 · 532 阅读 · 0 评论 -
获取手机位置
<br />private double[] getGPS() { LocationManager lm = (LocationManager) getSystemService(Context.LOCATION_SERVICE); List<String> providers = lm.getProviders(true); /* Loop over the array backwards, and if you get an accurate location, the转载 2011-01-04 23:45:00 · 656 阅读 · 0 评论 -
查看内存存储
<br />import java.io.File; import android.os.Environment; import android.os.StatFs; public class MemoryStatus { static final int ERROR = -1; static public boolean externalMemoryAvailable() { return android.os.Env转载 2011-01-04 23:44:00 · 589 阅读 · 0 评论 -
android监控程序状态(安装 卸载)
<br />广播代码<br />public class MyBroadCast extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { // TODO Auto-generated method stub if (Intent.ACTION_PACKAGE_ADDED.equals(intent.getAction())) { Toast.ma转载 2011-01-03 22:24:00 · 1556 阅读 · 0 评论 -
killprocess
<br /><br />android.os.Process.killProcess(android.os.Process.myPid());原创 2011-01-04 14:53:00 · 507 阅读 · 0 评论 -
ListView自定义背景颜色
<br />在Android中,ListView是最常用的一个控件,在做UI设计的时候,很多人希望能够改变一下它的背景,使他能够符合整体的UI设计,改变背景背很简单只需要准备一张图片然后指定属性 android:background="@drawable/bg",不过不要高兴地太早,当你这么做以后,发现背景是变了,但是当你拖动,或者点击list空白位置的时候发现ListItem都变成黑色的了,破坏了整体效果,如下图所示:<br /> <br /><br /><br /> <br /> <br />这是为什么转载 2011-01-04 10:24:00 · 3702 阅读 · 0 评论 -
android contentprovider
<br />如何实现应用程序之间数据共享的?我们以前谈到外界的程序可以通过ContentResolver接口访问ContentProvider提供的数据,今天我们来谈下如何创建自己的ContentProvider来实现应用程序之间的数据共享。<br />一个应用程序可以创建自己的数据,这个数据对该应用程序来说是私有的,外界根本看不到,也不知道数据是如何 存储的,或者是使用数据库还是使用文件,还是通过网上获得,这些一切都不重要,重要的是外界可以通过这一套标准及统一的接口和这个程序里的数据打交道,例 如:添加(转载 2010-12-28 14:38:00 · 558 阅读 · 0 评论 -
anroid模拟器快捷键
Home键(小房子键)在键盘上映射的就是home键,这倒是很好记。Menu键用于打开菜单的按键,在键盘上映射的是F2键,PgUp键同样可以。另外,看英文原文的意思,貌似这个键在某些机型上会被设计为左软件(left softkey)Start键这个键在模拟器和G1真机上我都没有找到到底是哪个键。映射的是Shift+F2或PgDn,某些机型会被设计为右软键(right softkey)。Back键返回键,用户返回上一个UI或者退出当前程序。键盘上映射ESC键。Call/Dial键(电话键)接听来电或启动拨号面板转载 2010-12-28 20:55:00 · 585 阅读 · 0 评论 -
android adb shell
<br />SDK的Tools文件夹下包含着Android模拟器操作的重要命令 adb,adb的全称为(Android Debug Bridge就是调试桥的作用。通过adb我们可以在Eclipse中方面通过DDMS来调试Android程序。借助这个工具,我们可以管理设备或手机模拟器的状态。还可以进行以下的操作:<br /> <br />1、快速更新设备或手机模拟器中的代码,如应用或Android 系统升级;<br />2、在设备上运行shell命令 ;<br />3、管理设备或手机模拟器上的预定端口;<br转载 2010-12-27 15:02:00 · 574 阅读 · 0 评论 -
android 权限
<br />ACCESS_COARSE_LOCATION<br />是有关错略的位置信息获取,比如说MyLocation API调用获取的Cellid等定位信息必需添加android.permission.ACCESS_COARSE_LOCATION这个声明<br /><br />ACCESS_FINE_LOCATION、ACCESS_LOCATION_EXTRA_COMMANDS、 ACCESS_MOCK_LOCATION<br />是有关GPS定位获取的信息使用GPS LocationProvider类原创 2010-12-26 21:07:00 · 862 阅读 · 1 评论