2016-04-01 79 views
-3

Iam試圖進行登錄活動 我遇到了問題。我的二傳手不工作,我不知道爲什麼? 我有3班。安裝員不工作

1日一個是數據與服務器數據和getter和setter

public class Data{ 

String addressesURL = "/DataSnap/rest/TServerMethods1/LookupCustomers"; 
String articlesURL = "/DataSnap/rest/TServerMethods1/LookupArticle"; 
String invoicesURL = "/DataSnap/rest/TServerMethods1/LookupInvoice"; 
String invoicesDetailsURL = "/DataSnap/rest/TServerMethods1/LookupInvoicePos"; 
String invoicesDetailsAddressesURL = "/DataSnap/rest/TServerMethods1/LookupInvoiceAddress"; 
String ordersURL = "/DataSnap/rest/TServerMethods1/LookupOrders"; 
String ordersDetailsURL = "/DataSnap/rest/TServerMethods1/LookupOrdersPos"; 
String ordersDetailsAddressesURL = "/DataSnap/rest/TServerMethods1/LookupOrdersAddress"; 
public String serverURL; 
//String serverURL = "http://10.10.10.75:8081"; 
String username = "admin"; 
String password = "admin"; 


public String getPassword() { 
    return password; 
} 

public void setPassword(String password) { 
    this.password = password; 
} 

public String getUsername() { 
    return username; 
} 

public void setUsername(String username) { 
    this.username = username; 
} 

public String getAddressesURL() { 
    return addressesURL; 
} 

public void setAddressesURL(String addressesURL) { 
    this.addressesURL = addressesURL; 
} 

public String getArticlesURL() { 
    return articlesURL; 
} 

public void setArticlesURL(String articlesURL) { 
    this.articlesURL = articlesURL; 
} 

public String getInvoicesURL() { 
    return invoicesURL; 
} 

public void setInvoicesURL(String invoicesURL) { 
    this.invoicesURL = invoicesURL; 
} 

public String getInvoicesDetailsURL() { 
    return invoicesDetailsURL; 
} 

public void setInvoicesDetailsURL(String invoicesDetailsURL) { 
    this.invoicesDetailsURL = invoicesDetailsURL; 
} 

public String getInvoicesDetailsAddressesURL() { 
    return invoicesDetailsAddressesURL; 
} 

public void setInvoicesDetailsAddressesURL(String invoicesDetailsAddressesURL) { 
    this.invoicesDetailsAddressesURL = invoicesDetailsAddressesURL; 
} 

public String getOrdersURL() { 
    return ordersURL; 
} 

public void setOrdersURL(String ordersURL) { 
    this.ordersURL = ordersURL; 
} 

public String getOrdersDetailsURL() { 
    return ordersDetailsURL; 
} 

public void setOrdersDetailsURL(String ordersDetailsURL) { 
    this.ordersDetailsURL = ordersDetailsURL; 
} 

public String getOrdersDetailsAddressesURL() { 
    return ordersDetailsAddressesURL; 
} 

public void setOrdersDetailsAddressesURL(String ordersDetailsAddressesURL) { 
    this.ordersDetailsAddressesURL = ordersDetailsAddressesURL; 
} 

public String getServerURL() { 
    return serverURL; 
} 

public void setServerURL(String serverURL) { 
    this.serverURL = serverURL; 
}} 

:第二個是我開始我的登錄活動

public class Settings extends AppCompatActivity { 
//declarations 

//Edittext fields for username , server, password & port information 
EditText edtIpurl, edtPort, edtUsername, edtPassword; 
//Textviews that can be clicked 
TextView databaseDel, databaseRef, magnumgmbh, contact, support; 
//imagebuttons for bottom menu 
ImageButton contacts, articles, invoices, orders; 
//string for server URL 
//String sURL = "http://"; 
Thread newSettingsThread; 



@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_settings); 


    setTitle("Settings"); 

    newSettingsThread = new Thread(){ 
     public void run(){ 
      runOnUiThread(new Runnable() { 

       @Override 
       public void run() { 
        String serverURL = "http://rest.magnumgmbh.de"; 

        //edtIpurl = (EditText)findViewById(R.id.edtIpurl); 

        Data newD = new Data(); 
        newD.setServerURL(serverURL); 
       } 
      }); 
     } 
    }; 
    newSettingsThread.start(); 




    //start activitys if bottom buttons clicked 
    contacts = (ImageButton) findViewById(R.id.contacts); 

    //articles activity start 
    contacts.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      //start activity addresses 
      Intent startAddresses = new Intent(Settings.this, Addresses.class); 
      startActivity(startAddresses); 
     } 
    }); 
}} 

和下一個就是我試圖讓我的新serverURL

public class Address extends AppCompatActivity{ 
    Thread newAddressThread; 
    @Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_addresses); 

    //set activity name 
    setTitle("Addresses"); 

    //new thread for network operations 
    newAddressesThread = new Thread() { 
     public void run() { 
      //make text from json 
      jsonText = new StringBuilder(); 
      try { 
       String str; 
       Data newData = new Data(); 


       //json dates url 
       String addressesURL = newData.getAddressesURL(); 
       String serverUrl = newData.getServerURL(); 
       String username = newData.getUsername(); 
       String password = newData.getPassword(); 

       URL url = new URL(serverUrl + addressesURL); 
       HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection(); 
       //String encoded = Base64.encode("admin:admin"); 
       String encoded = Base64.encodeToString((username+":"+password).getBytes("UTF-8"), Base64.NO_WRAP); 
       urlConnection.setRequestProperty("Authorization", "Basic " + encoded); 

       //check http status code 
       try { 
        int statusCode = urlConnection.getResponseCode(); 
        System.out.println(statusCode); 
       } catch (IOException e) { 

       } 

       BufferedReader in = new BufferedReader(new InputStreamReader(urlConnection.getInputStream())); 
       while ((str = in.readLine()) != null) { 
        jsonText.append(str); 
       } 
       //cast stringbuilder to string 
       addressesJsonStr = jsonText.toString(); 
       //close IOstream 
       in.close(); 
      } catch (MalformedURLException e1) { 
       System.out.println(e1.getMessage()); 
      } catch (IOException e) { 
       System.out.println(e.getMessage()); 
      } 
      } 
    }; 

    //start thread 
    newAddressesThread.start(); 
}} 

Hier在serverURL中的第三個我得到空,它讓我豁免「Protocol not found: null/DataSnap/rest/TServerMethods1/LookupCustomers「這是我的問題。 我錯了什麼?

+0

兩個不同的對象。您將該值設置爲一個,然後嘗試從另一箇中讀取。這就像你在一個貼子上註明了一個地址,然後你離開那個貼子,它回到原地並回家。在家裏,你再拿一個貼子,並期待地址在那裏寫上... – Fildor

回答

0

您正在第三個類中創建一個新對象,所以url具有initilize值,因爲您在第二個類中設置的url存儲在另一個對象中。

如果您希望所有類型數據對象具有相同的地址,請將該變量設置爲靜態,否則您必須訪問您在第三類中第二個類中創建的對象。