当前位置:  编程技术>移动开发
本页文章导读:
    ▪win7电脑怎么建立wifi热点        win7电脑如何建立wifi热点?闲着无聊,最近需要用手机测试一些安卓项目时发现居然没有wifi。上网找了些资源,整理了如下,以更网友们参考: 1、你可以开启windows 7的隐藏功能:虚拟WiFi和S.........
    ▪ 【1.5+1.6】系统遨游——高速缓存和金字塔型存储设备        【1.5+1.6】系统漫游——高速缓存和金字塔型存储设备        从上一节:【1.4】系统漫游——系统硬件结构以及程序执行过程 中可以看到,hello执行过程中,代码和数据由硬盘copy到内存中.........
    ▪ ListView 上拉刷新       ListView 下拉刷新 看了ListView的下拉刷新,原理是动态调整 Listview的第一行的paddingTop值,然后就能实现ListView的下拉刷新。   有下面几个ListView常用的方法 getFirstVisiblePosition() 取得界面上第一.........

[1]win7电脑怎么建立wifi热点
    来源: 互联网  发布时间: 2014-02-18
win7电脑如何建立wifi热点?

闲着无聊,最近需要用手机测试一些安卓项目时发现居然没有wifi。上网找了些资源,整理了如下,以更网友们参考:


1、你可以开启windows 7的隐藏功能:虚拟WiFi和SoftAP(即虚拟无线AP),就可以让电脑变成无线路由器,实现共享上网。

2、点开始----所有程序-----命令提示符右键管理员身份运行命令提示符----运行命令:

netsh wlan set hostednetwork mode=allow ssid=wuminPC key=wuminWiFi

此命令有三个参数:

mode:是否启用虚拟WiFi网卡,改为disallow则为禁用 。  

ssid:无线网名称,最好用英文(以wuminPC为例)。 

key:无线网密码,八个以上字符(以wuminWiFi为例)。   

以上三个参数可以自己设置,例如只使用mode=disallow可以直接禁用虚拟Wifi网卡。

3、开启成功后,网络连接中会多出一个网卡为“Microsoft Virtual WiFi Miniport Adapter”的无线连接2,为方便起见,将其重命名为虚拟WiFi。

4、有些win7可能找不到网络连接,在 控制面板\网络和 Internet\网络和共享中心 点左边的更改适配器设置就是网络连接。

在“网络连接”窗口中,右键单击已连接到Internet的网络连接,选择“属性”→“共享”,勾上“允许其他······连接(N)”并选择“虚拟WiFi”。确定之后,提供共享的网卡图标旁会出现“共享的”字样,表示“宽带连接”已共享至“虚拟WiFi”。

5、继续在命令提示符中运行:netsh wlan start hostednetwork    

(将start改为stop即可关闭该无线网,以后开机后要启用该无线网只需再次运行此命令即可)  

6、至此,虚拟WiFi的红叉叉消失,WiFi基站已组建好,主机设置完毕。笔记本、带WiFi模块的手机等子机搜索到无线网络wuminPC,输入密码wuminWiFi,就能共享上网啦!

========================================================================

netsh wlan set hostednetwork mode=allow ssid=visible key=20121125

netsh wlan start hostednetwork

netsh wlan stop hostednetwork


    
[2] 【1.5+1.6】系统遨游——高速缓存和金字塔型存储设备
    来源: 互联网  发布时间: 2014-02-18
【1.5+1.6】系统漫游——高速缓存和金字塔型存储设备

        从上一节:【1.4】系统漫游——系统硬件结构以及程序执行过程 中可以看到,hello执行过程中,代码和数据由硬盘copy到内存中,再由内存copy到寄存器中,最后由寄存器copy到显存中。为完成这么一个简单的数据显示动作,竟然需要对”倒腾“这么多次数据,而且根据”木桶理论“,系统的执行效率由最慢的设备决定,有必要对这个过程进行优化一下了。题外话:依稀记得好像有人说过”程序员的工作就是搬数“,计算机的工作又何尝不是搬数呢,把数据从一个地方搬过来,进行处理后再搬到另一个地方,仅此而已!

