string a=“sss,ss,des,dd” 怎么截取第三java按逗号截取字符串后面的值?

 上传我的文档
 下载
 收藏
该文档贡献者很忙,什么也没留下。
 下载此文档
正在努力加载中...
5hnDOS命令大全
下载积分:400
内容提示:5hnDOS命令大全
文档格式:PDF|
浏览次数:4|
上传日期: 00:04:39|
文档星级:
该用户还上传了这些文档
5hnDOS命令大全
官方公共微信您所在位置: &
&nbsp&&nbsp&nbsp&&nbsp
IPsec VPN嵌入式硬件防火墙加密卡的应用研究.pdf70页
本文档一共被下载:
次 ,您可全文免费在线阅读后下载本文档。
文档加载中...广告还剩秒
需要金币:200 &&
IPsec VPN嵌入式硬件防火墙加密卡的应用研究
你可能关注的文档:
··········
··········
分类号: TP311 密 级: 公
U D C : 单位代码: 10424 学 位 论 文 IPsec VPN 嵌入式硬件防火墙加密卡的 IIPPsseecc VVPPNN 嵌嵌入入式式硬硬件件防防火火墙墙加加密密卡卡的的 应用研究 应应用用研研究究 胡 月 振 申请学位级别:硕士学位 专业名称:电路与系统 指导教师姓名:陈 新 华 职 称:教 授 山 东 科 技 大 学 二零一一年六月
论文题目:
论论文文题题目目:: IPsec VPN 嵌入式硬件防火墙加密卡的应 IIPPsseecc VVPPNN 嵌嵌入入式式硬硬件件防防火火墙墙加加密密卡卡的的应应 用研究 用用研研究究 作者姓名: 入学时间: 2008
9 作作者者姓姓名名:: 胡月振 入入学学时时间间:: 座机电话号码 年 99 月 专业名称: 研究方向: 专专业业名名称称:: 电路与系统 研研究究方方向向:: 嵌入式系统及应用 指导教师: 职 称: 指指导导教教师师:: 陈新华 职职 称称:: 教 授
论文提交日期:2011
论论文文提提交交日日期期::座机电话号码 年 55 月
论文答辩日期:2011
论论文文答答辩辩日日期期::座机电话号码 年 66 月
授予学位日期:
授授予予学学位位日日期期::
ENCRYPTION CARDAPPLICATION OFEMBEDDED
EENNCCRRYYPPTTIIOONN CCAARRDDAAPPPPLLIICCAATTIIOONN OOFFEEMMBBEEDDDDEEDD HARDWARE FIREWALL BASED ONIPSEC VPN HHAARRDDWWAARREE FFIIRREEWWAALLLL BBAASSEEDD OONNIIPPSSEECC VVPPNN A Dissertationsubmittedinfulfillment oftherequirementsofthedegree of AA DDiisssseerrttaattiioonnssuubbmmiitttteeddiinnffuullffiillllmmeenntt oofftthheerreeqquuiirreemmeennttssoofftthheeddeeggrreeee ooff MASTER OFENGINEERING SCIENCE MMAASSTTEERR OOFFEENNGGIINNEEEERRIINNGG SSCCIIEENNCCEE from ffrroomm Shandong University of Scienceand Technology SShhaannddoonngg UUnniivveerrssiittyy ooff SScciieenncceeaanndd TTeecchhnnoollooggyy by bbyy HuYuezhen HHu
正在加载中,请稍后.../ android_sss
项目语言:ANDROID
权限:read-only(如需更高权限请先加入项目)
android_sss/
Index: adDictSqlLiteQuery.java
===================================================================
--- adDictSqlLiteQuery.java (revision 0)
+++ adDictSqlLiteQuery.java (revision 2)
@@ -0,0 +1,230 @@
+package com.mobile.
+import java.util.ArrayL
+import java.util.HashM
+import java.util.M
+import android.app.A
+import android.content.C
+import android.database.C
+import android.database.sqlite.SQLiteD
数据库处理组件
+public class adDictSqlLiteQuery
extends adPageQueryBean{
+ /* 数据库对象 */
+ private SQLiteDatabase mSQLiteDatabase=
+ /* 数据库名 */
+ private final static String DATABASE_NAME= &tchDict.db&;
// 不能写路径
/sdcard/fhb/
+ /* 表中的字段 */
+ private final static String FIELD_PYCODE= &pycode&;
+ private final static String FIELD_WBCODE= &wbcode&;
+ private final static String FIELD_CODE= &code&; //编码
+ private final static String FIELD_CN= &datacn&;
//字典数据
+ public String tableName=&&;
/* 表名 */
+ //信息登记页面的数据缓存方式
+ //登记信息的统一缓存表
+ //缓存表,关键字,json数据,状态
+ public boolean openLocalDb(Activity act,String TableName)
+ // 打开已经存在的数据库
this.tableName=TableN
+ // 获取数据库Phones的Cursor
mSQLiteDatabase = act.openOrCreateDatabase(DATABASE_NAME,Context.MODE_PRIVATE,null);
/* 在数据库mSQLiteDatabase中创建一个表 */
+ catch (Exception e)
System.out.print(&openOrCreateDatabase Error=&+e.getMessage());
+ /* 关闭数据库 */
+ public void closeLocalDb()
mSQLiteDatabase.close();
+ /* 删除数据库 */
+ public void DeleteDataBase()
//mSQLiteDatabase.deleteDatabase(DATABASE_NAME);
+ public boolean createTable()
String CREATE_TABLE= &CREATE TABLE & + tableName + & (& + FIELD_CODE + & varchar(32) PRIMARY KEY,& + FIELD_PYCODE + & varchar2(50),&+FIELD_WBCODE + & varchar2(50),&+ FIELD_CN + & varchar(500))&;
mSQLiteDatabase.execSQL(CREATE_TABLE);
catch (Exception e)
System.out.print(&create tablename Error=&+e.getMessage());
+ /* 删除一个表 */
+ public void deleteTable()
mSQLiteDatabase.execSQL(&DROP TABLE & + tableName);
+ /* 从表中删除指定的一条数据 */
+ public void deleteZdData(String code)
/* 删除数据 */
mSQLiteDatabase.execSQL(&DELETE FROM & + tableName + & WHERE code=& + code);
+ /* 从表中插入一条字典数据 */
+ public boolean addDictData(String code,String pycode,String wbcode,String datacn)
String sql=&insert into &+tableName+&(code,pycode,wbcode,datacn) values('&;
sql=sql+code+&','&;
sql=sql+pycode+&','&;
sql=sql+wbcode+&','&;
sql=sql+datacn+&')&;
mSQLiteDatabase.execSQL(sql);
catch (Exception e)
System.out.print(&execSQL Error=&+e.getMessage());
+ public void initDictField()
this.addField(&code&,&字典编码&,&s&,&&);
this.addField(&pycode&,&拼音编码&,&s&,&&);
this.addField(&wbcode&,&五笔编码&,&s&,&&);
this.addField(&datacn&,&字典数据&,&s&,&&);
//依据字典编码 获取数据
boolean getDictByLocalSql(String code,String pycode,String wbcode)
dataList= new ArrayList&Map&String, Object&&();
String sql=&select * from &+tableName+& where 1=1 &;
if (code!=null&&!code.equals(&&))
sql=sql+&and code like '&+code+&%'&;
if (pycode!=null&&!pycode.equals(&&))
sql=sql+&and pycode like '&+pycode+&%'&;
if (wbcode!=null&&!wbcode.equals(&&))
sql=sql+&and wbcode like '&+wbcode+&%'&;
Cursor c = mSQLiteDatabase.rawQuery(sql,null);
+ //判断游标是否为空
+ while (c.moveToNext())
+ //遍历游标
Map&String, Object& map= new HashMap&String, Object&();
for (int j=0;j&fieldList.size();j++)
fname=fieldList.get(j).fieldN
map.put(fname,c.getString(j));
dataList.add(map);
//end while
catch (Exception e)
System.out.print(&RawQuerSQL Error=&+e.getMessage());
+ public boolean tabIsExist(String tabName) {
boolean flag =
if (tabName == null) {
Cursor cursor =
String sql = &select count(*) from sqlite_master where type='table' and name=’&
+ tabName + &'&;
cursor = mSQLiteDatabase.rawQuery(sql, null);
if (cursor.moveToNext()) {
int count = cursor.getInt(0);
System.out.println(count + &=========================&);
if (count & 0) {
} catch (Exception e) {
Property changes on: adDictSqlLiteQuery.java
___________________________________________________________________
Added: svn:executable
Index: adPageQueryBean.java
===================================================================
--- adPageQueryBean.java (revision 0)
+++ adPageQueryBean.java (revision 2)
@@ -0,0 +1,823 @@
+package com.mobile.
+import java.util.ArrayL
+import java.util.HashM
+import java.util.L
+import java.util.M
+import org.json.JSONA
+import org.json.JSONE
+import org.json.JSONO
/*数据 处理类,与界面元素 松耦合,主要处理数据逻辑
create by fhb on
* 避免内部的Getters/Setters
+在源生语言像C++中,通常做法是用Getters(i=getCount())代替直接字段访问(i=mCount)。这是C++中一个好的习惯,因为编译器会内联这些访问,并且如果需要约束或者调试这些域的访问,你可以在任何时间添加代码。
+而在Android中,这不是一个好的做法。虚方法调用的代价比直接字段访问高昂许多。通常根据面向对象语言的实践,在公共接口中使用Getters和Setters是有道理的,但在一个字段经常被访问的类中宜采用直接访问。
+无JIT时,直接字段访问大约比调用getter访问快3倍。有JIT时(直接访问字段开销等同于局部变量访问),要快7倍。在Froyo版本中确实如此,但以后版本可能会在JIT中改进Getter方法的内联。
+public class adPageQueryBean {
JSONArray extJsonArray =//扩展信息 add by 冯惠斌
+ public ArrayList&adField& fieldL
+ public List&Map&String, Object&& dataL
+ public ArrayList&adField& searchFieldList=
+ public int pageSize=10;
+ public int showColSize=2; //滚动显示的栏目数量
+ public int currColPageIndex=0;
+ public int currPageIndex=0;
+ public int totalSize=-1; //总记录数, -1表示记录数未知
+ public int pageCount=0; //总页面大小
+ public String postUrl=
+ public adPageQueryBean()
+ public void clearParams() {
searchFieldList = new ArrayList&adField&();
dataList = new List&Map&String, Object&&();
+ public void addSearchField(String fieldname,String fieldcaption,String fieldtype)
if (searchFieldList==null)
searchFieldList = new ArrayList&adField&();
searchFieldList.add(new adField(
fieldname,
fieldcaption,
fieldtype,&&));
+ public void addSearchField(String fieldname, String fieldvalue) {
if (searchFieldList == null)
searchFieldList = new ArrayList&adField&();
searchFieldList.add(new adField(fieldname, fieldvalue));
+ public void addField(String fieldname,String fieldcaption,String fieldtype,String fieldvalue)
if (fieldList==null)
fieldList = new ArrayList&adField&();
fieldList.add(new adField(
fieldname,
fieldcaption,
fieldtype,fieldvalue));
+ public void addSearchField(String fieldname,String fieldcaption,String fieldtype,String fieldvalue)
if (searchFieldList==null)
searchFieldList = new ArrayList&adField&();
searchFieldList.add(new adField(
fieldname,
fieldcaption,
fieldtype,fieldvalue));
+ public void addSearchFields(String fieldname ,String fieldtype,String fieldvalue)
if (searchFieldList==null)
searchFieldList = new ArrayList&adField&();
searchFieldList.add(new adField(fieldname,
fieldtype,fieldvalue));
+ public int getSearchFieldRidByCaption(String fieldcaption)
for (int i=0;i&this.searchFieldList.size();i++)
if (this.searchFieldList.get(i).fieldCaption.equals(fieldcaption))
this.searchFieldList.get(i).fieldR
+ public boolean getSearchFieldShowStatusByCaption(String fieldcaption)
for (int i=0;i&this.searchFieldList.size();i++)
if (this.searchFieldList.get(i).fieldCaption.equals(fieldcaption))
this.searchFieldList.get(i).showS
+ public void setSearchFieldShowStatusByCaption(String fieldcaption,boolean bshow)
for (int i=0;i&this.searchFieldList.size();i++)
if (this.searchFieldList.get(i).fieldCaption.equals(fieldcaption))
this.searchFieldList.get(i).showStatus=
//设置数据要提交的页面
void setDataPostUrl(String url)
//获取数据集合 通过Post数据的方式
+ public boolean getDataByPost()
String params=this.getSearchPostJsonData();
System.out.println(&要发送的数据& + params);
return this.getDataByUrl(postUrl, &jsondata=&+params,false) ;
+ public boolean getDataByPostMore()
//获取下一页
String params=this.getSearchPostJsonData();
System.out.println(&要发送的数据& + params);
return this.getDataByUrl(postUrl, &jsondata=&+params,true) ;
+ public boolean getDataSpecial()
String params=this.getSearchPostJsonData();
System.out.println(&要发送的数据& + params);
return this.getDataByUrl(postUrl, &jsondata=&+params,&special&, false) ;
//获取数据集合 通过Post数据的方式
//获取更多的数据
-1 表示失败
0 表示最后一页
1表示后面还有数据
+ public int
getDataMoreByPost()
this.nextPage();
String params=this.getSearchPostJsonData();
boolean b=this.getDataByUrl(postUrl, &jsondata=&+params,true) ;
return -1;
//判读后面是否海域哦数据
//是否追加数据
+ private boolean getDataByUrl(String url,String params,boolean appendData)
adHttpBean adhttp=new adHttpBean();
String jsondata=adhttp.post(url,params);
parseJsonData(jsondata, appendData);
catch (Exception e)
System.out.print(e.getMessage());
+ private boolean getDataByUrl(String url,String params, String special, boolean appendData)
adHttpBean adhttp=new adHttpBean();
String jsondata=adhttp.post(url,params);
parseJsonData(jsondata, special, appendData);
catch (Exception e)
System.out.print(e.getMessage());
+ //设置查询条件,提交json 格式的数据
+ public String
getSearchPostJsonData()
//客户端发送json数据
//服务端解析json数据格式
+&bus&:[{&act&:&search&,&des&:&人口信息查询&}],
+&pages&:[{&pno&:&1&,&psize&:&10&,&tsize&:&-1&}],
+&datas&:[{&name&: &张三&,&sex&:&男&}]
StringBuffer str=new StringBuffer(&&);
//增加页码信息
str.append(&{&)
.append(&\&bus\&:[{\&act\&:\&search\&,\&des\&:\&search\&}],&)
.append(&\&pages\&:[{\&pno\&:\&&)
.append(this.currPageIndex + 1)
.append(&\&,\&psize\&:\&&)
.append(this.pageSize)
.append(&\&,\&tsize\&:\&&)
.append(this.totalSize)
.append(&\&}],&) ;
//增加数据信息
str.append(&\&datas\&:[{&);
for (int i=0;i&this.searchFieldList.size();i++)
str.append(&\&&)
.append(this.searchFieldList.get(i).fieldName)
.append(&\&:\&&)
.append(this.searchFieldList.get(i).fieldValue)
.append(&\&&);
if (i==(this.searchFieldList.size()-1))
str.append(&}&);
str.append(&,&);
str.append(&]&);
str.append(&}&);
return str.toString();
+ //获取需提交到服务端的数据json格式
+ public String
getEditPostJsonData()
//客户端发送json数据
//服务端解析json数据格式
存储入口处理
+&bus&:[{&act&:&search&,&des&:&人口信息查询&}],
+&pages&:[{&pno&:&1&,&psize&:&10&,&tsize&:&-1&}],
+&datas&:[{&name&: &张三&,&sex&:&男&}]
StringBuffer str=new StringBuffer(&&);
//增加页码信息
str.append(&{&)
.append(&\&bus\&:[{\&act\&:\&\&,\&des\&:\&edit\&}],&);
//增加域信息
str.append(&\&fields\&:[&);
for (int i = 0; i & this.fieldList.size(); i++) {
str.append(&{\&n\&:\&&)
.append(fieldList.get(i).fieldName)
.append(&\&,\&t\&:\&& )
.append(&s&)
.append(&\&,\&c\&:\&&)
.append(fieldList.get(i).fieldCaption)
.append(&\&}&);
if (i&(this.fieldList.size()-1))
str.append(&,&);
} //end feildllist
str.append(&],&);
//增加数据信息
str.append(&\&datas\&:[&);
//显示数据
for (int nrow=0;nrow&this.dataList.size();nrow++)
str.append(&{&);
for (int i=0;i&this.fieldList.size();i++)
str.append(&\&&)
.append(this.fieldList.get(i).fieldName)
.append(&\&:\&&)
.append(this.fieldList.get(i).fieldValue)
.append(&\&&);
if (i&(this.fieldList.size()-1))
str.append(&,&);
str.append(&}&);
if (nrow&(this.dataList.size()-1))
str.append(&,&);
} //end for nrow
str.append(&]&);
str.append(&}&);
return str.toString();
+ public boolean nextPage()
this.currPageIndex=this.currPageIndex+1;
+ //显示下一列数据
+ public boolean nextColPage()
this.currColPageIndex=this.currPageIndex+1;
+ public boolean prePage()
currPageIndex = currPageIndex - 1;
if(currPageIndex & 0 ){
currPageIndex = 0;
+ public boolean preColPage()
currColPageIndex = currColPageIndex - 1;
if(currColPageIndex & 0 ){
currColPageIndex = 0;
//判断是否有下一页
public boolean hasNextPage()
boolean b=
if (totalSize==-1)
//-1表示总共数量未知
if (this.dataList.size()&this.pageSize)
int endIndex = (currPageIndex + 1) * pageSize -1 ;
if (this.dataList.size()&endIndex)
if (this.dataList.size()&this.pageSize)
int totalPageCount = (totalSize + pageSize -1) / pageS
if (totalPageCount&=this.currPageIndex)
//判断是否有上一页
+ public boolean hasPrePage()
boolean b=
if (totalSize==-1)
//-1表示总共数量未知
if (this.dataList.size()&this.pageSize)
if (this.currPageIndex&0)
if (this.dataList.size()&this.pageSize)
if (this.currPageIndex&0)
+ public String[] getShowFieldStrs()
int startcolIndex=this.currColPageIndex*showColSize+1;
int endcolIndex=startcolIndex+showColSize-1;
(endcolIndex&(this.fieldList.size()-1))
endcolIndex=this.fieldList.size()-1;
String[] fieldstrs=new String[endcolIndex-startcolIndex+2];
fieldstrs[0]= fieldList.get(0).fieldN
for (int i=startcolIi&=endcolIi++)
fieldstrs[i-startcolIndex+1]=
fieldList.get(i).fieldN
+ public int[] getShowFieldDrids()
int startcolIndex=this.currColPageIndex*showColSize+1;
int endcolIndex=startcolIndex+showColSize-1;
(endcolIndex&(this.fieldList.size()-1))
endcolIndex=this.fieldList.size()-1;
fieldDrids=new int[endcolIndex-startcolIndex+2];
fieldDrids[0]=
fieldList.get(0).fieldDataR
for (int i=startcolIi&=endcolIi++)
fieldDrids[i-startcolIndex+1]= fieldList.get(i).fieldDataR
+ return fieldD
+ public int[] getShowFieldRids()
int startcolIndex=this.currColPageIndex*showColSize+1;
int endcolIndex=startcolIndex+showColSize-1;
(endcolIndex&(this.fieldList.size()-1))
endcolIndex=this.fieldList.size()-1;
fieldRids=new int[endcolIndex-startcolIndex+2];
fieldRids[0]=
fieldList.get(0).fieldR
for (int i=startcolIi&=endcolIi++)
fieldRids[i-startcolIndex+1]= fieldList.get(i).fieldR
+ return fieldR
+ public List&Map&String, Object&& getOnePageData()
//获取一页 的数据
+ List&Map&String, Object&& list = new ArrayList&Map&String, Object&&();
* 开始数据索引
+ int startIndex = currPageIndex * pageS
* 结束数据索引
+ int endIndex = (currPageIndex + 1) * pageSize -1 ;
+ if(endIndex & ( dataList.size() - 1 )){
endIndex =
dataList.size() - 1 ;
+ for (int i = startI i &= endI i++) {
list.add( dataList.get(i));
+ public String getExtFieldValue(String fname)
String s=&&;
s=extJsonArray.getJSONObject(0).getString(fname);
catch (Exception e)
//解析 json格式的数据
boolean parseJsonData(String sdata,boolean appendData) throws JSONException
sdata=sdata.replaceAll(&\n&, &&);
sdata=& {\&sta\&:[{\&cod\&:\&异常代码\&,\&des\&:\&异常原因说明\&}]}&;
JSONObject jsonObject=new JSONObject(sdata);
JSONArray sonJoArray =
JSONObject sonjoObject =
sonJoArray = jsonObject.getJSONArray(&sta&);//结果状态说明
code = sonJoArray.getJSONObject(0).getString(&cod&);
//异常代码 成功为0 异常为错误代码
sonJoArray.getJSONObject(0).getString(&des&);
extJsonArray= jsonObject.getJSONArray(&ext&);//扩展信息
JSONArray returnPagesJsonArray= jsonObject.getJSONArray(&pages&);//返回的页面信息
this.totalSize= Integer.parseInt(returnPagesJsonArray.getJSONObject(0).getString(&tsize&));
this.pageCount= Integer.parseInt(returnPagesJsonArray.getJSONObject(0).getString(&pnum&));
+&sta&:[{&cod&:&0&,&des&:&&}],
+&ext&:[{&pk&:&扩展信息&}],
+&fields&:
+[{&n&:&npolice_id&,&t&:&s&,&v&:&0&,&c&:&民警编号&},
+{&n&:&name&,&t&:&s&,&v&:&1&,&c&:&姓名&},
+{&n&:&pid&,&t&:&s&,&v&:&1&,&c&:&身份号码&},
+{&n&:&dob&,&t&:&d&,&v&:&1&,&c&:&出生日期&},
+{&n&:&dwhdate&,&t&:&'t&,&v&:&1&,&c&:&登记日期&},
+{&n&:&nstation_no&,&t&:&s&,&v&:&1&,&c&:&岗位编号&}],
+[{&npolice_id&:&&,&name&:&邓永青&,&pid&:&060513&,&dob&:&&,&dwhdate&:& 18:09:15&,&nstation_no&:&&},
+{&npolice_id&:&&,&name&:&邓海生&,&pid&:&172015&,&dob&:&&,&dwhdate&:& 18:09:52&,&nstation_no&:&&},
+{&npolice_id&:&&,&name&:&邓林&,&pid&:&153014&,&dob&:&&,&dwhdate&:& 18:05:24&,&nstation_no&:&&}
+&pages&:[{&tsize&:&287&,&pnum&:&20&}]
+feilds 数据域描述
字段域说明
字段域类型说明s字符型 u 连接url
d日期 i整数 t 日期类型
字段是否需要显示
c 字段域中文解释
pages 页码域描述
tsize总记录数 pnum总页数
//数据域 描述
if (code.equals(&0&))
//解析字段域
sonJoArray = jsonObject.getJSONArray(&fields&);
fieldList = new ArrayList&adField&();
for (int i = 0; i & sonJoArray.length(); i++)
sonjoObject = sonJoArray.getJSONObject(i);
fieldList.add(new adField(sonjoObject));
//解析 数据域
sonJoArray = jsonObject.getJSONArray(&datas&);
if (appendData)
//进行数据追加 在后面
if (dataList==null)
dataList = new ArrayList&Map&String, Object&&();
dataList = new ArrayList&Map&String, Object&&();
//如果下一页没数据返回false
if (sonJoArray.length() == 0)
Map&String, Object&
String fname=
for (int i = 0; i & sonJoArray.length(); i++)
sonjoObject = sonJoArray.getJSONObject(i);
map = new HashMap&String, Object&();
for (int j=0;j&fieldList.size();j++)
fname=fieldList.get(j).fieldN
map.put(fname, sonjoObject.getString(fname));
dataList.add(map);
sonJoArray =
jsonObject =
boolean parseJsonData(String sdata,String special,boolean appendData) throws JSONException
sdata=sdata.replaceAll(&\n&, &&);
String str =
sdata.substring(2);
str = &{&+
sdata=& {\&sta\&:[{\&cod\&:\&异常代码\&,\&des\&:\&异常原因说明\&}]}&;
JSONObject jsonObject=new JSONObject(str);
JSONArray sonJoArray =
JSONObject sonjoObject =
sonJoArray = jsonObject.getJSONArray(&sta&);//结果状态说明
code = sonJoArray.getJSONObject(0).getString(&cod&);
//异常代码 成功为0 异常为错误代码
sonJoArray.getJSONObject(0).getString(&des&);
extJsonArray= jsonObject.getJSONArray(&ext&);//扩展信息
JSONArray returnPagesJsonArray= jsonObject.getJSONArray(&pages&);//返回的页面信息
this.totalSize= Integer.parseInt(returnPagesJsonArray.getJSONObject(0).getString(&tsize&));
this.pageCount= Integer.parseInt(returnPagesJsonArray.getJSONObject(0).getString(&pnum&));
//数据域 描述
if (code.equals(&0&))
//解析字段域
sonJoArray = jsonObject.getJSONArray(&fields&);
fieldList = new ArrayList&adField&();
for (int i = 0; i & sonJoArray.length(); i++)
sonjoObject = sonJoArray.getJSONObject(i);
fieldList.add(new adField(sonjoObject));
//解析 数据域
sonJoArray = jsonObject.getJSONArray(&datas&);
if (appendData)
//进行数据追加 在后面
if (dataList==null)
dataList = new ArrayList&Map&String, Object&&();
dataList = new ArrayList&Map&String, Object&&();
//如果下一页没数据返回false
if (sonJoArray.length() == 0)
Map&String, Object&
String fname=
for (int i = 0; i & sonJoArray.length(); i++)
sonjoObject = sonJoArray.getJSONObject(i);
map = new HashMap&String, Object&();
for (int j=0;j&fieldList.size();j++)
fname=fieldList.get(j).fieldN
map.put(fname, sonjoObject.getString(fname));
dataList.add(map);
sonJoArray =
jsonObject =
Property changes on: adPageQueryBean.java
___________________________________________________________________
Added: svn:executable
Index: adStoredProcBean.java
===================================================================
--- adStoredProcBean.java (revision 0)
+++ adStoredProcBean.java (revision 2)
@@ -0,0 +1,362 @@
+package com.mobile.
+import java.io.F
+import java.util.ArrayL
+import java.util.HashM
+import java.util.M
+import org.json.JSONA
+import org.json.JSONE
+import org.json.JSONO
+import android.content.C
+import com.mobile.util.M
+import com.mobile.util.UserC
+import com.mobile.util.WSU
+import com.wb_ydjw.unit.StaticJ
/*数据 处理类,与界面元素 松耦合,主要处理数据逻辑
create by fhb on
* 主要用于单挑记录的数据传送
* 避免内部的Getters/Setters
+在源生语言像C++中,通常做法是用Getters(i=getCount())代替直接字段访问(i=mCount)。这是C++中一个好的习惯,因为编译器会内联这些访问,并且如果需要约束或者调试这些域的访问,你可以在任何时间添加代码。
+而在Android中,这不是一个好的做法。虚方法调用的代价比直接字段访问高昂许多。通常根据面向对象语言的实践,在公共接口中使用Getters和Setters是有道理的,但在一个字段经常被访问的类中宜采用直接访问。
+无JIT时,直接字段访问大约比调用getter访问快3倍。有JIT时(直接访问字段开销等同于局部变量访问),要快7倍。在Froyo版本中确实如此,但以后版本可能会在JIT中改进Getter方法的内联。
+public class adStoredProcBean {
private JSONArray extJsonArray =//扩展信息 add by 冯惠斌
+ public ArrayList&adField& paramL
+ public Map&String, File&uploadFiles=
+ public String postUrl=
+ public adStoredProcBean()
+ public void addParam(String fieldname,String fieldcaption,String fieldtype,String fieldvalue)
if (paramList==null)
paramList = new ArrayList&adField&();
paramList.add(new adField(fieldname,
fieldcaption,
fieldtype,fieldvalue));
+ public void addParam(String paramname,String
paramvalue)
if (paramList==null)
paramList = new ArrayList&adField&();
paramList.add(new adField(paramname,
paramname,
&s&,paramvalue));
//增加文件参数
+ public void addFileParam(String paramname,String
if (uploadFiles==null)
uploadFiles = new HashMap&String, File&();
File file = new File(filename);
uploadFiles.put(paramname, file);
+ public void clearParams()
paramList = new ArrayList&adField&();
uploadFiles = new HashMap&String, File&();
//设置数据要提交的页面
void setParamsPostUrl(String url)
//发送数据集合 通过Post数据的方式
+ public boolean sendParamsByPost(Context context)
String params=this.getParamsPostJsonData();
System.out.println(params);
if ((uploadFiles!=null) && uploadFiles.size()&0)
return sendFileParamsByUrl(postUrl,params,context);
return this.sendParamsByUrl(postUrl,params,context) ;
public static String tchEscape(String src) {
StringBuffer tmp = new StringBuffer();
tmp.ensureCapacity(src.length() * 6);
for (i = 0; i & src.length(); i++) {
j = src.charAt(i);
if (Character.isDigit(j) || Character.isLowerCase(j) ||
Character.isUpperCase(j))
tmp.append(j);
if (j & 256) {
tmp.append(&%&); //modi by fhb on
if (j & 16)
tmp.append(&0&);
tmp.append(Integer.toString(j, 16));
tmp.append(&$u&);
tmp.append(Integer.toString(j, 16));
String s=tmp.toString();
+ private boolean sendFileParamsByUrl(String url,String params,Context context)
adHttpBean adhttp=new adHttpBean();
Mapx param=
new Mapx();
//解决 mentl -form-data中文接收问题
//params=java.net.URLEncoder.encode(params, &gb2312&);
params=tchEscape(params);
param.put(&jsondata&, params);
param.put(&sunitcode&, UserConfig.sunit_code);
param.put(&spoliceno&, UserConfig.username);
String jsondata=WSUtil.getHttpRequest(url, param.toHttpPostStr(),context);
parseJsonData(jsondata);
catch (Exception e)
System.out.print(e.getMessage());
+ private boolean sendParamsByUrl(String url,String params,Context context)
adHttpBean adhttp=new adHttpBean();
Mapx param=new Mapx();
param.put(&jsondata&, params);
String jsondata=WSUtil.getHttpRequest(url, param.toHttpPostStr(),context);
parseJsonData(jsondata);
catch (Exception e)
System.out.print(e.getMessage());
+ //设置查询条件,提交json 格式的数据
+ public String
getParamsPostJsonData()
//客户端发送json数据
//服务端解析json数据格式
+&bus&:[{&act&:&search&,&des&:&人口信息查询&}],
+&pages&:[{&pno&:&1&,&psize&:&10&,&tsize&:&-1&}],
+&datas&:[{&name&: &张三&,&sex&:&男&}]
StringBuffer str=new StringBuffer(&&);
//增加页码信息
str.append(&{&)
.append(&\&bus\&:[{\&act\&:\&search\&,\&des\&:\&search\&}],&)
.append(&\&pages\&:[{\&pno\&:\&&)
.append(&0&)
.append(&\&,\&psize\&:\&&)
.append(&0&)
.append(&\&,\&tsize\&:\&&)
.append(&1&)
.append(&\&}],&) ;
//增加数据信息
str.append(&\&datas\&:[{&);
for (int i=0;i&this.paramList.size();i++)
str.append(&\&&)
.append(this.paramList.get(i).fieldName)
.append(&\&:\&&)
.append(this.paramList.get(i).fieldValue)
.append(&\&&);
if (i==(this.paramList.size()-1))
str.append(&}&);
str.append(&,&);
str.append(&]&);
str.append(&}&);
return str.toString();
+ //获取扩扩展信息
+ public String getExtFieldValue(String fname)
String s=&&;
s=extJsonArray.getJSONObject(0).getString(fname);
catch (Exception e)
//解析 json格式的数据
boolean parseJsonData(String sdata) throws JSONException
sdata=sdata.replaceAll(&\n&, &&);
sdata=& {\&sta\&:[{\&cod\&:\&异常代码\&,\&des\&:\&异常原因说明\&}]}&;
JSONObject jsonObject = new JSONObject(sdata);
JSONArray sonJoArray =
JSONObject sonjoObject =
sonJoArray = jsonObject.getJSONArray(&sta&);//结果状态说明
code = sonJoArray.getJSONObject(0).getString(&cod&);
//异常代码 成功为0 异常为错误代码
sonJoArray.getJSONObject(0).getString(&des&);
+&sta&:[{&cod&:&0&,&des&:&&}],
+&ext&:[{&pk&:&扩展信息&}]
//数据域 描述
sonJoArray =
jsonObject =
if (code.equals(&0&))
extJsonArray= jsonObject.getJSONArray(&ext&);//扩展信息
public void test()
//新建一个事务 处理组件
adStoredProcBean adProc=new adStoredProcBean();
adProc.clearParams();
adProc.addParam(&name&, &张山&);
//增加参数 和参数值
adProc.addParam(&pid&, &216518&);
adProc.setParamsPostUrl(&/androidserver/updatedata.jsp&); // 设置服务端事务 处理页面
adProc.setParamsPostUrl(StaticJsp.updatedata); // 设置服务端事务 处理页面
if (adProc.sendParamsByPost())
//发送事务处理请求
//业务处理成功
//业务处理失败!
* 解析Json数据
* @param sdata
* @throws JSONException
static String parsercJsonData(String sdata) throws JSONException
String rybh=&&;
sdata=sdata.replaceAll(&\n&, &&);
sdata=& {\&sta\&:[{\&cod\&:\&异常代码\&,\&des\&:\&异常原因说明\&}]}&;
JSONObject jsonObject = new JSONObject(sdata);
JSONArray sonJoArray =
JSONObject sonjoObject =
sonJoArray = jsonObject.getJSONArray(&sta&);//结果状态说明
hccode= sonJoArray.getJSONObject(0).getString(&cod&);
//异常代码 成功为0 异常为错误代码
String hcdes =
sonJoArray.getJSONObject(0).getString(&des&);
if (hccode.equals(&0&))
JSONArray arr= jsonObject.getJSONArray(&ext&);//扩展信息
rybh= arr.getJSONObject(0).getString(&nid&);
//异常代码 成功为0 异常为错误代码
Property changes on: adStoredProcBean.java
___________________________________________________________________
Added: svn:executable
Index: DataRow.java
===================================================================
--- DataRow.java (revision 0)
+++ DataRow.java (revision 2)
@@ -0,0 +1,386 @@
+package com.mobile.
+import java.io.S
+import java.util.D
+import com.mobile.util.ArrayU
+import com.mobile.util.DateU
+import com.mobile.util.StringU
+public class DataRow
+implements Serializable
private static final long serialVersionUID = 1L;
private boolean isWebM
protected DataColumn[]
protected Object[]
public DataRow(DataColumn[] types, Object[] values)
this.columns =
this.values =
public Object get(int index) {
if (this.values == null) {
if ((index & 0) || (index &= this.columns.length)) {
throw new RuntimeException(&DataRow中没有指定的列:& + index);
return this.values[index];
public Object get(String columnName) {
if ((columnName == null) || (columnName.equals(&&))) {
throw new RuntimeException(&不能存取列名为空的列&);
for (int i = 0; i & this.columns. i++) {
if (this.columns[i].getColumnName().equalsIgnoreCase(columnName)) {
return this.values[i];
LogUtil.getLogger().warn(&指定的列名没有找到:& + columnName);
throw new RuntimeException(&指定的列名没有找到:& + columnName);
public String getString(int index) {
if (this.values[index] != null) {
if ((!&&.equals(this.values[index])) && (this.columns[index].getColumnType() == 0)) {
if (!(this.values[index] instanceof Date)) {
return String.valueOf(this.values[index]);
if (StringUtil.isNotEmpty(this.columns[index].getDateFormat())) {
return DateUtil.toString((Date)this.values[index], this.columns[index].getDateFormat());
return DateUtil.toString((Date)this.values[index], &yyyy-MM-dd HH:mm:ss&);
String t = String.valueOf(this.values[index]).trim();
if(t.indexOf(&00:00:00&) != -1)
//把日期后面的0去掉
add by dwq at
t = t.substring(0,t.indexOf(&00:00:00&) - 1 );
if(t.endsWith(&.0&))
t = t.substring(0,t.indexOf(&.0&));
if(t.indexOf(& 00:00:00.0&) != -1)
//把日期后面的0去掉
add by cqj at
t = t.replace(& 00:00:00.0&, &&);
if(t.indexOf(& 00:00:00&)!=-1)
t = t.replace(& 00:00:00&, &&);
if ((this.isWebMode) && (
(t == null) || (t.equals(&&)))) {
return &&&;
if (this.isWebMode) {
return &&&;
return &&;
public String getString(String columnName)
if ((columnName == null) || (columnName.equals(&&))) {
throw new RuntimeException(&不能存取列名为空的列&);
for (int i = 0; i & this.columns. i++) {
if (this.columns[i].getColumnName().equalsIgnoreCase(columnName)) {
return getString(i);
return &&;
public Date getDate(int index) {
Object obj = get(index);
if (obj == null) {
if ((obj instanceof Date)) {
return (Date)
return DateUtil.parseDateTime(obj.toString());
public Date getDate(String columnName)
if ((columnName == null) || (columnName.equals(&&))) {
throw new RuntimeException(&不能存取列名为空的列&);
for (int i = 0; i & this.columns. i++) {
if (this.columns[i].getColumnName().equalsIgnoreCase(columnName)) {
return getDate(i);
public double getDouble(int index) {
Object obj = get(index);
if (obj == null) {
return 0.0D;
if ((obj instanceof Number)) {
return ((Number)obj).doubleValue();
String str = obj.toString();
if (StringUtil.isEmpty(str)) {
return 0.0D;
return Double.parseDouble(str);
public double getDouble(String columnName)
if ((columnName == null) || (columnName.equals(&&))) {
throw new RuntimeException(&不能存取列名为空的列&);
for (int i = 0; i & this.columns. i++) {
if (this.columns[i].getColumnName().equalsIgnoreCase(columnName)) {
return getDouble(i);
return 0.0D;
public long getLong(int index) {
Object obj = get(index);
if (obj == null) {
return 0L;
if ((obj instanceof Number)) {
return ((Number)obj).longValue();
String str = obj.toString();
if (StringUtil.isEmpty(str)) {
return 0L;
return Long.parseLong(str);
public long getLong(String columnName)
if ((columnName == null) || (columnName.equals(&&))) {
throw new RuntimeException(&不能存取列名为空的列&);
for (int i = 0; i & this.columns. i++) {
if (this.columns[i].getColumnName().equalsIgnoreCase(columnName)) {
return getLong(i);
return 0L;
public int getInt(int index) {
Object obj = get(index);
if (obj == null) {
if ((obj instanceof Number)) {
return ((Number)obj).intValue();
String str = obj.toString();
if (StringUtil.isEmpty(str)) {
return Integer.parseInt(str);
public int getInt(String columnName)
if ((columnName == null) || (columnName.equals(&&))) {
throw new RuntimeException(&不能存取列名为空的列&);
for (int i = 0; i & this.columns. i++) {
if (this.columns[i].getColumnName().equalsIgnoreCase(columnName)) {
return getInt(i);
public boolean isNull(int index) {
return get(index) ==
public boolean isNull(String columnName) {
return get(columnName) ==
public void set(int index, Object value) {
if (this.values == null) {
if ((index & 0) || (index &= this.values.length)) {
throw new RuntimeException(&DataRow中没有指定的列:& + index);
this.values[index] =
public void set(String columnName, Object value) {
if ((columnName == null) || (columnName.equals(&&))) {
throw new RuntimeException(&不能存取列名为空的列&);
for (int i = 0; i & this.values. i++) {
if (this.columns[i].getColumnName().equalsIgnoreCase(columnName)) {
this.values[i] =
throw new RuntimeException(&指定的列名没有找到:& + columnName);
public void set(int index, int value)
set(index, new Integer(value));
public void set(String columnName, int value) {
set(columnName, new Integer(value));
public void set(String columnName, long value) {
set(columnName, new Long(value));
public void set(int index, long value) {
set(index, new Long(value));
public void set(String columnName, double value) {
set(columnName, new Double(value));
public void set(int index, double value) {
set(index, new Double(value));
public DataColumn getDataColumn(int index) {
if ((index & 0) || (index &= this.columns.length)) {
throw new RuntimeException(&DataRow中没有指定的列:& + index);
return this.columns[index];
public DataColumn getDataColumn(String columnName) {
if ((columnName == null) || (columnName.equals(&&))) {
throw new RuntimeException(&不能存取列名为空的列&);
for (int i = 0; i & this.columns. i++) {
if (this.columns[i].getColumnName().equalsIgnoreCase(columnName)) {
return this.columns[i];
throw new RuntimeException(&指定的列名没有找到&);
public int getColumnCount() {
return this.columns.
public Object[] getDataValues() {
return this.
public DataColumn[] getDataColumns() {
return this.
public void insertColumn(String columnName, Object columnValue) {
insertColumn(new DataColumn(columnName, 1), columnValue);
public void insertColumn(String columnName, Object columnValue, int index) {
insertColumn(new DataColumn(columnName, 1), columnValue, index);
public void insertColumn(DataColumn dc, Object columnValue) {
insertColumn(dc, columnValue, this.values.length);
public void insertColumn(DataColumn dc, Object columnValue, int index) {
if ((index & 0) || (index & this.columns.length)) {
throw new RuntimeException(index + &超出范围,最大允许值为& + this.columns.length + &!&);
this.columns = ((DataColumn[])ArrayUtils.add(this.columns, index, dc));
this.values = ArrayUtils.add(this.values, index, columnValue);
public boolean isWebMode() {
return this.isWebM
public void setWebMode(boolean isWebMode) {
this.isWebMode = isWebM
public Mapx toMapx() {
Mapx map = new Mapx();
for (int i = 0; i & this.columns. i++) {
map.put(this.columns[i].getColumnName(), this.values[i]);
public CaseIgnoreMapx toCaseIgnoreMapx() {
CaseIgnoreMapx map = new CaseIgnoreMapx(new HashMap());
for (int i = 0; i & this.columns. i++) {
map.put(this.columns[i].getColumnName(), this.values[i]);
public void fill(Mapx map) {
if (map == null) {
Object[] ks = map.keyArray();
Object[] vs = map.valueArray();
for (int i = 0; i & map.size(); i++) {
Object key = ks[i];
if (key == null) {
for (int j = 0; j & this.columns. j++)
if (key.toString().equalsIgnoreCase(this.columns[j].getColumnName())) {
Object v = vs[i];
if ((this.columns[j].ColumnType == 0) && (!Date.class.isInstance(v))) {
throw new RuntimeException(&数组的第& + j + &个元素必须是Date对象!&);
set(j, v);
public void fill(Object[] values)
if (values == null) {
if (values.length != getColumnCount()) {
throw new RuntimeException(&执行fill操作数组长度为& + values.length + &,要求的长度为& + getColumnCount() + &!&);
for (int i = 0; i & values. i++) {
if ((this.columns[i].ColumnType == 0) && (!Date.class.isInstance(values[i]))) {
throw new RuntimeException(&第& + i + &列必须是Date对象!&);
set(i, values[i]);
public String toString() {
StringBuffer sb = new StringBuffer();
for (int i = 0; i & this.columns. i++) {
if (i != 0) {
sb.append(&,&);
sb.append(this.columns[i].getColumnName());
sb.append(&:&);
sb.append(this.values[i]);
return sb.toString();
Property changes on: DataRow.java
___________________________________________________________________
Added: svn:executable
Index: DataTable.java
===================================================================
--- DataTable.java (revision 0)
+++ DataTable.java (revision 2)
@@ -0,0 +1,503 @@
+package com.mobile.
+import java.io.S
+import java.util.A
+import java.util.D
+import com.mobile.util.ArrayU
+import com.mobile.util.M
+import com.mobile.util.StringU
+public class DataTable implements Serializable, Cloneable {
+ private static final long serialVersionUID = 1L;
+ // private boolean isWebM
+ private DataRow[]
+ private DataColumn[]
+ // 这里一定要赋初始值,不然无法生成XML属性
+ private String tableName = &&;
+ public DataTable() {
this.rows = new DataRow[0];
this.columns = new DataColumn[0];
+ public DataTable(DataColumn[] types, Object[][] values) {
if (types == null) {
types = new DataColumn[0];
this.columns =
this.rows =
if (checkColumns(types)) {
this.columns =
if (values != null) {
this.rows = new DataRow[values.length];
for (int i = 0; i & this.rows. i++)
this.rows[i] = new DataRow(this.columns, values[i]);
this.rows = new DataRow[0];
+ public String getTableName() {
return tableN
+ public void setTableName(String tableName) {
this.tableName = tableN
+ public boolean checkColumns(DataColumn[] types) {
if (types == null) {
for (int i = 0; i & types. i++) {
String columnName = types[i].getColumnName();
for (int j = 0; j & j++) {
if (columnName == null) {
throw new RuntimeException(&DataTable中第& + i + &列列名为null!&);
if (columnName.equals(types[j].getColumnName())) {
throw new RuntimeException(&一个DataTable中不充许有重名的列:&
+ columnName);
+ public void deleteColumn(int columnIndex) {
if (this.columns.length == 0) {
if ((columnIndex & 0)
|| ((this.columns != null) && (columnIndex &= this.columns.length))) {
throw new RuntimeException(&DataRow中没有指定的列:& + columnIndex);
this.columns = ((DataColumn[]) ArrayUtils.remove(this.columns,
columnIndex));
for (int i = 0; i & this.rows. i++) {
this.rows[i].columns =
this.rows[i].columns = this.
this.rows[i].values = ArrayUtils.remove(this.rows[i].values,
columnIndex);
+ public void deleteColumn(String columnName) {
if (this.columns.length == 0) {
for (int i = 0; i & this.columns. i++)
if (this.columns[i].getColumnName().equalsIgnoreCase(columnName)) {
deleteColumn(i);
+ public void insertColumn(String columnName) {
insertColumn(new DataColumn(columnName, 1), null, this.columns.length);
+ public void insertColumn(String columnName, Object columnValue) {
Object[] cv = new Object[this.rows.length];
for (int i = 0; i & cv. i++) {
cv[i] = columnV
insertColumn(new DataColumn(columnName, 1), cv, this.columns.length);
+ public Object get(int rowIndex, String columnName) {
return getDataRow(rowIndex).get(columnName);
+ public void insertColumns(String[] columnNames) {
for (int i = 0; i & columnNames. i++)
insertColumn(new DataColumn(columnNames[i], 1), null,
this.columns.length);
+ public void insertColumn(String columnName, Object[] columnValue) {
insertColumn(new DataColumn(columnName, 1), columnValue,
this.columns.length);
+ public void insertColumn(DataColumn dc) {
insertColumn(dc, null, this.columns.length);
+ public void insertColumn(DataColumn dc, Object[] columnValue) {
insertColumn(dc, columnValue, this.columns.length);
+ public void insertColumn(String columnName, Object[] columnValue, int index) {
insertColumn(new DataColumn(columnName, 1), columnValue, index);
+ public void insertColumn(DataColumn dc, Object[] columnValue, int index) {
if (index & this.columns.length) {
throw new RuntimeException(&DataRow中没有指定的列:& + index);
for (int i = 0; i & this.columns. i++) {
if (this.columns[i].getColumnName().equalsIgnoreCase(
dc.getColumnName())) {
throw new RuntimeException(&DataTable中已经存在列:&
+ dc.getColumnName());
this.columns = (ArrayUtils.addDataColumn(this.columns, index, dc));
if (columnValue == null) {
columnValue = new Object[this.rows.length];
if (this.rows.length == 0) {
this.rows = new DataRow[columnValue.length];
for (int i = 0; i & this.rows. i++)
this.rows[i] = new DataRow(this.columns,
new Object[] { columnValue[i] });
for (int i = 0; i & this.rows. i++) {
this.rows[i].columns =
this.rows[i].columns = this.
this.rows[i].values = ArrayUtils.add(this.rows[i].values,
index, columnValue[i]);
+ public void insertRow(DataRow dr) {
insertRow(dr, this.rows.length);
+ public void insertRow(DataRow dr, int index) {
if (this.columns.length == 0) {
this.columns = dr.
insertRow(dr.getDataValues(), index);
+ public void insertRow(Object[] rowValue) {
insertRow(rowValue, this.rows.length);
+ public void insertRow(Object[] rowValue, int index) {
if (index & this.rows.length) {
throw new RuntimeException(index + &超出范围,最大允许值为& + this.rows.length
if (rowValue != null) {
if (this.columns.length == 0) {
this.columns = new DataColumn[rowValue.length];
for (int i = 0; i & this.columns. i++) {
this.columns[i] = new DataColumn(&_Columns_& + i, 1);
if (rowValue.length != this.columns.length) {
throw new RuntimeException(&新增行的列数为& + rowValue.length
+ &,要求的列数为& + this.columns.length + &!&);
for (int i = 0; i & this.columns. i++) {
if ((this.columns[i].ColumnType != 0) || (rowValue[i] == null)
|| (Date.class.isInstance(rowValue[i])))
throw new RuntimeException(&第& + i + &列必须是Date对象!&);
rowValue = new Object[this.columns.length];
DataRow[] newRows = new DataRow[this.rows.length + 1];
System.arraycopy(this.rows, 0, newRows, 0, index);
if (index & this.rows.length) {
System.arraycopy(this.rows, index, newRows, index + 1,
this.rows.length - index);
newRows[index] = new DataRow(this.columns, rowValue);
this.rows = newR
+ public void deleteRow(int index) {
if (index &= this.rows.length) {
throw new RuntimeException(index + &超出范围,最大允许值为&
+ (this.rows.length - 1) + &!&);
this.rows = ((DataRow[]) ArrayUtils.remove(this.rows, index));
+ public void deleteRow(DataRow dr) {
for (int i = 0; i & this.rows. i++) {
if (dr == this.rows[i]) {
deleteRow(i);
throw new RuntimeException(&指定的DataRow对象不属于此DataTable!&);
+ public DataRow get(int rowIndex) {
if ((rowIndex &= this.rows.length) || (rowIndex & 0)) {
throw new RuntimeException(&指定的行索引值超出范围&);
return this.rows[rowIndex];
+ public void set(int rowIndex, int colIndex, Object value) {
getDataRow(rowIndex).set(colIndex, value);
+ public void set(int rowIndex, String columnName, Object value) {
getDataRow(rowIndex).set(columnName, value);
+ public void set(int rowIndex, int colIndex, int value) {
getDataRow(rowIndex).set(colIndex, value);
+ public void set(int rowIndex, String columnName, int value) {
getDataRow(rowIndex).set(columnName, value);
+ public void set(int rowIndex, int colIndex, long value) {
getDataRow(rowIndex).set(colIndex, value);
+ public void set(int rowIndex, String columnName, long value) {
getDataRow(rowIndex).set(columnName, value);
+ public void set(int rowIndex, int colIndex, double value) {
getDataRow(rowIndex).set(colIndex, value);
+ public void set(int rowIndex, String columnName, double value) {
getDataRow(rowIndex).set(columnName, value);
+ public Object get(int rowIndex, int colIndex) {
return getDataRow(rowIndex).get(colIndex);
+ public String getString(int rowIndex, int colIndex) {
return getDataRow(rowIndex).getString(colIndex);
+ public String getString(int rowIndex, String columnName) {
return getDataRow(rowIndex).getString(columnName);
+ public int getInt(int rowIndex, int colIndex) {
return getDataRow(rowIndex).getInt(colIndex);
+ public int getInt(int rowIndex, String columnName) {
return getDataRow(rowIndex).getInt(columnName);
+ public long getLong(int rowIndex, int colIndex) {
return getDataRow(rowIndex).getLong(colIndex);
+ public long getLong(int rowIndex, String columnName) {
return getDataRow(rowIndex).getLong(columnName);
+ public double getDouble(int rowIndex, int colIndex) {
return getDataRow(rowIndex).getDouble(colIndex);
+ public double getDouble(int rowIndex, String columnName) {
return getDataRow(rowIndex).getDouble(columnName);
+ public Date getDate(int rowIndex, int colIndex) {
return getDataRow(rowIndex).getDate(colIndex);
+ public Date getDate(int rowIndex, String columnName) {
return getDataRow(rowIndex).getDate(columnName);
+ public DataRow getDataRow(int rowIndex) {
if ((rowIndex &= this.rows.length) || (rowIndex & 0)) {
throw new RuntimeException(&指定的行索引值超出范围&);
return this.rows[rowIndex];
+ public DataColumn getDataColumn(int columnIndex) {
if ((columnIndex & 0) || (columnIndex &= this.columns.length)) {
throw new RuntimeException(&指定的列索引值超出范围&);
return this.columns[columnIndex];
+ public DataColumn getDataColumn(String columnName) {
for (int i = 0; i & this.columns. i++) {
if (this.columns[i].getColumnName().equalsIgnoreCase(columnName)) {
return getDataColumn(i);
+ public Object[] getColumnValues(int columnIndex) {
if ((columnIndex & 0) || (columnIndex &= this.columns.length)) {
throw new RuntimeException(&指定的列索引值超出范围&);
Object[] arr = new Object[getRowCount()];
for (int i = 0; i & arr. i++) {
arr[i] = this.rows[i].values[columnIndex];
+ public Object[] getColumnValues(String columnName) {
for (int i = 0; i & this.columns. i++) {
if (this.columns[i].getColumnName().equalsIgnoreCase(columnName)) {
return getColumnValues(i);
+ public void sort(Comparator c) {
Arrays.sort(this.rows, c);
* 排序,默认倒序
* @param columnName
+ public void sort(String columnName) {
sort(columnName, &desc&, false);
* @param columnName
* @param order
+ public void sort(String columnName, String order) {
sort(columnName, order, false);
+ public void sort(String columnName, String order, boolean isNumber) {
String cn = columnN
String od =
sort(new com.parator(cn, od, isNumber));
+ @Override
+ public Object clone() {
DataColumn[] dcs = new DataColumn[this.columns.length];
for (int i = 0; i & this.columns. i++) {
dcs[i] = ((DataColumn) this.columns[i].clone());
DataTable dt = new DataTable();
dt.columns =
dt.rows = (this.rows.clone());
// dt.setWebMode(this.isWebMode);
+ public Mapx toMapx(String keyColumnName, String valueColumnName) {
if (StringUtil.isEmpty(keyColumnName)) {
throw new RuntimeException(&不能存取列名为空的列&);
if (StringUtil.isEmpty(valueColumnName)) {
throw new RuntimeException(&不能存取列名为空的列&);
int keyIndex = 0;
int valueIndex = 0;
boolean keyFlag =
boolean valueFlag =
for (int i = 0; i & this.columns. i++) {
if (this.columns[i].getColumnName().equalsIgnoreCase(keyColumnName)) {
keyIndex =
if (valueFlag) {
if (this.columns[i].getColumnName().equalsIgnoreCase(
valueColumnName)) {
valueIndex =
valueFlag =
if (keyFlag) {
return toMapx(keyIndex, valueIndex);
+ public Mapx toMapx(int keyColumnIndex, int valueColumnIndex) {
if ((keyColumnIndex & 0) || (keyColumnIndex &= this.columns.length)) {
throw new RuntimeException(&DataRow中没有指定的列:& + keyColumnIndex);
if ((valueColumnIndex & 0) || (valueColumnIndex &= this.columns.length)) {
throw new RuntimeException(&DataRow中没有指定的列:& + valueColumnIndex);
Mapx map = new Mapx();
for (int i = 0; i & this.rows. i++) {
Object key = this.rows[i].values[keyColumnIndex];
if (key == null)
map.put(key, this.rows[i].values[valueColumnIndex]);
map.put(key.toString(), this.rows[i].values[valueColumnIndex]);
+ public void union(DataTable anotherDT) {
if (anotherDT.getRowCount() == 0) {
if (getRowCount() == 0) {
this.rows = anotherDT.
if (getColCount() != anotherDT.getColCount()) {
throw new RuntimeException(&两个DataTable的列数不一致,列数1:& + getColCount()
+ & ,列数2:& + anotherDT.getColCount());
int srcPos = this.rows.
DataRow[] newRows = new DataRow[this.rows.length
+ anotherDT.getRowCount()];
System.arraycopy(this.rows, 0, newRows, 0, srcPos);
System.arraycopy(anotherDT.rows, 0, newRows, srcPos, anotherDT
.getRowCount());
this.rows =
this.rows = newR
+ public int getRowCount() {
return this.rows.
+ public int getColCount() {
return this.columns.
+ public DataColumn[] getDataColumns() {
return this.
+ public void reset() {
for (int i = rows. i & 0; i--) {
deleteColumn(i);
* 删除所有行 add by dwq at
+ public void deleteAllRow() {
this.rows = new DataRow[0];
Property changes on: DataTable.java
___________________________________________________________________
Added: svn:executable
Index: DataSet.java
===================================================================
--- DataSet.java (revision 0)
+++ DataSet.java (revision 2)
@@ -0,0 +1,70 @@
+package com.mobile.
+import java.util.ArrayL
+import java.util.L
+import com.mobile.util.OperationR
+public class DataSet {
+ private List&DataTable& tables = new ArrayList&DataTable&();
+ public List&DataTable& getTables() {
+ private OperationResult result = new OperationResult(0,&&);
* 操作结果信息
+ public OperationResult getResult() {
+ public void setResult(OperationResult result) {
this.result =
+ public static DataSet fromDataTable(DataTable dt)
DataSet ds = new DataSet();
ds.tables.add(dt);
* 返回操作状态是否有错误
+ public boolean HasError()
if(result.getResultCode() != 0)
* 判断数据集中是否有表
+ public boolean HasTable()
return this.tables.size() & 0;
* 返回操作状态信息
+ public String GetMessage()
return result.getResultMessage();
Property changes on: DataSet.java
___________________________________________________________________
Added: svn:executable
Index: SBinterface.java
===================================================================
--- SBinterface.java (revision 0)
+++ SBinterface.java (revision 2)
@@ -0,0 +1,17 @@
+package com.mobile.
+import java.util.L
+import com.wb_ydjw.bean.PcjlI
+ * @author star
+public interface SBinterface {
+ public void putpcjl(List&PcjlInfo& pcjlInfos);
Property changes on: SBinterface.java
___________________________________________________________________
Added: svn:executable
Index: DataColumn.java
===================================================================
--- DataColumn.java (revision 0)
+++ DataColumn.java (revision 2)
@@ -0,0 +1,109 @@
+package com.mobile.
+import java.io.S
+ * 实现Serializable接口以便用于Intent的数据传输
+ * 修改人 cqj
+ * 时间:日14:39:46
+public class DataColumn implements Serializable{
private static final long serialVersionUID = 1L;
public static final int DATETIME = 0;
public static final int STRING = 1;
public static final int BLOB = 2;
public static final int BIGDECIMAL = 3;
public static final int DECIMAL = 4;
public static final int FLOAT = 5;
public static final int DOUBLE = 6;
public static final int LONG = 7;
public static final int INTEGER = 8;
public static final int SMALLINT = 9;
public static final int CLOB = 10;
public static final int BIT = 11;
protected String ColumnN
protected int ColumnT
//add by dwq at
protected String ColumnTypeS
//add by dwq at
protected int ColumnLength = 100;
protected boolean isAllowNull =
protected String dateFormat =
public DataColumn()
+ public Object clone() {
return new DataColumn(this.ColumnName, this.ColumnType);
public DataColumn(String columnName, int columnType) {
this.ColumnName = columnN
this.ColumnType = columnT
public DataColumn(String columnName, String columnTypeString,int columnLength) {
this.ColumnName = columnN
this.ColumnTypeString = columnTypeS
this.ColumnLength = columnL
public DataColumn(String columnName, int columnType, boolean allowNull) {
this.ColumnName = columnN
this.ColumnType = columnT
this.isAllowNull = allowN
public String getColumnName() {
return this.ColumnN
public void setColumnName(String columnName) {
this.ColumnName = columnN
public int getColumnType() {
return this.ColumnT
public void setColumnType(int columnType) {
this.ColumnType = columnT
public boolean isAllowNull() {
return this.isAllowN
public void setAllowNull(boolean isAllowNull) {
this.isAllowNull = isAllowN
public static Class getDataType(int sqlType)
switch (sqlType)
case 2003:
public String getDateFormat() {
return this.dateF
public void setDateFormat(String dateFormat) {
this.dateFormat = dateF
public int getColumnLength() {
return ColumnL
public void setColumnLength(int columnLength) {
ColumnLength = columnL
Property changes on: DataColumn.java
___________________________________________________________________
Added: svn:executable
Index: adField.java
===================================================================
--- adField.java (revision 0)
+++ adField.java (revision 2)
@@ -0,0 +1,77 @@
+package com.mobile.
+import org.json.JSONE
+import org.json.JSONO
+public class adField {
* 字段域名
public String
* 字段类型
public String
* 字段中文名
public String fieldC
public int fieldR
//字段域标题对应的R.id
public int fieldDataR //字段数据域对应的R.id
public String fieldValue=&&;//字段值
public boolean showS
* feilds 数据域描述
字段域说明
字段域类型说明s字符型 u 连接url
d日期 i整数 t 日期类型
字段是否需要显示
c 字段域中文解释
* 构造函数:field
* 函数功能:
* 参数说明:
@param jsonObject
@throws JSONException
public adField(JSONObject jsonObject) throws JSONException
fieldName = jsonObject.getString(&n&);
fieldType = jsonObject.getString(&t&);
fieldCaption = jsonObject.getString(&c&);
showStatus=(jsonObject.getString(&v&).equals(&1&));
public adField(String fieldname,String fieldcaption,String fieldtype,String fieldvalue)
fieldName =
fieldType =
fieldCaption =
showStatus=
fieldValue=
public adField(String fieldname,String fieldcaption,String fieldtype,String fieldvalue,boolean bvisible)
fieldName =
fieldType =
fieldCaption =
showStatus=
fieldValue=
public adField(String fieldname, String fieldvalue) {
fieldName =
fieldValue =
Property changes on: adField.java
___________________________________________________________________
Added: svn:executable
Index: adSqlLiteQuery.java
===================================================================
--- adSqlLiteQuery.java (revision 0)
+++ adSqlLiteQuery.java (revision 2)
@@ -0,0 +1,229 @@
+package com.mobile.
+import java.util.ArrayL
+import java.util.HashM
+import java.util.M
+import android.app.A
+import android.content.C
+import android.database.C
+import android.database.sqlite.SQLiteD
//本地 数据缓存组件 Sql
数据库处理组件
+public class adSqlLiteQuery
extends adPageQueryBean{
+ /* 数据库对象 */
+ private SQLiteDatabase mSQLiteDatabase=
+ /* 数据库名 */
+ private final static String DATABASE_NAME= &tchBuffer.db&;
// 不能写路径
/sdcard/fhb/
+ /* 表中的字段 */
+ private final static String FIELD_KEY= &npk&;
+ private final static String FIELD_JSON= &sjson&;
//json数据
+ private final static String FIELD_STATUS= &status&;
+ private final static String FIELD_DATE= &ddate&;
//登记时间
+ public String tableName=&&;
/* 表名 */
+ //信息登记页面的数据缓存方式
+ //登记信息的统一缓存表
+ //缓存表,关键字,json数据,状态
+ public boolean openLocalDb(Activity act,String TableName)
+ // 打开已经存在的数据库
this.tableName=TableN
+ // 获取数据库Phones的Cursor
mSQLiteDatabase = act.openOrCreateDatabase(DATABASE_NAME,Context.MODE_PRIVATE,null);
/* 在数据库mSQLiteDatabase中创建一个表 */
+ catch (Exception e)
System.out.print(&openOrCreateDatabase Error=&+e.getMessage());
+ /* 关闭数据库 */
+ public void closeLocalDb()
mSQLiteDatabase.close();
+ /* 删除数据库 */
+ public void DeleteDataBase()
//mSQLiteDatabase.deleteDatabase(DATABASE_NAME);
+ public boolean createTable()
String CREATE_TABLE= &CREATE TABLE & + tableName + & (& + FIELD_KEY + & integer(32) PRIMARY KEY,& + FIELD_JSON + & TEXT,&+FIELD_STATUS + & varchar2(50),&+ FIELD_DATE + & date)&;
mSQLiteDatabase.execSQL(CREATE_TABLE);
catch (Exception e)
System.out.print(&create tablename Error=&+e.getMessage());
+ /* 删除一个表 */
+ public void deleteTable()
mSQLiteDatabase.execSQL(&DROP TABLE & + tableName);
+ /* 从表中删除指定的一条数据 */
+ public void deleteJsonData(String pk)
/* 删除数据 */
mSQLiteDatabase.execSQL(&DELETE FROM & + tableName + & WHERE npk=& + pk);
+ /* 从表中插入一条字典数据 */
+ public boolean addJsonData(String pk,String sjson,String status,String sdate)
/* 表中的字段 */
String sql=&insert into &+tableName+&(npk,sjson,status,ddate) values(&;
sql=sql+pk+&,'&;
sql=sql+sjson+&','&;
sql=sql+status+&','&;
sql=sql+sdate+&')&;
mSQLiteDatabase.execSQL(sql);
catch (Exception e)
System.out.print(&execSQL Error=&+e.getMessage());
+ public void initDataField()
this.addField(&npk&,&关键字&,&s&,&&);
this.addField(&sjson&,&json数据 &,&s&,&&);
this.addField(&status&,&状态&,&s&,&&);
this.addField(&ddate&,&登记时间&,&s&,&&);
//依据字典编码 获取数据
boolean getJsonByLocalSql(String npk)
dataList= new ArrayList&Map&String, Object&&();
String sql=&select * from &+tableName+& where 1=1 &;
if (npk!=null&&!npk.equals(&&))
sql=sql+&and npk =&+npk+&&;
Cursor c = mSQLiteDatabase.rawQuery(sql,null);
+ //判断游标是否为空
+ while (c.moveToNext())
+ //遍历游标
Map&String, Object& map= new HashMap&String, Object&();
for (int j=0;j&fieldList.size();j++)
fname=fieldList.get(j).fieldN
map.put(fname,c.getString(j));
dataList.add(map);
//end while
catch (Exception e)
System.out.print(&RawQuerSQL Error=&+e.getMessage());
+ public boolean tabIsExist(String tabName) {
boolean flag =
if (tabName == null) {
Cursor cursor =
String sql = &select count(*) from sqlite_master where type='table' and name=’&
+ tabName + &'&;
cursor = mSQLiteDatabase.rawQuery(sql, null);
if (cursor.moveToNext()) {
int count = cursor.getInt(0);
System.out.println(count + &=========================&);
if (count & 0) {
} catch (Exception e) {
Property changes on: adSqlLiteQuery.java
___________________________________________________________________
Added: svn:executable
Index: adHttpBean.java
===================================================================
--- adHttpBean.java (revision 0)
+++ adHttpBean.java (revision 2)
@@ -0,0 +1,388 @@
+package com.mobile.
+import java.io.BufferedR
+import java.io.IOE
+import java.io.InputStreamR
+import java.io.UnsupportedEncodingE
+import java.net.SocketTimeoutE
+import java.util.HashM
+import java.util.M
+import org.apache.http.HttpE
+import org.apache.http.HttpR
+import org.apache.http.HttpS
+import org.apache.http.NoHttpResponseE
+import org.apache.http.client.ClientProtocolE
+import org.apache.http.client.HttpC
+import org.apache.http.protocol.HTTP;
+import org.apache.http.client.methods.HttpP
+import org.apache.http.impl.client.DefaultHttpC
+import org.apache.http.params.HttpConnectionP
+import org.apache.http.params.HttpP
+import org.apache.http.entity.StringE
+import org.apache.http.entity.mime.MultipartE
+import org.apache.http.entity.mime.HttpMultipartM
+import org.apache.http.entity.mime.content.*;
+import com.mobile.util.HttpC
+import com.mobile.util.StringU
+import com.mobile.util.UserC
+import com.wb_ydjw.unit.StaticJ
+import java.io.F
+public class adHttpBean {
String gl_Server=&http://10.130.36.10:82&;
* 获取网址内容
* @param url
* @throws Exception
String post(String url,String params)
if (url.indexOf(&http://&)&0)
url = HttpConfig.URL + HttpConfig.CONTEXTPATH +
//上传单位编号 add by dwq at
if(StringUtil.isNotEmpty(params))
params += &&&;
params += &sunitcode=& + UserConfig.sunit_code + &&spoliceno=& + UserConfig.
//params 的格式 &username=test&password=test&
StringBuilder sb =
HttpResponse response =
HttpClient client = new DefaultHttpClient();
HttpParams httpParams = client.getParams();
httpParams.setParameter(&charset&, HTTP.UTF_8);
// 设置网络超时参数
HttpConnectionParams.setConnectionTimeout(httpParams, 3000);
HttpConnectionParams.setSoTimeout(httpParams, 4000);
System.out.println(&开始执行&);
//HttpGet method = new HttpGet( url );
HttpPost method = new HttpPost( url );
method.addHeader(&Content-Type&, &application/json&);
method.addHeader(&charset&, HTTP.UTF_8);
method.setHeader(&Connection&, &Keep-Alive& );
StringEntity paramEntity = new StringEntity(params,HTTP.UTF_8);
paramEntity.setChunked( false );
paramEntity.setContentType(&application/x-www-form-urlencoded& );
method.setEntity( paramEntity );
response = client.execute(method);
// 服务器返回错误信息时,获取请求响应码 ;正常时new StringBuilder(),开始获取数据
int statusCode = response.getStatusLine().getStatusCode();
if (statusCode != HttpStatus.SC_OK)
System.out.println(&请求响应代码:&+statusCode);
sb = new StringBuilder();
// 获取到实体时
HttpEntity entity = response.getEntity();
if (entity != null)
BufferedReader reader =
reader = new BufferedReader(new InputStreamReader(
entity.getContent(), &UTF-8&), 8192);
String line =
while ((line = reader.readLine()) != null)
System.out.println(&line: & + line);
sb.append(line + &\n&);
reader.close();
System.err.println(&entity为Null!&);
sb.append(&&);
return sb.toString();
catch (ClientProtocolException e)
e.printStackTrace();
catch (NoHttpResponseException e)
System.out.println(&NoHttpResponseException&);
e.printStackTrace();
catch (UnsupportedEncodingException e)
e.printStackTrace();
catch (IllegalStateException e)
e.printStackTrace();
catch (SocketTimeoutException e)
System.out.println(&SocketTimeoutException&);
e.printStackTrace();
catch (IOException e)
System.out.println(&url访问异常:&+e.getMessage());
e.printStackTrace();
catch (Exception e)
System.out.println(&url访问异常:&+e.getMessage());
e.printStackTrace();
client.getConnectionManager().shutdown();
* 获取网址内容
* @param url
* @throws Exception
String post(String url, Map&String, String& param, Map&String, File&uploadfiles)
if (url.indexOf(&http://&)&0)
url = HttpConfig.URL + HttpConfig.CONTEXTPATH +
//params 的格式 &username=test&password=test&
StringBuilder sb =
HttpResponse response =
HttpClient client = new DefaultHttpClient();
HttpParams httpParams = client.getParams();
httpParams.setParameter(&charset&, HTTP.UTF_8);
// 设置网络超时参数
HttpConnectionParams.setConnectionTimeout(httpParams, 3000);
HttpConnectionParams.setSoTimeout(httpParams, 4000);
System.out.println(&开始执行&);
//HttpGet method = new HttpGet( url );
HttpPost method = new HttpPost( url );
method.addHeader(&Content-Type&, &multipart/form-data&);
method.addHeader(&charset&, HTTP.UTF_8);
method.setHeader(&Connection&, &Keep-Alive& );
StringEntity paramEntity = new StringEntity(params,HTTP.UTF_8);
paramEntity.setChunked( false );
paramEntity.setContentType(&application/x-www-form-urlencoded& );
/* Map&String, String&
param = new HashMap&String, String&();
//p1=3&p2=4
String[] myparams=params.split(&&&);
for (int i=0;i&myparams.i++)
param.put(myparams[i].split(&=&)[0],myparams[i].split(&=&)[1]);
// 通过阅读源码可知,要想实现图片上传功能,必须将MultipartEntity 的模式设置为BROWSER_COMPATIBLE 。
MultipartEntity mulentity = new MultipartEntity(HttpMultipartMode.BROWSER_COMPATIBLE);
MultipartEntity mulentity = new MultipartEntity();
if (param != null && !param.isEmpty()) {
for (Map.Entry&String, String& entry : param.entrySet()) {
mulentity.addPart(entry.getKey(), new StringBody(entry.getValue()));
// 添加文件参数
if (uploadfiles != null && !uploadfiles.isEmpty()) {
for (Map.Entry&String, File& entry : uploadfiles.entrySet()) {
if (entry.getValue()!=null&&entry.getValue().exists())
mulentity.addPart(entry.getKey(), new FileBody(entry.getValue()));
method.setEntity(mulentity);
response = client.execute(method);
// 服务器返回错误信息时,获取请求响应码 ,正常时new StringBuilder(),开始获取数据
int statusCode = response.getStatusLine().getStatusCode();
if (statusCode != HttpStatus.SC_OK)
System.out.println(&请求响应代码:&+statusCode);
sb = new StringBuilder();
// 获取到实体时
HttpEntity entity = response.getEntity();
if (entity != null)
BufferedReader reader =
reader = new BufferedReader(new InputStreamReader(
entity.getContent(), &UTF-8&), 8192);
String line =
while ((line = reader.readLine()) != null)
System.out.println(&line: & + line);
sb.append(line + &\n&);
reader.close();
System.err.println(&entity为Null!&);
sb.append(&&);
return sb.toString();
catch (ClientProtocolException e)
e.printStackTrace();
catch (NoHttpResponseException e)
System.out.println(&NoHttpResponseException&);
e.printStackTrace();
catch (UnsupportedEncodingException e)
e.printStackTrace();
catch (IllegalStateException e)
e.printStackTrace();
catch (SocketTimeoutException e)
System.out.println(&SocketTimeoutException&);
e.printStackTrace();
catch (IOException e)
System.out.println(&url访问异常:&+e.getMessage());
e.printStackTrace();
catch (Exception e)
System.out.println(&url访问异常:&+e.getMessage());
e.printStackTrace();
client.getConnectionManager().shutdown();
+ private void test()
//发送文件 上传文件
adHttpBean adhttp=new adHttpBean();
Map&String, String& param=
new HashMap&String, String&();
Map&String, File&uploadfiles= new HashMap&String, File&();
param.put(&savepath&, &/androidserver/&);
param.put(&filename&, &11.txt&);
String srcUrl = &/sdcard/fhb/&; //路径
String fileName = &11.txt&;
File file = new File(srcUrl + fileName);
uploadfiles.put(&file1&, file);
String fileName2 = &12.jpg&;
File file2 = new File(srcUrl + fileName2);
uploadfiles.put(&file2&, file2);
String url=&/Mobile/androidserver/service_getfilelist.jsp&;
String jsondata=adhttp.post(url,param,uploadfiles);
String jsondata=adhttp.post(StaticJsp.service_getfilelist,param,uploadfiles);
System.out.print(jsondata);
catch (Exception e)
System.out.print(e.getMessage());
Property changes on: adHttpBean.java
___________________________________________________________________
Added: svn:executable
(C)&&2013&&Alibaba&&Inc.&&All&&rights&&resvered.
Powered by

我要回帖

更多关于 根据逗号截取字符串 的文章

 

随机推荐