android系统属性

合集下载

Android Tips---Android平台常见属性集合

Android Tips---Android平台常见属性集合
设置行间距。
android:phoneNumber
true/false
设置为电话号码的输入方式。
android:privateImeOptions
提供额外的输入法选项(字符串格式)。
android:scrollHorizontally
true/false
设置文本超出TextView的宽度的情况下,是否出现横拉条。
android:fadingEdgeLength
设置边框渐变的长度。
android:linksClickable
设置链接是否点击连接,即使设置了autoLink
android:maxLines
设置文本的最大显示行数,与width或者layout_width结合使用,超出部分自动换行,超出行数将不显示
android:minLines
设置文本的最小行数
android:lineSpacingExtra
android:longClickable
true/false
view是否可以对长时间的click事件作出反应。
android:focusable
view是否能响应焦点事件
android:cacheColorHint
#00000000
滚动时,列表里面的view重绘时,用的依旧是系统默认的透明色,颜色值为#FF191919,要改变这种情况,只需要调用listView的setCacheColorHint(0),颜色值设置为0或者xml文件中listView的属性Android:cacheColorHint="#00000000"即可,滚动时,重绘View的时候就不会有背景颜色。
android:cursorVisible
true/false

androidpersist属性使用

androidpersist属性使用

androidpersist属性使用Android的`android:persist`属性用于指示应用程序是否可以在重新启动后继续保持其状态。

当`android:persist`属性设置为`true`时,系统会尝试在设备重启后恢复应用程序的状态。

这有助于提供更好的用户体验,因为用户可以在重新启动后继续与应用程序进行互动,而无需重新开始。

要使用`android:persist`属性,需要在应用程序的清单文件(`AndroidManifest.xml`)中添加以下代码:```xml<activity...</activity>```在上述示例中,`MainActivity`是要使用`android:persist`属性的活动。

使用`android:persist`属性时需要注意以下几点:1. `android:persist`属性仅适用于活动。

它不能应用于服务、广播接收器或其他组件。

2. 在应用程序的清单文件中使用`android:persist`属性时,确保将其添加到要恢复状态的每个活动上。

3. 保留`android:persist`属性的默认值为`false`。

设置为`true`时,系统才会尝试在设备重启后恢复应用程序的状态。

4. 当重新启动设备时,系统会尝试恢复每个具有`android:persist`属性设置为`true`的活动的状态。

但是,如果设备内存不足,系统可能会清除一些应用程序的状态。

5. 使用`android:persist`属性可能会对应用程序的性能产生一定的影响。

因此,只有当应用程序需要持久保持其状态并且性能牺牲可接受时,才应使用此属性。

虽然`android:persist`属性可以确保应用程序在重新启动后保持其状态,但是这并不是持久化数据的最佳解决方案。

如果应用程序需要保存和恢复大量的数据,建议使用其他持久化技术,如`SharedPreferences`、数据库或文件存储。

android系统的手机目录各个文件夹代表什么?例如acct

android系统的手机目录各个文件夹代表什么?例如acct

1、mnt挂载点目录
2、etc系统主要配置文件
3、system Android 系统文件
4、sys Linux 内核文件
5、proc运行时文件
6、init.rc启动脚本
7、default.prop系统属性配置文件
8、data 用户程序目录
9、dev设备文件
system 目录下面的主要文件目录下面也简单介绍一下:
1、usr用户文件夹,包含共享、键盘布局、时间区域文件等
2、app 常规下载的应用程序,这些apk包都是受保护的哦
3、lib 系统底层库,如平台运行时库等
4、etc系统的配置文件,比如APN接入点设置等核心配置等
5、framework Android 系统平台核心framework 的文件
6、build.prop Android 系统属性配置文件
7、xbin常用开发工具,比如tcpdump/sqlite3 等
8、bin 系统工具,比如ps/cp/pm 等。

【推荐下载】Android中的android.provider.Settings.System系统属性设定

【推荐下载】Android中的android.provider.Settings.System系统属性设定