1、高速缓存的产生

        根据机械原理,容量大的设备运行速度要慢于容量小的设备,速度快的设备要贵于速度慢的设备。同理,寄存器文件能存储几百个字节,而内存能存储几百万字节,而寄存器的操作速度要几百倍的快于内存的操作。这就造成了处理器和内存之间的速度鸿沟,更郁闷的是,处理器的技术进步速度(可以搜索inter的Tick-Tock策略)要远远快于内存技术的进步,现在的处理器22nm的制程,4核甚至8核的出现,而内存技术才发展到DDR3(1333MHZ-1600MHZ)。始终使系统处于这样一种状态:cpu一直处于饥饿状态,内存一直处于忙碌状态。需要做出一些改变了……

        如何改变?那就是在处理器和内存之间,增加一个临时存储空间叫做高速缓存cache。cache的容量介于处理器和内存之间,速度也介于两者之间,主要保存一些处理器当前和未来“最需要”的数据。系统结构如下图所示:


        示例图中出现了两种缓存1级缓存L1和2级缓存L2,他们都是SRAM结构而内存是DRAM结构(关于它们的区别,可以自行搜索)。为什么出现了两个级别cache呢?就像刚才讨论的那样,增加了一级cache还是感觉速度瓶颈,所以就再增加一级,不行就再增加一级,所以现在看到的cpu,基本上都是3个级别cache。L1-L2-L3-主存,它们的速度依次降低,容量依次增加,成本依次降低。这里提一点:既然知道了缓存的重要性,那么在bios设置中千万不要关掉缓存,否则那速度你懂得!还有人说过“看cpu性能高低,除了看频率还要看缓存大小”,这句话是片面的,如果对于同一厂商的cpu基本正确,但是千万不要拿这两个指标来对比inter和AMD的cpu,因为他们的缓存设计策略不同,缓存大小没有可比性。

        缓存的原理:缓存可以提高执行效率,是利用了程序的局部性原理,包括时间局部性和空间局部性。因为多数时候代码执行是有规律的,它们之间呈现局部聚集特性,就是说某个地址addr的代码在执行后,下一个要执行的代码地址多数时候就在addr附近,这时候系统cpu完全可以自作主张的事先把addr附近的代码放入cache中供ALU使用。既然是事先,那么就有命中率的问题,现代cpu命中率基本可以达到80%甚至更高。所以,就对我们程序员提出了更高的要求,如果想提高效率,那么编写的程序就尽量符合局部性原理。

2、金字塔型存储设备

       经过实践验证,在cpu和memory之间增加cache,能大幅度提高系统效率,但我们并不满足于此,还要进一步完善“缓存”策略挖掘系统潜能,最终做成“金字塔型”存储方案。现代计算机基本都属于这样一个存储模型,如下图所示:


        该模型的主要思想是:某一层的存储空间是它下一层空间的缓存,从上到下速度越来越慢,空间越来越大。例如:寄存器是L1的缓存,内存是硬盘的缓存,本地硬盘式网络硬盘的缓存。重点讲一下最后两层,我们上网浏览网页听音乐,都会在本地磁盘上产生大量的临时文件并保存浏览记录,这些文件都可以认为是网络服务器中的文件的“缓存”,这样当我们点“后退”按钮,或者重新打开某个网页时,就会直接从本地磁盘调用文件,而不是从网络下载。还有当处理网络异常时,有的人喜欢打开浏览器,一看到“百度”的页面就说网络修好了,其实有可能那是假象,你打开的很可能是自己磁盘的页面,所以如果想验证网络好坏,最好打开一个你平时不打开的页面,这样在本次磁盘没有缓存,系统会直接从网络索取,如果网络畅通就能打开,如果不畅则会404。

         注意:“金字塔型”存储结构的核心是“缓冲”,一定要结合生活实践理解缓冲的概念,学习“缓冲”的思想。




    
[3] ListView 上拉刷新
    来源: 互联网  发布时间: 2014-02-18
ListView 下拉刷新

