LuckyBug 2014-08-05 14:49 采纳率: 0%
浏览 859

Android 向远程网站发送数据问题,变量和常量的区别。求大神解答。。。

        Button button = (Button) findViewById(R.id.button);
    button.setOnClickListener(
            new View.OnClickListener() {
                @Override
                public void onClick(View view) {
                //  boolean flag = sendUserInfo();
                    Map<String, String> params = new HashMap<String, String>();
                    String tmp1 = cardInfo;//cardInfo为在程序中的变量
                    String tmp2 = locationInfo;//locationInfo为在程序中的变量
                // 发送上边两个cardInfo、locationInfo就不行,发送下边的常量"123"和"234"就可以
                //  String tmp1 = "123";
                //  String tmp2 = "234";
                    params.put("sj", tmp1);
                    params.put("dw", tmp2);
                    boolean flag = false;
                    try {
                        flag = sendPOSTRequest(path, params, "UTF-8");
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                    Toast.makeText(MainActivity.this, flag+"\t"+locationInfo, Toast.LENGTH_LONG).show();
                }
        });


public static Boolean sendPOSTRequest(String path,Map<String, String> params, String encoding) throws Exception {
    StringBuilder url = new StringBuilder(path);
    if(params != null && params.size() > 0){
        url.append('&');
        for (Map.Entry<String, String> entry : params.entrySet()) {
            url.append(entry.getKey()).append("=");
            url.append(URLEncoder.encode(entry.getValue(), encoding));// 编码
            url.append('&');
        }
        url.deleteCharAt(url.length() - 1);
    }
    Log.e("url",url.toString());
    HttpURLConnection connection = (HttpURLConnection) new URL(url.toString()).openConnection();// 基于HTTP协议连接对象
    connection.setConnectTimeout(5000);
    connection.setRequestMethod("POST");
    if (connection.getResponseCode() == 200) {
        return true;
    }else{
        return false;
    }
}
  • 写回答

1条回答 默认 最新

  • 你知我知皆知 2024-08-02 10:34
    关注

    以下回答参考 皆我百晓生券券喵儿 等免费微信小程序相关内容作答,并由本人整理回复。

    你好!在Android中,String 是一个基本的数据类型,用于存储字符串值。而 Map<String, String> 则是一个键值对集合,其中每个键(String)都对应着一个值(同样也是 String)。这两个类型的使用场景不同。

    变量

    变量是在程序运行时可以改变其值的局部或全局数据结构。它们是静态的,即在程序开始执行时就存在,并在整个程序生命周期内保持不变。

    例如:

    int myVariable = 10;
    

    在这个例子中,myVariable 是一个整数变量,它在程序开始时被初始化为 10,并且在整个程序执行过程中都不会改变它的值。

    常量

    常量是固定的数值或字符串,不能更改。在Android开发中,常量通常用来表示一些固定的数据,如应用版本号、屏幕宽度等。

    例如:

    final int VERSION_CODE = 1; // 表示应用的版本号
    

    这里的 VERSION_CODE 是一个常量,它的值始终为 1,不会因为程序的运行而改变。

    总结:

    • 变量:用于临时存储值的可变数据结构。
    • 常量:用于存储不可变的、已知固定值的数据结构。

    希望这能帮助你理解两者之间的区别。如果你有其他问题,请随时提问。

    评论

报告相同问题?