当前位置:文档之家› 【Android开发Wiki】入门篇多设备支持(二):多屏幕支持 -Supporting Different Screens

【Android开发Wiki】入门篇多设备支持(二):多屏幕支持 -Supporting Different Screens

【Android开发Wiki】入门篇多设备支持(二):多屏幕支持 -Supporting Different Screens
【Android开发Wiki】入门篇多设备支持(二):多屏幕支持 -Supporting Different Screens

Android categorizes device screens using two general properties: size and den sity. You should expect that your app will be installed on devices with screen s that range in both size and density. As such, you should include some alter native resources that optimize your app’s appearance for different screen siz es and densities.

There are four generalized sizes: small, normal, large, xlarge And four generali zed densities: low (ldpi), medium (mdpi), high (hdpi), extra high (xhdpi) To de clare different layouts and bitmaps you'd like to use for different screens, you must place these alternative resources in separate directories, similar to how you do for different language strings.

Also be aware that the screens orientation (landscape or portrait) is considere d a variation of screen size, so many apps should revise the layout to optimi ze the user experience in each orientation.

Create Different Layouts

To optimize your user experience on different screen sizes, you should create a unique layout XML file for each screen size you want to support. Each lay out should be saved into the appropriate resources directory, named with a -

suffix. For example, a unique layout for large screens should be saved under res/layout-large/.

Note: Android automatically scales your layout in order to properly fit the scr een. Thus, your layouts for different screen sizes don't need to worry about t he absolute size of UI elements but instead focus on the layout structure tha t affects the user experience (such as the size or position of important views relative to sibling views).

For example, this project includes a default layout and an alternative layout f or large screens:

The file names must be exactly the same, but their contents are different in order to provide an optimized UI for the corresponding screen size.

Simply reference the layout file in your app as usual:

The system loads the layout file from the appropriate layout directory based on screen size of the device on which your app is running. More information about how Android selects the appropriate resource is available in the Providing Resources guide.

As another example, here's a project with an alternative layout for landscape orientation:

By default, the layout/main.xml file is used for portrait orientation.

If you want to provide a special layout for landscape, including while on larg e screens, then you need to use both the large and land qualifier:

Note: Android 3.2 and above supports an advanced method of defining screen sizes that allows you to specify resources for screen sizes based on the minimum width and height in terms of density-independent pixels. This lesson does not cover this new technique. For more information, read Designing for Multiple Screens.

Create Different Bitmaps

You should always provide bitmap resources that are properly scaled to each of the generalized density buckets: low, medium, high and extra-high density. This helps you achieve good graphical quality and performance on all screen densities.

To generate these images, you should start with your raw resource in vector format and generate the images for each density using the following size scal e:

This means that if you generate a 200x200 image for xhdpi devices, you sho uld generate the same resource in 150x150 for hdpi, 100x100 for mdpi, and 75x75 for ldpi devices.

Then, place the files in the appropriate drawable resource directory:

Any time you reference @drawable/awesomeimage, the system selects the ap propriate bitmap based on the screen's density.

Note: Low-density (ldpi) resources aren’t always necessary. When you provide hdpi assets, the system scales them down by one half to properly fit ldpi sc reens.

For more tips and guidelines about creating icon assets for your app, see the Iconography design guide.

文章来源:https://www.doczj.com/doc/db10931020.html,/page/Supporting_Different_Screen

Android移动设备中的传感器关键技术设计

Android移动设备中的传感器关键技术设计 摘要 随着经济的发展,Android系统在电子信息、通信系统特别是移动设备方面应用十分广泛。比如:摩托罗拉、三星等智能手机大多采用的是Android系统。 Android系统提供的加速度传感器和陀螺仪是基于硬件的传感器,其中有三个传感器既是基于硬件的也是基于软件的传感器。文章根据Android系统的五个传感器技术的应用,进行了论述研究。 一、引言 随着手机等移动设备的发展,人们对移动设备的要求不仅仅限于接打电话、QQ等传统手机功能,要求智能手机具备更加完善强大的娱乐商务功能,目前传统计算机的应用功能基本全部实现智能手机上。 Android作为一种流行系统平台,令人津津乐道的特性数不胜数,其中最为耀眼的是Android平台的各种传感器。 二、基于Android移动设备的传感器技术概述 (一)Android平台简介 Android的中文翻译是安卓,本来的意思是机器人,是Google公司基于Linux 自由及开放代码的操作系统,这种操作系统较好的整合应用软件、用户界面、操作系统和中间件,打造了一个移动终端开放完整的移动软件,在2007年11月5日正式开发成功面试。Android(安卓)最初是由Andy Rubin开发的一种操作系统,主要支持的移动设备是手机。2005年8月,Google收购安卓并未安卓注资,2007在Google的领导下改良Android系统,使Android成为一种基于Linux自由及开放代码的操作系统,除了支持智能手机还支持平板电脑等移动设备。Android 是完全开放的操作系统,它的迅速发展使其发展趋势趋向多元化,Google公司强大的互联网功能和服务优势,Android的移动技术应用的前景非常美好。 (二)基于Android平台传感器概述 传感器是被测量信号输入的第一道关口,是传感器系统中的元件组成部分,它包括载体和电路连接的敏感元件和转换元件,但是传感器系统却是组合某种信息处理能力元件的传感器。传感器是一种检测装置,是实现移动设备自动控制、自动检测的前提装置。Android平台应用的传感器技术有姿态传感器技术、光电传感器技术、磁场传感器技术和加速度传感器技术等诸多耀眼的传感器技术,传感器系统功能非常强大,为用户提供了巨大的便利。 三、基于Android移动设备的传感器技术应用 (一)基于Android移动设备的加速度传感器技术应用

