第八章-网络与数据通信技术总结优秀PPT.ppt

上传人:1398****507 文档编号:57961711 上传时间:2022-11-06 格式:PPT 页数:59 大小:1.29MB
返回 下载 相关 举报
第八章-网络与数据通信技术总结优秀PPT.ppt_第1页
第1页 / 共59页
第八章-网络与数据通信技术总结优秀PPT.ppt_第2页
第2页 / 共59页
点击查看更多>>
资源描述

《第八章-网络与数据通信技术总结优秀PPT.ppt》由会员分享,可在线阅读,更多相关《第八章-网络与数据通信技术总结优秀PPT.ppt(59页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、第八章 网络与数据通信技术俞成海俞成海教学任务与目标教学任务USB编程Wi-Fi编程蓝牙编程Socket实现技术HTTP协议通信实现技术教学重点蓝牙编程Socket实现技术USB 编程两种模式来支持AndroidUSB外设:USB外设模式和USB主机模式在USB外设模式下,外部USB硬件(装有Android的设备要连接的外部设备)充当USB主机。外设的例子包括机器人、扩展插座、诊断和音乐设备、电子报亭、读卡器等其他设备,这种模式赐予不具备主机功能的Android设备以与USB硬件交互的能力。在USB主机模式下,装有Android的设备扮演着主机的角色。这种设备的例子包括数码像机,键盘,鼠标和游

2、戏手柄。那些适应面很广的USB设备仍可以与Android应用交互,前提是这些Android应用可以正确的与这些设备通讯。:/developer.android /guide/topics/usb/index.html USB主机模式常用的类:UsbManager:允许您枚举已连接的USB设备并且与其进行“沟通”。UsbDevice:代表了一个已连接的USB的设备并且包含具有该设备验证信息,接口和接口点的方法。UsbInterface:代表了一个USB设备的一个接口,该接口定义了一系列关于设备的函数。一个设备在进行“沟通”的时候可以有一个或者多个接口UsbEndpoint:代表一个接口的接口点,

3、该接口点就是这个接口的通信信道。一个接口可以有一个或者多个这样的接口点,而且一般都是有输入和输出双向通信的接口点。UsbDeviceConnection:代表该设备的一个连接,用来在接点上传输数据。这个类允许您能用同步或者异步的方式发送和返回数据。UsbRequest:在通过UsbDeviceConnection和设备进行“沟通”的一个异步恳求。UsbConstants:关于在linux内核中linux/usb/ch9.h的相关定义的USB常量运用步骤(见附件)为了让应用可以发觉一个USB设备,须要android.hardware.usb.action.USB_DEVICE_ATTACHED这

4、个意图指定一个意图来进行过滤获得USB信息UsbManagermanager=(UsbManager)getSystemService(Context.USB_SERVICE);HashMapdeviceList=manager.getDeviceList();UsbDevicedevice=deviceList.get(deviceName);和设备通信UsbInterfaceintf=device.getInterface(0);UsbEndpointendpoint=intf.getEndpoint(0);UsbDeviceConnectionconnection=manager.ope

5、nDevice(device);connection.claimInterface(intf,true);connection.bulkTransfer(endpoint,bytes,bytes.length,0);终止通信当你完成数据的传输或者你的设备已拔出时,通过调用releaseInterface()和close()来关闭接口和连接。Wi-Fi 编程ConnectivityManagerNetworkInfo mWiFiNetworkInfo=mConnectivityManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI)常见操作主要包

6、括以下及各类和接口:1、WifiManager 供应了管理WiFi连接的大部分API,主要包括如下内容:查看已经配置好的网络清单,而且可以修改个别记录的属性。可以建立或是关闭WiFi网络连接,并且可以查询有关网络状态的动态信息。对接入点的扫描结果包含足够的信息来确定须要与什么接入点建立连接。同时还定义了很多常量来表示WiFi状态的变更。常用的方法:getWiFiState,isWifiEnabled,setWifiEnabled,startScan,getScanResults等等基于Android的WiFi相关库函数WiFi相关库函数常见操作主要包括以下及各类和接口:常见操作主要包括以下及各

