搜档网
当前位置:搜档网 › Android动态加载外部jar包及资源文件

Android动态加载外部jar包及资源文件

Android动态加载外部jar包及资源文件
Android动态加载外部jar包及资源文件

Android动态加载外部jar包及jar包中图片等资源文件Android应用程序由Java开发,因此Java中许多实用的特性,在Android中也有体现。动态加载Class,也就是外部jar包,在Java 中简单的方法就是在项目的Bulid Path中导入jar,然后就可以使用jar包中的Class文件,这些,都需要java虚拟机的支持。

Android的虚拟机与java虚拟机有区别。所以在动态加载jar 包上面有区别。简单来说就是android的虚拟机不能识别jar包,需要将jar包转换为可识别的dex文件(android系统可执行文件)。

Android中动态加载jar包的类,使用DexClassLoader来实现。

Jar包中可以打进android项目res文件夹下的资源文件,android中亦可以对jar包中的资源文件进行加载。

Android中加载jar包中的如txt,png等文件,使用JarFile类进行。

2.制作jar包,转换为dex文件

使用面向接口编程:

2.1写好功能接口与接口的实现。

2.2将接口打成IDynamic.jar,将接口实现打成Dynamic.jar

面向接口编程,调用jar包的项目导入接口的jar包,接口实现的jar包放在项目外部,用于调用。

2.3将功能接口的实现类的jar包转为dex文件

1)将Dynamic.jar复制到

adt-bundle-windows-x86-20131030\sdk\build-tools\android

-4.4,将jar包转为android识别的dex文件。

2)进入cmd,cd到上面的目录,执行命令:

dx --dex --output = Dynamic_temp.jar Dynamic.jar

Dynamic_temp.jar是要生成的dex包。

注:jar包中可以将res中的资源打包进去。

3.使用jar包,动态加载。

1.将接口实现类的jar包Dynamic_temp.jar导入到模拟器

的sd卡上,为了方便,直接导入根目录下。

2.将接口IDynamic.jar导入需要调用的项目中。

3.1动态加载jar包中的Class,例子是在activity中:

在按钮的点击事件中调用jar中的方法:

3.2动态加载jar包中的资源:图片、文本等

将jar包中打入资源文件,例子中是res/drawable-mdpi/ic_launcher.png,及jar自带的META-INF/MANIFEST.MF文件。

3.2.1解析jar包中的文本文件:

将从jar包中读出的文本文件,以inputStream流的形式读出,再输出。

3.2.2 解析jar包中的图片

将jar包中的图片以inputStream流的形式读出,再将inputStream流转为bmp图片对象,进行使用。

效果图

Android布局属性大全

Android布局属性大全 布局: AbsoluteLayout(绝对布局): xmlns:android="https://www.sodocs.net/doc/df13900984.html,/apk/res/android" style="@..." android:clipChildren="true|false" android:clipToPadding="true|false" android:layoutAnimation="@---" android:animationCache="true|false" android:persistentDrawingCache="none|animation|scrolling|all":持续高速缓存绘图 android:alwaysDrawnWithCache="true|false" android:andStatesFromChildre="true|false" android:descendantFocusability="beforeDescendants|afterDescendants|bl ocksDescendants":后裔可聚焦 android:id="@+id/absoluteLayout" android:tag="@---" android:android:scrollX="---" android:android:scrollY="---" android:background="@---" android:padding="----" android:paddingLeft="----" android:paddingTop="----" android:paddingRight="----" android:paddingBotton="---" android:focusable="true|false" android:focusableInTouchMode="true|false" android:visibility="visible|invisible|gone" android:fitsSystemWindows="true|false":适合系统窗口 android:scrollbars="none|horizontal|vertical" android:scrollbarStyle="insideOverlay(内覆盖)|insideInset(内插 图)|outsideOverlay(外覆盖)|outsideInset(外插图)" android:isScrollContainer="true|false":是一个滚动集合 android:fadeScrollbars="true|false":褪色的滚动条 android:scrollbarFadeDuration="---":卷轴淡出 android:scrollDefaultDelayBeforeFade="---":滚动前默认延迟 android:scrollbarSize="---" android:scrollbarThumbHorizontal="@----":拇指水平滚动条 android:scrollbarThumbVertical="@----":拇指垂直滚动条 android:scrollbarTrackVertical="@---":垂直滚动条轨道 android:scrollbarTrackHorizontal="@---":水平滚动条轨道 android:scrollbarAlwaysDrawHorizontalTrack="true|false":水平滚动条总是吸引轨道