Android4.0的多媒体框架Nuplayer介绍

Android4.x 的RTSP 框架学习 ——NuPlayer 介绍 本文介绍如下内容: 播放框架介绍 RTSP 源介绍 HTTP 流媒体的区别 要研究的点 NuPlayer 框图: NuPlayer NuPlayerDriver ALooper <<接口>> MediaPlayerInterface NuPlayer::Renderer NuPlayer::Decoder ACodec::UninitializedState AHierarchicalStateMachine ACodec ACodec::UninitializedState ACodec::LoadedToIdleState ACodec::IdleToExecutingState ACodec::ExecutingState ACodec::ExecutingToIdleState ACodec::IdleToLoadedState ACodec::FlushingState AHandler 1 * * 11* <<接口>>NuPlayer::Source *1 NuPlayer::HTTPLiveSource NuPlayer::RTSPSource ALooper 1* MyHandler * 1 ARTPConnection ARTSPConnection ALooper 1* mNetLooper for ARTPConnection ARTPSource ARTPAssembler AAVCAssembler AAVCAssembler AMPEG4AudioAssembler AH263Assembler AAMRAssembler AAMRAssembler AMPEG4ElementaryAssembler ARawAudioAssembler AnotherPacketSource <<接口>>MediaSource APacketSource * 1 * 1* 1OMX AHandler

Wiki笔记(MediaWiki安装流程)

Wiki ●基本概念:Wiki源自夏威夷语的“WikiWiki”,本意是“快点快点”,翻译为 维客、围纪、快纪、共笔、维基等。Wiki是一种在网络上开放、可供多人协同创作的超文本系统,由沃德-坎宁安于1995年首先开发,他将Wiki定义为“一种允许一群用户通过简单的标记语言来创建和连接一组网页的社会计算机”。 ●基本功能:Wiki包含一套能简易制作、修改HTML网页的系统,它允许 任何造访他的人快速轻易的添加、删除、编辑所有内容。 ●Wiki引擎: ?概念:就是Wiki软件,用来架设Wiki网站的软件 ?常用Wiki引擎介绍: ◆ASP的WiKi程序。ASP的WiKi程序总体感觉比较弱,或许开放的WiKi更喜欢开放的linux系统吧 1,Operator Wiki 0.3 语言环境:ASP+ACCESS 官方主页:https://www.doczj.com/doc/db10931020.html,/projects/operatorwiki/ 演示:https://www.doczj.com/doc/db10931020.html,/maxzone/operatorwiki/wiki.asp 下载:https://www.doczj.com/doc/db10931020.html,/codepubcom/2006/4/8/operatorwik03.rar 介绍:免费开源的国产WIKI程序,ASP+JavaScript写的Wiki 引擎,支持多语言、ACL,综合各种WIKI 的功能。 Operator Wiki 升级日志0.3:. * 完整的用户权限 * 支持ACL 进行权限控制 * 修正了一个标记冲突问题 * 修正登录问题 * 源代码采用Tab 代替空格,进一步缩小体积,主程序目前仅34.4K * 更良好的多语言支持 * 修正数十个关于表格和列表的问题 2,OpenWiki 中文版Build20060328 语言环境:ASP+ACCESS/SQLServer 官方主页:https://www.doczj.com/doc/db10931020.html,/ 演示:https://www.doczj.com/doc/db10931020.html,/yow/ 下载:https://www.doczj.com/doc/db10931020.html,/codepubcom/2006/4/8/openviki_yow.rar 介绍:国外的一个ASP Wiki程序,3d-gis汉化。 3, JsWiki - 开源ASP WIKI程序 语言环境:ASP 官方主页:https://www.doczj.com/doc/db10931020.html,/projects/jswiki/ 演示:https://www.doczj.com/doc/db10931020.html,/ 下载:https://www.doczj.com/doc/db10931020.html,/codepubcom/2006/2/10/jswiki.rar

Android系统如何实现UI的自适应