Android 中的android.provider.Settings.System 系统属性设定2012/04/12 0 Content Provider 中的Setting.System 表内存储了很多系统属性的,以键对的形式存在!可以对如下的变量进行设置ConstantsStringACCELEROMETER_ROTATIONControl whether the accelerometer will be used to change screen orientation.StringADB_ENABLEDThis constant is deprecated. Use ADB_ENABLED insteadStringAIRPLANE_MODE_ONWhether Airplane Mode is on.StringAIRPLANE_MODE_RADIOSA comma separated list of radios that need to be disabled when airplane mode is on.StringALARM_ALERTPersistent store for the system-wide default alarm alert.StringALWAYS_FINISH_ACTIVITIESIf 1, the activity manager will aggressively finish activities and processes as soon as they are no longer needed.StringANDROID_IDThis constant is deprecated. Use ANDROID_ID insteadStringAPPEND_FOR_LAST_AUDIBLEAppended to various volume related settings to record the previous values before they the settings were affected by asilent/vibrate ringer mode change.StringAUTO_TIMEValue to specify if the user prefers the date, time and time zone to be automatically fetched from the network (NITZ).StringAUTO_TIME_ZONEValue to specify if the user prefers the time zone to be automatically fetched from the network (NITZ).StringBLUETOOTH_DISCOVERABILITYDetermines whether remote devices may discover and/or connect to this device.StringBLUETOOTH_DISCOVERABILITY_TIMEOUTBluetooth discoverability timeout.StringBLUETOOTH_ONThis constant is deprecated. Use BLUETOOTH_ON insteadStringDATA_ROAMINGThis constant is deprecated. Use DATA_ROAMING insteadStringDATE_FORMATDate format string mm/dd/yyyy dd/mm/yyyy yyyy/mm/ddStringDEBUG_APPName of an application package to be。

安卓系统属性

安卓系统属性

android系统属性build.prop,所在位置:out\target\product\kylin\system\build.prop用数据线连接android 设置,进入调试模式(在android的设置--应用程序--开发--USB调试)开始--运行--CMDC:\Documents and Settings\Administrator>adb shell# cd systemcd system# lslsapp build.prop fonts lib usrbin etc framework media xbin可以看到build.prop,这个就是系统的属性表,若要COPY出来,这样操作:比如COPY到D盘的leo目录下C:\Documents and Settings\Administrator>adb pull system/build.prop d://leo120 KB/s (0 bytes in 1925.000s)C:\Documents and Settings\Administrator>可用记事本打开查看若要在java代码里读取里面的属性值,则需用到android.os.SystemProperties这个类,此类未开放(未提供给SDK API),此类具体位置:frameworks\base\core\java\android\os\SystemProperties.java能够在frameworks里面使用,比如在所有文件policies\base\phone\com\android\internal\policy\impl\LockScreen.java 里使用final boolean isMonkey = SystemProperties.getBoolean("ro.monkey", false);也能够在android自带的APP 里使用,比如在Settings app里使用packages\apps\Settings\src\com\android\settings\deviceinfo\Status.java//leo added for KYLIN-529if(SystemProperties.get("").equals("surfone_citic"))。

将Android平台的RIL层移植到基于LINUX的通用平台的研究与实现

将Android平台的RIL层移植到基于LINUX的通用平台的研究与实现

将Android平台的RIL层移植到基于LINUX的通用平台的研究与实现作者:赵国强彭大芹来源:《电子世界》2013年第10期【摘要】本文通过对Android RIL层代码分析,将android RIL层功能在纯LINUX平台上实现,完全脱离了Android系统。

为基于LINUX的通用平台实现一套成熟的RIL层代码,并开发出相应的框架层,以便基于LINUX的平台能快速成熟的向3G网络发起相关业务。

在OpenWrt系统上验证了移植后的RIL层代码正常工作。

【关键词】Android RIL;LINUX;移植;Parcel;验证1.课题研究的背景和意义1.1 Android RIL简介Android RIL(Radio Interface Layer)提供了无线基带Modem与电话应用之间的抽象层。