看了ListView的下拉刷新,原理是动态调整 Listview的第一行的paddingTop值,然后就能实现ListView的下拉刷新。

 

有下面几个ListView常用的方法


getFirstVisiblePosition() 取得界面上第一个显示的位置
getLastVisiblePosition() 取得界面上最后一个显示的位置
setSelection(int position)  设置当前选中的位置,List会自动调至该位置

sdetVerticalScrollBarEnable(true)   设置scrollbar不能往下拉

getMeasuredHeight()    达到测量的长度,要在下面的measureView调用之后再调用,不然得到的是0
getBottom()   得得到view的最下面在屏幕中的位置
getPaddingTop()

 

还有两个方法也不错,测量view的高度

private void measureView(View child) {
		ViewGroup.LayoutParams p = child.getLayoutParams();
		if (p == null) {
			p = new ViewGroup.LayoutParams(ViewGroup.LayoutParams.FILL_PARENT,
					ViewGroup.LayoutParams.WRAP_CONTENT);
		}

		int childWidthSpec = ViewGroup.getChildMeasureSpec(0, 0 + 0, p.width);
		int lpHeight = p.height;
		int childHeightSpec;
		if (lpHeight > 0) {
			childHeightSpec = MeasureSpec.makeMeasureSpec(lpHeight,
					MeasureSpec.EXACTLY);
		} else {
			childHeightSpec = MeasureSpec.makeMeasureSpec(0,
					MeasureSpec.UNSPECIFIED);
		}
		
		Log.d(TAG, "childWidthSpec:" + childWidthSpec + " childHeightSpec:" + childHeightSpec);
		child.measure(childWidthSpec, childHeightSpec);
	}
 

在OnTouchEvent 的Move事件中计算出当下移动的位置

 

private void refreshHead(MotionEvent e){
		int point = e.getHistorySize();
		for(int i = 0; i < point; i ++){
			int historicalY = (int) e.getHistoricalY(i);
			int topPadding = (int)((historicalY - mLastPositionY - mRefreshViewHeight) / 1.7);
			mRefreshView.setPadding(mRefreshView.getPaddingLeft(), topPadding, 
					mRefreshView.getPaddingRight(), mRefreshView.getPaddingBottom());
			
			if(getFirstVisiblePosition() == 0){
				if(mRefreshView.getBottom() > 50){
					mListState = PULL_READ_REFRESH;
					displayRefreshView();
				} else {
					mListState = PULL_REFRESH;
				}
			}
			
		}
	}

 


    
最新技术文章:
▪Android开发之登录验证实例教程
▪Android开发之注册登录方法示例
▪Android获取手机SIM卡运营商信息的方法
▪Android实现将已发送的短信写入短信数据库的...
▪Android发送短信功能代码
▪Android根据电话号码获得联系人头像实例代码
▪Android中GPS定位的用法实例
▪Android实现退出时关闭所有Activity的方法
▪Android实现文件的分割和组装
▪Android录音应用实例教程
▪Android双击返回键退出程序的实现方法
▪Android实现侦听电池状态显示、电量及充电动...
▪Android获取当前已连接的wifi信号强度的方法
▪Android实现动态显示或隐藏密码输入框的内容
▪根据USER-AGENT判断手机类型并跳转到相应的app...
▪Android Touch事件分发过程详解
▪Android中实现为TextView添加多个可点击的文本
▪Android程序设计之AIDL实例详解
▪Android显式启动与隐式启动Activity的区别介绍
▪Android按钮单击事件的四种常用写法总结
▪Android消息处理机制Looper和Handler详解
▪Android实现Back功能代码片段总结
▪Android实用的代码片段 常用代码总结
▪Android实现弹出键盘的方法
▪Android中通过view方式获取当前Activity的屏幕截...
▪Android提高之自定义Menu(TabMenu)实现方法
▪Android提高之多方向抽屉实现方法
▪Android提高之MediaPlayer播放网络音频的实现方法...
▪Android提高之MediaPlayer播放网络视频的实现方法...
▪Android提高之手游转电视游戏的模拟操控
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3