- 博客(35)
- 收藏
- 关注
原创 android系统属性的初始化探索
系统属性中有一类是永久保存在文件中的:bionic/libc/include/sys/_system_properties.h#define PROP_SERVICE_NAME "property_service" #define PROP_PATH_RAMDISK_DEFAULT "/default.prop" #define PROP_PATH_SYSTEM_BUILD
2013-09-23 16:30:19
6580
原创 Linux可执行文件引申的烦恼
项目中有时候碰到一些小问题特别烦恼,这些问题不起眼,但如鲠在喉,不弄清楚让人很不舒服。今天在项目中有些问题想要手动创建一个android工程,于是百度手动创建(即命令行创建)的方法:$ android create ....但是提示找不到android命令。因此这里有一个小烦恼:为什么找不到android命令?而我的android sdk配置是正常的,而且可以正常使用adb命令
2013-09-23 10:20:24
1177
翻译 Menu
从Android3.0开始,安卓设备不再提供菜单按钮。这样,我们就从原先的六选项菜单转移到现在使用控制条(action bar)显示用户的常用操作。尽管用户使用习惯有所改变,但定义一些控制和选择的用户行为仍然是基于Menu AP接口的。本篇介绍三种最基本的菜单类型。Options menu and action barOptions menu是activity的最基本容器。这里是放置一
2013-07-17 16:07:01
1026
翻译 Content Providers——Basics
Content ProvidersContent providers管理一套有组织的数据的使用。它们封装了数据,提供定义数据安全机制。Content providers是一个正在运行的进程连接另一个进程数据的标准接口。当我们想要获取content provider中的数据时,我们使用应用程序Context中的ContentResolver对象与作为客户端的provider通信。Conten
2013-07-15 20:23:46
974
翻译 Tasks and Back Stack
一个应用程序通常包含有多个activity。每个activity的设计都应围绕一个特别的动作展开这样用户可以显示和启动其它的activity。比如,一个email应用程序可能需要一个activity展示新邮件列表。当用户点击了一个email后,打开一个新的activity展示这个email的内容。activity还可以启动同一设备上其它应用程序的某个activity。例如,某个应用想要发送一封
2013-07-13 15:38:20
749
原创 API拾遗录之Fragment
Fragment必须内嵌到activity中,它不能单独使用,并且它的生命周期受到activity生命周期的制约——当activity暂停时,所有的fragment暂停,当activity停止时,所有的fragment停止。只有当activity处于运行态(resumed in lifecycle state)时,才可以单独操作各个fragment,比如添加或删除。在fragment事件中,act
2013-07-12 15:40:39
953
原创 API拾遗录之Activity
1. Using Intent filters在manifest.xml文件中必须为每一个activity申明一个元素标签。在这个标签中可以指定多个intent filters。它的作用是申明如何让其它应用组件启动它。当我们创建一个应用程序时,最基础的那个activity包含的一个intent filter总是申明了该activity对"main"方法的反馈结果,并且需要放置在"launc
2013-07-10 15:50:03
1323
1
原创 shell内部变量
$BASH Bash的二进制程序文件的路径$BASH_ENV 这个环境变量会指向一个Bash的启动文件,当一个脚本被调用的时候,这个启动文件将会被读取$BASH_SUBSHELL 用来提示子shell的层次。$BASH_VERSINFO[n] 一个含有6个元素的数组,它包含了所安装的Bash的版本信息。0 主版本号1
2013-07-09 15:11:02
1250
原创 shell条件判断
Bash里用作条件判断的有test命令,各种中括号和圆括号操作,和if/then结构。if/then结构用来判断命令列表的退出状态码是否为0(0表示成功),如果成功,那么就执行接下来的一个或多个命令。“[”中括号是一个专有命令,这个命令与test命令等价,并且处于效率上的考虑,这是一个内建命令。这个命令把它的参数作为比较表达式或者作为文件测试,并且根据比较的结果来返回一个退出状态码(0表示
2013-07-08 20:31:47
562
原创 退出和退出状态码
exit被用来结束一个脚本,就像在C语言中一样。它也返回一个值,并且这个值会传递给脚本的父进程,父进程会使用这个值做下一步的处理。每个命令都会返回一个退出状态码。成功的命令返回0,不成功的命令返回非零值,非零值通常都会被解释成一个错误码。同样的,脚本中的函数和脚本本身也会返回退出状态码。在脚本或者是脚本函数中执行的最后的命令会决定退出状态码。在脚本中,exit nnn命令会把nnn退出码传
2013-07-08 17:50:28
1195
原创 shell之变量基础
变量替换变量的名字就是变量保存值的地方。引用变量的值就叫做变量替换。如果variable1是一个>变量的名字,那么$variable就是引用这变量的值,即这个变量所包含的数据。变量被一对双引号括起来的时候变量替换是不会被阻止的。所以双引号被称为部分引用。如果使用单引号的话,那么变量替换就会被禁止了,变量名只会被解释成字面的意思。$variable事实上只是${variable}
2013-07-08 17:28:50
501
原创 shell所有字符简介
特殊字符:; 命令分隔符。可以在一行上写两个或两个以上的命令。echo hello; echo there;; 终止case选项case "$variable" inabc) echo "\$variable = abc" ;;xyz) echo "\$variable = xyz" ;;esac. 点命令。等价于source命令。
2013-07-08 09:27:04
823
原创 资源类型之TypedArray
TypedArray定义在XML文件中。可以使用它来创建一组其它资源,例如drawables。注意到一组资源并不要求是相同类型的,所以可以创建一组混合类型的资源。但是我们必须知道各个数据类型在组中的具体位置以便可以使用TypedArray's的get...()方法获取每个项目。Note:一组typed array是一个由名字属性提供(而不是XML文件名)提供的简单资源引用。这样,我们可以把ty
2013-07-04 21:25:24
2461
翻译 Google Services——LocationL
Location APIsLocation APIs使我们不需要关心底层位置技术的细节就可以创建location-aware应用。同时通过提供的使用硬件的能力,还可以让我们减少电源开销。Fused location provider融合的location provider智能管理底层位置技术根据需求提供最佳位置信息:Simple APIs:指定一些高级需求例如:高精确性或低
2013-06-19 10:34:15
802
翻译 Location and Sensors APIs
Location and Sensors APIs在设备上使用感应器可以为应用添加位置以及其他动态功能。从GPS到网络位置,加速器,回转仪,温度计,气压计等。Location and MapsNote:本篇是关于android.location包中的Android framework location API的导论。Google Play Services部分的Google Locat
2013-06-19 09:51:36
919
翻译 App Widget Design Guidelines
App Widget Design GuidelinesStandard Widget Anatomy标准的app widget由三个组件组成:一个有界限的封装盒,一个框架和图形控制等元素。App widget可以包括一些安卓视图控件;支持文字标签,按钮和图像控制。好的设计往往在封装盒和框架之间有一些留白,框架内边界和widget控件件也有一些空白。Note:安卓4.0
2013-06-06 10:34:27
1332
翻译 Design:Widgets
WidgetsWidgets是主屏定制化的精髓。可以认为它们是应用程序最后总要数据和功能在主屏上的一瞥。用户可以在主屏上移动widget。还可以按用户喜好裁减widget的大小。Widget types按功能而言,典型的widget分为以下四类:Information widgetsInformation widgets显示重要的和按时改变的信息。一个典型的例子是weather
2013-06-06 09:16:35
921
翻译 AppWidgets
App WidgetsApp Widgets是一类视图较小的应用程序,它们可以内嵌在其它应用程序中(比如主屏)并 接收定时更新。在用户接口中,这类widget是以一些view视图呈现的,我们可以使用App Widget provider表述一个这种widget。可以内嵌App Widgets的应用程序组件称作App Widget host。下图是一个Music App Widget的截屏。
2013-06-05 16:30:53
1330
原创 view中setImportantForAccessibility调用时莫名其妙的空指针异常
如下:E/AndroidRuntime(11807): FATAL EXCEPTION: mainE/AndroidRuntime(11807): java.lang.NullPointerExceptionE/AndroidRuntime(11807): at com.android.launcher2.HideFromAccessibilityHelper.restoreI
2013-06-03 16:55:00
7762
转载 Java移位运算符
http://java.chinaitlab.com/base/828314.htmljava移位运算符不外乎就这三种:>(带符号右移)和>>>(无符号右移)。 1、 左移运算符 左移运算符 1)它的通用格式如下所示: value num 指定要移位值value 移动的位数。 左移的规则只记住一点:丢弃最高位,0补最低位 如果移动的位数超过了该类
2013-05-14 20:20:19
788
原创 transition XML和TransitionDrawable实例
Transition.xml activity_main.xml<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_widt
2013-05-10 09:00:23
955
原创 layer-list XML和LayerDrawable实例
layer_list.xml <item android:id="@+id/beauty1" android:left="10dp" android:top="10dp"> <bitmap android:gravity="center" android:src="@dr
2013-05-09 20:20:38
1254
原创 Bitmap XML和BitmapDrawable应用实例
bitmap_xml.xml<bitmap xmlns:android="http://schemas.android.com/apk/res/android" android:dither="true" android:src="@drawable/beauty1" android:tileMode="disabled" >activity_main.xml<
2013-05-09 16:55:10
4095
1
原创 Drawable&Drawable Resources——BitmapDrawable应用实例
activity_main.xml<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:gravity="cent
2013-05-09 16:44:38
668
翻译 Drawable Resources
drawable资源是一个图形的通用概念,它表示这个图形可以绘制到屏幕上,可以使用API接口获取,例如getDrawable(int);或应用到另外的XML资源属性中,例如android:drawable和android:icon。有以下几种drawable资源。Bitmap File——一个位图图形文件(.png,.jpg,.gif)[此处指出了位图就是我们真是可见的图片]。创建一个Bitm
2013-05-09 10:58:04
1081
原创 安卓使用Canvas画图分析
安卓使用除了使用已有图片之外,还可以画图。前者由drawable完成,而后者则由Canvas等完成。本篇探讨后者,安卓画图涉及到的类,以及绘图机制的研究。绘制一副图形,有四个基本构成:一个hold像素点的Bitmap;一个进行绘制调用(写到bitmap中)的Canvas;一个基本绘画图形(例如Rect,Path,text,Bitmap),和一支画笔(定义了线条的颜色,样式等;Paint类)。
2013-05-07 16:14:12
966
翻译 Canvas and Drawables
Android framework API提供了一套2D绘画API绘制自己的图形到画布上或更改已有的Views定制外观。绘制2D图形,有两种方法:从layout中把图形或动画绘制给一个View对象。在这个方法中,图形绘制操作由系统普通View图层绘制进程完成——我们只需要定义这个图形到View视图中。直接绘制图形到画布上。这样需要个人调用onDraw()方法或者画布类的draw...()方
2013-05-06 20:51:43
1035
翻译 动画和图形——View Animation
我们使用view animation系统表示view视图的补间动画。补间动画计算动画信息,比如开始点,结束点,大小,旋转度和其他与动画相关的信息。一个补间动画可以表示一个View对象内容的一系列简单的变化(位置,大小,旋转和透明)。所以,如果有一个TextView对象,我们可以移动,旋转,伸缩这个text。如果有背景图片,背景图片可以随着text一起变化。animation包提供了补间动画使用
2013-05-06 15:39:57
711
翻译 动画和图形——Property Animation
property animation系统是一套健壮的框架,允许我们动画化几乎任何东西。我们可以定义一个动画来改变对象的任何属性,而不用管它是否会绘制到屏幕上。属性动画随着时间改变对象属性值(对象的一个域)。动画化一个实体,我们指定这个实物需要动画化的属性,比如一个实体在屏幕上的位置,持续多长时间和其它在动画持续过程中的属性。property animation系统允许需要我们定义以下特征:
2013-05-03 18:14:08
1162
翻译 动画和图形——Overview
安卓系统提供了一套很强的UI动画和绘制2D,3D图形的API。Animation安卓framework提供了两类动画系统:property animation(属性动画)(安卓3.0引入)和view animation(视图动画)。两类动画都是不错的选择,但property animation因其较大的灵活性和更丰富的特征性更为开发人员所青睐。这两类动画之外,还有一种Drawable an
2013-05-03 15:21:07
641
原创 Api-Demo Advanced preference分析
该Demo的效果图如下所示,点击MyPreference,数字会增加。而CheckBoxPreference则自动在Check和UnCheck切换:advanced_preferences.xml<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"> //自定义
2013-05-02 10:39:15
998
转载 Android Handler
http://www.pin5i.com/showtopic-android-handler.html一、Handler的定义: 主要接受子线程发送的数据, 并用此数据配合主线程更新UI. 解释: 当应用程序启动时,Android首先会开启一个主线程 (也就是UI线程) , 主线程为管理界面中的UI控件,进行事件分发, 比如说, 你要是点击一
2013-05-02 10:04:53
423
原创 实例探索Preference XML文件中的各项属性
Preference的API中定义了如下属性,我们通过实例一一分解它们的含义和用处。本例借助一个CheckBoxPreference分析,而且只分析Preference里的各项属性,对于子类的属性我们这里不作介绍。MainActivity.java:package com.sean.preferenceattributestest;import android.app.Ac
2013-04-28 15:07:59
2881
原创 写好一个Preference的大局观
1. 一个完整的Preference由两部分组成,一个继承自Preference的类(比如系统已定义的CheckBoxPreference或自定义CustomPreference)和放置相应配置信息的XML文件(包括系统已定义标签,,或自定义指向对应CustomPreference类的标签,这一类标签等同于自定义标签)。2.如果仅有Preference,那么可以认为只有了setting的后
2013-04-26 10:45:34
1367
原创 g++编译warning: deprecated conversion from string constant to ‘char*’ /tmp/ccSf0DmE.o: In function `ma
我用的ubuntu操作系统,以下是c++Primer Plus(第五版)的一段代码,结果出现了标题所示的警告,请教哪位大神帮忙解解,谢谢。完整警告如下: g++ strgfun.cpp -o strgfunstrgfun.cpp: In function ‘int main()’:strgfun.cpp:6: warning: deprecated conversion from
2012-11-20 09:29:11
967
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人