7、类和接口:2、WifiConfigurationWiFi网络的配置,包括平安配置等。网络的配置,包括平安配置等。3.WifiInfoWiFi无线连接的描述,包括接入点、网络连接状态、隐藏的接无线连接的描述,包括接入点、网络连接状态、隐藏的接入点,入点,ip地址、连接速度、地址、连接速度、mac地址、网络地址、网络id,信号强度等信信号强度等信息。息。4.ScanResult主要用来描述已经检测出的接入点,包括接入点的地址、接入主要用来描述已经检测出的接入点,包括接入点的地址、接入点的名称、身份认证、频率、信号强度等信息。点的名称、身份认证、频率、信号强度等信息。找到四周AP的关键步骤检测网卡状

8、态,修改网卡状态检测网卡状态,修改网卡状态开启,进行扫描四周开启,进行扫描四周ap,打印结果打印结果class ListWifiListerner implements OnClickListenerOverride public void onClick(View v)wifiManager=(WifiManager)WifiActivity.this.getSystemService(Context.WIFI_SERVICE);wifiManager.startScan();mWifiList=wifiManager.getScanResults();for(int i=0;imWifiL

9、ist.size();i+)sb.append(new Integer(i).toString()+.);sb.append(mWifiList.get(i).toString();sb.append(n);mainText.setText(sb);sb.delete(0,sb.capacity();蓝牙编程,运用蓝牙进行设备通信,主要包含四个部分:蓝牙设置、搜寻设备、连接、传输数据BluetoothAdapter代表本地蓝牙适配器(蓝牙放射器),是全部蓝牙交互的入。通过它可以搜寻其它蓝牙设备,查询已经配对的设备列表,通过已知的MAC地址创建BluetoothDevice,创建Bluetoot

10、hServerSocket监听来自其它设备的通信。BluetoothDevice代表了一个远端的蓝牙设备,运用它恳求远端蓝牙设备连接或者获得远端蓝牙设备的名称、地址、种类和绑定状态。BluetoothSocket代表了一个蓝牙套接字的接,是应用程序通过输、输出流与其他蓝牙设备通信的连接点。BluetoothServerSocket代表打开服务连接来监听可能到来的连接恳求(属于server端),为了连接两个蓝牙设备必需有一个设备作为服务器打开一个服务套接字。BluetoothClass描述了一个设备的特性(profile)或该设备上的蓝牙一样可以供应哪些服务(service),但不行信。比如,设

11、备是一个电话、计算机或手持设备;设备可以供应audio/telephony服务等。可以用它来进行一些UI上的提示。BluetoothHeadset供应手机运用蓝牙耳机的支持。这既包括蓝牙耳机和免提(V1.5)模式。BluetoothA2dp定义高品质的音频,可以从一个设备传输到另一个蓝牙连接。“A2DP的”代表高级音频安排模式。BluetoothHealth代表了医疗设备配置代理限制的蓝牙服务BluetoothHealthCallback一个抽象类,运用实现BluetoothHealth回调。你必需扩展这个类并实现回调方法接收更新应用程序的注册状态和蓝牙通道状态的变更。BluetoothHea

12、lthAppConfiguration代表一个应用程序的配置,蓝牙医疗第三方应用注册与远程蓝牙医疗设备沟通。BluetoothProfile.ServiceListener当他们已经连接到或从服务断开时通知BluetoothProfileIPX的客户时一个接(即运行一个特定的配置文件,内部服务)。BlueTooth运用至少要在AndroidManifest.xml中声明两个权限:BLUETOOTH和BLUETOOTH_ADMIN获得BluetoothAdapter打开蓝牙:通过isEnabled()来检查蓝牙当前是否可用。假如这个方法返回false,则蓝牙不能够运用。为了恳求蓝牙运用,呼叫st

13、artActivityForResult()与的ACTION_REQUEST_ENABLE动作意图获得BluetoothAdapter查找匹配设备扫描设备起先搜寻设备,调用startDiscovery()。该函数是异步的,调用后马上返回,返回值表示搜寻是否成功起先。应用中可以注册一个带ACTION_FOUNDIntent的BroadcastReceiver,搜寻到每一个设备时都接收到消息。Intent携带着而外的字段信息EXTRA_DEVICE和EXTRA_CLASS,分别包含一个BluetoothDevice和一个BluetoothClass。运用cancelDiscovery()来停止搜寻

14、使能被发觉假如想让本地设备被其他设备发觉,可以带ACTION_REQUEST_DISCOVERABLEactionIntent调用startActivityForResult(Intent,int)方法作为服务器连接通过持有个打开的BluetoothServerSocket对象。服务器socket的作用是侦听进来的连接,假如一个连接被接受,供应一个连接好的BluetoothSocket对象。建立服务器socket和接收一个连接的基本步骤1.通过调用listenUsingRfcommWithServiceRecord(String,UUID)得到一个BluetoothServerSocket对象

15、,当客户端试图连接本设备,它将携带一个UUID用来唯一标识它要连接的服务,UUID必需匹配,连接才会被接受。2.通过调用accept()来侦听连接恳求。这是一个堵塞的调用,直到有连接进来或者产生异样才会返回。只有远程设备发送一个连接恳求,并且携带的UUID与侦听它socket注册的UUID匹配,连接恳求才会被接受。假如成功,accept()将返回一个连接好的BluetoothSocket对象。3.除非须要再接收另外的连接,否则的话调用close()。close()释放serversocket和它的资源,但不会关闭连接accept()返回的连接好的BluetoothSocket对象。作为客户端连

16、接1.用BluetoothDevice调用createRfcommSocketToServiceRecord(UUID)获得一个BluetoothSocket对象。这个初始化的BluetoothSocket会连接到BluetoothDevice。2.调用connect()完成连接当调用这个方法的时候,系统会在远程设备上完成一个SDP查找来匹配UUID。假如查找成功并且远程设备接受连接,就共享RFCOMM信道,connect()会返回。这也是一个堵塞的调用,不管连接失败还是超时(12秒)都会抛出异样。管理连接假如已经连接了两个设备,他们都已经拥有各自的连接好的BluetoothSocket对象。

17、可以在设备间共享数据了。运用BluetoothSocket,传输任何数据通常来说都很简洁了:1.通过socket获得输入输出流来处理传输(分别运用getInputStream()和getOutputStream())。2.用read(byte)和write(byte)来实现读写。基于Socket网络编程Socket网络通信的组成元素服务器,主要功能:侦听连接、接收连接、接收数据和向客户端发送数据。客户端,主要功能:发起连接、接收数据和向服务器发送数据Socket网络通信的基本原理IP地址:主机标识端 口:服务类型Socket =IP(address)+Port(server)Java-Inte

18、rnet语言语言具备强大网络通信功能具备强大网络通信功能基于套接字(Socket)通信方式流套接字TCP协议协议(Transmission Control Protocol)UDP协议协议(User Datagram Protocol)数据报套接字基于Socket网络通信方式主要运用类 Java的Socket属于流式套接字通信,接受TCP协议,供应面对连接的服务,实现牢靠的通信。J供应两个类,实现Socke通信:ServerSocket-服务器端Socket-客户端通 操作TCP 套接字的发送和接收须要借助java.io包的 InputStream /OutputStream 完成,分别通过方

19、法实现:Socket.getInputStream()/Socket.getOutputStream()Socket/ServerSocket构造函数Socket()通过系统默认类型的通过系统默认类型的 SocketImpl 创建未连接套接字创建未连接套接字 Socket(InetAddressaddress,intport)创建一个流套接字并将其连接到指定创建一个流套接字并将其连接到指定 IP 地址的指定端口号地址的指定端口号Socket(InetAddressaddress,intport,InetAddresslocalAddr,intlocalPort)创建一个套接字并将其连接到指定远

20、程端口上的指定远程地址创建一个套接字并将其连接到指定远程端口上的指定远程地址 Socket(Stringhost,intport)创建一个流套接字并将其连接到指定主机上的指定端口号创建一个流套接字并将其连接到指定主机上的指定端口号Socket(Stringhost,intport,InetAddresslocalAddr,intlocalPort)创建一个套接字并将其连接到指定远程主机上的指定远程端口创建一个套接字并将其连接到指定远程主机上的指定远程端口ServerSocket()创建非绑定服务器套接字创建非绑定服务器套接字 ServerSocket(int port)创建绑定到特定端口的服务

21、器套接字创建绑定到特定端口的服务器套接字 ServerSocket(int port,int backlog)利用指定的利用指定的 backlog 创建服务器套接字并将其绑定到指定的本地端口号创建服务器套接字并将其绑定到指定的本地端口号 ServerSocket(int port,int backlog,InetAddress bindAddr)运用指定的端口、侦听运用指定的端口、侦听 backlog 和要绑定到的本地和要绑定到的本地 IP 地址创建服务器地址创建服务器 Socket/ServerSocket主要方法Socke通信机制OutputStream获得获得Socket对象输出流对象输

22、出流建立Socket连接通过流传输数据服务端联结成功联结成功获得已连接的获得已连接的Socket对象对象Socket(host,port)Socket(host,port)创建创建Socket对象对象向指定主机端口发出连接请求向指定主机端口发出连接请求客户端Socket对象ServerSocket对象InputStream获得获得Socket对象输入流对象输入流申请连接ServiceSocket.close()停止提供停止提供TCP连接服务连接服务一个一个ServerSocket对象和一个对象和一个Socket对象对象一个一个Socket对象对象Socket.close()关闭关闭TCP连接连

23、接ServerSocket(port)创建创建ServiceSocke对象对象,提供提供TCP连接服务连接服务accept()在指定的端口监听客户端请求联结创建在指定的端口监听客户端请求联结创建InputStream获得获得Socket对象输入流对象输入流Socket.close()关闭关闭TCP连接连接OutputStream获得获得Socket对象输出流对象输出流ServerSocket对象访问监听Socke通信机制Server端Client端service=ServerSocket(port_number)创建创建service对象对象,以以TCP服务实现端口监听服务实现端口监听sock

24、et=ServerSocket.accept()创建创建socke对象对象,接收用户访问恳求接收用户访问恳求Socket=Socket(port_number)创建创建socke对象,建立连接,发送对象,建立连接,发送访问恳求访问恳求InputStream Socket对象输入流OutputStream Socket对象输出流通过socke对象实现与Client端数据传输OutputStream Socket对象输出流InputStream Socket对象输入流通过socke对象,实现与Servert端数据传输socket.close()关闭Socke关闭结束与Client端的连接servi

25、ce.close()关闭监听程序socket.close()关闭Socke结束与Server端的连接(1)建立连接(2)数据通讯(3)拆除连接客户端开启INTERNET布局界面(Main.xml)获得资源(EditText,Button,TextView)Socket通信数据读写(DataInputStream/DataOutputStream)客户端主要代码:public void onClick(View v)Socket s=null;DataOutputStream dout=null;DataInputStream din=null;if(v=button1)/点击的是按钮try s

26、=new Socket(192.168.9.102,8888);/连接服务器dout=new DataOutputStream(s.getOutputStream();/得到输出流 din=new DataInputStream(s.getInputStream();/得到输入流dout.writeUTF(editText.getText().toString();/向服务器发送消息textView.setText(服务器发来的消息:+din.readUTF();/接收服务器发来的消息 catch(Exception e)e.printStackTrace();/打印异样信息 finally

27、tryif(dout!=null)dout.close();/关闭输入流if(din!=null)din.close();/关闭输入流if(s!=null)s.close();/关闭Socket连接catch(Exception e)e.printStackTrace();/打印异样信息服务器(例子)ServerSocketAcceptDataInputStream/DataOutputStreamRead/Write服务器端主要代码:ServerSocket ss=null;/ServerSocket的引用Socket s=null;/Socket的引用DataInputStream din

28、=null;DataOutputStream dout=null;tryss=new ServerSocket(8888);/监听到8888端口System.out.println(已监听到8888端口!);catch(Exception e)e.printStackTrace();/打印异样信息while(true)trys=ss.accept();/等待客户端连接din=new DataInputStream(s.getInputStream();dout=new DataOutputStream(s.getOutputStream();/得到输入输出流String msg=din.rea

29、dUTF();/读一个字符串System.out.println(ip:+s.getInetAddress();/打印客户端IPSystem.out.println(msg:+msg);/打印客户端发来的消息System.out.println(=);dout.writeUTF(Hello Client!);/向客户端发送消息catch(Exception e)e.printStackTrace();/打印异样信息基于HTTP协议的网络编程统一资源定位器URL:URL(Uniform Resource Locator)是一样资源定位器的简称,它表示Internet上某一资源的地址。通过URL我

30、们可以访问Internet上的各种网络资源,比如最常见的WWW,FTP站点。阅读器通过解析给定的URL可以在网络上查找相应的文件或其他资源。URL的组成协议名(protocol)指明获得资源所运用的传输协议,如 、ftp、gropher、file等,资源名(resourceName)则应当是资源的完整地址,包括主机名、端口号、文件名或文件内部的一个引用。例如::/sun /协议名:/主机名 :/scape /home/welcome.html 协议名:/机器名文件名 :/gamelan :80/Gamelan/network.html#BOTTOM 协议名:/机器名端口号文件名内部引用.创建一

31、个创建一个URL为了表示为了表示URL,中实现了类中实现了类URL。我们可以通过下面的构造方法来初。我们可以通过下面的构造方法来初始化一个始化一个URL对象对象:(1)public URL(String spec);(2)public URL(URL context,String spec);(3)public URL(String protocol,String host,String file);(4)public URL(String protocol,String host,int port,String file);解析一个解析一个URL一个一个URL对象生成后,其属性是不能被变更的

32、,但是我们可以通过类对象生成后,其属性是不能被变更的,但是我们可以通过类URL所供所供应的方法来获得这些属性应的方法来获得这些属性 从从URL读取读取WWW网络资源网络资源当我们得到一个当我们得到一个URL对象后,就可以通过它读取指定的对象后,就可以通过它读取指定的WWW资源。资源。通过通过HttpURLConnetction连接连接WWW 通过通过URL的方法的方法openStream(),我们只能从网络上,我们只能从网络上读取数据,假如我们同时还想输出数据,例如向服务器端读取数据,假如我们同时还想输出数据,例如向服务器端的的CGI程序发送一些数据,我们必需先与程序发送一些数据,我们必需先与

33、URL建立连接,建立连接,然后才能对其进行读写,这时就要用到类然后才能对其进行读写,这时就要用到类URLConnection了。了。CGI是公共网关接口(是公共网关接口(Common Gateway Interface)的简称,它是用户阅读器和服务器)的简称,它是用户阅读器和服务器端的应用程序进行连接的接口,有关端的应用程序进行连接的接口,有关CGI程序设计,请读程序设计,请读者参考有关书籍。者参考有关书籍。类类HttpURLConnetction也在包也在包中定义,它中定义,它表示表示Java程序和程序和URL在网络上的通信连接。当与一个在网络上的通信连接。当与一个URL建立连接时,首先要在

34、一个建立连接时,首先要在一个URL对象上通过方法对象上通过方法openConnection()生成对应的生成对应的HttpURLConnetction对象。假如连接过程对象。假如连接过程失败,将产生失败,将产生IOException.HttpURLConnection ucon=null;BufferedReader reader=null;StringBuilder bab=null;try URL myURL=new URL(:/localhost/test.html);/初始化URL ucon=(HttpURLConnection)myURL.openConnection();/打开连接

35、 ucon.setRequestMethod(GET);ucon.connect();reader=new BufferedReader(new InputStreamReader(ucon.getInputStream(),gb2312);/得到输入流 String currentline;bab=new StringBuilder();while(currentline=reader.readLine()!=null)bab.append(currentline);/将收到的信息添加到StringBuilder中 bab.append(rn);jsonstring=bab.toString

36、();catch(Exception e)e.printStackTrace();/打印异样信息 finally try if(reader!=null)reader.close();catch(IOException e)e.printStackTrace();What is JSONJavaScript Object Notation轻量级的数据交换格式轻量级的数据交换格式描述数据的格式描述数据的格式轻量级(格式简洁,一个页面的官网)轻量级(格式简洁,一个页面的官网)易于人阅读和编写易于人阅读和编写易于机器解析和生成易于机器解析和生成独立于语言文本格式独立于语言文本格式运用场景早期是网页阅

37、读器与Web服务器之间交互数据的格式与XML一起作为Ajax返回的两种主要格式由于其轻量级的缘由,渐渐成为主流的数据交换格式对象对象无序的“名称/值对”集合一个对象以“”(左括号)起先,“”(右括号)结束每个“名称”后跟一个“:”(冒号),再后跟着值,构成一个“名称/值对”每个“名称/值对”之间用“,”(逗号)分隔例如:name:LiLei,Gender:male,age:35数组数组有序的值的集合一个数组以“”(左中括号)起先,“”(右中括号)结束值之间运用“,”(逗号)分隔例如:1,2,3,4,5,6,7,8,9A,B,C,D值值的类型字符串数值truefalsenull对象数组字符串数值

38、JSON 数据解析解析JSON数据时,首先须要明确待解析的是JSONObject还是JSONArray,然后再解析JSONObject,name为名称,Lili是name的值,将name和Lili用“:”隔开,其文本形如:name:Lili/新建JSONObject,jsonString字符串中为上面的JSON对象的文本JSONObjectdemoJson=newJSONObject(jsonString);/获得name名称对应的值Strings=demoJson.getString(name);解析JSONArray一个简洁的JSONArray,number为数组名称,1,2,3为数组的内

39、容,其JSON文本表示如:number:1,2,3/新建JSONObject 对象,将jsonString 字符串转换为JSONObject 对象/jsonString 字符串为上面的文本JSONObject demoJson=new JSONObject(jsonString);/获得number 对应的数组JSONArray numberList=demoJson.getJSONArray(number);/分别获得numberList 中的每个值for(int i=0;inumberList.length();i+)/因为数组中的类型为int,所以为getInt,其他getString、

40、getLong 具有类似的用法System.out.println(numberList.getInt(i);运用Volley框架目的:图像缓存,恳求的调度特点自动调度网络恳求多个并发的网络连接通过运用标准的HTTP缓存机制保持磁盘和内存响应的一样支持恳求优先级支持取消恳求的强大API,可以取消单个恳求或多个易于定制健壮性:便于正确的更新UI和获得数据包含调试和追踪工具Volley运用下载Volley构建一个RequestQueueRequestQueue requestQueue=Volley.newRequestQueue(this);/这里的this指的是Context创建一个Reque

41、stprivate final String url=:/xxxxx/所需url JsonObjectRequest req=new JsonObjectRequest(url,null,new Response.Listener()Override public void onResponse(JsonObject response),new ResponseError.Listener()Override public void onResponseError(VollerError error);将req添加到requestQueueGson运用下载,放入libs书目/name:name

42、0,age:0Person person=gson.fromJson(str,Person.class);/name:name0,age:0,name:name1,age:5,name:name2,age:10List ps=gson.fromJson(str,new TypeTokenList().getType();实例运用糯米团的api接口:/apistore.baidu/apiworks/servicedetail/508.html分析 errno:0,msg:success,deals:deal_id:11078851,image:*,tiny_image:*,title:漫火锅,m

43、in_title:漫火锅100元代金券,description:王府井店100元代金券!可叠加运用,节假日通用,供应免费WiFi!,market_price:10000,current_price:9000,promotion_price:9000,sale_num:1159,score:4.85,comment_num:26,deal_url:*,deal_murl:*,public class contentbean String deal_id;String image;String tiny_image;String title;String min_title;String desc

44、ription;float market_price;float current_price;float promotion_price;int sale_num;float score;int comment_num;String deal_url;String deal_murl;JSONprivate final String url=:/apis.baidu /baidunuomi/openapi/shopdeals?shop_id=1745896;/糯米网private final String apikey=3609a18abc8477034e673051a9f36da1;Main

45、LayoutItemLayoutlistview=(ListView)findViewById(R.id.listview);adapter=new SimpleAdapter(this,list,R.layout.myitem,new String tiny_image,title,describle,new int R.id.item_img,R.id.item_title,R.id.item_describle);listview.setAdapter(adapter);初始化列表初始化队列requestQueue=Volley.newRequestQueue(this);JsonObj

46、ectRequest req=new JsonObjectRequest(url,null,listener,new Response.ErrorListener()Overridepublic void onErrorResponse(VolleyError arg0)Overridepublic Map getHeaders()throws AuthFailureError Map map=new HashMap();map.put(apikey,apikey);return map;创建恳求对象加入队列requestQueue.add(req);listener=new Listener

47、()Overridepublic void onResponse(JSONObject response)try List templist=new ArrayList();templist=gson.fromJson(response.getString(deals),new TypeTokenList().getType();list.clear();for(int i=0;i templist.size();i+)HashMap hash=new HashMap();contentbean cn=templist.get(i);hash.put(tiny_image,R.drawable.ic_launcher);hash.put(title,cn.getTitle();hash.put(describle,cn.getDescription();list.add(hash);adapter.notifyDataSetChanged();catch(JSONException e)e.printStackTrace();

展开阅读全文
相关资源
相关搜索

当前位置:首页 > pptx模板 > 商业计划书

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