Android之TextView属性大全

Android之TextView属性大全 发现TextView有一个比较大的问题,就是文字排版的问题,遇到数字,字母,符号等就会有问题,目前还没有什么解决方法。 android:autoLink设置是否当文本为URL链接/email/电话号码/map时,文本显示为可点击的链接。可选值(none/web/email/phone/map/all) android:autoText如果设置,将自动执行输入值的拼写纠正。此处无效果,在显示输入法并输入的时候起作用。 android:bufferType指定getText()方式取得的文本类别。选项editable 类似于StringBuilder可追加字符, 也就是说getText后可调用append方法设置文本内容。spannable 则可在给定的字符区域使用样式. android:capitalize设置英文字母大写类型。此处无效果,需要弹出输入法才能看得到,参见EditView此属性说明。 android:cursorVisible设定光标为显示/隐藏,默认显示。 android:digits设置允许输入哪些字符。如“1234567890.+-*/% ()” android:drawableBottom在text的下方输出一个drawable,如图片。如果指定一个颜色的话会把text的背景设为该颜色,并且同时和background使用时覆盖后者。 android:drawableLeft在text的左边输出一个drawable 。 android:drawablePadding设置text与drawable(图片)的间隔,与drawableLeft、drawableRight、drawableTop、drawableBottom一起使用,可设置为负数,单独使用没有效果。 android:drawableRight在text的右边输出一个drawable。

Android应用开发基础习题集

任务一 Android开发环境的搭建 第一部分知识回顾与思考 1.Android的四层架构分别包括哪几层分别起到什么作用 答:Linux内核层(Linux Kernel):基于Linux内核,内核为上层系统提供了系统服务。 系统库层(Libraries):系统库基于C/C++语言实现,通过接口向应用程序框架层提供编程接口。 应用框架层(Application Framework):为开发者提供了一系列的Java API,包括图形用户界面组件View、SQLite数据库相关的API、Service组件等。 应用程序层(Applications):包含了Android平台中各式各样的应用程序。 第二部分职业能力训练 一、单项选择题(下列答案中有一项是正确的,将正确答案填入括号内) 1.Android四层架构中,应用框架层使用的是什么语法( C ) A.C B.C++ C.Java D.Android 2.Android四层架构中,系统库层使用的是什么语法( B ) A.VB B.C /C++ C.Java D.Android 3.应用程序员编写的Android应用程序,主要是调用( B )提供的接口进行实现。 A.应用程序层 B.应用框架层 C.应用视图层 D.系统库层 二、填空题(请在括号内填空) 1.在Android智能终端中,有很多应用如拍照软件、联系人管理软件,它们都属于Android的(应用程序)层。 2.为了让程序员更加方便的运行调试程序,Android提供了(模拟器),可以方便的将程序运行其上,而不要实际的移动终端。 3.为了支持Java程序运行,我们需要安装(JDK)。 三、简答题 1.简述Android开发环境安装的步骤。 答:下载并安装JDK,配置JDK的环境变量; 从Anroid官网上下载Android开发组件(包含Eclipse和Android SDK、ADT); 安装Android开发环境(包括配置Android SDK的环境变量、打开Eclipse通过菜单设定Android SDK 路径)。 2.简述Android应用程序创建和运行的步骤。 答:通过菜单创建Android应用程序,设置应用程序名、Android版本等基本信息。

