java - 如何将数据从一个类传递到另一个类?

标签 java android

这里我使用了两个类 dulux 和 jsonfiles 类。我尝试使用对象将数据传递给 jsonfiles 到 dulux,但它传递的是空值这是我的代码:

jasonfiles.class.package com.cethar.grid;
import java.io.InputStream;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Vector;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import android.R.string;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.widget.TextView;
public class Jsonfiles extends Activity {
TextView tvdata,tvdata1,tvdata2,tvdata3,tvdata4,tvdata5;
public static JSONObject jObject;
String  arr_name,arr_row,arr_column,arr_rows,string_filter,string_arrange,string_color,string_produ    ct,string_groups,string_video,string_schemes;
int c1,c2,c3;
int file_filter,file_arrangement,file_color;
String v3,v4,v5,v6,v7,v8;
Vector  v =new Vector();
public HashMap color_id = new HashMap();
HashMap arrange_id = new HashMap();
HashMap filter_main = new HashMap();
HashMap arrange_name = new HashMap();
HashMap product_name = new HashMap();
HashMap group_name = new HashMap();
HashMap video_id = new HashMap();
@Override
public  void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.json);    
arrangementFile();
filterFile();
colorFile();
string element = Product();    
}
public   String parseFile(int file)
{
try{
String x = "";
InputStream is = this.getResources().openRawResource(file);
byte[] buffer = new byte[is.available()];
while (is.read(buffer) != -1);
String jsontext = new String(buffer);
return(jsontext);
} catch (Exception e) {
String Ex=" ";
return(Ex);
}
} 
public void  colorFile() { 
try {
string_color=parseFile(R.raw.colours);
String z = "";
JSONArray JSONArray_color = new JSONArray(string_color);
z = "JSON parsed.\nThere are [" + JSONArray_color.length() + "]\n\n";
int i;
for (i = 0; i < JSONArray_color.length(); i++) {
JSONObject JSONObject_color = JSONArray_color.getJSONObject(i);
HashMap color_elements = new HashMap();
color_elements.put("name",JSONObject_color.getString("name"));
color_elements.put("code",JSONObject_color.getString("code"));
color_elements.put("red",JSONObject_color.getString("red"));
color_elements.put("green",JSONObject_color.getString("green"));
color_elements.put("blue",JSONObject_color.getString("blue"));
color_elements.put("availability",JSONObject_color.getString("availability"));
HashMap color_details = new HashMap();
color_details.put("detail",color_elements);
color_id.put(JSONObject_color.getString("id"), color_elements);    
e.printStackTrace();
}
}
public void arrangementFile() {
try {
string_arrange=parseFile(R.raw.arrangement);
JSONArray JSONArray_arrange = new JSONArray(string_arrange);
String y ="";
int i;
for (i = 0; i < JSONArray_arrange.length(); i++) {
JSONObject JSONObject_arrange = JSONArray_arrange.getJSONObject(i);
HashMap arrange_elements = new HashMap();
Vector arow = new Vector();
Vector acolumn = new Vector();
arow.add(JSONObject_arrange.getString("row"));
acolumn.add(JSONObject_arrange.getString("column"));
String arowsstr;
arowsstr = JSONObject_arrange.getString("rows");
arowsstr = arowsstr.substring(1, arowsstr.length()-1);
String[] astrrows = arowsstr.split(",");
Vector arows = new Vector(Arrays.asList(astrrows));
arrange_elements.put("row", arow);
arrange_elements.put("column", acolumn);
arrange_elements.put("rows", arows);
arrange_name.put(JSONObject_arrange.getString("name"), arrange_elements);
HashMap HashMap_clr = new HashMap();
String clr = JSONObject_arrange.getString("column");
}
Vector  v =new Vector();
v= (Vector)((HashMap) arrange_name.get("RR01")).get("rows"); 
y += v.get(0) + " " + v.get(1)+ " " +v.get(2) + " " +v.get(3);
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public void filterFile() {
try {
string_filter=parseFile(R.raw.filters);
JSONArray JSONArray_filter  = new JSONArray(string_filter);
int i;
String x ="";
for (i = 0; i < JSONArray_filter.length(); i++) {
JSONObject JSONObject_filter  = JSONArray_filter.getJSONObject(i);
HashMap product_elements = new HashMap();
String filter_name = JSONObject_filter.getString("name");
String str_stripes;
str_stripes = JSONObject_filter.getString("stripes");
str_stripes = str_stripes.substring(1, str_stripes.length()-1);
str_stripes = str_stripes.replace("\"", "");
String[] strarr_stripes = str_stripes.split(",");
HashMap HashMap_stripes = new HashMap();
List<String> stripesList = Arrays.asList(strarr_stripes);
for(String fls : stripesList)
{
HashMap_stripes.put(fls, arrange_name.get(fls));
}
filter_main.put(JSONObject_filter.getString("name"),HashMap_stripes);
}
String s1 = " ";
String s2 = " ";
Vector v1 = ((Vector) ((HashMap) ((HashMap)filter_main.get("reds")).get("RR02")).get("row"));
Vector v2 = (Vector) ((HashMap)((HashMap)filter_main.get("reds")).get("RR02")).get("column");
v= (Vector)((HashMap) ((HashMap) filter_main.get("reds")).get("RR01")).get("rows");
x += v.get(0) + " " + v.get(1)+ " " +v.get(2) + " " +v.get(3)+ " " +v.get(4)+ " " +v.get(5) + " " +v.get(6);
s1 +=  v1.get(0) + " " ;
s2 += v2.get(0) + " " ;
v6=(String) v.get(0).toString();   
v3= (String) ((HashMap) color_id.get("168")).get("red");
v4 =(String) (((HashMap) color_id.get("168")).get("green"));
v5 =(String) (((HashMap) color_id.get("168")).get("blue"));
c1= Integer.parseInt(v3);
c2= Integer.parseInt(v4);
c3= Integer.parseInt(v5);
for(i=0;i<=6;i++)
{
}
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public string Product() {
string v=null;
try {
string_product=parseFile(R.raw.product_list);
JSONArray JSONArray_product = new JSONArray(string_product);
String y ="";
for (int i = 0; i < JSONArray_product.length(); i++) {
JSONObject JSONObject_product = JSONArray_product.getJSONObject(i);
HashMap product_elements = new HashMap();
product_elements.put("CLEANING_UP",JSONObject_product.getString("CLEANING_UP"));
product_elements.put("NUMBER_COATS",JSONObject_product.getString("NUMBER_COATS"));
product_elements.put("PACK_SIZES",JSONObject_product.getString("PACK_SIZES"));     product_elements.put("SHORTDESCRIPTION",JSONObject_product.getString("SHORTDESCRIPTION"));
product_elements.put("NAME",JSONObject_product.getString("NAME"));
product_elements.put("DRYING_TIME",JSONObject_product.getString("DRYING_TIME"));
product_elements.put("SUBSTRATE",JSONObject_product.getString("SUBSTRATE"));
product_elements.put("LARGEIMAGEURL",JSONObject_product.getString("LARGEIMAGEURL"));
product_elements.put("APPLICATION_METHOD",JSONObject_product.getString("APPLICATION_METHOD"    ));
product_elements.put("SMALLIMAGE",JSONObject_product.getString("SMALLIMAGE"));
product_elements.put("RANGE",JSONObject_product.getString("RANGE"));
product_elements.put("BRAND",JSONObject_product.getString("BRAND"));
product_elements.put("SEQ",JSONObject_product.getString("SEQ"));    
product_elements.put("COVERAGE",JSONObject_product.getString("COVERAGE"));
product_elements.put("FINISH",JSONObject_product.getString("FINISH"));
product_name.put(JSONObject_product.getString("SHORTCODE"),product_elements);
}
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return (v);
}
public void groupsFile() {
try {
string_groups=parseFile(R.raw.availability_groups);
JSONArray JSONArray_groups= new JSONArray(string_groups);
String y ="";
int i;
for (i = 0; i < JSONArray_groups.length(); i++) {
JSONObject JSONObject_groups = JSONArray_groups.getJSONObject(i);
HashMap group_elements = new HashMap();
group_elements.put("groups",JSONObject_groups.getString("groups"));  
}
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public void string_Video() {
string v=null;
try {
string_video=parseFile(R.raw.video_list);
JSONArray JSONArray_video = new JSONArray(string_video);
for (int i = 0; i < JSONArray_video.length(); i++) {
JSONObject JSONObject_video = JSONArray_video.getJSONObject(i);
HashMap video_elements = new HashMap();
video_elements.put("name",JSONObject_video.getString("name"));
video_elements.put("thumbnailURL",JSONObject_video.getString("thumbnailURL"));
video_elements.put("URL",JSONObject_video.getString("URL"));
video_elements.put("desc",JSONObject_video.getString("desc"));
video_elements.put("previewURL",JSONObject_video.getString("previewURL"));
video_id.put(JSONObject_video.getString("video_id"),video_elements);
}
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}   

这是我的 Activity 课dulux.class

import android.app.Activity;
import android.content.Intent;
import android.graphics.Color;
import android.os.Bundle;
import android.view.ViewGroup;
import android.widget.LinearLayout;
import android.widget.TableLayout;
import android.widget.TableRow;
import android.widget.TextView;
import android.widget.TableRow.LayoutParams;
public class DuluxColorGridAActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Jsonfiles js=new Jsonfiles();
System.out.println(""+js.c1);
System.out.println(""+js.c2);
System.out.println(""+js.c3);
LinearLayout ll = (LinearLayout) findViewById(R.id.list_parent);
TableLayout layout = new TableLayout (this);
layout.setLayoutParams( new TableLayout.LayoutParams(ViewGroup.LayoutParams.FILL_PARENT,
ViewGroup.LayoutParams.FILL_PARENT) );
layout.setPadding(8,8,8,8);
TableLayout.LayoutParams rowLp = new TableLayout.LayoutParams(
ViewGroup.LayoutParams.FILL_PARENT,
ViewGroup.LayoutParams.FILL_PARENT,
1.0f);
rowLp.setMargins(6, 0, 0,0);
TableRow.LayoutParams cellLp = new TableRow.LayoutParams(
ViewGroup.LayoutParams.FILL_PARENT,
ViewGroup.LayoutParams.FILL_PARENT,
1.0f);
cellLp.setMargins(6,0, 0, 0);
for (int f=0; f<=6; f++) {
js.filterFile();
TableRow tr = new TableRow(this);
tr.setBackgroundColor(Color.BLACK);
tr.setPadding(0,0, 0,2 );
TableRow.LayoutParams llp = new
TableRow.LayoutParams(LayoutParams.FILL_PARENT,LayoutParams.FILL_PARENT);
llp.setMargins(0, 0, 2, 0);//2px right-margin
//New Cell
for (int c1=0; c1<=3; c1++) {
LinearLayout cell = new LinearLayout(this);
if(c1==0)
cell.setBackgroundColor(Color.rgb(js.c1, js.c2, js.c3));
else
cell.setBackgroundColor(Color.rgb(0,243, 0));
//cell.setBackgroundColor(Color.WHITE);
cell.setLayoutParams(llp);//2px border on the right for the cell
TextView b = new TextView (this);
b.setText("Sample");
b.setTextSize(10.0f);
b.setHeight(75);
b.setWidth(107);
b.setPadding(0, 0, 4, 0);
cell.addView(b);
tr.addView(cell,cellLp);
} // for
layout.addView(tr,rowLp);
} // for
ll.addView(layout);
//      super.setContentView(layout);
}
}

这是我的示例 JSON 文件代码

  {"id" : 168, "name" : "Plum Escape", "code" : "12RR 07/229", "red" : 102, "green" :    65, "blue" : 88, "availability" : "g12"}

RGB 颜色无法从一个类检索到另一个类,我怎样才能将一个类的值获取到另一个类

最佳答案

尝试得到这个例子,然后很容易

要打开一个 Activity 并等待结果,我们可以使用这个语法

Intent newIntent = new Intent(this.getApplicationContext(), ActivityClass2.class);
startActivityForResult(newIntent, 0);

ActivityClass2 是我们需要创建并从当前 Activity 中打开的 Activity 的类名。 startActivityForResult 是运行 newActivity 的方法。稍后我们可以通过在当前 Activity 上添加此函数来获得结果

protected void onActivityResult(int requestCode, int resultCode, Intent data)

首先要向 newActivity 发送数据或参数,我们可以使用此语法

Bundle bundle = new Bundle();
bundle.putString(“param1″, “test”);

Intent newIntent = new Intent(this.getApplicationContext(), ActivityClass2.class);
newIntent.putExtras(bundle);
startActivityForResult(newIntent, 0);

在 ActivityClass2 上,我们可以使用这个语法读取这个参数

Bundle bundle = this.getIntent().getExtras();
String param1 = bundle.getString(“param1″);

请小心使用 param1,因为如果我们没有设置它,它可能为 null。

因此在Android 中的两个 Activity 之间发送或传递数据或参数是非常容易的。最后一件事是为 startActivityForResult 返回一个值,我们可以添加这行代码来关闭 ActivityClass2 并将焦点返回到 opener 并将数据发送到 opener Activity 。

Bundle bundle = new Bundle();
bundle.putString(“status”, “OK”);
Intent mIntent = new Intent();
mIntent.putExtras(bundle);
setResult(RESULT_OK, mIntent);
finish();

关于java - 如何将数据从一个类传递到另一个类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8712097/

相关文章:

android - ContentResolver.openAssetFileDescriptor() 在 Android 12 中需要很长时间

java - Firebase OrderbyChild 查询返回父键

java - 如何使用 Eclipse 搜索类的实例?

java - JMenu 不在 Windows 外观中

java - import android.support 无法解决

android - 无法解析符号 'MultiDex'

java - JSON : empty quotes, 空值中的空字段,还是删除字段?

java - 在执行过程中停止 Rhino 引擎

android - ListView 中的 EditText 在 ListView 中滚动时丢失内容

java - XML 在 Android 中不显示