Android系统如何实现UI的自适应 做Android应用的人都知道,要一个apk适用多个不同的手机屏幕是很容易的,就是在项目的res文件夹下面有多套相关的资源文件。程序运行的时候,Android系统会根据当前设备的信息去加载不同文件夹下的资源文件。但是Android系统是怎么做到这一点的呢?上网上搜了一下,很少有这方便的介绍,只好自己研究下代码了。下面是我研究代码得到的结果(正确性有待确认),在这里分享一下。 这里以ICS上在Activity的onCreate()方法里面调用setContentView(int resourceID)为例,介绍一下系统如何根据我们的id(https://www.doczj.com/doc/db10931020.html,yout.xxxx)找到合适的layout文件进行解析加载:如果你的res下面有三种不同的layout:layout, layout-sw480dp和layout-sw600dp,这里的swdp表示这个layout文件夹下面的布局文件只有在设备短边的最小宽带为N时才加载。你的设备是800x480的分辨率,那么这个apk安装在你的设备上就会加载layout-sw480dp里面的布局文件。下面是framework的java层调用链: Activity.setContentView(int resourceID) -> PhoneWindow.setContentView(int resourceID) -> LayoutInflater.inflate(int resource, ViewGroup root) -> LayoutInflater.inflate(int resource, ViewGroup root, boolean attachToRoot) -> Resources.getLayout(int id) -> Resources.loadXmlResourceParser(int id, String type) -> Resources.getValue(int id, TypedValue outValue, boolean resolveRefs) -> AssetManager.getResourceValue(int ident, int density, TypedValue outValue, boolean resolveRefs) -> AssetManager.loadResourceValue(int ident, short density, TypedValue outValue, boolean resolve) 在上面的掉用链中: 1. 最后加载的是哪个xml是由Resources.getValue(int id, TypedValue outValue, boolean resolveRefs)调用完成之后的outValue.string决定的,因为outValue.string的值就是你的资源文件的具体路径,如: 1) xxx/values/xxx.xml 2) xxx/layout-sw600dp/xxx.xml 2. AssetManager.loadResourceValue()调的是frameworks/base/core/jni/android_util_AssetManager.cpp里面的native方法,如何获得正确的outValue值,在native方法俩面主要有以下几步: 1) 调用frameworks/base/libs/utils/ResourceTypes.cpp 的ResTable::getResource(),遍历所有资源文件 2) 在ResTable::getResource()里面调用ResTable::getEntry()来确定资源文件来自哪个entry,即layout,或者layout-swdp,由此可见,ResTable::getEntry()是我们这个问题的关键 3) 在ResTable::getEntry()里面: a) 首先获取本设备的configurion信息,屏幕分辨率,屏幕大小,locale,横竖屏等。 b) 根据得到的本设备的configurion信息,过滤掉不适应本设备的entry,比如设备是800x480的,那么超过此分辨率的资源(例:layout-sw600dp)就要被过滤掉,实现在frameworks/base/include/utils/ResourceTypes.h中ResTable_config的match函数中 c) 对过滤后的resource进行最佳适配,找到最符合的entry文件。因为之前已经将不符合的,即大分辨率的entry已经被过滤掉了,所以这里就找剩下的最大的就是最佳适配的。实现在frameworks/base/include/utils/ResourceTypes.h中ResTable_config的isBetterThan()函数中。 3. 我做了一个尝试,就是想让800x480分辨率的设备上的应用都加载layout-sw600dp

多媒体一体机(带有安卓系统)使用说明

. .. 关于带有安卓系统的多媒体一体机使用说明 带有安卓系统多媒体一体机是智能触摸电视与电脑的结合,与以前的多媒体一体机操作上存在一 些区别,现将操作使用中注意的问题说明如下: 1、智能触摸电视与传统触摸电视有什么区别? 智能触摸电视是带有安卓操作系统的电视,就如同智能手机一样,可以安装安卓版的程序,具有可扩展性。当电脑出现问题不能用时,依然可以单独使用带有安卓系统的电视完成一些简单的应用,如播放视频、播放幻灯片等操作,但注意这些应用与电脑中的程序不一样,类似于安卓系统的手机功能。而传统触摸电视则不具备这些功能。 2、为什么触摸屏有时不灵敏? 我校的多媒体一体机使用的触摸屏采用的是红外感应的原理,电视四周边框处存在扫描感应区,如果屏幕边框脏了,如落上较多的粉笔灰,就会影响触摸感应,所以一定要及时清理电视屏四周边框污物,否则就会影响触摸感应的灵敏度。 3、如何启动多媒体一体机? 情况一:如果一体机电源插头没有插,当一插入插头,一体机连通电源后,会自动启动电视和电脑。 情况二:在接通电源,并且电视和电脑都处于关闭状态下时(也就是电视指示灯在红色时),启动一体机很方便,只需要点击电视下方面板中“电源”按钮,就会打开电视,进入安卓界面,同时电脑也会自动启动,无需单独启动电脑。启动后在安卓界面的左上角较大的窗格中会显示出电脑的界面,只需点击这个窗格,就可以切换到电脑的界面。 4、如何关闭一体机? 步骤一:正常关闭电脑。也就是点击电脑桌面左下角开始菜单中的“关机”。 步骤二:关闭电视。在关闭电脑后电视画面会先变成蓝屏再切换到安卓的界面。这时再点击电视下方面板的“电源”按钮,关闭电视。电视指示灯会变成红色。 步骤三:拔下一体机电源插头。 5、为什么一体机断电后再通电会自动启动(或一插上电插头一体机就会启动)? 由于安卓系统设计的原因,多媒体一体机的电视和电脑在切断电源后,再接通电源时,无论原来一体机是开着或是关着的,都会自动启动。这就导致在停电后,只要电源插头插着的一体机都会自动启动。这也是有些老师放学时明明关闭了一体机,而第二天来时一体机却开着的一个原因。所以注意,当使用完一体机后,特别是放学以后,一定要拔下一体机的电源插头。再次使用时,插上电源插头后,一体机会自动启动,不需要再按“电源”按钮。如若确实接通电源后一体机没有启动,再按照问题3中的方法启动。 6、为什么一体机没有声音,重新启动后才有声音? 这主要是因为一体机在关闭时,只关闭了电视,而电脑没有正常的关闭。电视的安卓系统和电脑系统都要使用到声卡,如果正常切换两个系统时,声卡的控制权会进行切换,声音不会出现问题。当电脑没有关闭,而电视关闭了以后,再打开电视时,电视的安卓系统会抢占声卡控制权,使用电脑系统没有声音。这时只需要重启电脑就会有声音了。所以一定要正确的关闭一体机。 7、为什么有时在安卓系统和电脑系统之间切换后,触摸屏会没有反应? 由于安卓系统和电脑系统使用触摸屏时都要加载触摸屏驱动,切换后驱动会重新加载,需要一定的时间,这时会导致被误认为是触摸屏失灵或死机。只需要等一会驱动加载完成后就可以正常使用了。 8、出现电脑死机时怎么办? 电脑死机后,可以长按电视面板下方“电脑”按钮10秒,电脑会强制关机,然后再按一次“电脑”按钮,再次启动电脑。如果无法以此种方式重启电脑,则需要拔下一体机插头,电视指示灯灭掉后,重新插上,一体机会自动启动。

UI界面设计复习资料

2017—2018安卓UI界面设计期末复习题库 此资料为复习提高资料,与考试无关 选择题 1、下列哪项不是Android四大组件()Seivice B. Activity C. Handler D. Content Provider Android是如何组织Activity的() 以堆的方式组织Activity B. 以栈的方式组织Activity C. 以树形方式组织Activity D. 以链式方式组织Activity 3、关于线程说法不正确的是() A. 在android 中,我们可以在主线程中,创建一个新的线程 B. 在创建的新线程中,它可以操作UI 组件 C. 新线程可以和Handler 共同使用 D. 创建的Handler 对象,它隶属于创建它的线程 下列关于内存回收的说明,哪个是正确的() 程序员必须创建一个线程来释放内存 内存回收程序负责释放无用内存 内存回收程序允许程序员直接释放内存 内存回收程序可以在指定的时间释放内存对象 设置xml布局文件中的字体大小一般用什么单位() dp B. px C. sp D. pt 关于service生命周期的onCreate()和onStart()说法正确的是() 当第一次启动的时候先后调用onCreate()和onStart()方法 当第一次启动的时候只会调用onCreate()方法 如果service已经启动,将先后调用onCreate()和onStart()方法 如果service已经启动,只会执行onStart()方法,不再执行onCreate()方法 Android项目工程下面的assets目录,以下说法正确的是() 这里的文件是原封不动的存储到设备上不会转换为二进制的格式 主要放置多媒体等数据文件 主要放置图片文件 放置字符串,颜色,数组等常量数据

wiki介绍以及常见wiki比较

? 源文档 ?Wiki也指一种超文本系统。这种超文本系统支持面向社群的协作式写作,同时也包括一组支持这种写作的辅助工具。 ?WiKi是一个供多人协同写作的系统。与博客、论坛等常见系统相比,WiKi有以下特点: ? 1.使用方便 ?维护快速:快速创建、更改网站各个页面内容。 ?格式简单:基础内容通过文本编辑方式就可以完成,使用少量简单的控制符还可以加强文章显示效果。 ?链接方便:通过简单的“[[条目名称]]”,可以直接产生内部链接。外部链接的引用也很方便。 ? 2.自组织 ?自组织的:同页面的内容一样,整个超文本的相互关联关系也可以不断修改、优化。 ?可汇聚的:系统内多个内容重复的页面可以被汇聚于其中的某个,相应的链接结构也随之改变。 ? 3.可增长 ?可增长:页面的链接目标可以尚未存在,通过点选链结,我们可以创建这些页面,使系统得以增长。 ?修订历史:记录页面的修订历史,页面的各个版本都可以被取得。 ? 4.开放性 ?开放的:社群内的成员可以任意创建、修改、或删除页面。 ?可观察:系统内页面的变动可以被来访者清楚观察得到。 ?Wiki非常适合于做一种“All about something”的站点。个性化在这里不是最重要的,信息的完整性和充分性以及权威性才是真正的目标。 ?几种wiki之间的比较? ?2012年1月29日 ?17:30 ?一.Mediawiki ? ?Mediawiki是全球最著名的wiki程序,运行于PHP+MySQL环境。Mediawiki从2002 ?年2月25 日被作为维基百科全书的系统软件,并有大量其他应用实例。目前 ?Mediawiki的开发得到维基媒体基金会的支持。 ? ?Mediawiki是建立wiki网站的首选后台程序,目前国内的天下维客等站点都采用?这套系统。 ? ?Mediawiki一直保持着持续更新。其原作者为德国的Magnus Manske。 ? ?二.Hdwiki ?

Android屏幕适配方案分析

Android开发过程中我们常用的尺寸单位有px、dp,还有一种sp一般是用于字体的大小。但是由于px是像素单位,比如我们通常说的手机分辨例如1920*1080都是px的单位。现在Android屏幕分辨率碎片化720x1280、1080x1920、 2280x1080,这就造成例如187px会在各个分辨率的机型上都是显示一样大小的,那肯定不是我们想要的效果,所以用px单位我们是难以达到适配效果的,那么为什么用dp可以呢? 使用px单位从左到右依次为480 800、1080 1920、1440 * 2560 使用dp单位从左到右依次为480 800、1080 1920、1440 * 2560

屏幕总宽度依次为320dp、415dp、411dp dp指的是设备独立像素,以dp为尺寸单位的控件,在不同分辨率和尺寸的手机上代表了不同的真实像素,比如在分辨率较低的手机中,可能1dp=1px,而在分辨率较高的手机中,可能1dp=2px,这样的话,一个187dp高度的控件,在不同的手机中就能表现出差不多的大小了。 android中的dp在渲染前会将dp转为px,计算公式: ?px = density * dp;

?density = dpi / 160; ?px = dp * (dpi / 160); 而dpi是根据屏幕真实的分辨率和尺寸来计算的,每个设备都可能不一样的。 由于density不是固定不变的,所以每个分辨率不同的设备他们的density都肯定不相等,这样就会造成每个设备的宽/高对应的总dp都是不同的,假设480 800分辨率的density是1.5,1080 1920分辨率的density是2.6,1440 * 2560分辨率的density是3.5。那么它们对应的宽度总dp = (宽度px) / density,分别为320dp、415dp、411dp。可以看出单位为dp的时候三个设备之间的差距就不是

安卓多媒体信息发布系统说明书

多媒体信息发布系统 版本号:Ver. 4.0 操作使用说明 中文版

目录 第1章功能特性 (4) 1.1 产品简介 (4) 1.2 产品组成 (4) 1.3 产品功能 (4) 第2章系统环境 (5) 2.1 硬件环境 (5) 2.2 软件环境 (5) 第3章软件安装 (5) 3.1 服务器端 (5) 3.2 播放终端 (9) 3.3 终端设置 (9) 第4章功能说明 (10) 4.1 系统登录 (10) 4.2 快速制作节目 (11) 4.3 节目管理 (13) 4.3.1 节目制作 (13) 4.3.1.1 添加图片 (14) 4.3.1.2 添加视频 (16) 4.3.1.3 添加 Flash (17) 4.3.1.4 添加网页 (17) 4.3.1.5 添加时间 (18) 4.3.1.6 添加天气 (18) 4.3.1.7 添加 RSS (19) 4.3.1.8 添加截屏 (20) 4.3.1.9 添加 PPT (21) 4.3.1.10 添加 Word (21) 4.3.1.11 添加 Excel (22) 4.3.1.12 添加文本 (22) 4.3.1.13 文本编辑工具 (23) 4.3.1.14 其它功能按钮 (23) 4.3.2 节目列表 (23)

4.3.3 节目审核 (24) 4.4 发布管理 (24) 4.4.1 立即发布 (24) 4.4.2 插播任务 (25) 4.4.3 循环任务 (25) 4.4.4 下载状态 (26) 4.4.5 发布通知 (26) 4.5 终端操作 (26) 4.5.1 终端监控 (27) 4.5.2 开关设置 (27) 4.5.3 清除文件 (27) 4.5.4 更名分组 (28) 4.5.5 参数设置 (28) 4.6 系统操作 (28) 4.6.1 终端认证 (28) 4.6.2 用户管理 (29) 4.6.3 操作日志 (29) 4.6.4 负载设置 (30) 4.7 其它功能 (30) 4.7.1 首页 (30) 4.7.2 修改密码 (30) 4.7.3 退出 (30) 4.7.4 后退 (30)

WIKI服务器的配置

Wiki站点支持面向社群的协作式写作,每个人都可以发表自己的见解,或者对共同维护的主题进行扩展。Wiki同时也包括一组支持这种写作的辅助工具,可以在Web的基础上对Wiki页面的文本进行创建,更改和发布,比做网页和更新网页简单方便得多。下面我们来配置Wiki服务器。 一、安装Linux系统 要配置Wiki服务器我们首先要安装一个Linux系统,在系统中配置LAMP环境,这里我们使CentOS系统,装系统我们就不多说了,简单安装一个系统,但是要把编译环境安装好。 二、配置LAMP环境 主要软件包, 1.httpd- 2.2.17.tar.gz 2.mysql-5.0.20a.tar.gz(这个版本是已编译好的压缩包,解压后稍做配置即可使用) 3.php-5.2.17.tarr.gz 安装php所需的软件包(其中libxml2是安装php5必须的.) 1.libxml2-(version).tar.gz 2.libxslt-(version).tar.gz 3.curl-(version).tar.gz GD库所需要软件包(有人说PHP源码包里自带了GD2.0.28和zlib,只要安装GD的三个支持包:jpg,png和freetype,但是我们还是下载) 1.gd-(version).tar.gz 2.freetype-(version).tar.gz 3.jpegsrc.v6b.tar.gz 4.libpng-(version).tar.gz 5.zlib-1.2.3.tar.gz 以上软件的版本自行决定,不一定是越高越好 将下载好的软件都传到LINUX服务器上 1、安装MySQL 解压MySQL原码包 解压后进入到解压出的文件夹中 为保证数据安全我们在安装系统时做一个分区专门用来存储数据 上图中的/data就是专门用来存放数据的,我样把数据库也安装到该分区中

Android阅读器实验报告

手机应用开发(论文) 题目: 院(系): 专业班级: 姓名: 学号: 指导教师: 年月日

摘要 本文主要阐述了基于Android的阅读器的设计与实现。本阅读器能够显示文本,能够选择不同的文章,文章至少有5篇;每篇文章可以通过上下调整滚轴来控制浏览文章的不同部分;用户可以调整文章的大小。 关键字Android 阅读器滚轴

目录 一、引言 (1) 1.1 研究设计内容 (1) 1.2系统开发环境 (1) 二、相关技术简介 (1) 三、系统分析 (2) 3.1 阅读器显示需求 (2) 3.2 系统功能模块需求图 (3) 四、系统设计 (4) 4.1系统框架 (4) 4.2功能模块设计 (4) 4.3 UI设计 (5) 五、系统实现 (6) 5.1界面实现 (6) 5.2 系统实现 (6) 六、运行结果 (8) 6.1 主界面运行结果 (8) 6.2 文章显示界面运行结果 (9) 6.3 改变字体大小后的文章显示界面 (10) 七、结论 (11) 参考文献 (12)

一、引言 1.1 研究设计内容 本文设计了基于Android的阅读器。本阅读器能够显示文本,能够选择至少5篇不同的文章,每篇文章都可以通过上下调整滚轴来控制浏览文章的不同部分,而且用户户可以通过按钮调整文章的大小,以适合自己阅读。 1.2系统开发环境 本系统采用Android Studio进行开发,以Java作为开发语言 二、相关技术简介 开发基于Android的阅读器,需要一定的技术作为支持。首先,需要Android的UI界面设计知识。开发者能够使用Android基本知识进行应用程序界面设计,给予用户良好的体验。其次,开发者需要掌握Java编程语言。Android应用程序的实现需要以Java语言作为基础,用以控制Android界面进行相应的交互响应等。 在Android设计知识中,开发者要懂得文章的存储和读取,能够将文章显示在屏幕上,并使用户进行滑动等操作,以方便阅读。然后,开发者能够在文章合适的位置显示垂直滚动条,这样,用户可以直接通过拖到滚动条快速的到达自己想要阅读的地方。而Android地基本控件中只有水平的滚动条,因此,需要开发者能够设计出垂直的滚动条,并且能够将滚动条与滑动视图ScrollView连接起来,以做到滑动文章滚动条会随之改变,拖到滚动条会显示文章的相应部分内容。

Mediawiki使用手册

Mediawiki使用手册 第一部分构建环境 1、装IIS 一般精简版XP系统中的Windows组件中没有安装IIS,因而需要再控制面板--添加/删除Windows组件中勾上IIS,然后根据提示进行安装(可以在网上搜到IIS5.0和IIS6.0的安装程序) 2、装PHP(公司服务器上安装的版本为5.3.3) (1)装fcgisetup_1.5_rt (2)装PHP--在安装过程中出现Web Server Setup界面时选择IIS FastCGI 3、装Mysql(公司服务器上安装的版本为5.1) (1)在安装过程中,选择自定义安装 (2)在对Mysql进行配置时,选Detailed Configuration--Developer Machine--Multifunctional Database--选择存储的路径--Decision Support (DSS)/OLAP--勾上Enable TCP/IP Networking和Enable Strict Mode--勾选Best Support For Multilingualism--填写Service Name,勾上Include Bin Directory in Windows PATH--填写并确认密码--点击执行--结束 第二部分数据库的导入导出 1、从PC机上导出你目前完成的数据库 在电脑运行中输入cmd进入命令界面输入:Mysqldump -u 根用户名(目前设置为root)-p 原数据库名称(目前设置为wikidb)>导出文件名(目前设置为wikidb.sql) 点击回车即将当前PC机上的数据库成功导出到当前路径下,文件名为wikidb.sql 2、在需要PC机上导入数据库 (1)在电脑运行中输入cmd进入命令界面输入:mysql -u 根用户名-p 点击回车,输入密码(当前设置为123) 点击回车,出现mysql> 依次输入create database wikidb; use wikidb; source 存放导出数据库文件的路径\导出数据库名(例如:source d:\wikidb.sql) 此时导入结束,可以输入show tables 查看导入是否成功

判断android设备是平板还是手机

判断是平板还是手机,通过很多的方式都可以实现,如:设备尺寸、DPI、版本号、是否具备电话功能等,不过有些没有那么的精准,这里有一个比较简单的方法: 方法一、 public static boolean isTablet(Context context) { return (context.getResources().getConfiguration().screenLayout & Configuration.SCREENLAYOUT_SIZE_MASK) >= Configuration.SCREENLAYOUT_SIZE_LARGE; } 方法二、 /** * 判断是否为平板 * * @return */ private boolean isPad() { WindowManager wm = (WindowManager) getSystemService(Context.WINDOW_SERVICE); Display display = wm.getDefaultDisplay(); // 屏幕宽度 float screenWidth = display.getWidth();

// 屏幕高度 float screenHeight = display.getHeight(); DisplayMetrics dm = new DisplayMetrics(); display.getMetrics(dm); double x = Math.pow(dm.widthPixels / dm.xdpi, 2); double y = Math.pow(dm.heightPixels / dm.ydpi, 2); // 屏幕尺寸 double screenInches = Math.sqrt(x + y); // 大于6尺寸则为Pad if (screenInches >= 6.0) { return true; } return false; } 如上两种方法就可以判断了。

Android基础应用课程标准

《Android基础》课程标准 一、课程定位 本课程是计算机专业基于Java方向的Android应用层程序开发的一门专业核心课程。作为Java程序设计、数据库原理与应用等课程的后续课程,主要在于培养学生应用Android技术进行Android应用程序开发的能力,并培养其良好的编程规范和职业习惯。 二、课程目标 通过案例驱动的学习和综合训练,熟练掌握Android应用程序开发的基本知识和技能,并能结合Android中的常用控件和四大系统组件进行Android应用程序的开发,并为后续Android高级知识的学习做下铺垫。在课程的学习中,培养诚实、守信、坚韧不拔的性格,培养善于沟通表达、善于自我学习、具备团队协作的能力。并养成规范的编码、按时交付软件等良好的工作态度。 (一)知识目标 1.掌握Android开发环境的搭建;熟悉Android应用的基本框架,了解Activity、layout的关系; 2.指导学生进行需求分析报告的拟定以及实训报告的编写; 3.熟练掌握Android常用的UI组件的用法,熟练使用Android的UI组件来搭建用户界面;掌握Android 中用户事件处理的基本方法; 4.掌握APP系统分层架构的搭建; 5.熟练掌握AdapterView相关UI组件以及Adapter模式、常见Adapter的定义; 6.熟悉Activity、Service和BroadcastReceiver的生命周期方法,熟练掌握它们的用法 7.熟悉Intent的用法,熟练使用Intent的诸多属性用途及用法; 8.熟练掌握Service与广播机制的使用和工作原理,为应用开发打下基础; 9.掌握SQLite的语法,熟练掌握Android SQLite 数据库的使用。能够用多种方式实现数据存储和数据 共享; 10.掌握Android的异步加载机制; 11.了解自定义控件的实现原理并掌握自定义技巧。 12.了解Android应用程序的屏幕适配、国际化方式及APP上架流程和盈利方式。 (二)职业能力目标

Android多媒体分析

MediaPlayer播放器调用及Parser实现过程 一、调用播放器 (Frameworks) 在mediaPlayer中,根据前面打开的文件格式,分别调用三种播放器的一种。分别为PVPlayer、MidiPlayer、VobisPlayer,下面说明具体步聚:1... 获取文件格式 在MediaScanner.java JAVA程序中,可以得到以下几个文件信息: (1)文件格式,比如MP3,MP4等。 (2)文件类别:音频,视频。 (3)文件来源:本地,网络。 得到文件相关信息后,如果系统支持,则加入到播放列表,反之则DELETE 加载的相关资源。获取具体信息的相关函数调用了MediaFile.java程序相关函数实现。 FILE:MediaScanner.java ../Frameworks/base/media/java/media MediaFile.java ../Frameworks/base/media/java/media 2.创建播放器(MediaPlayer Service) 在系统中,一共有三种播放器: (1) PVPlayer:一般的本地文件播放都用PVPLAYER (2) MidiPlayer:这个播放器目前还没有测试。 (3) VobisPlayer:通过URL网络播放。 在这一层中,主要在MediaPlayerService.cpp文件中实现,根据得到的播放格式(getPlayerType函数)创建相关的播放器(createPlayer)。如果创建了PVPlayer,则直接进入了OpenCore,如果为另外两种播放器,需要对文件的一处理程序在同路径下分别有一个文件(Midifile.cpp和vorbisPlayer.cpp). FILE:MediaPlayerService.cpp ../Frameworks/base/media/Libmedia

Android面试题-带答案

1.介绍一下Android系统的体系结构 答:应用层:android的应用程序通常涉及用户界面和交互。 应用框架层:UI组件、各种管理器等。 函数库层:系统C库、媒体库、webkit、SQLite等。 linux核心库:linux系统运行的组件。 2.Android的四大组件是哪些,它们的作用? 答:Activity:Activity是Android程序与用户交互的窗口,是Android构造块中最基本的一种,它需要为保持各界面的状态,做很多持久化的事情,妥善管理生命周期及一些跳转逻辑 service:后台服务于Activity,封装有一个完整的功能逻辑实现,接受上层指令,完成相关的事物,定义好需要接受的Intent提供同步和异步的接口 Content Provider:是Android提供的第三方应用数据的访问方案,可以派生Content Provider类,对外提供数据,可以像数据库一样进行选择排序,屏蔽内部数据的存储细节,向外提供统一的借口模型,大大简化上层应用,对数据的整合提供了更方便的途径 BroadCast Receiver:接受一种或者多种Intent作触发事件,接受相关消息,做一些简单处理,转换成一条Notification,统一了Android的事件广播模型 3.请介绍下Android的数据存储方式。 答:一.SharedPreferences方式 二.文件存储方式 三.SQLite数据库方式 四.内容提供器(Content provider)方式 五. 网络存储方式 4.说说mvc模式的原理 答:mvc是model,view,controller的缩写,mvc包含三个部分: 模型(model)对象:是应用程序的主体部分,所有的业务逻辑都应该写在该层。 视图(view)对象:是应用程序中负责生成用户界面的部分。也是在整个mvc架构中用户唯一可以看到的一层,接收用户的输入,显示处理结果。 控制器(control)对象:是根据用户的输入,控制用户界面数据显示及更新model对象状态的部分,控制器更重要的一种导航功能,响应用户出发的相关事件,交给m层处理。 5.如果后台的Activity由于某原因被系统回收了,如何在被系统回收之前保存当前状态? 答:重写onSaveInstanceState()方法,在此方法中保存需要保存的数据,该方法将会在activity被回收之前调用。通过重写onRestoreInstanceState()方法可以从中提取保存好的数据

基于Android的多媒体播放器课程设计报告

【最新资料,WORD文档,可编辑修改】/* 1、开发环境 Android 是一种基于Linux V2.6 内核的综合操作环境。最初,Android 的部署目标是移动电话领域,包括智能电话和更廉价的翻盖手机。Android 全面的计算服务和丰富的功能支持完全有能力扩展到移动电话市场以外。Android 也可以用于其他的平台和应用程序。下面搭建Android的开发环境。 1.1 JDK安装 1、首先把所有要安装文件放在Android_software文件夹中; 2、安装jdk-6u10-rc2-bin-b32-windows-i586-p-12_sep_2008文件; 3、配置环境变量: (1)新建一个用户变量,变量名是JAVA_HOME,变量值为:JDK的安装路径; (2)查看系统变量Path,如果有显示路径加\bin,没有则加%JAVA_HOME%\bin; (3)查看class,如果有显示路径加\lib,没有则加%JAVA_HOME%\lib; 4、解压eclipse-jee-juno-win32文件,运行eclipse.exe,在workspace launcher 窗口中,设置项目保存路径; 1.2 Android SDK安装以及系统设置 在eclipse菜单栏的window子菜单下点击perferences,选择android,在右边的对话框中选择按钮Browse,找到SDK源文件,自动出来SDK包含的Android版本,点击Apply按钮,完成安装; 在用户变量里面,新建一个JA V A_SDK变量,值设置的值为SDK安装的路径; 在系统变量里面加入%JA V A_HOME%\bin,%JA V A_SDK%\tools,%JA V A_SDK%\platform-tools。 图1.设置环境变量 1.3 Eclipse安装以及ADT工具的安装 ADT插件的安装: (1)解压ADT文件; (2)打开eclipse菜单上help 子目录下的Install new software; (3)在弹出的Install窗口中点击Add,在弹出的窗口中,name:ADT Location:点击location按钮找到解压的ADT源文件; (4)安装成功后,重新启动eclipse; 1.4 模拟器的配置 1、运行eclipse,在window子菜单下点击AVD Manager开始配置模拟器; 2、在Android Virtual Device Manager 下点击NEW,开始创建模拟器; 3、在create new Android Virtual Manager窗口中,输入模拟器的名称、版本、 存储卡大小,手机屏幕的分辨率,输入完后,点击Create AVD,创建完成; 4、在Android Virtual Device Manager窗口中,选中模拟器后,点击start, 启动模拟器。 图2 启动模拟器 2、功能说明 2.1 软件结构与布局 设计布局框架分为三个部分:

android开发教程1.3.2适配不同的屏幕

Android将设备屏幕归类为两种常规属性:尺寸和分辨率。你应该想到你的app会被安装在各种屏幕尺寸和分辨率的设备中。这样,你的app就应该包含一些可选资源,针对不同的屏幕尺寸和分辨率,来优化你的app外观。 ?有4种普遍尺寸:小(small),普通(normal),大(large),超大(xlarge) ?4种普遍分辨率:低精度(ldpi), 中精度(mdpi), 高精度(hdpi), 超高精度(xhdpi) 声明针对不同屏幕所用的layout和bitmap,你必须把这些可选资源放置在独立的目录中,与你适配不同语言时的做法类似。 同样要注意屏幕的方向(横向或纵向)也是一种需要考虑的屏幕尺寸变化,所以许多app会修改layout,来针对不同的屏幕方向优化用户体验。 创建不同的layout 为了针对不同的屏幕去优化用户体验,你需要对每一种将要支持的屏幕尺寸,创建唯一的XML文件。每一种layout需要保存在相应的资源目录中,目录以-为后缀命名。例如,对大尺寸屏幕(large screens),一个唯一的layout文件应该保存在res/layout-large/中。 Note:为了匹配合适的屏幕尺寸Android会自动地测量你的layout文件。所以你不需要因不同的屏幕尺寸去担心UI元素的大小,而应该专注于layout结构对用户体验的影响。(比如关键视图相对于同级视图的尺寸或位置) 例如,这个工程包含一个默认layout和一个适配大屏幕的layout: MyProject/ res/ layout/ main.xml layout-large/ main.xml layout文件的名字必须完全一样,为了对相应的屏幕尺寸提供最优的UI,文件的内容不同。 按照惯例在你的app中简单引用: @Override protected void onCreate(Bundle savedInstanceState){ super.onCreate(savedInstanceState); setContentView(https://www.doczj.com/doc/db10931020.html,yout.main); } 系统会根据你的app所运行的设备屏幕尺寸,在与之对应的layout目录中加载layout。更多关于Android如何选择恰当资源的信息,详见Providing Resources。 另一个例子,这一个工程中有为适配横向屏幕的layout: MyProject/ res/ layout/ main.xml layout-land/ main.xml 默认的,layout/main.xml文件用作竖屏的layout。 如果你想给横屏提供一个特殊的layout,也适配于大屏幕,那么你需要使用large和land修饰符。 MyProject/ res/ layout/ # default (portrait) main.xml

相关主题
文本预览
相关文档 最新文档