在Android RIL层中,完善的考虑了电话应用的各种情况,如:双SIM卡;电话,短信,彩信,PS DATA业务,PIN/PUK码等各种3G网络业务。

RIL层在Android系统中,处于硬件抽象层,运行在一个独立的守护进程中,主要为框架层和基带接口提供适配,具有良好的独立性。

其中的通信机制,与框架层接口主要使用Socket 通信,内部线程主要使用管道,与基带接口默认使用AT命令。

且其代码均由C和C++来完成,依赖第三方库较少,所以,Android RIL层具有良好的移植性。

1.2 移植Android RIL的意义目前很多基于LINUX平台的系统,如:PC(LINUX操作系统),QT,路由器平台(如OpenWrt系统)等等,都对连接3G网络有需求,但在这些平台原生的功能中,没有独立的RIL接口层,所以开发一套基于LINUX的独立应用,用来支持与基带发起各种3G网络相关业务是很有意义的。

Android RIL具有良好的稳定性,独立性,以及对3G网络业务的完整性,所以将其移植成一个独立的,供LINUX通用平台使用的RIL层,可方便所有的基于LINUX的平台完成各种电话应用的开发。

Android平台简单介绍

Android平台简单介绍

Android平台简单介绍1. 起源和发展Android是由Android公司的创始⼈Andy Rubin创造的,⽽后被Google收购,Google的⽬标是将Android打造成⼀个标准化、开放式的移动操作系统平台。

Android是开放源代码的移动操作系统软件,提供了丰富的功能和酷炫的⽤户界⾯。

Google不断优化和改进Android系统,并开放原⽣的安卓系统源代码允许各个软件⼚商或者⼿机⼚商进⾏定制化的修改。

同时Google也提供了丰富的Android API和强⼤的开发环境,使得在Android平台上开发Android App变得⼗分便捷。

Android是⽬前移动端市场占有率最⾼的⼿机操作系统,事实上,Android已经不仅仅⽤在⼿机端,还⼴泛⽤于TV、⼿表等各种可穿戴设备以及各种智能硬件。

2. Android平台架构Android平台是基于Linux内核构建起来的,从上到下主要包含四个层次:应⽤程序层,这⼀层主要包含各种应⽤程序软件,包括最基本的通话、短信、联系⼈、浏览器等App,还包括⼤量开发者开发的各种App;应⽤程序框架层,所有的App都是基于应⽤框架层开发的,应⽤框架层提供了⼤量的API供开发者使⽤,开发者也可以提交⾃⼰开发的功能模块;系统环境层,这⼀层包含了⽀持上层功能所需要的⼤量C/C++函数库,还包括Android运⾏时环境,Android运⾏时环境包括Java核⼼库以及Android虚拟机;Linux内核层,Android内核建⽴在Linux 2.6之上,这⼀层提供最基础的诸如内存管理、进程管理、⽹络协议栈等操作系统级服务;关于Android虚拟机,在5.0版本之前使⽤的是Dalvik虚拟机,⽽⾃5.0版本之后使⽤的是ART。

Dalvik虚拟机是⼀种解释执⾏的虚拟机,由于其在运⾏App时进⾏动态编译,使得运⾏App的速度⽐较慢。

ART采⽤AOT(Ahead of Time)的技术在安装App时就进⾏编译,使得运⾏App的效率得到较⼤提升。

64系统下如何安装Android系统

64系统下如何安装Android系统

首先,访问/technetwork/java/javase/downloads/index.html下载最新版Java SE Development Kit其次,访问/sdk/index.html下载Android SDK最后,访问/downloads/下载Eclipse IDE for Java Developers下载完成后,开始安装和配置。

下载完成后,开始安装和配置。

第一步,安装和配置JDK。

下载后,双击运行jdk-7u3-windows-x64安装文件,安装至C:\Java\jdk1.7.0_03。

安装完毕后,就是配置环境变量。

步骤如下:(1)设置JAVA路径在“我的电脑”上点右键,选“属性”,打开“系统属性”对话框,点“高级”选项卡,再点“环境变量”按钮,在打开的对话框中的“系统变量”下方,点“新建”,然后在对话框中的“变量名”中填JAVA_HOME,在“变量值”中填C:\Java\jdk1.7.0_03,点“确定”。