Android开发-UI属性

android:fadingEdgeLength 设置淡入淡出边缘的长度,可以接受大小值的单位是:px、dp、sp、in、mm,也可以参考大小值资源 android:fitsSystemWindows 是否适合系统窗体,取值为true或false。该属性只对不是子组件的组件有效 android:focusable 是否可以获取焦点,取值true或false android:focusableInTouchMode 是否可以在触摸模式下获取焦点,true或false android:hapticFeedbackEnabled 是否允许触摸反馈效果,true或false android:id 提供该组件的标识名,可以借助Activity或View实例的findViewById方法通过id获取对应的组件实例对象,其属性值的形式为:android:id=”@+id/id” android:isScrollContainer 设置该组件是否设置为滚动条容器,true或false android:keepScreenOn 控制该组件在显示的时候保持在屏幕显示,true或false android:longClickable 是否响应长时间点击事件,true或false android:minHeight 组件的最小高度,取值同android:fadingEdgeLength android:minWidth 组件的最小宽度,取值同android:fadingEdgeLength android:nextFocusDown 设置下一个向下获取焦点的组件,取值为id android:nextFocusLeft 设置下一个向左获取焦点的组件,取值为id android:nextFocusRight 设置下一个向右获取焦点的组件,取值为id android:nextFocusUp 设置下一个向上获取焦点的组件,取值为id android:padding 设置上、下、左、右4个边缘的填充距离,必须是一个大小值,取值同android:fadingEdgeLength android:paddingBottom 设置下端边缘的填充距离,取值同android:padding android:paddingLeft 设置左端边缘的填充距离,取值同android:padding android:paddingRight 设置右端边缘的填充距离,取值同android:padding android:paddingTop 设置上端边缘的填充距离,取值同android:padding android:saveEnabled 是否允许保存状态,取值为true或false android:scrollX 设置垂直滚动条的位移量,必须是一个大小值,取值同android:padding android:scrollY 设置水平滚动条的位移量,必须是一个大小值,取值同android:padding android:scrollbarAlwaysDrawHorizontalTrack 是否总是设置水平滚动条滑块,true或false android:scrollbarAlwaysDrawVerticalTrack 是否总是设置垂直滚动条滑块,true或false android:scrollbarSize 设置垂直滚动条的宽度和水平滚动条的长度,必须是一个大小值,取值同android:padding android:scrollbarStyle 设置滚动条的样式,取值为下列之一:insideOverlay在填充区域内,覆盖形式insideInset在填充区域内,插进形式(凹进)outsideOverly在绑定组件边缘,覆盖形式outsideInset在绑定组件边缘,插进形似 android:scrollbarThumbHorizontal 设置水平滚动条按钮的绘制资源,必须引用可绘制资源 android:scrollbarThumbVertical 设置垂直滚动条按钮的绘制资源,必须引用可绘制资源

Android属性服务

Android属性服务 Windows平台上有有一个叫注册表的东西。注册表可以存储一些键值对。一般而言,系统或某些应用程序会把自己的一些属性存储在注册表中,即使系统重启或应用程序重启,它还能够根据之前在注册表中设置的属性,进行相应的初始化工作。Android平台也提供了一个类似的机制,称之为属性服务(property service)。应用程序可通过这个属性机制,查询或设置属性。 可以通过adb shell登陆到真机,使用getprop命令查看当前系统中有哪些属性。 如下是登陆到FTS920查看到的相关属性值: [localhost@/]# getprop getprop [ro.secure]: [0] [ro.allow.mock.location]: [1] [ro.debuggable]: [1] [persist.service.adb.enable]: [1] [ro.factorytest]: [0] [ro.serialno]: [] [ro.bootmode]: [unknown] [ro.baseband]: [unknown] [ro.carrier]: [unknown] [ro.bootloader]: [unknown] [ro.hardware]: [pxa910-based] [ro.revision]: [0] [ro.product.model]: [FTS920] [https://www.sodocs.net/doc/df13900984.html,]: [FTS920] [ro.product.device]: [FTS920] [ro.product.board]: [FTS920] [dalvik.vm.heapsize]: [36m] [dalvik.vm.jniopts]: [warnonly] [ro.opengles.version]: [131072] …… 在init.c文件的main函数中,先后调用了3处跟属性服务相关的操作: 1. 2. 3.

