`
ouyangfeng521
  • 浏览: 248714 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

android json相关

 
阅读更多

android 对象到json json到对象

 

接口类

package com.test.json;

import org.json.JSONException;
import org.json.JSONObject;

public interface JsonSerializable {

	abstract void deCode(JSONObject object) throws JSONException;
	
	abstract void enCode(JSONObject object) throws JSONException;
	
}
 

实体类

package com.test.json;

import java.io.Serializable;

import org.json.JSONException;
import org.json.JSONObject;

public class ItemInfo implements Serializable , JsonSerializable{
	
	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	
	public int screen;

	public int cellX;
	
	public int cellY;
	
	public int mWidth;
	
	public int mHeight;
	
	public Object ObjectTag;

	public ItemInfo(){}
	
	public ItemInfo(int screen,int cellX, int cellY) {
		super();
		this.screen = screen;
		this.cellX = cellX;
		this.cellY = cellY;
	}

	public ItemInfo(int screen,int cellX, int cellY, int mWidth, int mHeight,
			Object objectTag) {
		super();
		this.screen = screen;
		this.cellX = cellX;
		this.cellY = cellY;
		this.mWidth = mWidth;
		this.mHeight = mHeight;
		ObjectTag = objectTag;
	}

	@Override
	public  void enCode(JSONObject object) throws JSONException {
		object.put("screen", screen);
		object.put("cellX", cellX);
		object.put("cellY", cellY);
	}

	@Override
	public void deCode(JSONObject object) throws JSONException {
		screen = object.getInt("screen");
		cellX = object.getInt("cellX");
		cellY = object.getInt("cellY");
	}

}
 

 

package com.test.json;

import org.json.JSONException;
import org.json.JSONObject;

import android.graphics.Bitmap;

public class AppInfo extends ItemInfo {

	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;

	public Bitmap iconBitmap;

	public String title;

	public boolean isInstall = false;

	public boolean isUpdate = false;
	
	public AppInfo(){
		super();
	}

	public AppInfo(Bitmap iconBitmap, String title) {
		super();
		this.iconBitmap = iconBitmap;
		this.title = title;
	}

	public AppInfo(int screen, int cellX, int cellY, Bitmap iconBitmap,
			String title) {
		super(screen, cellX, cellY);
		this.iconBitmap = iconBitmap;
		this.title = title;
	}

	public boolean eqXY(AppInfo appInfo) {
		if (this.cellX == appInfo.cellX && this.cellY == appInfo.cellY)
			return true;
		return false;
	}

	@Override
	public void enCode(JSONObject object) throws JSONException {
		super.enCode(object);
		object.put("title", title);
		object.put("isInstall", isInstall);
		object.put("isUpdate", isUpdate);
	}

	@Override
	public void deCode(JSONObject object) throws JSONException {
		super.deCode(object);
		title = object.getString("title");
		isInstall = object.getBoolean("isInstall");
		isUpdate = object.getBoolean("isUpdate");
	}

	
	
}

 

activity

package com.test.json;

import org.json.JSONException;
import org.json.JSONObject;
import org.json.JSONTokener;

import android.app.Activity;
import android.content.Context;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;

public class JsonTestActivity extends Activity implements OnClickListener {
   
	private Button button;
	
	private AppInfo appInfo;
	
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        button = (Button) findViewById(R.id.button1);
        button.setOnClickListener(this);
        findViewById(R.id.button2).setOnClickListener(this);
        appInfo = new AppInfo(1, 1, 1, null, "1234");
    }

	@Override
	public void onClick(View v) {
		switch (v.getId()) {
		case R.id.button1:
			objToJson();
			break;
		case R.id.button2:
			jsonToObj();
			break;
		default:
			break;
		}
		
	}
	
	private void objToJson(){
		JSONObject jsonObject = new JSONObject();
		try {
			appInfo.enCode(jsonObject);
			String data =  jsonObject.toString();
			getDataContainer().edit().putString("Appinfo",data).commit();
		} catch (JSONException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
	
	private void jsonToObj(){
		String jsonStr = getDataContainer().getString("Appinfo",null);
		if(null == jsonStr) return ;
		try {
			JSONObject object = (JSONObject) new JSONTokener(jsonStr).nextValue();
			appInfo = new AppInfo();
			appInfo.deCode(object);
		} catch (JSONException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
	
	private SharedPreferences getDataContainer(){
		return getSharedPreferences("JsonTestActivity", Context.MODE_WORLD_READABLE | Context.MODE_WORLD_WRITEABLE);
	}
}
 
分享到:
评论

相关推荐

    Android_JSON数据解析

    在Android开发中,JSON(JavaScript Object Notation)是一种常用的数据交换格式,因其简洁、易读、易编写的特点,被广泛应用于服务器与客户端之间的数据传输。本篇将详细讲解如何在Android应用中解析JSON数据,主要...

    Android Json 解析demo

    在Android开发中,JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,常用于应用程序与服务器之间的数据传输。这个“Android Json 解析demo”是一个示例项目,它展示了如何在Android Studio环境下处理...

    android-json-rpc

    "android-json-rpc"正是这样一款专为Android平台设计的JSON-RPC库,它简化了开发者在Android应用程序中执行JSON-RPC服务调用的过程。 该库的核心特性包括: 1. **简单易用的API**:android-json-rpc提供了一个直观...

    android json 解析jar

    在Android开发中,JSON(JavaScript Object Notation)是一种广泛使用的轻量级数据交换格式,它易于人阅读和编写,同时也方便机器解析和生成。当应用需要与服务器进行数据交互时,JSON是常见的数据传输格式。Android...

    android json php mysql

    Android提供了Gson库和org.json库等工具方便地序列化和反序列化JSON对象。 **PHP**:PHP是一种广泛用于Web开发的脚本语言,尤其适合处理服务器端任务,如接收来自Android客户端的HTTP请求,验证数据,然后与数据库...

    AE插件生成JSON文件,Android读取JSON播放动画

    在Android开发中,为了提升应用中的动画效果和性能,开发者经常使用Adobe After Effects(简称AE)来设计复杂的视觉效果,并将其导出为JSON文件。这种做法可以借助Lottie-Android库,让Android应用能够轻松地读取并...

    org.json Android

    在Android开发中,数据交换是不可或缺的一环,而JSON(JavaScript Object Notation)作为一种轻量级的数据交换格式,因其简洁、易读、易解析的特性,被广泛应用于客户端与服务器之间的数据传输。"org.json" 是一个...

    JS调用Android方法,向Android方法传递json数据

    本文将深入探讨如何使用JavaScript调用Android的方法,并传递JSON数据,以实现两者之间的高效通信。 首先,我们需要了解`Android WebView`。WebView是Android系统提供的一种组件,它能够加载并显示网页内容,就像是...

    JsonFormat java android

    在Java和Android开发中,处理JSON数据是常见的任务,这涉及到JSON的序列化与反序列化,以及格式化显示。"JsonFormat"在这里指的是一款本地工具,用于帮助开发者更方便地对JSON数据进行格式化,使其更易读。 在...

    Android-AndroidJSON格式化显示可配置样式展开与折叠

    在Android应用开发中,处理JSON数据是常见的任务。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,因其简洁和易于人阅读及编写的特点,被广泛用于服务器向客户端传输数据。本文将深入探讨如何在...

    android json的demo

    在Android开发中,处理JSON数据是常见的任务,尤其是在与服务器进行数据交互时。本篇将详细介绍如何在Android中使用JSON,特别是通过JSONObject进行解析。 首先,我们需要了解JSON的基本结构。JSON数据可以表示为...

    android-json-0.0.20131108.vaadin1-API文档-中文版.zip

    赠送jar包:android-json-0.0.20131108.vaadin1.jar; 赠送原API文档:android-json-0.0.20131108.vaadin1-javadoc.jar; 赠送源代码:android-json-0.0.20131108.vaadin1-sources.jar; 赠送Maven依赖信息文件:...

    Android Json数据处理

    在Android开发中,JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,它使得人和机器都能容易地读取和编写数据。由于其简洁、高效的特点,JSON被广泛用于移动应用开发,尤其是Android平台,作为服务器...

    Android读取本地json文件的方法(解决显示乱码问题)

    在Android应用开发中,有时我们需要从本地存储的JSON文件中读取数据,这通常涉及到文件I/O操作和字符编码处理。以下将详细讲解如何在Android中读取本地JSON文件,并解决可能出现的显示乱码问题。 1. **读取本地JSON...

    Android_JSON_RPC_0.zip_JSON_android json_android-CS_json android

    JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,被广泛用于移动应用开发,特别是Android平台。在Android中,JSON常用来与服务器进行数据交互,实现客户端与服务端之间的RPC(Remote Procedure Call...

    Android JSON数据的封装及解析

    在Android开发中,JSON(JavaScript Object Notation)是一种常用的数据交换格式,因其轻量级、易读易写的特点,被广泛应用于服务器与客户端之间的数据通信。本教程将深入讲解如何在Android中对JSON数据进行封装和...

    android json数据下载与解析demo

    在Android开发中,JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,常用于服务器与客户端之间的...通过学习和实践这个示例,开发者可以更好地理解和掌握Android应用中与网络交互和数据处理的相关技术。

    android 动态解析获取json数据的键值对

    在Android开发中,有时我们需要从服务器获取JSON数据并解析它以展示在应用中。这个"android 动态解析获取json数据的键值对"的项目就是针对这种情况的一个实例,主要展示了如何在Eclipse环境下,不预先创建JSON键值...

    android json数据的 封装与解析

    android json数据的 封装与解析,代码清晰,可供参考。

    Android json解析jar包

    在Android开发中,JSON是一种广泛使用的轻量级数据交换格式,它允许应用程序之间交换和存储数据。本主题主要关注如何在Android中解析JSON数据,特别是使用Gson库,这是一个非常流行的Java库,由Google开发,专门用于...

Global site tag (gtag.js) - Google Analytics