(2)设置CLASS路径再“新建”一个系统变量,在“变量名”中填CLASSPATH,在“变量值”中填.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar。

说明:最开始的.;中的.(点)表示当前路径,;(分号)是路径分隔符。

接下来的%JAVA_HOME%引用的是前面刚创建的JAVA安装路径。

(3)设置PATH路径PATH变量一般都有了,因此选中点“编辑”,然后在“变量值”后面加上;%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin,注意前面的分号。

这样,JDK就安装好。

“开始->运行”,输入cmd,然后在命令行提示符中输入:java -version,应该能够看到java version “1.7.0_03″信息;JDK安装成功。

第二步,安装和配置Android SDK安装installer_r17-windows,安装至C:\Android\android-sdk。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Android的属性系统2011-04-10 17:42每个属性都有一个名称和值,他们都是字符串格式。

属性被大量使用在Android系统中,用来记录系统设置或进程之间的信息交换。

属性是在整个系统中全局可见的。

每个进程可以get/set属性。

在系统初始化时,Android将分配一个共享内存区来存储的属性。

这些是由“init”守护进程完成的,其源代码位于:device/system/init。

“init”守护进程将启动一个属性服务。

属性服务在“init”守护进程中运行。

每一个客户端想要设置属性时,必须连接属性服务,再向其发送信息。

属性服务将会在共享内存区中修改和创建属性。

任何客户端想获得属性信息,可以从共享内存直接读取。

这提高了读取性能。

客户端应用程序可以调用libcutils中的API函数以GET/SET属性信息。

libcutils的源代码位于:device/libs/cutils。

API函数是:int property_get(const char *key, char *value, const char *default_value);int property_set(const char *key, const char *value);而libcutils又调用libc中的__system_property_xxx 函数获得共享内存中的属性。

libc的源代码位于:device/system/bionic。

属性服务调用libc中的__system_property_init函数来初始化属性系统的共享内存。

当启动属性服务时,将从以下文件中加载默认属性:/ default.prop/system/build.prop/system/default.prop/data/local.prop属性将会以上述顺序加载。

后加载的属性将覆盖原先的值。

这些属性加载之后,最后加载的属性会被保持在/data/property中。

特别属性如果属性名称以“ro.”开头,那么这个属性被视为只读属性。

一旦设置,属性值不能改变。

如果属性名称以“persist.”开头,当设置这个属性时,其值也将写入/data/property。

如果属性名称以“net.”开头,当设置这个属性时,“net.change”属性将会自动设置,以加入到最后修改的属性名。

(这是很巧妙的。

netresolve模块的使用这个属性来追踪在net.*属性上的任何变化。

)属性“ ctrl.start ”和“ ctrl.stop ”是用来启动和停止服务。

每一项服务必须在/init.rc中定义.系统启动时,与init守护进程将解析init.rc和启动属性服务。

一旦收到设置“ ctrl.start ”属性的请求,属性服务将使用该属性值作为服务名找到该服务,启动该服务。

这项服务的启动结果将会放入“ init.svc.<服务名>“属性中。

客户端应用程序可以轮询那个属性值,以确定结果。

Android toolbox程序Android toolbox程序提供了两个工具:setprop和getprop获取和设置属性。

其使用方法:getprop <属性名>setprop <属性名><<属性值>Java在Java应用程序可以使用System.getProperty()和System.setProperty()函数获取和设置属性。

Action默认情况下,设置属性只会使"init"守护程序写入共享内存,它不会执行任何脚本或二进制程序。

但是,您可以将您的想要的实现的操作与init.rc中某个属性的变化相关联.例如,在默认的init.rc中有:# adbd on at boot in emulatoron property:ro.kernel.qemu=1start adbdon property:persist.service.adb.enable=1start adbdon property:persist.service.adb.enable=0stop adbd这样,如果你设置persist.service.adb.enable为1 ,"init"守护程序就知道需要采取行动:开启adbd服务。

