当前位置:  编程技术>移动开发
本页文章导读:
    ▪MATLAB中实现网页访问效能-urlread()函数        MATLAB中实现网页访问功能--urlread()函数偶尔在网上看到matlab中怎么访问网页这个话题,在百度里搜了一下,这方面的回答比较少。所以就想研究一下到底是怎么个回事。下面把实现过程记.........
    ▪ STM8S IO位操作定义轨范        STM8S IO位操作定义规范 #ifndef _TYPEDEFINE_H_ #define _TYPEDEFINE_H_ // 定义芯片类型 #define STM8S903 //#define STM8S103 //=============== I/O位定义 ============ //== INPUT === //---- PA ----- #define PA_IN PA_IDR _Bool PA1.........
    ▪ 实现铺展列ExpandableListView的三种方式之SimpleExpandableListAdapter实例       实现展开列ExpandableListView的三种方式之SimpleExpandableListAdapter实例实现可扩展展开列ExpandableListView的三种方式   一是使用SimpleExpandableListAdpater将两个List集合包装成ExpandableListView  二是 扩展Base.........

[1]MATLAB中实现网页访问效能-urlread()函数
    来源: 互联网  发布时间: 2014-02-18
MATLAB中实现网页访问功能--urlread()函数
偶尔在网上看到matlab中怎么访问网页这个话题,在百度里搜了一下,这方面的回答比较少。所以就想研究一下到底是怎么个回事。下面把实现过程记录如下。

在实现怎么访问网页之前,先来解决一个问题。就是怎么使得网页中的中文不以乱码的形式出现在显示器上?老外的东西,就是麻烦,总是要解决类似的以为语言的不同所带来的问题。我使用的是MATLABR2008a版本的,其实都大同小异,具体情况具体分析。

因此,我们需要修改matlab中的urlread()函数,因为在matlab中是使用urlread()函数来解析网站的内容的。我们需要在urlread()函数中增加一个参数来解决访问中文网站显示乱码的问题。

然后使用regexp()正则函数对访问的网站信息进行匹配提取。   

下面给出具体的修改步骤:

1、在matlab中输入命令行edit urlread 打开urlread.m文件。我们需要对该文件进行修改。

2、了解该文件的参数情况:

	function [output,status] = urlread(urlChar,method,params);
表明该文件有三个参数。那么我们要实现中文解析功能就要增加一个参数webencoding修改如下:

	function [output,status] = urlread(urlChar,method,params,webencoding);
然后在function后面添加一个语法兼容语句如下

function [output,status] = urlread(urlChar,method,params,webencoding);%%%%%%%%%%%%新添加了参数webencoding
%%%%%%%%%%%%%%%%%下面的if语句为新添加的语句
if nargin<4;
    webencoding='UTF-8';
end
3、因为我们刚才增减了一个参数,所以要修改参数数量检验语句,大概在41行左右

把error(nargchk(1,3,nargin))改成error(nargchk(1,4,nargin))即可。

4、修改文件尾部的数据转换语句

原语句:

