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(JavaScript Object Notation)是一种常用的数据交换格式,因其简洁、易读、易编写的特点,被广泛应用于服务器与客户端之间的数据传输。本篇将详细讲解如何在Android应用中解析JSON数据,主要...
在Android开发中,JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,常用于应用程序与服务器之间的数据传输。这个“Android Json 解析demo”是一个示例项目,它展示了如何在Android Studio环境下处理...
"android-json-rpc"正是这样一款专为Android平台设计的JSON-RPC库,它简化了开发者在Android应用程序中执行JSON-RPC服务调用的过程。 该库的核心特性包括: 1. **简单易用的API**:android-json-rpc提供了一个直观...
在Android开发中,JSON(JavaScript Object Notation)是一种广泛使用的轻量级数据交换格式,它易于人阅读和编写,同时也方便机器解析和生成。当应用需要与服务器进行数据交互时,JSON是常见的数据传输格式。Android...
Android提供了Gson库和org.json库等工具方便地序列化和反序列化JSON对象。 **PHP**:PHP是一种广泛用于Web开发的脚本语言,尤其适合处理服务器端任务,如接收来自Android客户端的HTTP请求,验证数据,然后与数据库...
在Android开发中,为了提升应用中的动画效果和性能,开发者经常使用Adobe After Effects(简称AE)来设计复杂的视觉效果,并将其导出为JSON文件。这种做法可以借助Lottie-Android库,让Android应用能够轻松地读取并...
在Android开发中,数据交换是不可或缺的一环,而JSON(JavaScript Object Notation)作为一种轻量级的数据交换格式,因其简洁、易读、易解析的特性,被广泛应用于客户端与服务器之间的数据传输。"org.json" 是一个...
本文将深入探讨如何使用JavaScript调用Android的方法,并传递JSON数据,以实现两者之间的高效通信。 首先,我们需要了解`Android WebView`。WebView是Android系统提供的一种组件,它能够加载并显示网页内容,就像是...
在Java和Android开发中,处理JSON数据是常见的任务,这涉及到JSON的序列化与反序列化,以及格式化显示。"JsonFormat"在这里指的是一款本地工具,用于帮助开发者更方便地对JSON数据进行格式化,使其更易读。 在...
在Android应用开发中,处理JSON数据是常见的任务。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,因其简洁和易于人阅读及编写的特点,被广泛用于服务器向客户端传输数据。本文将深入探讨如何在...
在Android开发中,处理JSON数据是常见的任务,尤其是在与服务器进行数据交互时。本篇将详细介绍如何在Android中使用JSON,特别是通过JSONObject进行解析。 首先,我们需要了解JSON的基本结构。JSON数据可以表示为...
赠送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(JavaScript Object Notation)是一种轻量级的数据交换格式,它使得人和机器都能容易地读取和编写数据。由于其简洁、高效的特点,JSON被广泛用于移动应用开发,尤其是Android平台,作为服务器...
在Android应用开发中,有时我们需要从本地存储的JSON文件中读取数据,这通常涉及到文件I/O操作和字符编码处理。以下将详细讲解如何在Android中读取本地JSON文件,并解决可能出现的显示乱码问题。 1. **读取本地JSON...
JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,被广泛用于移动应用开发,特别是Android平台。在Android中,JSON常用来与服务器进行数据交互,实现客户端与服务端之间的RPC(Remote Procedure Call...
在Android开发中,JSON(JavaScript Object Notation)是一种常用的数据交换格式,因其轻量级、易读易写的特点,被广泛应用于服务器与客户端之间的数据通信。本教程将深入讲解如何在Android中对JSON数据进行封装和...
在Android开发中,JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,常用于服务器与客户端之间的...通过学习和实践这个示例,开发者可以更好地理解和掌握Android应用中与网络交互和数据处理的相关技术。
在Android开发中,有时我们需要从服务器获取JSON数据并解析它以展示在应用中。这个"android 动态解析获取json数据的键值对"的项目就是针对这种情况的一个实例,主要展示了如何在Eclipse环境下,不预先创建JSON键值...
android json数据的 封装与解析,代码清晰,可供参考。
在Android开发中,JSON是一种广泛使用的轻量级数据交换格式,它允许应用程序之间交换和存储数据。本主题主要关注如何在Android中解析JSON数据,特别是使用Gson库,这是一个非常流行的Java库,由Google开发,专门用于...