
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 · 860 阅读 · 0 评论 -
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 · 702 阅读 · 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 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 · 2707 阅读 · 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 · 2861 阅读 · 1 评论 -
几种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 · 733 阅读 · 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 · 1241 阅读 · 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 /> <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 评论 -
打开录音机
<br />Intent mi = new Intent(Media.RECORD_SOUND_ACTION); startActivity(mi);转载 2011-01-05 00:07:00 · 1274 阅读 · 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 · 821 阅读 · 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 · 2009 阅读 · 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 评论 -
发送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 · 1369 阅读 · 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 · 1414 阅读 · 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 · 589 阅读 · 0 评论 -
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 · 568 阅读 · 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 · 551 阅读 · 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 · 877 阅读 · 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 · 1274 阅读 · 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 · 534 阅读 · 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 · 657 阅读 · 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 评论 -
获取本机电话号码
<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 · 860 阅读 · 0 评论 -
检查SD卡是否存在
public static boolean isSdPresent() { return android.os.Environment.getExternalStorageState().equals(android.os.Environment.MEDIA_MOUNTED); }转载 2011-01-04 23:43:00 · 729 阅读 · 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 · 504 阅读 · 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 · 747 阅读 · 0 评论 -
发送彩信
<br />Uri uri = Uri.parse(/"content://media/external/images/media/23/"); Intent it = new Intent(Intent.ACTION_SEND); it.putExtra(/"sms_body/", /"some text/"); it.putExtra(Intent.EXTRA_STREAM, uri); it.setType(/"image/png/"); startActivi转载 2011-01-04 23:41:00 · 547 阅读 · 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 评论 -
显示网页
<br />Uri uri = Uri.parse(/"http://www.google.com/");Intent it = new Intent(Intent.ACTION_VIEW,uri);startActivity(it);原创 2011-01-04 23:38:00 · 533 阅读 · 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 · 1505 阅读 · 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 · 1120 阅读 · 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 · 547 阅读 · 0 评论 -
android 获取IP地址
<br /> public String getLocalIpAddress() { try { for (Enumeration<NetworkInterface> en = NetworkInterface.getNetworkInterfaces(); en.hasMoreElements();) { NetworkInterface intf = e转载 2011-01-04 23:25:00 · 607 阅读 · 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 · 659 阅读 · 0 评论 -
获取屏幕方向
<br />Configuration newConfig = getResources().getConfiguration(); if (newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE){ //横屏 }else if(newConfig.orientation == Configuration.ORIENTATION_PORTRAIT){转载 2011-01-04 23:22:00 · 575 阅读 · 0 评论 -
如何在非全屏状态下,不显示title标题栏
<br />requestWindowFeature(Window.FEATURE_NO_TITLE);//设置是否显示title <br />getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN);//设置是否全屏。转载 2011-01-04 23:21:00 · 580 阅读 · 0 评论 -
android常用单位
<br />1. px(像素):屏幕上的点。 <br />2. in(英寸):长度单位。 <br />3. mm(毫米):长度单位。 <br />4. pt(磅):1/72英寸。 <br />5. dp(与密度无关的像素):一种基于屏幕密度的抽象单位。在每英寸160点的显示器上,1dp = 1px。 在大于160点的显示器上可能增大。 <br />6. dip:与dp相同,多用于Google示例中。原创 2011-01-04 23:17:00 · 564 阅读 · 0 评论 -
layout_alignParentRight android:paddingRight
<br />android:layout_alignParentRight="true" <br />使当前控件的右端和父控件的右端对齐。这里属性值只能为true或false,默认false。<br />android:layout_marginLeft="10dip" <br />使当前控件左边空出相应的空间。<br /> android:layout_toLeftOf="@id/ok" <br />使当前控件置于id为ok的控件的左边。<br /> android:lay转载 2011-01-04 23:15:00 · 4211 阅读 · 1 评论