1. android现在好像只有/ default.prop,/system/build.prop两个文件,别的两个文件找不到2. /data/property下有4个prop文件:persist.sys.timezone,nguage,persist.sys.country,persist.sys.localevar,里面保存着属性名称以“persist.”开头的属性值。

3. libcutils的源码位于system\core\libcutils\下面,获取和设置属性的代码在properties.c里面,读取属性通过读共享内存得到,设置属性通过发送请求到property_service进行设置。

4. 相关的函数有property_set,property_get,property_list。

5. 属性系统的初始化通过__system_properties_init函数完成,__system_properties_init函数代码如下:view plaincopy to clipboardprint?int __system_properties_init(void) { prop_area *pa; int s, fd; unsigned sz; char *env; if(__syste m_property_area__ != ((void*) &dummy_props)) { return 0; } env = getenv("ANDROID_PROPERT Y_WORKSPACE"); if (!env) { return -1; } fd = atoi(env); env = strchr(env, ','); if (!env) { return -1; } sz = atoi(env + 1); pa = mmap(0, sz, PROT_READ, MAP_SHARED, fd, 0); if(pa == MAP_FAIL ED) { return -1; } if((pa->magic != PROP_AREA_MAGIC) || (pa->version != PROP_AREA_VERSION )) { munmap(pa, sz); return -1; } __system_property_area__ = pa; return 0; }可以看到首先从环境变量里面获取ANDROID_PROPERTY_WORKSPACE,ANDROID_PROPERTY_WORKSPACE 的值为如下形式:ANDROID_PROPERTY_WORKSPACE=9,32768。

然后获取共享内存的文件句柄和长度,最后对共享内存进行检查并设置全局变量__system_property_area__的值,property_get就是从__system_property_area__里面读取的属性值。

环境变量的初始化在init.c的service_start函数里面。

6. /init.rc里面有设置属性的代码,例如:# Define the oom_adj values for the classes of processes that can be# killed by the kernel. These are used in ActivityManagerService.setprop ro.FOREGROUND_APP_ADJ 0setprop ro.VISIBLE_APP_ADJ 1setprop ro.SECONDARY_SERVER_ADJ 2setprop ro.HOME_APP_ADJ 4setprop ro.HIDDEN_APP_MIN_ADJ 7setprop ro.CONTENT_PROVIDER_ADJ 14setprop ro.EMPTY_APP_ADJ 157. 通过property_list可以枚举所有的属性,下面是一段打印所有属性的代码。

