精华内容
下载资源
问答
  • 1. 下载官网的android SDK(本人用的是eclipse)2. 新建一个android项目:...3、点击next,建立第一个mainActivity4、启动服务器端,本人采用的是ssh搭建的server端,能接受前台的post或get请求,然后返还json数据

    1. 下载官网的android SDK(本人用的是eclipse)

    2. 新建一个android项目:

    File->new->andriod Application project
    3、点击next,建立第一个mainActivity

    4、启动服务器端,本人采用的是ssh搭建的server端,能接受前台的post或get请求,然后返还json数据(本例子,主要演示如何在android发送post和get请求)

    6、下面有很关键的几步的,与在本地编写web有所不同:

    A:android端的url要写上服务器端的ip:

    如下:

    String url = “http://192.168.20.1:8080/xiaoyuantong/userAction!register.action?pwd=‘测试’”;

    (后面我会给出完整的代码)

    B、要在AndroidManifest.xml文件中添加:

    7、下面就是具体的使用post和get请求的代码:

    A:发送get请求如下:

    package com.example.xiaoyuantong;

    import java.util.HashMap;

    import java.util.Iterator;

    import org.json.JSONException;

    import org.json.JSONObject;

    import android.app.Activity;

    import android.os.Bundle;

    import android.util.Log;

    import android.widget.TextView;

    import com.android.volley.Request;

    import com.android.volley.RequestQueue;

    import com.android.volley.Response;

    import com.android.volley.VolleyError;

    import com.android.volley.toolbox.JsonObjectRequest;

    import com.android.volley.toolbox.Volley;

    /**

    • Demo

      */

    public class MainActivity extends Activity {

       private RequestQueue requestQueue ;
    
    
    
    @Override
    
    protected void onCreate(Bundle savedInstanceState) {
    
        super.onCreate(savedInstanceState);
    
        setContentView(R.layout.activity_main);
    
        init();
    
    }
    
    
    
    private void init() {
    
           TextView textView = (TextView)findViewById(R.id.textView);
    
           requestQueue = Volley.newRequestQueue(this);   
    
           getJson();
    
           textView.setText("hello");
    
    
    
    }
    
    private void getJson(){
    
    
    
    
    
            String url = "http://192.168.20.1:8080/xiaoyuantong/userAction!register.action?pwd='测试'";
    
    
    
              JsonObjectRequest jsonObjectRequest = new JsonObjectRequest(
    
                   Request.Method.GET, url, null,
    
                   new Response.Listener<JSONObject>() {
    
                       @Override
    
                       public void onResponse(JSONObject response) {
    
                           //这里可以打印出接受到返回的json
    
                           Log.e("bbb", response.toString());
    
    
    
    
    
                               }
    
    
    
                   }, new Response.ErrorListener() {
    
                       @Override
    
                       public void onErrorResponse(VolleyError arg0) {
    
                           // System.out.println("sorry,Error");
    
                           Log.e("aaa", arg0.toString());
    
                       }
    
                   });
    
           requestQueue.add(jsonObjectRequest);
    
    
    
    }
    

    }

    B:发送post请求如下:

    package com.example.xiaoyuantong;

    import java.util.HashMap;

    import java.util.Map;

    import org.json.JSONException;

    import org.json.JSONObject;

    import com.android.volley.Request;

    import com.android.volley.RequestQueue;

    import com.android.volley.Response;

    import com.android.volley.VolleyError;

    import com.android.volley.toolbox.JsonObjectRequest;

    import com.android.volley.toolbox.Volley;

    import android.os.Bundle;

    import android.app.Activity;

    import android.util.Log;

    import android.view.Menu;

    import android.widget.TextView;

    public class PostActivity extends Activity {

       private RequestQueue requestQueue ;
    
       @Override
    
       protected void onCreate(Bundle savedInstanceState) {
    
              super.onCreate(savedInstanceState);
    
              setContentView(R.layout.activity_post);
    
              init();
    
       }
    
    
    
       @Override
    
       public boolean onCreateOptionsMenu(Menu menu) {
    
              // Inflate the menu; this adds items to the action bar if it is present.
    
              getMenuInflater().inflate(R.menu.post, menu);
    
              return true;
    
       }
    
    
    
    
    
    private void init() {
    
           TextView textView = (TextView)findViewById(R.id.postView);
    
           requestQueue = Volley.newRequestQueue(this);   
    
           getJson();
    
           textView.setText("hellopost");
    
    
    
    }
    
    
    
    
    
    private void getJson(){
    
    
    
    
    
            String url = "http://192.168.20.1:8080/xiaoyuantong/userAction!reg.action";
    
    
    
             JsonObjectRequest jsonObjectRequest ;
    
             JSONObject jsonObject=new JSONObject() ;
    
    
    
             try {
    
                     jsonObject.put("name", "张三");
    
                     jsonObject.put("sex", "女");
    
              } catch (JSONException e1) {
    
                     // TODO Auto-generated catch block
    
                     e1.printStackTrace();
    
              }
    

    //打印前台向后台要提交的post数据

           Log.e("post",jsonObject.toString());
    

    //发送post请求

         try{
    
            jsonObjectRequest = new JsonObjectRequest(
    
                   Request.Method.POST, url, jsonObject,
    
                   new Response.Listener<JSONObject>() {
    
                       @Override
    
                       public void onResponse(JSONObject response) {
    
                           //打印请求后获取的json数据
    
                           Log.e("bbb", response.toString());
    
    
    
                               }
    
    
    
                   }, new Response.ErrorListener() {
    
                       @Override
    
                       public void onErrorResponse(VolleyError arg0) {
    
                           // System.out.println("sorry,Error");
    
                           Log.e("aaa", arg0.toString());
    
                       }
    
                   });
    
    
    
               requestQueue.add(jsonObjectRequest);
    
         } catch (Exception e) {
    
             e.printStackTrace();
    
             System.out.println(e + "");
    
         }
    
         requestQueue.start();
    
    
    
    
    
    
    
    }
    

    }

    8、在android的logcat里面能查看到打印的请求

    (红色的显示的是我在后台请求到数据)

    有时候logcat显示不出数据,可能是消息被过滤了,可以在左边点击“减号”删除过滤

    在server端,也就是在myeclipse的建立的另一个后台工程里面能获取到请求:

    9、后续会补充json数据的解析部分# 欢迎使用Markdown编辑器写博客

    本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:

    • Markdown和扩展Markdown简洁的语法
    • 代码块高亮
    • 图片链接和图片上传
    • LaTex数学公式
    • UML序列图和流程图
    • 离线写博客
    • 导入导出Markdown文件
    • 丰富的快捷键

    快捷键

    • 加粗 Ctrl + B
    • 斜体 Ctrl + I
    • 引用 Ctrl + Q
    • 插入链接 Ctrl + L
    • 插入代码 Ctrl + K
    • 插入图片 Ctrl + G
    • 提升标题 Ctrl + H
    • 有序列表 Ctrl + O
    • 无序列表 Ctrl + U
    • 横线 Ctrl + R
    • 撤销 Ctrl + Z
    • 重做 Ctrl + Y

    Markdown及扩展

    Markdown 是一种轻量级标记语言,它允许人们使用易读易写的纯文本格式编写文档,然后转换成格式丰富的HTML页面。 —— [ 维基百科 ]

    使用简单的符号标识不同的标题,将某些文字标记为粗体或者斜体,创建一个链接等,详细语法参考帮助?。

    本编辑器支持 Markdown Extra ,  扩展了很多好用的功能。具体请参考Github.

    表格

    Markdown Extra 表格语法:

    项目 价格
    Computer $1600
    Phone $12
    Pipe $1

    可以使用冒号来定义对齐方式:

    项目 价格 数量
    Computer 1600 元 5
    Phone 12 元 12
    Pipe 1 元 234

    定义列表

    Markdown Extra 定义列表语法:
    项目1
    项目2
    定义 A
    定义 B
    项目3
    定义 C

    定义 D

    定义D内容

    代码块

    代码块语法遵循标准markdown代码,例如:

    @requires_authorization
    def somefunc(param1='', param2=0):
        '''A docstring'''
        if param1 > param2: # interesting
            print 'Greater'
        return (param2 - param1 + 1) or None
    class SomeClass:
        pass
    >>> message = '''interpreter
    ... prompt'''

    脚注

    生成一个脚注1.

    目录

    [TOC]来生成目录:

    数学公式

    使用MathJax渲染LaTex 数学公式,详见math.stackexchange.com.

    • 行内公式,数学公式为:Γ(n)=(n1)!nN
    • 块级公式:

    x=b±b24ac2a

    更多LaTex语法请参考 这儿.

    UML 图:

    可以渲染序列图:

    Created with Raphaël 2.1.0张三张三李四李四嘿,小四儿, 写博客了没?李四愣了一下,说:忙得吐血,哪有时间写。

    或者流程图:

    Created with Raphaël 2.1.0开始我的操作确认?结束yesno
    • 关于 序列图 语法,参考 这儿,
    • 关于 流程图 语法,参考 这儿.

    离线写博客

    即使用户在没有网络的情况下,也可以通过本编辑器离线写博客(直接在曾经使用过的浏览器中输入write.blog.csdn.net/mdeditor即可。Markdown编辑器使用浏览器离线存储将内容保存在本地。

    用户写博客的过程中,内容实时保存在浏览器缓存中,在用户关闭浏览器或者其它异常情况下,内容不会丢失。用户再次打开浏览器时,会显示上次用户正在编辑的没有发表的内容。

    博客发表后,本地缓存将被删除。 

    用户可以选择 把正在写的博客保存到服务器草稿箱,即使换浏览器或者清除缓存,内容也不会丢失。

    注意:虽然浏览器存储大部分时候都比较可靠,但为了您的数据安全,在联网后,请务必及时发表或者保存到服务器草稿箱

    浏览器兼容

    1. 目前,本编辑器对Chrome浏览器支持最为完整。建议大家使用较新版本的Chrome。
    2. IE9以下不支持
    3. IE9,10,11存在以下问题
      1. 不支持离线功能
      2. IE9不支持文件导入导出
      3. IE10不支持拖拽文件导入


    1. 这里是 脚注内容.
    展开全文
  • 安卓速记43--Http请求与JSon解析 此篇Json教程为笔者结合网络资源及实际...在网络编程中对数据的传输尤为重要。 其解析方式可通过安卓自带的JsonObject解析,以及第三方解析库Gson。 一个Json数据样本 JsonArray数

    安卓速记3--JSon解析与XML解析


    此篇Json教程为笔者结合网络资源及实际操作实践总结。会不定期更新。打星符号为重点

    一、     JSON的解析

      Json是一种广泛被采用的客户端和服务端交互的解决方案。在网络编程中对数据的传输尤为重要。

    其解析方式可通过安卓自带的JsonObject解析,以及第三方解析库Gson

    一个Json数据样本

    JsonArray数组  [{"weather":"雷阵雨转晴","temperature":"周日 0731 (实时:32)"}, {"weather":"雷阵雨转晴","temperature":"周日 0731 (实时:32)"} ]

    JsonObject字符串对象 {"weather":"雷阵雨转晴","temperature":"周日 0731 (实时:32)"}



    1.    JsonObject解析Json

    A.若要解析的数据jsonData为数组,即JsonArray时,用以下方式解析

     

    privatevoid parseJSONWithJSONObject(StringjsonData) {
       try {
          JSONArray jsonArray = new
    JSONArray(jsonData);
          for (int i = 0; i< jsonArray.length(); i++) {
             JSONObject jsonObject =jsonArray.getJSONObject(i);
             String id =jsonObject.getString("weather");
             String name =jsonObject.getString("temperature");
             Log.d("MainActivity","weather is " + weather);
             Log.d("MainActivity","temperature is " + temperature);
          }
       } catch (Exception e) {
          e.printStackTrace();
       }
    }

     

    B.若要解析的格式为字符串,即JsonObject时,jsonData为字符串(一般从服务器Php文件传来的或API传来的都为这种格式)

     

    JSONObject myJsonObject = new JSONObject(jsonMessage);

    //获取对应的值

    value1 = myJsonObject.getString("weather");

     

    2.   Gson解析Json

    需要导入GsonJar包,下载地址百度即可

     

    privatevoid parseJSONWithGSON(String jsonData) {
       Gson gson = new
    Gson();
       List<App> appList =gson.fromJson(jsonData, new
    TypeToken<List<App>>() {
       }.getType());
       for (App app : appList) {
          Log.d("MainActivity","weather is " + app.getWeather());
          Log.d("MainActivity","temperature is " + app.getTemperature());
       }
    }

     

     

     

    3. XML解析

    一个XML数据样本

    1.    SAX解析XML

     

    privatevoid parseXMLWithSAX(String xmlData) {
       try {
          SAXParserFactory factory =
    SAXParserFactory.newInstance();
          XMLReader xmlReader = factory.
    newSAXParser().getXMLReader();
          ContentHandler handler = newContentHandler();
         xmlReader.setContentHandler(handler);
          xmlReader.parse(new InputSource(newStringReader(xmlData)));
       } catch (Exception e) {
          e.printStackTrace();
       }
    }

     

     

     

    4.    Pull解析XML

     

    privatevoid parseXMLWithPull(String xmlData) {
       try {
          XmlPullParserFactory factory =XmlPullParserFactory.newInstance();
          XmlPullParser xmlPullParser =factory.newPullParser();
          xmlPullParser.setInput(newStringReader(xmlData));
          int eventType =xmlPullParser.getEventType();
          String id = "";
          String name = "";
          while (eventType !=XmlPullParser.END_DOCUMENT) {
             String nodeName =xmlPullParser.getName();
             switch (eventType) {
             //
    开始解析某个结点
            
    case XmlPullParser.START_TAG: {
                if ("id".equals(nodeName)){
                   id =xmlPullParser.nextText();
                } else if("name".equals(nodeName)) {
                   name =xmlPullParser.nextText();
                }
                break;
             }
             //
    完成解析某个结点
            
    case XmlPullParser.END_TAG: {
                if("app".equals(nodeName)) {
                  Log.d("MainActivity", "id is " + id);
                  Log.d("MainActivity", "name is " + name);
                }
                break;
             }
             default:
                break;
             }
             eventType = xmlPullParser.next();
          }
       } catch (Exception e) {
          e.printStackTrace();
       }
    }

     

     

    展开全文
  • JSON是什么? JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。它基于JavaScript(Standard ECMA-262 3rd Edition - December 1999)的一个子集。 JSON采用完全独立于语言的文本格式,但是也使用了...

    JSON是什么?

    JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。它基于JavaScript(Standard ECMA-262 3rd Edition - December 1999)的一个子集。 JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C, C++, C#, Java, JavaScript, Perl, Python等)。这些特性使JSON成为理想的数据交换语言。 易于人阅读和编写,同时也易于机器解析和生成(网络传输速度)。

     

    为什么使用JSON?

    先看一个简单的例子,假设客服端需要向服务器端请求数据:

    数据如果是一个单纯的对象,比如自定义的类User的一个实例

    package com.example.hixin;
    
    
    public class User{
        private String shenfennum;
        private String name;
        private String regtime;
        private String address;
        private String birthdate;
        
        public User(){
            
        }
        
        
        public String getShenfennum() {
            return shenfennum;
        }
    
        public void setShenfennum(String shenfennum) {
            this.shenfennum = shenfennum;
        }
    
        public String getName() {
            return name;
        }
    
        public void setName(String name) {
            this.name = name;
        }
    
        public String getRegtime() {
            return regtime;
        }
    
        public void setRegtime(String regtime) {
            this.regtime = regtime;
        }
    
        public String getAddress() {
            return address;
        }
    
        public void setAddress(String address) {
            this.address = address;
        }
    
        public String getBirthdate() {
            return birthdate;
        }
    
        public void setBirthdate(String birthdate) {
            this.birthdate = birthdate;
        }
    
    
        @Override
        public String toString() {
            // TODO Auto-generated method stub
            return "User [shenfennum=" + shenfennum + ", name=" + name + ", regtime=" + regtime + ", address=" + address + ", birthdate=" + birthdate + "]";
        }
        
        
    }

    可以在发送的时候使用ObjectOutputStream,接受时使用ObjectInputStream。但这种直接发送对象

    的方式,虽然方便,但在使用的时候容易出现问题,对于ArrayList<User>这种复合对象基本上就不能考虑啦!

     

    再来看一个更复杂的情形:

    有这么一个需求,设备在验证登录成功之后,要从服务拉取所有使用此设备的用户,这个过程中,服务器要发送两种类型的数据。

    1、登录成功的响应:可以是一个整形数字,也可以是一个字符串“success”

    2、使用该设备的所有用户:ArrayList<User>

    客户端接受服务器返回的数据,接受到的本质上是一个流(inputStream),如何从一个流中解析出这两种数据。显然直接发送对象的方式不可能解决!

    这个时候就可以考虑JSON

     

    login!!![{"shenfennum":"412728199005233676","name":"boge","regtime":"2015-04-27 10:23:27","address":"河南省周口市","birthdate":"1990-05-23"},{"shenfennum":"412728199005233677","name":"bobe","regtime":"2015-04-27 10:23:27","address":"河南省周口市","birthdate":"1990-05-24"},{"shenfennum":"412728199005233678","name":"bobo","regtime":"2015-05-14 11:01:38","address":"河南省郑州市","birthdate":"2015-05-14"}]

      1、提问

    question!!!20num[{"label":"交通住宿","question_content":"在美国怎么打出租车"},{"label":"交通住宿","question_content":"在美国怎么打出租车"},{"label":"交通住宿","question_content":"在美国怎么打出租车"}]

     

    2、回答

    answer!!!15num[{"label":"交通住宿","question_content":"在美国怎么打出租车","answer_content":"两种方法:1、直接打一个本地区出租车公司的电话..."},

    {"label":"交通住宿","question_content":"在美国怎么打出租车","answer_content":"两种方法:1、直接打一个本地区出租车公司的电话..."},
    {"label":"交通住宿","question_content":"在美国怎么打出租车","answer_content":"两种方法:1、直接打一个本地区出租车公司的电话..."}
    ]

     

    再使用ArrayList时要这样定义:

     public List<User>  userList = new ArrayList<User>();

    不要这样:

     public ArrayList<User>  userList = new ArrayList<User>();

    下面这种在JSON解析时会遇到麻烦:

                            Gson gson = new Gson();
                                          
                                            Type type = new TypeToken<ArrayList<User>>(){}.getType();
                                            LinkedList<User> templist = new LinkedList<User>(); 
                                           
                                           // gson.fromJson 默认返回 LinkedList
                                            templist = gson.fromJson(s2, type);
                                            for (User suser : templist) { 
                                                app.userList.add(suser);
                                           }  

    最上面的那种定义就很简单:

                            Type type = new TypeToken<List<User>>(){}.getType();                                       
                                            app.userList = gson.fromJson(s2, type);                                                                             

    一次请求数据量过大时一定要使用分页技术

    select * from xueya2 limit 0,2

     

    select * from xueya2 limit 2,2

    JSON数据解析:

    String jsons = "{'Status':'success','num':2,'answers':[{'answer_content':'这是第一个回答','question_content':'这是一个测试,这里是内容','Tag':'1'},{'answer_content':'这是第二个回答','question_content':'这是一个测试,这里是内容','Tag':'1'}],'type':'answer'}";
            try {
                JSONObject jsonObject = new JSONObject(jsons);
                String num = jsonObject.getString("num");
                Log.i("num",num);
                String answers = jsonObject.getString("answers");
                JSONArray quesArray = new JSONArray(answers);
                for(int i=0; i< quesArray.length(); i++){
                    JSONObject quesObject = quesArray.getJSONObject(i);
                    String ans = quesObject.getString("answer_content");
                    Log.i("ans",ans);
                }
                
                
            } catch (JSONException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }

     

    转载于:https://www.cnblogs.com/hixin/p/4487186.html

    展开全文
  • 这是一个包含异步加载、网络编程JSON解析、LruCache图片缓存的简易的ListView图文混排Demo.rar,太多无法一一验证是否可用,程序如果跑不起来需要自调,部分代码功能进行参考学习。
  • 连接网络实现解析json数据一         phone吉凶查询(返回xml格式的数据)   一旦成功,将数据取出设置到textview里面     判断第一个标签是不是结束标签,即...
    1. listView的使用简单回顾

    第一步:

    首先在layout文件中定义一个listview

     

    第二步:

    找到定义的listview控件, 设置一个 适配器 (adapter)

     

    第三步:

    在 适配器中将 要绑定到 listview中的 数据传给 adapter ,

     

    有了以上三步, 那么数据就可以 显示到屏幕上了

     

    Mvc 设计思想:

     

    M: 数据

    V: listview

    C: adapter

     

    基本上是模版代码.. 如果显示到屏幕上的数据是 有规律的, 那么 就可以使用 listview

     

    例如: apiDemos, settings, ... Wechat (微信)

    优化的过程中 : convertView

     

    Adapter--->>> getCount(告诉 控制器有多少个item 条目要显示), getView( 当 每个item要在屏幕上显示的时候会被调用 )

     

    是用来做优化的. ----- 卖烧饼的 托儿的 故事 ---(支付宝的面试)

     

    1. 在学生管理系统中引入animationDrawable动画

    1.导入动画图片(注意命名格式)

    2.建立xml文件

    3.在activity_main.xml文件中添加一个ImageView

    4.MainActivity.java

    1. 如何去学习(查看apidemos,文档,提供好的源代码)

     

     

    没事儿, 经常 翻翻 源代码, 翻翻 api 文档, 翻翻 sdk 中 samples, 使用模拟器 去看看 运行的效果, 找到 自己需要的 东东...

    如何去写简历 ....

    sdk/platform/android-x/samples

     

     

    1. android中国际化相关

    I18n--- internationalization

    Localization --- 本地化

     

    不同的地区和国家的人使用这个系统或者软件的时候 应该 看到 符合该国家和 地区的阅读习惯...

     

    国际化的非常容器去实现的

     

    你只需要去准备好相应的资源文件就可以了

     

    如果 大家忘记 如何做 国际化了, 可以去 翻

     

     

    1. 连接网络获得黑马程序员的logo图片

    activity_main.xml

    MainActivity.java

    1. 连接网络时的一些小细节

    1. 耗时的事儿需要放到非UI线程中&哪个线程创建的视图那么就需要在哪个线程中去更新视图

    1. android中更新ui的设计原理

    1. 使用小秘(handler)机制去更新ui界面

     

     

    1. 使用handler的一些注意点

     

    1. handler的额外的应用(高级)

        

    1. 深入跟踪源码分析handler机制的实现原理(looper中ThreadLocal类)

     

    1. 网页源代码查看器

    1. 模拟了http的响应头来干点坏事儿

    手机冒充PC端

    1. 数据交换格式的介绍&json的相关扯淡

     

    目前 是 排名 数一 数二的数据交换格式 , 在android 中谷歌也相应的集成 了 解析json 格式数据的api

     

    实际开发过程中,同样也需要去 解析服务器返回json 格式的数据

     

     

    1. json数据格式的相关介绍

     

    实际开发过程中,同样也需要去 解析服务器返回json 格式的数据

    格式一: json对象,{key:value,key:value,key:value } 键值对直接用 , 分开,键值之间用 :

    键 本身必须是字符串常量

    {name : '张三'}

    {'name':'张三'}

     

    是等价的

    值 加不加引号,是有区别的,不加引号是变量,加引号常量字符串

     

    格式二:json数组, [值1, 值2 ,值3 ] 数组结构

     

    组合后复杂格式

    [{name:'aaa'}, {name:'bbb'}, {name:ccc}] 表示三个对象数组

     

     

    Json格式 的数据是很多网站 首选的数据交换格式

    1. 连接网络实现解析json数据一

     

     

     

     

    1. phone吉凶查询(返回xml格式的数据)

     

    一旦成功,将数据取出设置到textview里面

     

     

    判断第一个标签是不是结束标签,即是否为空

     

     

     

     

     

     

     

    *** 必须是开始标签才会解析

     

    1. 解析数据时解决乱码的问题

    StreamTool.java

    MainActivity.java

    1. 这几天内容复习

     

    第一天:

    环境的搭建...

    Adb的使用

    adb shell

    adb –s 设备名 shell

    adb devices

    adb kill-server

     

    点击事件的几种写法

     

    一键呼叫老婆 --- 如何去打电话 --- intent

    发送 短信 获得 Q币 ----- SmsManager

     

    第二天:

    如何去存储数据

    • 存储 空间 /data/data/com.itheima.qqlogin/files /cache

    /mnt/sdcard

    • 判断sd卡的状态 --- Environment.getExternalStorageState

     

    Formatter.formatSize

    • 使用sharedPreference去保存数据

      this.getSharedPreference("config",0) /data/data/com.itheima.qqlogin/share_prefs/config.xml

    • 生成xml文件:

      Serializer

    • 解析xml 文件

    Pullparser

     

    第三天:

    • sqlite数据库的使用

    SqliteOpenHelper

     

    onCreate ...

    onUpgrade();

     

    谷歌提供的api

    Insert, update, delete , query (拼接 sql 语句来实现的)

     

    • listView的使用:

    用于绑定数据到 界面的 组件 --- mvc 设计思想去 设计的

     

    对话框: 单选,多选, 确定取消 ---- 参考 api demos

     

    第四天:

    • 引入 动画---
    • 国际化---- 参考 源生的 app 源码 --- music
    • Handler通讯机制
    • 连接网络 :
      • URL

     

    解析服务器返回的数据: xml --- pullparser

    Json--- JsonObject, JsonArray

     

    Json 格式占用的 数据量很少

     

    对象: {key:value}

    数组: [value1,value2]

     

    数据结构 相关的 : 键值对, 就是 数组

     

    队列, 链表

     

     

    展开全文
  • json理解  JSON(JavaScript Object Notation)。notation:符号,乐谱,注释。  它是一个轻量级的数据交换格式。  轻量级和重量级的区别是什么?  轻量级框架侧重于减小开发的复杂度,相应的它的处理能力便...
  • 安卓网络编程——HttpURLConnection

    千次阅读 2019-04-16 21:45:43
    部分案例需要一定的XML和JSON解析知识 https://blog.csdn.net/nishigesb123/article/details/89190973 Socket、TCP、HTTP等等概念搞不清区别的可以先走下面的链接(好像也是转的,不过贴的几张图很好) ...
  • 零、前言 1.初衷 安卓一大堆网络框架,会用倒是会用,但总觉得封装得太多...为了更清晰的认识网络,打算从起点来看一下安卓的安卓网络编程 2.本文测试的url为已在服务器上,可访问: 访问返回Json地址:ht...
  • 网络编程安卓开发中必不可少的一个部分,这里会举一个天气APP的例子。 效果如下: 本文只讲述网络编程json解析相关部分。定位,城市选择等其他内容可以自行查阅相关文章。 本次网络编程使用的是rxvolley,...
  • 网络编程5--JSON

    2016-01-07 20:34:51
    网络编程5–Json对象 Json简介:JavaScript Object Notation,轻量级的数据交换格式,JSON采取了完全独立于语言的文本格式,易于人阅读和解析,同时也易于及其解析和生成(一般用于提升网络传输速率) Json安卓中的...
  • Android - 网络编程 - JSON - 格式

    千次阅读 2014-03-13 19:47:51
    今天很高兴和大家一起学习Android的JSON数据解析,可能对于学习安卓的朋友都知道JSON在数据解析方面已经很普遍了.所以也是我们必定要了解的知识 ,下面让我们了解一下JSON的发展历程. XML——这种用于表示客户端与...
  • 进行网络编程时,就得有服务器;服务器可以使用电脑开启tomcat进行模拟。模拟机可以直接访问tomcat;当用真机运行时,可以让笔记本和手机连接同一无线网络或用笔记本开无线热点给手机连接也可以。 二、准备数据 可以...
  • 总结《第一行代码》Android学习笔记(九)网络编程网络编程WebView使用Http协议访问网络使用HttpURLConnection使用OKHttp解析XML格式数据Pull解析方式SAX解析方式解析JSON格式数据使用JSONObject使用GSON 网络编程 ...
  •  目前 互联网上 主要的数据 数据交换格式是 xml 和 json 格式的, 数据  所以, 如果你写了一个app, 这个app 中 接受到 了来自服务器 返回给你的 json/xml 格式的数据, 那么你要知道 如何去解析 .  Json: ...
  • 黑马安卓52期视频教程

    热门讨论 2015-06-24 22:15:48
    day04_Android应用开发-网络编程 00_剧情回顾 01_下载网络图片 02_主线程阻塞&消息队列机制 03_增加缓存功能 04_获取开源项目&smartImageView 05_Html源文件查看器 06_新闻客户端的布局 07_获取新闻xml文件并解析 ...
  • 这些库函数包括:SQL数据库、GPS、串口(蓝牙)、照相机、XML、JSON、Web服务(HTTP)、后台服务、动画、网络(TCP和UDP)、文本阅读(TTS)和声音识别、Web浏览、移动电话广告(AdMob)、图表、OpenGL、图像,等等...
  • Basic4android(简称B4A)是一个简单然而功能非常强大的Android应用开发环境。...与Eclipse一样,B4A编译出来的编程是伪编译的,即安卓手机上运行这些编译出来的程序时,是解析执行的。因为JAVA本身就是伪编译。
  • Basic4android(简称B4A)是一个简单然而功能非常强大的Android应用开发环境。...与Eclipse一样,B4A编译出来的编程是伪编译的,即安卓手机上运行这些编译出来的程序时,是解析执行的。因为JAVA本身就是伪编译。
  • Basic4android(简称B4A)是一个简单然而功能非常强大的Android应用开发环境。...与Eclipse一样,B4A编译出来的编程是伪编译的,即安卓手机上运行这些编译出来的程序时,是解析执行的。因为JAVA本身就是伪编译。
  • Basic4android(简称B4A)是一个简单然而功能非常强大的Android应用开发环境。...与Eclipse一样,B4A编译出来的编程是伪编译的,即安卓手机上运行这些编译出来的程序时,是解析执行的。因为JAVA本身就是伪编译。
  • Basic4android(简称B4A)是一个简单然而功能非常强大的Android应用开发环境。...与Eclipse一样,B4A编译出来的编程是伪编译的,即安卓手机上运行这些编译出来的程序时,是解析执行的。因为JAVA本身就是伪编译。
  • 这些库函数包括:SQL数据库、GPS、串口(蓝牙)、照相机、XML、JSON、Web服务(HTTP)、后台服务、动画、网络(TCP和UDP)、文本阅读(TTS)和声音识别、Web浏览、移动电话广告(AdMob)、图表、OpenGL、图像,等等...
  • Flutter 中内嵌 Android iOS 原生View的编程基础 flutter调用android 原生TextView flutter调用ios 原生View 最重要的一点是 具备 Android iOS 原生语言的开发能力 开始使用 1 基本使用说明 1.1 Flutter ...
  • 网络爬虫系列.epub 网页性能管理详解.epub 翻译漫谈——怎样翻译更地道.epub 背包问题九讲.epub 腾讯alloyteam团队前端代码规范.epub 菜鸟学SSH.mobi 蓝色铁骑.epub 解析 Android 架构设计原则.epub 让web app更快的...
  • 网络爬虫系列.epub 网页性能管理详解.epub 翻译漫谈——怎样翻译更地道.epub 背包问题九讲.epub 腾讯alloyteam团队前端代码规范.epub 菜鸟学SSH.mobi 蓝色铁骑.epub 解析 Android 架构设计原则.epub 让web app更快的...
  • Google Java编程风格指南中文版 Android Developers 国内镜像站 Android Api中文版 Android Proguard混淆配置指南 Gradle插件使用指南中文版 Gradle User Guide Tutorials Android学习之路 Google Android官方...
  • Android 上百实例源码分析以及开源分析 集合打包4

    千次下载 热门讨论 2012-07-10 21:54:03
    3、 源码分析之前,需要认真学习一下Jade的Android的编程(有聊天程序源码下载,都在下载包中),编译源码,需要到google 中申请 map api 的key,不过由于神奇的国度制约的原因,申请连接的网站无法访问,需要通过...
  • ✅ Jsonman:零代码快速创建JSON API (Mac App) - 更多介绍 2020年6月2号添加 6r6(杭州) - Github ✅ 在线AI图像处理:一款免下载免注册的在线图像处理工具,支持黑白照片上色、图像无损放大、人像漫画化 - ...

空空如也

空空如也

1 2
收藏数 30
精华内容 12
关键字:

安卓网络编程json