• 服务器端代码

    • Bookjavabean和app端保持一致
    • 将书籍信息的list转换成json 生成gson数据
    • app端请求的urlhttp1151591521798080BaidudemoservletTest
  • android端
    • Adapter

服务器端代码:

Book(javabean和app端保持一致)

package com.shengsheng.mhandler;
/*** Created by Administrator on 2016/5/15.* 椹壇鏉鹃紶*/
public class Book {private int bookid;private double price;private String name;private String imgUrl;public int getBookid() {return bookid;}public void setBookid(int bookid) {this.bookid = bookid;}public double getPrice() {return price;}public void setPrice(double d) {this.price = d;}public String getName() {return name;}public void setName(String name) {this.name = name;}public String getImgUrl() {return imgUrl;}public void setImgUrl(String imgUrl) {this.imgUrl = imgUrl;}}

将书籍信息的list转换成json 生成gson数据

public class Test extends HttpServlet {/*** The doGet method of the servlet. <br>** This method is called when a form has its tag value method equals to get.* * @param request the request send by the client to the server* @param response the response send by the server to the client* @throws ServletException if an error occurred* @throws IOException if an error occurred*/public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {response.setContentType("text/html");response.setCharacterEncoding("utf-8");List<Book> list = new ArrayList<Book>();// 初始化100条数据for (int i = 0; i < 30; i++) {Book book = new Book();book.setBookid(i);book.setName("商品名称" + i);book.setPrice(i + 20.0);book.setImgUrl("Baidudemo/images/a3.jpg");list.add(book);}Gson gson = new Gson();String recuits = gson.toJson(list);JSONObject jsonORG = new JSONObject();jsonORG.put("recruits", recuits);jsonORG.put("code", 200);String jsonString = jsonORG.toString();System.out.println("招聘信息为:" + jsonString);OutputStream os = response.getOutputStream();os.write(jsonString.getBytes("utf-8"));os.close();}/*** The doPost method of the servlet. <br>** This method is called when a form has its tag value method equals to post.* * @param request the request send by the client to the server* @param response the response send by the server to the client* @throws ServletException if an error occurred* @throws IOException if an error occurred*/public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {doGet(request, response);}}

app端请求的url:http://115.159.152.179:8080/Baidudemo/servlet/Test


android端

思路:用Httpurlconnection 建立get请求 得到json字符串 解析json 得到
List<Book> 然后设置适配器展示数据

public class MainActivity extends AppCompatActivity {private RecyclerView mRecyclerViewBook;private List<Book> books;Handler handler=new Handler(){@Overridepublic void handleMessage(Message msg) {mRecyclerViewBook.setAdapter(new MyAdaptr(MainActivity.this,books));}};@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);mRecyclerViewBook = (RecyclerView) findViewById(R.id.rvBook);mRecyclerViewBook.setLayoutManager(new GridLayoutManager(this, 2));//开启子线程 new Thread(){@Overridepublic void run() {super.run();getDataForServer("http://49.122.47.217:8080/Baidudemo/servlet/Test");}}.start();}}/***HttpURLConnection* 从服务器获取 图书商品列表信息*/public void getDataForServer(String urlstr) {try {URL url=new URL(urlstr);HttpURLConnection conn= (HttpURLConnection) url.openConnection();conn.setRequestMethod("GET");if(conn.getResponseCode()==200){//得到的是输入流 转换成json字符串InputStream in=conn.getInputStream();String result=StreamUtils.readStread(in);//解析json字符串JSONObject jsonboject=new JSONObject(result);String code=jsonboject.getString("code");String recruits=jsonboject.getString("recruits");//用GSON 解析集合Gson gson=new Gson();books=gson.fromJson(recruits,new TypeToken<List<Book>>(){}.getType());handler.sendEmptyMessage(1);
//}} catch (MalformedURLException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();} catch (JSONException e) {e.printStackTrace();}}}

Adapter

package cn.zsp.bookdemo;import android.app.Activity;
import android.support.v7.widget.RecyclerView;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView;import com.bumptech.glide.Glide;import java.util.List;/*** 项目名称:BookDemo* 类描述:* 创建人:my* 创建时间:2016/5/22 14:52* 修改人:my* 修改时间:2016/5/22 14:52* 修改备注:*/
public class MyAdaptr extends RecyclerView.Adapter<MyAdaptr.MyHolder> {private Activity mActivity;private List<Book>  mBookList;public MyAdaptr(Activity activity, List<Book> books){mActivity=activity;mBookList=books;}@Overridepublic MyHolder onCreateViewHolder(ViewGroup parent, int viewType) {View view= LayoutInflater.from(mActivity).inflate(R.layout.recycleview_book_item,parent,false);return new MyHolder(view);}@Overridepublic void onBindViewHolder(MyHolder holder, int position) {Book book=mBookList.get(position);holder.tvName.setText(book.getName());holder.tvPrice.setText(book.getPrice()+"");//使用Glide 加载网络图片Log.e("zsp", book.getImgUrl() );Glide.with(mActivity).load("http://49.122.47.217:8080/"+book.getImgUrl()).into(holder.ivPhoto);}@Overridepublic int getItemCount() {return mBookList.size();}class MyHolder extends  RecyclerView.ViewHolder{private ImageView ivPhoto;private TextView tvName;private TextView tvPrice;public MyHolder(View itemView) {super(itemView);ivPhoto= (ImageView) itemView.findViewById(R.id.ivPhoto);tvName= (TextView) itemView.findViewById(R.id.tvName);tvPrice= (TextView) itemView.findViewById(R.id.tvPrice);}}
}

Android 从服务器获取信息 并显示 (包含服务器端代码)相关推荐

