https://gist.github.com/Akayh/5566992
public static TicketTool getInstance(){ //新增一個public method getInstance()判斷有沒有new過
if(ticketTool == null){
ticketTool = new TicketTool();
}
return ticketTool;
}
用法:
TicketTool ticketTool= TicketTool.getInstance();
變數設為PUBLIC 其他都是private
在CLASS外面存取CLASS中的變數要用TicketTool.getInstance().ticket_idArrayList
package com.ewallet.citygo.model;
import java.util.ArrayList;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import android.content.Context;
import android.util.Log;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.TextView;
import com.android.volley.Request.Method;
import com.android.volley.Response;
import com.android.volley.VolleyError;
import com.android.volley.VolleyLog;
import com.android.volley.toolbox.StringRequest;
import com.ewallet.citygo.CGApplication;
public class TicketTool {
public String getStrResponse() {
return getInstance().strResponse;
}
public void setStrResponse(String strResponse) {
getInstance().strResponse = strResponse;
}
public static ArrayList<String> getTicket_TK_nameArrayList() {
return getInstance().ticket_TK_nameArrayList;
}
public static void setTicket_TK_nameArrayList(
ArrayList<String> ticket_TK_nameArrayList) {
getInstance().ticket_TK_nameArrayList = ticket_TK_nameArrayList;
}
public static ArrayList<Integer> getTicket_idArrayList() {
return getInstance().ticket_idArrayList;
}
public static void setTicket_idArrayList(ArrayList<Integer> ticket_idArrayList) {
getInstance().ticket_idArrayList = ticket_idArrayList;
}
public static ArrayList<SaleType> getSaleTypeArrayList() {
return getInstance().SaleTypeArrayList;
}
public static void setSaleTypeArrayList(ArrayList<SaleType> saleTypeArrayList) {
getInstance().SaleTypeArrayList = saleTypeArrayList;
}
public static SaleType getTicketToolsaleType() {
return getInstance().TicketToolsaleType;
}
public static void setTicketToolsaleType(SaleType ticketToolsaleType) {
getInstance().TicketToolsaleType = ticketToolsaleType;
}
public static Sale getTicketToolSale() {
return getInstance().TicketToolSale;
}
public static void setTicketToolSale(Sale ticketToolSale) {
getInstance().TicketToolSale = ticketToolSale;
}
final private static String url="http://106.187.38.21:8080/struts2ex/";
public String strResponse;
public ArrayList<String> ticket_TK_nameArrayList;
public ArrayList<Integer> ticket_idArrayList;
public ArrayList<SaleType> SaleTypeArrayList;
public SaleType TicketToolsaleType;
public Sale TicketToolSale;
private static TicketTool ticketTool = null;
public static TicketTool getInstance(){ //新增一個public method getInstance()判斷有沒有new過
if(ticketTool == null){
ticketTool = new TicketTool();
getInstance().ticket_TK_nameArrayList= new ArrayList<String> ();
getInstance().ticket_idArrayList= new ArrayList<Integer>();
getInstance().SaleTypeArrayList=new ArrayList<SaleType>();
getInstance(). TicketToolsaleType=new SaleType();
getInstance().TicketToolSale =new Sale();
}
return ticketTool;
}
//目前不使用
public String getTicket(){
//從http://106.187.38.21/funad/funAD/phpMyAdmin/
//獲得傳回的JSONARRAY
StringRequest strReq = new StringRequest(Method.POST,
url, new Response.Listener<String>() {
@Override
public void onResponse(String response) {
Log.d("TAG Ticket", response.toString());
ticketTool.strResponse=response;
try {
JSONArray j = new JSONArray(response);
for(int i =0;i<j.length();i++){
//ticket.TK_nameArrayList.add(j.getJSONObject(i).getString("TK_name"));
}
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
VolleyLog.d("TAG Ticket", "Error: " + error.getMessage());
}
});
CGApplication.getInstance().addToRequestQueue(strReq, "getTicket");
return ticketTool.strResponse;
}
//目前不使用
public void getSaleType(final int id){
StringRequest strReq = new StringRequest(Method.POST,
url+"querySaleType", new Response.Listener<String>() {
@Override
public void onResponse(String response) {
//Log.d("TAG TicketTool getSaleType", response.toString());
strResponse=response;
try {
JSONArray j = new JSONArray(response);
for(int i =0;i<j.length();i++){
if(j.getJSONObject(i).getInt("saleId")==id){
SaleType saleType= new SaleType();
TicketTool.getInstance().TicketToolsaleType.setId(j.getJSONObject(i).getInt("id"));
saleType.setSaleId(j.getJSONObject(i).getInt("saleId"));
saleType.setPrice(j.getJSONObject(i).getInt("price"));
//Log.d("QRShopConsumeFragment getSaleType","price:"+saleType.getPrice());
saleType.setStocks(j.getJSONObject(i).getInt("stocks"));
saleType.setQuantitySold(j.getJSONObject(i).getInt("quantitySold"));
saleType.setBeginningDate(j.getJSONObject(i).getString("beginningDate"));
saleType.setClosingDate(j.getJSONObject(i).getString("closingDate"));
saleType.setUpdate_Date(j.getJSONObject(i).getString("update_Date"));
TicketToolsaleType=saleType;
}else{
}
//ticketTool.SaleTypeArrayList.add(saleType);
}
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
VolleyLog.d("TAG Ticket", "Error: " + error.getMessage());
}
});
CGApplication.getInstance().addToRequestQueue(strReq, "getSaleType");
}
public void getTK_name(final Context c,final ListView listView){
//從http://106.187.38.21/funad/funAD/phpMyAdmin/
//獲得傳回的JSONARRAY
StringRequest strReq = new StringRequest(Method.POST,
url+"getTK_name", new Response.Listener<String>() {
@Override
public void onResponse(String response) {
Log.d("TAG Ticket", response.toString());
ticketTool.strResponse=response;
try {
JSONArray j = new JSONArray(response);
for(int i =0;i<j.length();i++){
getInstance().ticket_TK_nameArrayList.add(j.getJSONObject(i).getString("TK_name"));
getInstance().ticket_idArrayList.add(j.getJSONObject(i).getInt("id"));
}
listView.setAdapter(new ArrayAdapter<String>(c, android.R.layout.simple_list_item_1, ticketTool.ticket_TK_nameArrayList));
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
VolleyLog.d("TAG Ticket", "Error: " + error.getMessage());
}
});
CGApplication.getInstance().addToRequestQueue(strReq, "getTK_name");
}
public void setPrice(final int id,final TextView t) {
StringRequest strReq = new StringRequest(Method.POST,
url+"querySaleType", new Response.Listener<String>() {
@Override
public void onResponse(String response) {
//Log.d("TAG TicketTool getSaleType", response.toString());
ticketTool.strResponse=response;
try {
JSONArray j = new JSONArray(response);
for(int i =0;i<j.length();i++){
if(j.getJSONObject(i).getInt("saleId")==id){
//Log.d("TicketTool setPrice","price:"+j.getJSONObject(i).getInt("price"));
t.setText(String.valueOf(j.getJSONObject(i).getInt("price")));
}else{
}
}
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
VolleyLog.d("TAG Ticket", "Error: " + error.getMessage());
}
});
CGApplication.getInstance().addToRequestQueue(strReq, "setPrice");
}
public void setTK_description(final int id,final TextView t) {
StringRequest strReq = new StringRequest(Method.POST,
url+"querySale", new Response.Listener<String>() {
@Override
public void onResponse(String response) {
//Log.d("TAG TicketTool getSaleType", response.toString());
ticketTool.strResponse=response;
try {
JSONArray j = new JSONArray(response);
for(int i =0;i<j.length();i++){
if(j.getJSONObject(i).getInt("id")==id){
t.setText(j.getJSONObject(i).getString("TK_description"));
}else{
}
//ticketTool.SaleTypeArrayList.add(saleType);
}
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
VolleyLog.d("TAG Ticket", "Error: " + error.getMessage());
}
});
CGApplication.getInstance().addToRequestQueue(strReq, "setTK_description");
}
}
沒有留言:
張貼留言