随笔分类 -  Android

摘要:android:allowTaskReparenting是否允许activity更换从属的任务,比如从短信息任务 切换到浏览器任务。android:alwaysRetainTaskState是否保留状态不变, 比如切换回home, 再从新打开, activity处于最后的状态android:clearTaskOnLanunch比如 P 是 activity, Q 是被P 触发的 activity, 然后返回Home, 从新启动 P, 是否显示 Qandroid:configChanges当配置list发生修改时, 是否调用 onConfigurationChanged() 方法 比如 &quo 阅读全文
posted @ 2011-03-22 23:41 S.Kei.Cheung 阅读(432) 评论(0) 推荐(0) 编辑
摘要:就像前面提到的,一个activity可以启动另一个,包括那些定义在不同应用程序中的。假设,例如,你想让用户显示一些地方的街道地图。已经有一个activity可以做这个事,所以你的activity所要做的就是将行为对象和需要的信息放在一起,并将它们传递给startActivity()。 地图查看器将显示这个地图。当用户按下后退按钮时,你的activity又重新显示在屏幕上了。对用户来说,这个地图查看器看起来就像是你的应用程序的一部分,即使它定义在另外的应用程序中并运行在那个程序的进程中。Android 通过保持所有的activity在同一个任务中来保持用户体验。简单的的说,任务就是用户所体验到的 阅读全文
posted @ 2011-03-22 23:30 S.Kei.Cheung 阅读(1430) 评论(0) 推荐(0) 编辑
摘要:1、要弄清楚这个问题,首先需要弄明白什么是implicit(隐藏) intent什么是explicit(明确) intent。Explicit Intent明确的指定了要启动的Acitivity,比如以下Java代码:Intent intent= new Intent(this, B.class)Implicit Intent没有明确的指定要启动哪个Activity,而是通过设置一些Intent Filter来让系统去筛选合适的Acitivity去启动。2、intent到底发给哪个activity,需要进行三个匹配,一个是action,一个是category,一个是data。理论上来说,如果i 阅读全文
posted @ 2011-03-22 19:15 S.Kei.Cheung 阅读(4782) 评论(0) 推荐(0) 编辑
摘要:最近做一个页面,仿制以下两个图,一个是横屏,一个竖屏。这是一款名字叫IMDb的手机软件,其中最上面中间是一个图;然后下来是三个tab样式的(Movies、TV、People)三个可以切换,切换是三个不同页面;下面是一个横排的图片,图片可以左右滑动显示;下面是一个list列表,此列表每一行最左边是一个图片,中间是文字,最右边是一个小箭头图标。首先解决的是最上面图片居中显示,在LinearLayout标签中加入android:gravity="center_horizontal",这个表示横向居中显示。这样的话切换横竖屏之后,图片也是在中间的。再次,解决三个(Movies、TV 阅读全文
posted @ 2011-03-20 15:28 S.Kei.Cheung 阅读(1043) 评论(1) 推荐(1) 编辑
摘要:Android中的AppWidget与google widget和中移动的widget并不是一个概念,这里的AppWidget只是把一个进程的控件嵌入到别外一个进程的窗口里的一种方法。View在另 外一个进程里显示,但事件的处理方法还是在原来的进程里。这有点像 X Window中的嵌入式窗口。Android中的AppWidget包括以下几个部分:AppWidgetProviderAppWidgetProvider是AppWidget提供者需要实现的接口,它实际上是一个BroadcastReceiver。只不过子类要实现的不再是onReceive,而是转换成了几个新的函数:1 public vo 阅读全文
posted @ 2011-03-19 14:20 S.Kei.Cheung 阅读(757) 评论(0) 推荐(0) 编辑
摘要:为什么要关闭组件?在用到组件时,有时候我们可能暂时性的不使用组件,但又不想把组件kill掉,比如创建了一个broadcastReceiver广播监听器,用来想监听第一次开机启动后获得系统的许多相关信息,并保存在文件中,这样以后每次开机启动就不需要再去启动该服务了,也就是说如果没有把receiver关闭掉,就算是不做数据处理,但程序却还一直在后台运行会消耗电量和内存,这时候就需要把这个receiver给关闭掉。如何关闭组件?关闭组件其实并不难,只要创建packageManager对象和ComponentName对象,并调用packageManager对象的setComponentEnabledS 阅读全文
posted @ 2011-03-18 21:59 S.Kei.Cheung 阅读(1748) 评论(0) 推荐(1) 编辑
摘要:Problem:When a notification is selected, Tabs activity is called passing the intent. I want to access the unique notificationId of the notification that was selected in Tabs. I tried intent.putExtra() to save the notificationId in the intent. But, for multiple notifications its overwriting the notif 阅读全文
posted @ 2011-03-18 14:33 S.Kei.Cheung 阅读(295) 评论(0) 推荐(0) 编辑
摘要:前面说到intent的另外一种赋值方式:这个就是指定其component属性(调用setComponent(ComponentName)或者setClass(Context, Class)来指定)。通过这种方式的赋值的intent,其实就直接指出了activity类,这样就没有必要到androidmanfest.xml找provider,然后通过provider的gettype返回加上action来找activity了,而是直接创建activity类的实例。其实android还提供了一种创建activity的方式,那就是动态menu的方式,通过 1 public boolean onCreat 阅读全文
posted @ 2011-03-18 14:19 S.Kei.Cheung 阅读(668) 评论(0) 推荐(0) 编辑
摘要:相对布局由于属性比较多,所以用起来有些费力,但灵活性较其他布局方法好,所以掌握好相对布局将会非常有用。先看等一个例子:1 <?xml version="1.0" encoding="utf-8"?>2 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"3 android:layout_width="fill_parent"4 android:layout_height="fill_paren 阅读全文
posted @ 2011-03-16 19:02 S.Kei.Cheung 阅读(579) 评论(0) 推荐(0) 编辑
摘要:首先我们来看一下PackageItemInfo,它是包含了一些信息的基类,它的直接子类有:ApplicationInfo、ComponentInfo、InstrumentationInfo、PermissionGroupInfo、PermissionInfo。它的间接子类有:ActivityInfo、ProviderInfo、ServiceInfo。这个类包含的信息对于所有包中项目是平等的。这些Package items是被Package manager所持有的。这个类提供了属性的非常普通的基本设置:label、icon和meta-data。这个类的意图不是被自己调用。它在这只是简单地分享被p 阅读全文
posted @ 2011-03-15 15:17 S.Kei.Cheung 阅读(314) 评论(0) 推荐(0) 编辑
摘要:Android Intent Filter-判斷intent傳遞對象 一.Intent接收原理當使用者發送一個intent出來,要求元件去執行動作,如果這個intent裡有很清楚的設定了ComponentName,那麼intent就會直接被送到指定的元件,並啟動該元件,如果沒有設定,則會由Android系統自動去判斷該把這intent送到哪個元件上啟動他。大多數在本身專案內元件可以處理的動作,intent通常都會直接指明要給哪個元件處理,如果沒有指定元件名稱的intent大多是用來啟動其他Application上的元件二.Intent Filter的作用Android系統如何判斷哪個元件可以接 阅读全文
posted @ 2011-03-08 21:11 S.Kei.Cheung 阅读(2149) 评论(0) 推荐(0) 编辑
摘要:很多情况下,一些与用户很少需要产生交互的应用程序,我们一般让它们在后台运行就行了,而且在它们运行期间我们仍然能运行其他的应用。为了处理这种后台进程,Android引入了Service的概念。Service在Android中是一种长生命周期的组件,它不实现任何用户界面。最常见的例子如:媒体播放器程序,它可以在转到后台运行的时候仍然能保持播放歌曲;或者如文件下载程序,它可以在后台执行文件的下载。让我们来看下如何创建Service:创建一个ServiceAndroid中已经定义了一个 ‘Service’类,所有其他的Service都继承于该类。Service类中定义了一系列的生命周期相关的方法,如: 阅读全文
posted @ 2011-03-08 14:33 S.Kei.Cheung 阅读(1859) 评论(0) 推荐(0) 编辑
摘要:之前遇到一个问题也有人问过的,当打开多个Activity(之前的没关闭)时,如何在当前的Activity退出程序呢?我们都知道最简单的是finish(),但这只是关闭当前的Activity,并不是退出整个程序。有人说用System.exit(1),我自己也试过用Process.killProcess(Process.myPid())。但都不理想,有时 work,有时不起作用只是关闭当前的Activity,具体什么原因没去研究过。最近在做别的东西时突然想到一个方法,不啰嗦,看代码。Java代码finalActivityManageram=(ActivityManager)getSystemSer 阅读全文
posted @ 2011-03-07 23:44 S.Kei.Cheung 阅读(777) 评论(0) 推荐(0) 编辑
摘要:public final class Manifest { public static final class permission { /** Allows read/write access to the "properties" table in the checkin database, to change values that get uploaded. */ public static final String ACCESS_CHECKIN_PROPERTIES="android.permission.ACCESS_CHECKIN_PROPERTIE 阅读全文
posted @ 2011-03-07 14:33 S.Kei.Cheung 阅读(1389) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示