Android手机开发环境配置详细说明书(doc 10页)

一,配置前需要下载的文件 1,jdk 6:https://www.sodocs.net/doc/df13900984.html,/javase/downloads/index.jsp 说明:原则上下载最新的。本阶段下载的是第一个:JDK 6 Update 16 with Java EE Eclipse 3.5(galileo):https://www.sodocs.net/doc/df13900984.html,/downloads/数量间的联系。 说明:原则上下载最新的。本阶段下载的是第一个:Eclipse IDE for Java EE Developers (189 MB) Android SDK:https://www.sodocs.net/doc/df13900984.html,/bbs/viewthread.php?tid=10147&highlight=sdk冲钻然 说明:只需安装SDK,ADT不用下。 二,软件安装 jdk 6的安装:下载下来后,解压缩,安装exe文件。按步骤进行。 Eclipse 3.5:解压缩后即可。假设解压缩路径为e盘根目录即:E:\eclipse Android SDK:解压缩即可。假设解压缩路径为e盘根目录即:E:\ android-sdk-windows-1.5_r2 三,环境变量 设置Android SDK环境变量:我的电脑右键->属性->高级->环境变量。在其中找到Path并进行编辑。在变量值最后增加如下代码 ; E:\ android-sdk-windows-1.5_r2\tools 说明:前面的”;”为英文状态下的”;”另外,E:\ android-sdk-windows-1.5_r2\tools不一定是你自己的tools路径。实际而言可能是这个路径E:\ android-sdk-windows-1.5_r2\ android-sdk-windows-1.5_r2\tools 四,安装Android Development Tools plug-in 1,打开Eclipse 3.5,选择Help->Install New Software 之后在work with的文本框输入https://https://www.sodocs.net/doc/df13900984.html,/android/eclipse/并回车,会在其下显示出Developer Tools,全部选择后,next。

Android系统外文翻译3

