文档库 最新最全的文档下载
当前位置:文档库 › Adapter适配器深刻详解

Adapter适配器深刻详解

Adapter适配器深刻详解
Adapter适配器深刻详解

Android Adapter深刻详解

我在刚玩android 时候,对这个adapter很不理解,到底是什么原理呢?适配器,哎,只知道setAdapter()把参数传进去,系统就显示出来了。

今天,针对这个东西,我们做个系统详细的分析.

listview加载adapter过程是这样的.

1先判断adapter 有多少数据项,根据这个数据确定有多少item.

2确定每个item里加载哪个View.

3把View里加载要显示的数据.

问提一个一个来解决.第一个问题:因为adapter都要关联一个list .有来存储数据.list的项数就是Item的数目.我们在重载BaseAdapter时候,都要实现这个函数

public intgetCount() {

return weatherList.size();

}

哎,这个函数就是确定关联条目的.

第二个问题哪来的view 呢,当然我们自己创建的.重载BaseAdapter时候你要实现getView()这个函数,就是这个view.

第三个问题,你自己创建的view.加载哪些数据你该知道的.呵呵.

张豪就喜欢看例子,这个小伙子技术,管理都很牛,得以他为榜样.得努力.

public class CustomAdapterActivity extends ListActivity

{

/** Called when the activity is first created. */

@Override

public void onCreate(Bundle savedInstanceState)

{

super.onCreate(savedInstanceState);

setContentView(https://www.wendangku.net/doc/0a2639722.html,yout.main);

ArrayListweatherList = new ArrayList();

Weather w = new Weather( "London", 17, Weather.OVERCAST );

weatherList.add( w );

w = new Weather( "Paris", 22, Weather.OVERCAST );

weatherList.add( w );

w = new Weather( "Athens", 29, Weather.SUNNY );

weatherList.add( w );

w = new Weather( "Stockholm", 12, Weather.RAIN );

weatherList.add( w );

WeatherAdapterweatherAdapter = new WeatherAdapter(

this,

weatherList );

setListAdapter( weatherAdapter );

}

}

哎,这个大家都很清楚,关键问题是weatherAdapter哪来的呢?自己创建的啊,如果创建呢?

public class WeatherAdapter extends BaseAdapter {

private Context context;

private ListweatherList; 这就是adapter关联的List,用来存储数据.还记的ArrayList 要往里传参数吗?传的也是这个类型啊.呵呵

public WeatherAdapter(Context context, ListweatherList ) {

this.context = context;

this.weatherList = weatherList;

}

public intgetCount() {

return weatherList.size();

}

public Object getItem(int position) {

return weatherList.get(position);

}

public long getItemId(int position) {

return position;

}

public View getView(int position, View convertView, ViewGroup parent) {

Weather weather = weatherList.get(position);

return new WeatherAdapterView(this.context, weather );

}

}

哎,这段告诉了我们,有多少个Item,可以通过getCount()得到了。可是View 哪来的呢?

当然是getView ()这个函数提供.

这个view 的获取就多中多样了,我们可以传个LayoutID. 通过Inflater出来,也可以自己创建个,只要出来就行.

在这里,我们自己创建个View. 这个View.是个VIewGroup.

class WeatherAdapterView extends LinearLayout {

public static final String LOG_TAG = "WeatherAdapterView";

public WeatherAdapterView(Context context,

Weather weather ) {

super( context );

this.setOrientation(HORIZONTAL);

https://www.wendangku.net/doc/0a2639722.html,youtParamscityParams =

new https://www.wendangku.net/doc/0a2639722.html,youtParams(100, LayoutParams.WRAP_CONTENT);

cityParams.setMargins(1, 1, 1, 1);

TextViewcityControl = new TextView( context );

cityControl.setText( weather.getCity() );

addView( cityControl, cityParams);

https://www.wendangku.net/doc/0a2639722.html,youtParamstemperatureParams =

new https://www.wendangku.net/doc/0a2639722.html,youtParams(20, LayoutParams.WRAP_CONTENT);

temperatureParams.setMargins(1, 1, 1, 1);

TextViewtemperatureControl = new TextView(context);

temperatureControl.setText( Integer.toString( weather.temperature ) );

addView( temperatureControl, temperatureParams);

https://www.wendangku.net/doc/0a2639722.html,youtParamsskyParams =

new https://www.wendangku.net/doc/0a2639722.html,youtParams(25, LayoutParams.WRAP_CONTENT);

ImageViewskyControl = new ImageView( context );

Log.d( LOG_TAG, weather.getCity()+" -> "+weather.sky );

skyControl.setImageResource( weather.getSkyResource() );

addView( skyControl, skyParams );

}

}

Adapter适配器深刻详解

Android Adapter深刻详解 我在刚玩android 时候,对这个adapter很不理解,到底是什么原理呢?适配器,哎,只知道setAdapter()把参数传进去,系统就显示出来了。 今天,针对这个东西,我们做个系统详细的分析. listview加载adapter过程是这样的. 1先判断adapter 有多少数据项,根据这个数据确定有多少item. 2确定每个item里加载哪个View. 3把View里加载要显示的数据. 问提一个一个来解决.第一个问题:因为adapter都要关联一个list .有来存储数据.list的项数就是Item的数目.我们在重载BaseAdapter时候,都要实现这个函数 public intgetCount() { return weatherList.size(); } 哎,这个函数就是确定关联条目的. 第二个问题哪来的view 呢,当然我们自己创建的.重载BaseAdapter时候你要实现getView()这个函数,就是这个view. 第三个问题,你自己创建的view.加载哪些数据你该知道的.呵呵. 张豪就喜欢看例子,这个小伙子技术,管理都很牛,得以他为榜样.得努力. public class CustomAdapterActivity extends ListActivity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(https://www.wendangku.net/doc/0a2639722.html,yout.main); ArrayListweatherList = new ArrayList(); Weather w = new Weather( "London", 17, Weather.OVERCAST ); weatherList.add( w ); w = new Weather( "Paris", 22, Weather.OVERCAST ); weatherList.add( w );

笔记本AC电源适配器设计方案

笔记本AC电源适配器设计方案[图] 作者:安森美半导体|出处:21IC中国电子网| 2011-05-31 16:16:17 |阅读:1182次 笔记本AC电源适配器设计方案[图],笔记本电脑的应用非常广泛,且市场规模持续快速增长。相应地,笔记本电脑电源适配器的市场也非常可观。用户 笔记本电脑的应用非常广泛,且市场规模持续快速增长。相应地,笔记本电脑电源适配器的市场也非常可观。用户往往要求高性能、小尺寸或低重量的笔记本,同时价格适宜。对于电源适配器设计人员而言,就要选择适合的控制器,用于开发高能效、集成丰富保护特性、尺寸小巧的适配器。 有利的是,安森美半导体推出了新的NCP1250/NCP1251固定频率6引脚脉宽调制(PWM)反激控制器,极佳地满足设计人员的需求,使他们能够开发高性能、高功率密度的电源转换器,用于笔记本/上网本电源适配器,并可用于DVD或机顶盒(STB)的低功率开放式电源等应用。 笔记本电脑电源适配器要求 从大多数用户的使用情况来看,笔记本电脑有相当的时间内会处在轻载或待机条件下。与提高25%、50%、75%或100%负载条件下的能效相比,降低极低负载条件甚至是待机条件下的能耗及提升能效更具挑战性。这就要求电源控制器具备极佳的轻载或待机能耗性能。 此外,用于笔记本的AC-DC适配器也要求具备以下几种保护特性: .短路保护(SCP):必须能够承受输出持续短路而不会损坏。当故障消失时,适配器必 须能够从保护模式下恢复,并重新提供额定功率。 .过压保护(OVP):在环路被破坏的情况下,如光耦合器损坏或TL431分压网络受到影响,适配器必须立即停止工作,并在用户重新启动适配器前保持在此状态。 .过温保护(OTP):如果适配器的温度超过某个温度值,适配器就存在损坏的风险。为了避免出现这种情况,就需要使用热传感器来持续监测温度,并在温度超过设计人员设定的限制值的情况下,适配器就持续关闭。当用户重新启动电源且温度下降时,适配器复位。 .过功率保护(OPP):对某些电源而言,重要的是在最坏条件下——如负载消耗的电流过大,最大输出电流保持在受控状态,而不会实际出现短路。 NCP1250/1关键特性及功能解析 NCP1250/1是采用极小的6引脚TSOP封装的固定频率PWM控制器。除了尺寸极小,还提供即便是其它更高端控制器可能都不具备的众多优势。在最简单的应用(5个功能引脚)中,NCP1250/1非常合适于设计紧凑、保护功能减至最少的离线电源。由于还有第6个多功能引

6.适配器模式-组合模式

10. 适配器模式 现有一个接口DataOperation定义了排序方法sort(int[]) 和查找方法search(int[], int),已知类QuickSort的quickSort(int[])方法实现了快速排序算法,类BinarySearch 的binarySearch(int[], int)方法实现了二分查找算法。现使用适配器模式设计一个系统,在不修改源代码的情况下将类QuickSort和类BinarySearch的方法适配到DataOperation接口中。绘制类图并编程实现。(要求实现快速排序和二分查找) interface DataOperation{ ---; ---; } class QuickSort{ public int[] quickSort(int[] num){ return sort(num,0,num.length-1); } private int[] sort(int[] num,int left,int right){ if(left < right){ //将第一个数作为参照轴 int s = num[left]; int i = left; int j = right+1; while(true){ //从左向右找,直到找到比S大的数 while(i+1-1 && num[--j]>s);

//此时如果i>=j,则说明已交叉,跳出该永久循环 if(i >= j){ break; } //否则如果i<=j,则交换下标为i和下标为j的两元素的值 swap(num,i,j); } //把比S小的数放到下标为left处 num[left] = num[j]; //最后将轴S置于比它小和比它大的两组数之间 num[j] = s; //对S的左右两侧分别再次使用快速排序 sort(num,left,j-1); sort(num,j+1,right); } return num; } private void swap(int[] num,int i,int j){ int t; t = num[i]; num[i] = num[j]; num[j] = t; } } class BinarySearch{ public int binarySearch(int[] num,int x){ int low = 0; int high = num.length - 1; while(low <= high){ //此时抛出ArrayIndexOutOfBoundsException 异常.. int mid = low + (high - low)/2; int midVal = num[mid]; if(x > midVal){ low = mid + 1; }else if (x < midVal){ high = mid - 1; }else{ return mid; } } return -1; //没找到元素x }

亿阳信通-统一采集-数据库接口适配器开发手册

统一采集数据库接口适配器开发手册 目录 目录 (1) 1.适配器概述 (2) 2.DB接口概述 (2) 3.数据库接口适配器包的介绍 (3) 3.1.配置文件(XML文件)说明 (3) 3.1.1.配置文件总述 (3) 3.1.2.数据库接口适配器的配置文件介绍 (4) 3.2.适配器和适配器版本的命名规范 (6) 3.2.1.适配器命名 (6) 3.2.2.适配器版本命名 (6) 3.2.3.厂商版本规范 (6) 3.3.Excel文件(元数据)的说明 (7) 3.3.1.元数据结构图 (7) 3.3.2.元数据各部分详解 (8) 3.4.加密文件 (11) 4.元数据计算过程 (11) 4.1.计算过程流程图 (11) 4.2.详细计算过程 (13) 5.接口适配器开发过程介绍 (21) 5.1.元数据开发 (21) 5.1.1.三期mapping转成元数据 (21) 5.1.2.根据DA文档开发元数据过程 (21) 5.2.配置文件编写 (24) 5.3.元数据算法逻辑校验 (25) 5.4.适配器打包、加密 (26) 5.5.注册适配器进行采集测试 (26)

1.适配器概述 适配器,是指面向某类采集源独立地完成采集一个或多个指标组的程序包,该程序包包括从数据源获取数据部分也包含指标算法信息。 对不同厂商,不同接口的数据采集实现接口适配,并通过厂商提供的指标应答算法整理出DA文档,按照DA文档进行底层表归一化计算,输出标准的底层采集数据,供各专业网管和上层应用系统使用。 2.DB接口概述 当前的统一采集可以支持所有常见关系型数据库,我们通过java自带的JDBC的驱动类来实现数据库的连接。如:Informix、Sybase、Oracle、SqlServer。 下图是统一采集平台当前所配的数据库的连接信息。如果以下7种数据库不满足需要,可以进行新建。 新建数据库类型: 数据库驱动:不同数据库开发商(比如oracle mysql等)为了某一种开发语言环境(比如java)能够实现统一的数据库调用而开发的程序,它的作用相当于一个翻译人员,将Jva

戴尔笔记本电脑电源适配器电路原理浅析与维修

戴尔笔记本电脑电源适配器电路原理浅析与维修 近日修了几台戴尔笔记本电脑PA-12系列HA65NS2-00型电源适配器,版本号REV A01。其标称输入电压为100~240V(50-60Hz).输出电压为直流19.5V,输出电流为3.34A,额定输出功率65W。戴尔Latitude、lnsipron 系列笔记本电脑均可使用该电源适配器,社会保有量较大。 HA65NS02-00型电源适配器大量使用了表面安装器件,如图1所示。 由于元器件密度高、工作电压高、电流大,发生故障的几率较大。若没有电路原理图维修相当困难。这里给出根据实物绘出的电路原理图(见图2),浅析其工作原理,给出两个维修实例。图2中:器件编号与实物一致,贴片电容未标注容量,电阻R12和R18阻值为实测值(缺省标注数值的电阻单位为欧姆,缺省标注数值的电容单位为微法)。 一、电路组成与主要元器件作用 1.电磁干扰抑制电路与整流滤波电路L1、R1A、R1B、CXl、L2组成差模和共模低通滤波器,通常称作电磁干扰抑制电路(EMI),用来抑制开关电源产生的电磁干扰;BDl和C1组成桥式全波整流滤波电路,为直流/直流变换电路提供平滑的直流电源(主电源)。 2.直流/直流变换电路 集成电路IC1及外围元器件、功率场效应开关管Ql、开关变压器T1等构成直流/直流变换电路。ICl是HA65NS02-00电源适配器的核心器件,采用SOP-8封装,顶部有两行标记,一行为“1D07N25",一行为"5528"。在查阅了大量资料后排除了NCPl207、LD7575等 芯片,最终确认该芯片为富士电机(Fuji Electric)生产的FA5528。FA5528是采用CMOS制程的电流模式脉宽调制控制芯片,典型工作电流仅1.4mA。该芯片额定工作频率60kHz,轻载时自动降低工作频率,图3是FA5528的内部电路框图。 电阻R5A、R5D、c5和D1构成消尖峰电路。用来削除开关管导通与夹断时T1初级绕组产生的高压尖峰脉冲(用来保护开关管Q1)。遇Q1击穿故障时,应检查消尖峰电路。D2和R1构成IC1的启动电路。启动电流大约7mA。IC1启动后,芯片启动电路关闭,改由辅助电源供电,启动电路电流降至251uA左右。开关变压器T1-1、T1-2绕组、R7、D3、R8、C3、C10和R4组成18V辅助电源为ICI提供电能。开关管Q1源极与高压地之间的电阻R18和R14为开关电源过载保护取样电阻。当流经过载保护电阻的峰值电流大于IC1内部设定的保护阀值电平时,IC1内部过载保护比较器翻转关闭脉宽调制器输出.功率场效应开关管Q1夹断,达到保护目的。 3.输出整流滤波电路 开关变压器T1A、T1B绕组产生的低压脉冲电压,经共阴极双肖特基二极管D31A整流、C21A~C21C滤波后,产生平滑的+19.5V电源供电脑使用。电阻R21和电容C21组成的网络用来吸收开关变压器产生的尖峰脉冲,保护整流器件。高亮度发光二极管LED和电阻R13相串用来指示电源适配器工作状态。 4.输出电压稳压控制电路 线性光电耦合器PH1和精密并联型可调整稳压器IC32及其外围元器件与IC1内部误差放大器、脉宽控制电路共同构成输出电压稳压控制电路。 由于IC32的存在,PHI②脚的电位是恒定的,当+19.5V电压变化时。PH1内部发光二极管的发光强度发生变化,PH1内部光电三极管集电极和发射极间的电压UCE随之发生变化,UCE的变化经ICI内部误差放大器放大后,调

23种模式详解

总体来说设计模式分为三大类: 创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。 行为型模式,共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式。 其实还有两类:并发型模式和线程池模式。用一个图片来整体描述一下: 二、设计模式的六大原则 1、开闭原则(Open Close Principle)

开闭原则就是说对扩展开放,对修改关闭。在程序需要进行拓展的时候,不能去修改原有的代码,实现一个热插拔的效果。所以一句话概括就是:为了使程序的扩展性好,易于维护和升级。想要达到这样的效果,我们需要使用接口和抽象类,后面的具体设计中我们会提到这点。 2、里氏代换原则(Liskov Substitution Principle) 里氏代换原则(Liskov Substitution Principle LSP)面向对象设计的基本原则之一。里氏代换原则中说,任何基类可以出现的地方,子类一定可以出现。LSP是继承复用的基石,只有当衍生类可以替换掉基类,软件单位的功能不受到影响时,基类才能真正被复用,而衍生类也能够在基类的基础上增加新的行为。里氏代换原则是对“开-闭”原则的补充。实现“开-闭”原则的关键步骤就是抽象化。而基类与子类的继承关系就是抽象化的具体实现,所以里氏代换原则是对实现抽象化的具体步骤的规范。—— From Baidu 百科 3、依赖倒转原则(Dependence Inversion Principle) 这个是开闭原则的基础,具体内容:真对接口编程,依赖于抽象而不依赖于具体。 4、接口隔离原则(Interface Segregation Principle) 这个原则的意思是:使用多个隔离的接口,比使用单个接口要好。还是一个降低类之间的耦合度的意思,从这儿我们看出,其实设计模式就是一个软件的设计思想,从大型软件架构出发,为了升级和维护方便。所以上文中多次出现:降低依赖,降低耦合。 5、迪米特法则(最少知道原则)(Demeter Principle) 为什么叫最少知道原则,就是说:一个实体应当尽量少的与其他实体之间发生相互作用,使得系统功能模块相对独立。 6、合成复用原则(Composite Reuse Principle) 原则是尽量使用合成/聚合的方式,而不是使用继承。 三、Java的23中设计模式 从这一块开始,我们详细介绍Java中23种设计模式的概念,应用场景等情况,并结合他们的特点及设计模式的原则进行分析。 1、工厂方法模式(Factory Method) 工厂方法模式分为三种:

USB电源适配器的电路保护方案

USB电源适配器的电路保护方案 -------AEM科技应用工程师郭田青 随着当今社会人们手中的手机、平板电脑等智能手持设备功能的不断升级强大,娱 乐和个性化的应用也使得设备的电池的续航能力成为其中的一个死角。现实生活中我们可 能经常会看到我们周边的朋友随身带个移动电源,没有随身电源就只能随时找地方对设备 充电了。因此电源适配器作为标配产品一直成了人们的必需品。 以苹果手机的USB电源适配等为代表的小型化适配器越来越受人亲睐,越来越多的电路元器件的SMD小型化封装让以往常见的电源充电器能够做到更加的小巧玲珑,集美观与便 携于一体。本文从内部电路重要的安规器件——保险丝的应用角度,说明AEM科技推出的创新型SMD 250VAC FUSE——MF2410系列适应潮流,如何布局在这类小尺寸 AC/DC电源适配器上的交流应用,并如何做到我们倡导的“该断时及时断,不该断是不能断,时时保障安全!”的要求呢。 作为一款UMF通用模块型保险丝,必须让工程师在设计初考虑满足下述要求。 一、结构上最大限度满足小尺寸电源适配器对器件的小体积要求 以USB power Adapter为例,在这个层面上,结构限制了内部元件的体积,例如硬币大小的PCB面积也让SMD元件成了工程师的首选。 图1 整体设计的PCB面积均如硬币大小,可以让外观做到迷你型。 作为安规元件的保险丝,MF2410通用模块保险丝满足了上面的小体积和SMD工艺的需求。相对于传统保险丝的尺寸,MF的体积小优势十分明显。 我们来看看市面上常用的几种保险丝尺寸大小比例:

表1 常见保险丝尺寸比较 MF2410 6.1mm 2.5mm 2.2mm 15.3mm 图2 可以看出MF 通用模块保险丝最大限度满足对体积的要求。 二、适合回流焊与波峰焊的SMT工艺 从生产工艺上讲,AEM 的MF保险丝材料与结构独具特点,这种SMT生产工艺不单省却了不少人工与辅材成本,根据我们对采用SMD fuse的客户原因调查,插件的引脚弯折加工导致fuse本体坏也是其中一种原因。 其次,由于电源电路插件的元件必不可少,因此生产工厂有采用波峰焊焊接的方式,保险丝需要承受波峰焊锡高温,与业界其它SMD陶瓷保险丝相比,AEM 的UMF通用模块式保险丝以环氧树脂为基体,电镀通孔的连接方式使熔丝与端头形成可靠的电连接和机械连接,不存在端头焊接受热脱帽现象,耐高温的能力突出。 图3 满足波峰焊、回流焊或手工焊的焊接工艺

深入浅出Java设计模式之适配器模式

通常,客户类(clients of class)通过类的接口访问它提供的服务。有时,现有的类(existing class)可以提供客户类的功能需要,但是它所提供的接口不一定是客户类所期望的。这是由于现有的接口太详细或者缺乏详细或接口的名称与客户类所查找的不同等诸多不同原因导致的。 在这种情况下,现有的接口需要转化(convert)为客户类期望的接口,这样保证了对现有类的重用。如果不进行这样的转化,客户类就不能利用现有类所提供的功能。 适配器模式(Adapter Pattern)可以完成这样的转化。适配器模式建议定义一个包装类,包装有不兼容接口的对象。这个包装类指的就是适配器(Adapter),它包装的对象就是适配者(Adaptee)。 适配器提供客户类需要的接口,适配器接口的实现是把客户类的请求转化为对适配者的相应接口的调用。换句话说:当客户类调用适配器的方法时,在适配器类的内部调用适配者类的方法,这个过程对客户类是透明的,客户类并不直接访问适配者类。因此,适配器可以使由于借口不兼容而不能交互的类可以一起工作(work together)。 在上面讨论的接口: (1)不是指在JAVA编程语言中接口的概念,虽然类的接口可以通过JAVA借扩来定义。 (2)不是指由窗体和GUI控件所组成的GUI应用程序的用户接口。 (3)而是指类所报漏的,被其他类调用的编程接口, 类适配器(Class Adapter)VS对象适配器(Object Adapter) 适配器总体上可以分为两类??类适配器(Class Adapter)VS对象适配器(Object Adapter) 类适配器: 类适配器是通过继承类适配者类(Adaptee Class)实现的,另外类适配器实现客户类所需要的接口。当客户对象调用适配器类方法的时候,适配器内部调用它所继承的适配者的方法。 对象适配器: 对象适配器包含一个适配器者的引用(reference),与类适配器相同,对象适配器也实现了客户类需要的接口。当客户对象调用对象适配器的方法的时候,对象适配器调它所包含的适配器者实例的适当方法。

笔记本电源适配器维修心得

前段时间教研室一个同学拜托我维修了一个笔记本电源,说下我的维修心得。 1、用工具撬开电源外壳(一般笔记本电源都是胶粘上的,没有用螺丝固定),取出屏蔽罩 跟电源。 2、观察电路有无明显坏掉部位,结果没有,测试保险管好着,上电,绿色指示灯不亮,说 明无输出电压,测量整流滤波电容两端电压为310V左右,与理论的√2倍220符合,说明整流电路没坏,断电,电容上电压仍然保持(310V相当危险,被电了一下,但没仔细分析,忽略了这一个非常关键的点,后边再说),观察主控芯片为KA3842,百度其PDF,测试各引脚,发现5脚与7脚短路,与实际不符,分析原因,百度电路原理图,如图下图所示(图片来自中电网),分析短路原因:芯片坏了或者外围电路短路,本人更希望是外围电路的问题,因为外围都是些电阻电容的东西,实验室有现成的不用去买。 短路原因罗列为:○15脚为地,7脚为电源,电容C5是否击穿,焊掉电容,测试电容好着。○2检测跟7脚相连的另一条电路(R2,二极管,与绕组34),放掉二极管的一端,测试二极管跟电阻发现没问题,再量5,7引脚仍然短路,初步判定为第三种情况。○3 KA3842坏了,没办法焊掉KA3842(焊掉两脚的电容比八脚芯片可容易得多,这是我希望是○1○2的另一个原因),再测果然是它坏了。 3、查出是KA3842的7脚5脚短路,分析其损坏原因,KA3842为一PWM输出芯片,百度 故障多出现7,5,6三脚短路,原因是MOS管6N60损坏(图中是7N60,本人维修的是6N60,电流6A,耐压600V),GD短路导致高压进入6脚,焊掉MOS管,测量MOS 管貌似好的(第一次测有点拿不准,后来事实证明确实没坏,测试方法为:看封装,123脚分别为GDS,用表笔将3个脚短路一下,万用表打到蜂鸣档,红黑表笔分别接S和D,测得有一个电阻,反接为断开;红笔接G,黑表笔接D,给G极一个电压,再次测量SD 发现两个都导通,最初导通的那个电阻减小差不多一半,证明管子好的。) 4、去电子市场买了KA3842,顺便问了一下有无6N60,店主说有7N60,我想7N60是7A, 600V可以替换,顺便也买了一个(前面说了第一次测有点拿不准,去一次电子市场不容易就顺便买了个,以防万一)。买回之后将3842与6N60都替换了,测量有无短路(非

适配器模式

学号: 系统分析与设计 实验报告 实验题目:实验三适配器模式 学生姓名: 学院:信息数理学院专业班级: 指导教师: 时间: 2018 年 5 月 11 日

OperationAdapter --sortObj searchObj : QuickSortClass : BinarySearchClass +++OperationAdapter ()Sort (int[] array)Search (int[] array, int key)... : int[]: int ScoreOperation ++Sort (int[] array)Search (int[] array, int key)... : int[]: int QuickSortClass ++++ QuickSort (int[] array) Sort (int[] array, int p, int r)Partition (int[] a, int p, int r)Swap (int[] a, int i, int j)... : int[]: void : int : void BinarySearchClass +BinarySearch (int[] array, int key)... : int Client 【实验目的】 掌握适配器模式的定义、结构及实现方式。 【实验内容】 在为某学校开发教务管理系统时,开发人员发现需要对学生成绩进行排序和查找,该系统的设计人员已经开发了一个成绩操作接口ScoreOperation ,在该接口中声明了排序方法Sort(int[]) 和查找方法Search(int[], int),为了提高排序和查找的效率,开发人员决定重用现有算法库中的快速排序算法类QuickSortClass 和二分查找算法类BinarySearchClass ,其中QuickSortClass 的QuickSort(int[])方法实现了快速排序,BinarySearchClass 的BinarySearch (int[], int)方法实现了二分查找。 由于某些原因,开发人员已经找不到该算法库的源代码,无法直接通过复制和粘贴操作来重用其中的代码;而且部分开发人员已经针对ScoreOperation 接口编程,如果再要求对该接口进行修改或要求大家直接使用QuickSortClass 类和BinarySearchClass 类将导致大量代码需要修改。 现使用适配器模式设计一个系统,在不修改已有代码的前提下将类QuickSortClass 和类BinarySearchClass 的相关方法适配到ScoreOperation 接口中。 REF 适配器模式包含以下3个角色: Target (目标抽象类) Adapter (适配器类) Adaptee (适配者类) //ScoreOperation.cs using System;

ListView和适配器-显示数据库数据

ListView显示数据库数据 ListView的2个关键点: 1、可自定义layout布局 2、可使用SimpleCursorAdapter适配器填充:(用于显示数据库数据)该适配器允许绑定一个Cursor的columns到ListView自定义的布局中的TextView或ImageView组件上。 创建SimpleCursorAdapter: 创建方法: String[ ] from = { "_id", "name", "age" }; int[ ] to = { R.id.txtID, R.id.txtName, R.id.txtAge }; SimpleCursorAdapter adapter = new SimpleCursorAdapter(this, https://www.wendangku.net/doc/0a2639722.html,yout.listview, cursor, from, to); //from:要显示的Cursor的列 //to:显示数据的组件id //this:上下文 //https://www.wendangku.net/doc/0a2639722.html,yout.listview:自定义的ListView布局 //cursor:select查询返回的cursor 特别注意:SimpleCursorAdapter要求返回的结果集cursor中必须包含_id字段,所以需要对取得结果集进行处理特殊处理一下。

主要代码: DBOpenHelper helper = new DBOpenHelper(getApplicationContext(), "test.db", null,1); SQLiteDatabase db=helper.getWritableDatabase(); Cursor cursor = db.rawQuery( "SELECT id as _id, name,age FROM person",null); String[] from = { "_id", "name", "age" }; int[] to = { R.id.txtID, R.id.txtName, R.id.txtAge }; SimpleCursorAdapter adapter = new SimpleCursorAdapter(this, https://www.wendangku.net/doc/0a2639722.html,yout.listview, cursor, from, to); //cursor.close(); //不能使用cursor.close(),否则SimpleCursorAdapter将不能从中读取数据显示ListView li=(ListView)findViewById(R.id.listView1); li.setAdapter(adapter); 关键点:如何得到选中行的id值以及其他字段值 ?首先获取ListView的选中行对象: AdapterView.AdapterContextMenuInfo info = (AdapterView.AdapterContextMenuInfo)item.getMenuInfo(); //item是onContextItemSelected方法中的参数(MenuItem) ?然后使用上面的info对象: ?info.id属性:获得SimpleCursorAdaptor中_id序号值(即

联想笔记本电脑电源适配器原理分析与检修

---------------------------------------------------------------最新资料推荐------------------------------------------------------ 联想笔记本电脑电源适配器原理分析与检修 该电源适配器(型号为 92P1107),输入电压为交流 1OOV~240V 市电;输出直流 20V;最大输出功率有 90W 和 65W 两种。 其核心控制芯片为贴片式脉宽调制集成电路(3843),该芯片内含振荡器、脉宽调制比较器、逻辑控制器;具有过流、欠压等保护控制功能;工作电压为 7V~34V;最高工作频率可达 500MHz;启动电流仅需 1mA。 该芯片的各引脚功能如下:①脚是内部误差放大器的输出端。 ②脚是反馈电压输入端,作为内部误差放大器的反相输入端,与同相输入端的基准电压(+2.5V)进行比较,产生误差控制电压,控制脉冲宽度。 ③脚为过流检测输入端,当该脚的电压高于 1V 时,禁止驱动脉冲的输出。 ④脚为 RT/CT 定时电阻和电容的公共接入端,用于产生锯齿振荡波。 ⑤脚为接地端。 ⑥脚为脉宽调制信号输出端。 ⑦脚为工作电压输入端(7V>Vi≤34V)。 ⑧脚为内部基准电压(VREF=5V)输出端。 根据实物绘制了其电路原理图如附图所示。 经比较,两种输出功率的电原理图完全相同,只是过流保护电 1/ 7

路取样电阻 R20~R23 的取值以及 20V 直流电压输出滤波电容C11 及 C12 的容量有所不同。 一、整流滤波电路交流市电经 1A 保险管 F1 及电容 C1 进入整流电路,BD1 全桥整流后,经主滤波电容 C7 滤波,在 C7 两端得到约 300V 的直流电压,作为适配器的工作电压。 该适配器的输入电路只有一个高频滤波电容 C1

软件设计模式(JAVA) 06_适配器模式_实验指导书

实验(上机)六适配器模式 实验(上机)目的 1、练习使用结构型设计模式; 2、练习使用适配器模式的设计思路; 3、练习使用适配器模式实现“教务学生成绩排序查找”案例的实现。 实验(上机)课时 2学时 实验(上机)环境 JDK1.8\Eclipse Mars 预备知识 1、结构型模式; 2、适配器模式概述; 3、适配器模式的结构与实现; 4、适配器模式的应用实例; 5、缺省适配器模式; 6、双向适配器模式; 7、适配器模式的优缺点与适用环境。 实验(上机)内容 在为某学校开发教务管理系统时,开发人员发现需要对学生成绩进行排序和查找,该系统的设计人员已经开发了一个成绩操作接口ScoreOperation,在该接口中声明了排序方法Sort(int[]) 和查找方法Search(int[], int),为了提高排序和查找的效率,开发人员决定重用现有算法库中的快速排序算法类QuickSortClass和二分查找算法类BinarySearchClass,其中QuickSortClass的QuickSort(int[])方法实现了快速排序,BinarySearchClass的BinarySearch (int[], int)方法实现了二分查找。 由于某些原因,开发人员已经找不到该算法库的源代码,无法直接通过复制和粘贴操作来重用其中的代码;而且部分开发人员已经针对ScoreOperation接口(自己开发的接口)编程,如果再要求对该接口进行修改或要求大家直接使用QuickSortClass类和BinarySearchClass类将导致大量代码需要修改。 现使用适配器模式设计一个系统,在不修改已有代码的前提下将类QuickSortClass 和类BinarySearchClass的相关方法适配到ScoreOperation接口中。 新建解决方案,新建一个控制台应用程序,编写适配器模式类实现代码,实现以上需求的案例,要求编写为控制台应用程序,并能调试运行。 实验(上机)步骤 1、本实例类图:

HART适配器说明书

HART-MODBUS智能转换器 (HART通道相互隔离) SM100-W使用说明书 嘉兴市松茂电子有限公司 目录 1、SM100-W智能转换器介绍 (2) 1.1产品简介 (2) 1.2产品特点 (2) 1.3主要参数 (2) 2、SM100-W智能转换器实物图及指示灯功能 (3) 2.1实物图 (3) 2.2产品选型 (3) 2.3接线图 (4) 2.4接线端口及型号标记介绍 (4) 2.5指示灯说明 (4) 3、配置软件功能介绍及操作步骤 (5) 3.1通讯连接 (5) 3.2配置以太网络参数 (7) 3.3系统参数界面功能介绍 (10) 3.4透明工作方式界面功能介绍 (11) 3.5MODBUS参数配置界面功能介绍 (12) 3.6用ModScan32测试软件读取数据 (13) 4、服务与保修 (14)

SM100-W HART智能转换器可通讯仪表(全部现场测试通过) 1)罗斯蒙特系列HART仪表 3300雷达液位计1700(2700)变送器8700系列电磁流量计 5400系列雷达液位计248型一休化温度变送器多变量变送器 1151系列压力变送器8800C涡街流量计 2)西门子系HART仪表 MG6000电磁流计FUS06超声波流量计FUS010超声波流量计 MASS6000质量流量计7ME5033气流量计7ME5034气流量计 HR02(FN34)料位计 3)科隆系列HART仪表 IF100电磁流量计IF300电磁流量计IF090电磁流量计OPTISWIRL4070流量计BM700雷达物位计VFC070气体流量计 UFC500流量计 4)ABB系列HART仪表 WateMasterFEX10流量计FEP300流量计2600T压力变送器 FEP300流量计FEH300流量计AM54转子流量计 5)E+H系列HART仪表 NMS53X系列流量计FMR53X系列物位计FMU40X系列料位计 PDM23X(26X)差压变送器FMR23X(24x)系列液位计Prowirl72质量流计 6)横河系列HART仪表 YOKOGAWA AX系列电磁流量计EJA系列压力变送器 7)其他类型HART仪表 LD301系列智能压力表MSP400R超声波液位变送器VT5000菲舍波特涡街流量计F56系列金属管浮子流计HT50系列金属管浮子流量计VAG雷达料位计 东芝电磁流计

通讯网络产品及其适配器市场分析分析

通讯网络产品及其适配器市场分析 2015年,国务院办公厅印发《关于加快高速宽带网络建设推进网络提速降费的指导意见》,预示着网络全面覆盖时代即将到来,这对设备商、制造商以及运营商等整个产业界来说绝对是一个利好消息。 《意见》指出,到2015年年底,95%以上的行政村通固定或移动宽带。建成4G基站超过130万个,用户超过3亿户,实现乡镇以上地区网络深度覆盖。到2017年年底,4G网络全面覆盖城市和农村,移动宽带人口普及率接近中等发达国家水平。 路由器、交换机、机顶盒、光猫等产品都是网络建设的重要组成部分。那么,当前这些产品的市场竞争格局怎样?与其配套的适配器市场竞争格局又是怎样?相信这是大部分磁性元件厂商都最想了解的资讯。对此,大比特记者通过整合所有权威数据,供大家参考。 路由器 整体路由器市场,据Global Industry Analysts(全球行业分析公司)发表的研究报告,2015年全球路由器市场的规模达到159亿美元。北美是全球最大的路由器市场,亚太地区是发展速度最快的路由器市场,服务提供商的路由器市场仍然是最大的和增长速度最快的最终应用市场。 市场调研机构Research and Markets则预计,到2020年全球以太网交换机和路由器市场的平均增速为4%。这种增长主力主要来源于不断加快的(云)数据中心的建设步伐。此外,运营商级以太网、企业和校园网同样有较大需求。 在国内家用路由器市场,权威数据显示,2014年底我国家用路由器保有量约1亿台左右,常用路由器型号超过1000款,其中使用TP-Link、MERCURY(水星)、Tenda(腾达)、FAST(迅捷)、华为HUAWEI、思科CISCO、H3C、网件NETGEAR、巴法络Buffalo、D-Link等十余个路由器品牌的用户超过95%。 而在《中国市场家用无线路由器品牌榜》排名中,TP-Link依旧稳居榜首,紧随其后的有D-Link、腾达、水星、华为、磊科、网件、中兴等。具体如下图:

适配器模式

适配器:基于现有类所提供的服务,向客户提供接口,以满足客户的期望 《Java设计模式》 类适配器 客户的开发人员定义了一个接口,期望用这个接口来完成整数的求和操作,接口定义如下: Java代码 1.public interface Operation{ 2. public int add(int a,int b); 3.} 开发人员在了解这个接口的定义后,发现一个第三方类,里面有一个方法能实现他们期望的功能,其代码如下: Java代码 1.public class OtherOperation{ 2. public int otherAdd(int a,int b){ 3. return a + b; 4. } 5.} 以上第三方类OtherOperation的方法public int otherAdd(int a,int b)所提供的功能,完全能符合客户的期望,所以只需要想办法把OtherOperation的otherAdd(int a,int b)和客户的Operation接口联系起来,让这个第三方类来为客户提供他们期望的服务就行了,这样就避免了开发人员再度去研究类似OtherOperation的otherAdd(int a,int b)方法的实现(利用已有的轮子,避免重复发明),这方法之一,就是用适配器模式: Java代码 1.public class AdapterOperation extends OtherOperation implements Operation{ 2. public int add(int a,int b){ 3. return otherAdd(a,b); 4. } 5.} 以上就是适配器的实现方法之一,类适配器,在以上实现中存在着三中角色分别是:

USB_CAN适配器采集方法

USB_CAN适配器采集方法(只支持带ESP的车辆) 一、软件安装 1、将光盘里的所有文件夹拷贝到电脑上(目前只支持Win2K WinXPWinVista Win7,x86 x64),并将USB_CAN适配器的USB端接到电 脑 2、右键点击‘计算机’,选择‘设备管理器’进入以下界面 3、右键点击‘未知设备’,选择‘更新驱动程序软件’进入以下界面 4、右键点击‘浏览计算机以查找驱动程序软件’进入以下界面

5、点击浏览选择“硬件驱动程序”后再点击下一步,完成后更新驱动 程序成功,软件安装完成。 二、CAN数据的采集 1、在‘VehicleCAN’文件夹里双击打开软件进入以下界面图 1.1

2、①非德系车:从汽车方向盘下方的OBD诊断接口取CAN总线,直接 对插OBD接头,并在以上界面的‘设备参数’栏中,选择波特率为500K, 然后点击连接,如图,最 后点击‘数据接收’栏中的‘接收’,如图,此时图1.1界面左边空白处会出现跳动的CAN数据,如下图1.2即连接成功。 图1.2 ②德系车:从汽车导航车机或空调面板后面取CAN总线,CAN线位置 可以参考厂家提供采集过的车型图片或按照查找CAN线方法来确定,波特率分别选择500K点击连接和接收,125K点击连接和接收,100K点击连接和接收,直到图1.1界面左边空白处出现跳动的CAN数据(如图1.2),则说明连接成功。 3、方向盘数据的采集:(汽车着火的状态下且方向盘居中位置),当左 边空白处出现跳动的CAN数据时,说明CAN设备已连接成功,在出现如图1.2时紧接着(迅速马上)方向盘从中间匀速往左缓慢打到底后停顿1-2s,然后匀速回正后停顿1-2s再往右缓慢打到底后停顿1-2s,最后方向盘匀速缓慢回到最中间; 4、完成以上操作后马上点击‘数据接收’栏中‘暂停’如下图所示

电源适配器拆解

电源适配器的拆解 笔记本电脑电源适配器的上下盖为注塑封装或是用强力胶粘合的,不用任何螺丝,所以一般只能借助暴力来破解。不过,只要方法得当,拆解后的电源适配器完全可以恢复原样,不仔细观察几乎看不出有拆开过的痕迹。 拆解工具:电工刀、锤子、螺丝刀、电烙铁、美工刀等。 把电源适配器横向侧放置在白纸上,用电工刀刀刃沿电源适配器上下盖之间的缝隙切入,然后用锤子敲击电工刀刀背(如图1),使电工刀从适配器上下盖之间切进去。在适配器上下盖之间的缝隙的不同位置,用电工刀的刀尖沿缝隙划动,当上下盖的某一部位首先裂开后,把刀尖深入,然后慢慢分开适配器的上下盖。 如图2为打开外壳的电源适配器,可以看到适配器电路外面包有铜质的屏蔽层,用美工刀割开屏蔽层上的胶带纸,再用电烙铁焊开屏蔽层与内部电路板连接的两个焊点(如图3),即可取下屏蔽层。

屏蔽层与电路板之间还隔有一层较厚的硬质塑料膜(如图4),再用美工刀割开后,即可见到电路板的“庐 山真面目”了(如图5)。 图5电源适配器结构剖析 接下去,我们来了解一下电源适配器的内部构造。图6为电源适配器内部“特写”,电路主要部件都已用圆圈标出,部件名称及功能如下: 图6 1. 压敏电阻,其功能是当外界电压过高时,压敏电阻阻值迅速变得很小,与压敏电阻串联的保险丝被熔断,从而保护其他电路不被烧坏。 2. 保险丝,规格为2.5A/250V,当电路中的电流过大时,保险丝会熔断以保护其他元件。 3. 电感线圈(又称扼流圈),主要功能是降低电磁干扰。 4. 整流桥,规格为D3SB,作用是把220V交流电变为直流电。 5. 滤波电容,规格为180μF/400V,作用是滤除直流电中的交流纹波,使电路工作更可靠。

相关文档
相关文档 最新文档