Android
文章平均质量分 91
恺风
我思故我在,如果一个人无法独立思考,即使熟习各种工具,实质只是工具的一部分,永远无法创造工具。
展开
-
Pro Android学习笔记(三五):Menu(6):XML方式 & PopUp菜单
利用XML创建菜单在代码中对每个菜单项进行设置,繁琐且修改不灵活,不能适配多国语言的要求,可以利用资源进行设置。在之前的Pro Android学习笔记(十):了解Intent(上)#系统的Intent中我们已经给了一个如何利用XML进行菜单项设计的详细小例子,这里就不在重复。这里仅补充一下说明。XML的有关属性 xmlns:android="http://schemas.andro原创 2013-10-01 10:57:57 · 7571 阅读 · 0 评论 -
Pro Android学习笔记(二五):用户界面和控制(13):LinearLayout和TableLayout
布局LayoutLayout是容器,用于对所包含的view进行布局。layout是view的子类,所以可以作为view嵌入到其他的layout中。Android的layout有LinearLayout、TableLayout,RelativeLayout、FrameLayout、GridLayout。线性布局:LinearLayout这是最常用的,有anroid:orientation原创 2013-09-16 20:12:01 · 5870 阅读 · 3 评论 -
Pro Android学习笔记(二六):用户界面和控制(14):RelativeLayout
相对布局:RelativeLayoutRelativeLayout也是非常常用的布局,能够精确对控件的位置进行网格对齐,可以设置在控件与其他控件的相对位置,以及控件在容器中的位置。缺省控件的位置为最上面还最左边。下面结合一个例子来进行解说。 android:layout_width="match_parent" android:layout_height=原创 2013-09-18 11:12:54 · 3805 阅读 · 1 评论 -
Pro Android学习笔记(二七):用户界面和控制(15):FrameLayout
FrameLayoutFrameLayout通常只包含一个控件。如果我们在FrameLayout中设置多个控件,则第二个控件会堆叠在第一个控件上面,如此类推,一层一层地叠上去。下面的例子,我们在FrameLayout中设置两个控件,一个可视,另一个不可视也不占位置(GONE),点击,通过设置可视属性,实现点击切换图片的视觉效果。 FrameLayout xmlns:android=原创 2013-09-20 21:00:54 · 5817 阅读 · 1 评论 -
Pro Android学习笔记(二八):用户界面和控制(16):GridLayout
网格布局:GridLayout我个人觉得GridLayout的设计还不很完善,每个网格的大小,由填充的cell决定,即默认是wrap很容易整个GridLayout超出屏幕。下面是一个例子: android:layout_width="match_parent" android:layout_height="match_parent" andro原创 2013-09-20 21:01:17 · 7884 阅读 · 1 评论 -
Pro Android学习笔记(二九):用户界面和控制(17):include和merge
xml控件代码重用:include如果我们定义一个控件,需要在不同的layout中重复使用,或者在同一个layout中重复使用,可以采用include的方式。例如定义my_button.xml如下 android:textColor="#FF0000" android:layout_width="match_parent" android:lay原创 2013-09-20 21:44:35 · 4305 阅读 · 0 评论 -
Android学习笔记(一)
郁闷的是Andriod的开发网站developer.android.com是无法访问。另,源代码网站为http://source.android.com,不知道为什么?需要访问http://developer.android.com.nyud.net/index.html,虽然慢点,但是至少可以访问,http://androidappdocs.appspot.com/这个站点比较快。在Androi原创 2011-02-21 22:33:00 · 49596 阅读 · 46 评论 -
Pro Android学习笔记(十):了解Intent(上)
Android引入了Intent的概念来唤起components,component包括:1、Activity(UI元件) 2、Service(后台代码) 3、Broadcast receiver(处理广播消息的代码) 4、Content provider(抽象数据的代码) Intent基本含义intent是通知平台处理(唤起)的动作。Android唤起的动作将取决于注原创 2013-07-08 12:13:25 · 6853 阅读 · 2 评论 -
Pro Android学习笔记(三一):Menu(2):扩展、图片、子菜单
菜单扩展如果菜单项很多,超过六个时,就会采用菜单扩展模式。在例子中我加入了10个菜单项,预计能进入菜单扩展模式,但是实际效果如右图所示。效果和list非常相似,如果继续增加菜单项,可以通过上下拖动,来查看未能显示在屏幕上的菜单项。对于list模式,不能在菜单项中加入图标,也影响了我们下一步试验。对于Android 4.0,系统缺省的UI风格有所变化,如果我们仍希望采用原有的显示方式,可以通原创 2013-09-24 20:48:45 · 7018 阅读 · 1 评论 -
Pro Android学习笔记(十二):了解Intent(下)
解析Intent,寻找匹配Activity如果给出component名字(包名、类名)是explicit intent,否则是implicit intent。对于explicit intent,关键就是component 名字,在中声明的其他属性被忽略。对于implicit intent,则根据action,category和data来进行匹配。然而一个intent fliter中可以声明多个原创 2013-07-19 17:52:49 · 11835 阅读 · 3 评论 -
Pro Android学习笔记(三七):Fragment(2):基础小例子
小例子运行效果这是一个书名和书简介的例子。运行如下图。Activity由左右两个Fragment组成,左边显示书名列表,右边显示书的简介。用户点击左边的书名,右边fragment则自动显示该书的简介。Pre-step:一点准备小例子用于学习fragment,书名和简介用数组进行存贮,放在BooksInfo类中,如下:public class BooksInfo {原创 2013-10-14 09:38:46 · 6424 阅读 · 1 评论 -
Pro Android学习笔记(三八):Fragment(3):基础小例子-续
Step 2:实现Fragment指定调用类TitleFragment系统执行setContentView(R.layout.fragment_basic)调用时,左边fragment指定了实现类,则调用该类TitleFragment。我们结合生命周期来进行学习。onInflate()和onAttach()/* 左边fragment是list,和ListActivity一样,继原创 2013-10-14 09:39:46 · 13165 阅读 · 3 评论 -
Pro Android学习笔记(三九):Fragment(4):基础小例子-续
Step 3:实现简介显示类DetailFragment在Activity的布局xml中,对DetailFragment并没有指定class属性,故在setContentView()中不会自动调用该类,而是通过编写showDetail(int index)来调用,该函数的具体编码以后在描述,我们先来看看DetailFragment类的实现。创建实例DetailFragment用于显示具原创 2013-10-14 09:39:59 · 10048 阅读 · 1 评论 -
Pro Android学习笔记(四十):Fragment(5):适应不同屏幕或排版
对于fragment,经常涉及不同屏幕尺寸和不同的排版风格。我们在基础小例子上做一下改动,在横排的时候,仍是现实左右两个fragment,在竖排时,如下图显示:屏幕上只显示一个fragment,点击列表上的数目,进入到简介的activity。下面介绍实现的方式。设置横排和竖排的不同排版风格在 Pro Android学习笔记(四):了解Android资源(下)的“资源和配置的变更原创 2013-10-14 12:10:37 · 6825 阅读 · 2 评论 -
Pro Android学习笔记(四二):Fragment(7):切换效果
利用fragment transaction进行切换,很方便提供切换的效果。利用setTransition()在Pro Android学习笔记(三九):Fragment(4):基础小例子-续的“Step 4:实现showDetail(int index),如何管理fragment”中,介绍了如何在容器FrameLayout中通过fragment管理器,利用fragment transa原创 2013-10-24 12:57:26 · 67027 阅读 · 3 评论 -
Pro Android学习笔记(四四):Dialog(1):触发Dialog
Android提供alert、prompt、pick-list,单选、多选,progress、time-picker和date-picker对话框,并提供自定义的dialog。在Android 3.0后,dialog基于fragment,并对之前版本提供兼容支持库,也就是说对于开发者而言,dialog是基于DialogFragment的。和Windows或者网页JS的Dialog不同,Andr原创 2013-10-29 13:24:24 · 6260 阅读 · 4 评论 -
Pro Android学习笔记(四五):Dialog(2):DialogFragment
DialogFragment的实例newInstance()已经在上一次学习笔记中实现。我们创建dialog的UI,可以通过重写DialogFragment的两个函数当中的一个来实现,这两个函数是onCreateView()和onCreateDialog(),前者返回view,后者返回dialog,如同通过AlertDialog.Builder构造一样。重写onCreateView()原创 2013-10-29 13:24:55 · 21911 阅读 · 8 评论 -
Pro Android学习笔记(四三):Fragment(8):再谈Transaction和管理器
Transaction的一些操作Transaction提供add()、hide()、show()、remove()等功能。下面我们利用这些功能通过fragment的隐藏和显示,为用户提供切换的效果。public void showDetails(int index){ if(index index = 0; //将所有书的简介原创 2013-10-25 11:26:05 · 21799 阅读 · 1 评论 -
Pro Android学习笔记(四六):Dialog(3):对话框弹对话框
提示框的按钮Help,将触发弹出新的帮助提示框。帮助提示框的实现帮助提示框的实现很简单,利用重写onCreateView( )的方式,点击按钮是执行dismiss(),关闭对话框即可。代码不在此重复。dialog fragment的关闭有两种方式,一种是在dialog fragment中直接执行dismiss(),我们看看源代码: /** * Dismiss the原创 2013-10-29 16:13:16 · 5505 阅读 · 0 评论 -
Pro Android学习笔记(四一):Fragment(6):数据保留
在Fragment的生命周期中的Bundle savedInstanceState是用于保存fragment状态,而不是fragment的相关数据。我们今天要解决的问题是,通过fragment,横竖屏切换时,如何保留关键数据。当屏幕进行切换时,activity将退出,重新create,我们希望屏幕转向时,仍能看到原来的数据。诚然有很多方式,例如在app中,通过其他静态参数保留,通过本地存储保留原创 2013-10-15 14:25:57 · 26233 阅读 · 2 评论 -
Pro Android学习笔记(四八):ActionBar(1):Home图标区
ActionBar在Android 3.0 SDK中为平板引入,在4.0中也可以在phone中使用。在title中提供类似tab和菜单的效果,有三种形式:Tabbed action bar,list action bar和standard action bar,我们将在小例子中进行示范。Home Icon在Action Bar的最左边,就是Home icon和标题的区域,如上图红圈内。原创 2013-11-01 15:25:35 · 27910 阅读 · 5 评论 -
Pro Android学习笔记(四九):ActionBar(2):Action图标区
ActionBar的右侧就是action图片区域,如下图所示这是ActionBar的menu区域,作为options menu的一部分,我们先看看代码,没有什么特别。小例子是在上一学习的例子上进行添加,为了更清晰显示,采用继承方式。public class ActionAreaTestCase2 extends HomePressTestCase1{ @Override原创 2013-11-01 16:39:25 · 10823 阅读 · 1 评论 -
Pro Android学习笔记(五二):ActionBar(5):list模式
可以在action bar中加入spinner的下来菜单,有关spinner,可以参考Pro Android学习笔记(二十):用户界面和控制(8):GridView和Spinner。 list的样式和theme有关,如果theme设置不正确,还可能会出现异常。相关的代码如下:public class ListActionBarDemo extends SearchTestCase3原创 2013-11-06 10:06:12 · 5509 阅读 · 0 评论 -
Pro Android学习笔记(五十):ActionBar(3):搜索条
ActionBar中的搜索条我们同样可以在Action Bar中嵌入搜索条。在小例子中,我们在action bar中嵌入一个搜索框的widget(称为search view)。当我们输入搜索内容,能够在指定的activity中打开(称为searchable activitiy),本例不做实质的搜索,只是在指定的activity中显示所要搜索的内容。通过Menu item上定义searc原创 2013-11-05 11:27:03 · 23421 阅读 · 4 评论 -
Pro Android学习笔记(五一):ActionBar(4):标准和Tab模式
之前,我们学习的Action Bar是标准模式,Tab模式的如下图所示。对于Tab,我们在Android学习笔记(二二): 多页显示-Tag的使用中学习过,但Action Bar的tab更适合fragment的使用。我们在之前实现的标准Action Bar的基础上添加导航用的tab,代码如下:public class TabbedActionBarDemo extends Sear原创 2013-11-05 15:26:42 · 8027 阅读 · 0 评论 -
Pro Android学习笔记(五四):调试和分析(2):View层次结构
对于模拟器上的应用(非真实设备),可以查看Hierarchy View,如下图:帮助性能分析当我们选择某个view时,我们可以看到measuring、layingout和drawing该view的时间,如果时间过长,我们就需要考虑是否应该进行性能优化。帮助精简UI设计通过这个视图,我们可以看看是否有多余的不必要的View。中间视图的右下可以zoom-in或者zoom-out。从原创 2013-11-13 16:57:58 · 4815 阅读 · 0 评论 -
Pro Android学习笔记(五六):配置变化
横屏竖屏的切换就是最为常见的配置变化,我们在Pro Android学习笔记(四一):Fragment(6):数据保留中讨论过。 配置变化还有设备连接了dock,改变语言等,在资源res/中,不同的配置有不同的后缀来进行最佳匹配,具体见Pro Android学习笔记(四):了解Android资源(下)的资源和配置的变更 ,我们从中可以看到Android检测哪些配置变化。当配置变化时,当前的a原创 2013-11-18 11:25:34 · 6115 阅读 · 0 评论 -
Pro Android学习笔记(三六):Fragment(1):基本概念
为何引入Fragment我们之前的Activity都是都是全屏处理较为简单的单一事务功能,适合于屏幕尺寸较小的智能手机,但是对于平板,有更大的显示空间,运行用户在上面处理更多的功能,例如屏幕左边是email列表,右边的某email的内容。于是在Android 3.0引入了fragment。Fragment不仅可用于平板,同样也可用于手机尺寸。大小屏幕的适配某种意义上Fragment是a原创 2013-10-11 10:05:59 · 5717 阅读 · 4 评论 -
Pro Android学习笔记(五三):调试和分析(1):Debug视图和DDMS视图
我们将基于Eclipse了解如何对应用进行调试,即debug。Android插件提供的DDMS可以给予很多帮助,包括视图(那个设备被连接),模拟器控制(发送电话呼叫,SMS短信,GPS信息),文件浏览器(查看/传输设备上的文件),thread,heap和allocation跟踪器。在一个真实设备调测应用,除了将设备设置为USB调测模式,还需要在AndroidManifest.xml的appli原创 2013-11-12 17:21:19 · 14592 阅读 · 1 评论 -
Pro Android学习笔记(五五):调试和分析(3):adb命令、模拟器控制台和StrictMode
adb命令我们在学习SQLite的使用,介绍过部分adb命令的使用,见Pro Android学习笔记(五):了解Content Provider(上) 。abd –e shell-e是表面连接模拟器emulator,-d则是连接设备。在模拟器中,我们有一个提升的Linux权限,而在真实设备是没有的,我们可以在模拟器中处理SQLite数据,但是不能在真实设备这样做,即便是我们自己部署原创 2013-11-14 14:29:37 · 4654 阅读 · 1 评论 -
Pro Android学习笔记(六一):Preferences(5):组织Preference
PreferenceCategory如果有多个preference,我们希望能在他们组织在一起。有两种方式,一种就是我们在复合preference中,利用PreferenceScreen进行嵌套,或在同一个PreferenceScreen进行并列放置,这种方式之前已经介绍过,不在重复。另一种方式是通过PrefrenceCategory进行分类。xml文件如下: andr原创 2013-11-27 15:13:30 · 5110 阅读 · 1 评论 -
Pro Android学习笔记(六十):Preferences(4):MultiSelect List Preference
ListPreference提供单选列表,我们可以通过CheckBoxPreference提供多选列表。此外,Android在3.0后提供MultiSelectListPreference,它的实现和ListPreference相似,不同的是还可以不选择或者多个选择。如图所示。XML文件在复合例子中加入相关的内容,如下。同样地可以采用@array来对entry和entryvalue进行定义原创 2013-11-26 16:56:20 · 9272 阅读 · 1 评论 -
Pro Android学习笔记(六二):Preferences(6):header
在前面的例子,我们主要学习了PreferenceScreen的xml如何写,preference有哪些类型。在代码中,我们为了不提示warning,加入了@SuppressWarnings("deprecation"),表明这是老版本的处理方式。自从Android 3.0引入fragment后,preference在实现有变化。PreferenceActivity能够根据设备的尺寸大小不同,提原创 2013-11-29 17:03:07 · 13785 阅读 · 8 评论 -
Pro Android学习笔记(五九):Preferences(3):EditText和Ringtone Preference
xml文件在res/xml/中增加edittext.xml文件,如下: xmlns:android="http://schemas.android.com/apk/res/android" android:key="packet_name" android:title="Package Name"> EditTextPreference and原创 2013-11-25 17:29:34 · 4182 阅读 · 0 评论 -
Pro Android学习笔记(五八):Preferences(2):CheckBoxPreference
在ListPreference的例子中显示的是单选,如果是多选,可采用CheckPreferece。我们继续航班信息的例子,用户选择航班信息中显示哪些信息(航班,出发时间、到达时间、航程时间、价格)。Check Preferencexml文件在res/xml/中增加checkbox.xml文件,如下: xmlns:android="http://schemas.androi原创 2013-11-25 16:30:53 · 6374 阅读 · 0 评论 -
Pro Android学习笔记(六三):Preferences(7):代码控制首选项
代码实现preferenceView可以不通过xml进行设置,有代码直接进行设置,首选项preference也一样。下面是代码设置list preference的例子,是在通过header来指向PreferenceFragment的类,在PreferenceActivity中的实现也是类似的。public class ListPreferenceFragment extends Pre原创 2013-12-04 17:28:26 · 5840 阅读 · 1 评论 -
Pro Android学习笔记(五七):Preferences(1):ListPreference
Adnroid提供Preferences framework,用户可定制化应用,可用来保存信息和状态。在Android学习笔记(四十):Preference的使用中我已经对preferences有所了解。在Android 3.0,随着对平板的支出,preferences有不少的变化。例子1:ListPreference小例子我们先同一个简单的例子来复习。机票的显示缺省是按最低价格,但是用户原创 2013-11-22 14:24:22 · 18105 阅读 · 2 评论 -
Pro Android学习笔记(六五):安全和权限(2):权限和自定义权限
运行安全通过两个层面进行保护。进程层面:不同应用运行在不同的进程,每个应用有独自的user ID;在操作层面,Android定义了所需保护的功能和资源,如果应用需要访问这些信息,必须在AndroidManifest.xml文件中请求许可,应用可以有自定义的许可。进程边界每个应用的userID不同,使得各个进程之间存在隔离的边界,防止应用直接获取其他应用的数据,需要通过content pro原创 2013-12-13 15:42:55 · 5171 阅读 · 0 评论 -
Pro Android学习笔记(六六):安全和权限(3):Provider权限
访问其他应用的content provider我们在ProPermission中提供了一个content provider,成为PrivProvider,然后在ProPermissionClient中对调用这个provider接口。在ProPermission的AndroidManifest.xml中,对provider声明如下: android:authorities="c原创 2013-12-19 11:37:12 · 29743 阅读 · 6 评论 -
Pro Android学习笔记(七三):HTTP服务(7):AndroidHttpClient
文章转载只能用于非商业性质,且不能带有虚拟货币、积分、注册等附加条件,转载须注明出处:http://blog.csdn.net/flowingflying/不知道此文是否是这个系列中最短的一篇。我们注意到HttpClient的类来自Apache的org.apache.http.client.HttpClient,详细的教程可以查看http://hc.apache.org/httpcompone原创 2014-01-26 15:05:54 · 7187 阅读 · 0 评论