Android起航 译 使用XML进行布局 虽然纯粹通过Java代码在activity上创建和添加部件,在技术上是可行的,我们在第4章中做的一样,更常见的方法是使用一种基于XML的布局文件。动态的小部件实例保留更多,情况复杂,小工具在编译时不为人所知(例如,在数据检索了互联网基础上将单选按钮填充柱。 考虑到这一点,现在是时候打破XML来学习如何用此种方式来布置Android activities。 什么是基于XML的布局? 正如其名称所示,一个基于XML的布局是一个关系到每个规格的小部件,和他们的容器(更多关于此内容的在第7章)编码的XML格式。具体来说,Android 认为基于XML的布局是资源,因此布局文件存储在res /在你的Android项目布局目录中。 每个XML文件包含一个指定的部件和容器布局元素树,一种意见认为构成层次。对XML元素的属性,描述一个部件应如何看或者一个容器应如何运转。例如,如果一个按钮元素。 有一个Android的属性值:文字样式=“bold”,这意味着该文本出现在按钮的表面应该是呈现一个粗体字体样式. Android的SDK中附带一个使用的布局的工具(aapt)。这个工具应自动调用你的Android工具链(例如,Eclipse中,Ant’s build.xml)。作为一个开发人员,尤其重要的是,在您的项目中aapt生成R.java源文件,让您能在那些布局中直接从Java代码中获取布局和部件。 为什么使用基于XML的布局? 使用XML布局文件做的大部分都可以通过Java代码。例如,你可以使用setTypeface()命令一个按钮使用粗体文本,而不是在一个XML布局中使用属性。由于XML布局是为你跟踪的另一个文件,所以我们需要好的理由来使用这样的文

Android实现获取系统应用列表

Android实现获取系统应用列表 本文介绍在Android中如何获取系统应用程序列表。 Android系统为我们提供了很多服务管理的类,包括ActivityManager、PowerManager(电源管理)、AudioManager(音频管理) 等。除此之外,还提供了一个PackageManger管理类,它的主要职责是管理应用程序包。通过它,我们就可以获取应用程序信息。 PackageManager的功能: ?安装,卸载应用 ?查询permission相关信息 ?查询Application相关信息(application,activity,receiver,service,provider及相应属性等)?查询已安装应用 ?增加,删除permission ?清除用户数据、缓存,代码段等 我们可以用PackageManager来显示系统安装的应用程序列表或者系统程序列表 相关类的介绍 PackageItemInfo类 说明:AndroidManifest.xml文件中所有节点的基类,提供了这些节点的基本信息:a label、icon、meta-data。它并不直接使用,而是由子类继承然后调用相应方法。 常用字段: public int icon 获得该资源图片在R文件中的值(对应于android:icon属性) public int labelRes 获得该label在R文件中的值(对应于android:label属性) public String name 获得该节点的name值(对应于android:name属性) public String packagename 获得该应用程序的包名(对应于android:packagename属性) 常用方法: Drawable loadIcon(PackageManager pm) 获得当前应用程序的图像 CharSequence loadLabel(PackageManager pm) 获得当前应用程序的label

【推荐下载】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 a silent/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系统属性

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中有:

Android系统应用开发作业1

Android系统应用开发作业1 单项选择题 第1题关于主题的说法,不正确的是 A、它是属性集合 B、它可以在程序中来设置 C、它通常用于一个Activity或所有Activity上 D、它可以用于单个TextView上 答案:D 第2题下列说法不正确的是 A、javac.exe 能指定编译结果要置于哪个目录(directory)? B、在编译程序时,所能指定的环境变量不包括class path? C、javac 一次可同时编译数个java 源文件 D、环境变量可在编译source code时指定 答案:D 第3题如果希望自定义TabHost标题部分的显示内容需要使用下列哪个方法() A、tabHost.addTab(tabHost.newTabSpec("tab1") B、setIndicator() C、setContent() D、setView 答案:B 第4题对一些资源以及状态的操作保存,最好是保存在Activity生命周期的哪个函数中进行? A、onStart( ) B、onPause( ) C、onCreate( ) D、onResume( ) 答案:A 第5题继承了Canvas类必须实现的方法是() A、paint() B、keyPressed() C、run() D、main() 答案:A 第6题下列关于XML布局文件在Java代码中被引用的说明中,不正确的是? A、在Activity中,可以使用findViewById( )方法,通过资源id,获得指定视图元素 B、在Activity中,可以使用R.drawable-system.***方式引用Android系统所提供的图片资源 C、在Activity中,可以使用setContentView( )方法,确定加载哪一个布局文件

android系统之属性系统详解

android系统之属性系统详解 1 属性系统概述 (2) 2 property数据的编译 (3) 2.1 /default.prop (3) 2.2 /system/build.prop (4) 2.3 其他属性文件 (8) 3 property的相关实现代码和流程 (9) 3.1 property服务端解析 (10) 3.1.1 Server端代码流程 (10) 3.1.1.1 init.c下的整体流程 (10) 3.1.1.2 创建共享内存区域 (10) 3.1.1.3加载根目录下的default.prop (15) 3.1.1.4加载其余4个属性文件的全部属性,并启动socket监听 (16) 3.1.1.5 property触发器执行函数加入队列 (18) 3.1.1.6 执行队列中的property任务 (19) 3.1.1.7 将property的监听socket加入待检查的socket数组 (20) 3.1.1.8 检查上层有哪些端口连接请求 (20) 3.1.1.9 property设置的响应 (20) 3.1.2 详解server端的property_set (25) 3.1.2.2 find_property (26) 3.1.2.3 prop数据二叉树存取解析 (29) 3.1.2.4 __system_property_update (30) 3.1.2.5 __system_property_add (30) 3.1.2.6 write_persistent_property (30) 3.1.2.7 property_changed (31) 3.2 property系统桥梁 (31) 3.2.1 __system_property_set (32) 3.2.2__system_property_set (33) 3.3 property客户端解析 (34) 3.3.1 客户端C层访问属性系统 (34) 3.3.2 客户端shell命令访问 (35) 3.3.3 客户端java层访问 (36) 4总结 (37) 附录一:《GCC的constructor》 (37)

Android布局属性(DOC)

1、可以使某些资源文件或UI组件可重用 按Ctrl+1键 2、定义一个文本编辑框,使用 绝对定位 android:layout_x="20dip" android:layout_y="80dip" 3、控件位置 3.1布局属性详解 RelativeLayout用到的一些重要的属性: 第一类:属性值为true或false android:layout_centerHrizontal 水平居中 android:layout_centerVertical 垂直居中 android:layout_centerInparent 相对于父元素完全居中 android:layout_alignParentBottom 贴紧父元素的下边缘 android:layout_alignParentLeft 贴紧父元素的左边缘 android:layout_alignParentRight 贴紧父元素的右边缘 android:layout_alignParentTop 贴紧父元素的上边缘 android:layout_alignWithParentIfMissing 如果对应的兄弟元素找不到的话就以父元素做参照物 第二类:属性值必须为id的引用名“@id/id-name” android:layout_below 在某元素的下方 android:layout_above 在某元素的的上方 android:layout_toLeftOf 在某元素的左边 android:layout_toRightOf 在某元素的右边 android:layout_alignTop 本元素的上边缘和某元素的的上边缘对齐 android:layout_alignLeft 本元素的左边缘和某元素的的左边缘对齐 android:layout_alignBottom 本元素的下边缘和某元素的的下边缘对齐 android:layout_alignRight 本元素的右边缘和某元素的的右边缘对齐

安卓系统属性

android系统属性build.prop,所在位置:out\target\product\kylin\system\build.prop 用数据线连接android 设置,进入调试模式(在android的设置--应用程序--开发--USB调试) 开始--运行--CMD C:\Documents and Settings\Administrator>adb shell # cd system cd system # ls ls app build.prop fonts lib usr bin etc framework media xbin 可以看到build.prop,这个就是系统的属性表,若要COPY出来,这样操作: 比如COPY到D盘的leo目录下 C:\Documents and Settings\Administrator>adb pull system/build.prop d://leo 120 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-529 if(SystemProperties.get("https://www.sodocs.net/doc/df13900984.html,").equals("surfone_citic"))

Android开发之深入理解Android 7.0系统权限更改相关文档

Android开发之深入理解Android 7.0系统权限更改相关文档 一、深入理解FileProvider FileProvider属于Android 7.0新增的一个类,该类位于v4包下,详情可见android.support.v4.content.FileProvider,使用方法类似与ContentProvider,简单概括为三个步骤,这里先以调用系统相机拍照并保存sdcard公共目录为例,演示使用过程: 在资源文件夹res/xml下新建file_provider.xml文件,文件声明权限请求的路径,代码如下: 在AndroidManifest.xml添加组件provider相关信息,类似组件activity,指定resource属性引用上一步创建的xml文件(后面会详细介绍各个属性的用法),代码如下: 最后一步,Java代码申请权限,使用新增的方法getUriForFile()和grantUriPermission(),代码如下(后面会详细介绍方法对应参数的使用): if (Build.VERSION.SDK_INT > 23) { /**Android 7.0以上的方式**/ Uri contentUri = getUriForFile(this, getString(R.string.install_apk_path), file); grantUriPermission(getPackageName(), contentUri, Intent.FLAG_GRANT_WRITE_URI_PERMISSION); intent.putExtra(MediaStore.EXTRA_OUTPUT, contentUri); } 修改build.gradle文件compileSdkVersion大于或等于24,targetSdkVersion等于24,使用Android 7.0模拟器运行Demo,效果图:

Android中Intent的简介以及属性的详解

Android中Intent的简介以及属性的详解 MicrosoftInternetExplorer402DocumentNotSpecified7.8 磅Normal0 一.Intent的介绍 Intent的中文意思是“意图,意向”,在Android中提供了Intent机制来协助应用间的交互与通讯,Intent负责对应用中一次操作的动作、动作涉及数据、附加数据进行描述,Android 则根据此Intent的描述,负责找到对应的组件,将 Intent传递给调用的组件,并完成组件的调用。Intent不仅可用于应用程序之间,也可用于应用程序内部的Activity/Service之间的交互。因此,可以将Intent理解为不同组件之间通信的“媒介”专门提供组件互相调用的相关信息。 二.Inten启动组件的方法 Intent可以启动一个Activity,也可以启动一个Service,还可以发起一个广播Broadcasts。具体方法如下: 组件名称方法名称 Activity startActvity( ) startActivity( ) Service startService( ) bindService( ) Broadcasts sendBroadcasts( ) sendOrderedBroadcasts( ) sendStickyBroadcasts( ) 三.Intent的属性 Intent有以下几个属性: 动作(Action),数据(Data),分类(Category),类型(Type),组件(Compent)以及扩展信(Extra)。其中最常用的是Action属性和Data属性。 1.Intent的Action属性 Action是指Intent要完成的动作,是一个字符串常量。SDK中定义了一些标准的Action常量如下表所示。 Constant Target com Action ponent ACTION_CALL activity Initiate a phone call. ACTION_EDIT activity Display data for the user to edit. ACTION_MAIN activity Start up as the initial activity of a task, with no dat a input and no returned output. ACTION_SYNC activity Synchronize data on a server with data on the mob ile device.

android布局属性_AbsoluteLayout(绝对布局)

AbsoluteLayout(绝对布局): xmlns:android="https://www.sodocs.net/doc/df13900984.html,/apk /res/android" style="@..." android:clipChildren="true|false" android:clipToPadding="true|false" android:layoutAnimation="@---" android:animationCache="true|false" android:persistentDrawingCache="none|animation |scrolling|all":持续高速缓存绘图 android:alwaysDrawnWithCache="true|false" android:andStatesFromChildre="true|false" android:descendantFocusability="beforeDescendan ts|afterDescendants|blocksDescendants":后裔可聚焦 android:id="@+id/absoluteLayout" android:tag="@---" android:android:scrollX="---" android:android:scrollY="---" android:background="@---" android:padding="----" android:paddingLeft="----"

android:paddingTop="----" android:paddingRight="----" android:paddingBotton="---" android:focusable="true|false" android:focusableInTouchMode="true|false" android:visibility="visible|invisible|gone" android:fitsSystemWindows="true|false":适合系统窗口 android:scrollbars="none|horizontal|vertical" android:scrollbarStyle="insideOverlay(内覆盖)|insideInset(内插图)|outsideOverlay(外覆盖)|outsideInset(外插图)" android:isScrollContainer="true|false":是一个滚动集合 android:fadeScrollbars="true|false":褪色的滚动条android:scrollbarFadeDuration="---":卷轴淡出android:scrollDefaultDelayBeforeFade="---":滚动前默认延迟 android:scrollbarSize="---" android:scrollbarThumbHorizontal="@----":拇指水平滚动条 android:scrollbarThumbVertical="@----":拇指垂直滚

相关主题