重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
同品牌的手机,可以通过备份到官方的云盘来做到一键换机。不同的,可以从云盘下载数据。
创新互联服务项目包括宣威网站建设、宣威网站制作、宣威网页制作以及宣威网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,宣威网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到宣威省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!
android读取数据库可以使用sqlite一些api进行读取,实例如下:
/**
* 查找一条数据
* @param uid
*/
public User find(Integer uid){
SQLiteDatabase db=dbOpenHelper.getReadableDatabase(); //创建数据库辅助类
Cursor cursor =db.rawQuery("select * from user where uid=?", new String[]{uid.toString()}); //创建一个游标
if(cursor.moveToFirst()){ //循环遍历查找数组
int uid2=cursor.getInt(cursor.getColumnIndex("uid"));
String uname=cursor.getString(cursor.getColumnIndex("uname"));
String uaddress=cursor.getString(cursor.getColumnIndex("uaddress"));
User user=new User();
user.setUid(uid2);
user.setUname(uname);
user.setUaddress(uaddress);
return user;
}
cursor.close();
return null;
}
可使用android自带的httpclient框架,向后台发起请求,获取数据。\x0d\x0a\x0d\x0a1. GET 方式传递参数\x0d\x0a//先将参数放入List,再对参数进行URL编码\x0d\x0aList params = new LinkedList();\x0d\x0aparams.add(new BasicNameValuePair("param1", "数据")); //增加参数1\x0d\x0aparams.add(new BasicNameValuePair("param2", "value2"));//增加参数2\x0d\x0aString param = URLEncodedUtils.format(params, "UTF-8");//对参数编码\x0d\x0aString baseUrl = "服务器接口完整URL";\x0d\x0aHttpGet getMethod = new HttpGet(baseUrl + "?" + param);//将URL与参数拼接\x0d\x0aHttpClient httpClient = new DefaultHttpClient();\x0d\x0atry {\x0d\x0a HttpResponse response = httpClient.execute(getMethod); //发起GET请求\x0d\x0a Log.i(TAG, "resCode = " + response.getStatusLine().getStatusCode()); //获取响应码\x0d\x0a Log.i(TAG, "result = " + EntityUtils.toString(response.getEntity(), "utf-8"));//获取服务器响应内容\x0d\x0a} catch (ClientProtocolException e) {\x0d\x0a e.printStackTrace();\x0d\x0a} catch (IOException e) {\x0d\x0a e.printStackTrace();\x0d\x0a}\x0d\x0a\x0d\x0a2. POST方式 方式传递参数\x0d\x0a//和GET方式一样,先将参数放入List\x0d\x0aparams = new LinkedList();\x0d\x0aparams.add(new BasicNameValuePair("param1", "Post方法"));//增加参数1\x0d\x0aparams.add(new BasicNameValuePair("param2", "第二个参数"));//增加参数2\x0d\x0atry {\x0d\x0a HttpPost postMethod = new HttpPost(baseUrl);//创建一个post请求\x0d\x0a postMethod.setEntity(new UrlEncodedFormEntity(params, "utf-8")); //将参数填入POST Entity中\x0d\x0a HttpResponse response = httpClient.execute(postMethod); //执行POST方法\x0d\x0a Log.i(TAG, "resCode = " + response.getStatusLine().getStatusCode()); //获取响应码\x0d\x0a Log.i(TAG, "result = " + EntityUtils.toString(response.getEntity(), "utf-8")); //获取响应内容\x0d\x0a} catch (UnsupportedEncodingException e) {\x0d\x0a e.printStackTrace();\x0d\x0a} catch (ClientProtocolException e) {\x0d\x0a e.printStackTrace();\x0d\x0a} catch (IOException e) {\x0d\x0a e.printStackTrace();\x0d\x0a}
一:基于Http协议获取数据方法。二:基于SAOP协议获取数据方法,
这篇文章主要是将关于使用Http协议获取服务器端数据,这里我们采取的服务器端技术为java,框架为Struts2,或者可以有Servlet,又或者可直接从JSP页面中获取数据。
那么,接下来我们便开始这一路程:
首先:编写服务器端方法,我这里采用的MVC框架是Struts2,目的很单纯,就是为了以后做个完整的商业项目,技术配备为:android+SSH。当然,篇幅有限,我这里就直接用Strtus2而已。
服务器端:新建WebProject ,选择Java ee 5.0.
为了给项目添加Struts2的支持,我们必须导入Struts2的一些类库,如下即可(有些jar包是不必的,但是我们后来扩展可能是要使用到的,就先弄进去):
1: xwork-core-2.2.1.1.jar
2: struts2-core-2.2.1.1.jar
3: commons-logging-1.0.4.jar
4: freemarker-2.3.16.jar
5: ognl-3.0.jar
6: javassist-3.7.ga.jar
7:commons-ileupload.jar
8:commons-io.jar
9:json-lib-2.1-jdk15.jar 处理JSON格式数据要使用到
10:struts2-json-plugin-2.2.1.1.jar 基于struts2的json插件
以上的jar包,需要放在WebRoot/WEB-INF/lib目录下
然后在web.xml文件中敲下:
View Code
?xml version="1.0" encoding="UTF-8"?
web-app version="2.5"
xmlns=""
xmlns:xsi=""
xsi:schemaLocation="
"
!-- 定义Struts2的核心控制器:FilterDispatcher --
filter
!-- 定义核心Filter的名称 --
filter-namestruts2/filter-name
!-- 定义Filter的实现类 --
filter-classorg.apache.struts2.dispatcher.FilterDispatcher/filter-class
/filter
filter-mapping
filter-namestruts2/filter-name
url-pattern/*/url-pattern
/filter-mapping
welcome-file-list
welcome-fileindex.jsp/welcome-file
/welcome-file-list
/web-app
然后编写struts.xml文件,并放在WebRoot/WEB-INF/lib目录下:如下代码:
View Code
?xml version="1.0" encoding="UTF-8"?
!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
""
struts
!-- setting encoding,DynamicMethod,language
constant name="struts.custom.i18n.resources" value="messageResource"/constant
--
constant name="struts.i18n.encoding" value="UTF-8"/constant
constant name="struts.enable.DynamicMethodInvocation" value="true"/constant
!-- add package here extends="struts-default"--
package name="dongzi" extends="json-default" !--需要将struts-default改为json-default--
!-- setting action --
action name="login" class="com.dongzi.action.loginAction" method="login"
result type="json"/result !--返回值类型设置为json,不设置返回页面--
/action
/package
/struts
配置好后,我们再根据action标签内容来编写action。方法为method对应的login,类名为loginAction,
注意:包继承为:json-default ,输出结果类型为json
如下:
View Code
public class loginAction extends ActionSupport implements
ServletRequestAware,ServletResponseAware {
/**
*
*/
private static final long serialVersionUID = 1L;
HttpServletRequest request;
HttpServletResponse response;
public void setServletRequest(HttpServletRequest request) {
this.request=request;
}
public void setServletResponse(HttpServletResponse response) {
this.response=response;
}
public void login(){
try {
//HttpServletRequest request =ServletActionContext.getRequest();
// HttpServletResponse response=ServletActionContext.getResponse();
this.response.setContentType("text/html;charset=utf-8");
this.response.setCharacterEncoding("UTF-8");
if(this.request.getParameter("username").equals("123456")){
this.response.getWriter().write("真的很奇怪,日本人!");
}else if(this.request.getParameter("username").equals("zhd")){
this.response.getWriter().write("没有错,我就是东子哥!");
}else{
this.response.getWriter().write("我就是东子哥!");
}
//将要返回的实体对象进行json处理
// JSONObject json=JSONObject.fromObject(this.getUsername());
//输出格式如:{"id":1, "username":"zhangsan", "pwd":"123"}
// System.out.println(json);
// this.response.getWriter().write(json.toString());
/**
JSONObject json=new JSONObject();
json.put("login", "login");
response.setContentType("text/html;charset=utf-8");
System.out.println(json);
byte[] jsonBytes = json.toString().getBytes("utf-8");
response.setContentLength(jsonBytes.length);
response.getOutputStream().write(jsonBytes);
**/
/**
JSONObject json=new JSONObject();
json.put("login", "login");
byte[] jsonBytes = json.toString().getBytes("utf-8");
response.setContentType("text/html;charset=utf-8");
response.setContentLength(jsonBytes.length);
response.getOutputStream().write(jsonBytes);
response.getOutputStream().flush();
response.getOutputStream().close();
**/
} catch (Exception e) {
e.printStackTrace();
}
// return null;
}
}
android读取数据库可以使用sqlite一些api进行读取,实例如下:
/**
* 查找一条数据
* @param uid
*/
public User find(Integer uid){
SQLiteDatabase db=dbOpenHelper.getReadableDatabase(); //创建数据库辅助类
Cursor cursor =db.rawQuery("select * from user where uid=?", new String[]{uid.toString()}); //创建一个游标
if(cursor.moveToFirst()){ //循环遍历查找数组
int uid2=cursor.getInt(cursor.getColumnIndex("uid"));
String uname=cursor.getString(cursor.getColumnIndex("uname"));
String uaddress=cursor.getString(cursor.getColumnIndex("uaddress"));
User user=new User();
user.setUid(uid2);
user.setUname(uname);
user.setUaddress(uaddress);
return user;
}
cursor.close();
return null;
}