大橙子网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
请尝试以下操作:
让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:申请域名、雅安服务器托管、营销软件、网站建设、长子网站维护、网站推广。
1.将“标记小帮手”开启(请您打开相册-菜单键-设定-打开标记小帮手-位置勾选)。
2.将“位置标签”开启(请打开照相机-点击“小齿轮”设定图标-位置标签-开-将“位置”开关键向右滑动使其开启-“照相机”勾选。
注:并不是所有机型均支持该功能。
在写前一篇文章 浅述Android Apk打包流程 的时候发现解压后的apk里res的资源文件,有多于我本地项目中的res资源文件夹。
如果我的项目中依赖了Android的一些库,比如design库,design里面有自己的res,那么在打包我的项目的时候,这些res会合并一起打包。
我查看了下,我确实依赖了design等库。
对比一下前三张图,我本地项目没有建anim、anim-v21、animator-v21(不再截图了)等资源文件夹,但是design库有,最终一并打包到我的项目中。
res目录下的文件夹是有命名规则的,不能随便起,为的是要适配不同的设备,而且是要做到最佳的资源匹配。
2.1、资源标签属性及优先级
除了分辨率外,同种资源之间可以有下面许多资源属性标签,它们在匹配过程中是有优先级顺序的。大家可以快速浏览一下即可。以下资源标签修饰语按照优先级从高到低的顺序排列。
3、Locale(语言和区域)
例如en表示英语,fr表示法语,en-rUS表示英语和美国地区。不区分大小写,r用于区分区域码。
4、Layout Direction(布局方向)
ldrtl,布局方向从右到左(阿拉伯语等会这样布局);ldltr,布局方向从左到右,是默认的隐式值。(这就解答了我前面第二个提的问题了)
5、Smallest Screen Width(最小宽度)
swNdp,屏幕的基本尺寸。
sw320dp:适用于320 320 ldpi、320 480 mdpi、480 480 hdpi
sw600dp:适用于600 1024mdpi (7英寸的平板电脑)
sw720dp:适用于720*1280 mdpi (10英寸平板电脑)
当你的屏幕的绝对宽度大于600dp时,屏幕就会自动调用layout-sw600dp文件夹里面的布局。这里的绝对宽度是指手机的实际宽度,即与手机是否横屏没关系,也就是手机较小的边的长度。
6、Screen Width(屏幕宽度)
wNdp ,设备的可用宽度值随着当前是横屏还是竖屏会产生变化,即它表示的是当前真实的宽度值。即当手机竖屏时,为较小边的长度;当手机横屏时,为较长边的长度。
7、Screen Height(屏幕高度)
hNdp,与lScreen Width的使用一样,只是这里指的是相对的高度。指手机相对放置的高度;即当手机竖屏时,为较长边的长度;当手机横屏时,为较小边的长度。
8、Size(屏幕大小)
samll:低密度,最小布局尺寸为320 426dp
normal:中等密度,标准屏幕最小布局尺寸约为320 470dp
large:中等密度,大屏幕最小布局尺寸为480 640dp
xlarge:大于中等密度,最小布局尺寸为720 960dp。基本用于平板电脑。
该配置并不仅适用于指定设备,如果没有匹配的资源,会选择与之最近的。 如果所有资源均大于当前屏幕的尺寸限定符,则系统不会使用这些资源,且应用运行时会崩溃。
9、Ratio(屏幕纵横比)
long:宽屏
notlong:非宽屏
10、Orientation(屏幕方向)
port:竖向的
land:横向的
square:正方形的(我也不知道这个是什么样子的)
11、UI Mode(UI模式)
无、car、desk、 television、appliance、 watch6种模式。(其实我没看明白是干嘛的,哈哈)
12、Night Mode(夜间模式)
night:夜间模式
notnight:非夜间模式
可以通过UiModeManager来开启和关闭这一功能。
13、Density(屏幕像素密度)
ldpi:低密度,约120dpi;mdpi:中等密度,160dpi;hdpi:高密度,240dpi;xhdpi:超高密度,320dpi;xxhdpi:超超高密度,480dpi;xxxhdpi:超超超高密度,640dpi;nodpi:不希望以匹配设备密度的位图资源;tvdpi:主要用于电视,约213dpi。anydpi:适用于所有密度,优先级高于其他限定符。
14、Touch Screen(触摸屏)
notouch:设备不带触摸屏
stylus:触摸屏通过手写笔操作
finger:触摸屏通过手指操作
15、Keyboard(键盘可用性)
keysexposed:设备有可用键盘。如果当前的软键盘被启用,那么即便设备没有键盘或者键盘不可用,这个状态仍可能有效。
keyshidden:设备有键盘,但当前被隐藏,而且没有软键盘启用。
keyssoft:设备当前软键盘启动,即便它处于可见或不可见状态。
16、Text Input(文本输入法)
nokeys:设备不带用用于文本输入的按键
qwerty:设备具有标准硬键盘(无论是否对用户可见)
12key:设备具有 12 键硬键盘(无论是否对用户可见)
17、Navigation State(定位键可用性)
描述定位键是否可用,指的是光标定位,非GPS导航的定位。
navexposed:定位键对用户可用
navhidden:定位键对用户不可用
18、Navigation Method(主要的非触摸屏定位方式)
nonav:设备除了触摸屏外没有其他定位方式
dpad:设备具有用于导航的方向键
trackball:设备具有用于导航的轨迹球
wheel:设备有方向滚轮用于定位,不常用
19、Dimension(尺寸)
20、Version(平台版本)
设备支持的 API 级别。例如v4 对应于 API 级别 4,带有 Android 1.6 或更高版本系统的设备。
2.2、怎么在AS中创建这些文件夹呢?
Android多标签的实现通常有几下方式:
使用TabHost控件,但是这个控件自android 3.0以后就被废弃了。
使用ActionBar,android 3.0以后增加了一个ActionBar这个控件,如果低版本要使用,需要引入v7包。
使用RadioGroup RadioBuuton,这个控件最方便,同时也是用最多的。
标签与内容的搭配还需要使用Fragment。
都知道的,要看Android log如果不加过滤器,那么对应的信息量极其的庞大,要在这些大信息量找到我们关心的可能需要耗费比较长的时间,所以对于在调试WiFi过程,那些标签是需要关注的呢?
WiFi的核心服务,是启动整个WiFi服务的,它在我们的logcat关注范围内
WiFi的扫描服务,一般我点开或者进入到WiFi列表页面里,这个服务在后台帮我们刷新热点,同样在logcat关注的范围内
关于有线与WiFi的切换,以及系统关于网络的链接,它帮忙在管着事呢,所以也在logcat关注的范围内
系统网络相关的命令执行需要涉及到它,比如像Setting iface up 或者bring up eth0 这些事儿,它帮忙在处理,同样也在WiFi调试时logcat关注范围内
这个标签也是比较常用到,在hardware/libhardware_legacy/wifi/wifi.c里面,主要帮忙实现drv的加载/卸载,以及处理与wpa_supplicant之间相关事件的通信,常用于前期的WiFi Drv导入调试比较多,所以也在logcat关注范围内
这是一个类似链接的服务,一般用于 Tethering wlan0 或者 sendTetherStateChangedBroadcast 等等,可以帮忙辅助调试WiFi流程,也在logcat关注范围内
对于可以支持软件AP的WiFi Dongle设备来说,这是一个很关键的服务(工具),一般用来初始化设置软AP的参数(ssid、channel、psk、wpa、带宽等参数)详细具体可参考 hostapd.conf
WiFi中心处理枢纽,很多的WiFi状态处理都离不开它,所以也是在logcat需要关注的范围
它在系统网络有着重要的地位,因为其处理的业务包含了dns,路由控制表, dhcp相关等等,可以这么说,系统网络涉及到无法ping通一些特定的域名或者网站,可以来这里找找原因,所以它也在logcat关注范围内,其中该文件在/system/netd/server/TetherController.cpp,
一个神奇且强大的工具,集中了dns,dhcp,router等功能,它很适合在一些小网络(轻量级)架构发挥着强大的作用,详细可以参见 这里
可以看下它工作时打印
以上主要为调试WiFi 软AP常用的Tag
对应的logcat 命令如下
在切换到 Sta 状态时,我们需要重点关注wpa_supplicant对应的log
开启wpa_supplicant的log,只需要修改一个地方即可,在找到对应init.xx.rc启动wpa_supplicant进程,在启动前添加 -dd的参数(将wpa_supplicant log 级别设为debug)即可,后续关于wpa_supplicant调试会继续更新整理