output = native2unicode(typecast(byteArrayOutputStream.toByteArray','uint8'),'UTF-8');

修改后:

output = native2unicode(typecast(byteArrayOutputStream.toByteArray','uint8'),webencoding);  

即把'UTF-8'改为webencoding

5、语法调用函数解析

U=urlread('http://wenku.baidu.com/edu/index','get','','GBK');

第一个是网页地址参数,第二个是get或是post;第三个则是要向网页传递的参数,详细见help文档;第四个为我们增加的解析参数。

原文件修改完成并保存后,接下来就是写调用函数了。具体实现如下:

%下面以提取百度文库文档列表名称为例
clc
clear all
U=urlread('http://wenku.baidu.com/edu/index','get','','GBK'); %此函数修改过,解决访问网页中文乱码问题
%修改方法参照http://s020700640.blog.hexun.com/81301584_d.html
expr1 = '/view/'; %获取下载链接
num= regexp(U, expr1,'end');%正则函数
num(26)=num(25)+500;
for i=1:length(num)-1
    b=U(num(i):num(i+1));
    expr2 = 'title="'; %获取下载链接
    num1= regexp(b, expr2,'end');%正则函数
    expr3 = '>'; %获取下载链接
    num2= regexp(b, expr3,'end');%正则函数
    b(num1(1)+1:num2(1)-1)
end









    
[2] STM8S IO位操作定义轨范
    来源: 互联网  发布时间: 2014-02-18
STM8S IO位操作定义规范
#ifndef _TYPEDEFINE_H_
#define _TYPEDEFINE_H_


// 定义芯片类型
#define STM8S903
//#define	STM8S103
 
//===============   I/O位定义  ============
//== INPUT ===
//---- PA -----
#define  PA_IN		PA_IDR
 _Bool   PA1_IN   @PA_IDR:1; 
 _Bool   PA2_IN   @PA_IDR:2; 
 _Bool   PA3_IN   @PA_IDR:3; 
 
//---- PB -----
#define  PB_IN		PB_IDR
 _Bool   PB0_IN   @PB_IDR:0; 
 _Bool   PB1_IN   @PB_IDR:1; 
 _Bool   PB2_IN   @PB_IDR:2; 
 _Bool   PB3_IN   @PB_IDR:3; 
 _Bool   PB4_IN   @PB_IDR:4;  
 _Bool   PB5_IN   @PB_IDR:5; 
 _Bool   PB6_IN   @PB_IDR:6; 
 _Bool   PB7_IN   @PB_IDR:7; 
 
//---- PC -----
#define  PC_IN		PC_IDR
 _Bool   PC0_IN   @PC_IDR:0; 
 _Bool   PC1_IN   @PC_IDR:1; 
 _Bool   PC2_IN   @PC_IDR:2; 
 _Bool   PC3_IN   @PC_IDR:3; 
 _Bool   PC4_IN   @PC_IDR:4;  
 _Bool   PC5_IN   @PC_IDR:5; 
 _Bool   PC6_IN   @PC_IDR:6; 
 _Bool   PC7_IN   @PC_IDR:7;  

//---- PD -----
#define  PD_IN		PD_IDR
 _Bool   PD0_IN   @PD_IDR:0; 
 _Bool   PD1_IN   @PD_IDR:1; 
 _Bool   PD2_IN   @PD_IDR:2; 
 _Bool   PD3_IN   @PD_IDR:3; 
 _Bool   PD4_IN   @PD_IDR:4;  
 _Bool   PD5_IN   @PD_IDR:5; 
 _Bool   PD6_IN   @PD_IDR:6; 
 _Bool   PD7_IN   @PD_IDR:7; 
 
//---- PE -----
#define  PE_IN		PE_IDR
 _Bool   PE5_IN  @PE_IDR:5; 

//---- PF -----
#define  PF_IN		PF_IDR
 _Bool   PF4_IN  @PF_IDR:4; 
 
//==  OUTPUT ===
//---- PA -----
#define  PA_OUT		 PA_ODR
 _Bool   PA1_OUT   @PA_ODR:1; 
 _Bool   PA2_OUT   @PA_ODR:2; 
 _Bool   PA3_OUT   @PA_ODR:3; 
 
//---- PB -----
#define  PB_OUT		 PB_ODR
 _Bool   PB0_OUT   @PB_ODR:0; 
 _Bool   PB1_OUT   @PB_ODR:1; 
 _Bool   PB2_OUT   @PB_ODR:2; 
 _Bool   PB3_OUT   @PB_ODR:3; 
 _Bool   PB4_OUT   @PB_ODR:4;  
 _Bool   PB5_OUT   @PB_ODR:5; 
 _Bool   PB6_OUT   @PB_ODR:6; 
 _Bool   PB7_OUT   @PB_ODR:7; 
 
//---- PC -----
#define  PC_OUT		 PC_ODR
 _Bool   PC1_OUT  @PC_ODR:1; 
 _Bool   PC2_OUT  @PC_ODR:2; 
 _Bool   PC3_OUT  @PC_ODR:3; 
 _Bool   PC4_OUT  @PC_ODR:4; 
 _Bool   PC5_OUT  @PC_ODR:5; 
 _Bool   PC6_OUT  @PC_ODR:6; 
 _Bool   PC7_OUT  @PC_ODR:7; 
 
//---- PD -----
#define  PD_OUT		 PD_ODR
 _Bool   PD0_OUT  @PD_ODR:0; 
 _Bool   PD1_OUT  @PD_ODR:1; 
 _Bool   PD2_OUT  @PD_ODR:2; 
 _Bool   PD3_OUT  @PD_ODR:3; 
 _Bool   PD4_OUT  @PD_ODR:4; 
 _Bool   PD5_OUT  @PD_ODR:5; 
 _Bool   PD6_OUT  @PD_ODR:6; 
 _Bool   PD7_OUT  @PD_ODR:7; 
 
//---- PE -----
#define  PE_OUT		 PE_ODR
 _Bool   PE5_OUT  @PE_ODR:5; 

//---- PF -----
#define  PF_OUT		 PF_ODR
 _Bool   PF4_OUT  @PF_ODR:4;  

//=====   I/O 方向寄存器定义
//---- PA ---------
#define  PA_M	 	PA_DDR
 _Bool   PA1_M  @PA_DDR:1;  
 _Bool   PA2_M  @PA_DDR:2;  
 _Bool   PA3_M  @PA_DDR:3;  
 
//---- PB ---------
#define  PB_M	 	PB_DDR
 _Bool   PB0_M  @PB_DDR:0;  
 _Bool   PB1_M  @PB_DDR:1;  
 _Bool   PB2_M  @PB_DDR:2;  
 _Bool   PB3_M  @PB_DDR:3;  
 _Bool   PB4_M  @PB_DDR:4;  
 _Bool   PB5_M  @PB_DDR:5;  
 _Bool   PB6_M  @PB_DDR:6;  
 _Bool   PB7_M  @PB_DDR:7;  

//---- PC ---------
#define  PC_M		 PC_DDR
 _Bool   PC1_M  @PC_DDR:1;  
 _Bool   PC2_M  @PC_DDR:2;  
 _Bool   PC3_M  @PC_DDR:3;  
 _Bool   PC4_M  @PC_DDR:4;  
 _Bool   PC5_M  @PC_DDR:5;  
 _Bool   PC6_M  @PC_DDR:6;  
 _Bool   PC7_M  @PC_DDR:7;   

//---- PD ---------
#define  PD_M	 PD_DDR
 _Bool   PD0_M  @PD_DDR:0;
 _Bool   PD1_M  @PD_DDR:1;  
 _Bool   PD2_M  @PD_DDR:2;  
 _Bool   PD3_M  @PD_DDR:3;  
 _Bool   PD4_M  @PD_DDR:4;  
 _Bool   PD5_M  @PD_DDR:5;  
 _Bool   PD6_M  @PD_DDR:6;  
 _Bool   PD7_M  @PD_DDR:7;   

//---- PE ---------
#define  PE_M	 PE_DDR
 _Bool   PE5_M  @PE_DDR:5;  

//---- PF ---------
#define  PF_M	 PF_DDR
 _Bool   PF4_M  @PF_DDR:4;  





#endif


 


    
[3] 实现铺展列ExpandableListView的三种方式之SimpleExpandableListAdapter实例
    来源: 互联网  发布时间: 2014-02-18
实现展开列ExpandableListView的三种方式之SimpleExpandableListAdapter实例
实现可扩展展开列ExpandableListView的三种方式   一是使用SimpleExpandableListAdpater将两个List集合包装成ExpandableListView
 二是 扩展BaseExpandableListAdpter

 三是使用simpleCursorTreeAdapter将Cursor中的数据包装成SimpleCuroTreeAdapter


SimpleExpandableListAdpater的几个构造函数说明

public SimpleExpandableListAdapter(Contextcontext,List<? extends Map<String, ?>> groupData, int groupLayout,String[]groupFrom, int[] groupTo,List<? extends List<? extends Map<String, ?>>> childData, int childLayout,String[]childFrom, int[] childTo)

       第一个参数  应用程序接口 this
       第二个父列List<?extends Map<String,Object>>集合 为父列提供数据
       第三个参数  父列显示的组件资源文件
       第四个参数  键值列表 父列Map字典的key
       第五个要显示的父列组件id
       第六个 子列的显示资源文件
       第七个参数 键值列表的子列Map字典的key
       第八个要显示子列的组件id

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:orientation="horizontal" >

    <ImageView
        android:id="@+id/image1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />

    <TextView
        android:id="@+id/txt1"
       android:paddingLeft="10dp"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />

</LinearLayout>

<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/items"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content" >
    

</TextView>

package com.android.xiong.expandablelistviewtest;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.widget.ExpandableListView;
import android.widget.SimpleExpandableListAdapter;

public class MainActivity extends Activity {

	/**
	 * 实现可扩展展开列ExpandableListView的三种方式 
	 * 一是使用SimpleExpandableListAdpater将两个List集合包装成ExpandableListView
	 * 二是 扩展BaseExpandableListAdpter
	 *  三是使用simpleCursorTreeAdapter将Cursor中的数据包装成SimpleCuroTreeAdapter
	 */

	private int[] images = { R.drawable.one, R.drawable.two, R.drawable.threee };
	private String[] names = { "腾讯", "百度", "阿里巴巴" };

	private String[][] childnames = { { "QQ", "微信", "手机卫士" },
			{ "百度地图", "百度视频", "PPS&奇艺" }, { "支付宝", "新郎微博", "高德地图" } };

	private ExpandableListView ep;

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		
		//定义父列表项List数据集合
		List<Map<String, String>> group = new ArrayList<Map<String, String>>();
		//定义子列表项List数据集合
		List<List<Map<String, String>>> ss = new ArrayList<List<Map<String, String>>>();
		for (int i = 0; i < names.length; i++) {
			//提供父列表的数据
			Map<String, String> maps = new HashMap<String, String>();
			// maps.put("images", images[i]);
			maps.put("names", names[i]);
			group.add(maps);
			//提供当前父列的子列数据
			List<Map<String, String>> child = new ArrayList<Map<String, String>>();
			for (int j = 0; j < names.length; j++) {
				Map<String, String> mapsj = new HashMap<String, String>();
				mapsj.put("tengxun", childnames[i][j]);
				child.add(mapsj);
			}
			ss.add(child);
		}
		/**
		 * 第一个参数  应用程序接口 this
		 * 第二个父列List<?extends Map<String,Object>>集合 为父列提供数据
		 * 第三个参数  父列显示的组件资源文件
		 * 第四个参数  键值列表 父列Map字典的key
		 * 第五个要显示的父列组件id
		 * 第六个 子列的显示资源文件
		 * 第七个参数 键值列表的子列Map字典的key
		 * 第八个要显示子列的组件id
		 */
		SimpleExpandableListAdapter expand = new SimpleExpandableListAdapter(
				this, group, R.layout.images, new String[] { "names" },
				new int[] { R.id.txt1 }, ss, R.layout.txtitem,
				new String[] { "tengxun" }, new int[] { R.id.items });
		ep = (ExpandableListView) findViewById(R.id.ep1);
		ep.setAdapter(expand);

	}

	@Override
	public boolean onCreateOptionsMenu(Menu menu) {
		// Inflate the menu; this adds items to the action bar if it is present.
		getMenuInflater().inflate(R.menu.main, menu);
		return true;
	}

}

下面附上网上其余几种构造函数的解释

public SimpleExpandableListAdapter(Contextcontext,List<? extends Map<String, ?>> groupData, int groupLayout,String[]groupFrom, int[] groupTo,List<? extends List<? extends Map<String, ?>>> childData, int childLayout,String[]childFrom, int[] childTo)
 构造函数
 参数
   context        与SimpleExpandableListAdapter关联的ExpandableListView的上下文。
   groupData    一个Maps列表(List)。集合中的每个字典项与可折叠列表中的每个组元素一致。字典项提供了组元素包含的所有数据,并包含所有在"groupFrom"中指定的记录。
   groupLayout  显示组元素的资源文件。该资源文件定义了如何显示组元素。该布局文件必须至少包括groupTo中所定义的View。(即groupTo中的View id数组必须都在该布局文件中找到)
   groupFrom       一个键值列表。对应与组相关联的Map中的键值。
   grouptTo          组View应当显示groupFrom参数中的所有列数据。这些数据应当都用TextView来显示。列表中的前N个View从前N个groupFrom参数获得列元素的数据。
   childData       一个Map列表的列表。外部列表中的每个实体对应一个组(按照组的位置编号)。在内部列表的每个实体对应某个组的子元素(按照子元素的位置编号)。该Map对应了子元素的数据。(按照childFrom数组中的值编号)。该Map包含了每个子元素的数据,并且应当包括所有在childFrom中指定的实体。
   childLayout       显示子元素的资源文件。该资源文件定义了如何显示子元素。布局文件至少应该包括所有在childTo中定义的View。(即childTo中的view id数组必须都在该布局文件中找到)
   childFrom        定义显示子元素的列名。该列名与childData中的子元素属性(字典键值)对应。
   childTo      子View应当显示childFrom参数中的所有列数据。这些数据应当都用TextView来显示。列表中的前N个View从前N个childFrom参数获得列元素的数据。
public SimpleExpandableListAdapter (Context context, List<? extends Map<String, ?>> groupData, int expandedGroupLayout, int collapsedGroupLayout, String[] groupFrom, int[] groupTo, List<? extends List<? extends Map<String, ?>>> childData, int childLayout, String[] childFrom, int[] childTo)
   构造函数。
  参数
     context        与SimpleExpandableListAdapter关联的ExpandableListView的上下文。
     groupData    一个Maps列表(List)。集合中的每个字典项与可折叠列表中的每个组元素一致。字典项提供了组元素包含的所有数据,并包含所有在"groupFrom"中指定的记录。
     expandedGroupLayout          定义组展开时的View的XML资源布局。该布局文件应当至少包括所有在groupTo中所定义的View。(即groupTo中的View id数组必须都在该布局文件中找到)
     collapasedGroupLayout          定义组折叠时的View的XML资源布局。该布局文件应当至少包括所有在groupTo中所定义的View。(即groupTo中的View id数组必须都在该布局文件中找到)
     groupFrom       一个键值列表。对应与组相关联的Map中的键值。
     grouptTo          组View应当显示groupFrom参数中的所有列数据。这些数据应当都用TextView来显示。列表中的前N个View从前N个groupFrom参数获得列元素的数据。
     childData         一个Map列表的列表。外部列表中的每个实体对应一个组(按照组的位置编号)。在内部列表的每个实体对应某个组的子元素(按照子元素的位置编号)。该Map对应了子元素的数据。(按照childFrom数组中的值编号)。该Map包含了每个子元素的数据,并且应当包括所有在childFrom中指定的实体。
     childLayout       显示子元素的资源文件。该资源文件定义了如何显示子元素。布局文件至少应该包括所有在childTo中定义的View。(即childTo中的view id数组必须都在该布局文件中找到)
     childFrom        定义显示子元素的列名。该列名与childData中的子元素属性(字典键值)对应。
     childTo      子View应当显示childFrom参数中的所有列数据。这些数据应当都用TextView来显示。列表中的前N个View从前N个childFrom参数获得列元素的数据。


public SimpleExpandableListAdapter(Contextcontext,List<? extends Map<String, ?>> groupData, int expandedGroupLayout, int collapsedGroupLayout,String[]groupFrom, int[] groupTo,List<? extends List<? extends Map<String, ?>>> childData, int childLayout, int lastChildLayout,String[]childFrom, int[] childTo)
  构造函数。
     参数
     context  与SimpleExpandableListAdapter关联的ExpandableListView的上下文。
     groupData  一个Maps列表(List)。集合中的每个字典项与可折叠列表中的每个组元素一致。字典项提供了组元素包含的所有数据,并包含所有在"groupFrom"中指定的记录。
   expandedGroupLayout   定义组展开时的View的XML资源布局。该布局文件应当至少包括所有在groupTo中所定义的View。(即groupTo中的View id数组必须都在该布局文件中找到)
   collapasedGroupLayout   定义组折叠时的View的XML资源布局。该布局文件应当至少包括所有在groupTo中所定义的View。(即groupTo中的View id数组必须都在该布局文件中找到)
     groupFrom      一个键值列表。对应与组相关联的Map中的键值。
    grouptTo   组View应当显示groupFrom参数中的所有列数据。这些数据应当都用TextView来显示。列表中的前N个View从前N个groupFrom参数获得列元素的数据。
     childData        一个Map列表的列表。外部列表中的每个实体对应一个组(按照组的位置编号)。在内部列表的每个实体对应某个组的子元素(按照子元素的位置编号)。该Map对应了子元素的数据。(按照childFrom数组中的值编号)。该Map包含了每个子元素的数据,并且应当包括所有在childFrom中指定的实体。
    childLayout      显示子元素的资源文件。该资源文件定义了如何显示子元素。布局文件至少应该包括所有在childTo中定义的View。(即childTo中的view id数组必须都在该布局文件中找到)
    lastChildLayout 定义每组中最后一个子元素的View资源布局情况。该布局文件应当至少包括所有在childTo中所定义的View。(即childTo中的View id数组必须都在该布局文件中找到)
    childFrom       定义显示子元素的列名。该列名与childData中的子元素属性(字典键值)对应。
     childTo       子View应当显示childFrom参数中的所有列数据。这些数据应当都用TextView来显示。列表中的前N个View从前N个childFrom参数获得列元素的数据。



    
最新技术文章:
▪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