  1. js ajax获得对象怎么放到td上,jquery通过AJAX从后台获取信息并显示在表格上,并支持行选中...

    不想用Easyui的样式,但是想要他的表格功能,本来一开始是要到网上找相关插件的,但是没找到就开始自己写,没想到这么简单. 后台代码:(这个不重要) public ActionResult GetDi ...

  2. 服务器中显示存储设备,服务器节点信息集中显示方法、系统、设备及存储介质...

    1. 一种服务器节点信息集中显示方法,其特征在于,应用于CMC,包括: 获取M个BMC各自收集的参数信息数据,得到目标数据: 将所述目标数据发送至N个BMC,以使所述N个BMC中的任一BMC显示所述目 ...

  3. android从服务端获取json解析显示在客户端上面,Android服务端获取json解析显示在客户端上面.doc...

    Android服务端获取json解析显示在客户端上面 Android从服务端获取json解析显示在客户端上面 首先说一下Json数据的最基本的特点,Json数据是一系列的键值对的集合,和XML数据来比 ...

  4. 无法从服务器中获取信息吗,无法从服务器获取信息

    无法从服务器获取信息 内容精选 换一换 查询配额信息.GET /v2/{project_id}/os-quota-sets/{project_id}参数说明参数是否必选参数类型描述project_id ...

  5. android 从服务器获取音频,Android项目之旅三 简易Mp3播放器从获取服务器端Mp3信息...

    上面我们已经把页面弄好了,下面我们就要在里面实现我们的功能了哦,今天主要是在RemoteMp3Activity中做功夫,因为项目启动后,这个Activity要做很多事情哦: 1)从服务器上面下载mp3 ...

  6. ajax获取的数据中包含html代码,执行ajax返回数据中包含的script脚本代码

    ajax虽然很方便,提升了我们的交互体验,但是它也有可恨之处,就是ajax请求得到的数据中如果包含脚本代码,比如说请求得到的是一块html内容,我们把这块html内容插入到网页中的某个地方,但是其中明 ...

  7. DNF从服务器获取信息失败,dnf显示服务器读取中进不去怎么办 dnf显示服务器读取中进不去解决方法...

    dnf服务器读取中,进不去怎么办? dnf服务器读取中,进不去有这么几种可能:1.这个时段在线的人太多,等一段时间就好了. 2.去官方查看是否有消息说系统正在维护. 3.网速太慢. 4.系统有病毒 5 ...

  8. 打印机无法从服务器获取信息,win10系统安装打印机提示无法从Windows Update获取设备列表怎么办...

    最近有win10系统用户到本站咨询这样一个情况,就是要安装打印机的时候,突然提示无法从Windows Update获取设备列表怎,遇到这样的问题该怎么办呢,本文就给大家讲解一下win10系统安装打印机 ...

  9. adfs服务器获取信息失败,在ADFS服务器上SAML LogOutRequest处理失败

    我有ADFS服务器作为IdP.我有单独的SP应用程序.这些在信任圈定义.基于SAML协议的SSO工作正常.当我尝试使用SP启动的注销请求时,我在ADFS端发生错误:在ADFS服务器上SAML LogO ...

最新文章

  1. MegEngine计算图、MatMul优化解析
  2. java设计模式:Singleton模式
  3. oracle数据库优化--基本概念
  4. 排队器拦截_过滤器(Filter)和拦截器(Interceptor)的执行顺序和区别
  5. matlab pca求曲率和法向量_实践课堂 已给出实例的MATLAB求解大汇总(线性规划)...
  6. python(11)-if语句,断言assert
  7. 从司法领域看阿里云产业AI策略:生态联盟,技术赋能
  8. 华为服务器存储系列,华为 服务器 存储相关资料(示例代码)
  9. windows 不能在本地计算机启动SqlServer. 参考特定服务错误代码10048
  10. 图解通信原理与案例分析-15:2G GSM手机语音通话的工作原理--TDMA时分多址与GMSK调制
  11. 启用了被称为 HTTP 严格传输安全(HSTS)的安全策略,Firefox 只能与其建立安全连接
  12. 北京理工大学软件工程复试之路
  13. MySQL阶段二_模块6
  14. 【漏洞学习——SSRF】腾讯某处SSRF漏洞(非常好的利用点)附利用脚本
  15. 《Oracle内核技术解密》读书笔记(一)
  16. drupal 的简单模板修改
  17. 关于微信公众号调起支付
  18. 小波分析与神经网络 故障诊断
  19. 乌班图linux分辨率不能调,ubuntu分辨率1024*768无法选择解决方法
  20. oracle时间开始结束时间,Oracle日期周详解以及周开始结束时间计算

热门文章

  1. 淘宝直播窄带高清技术
  2. 等等,那头猪还不想被吃!这个系统能读懂猪的6种情绪,读图3780张,成功率85%
  3. win10计算机丢失msvcr,Win10系统msvcp140.dll丢失怎样修复?
  4. 《软件开发工具》(第二章)
  5. oracle迁移达梦7手顺及注意事项
  6. 6个不亚于公务员的职业选择
  7. elaticsear学习常见错误
  8. 我的世界刷猪人塔java版_我的世界1.11.2自动猪人塔制作指南 猪人塔存档下载 | 我的世界 | MC世界侠...
  9. Paravirtualization
  10. 如何往linux虚拟机传文件,Windows中虚拟机Linux传输文件的两个简单的方法