view plaincopy to clipboardprint?#include <cutils/properties.h> #include <stdio.h> void print_prop(const char* key,const char* valu e,void* cookie) { printf("key=%s,value=%s\n",key,value); } int main() { property_list(pri nt_prop,NULL); }Android.mk文件:LOCAL_PATH:= $(call my-dir)include $(CLEAR_VARS)LOCAL_SRC_FILES:= \list_property.cpp \LOCAL_SHARED_LIBRARIES := \libcutils \libutils \LOCAL_MODULE:= list_propinclude $(BUILD_EXECUTABLE)include $(call all-makefiles-under,$(LOCAL_PATH))所有的属性如下:key=ro.secure,value=0key=ro.allow.mock.location,value=1key=ro.debuggable,value=1key=persist.service.adb.enable,value=1key=ro.kernel.qemu,value=1key=ro.kernel.console,value=ttyS0key=ro.kernel.android.checkjni,value=1key=ro.kernel.android.qemud,value=ttyS1key=ro.factorytest,value=0key=ro.serialno,value=key=ro.bootmode,value=unknownkey=ro.baseband,value=unknownkey=ro.carrier,value=unknownkey=ro.bootloader,value=unknownkey=ro.hardware,value=goldfishkey=ro.revision,value=0key=ro.build.id,value=CUPCAKEkey=ro.build.display.id,value=sdk-eng 1.5 CUPCAKE 148875 test-keys key=ro.build.version.incremental,value=148875key=ro.build.version.sdk,value=3key=ro.build.version.release,value=1.5key=ro.build.date,value=Thu May 14 17:29:49 PDT 2009key=ro.build.date.utc,value=1242347389key=ro.build.type,value=engkey=er,value=android-buildkey=ro.build.host,value=key=ro.build.tags,value=test-keyskey=ro.product.model,value=sdkkey=ro.product.brand,value=generickey=,value=sdkkey=ro.product.device,value=generickey=ro.product.board,value=key=ro.product.manufacturer,value=unknownkey=nguage,value=enkey=ro.product.locale.region,value=USkey=ro.board.platform,value=key=ro.build.product,value=generickey=ro.build.description,value=sdk-eng 1.5 CUPCAKE 148875 test-keyskey=ro.build.fingerprint,value=generic/sdk/generic/:1.5/CUPCAKE/148875:eng/test-keys key=rild.libpath,value=/system/lib/libreference-ril.sokey=rild.libargs,value=-d /dev/ttyS0key=ro.config.notification_sound,value=F1_New_SMS.oggkey=xmpp.auto-presence,value=truekey=ro.config.nocheckin,value=yeskey=,value=Androidkey=net.change,value=net.gprs.local-ipkey=dalvik.vm.stack-trace-file,value=/data/anr/traces.txtkey=persist.sys.timezone,value=GMTkey=nguage,value=enkey=persist.sys.country,value=USkey=persist.sys.localevar,value=key=ro.FOREGROUND_APP_ADJ,value=0key=ro.VISIBLE_APP_ADJ,value=1key=ro.SECONDARY_SERVER_ADJ,value=2key=ro.HOME_APP_ADJ,value=4key=ro.HIDDEN_APP_MIN_ADJ,value=7key=ro.CONTENT_PROVIDER_ADJ,value=14key=ro.EMPTY_APP_ADJ,value=15key=ro.FOREGROUND_APP_MEM,value=1536key=ro.VISIBLE_APP_MEM,value=2048key=ro.SECONDARY_SERVER_MEM,value=4096key=ro.HOME_APP_MEM,value=4096key=ro.HIDDEN_APP_MEM,value=5120key=ro.CONTENT_PROVIDER_MEM,value=5632key=ro.EMPTY_APP_MEM,value=6144key=net.tcp.buffersize.default,value=4096,87380,110208,4096,16384,110208 key=net.tcp.buffersize.wifi,value=4095,87380,110208,4096,16384,110208 key=net.tcp.buffersize.umts,value=4094,87380,110208,4096,16384,110208 key=net.tcp.buffersize.edge,value=4093,26280,35040,4096,16384,35040key=net.tcp.buffersize.gprs,value=4092,8760,11680,4096,8760,11680 key=init.svc.console,value=runningkey=init.svc.servicemanager,value=runningkey=init.svc.vold,value=runningkey=init.svc.debuggerd,value=runningkey=init.svc.ril-daemon,value=runningkey=init.svc.zygote,value=runningkey=init.svc.media,value=runningkey=init.svc.installd,value=runningkey=init.svc.flash_recovery,value=stoppedkey=init.svc.goldfish-setup,value=stoppedkey=init.svc.qemud,value=stoppedkey=init.svc.goldfish-logcat,value=stoppedkey=ARGH,value=ARGHkey=net.eth0.dns1,value=10.0.2.3key=net.gprs.local-ip,value=10.0.2.15key=e-ppp,value=nokey=status.battery.state,value=Slowkey=status.battery.level,value=5key=status.battery.level_raw,value=50key=status.battery.level_scale,value=9key=ro.setupwizard.mode,value=EMULATORkey=.google.locationfeatures,value=1key=init.svc.adbd,value=runningkey=pleted,value=1key=hw.keyboards.65536.devname,value=qwerty2 key=sys.settings_secure_version,value=2key=dev.bootcomplete,value=1key=sys.settings_system_version,value=6key=gsm.sim.operator.numeric,value=key=gsm.sim.operator.alpha,value=key=gsm.sim.operator.iso-country,value=key=gsm.sim.state,value=UNKNOWNkey=adb.connected,value=1。

相关文档
最新文档