我想創建一個包含從服務器登錄和註銷的函數的類,服務器的IP地址在函數的開頭以靜態方式定義,如下所示:java:變量初始化
private static String loginURL = "http://192.168.1.5/android_login_api/"
我想知道最好初始化條件的loginURL依賴。 例如:
if(this.isConnectedToServer("192.168.1.5", 500)) {
private static String loginURL = "http://192.168.1.5/android_login_api/";
}
if(this.isConnectedToServer("192.168.1.9", 500)) {
private static String loginURL = "http://192.168.1.9/android_login_api/";
}
我想傳遞loginURL作爲參數傳遞給這個類的每個函數,那麼,當我打電話給他們我用這個條件定義IP地址,但我認爲這是太傻了。
這裏是我的類:
public class UserFunctions {
private JSONParser jsonParser;
private static String loginURL = "http://192.168.1.5/android_login_api/";
private static String mplayerURL = "http://192.168.1.5/android_mplayer_api/";
private static String registerURL = "http://192.168.1.5/android_login_api/";
private static String login_tag = "login";
private static String register_tag = "register";
private static String delete_tag = "delete";
private static String update_tag = "update";
private static String music_tag = "music";
private static String getusers_tag = "getusers";
// constructor
public UserFunctions(){
jsonParser = new JSONParser();
}
/**
* function make Login Request
* @param email
* @param password
* */
public JSONObject loginUser(String email, String password){
// Building Parameters
List<NameValuePair> params = new ArrayList<NameValuePair>();
params.add(new BasicNameValuePair("tag", login_tag));
params.add(new BasicNameValuePair("email", email));
params.add(new BasicNameValuePair("password", password));
JSONObject json = jsonParser.getJSONFromUrl(loginURL, params);
// return json
Log.i("JSON", json.toString());
return json;
}
public JSONObject deleteUser(String email){
// Building Parameters
List<NameValuePair> params = new ArrayList<NameValuePair>();
params.add(new BasicNameValuePair("tag", delete_tag));
params.add(new BasicNameValuePair("email", email));
JSONObject json = jsonParser.getJSONFromUrl(loginURL, params);
// return json
Log.i("JSON", json.toString());
return json;
}
public JSONObject updateUser(String email, String field, String value){
// Building Parameters
List<NameValuePair> params = new ArrayList<NameValuePair>();
params.add(new BasicNameValuePair("tag", update_tag));
params.add(new BasicNameValuePair("email", email));
params.add(new BasicNameValuePair("field", field));
params.add(new BasicNameValuePair("value", value));
JSONObject json = jsonParser.getJSONFromUrl(loginURL, params);
// return json
Log.i("JSON", json.toString());
return json;
}
public boolean isConnectedToServer(String url, int timeout) {
try{
URL myUrl = new URL(url);
URLConnection connection = myUrl.openConnection();
connection.setConnectTimeout(timeout);
connection.connect();
return true;
} catch (Exception e) {
// Handle your exceptions
return false;
}
}
/**
* function make Login Request
* @param name
* @param email
* @param password
* */
public JSONObject registerUser(String name, String email, String mode, String password){
// Building Parameters
List<NameValuePair> params = new ArrayList<NameValuePair>();
params.add(new BasicNameValuePair("tag", register_tag));
params.add(new BasicNameValuePair("name", name));
params.add(new BasicNameValuePair("email", email));
params.add(new BasicNameValuePair("mode", mode));
params.add(new BasicNameValuePair("password", password));
// getting JSON Object
JSONObject json = jsonParser.getJSONFromUrl(registerURL, params);
// return json
return json;
}
public JSONObject PlayMusic(String name){
// Building Parameters
List<NameValuePair> params = new ArrayList<NameValuePair>();
params.add(new BasicNameValuePair("tag", "play"));
params.add(new BasicNameValuePair("name", name));
// getting JSON Object
JSONObject json = jsonParser.getJSONFromUrl(mplayerURL, params);
// return json
return json;
}
public JSONObject ChangeVol(String volume){
// Building Parameters
List<NameValuePair> params = new ArrayList<NameValuePair>();
params.add(new BasicNameValuePair("tag", "volume"));
params.add(new BasicNameValuePair("volume", volume));
// getting JSON Object
JSONObject json = jsonParser.getJSONFromUrl(mplayerURL, params);
// return json
return json;
}
public JSONObject StopMusic(){
// Building Parameters
List<NameValuePair> params = new ArrayList<NameValuePair>();
params.add(new BasicNameValuePair("tag", "stop"));
// getting JSON Object
JSONObject json = jsonParser.getJSONFromUrl(mplayerURL, params);
// return json
return json;
}
public JSONObject ParcourirMusic(){
// Building Parameters
List<NameValuePair> params = new ArrayList<NameValuePair>();
params.add(new BasicNameValuePair("tag", "parcourir"));
// getting JSON Object
JSONObject json = jsonParser.getJSONFromUrl(mplayerURL, params);
// return json
return json;
}
/**
* Function get Login status
* */
public boolean isUserLoggedIn(Context context){
DatabaseHandler db = new DatabaseHandler(context);
int count = db.getRowCount();
if(count > 0){
// user logged in
return true;
}
return false;
}
/**
* Function to logout user
* Reset Database
* */
public boolean logoutUser(Context context){
DatabaseHandler db = new DatabaseHandler(context);
db.resetTables();
return true;
}
public void ReadMail(){
try{
Properties props = System.getProperties();
props.setProperty("mail.store.protocol", "imaps");
Session session = Session.getDefaultInstance(props, null);
Store store = session.getStore("imaps");
store.connect("imap.gmail.com", "[email protected]", "pass");
Folder inbox = store.getFolder("Inbox");
inbox.open(Folder.READ_ONLY);
SearchTerm term = new SearchTerm() {
@Override
public boolean match(Message mess) {
try {
return mess.getContent().toString().toLowerCase().indexOf("boston") != -1;
} catch (IOException ex) {
// Logger.getLogger(JavaMailTest.class.getName()).log(Level.SEVERE, null, ex);
} catch (MessagingException ex) {
// Logger.getLogger(JavaMailTest.class.getName()).log(Level.SEVERE, null, ex);
}
return false;
}
};
Message[] searchResults = inbox.search(term);
for(Message m:searchResults){
Log.e("mail",m.getFrom()[0].toString());
System.out.println("MATCHED: " + m.getFrom()[0]);
}
} catch (Exception e) {
}
}
}
請可使用我的代碼UP誰能給我一個完整的解決方案,我在Java新不關心,如果功能或variavble是靜態的還是沒有,所有的我想要的是通過條件初始化IP地址。我把這個類的功能稱爲evry其他類,所以在evry類中做測試是不禮貌的。 IM保留,作爲最後的手段
單獨從調用方法發送IP地址並追加其餘靜態條帶克到它。不需要任何檢查。 – SudoRahul 2013-03-19 03:23:33
這沒有意義 - 您正在更新基於實例方法結果的靜態字符串。 – Adrian 2013-03-19 03:26:25