Android 开发学习笔记(五)—— 最简单的注册界面

 public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        ReSetBtn =(Button)findViewById(R.id.ReSetBtn);
        OkBtn =(Button)findViewById(R.id.OKBtn);
        OkBtn.setOnClickListener(
          new OnClickListener(){
           @Override
           public void onClick(View v)
           {
            final String url = "http://192.168.1.18/AndroidService.php";
            EditText user = (EditText)findViewById(R.id.username);
            EditText pass = (EditText)findViewById(R.id.password);
            final Map<String,String> params = new HashMap<String,String>();
            params.put("name", user.getText().toString());
            params.put("pass", pass.getText().toString());
            new Thread(){
             public void run(){
              String msgStr=HttpUploadUtil.postWithoutFile(url,params);
              Bundle b = new Bundle();
              b.putString("msg", msgStr);
              Message msg = new Message();
              msg.what = 1;
              msg.setData(b);
              hd.sendMessage(msg);
             }
            }.start();
           }
          }
        );
    }

// 一个HttpUploadUtil类 主要用来发送Http请求

//通过Http协议发送带文件或不带文件的请求的工具类
public class HttpUploadUtil
{
 
 //不带文件的请求发送方法
 public static String postWithoutFile
 (   
   String actionUrl, //请求的URL
   Map<String, String> params //请求的参数序列
 )
 {  
  HttpClient httpclient = new DefaultHttpClient();
  //你的URL
  HttpPost httppost = new HttpPost(actionUrl);
  try {
     List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(params.size());
    
     for (Map.Entry<String, String> entry : params.entrySet())
     {//构建表单字段内容 
             nameValuePairs.add(new BasicNameValuePair(entry.getKey(),MyConverter.escape(entry.getValue())));
        } 
     httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
     HttpResponse response;
     response=httpclient.execute(httppost);
     InputStream in=response.getEntity().getContent();
     ByteArrayOutputStream baos = new ByteArrayOutputStream();
     int ch=0;
      while((ch=in.read())!=-1)
      {
         baos.write(ch);
      }     
      byte[] data=baos.toByteArray();
      baos.close();
      return MyConverter.unescape(new String(data).trim());
    } catch (Exception e)
    {
     e.printStackTrace();
     return "error";
    }
 }
}

// 转换HTTP请求的编码(十六进制)

public class MyConverter

{   

    private final static String[] hex =

    {

        "00","01","02","03","04","05","06","07","08","09","0a","0b","0c","0d","0e","0f",

        "10","11","12","13","14","15","16","17","18","19","1a","1b","1c","1d","1e","1f",

        "20","21","22","23","24","25","26","27","28","29","2a","2b","2c","2d","2e","2f",

        "30","31","32","33","34","35","36","37","38","39","3a","3b","3c","3d","3e","3f",

        "40","41","42","43","44","45","46","47","48","49","4a","4b","4c","4d","4e","4f",

        "50","51","52","53","54","55","56","57","58","59","5a","5b","5c","5d","5e","5f",

        "60","61","62","63","64","65","66","67","68","69","6a","6b","6c","6d","6e","6f",

        "70","71","72","73","74","75","76","77","78","79","7a","7b","7c","7d","7e","7f",

        "80","81","82","83","84","85","86","87","88","89","8a","8b","8c","8d","8e","8f",

        "90","91","92","93","94","95","96","97","98","99","9a","9b","9c","9d","9e","9f",

        "a0","a1","a2","a3","a4","a5","a6","a7","a8","a9","aa","ab","ac","ad","ae","af",

        "b0","b1","b2","b3","b4","b5","b6","b7","b8","b9","ba","bb","bc","bd","be","bf",

        "c0","c1","c2","c3","c4","c5","c6","c7","c8","c9","ca","cb","cc","cd","ce","cf",

        "d0","d1","d2","d3","d4","d5","d6","d7","d8","d9","da","db","dc","dd","de","df",

        "e0","e1","e2","e3","e4","e5","e6","e7","e8","e9","ea","eb","ec","ed","ee","ef",

        "f0","f1","f2","f3","f4","f5","f6","f7","f8","f9","fa","fb","fc","fd","fe","ff"

    };

    private final static byte[] val =

    {

        0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,

        0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,

        0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,

        0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,

        0x3f,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,

        0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,

        0x3f,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,

        0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,

        0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,

        0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,

        0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,

        0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,

        0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,

        0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,

        0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,

        0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f

    };

 

  

    public static String escape(String s)

    {   

             StringBuffer sbuf = new StringBuffer();   

             int len = s.length();   

             for (int i = 0; i < len; i++)

             {   

                       int ch = s.charAt(i);   

                       if ('A' <= ch && ch <= 'Z')

                       {   

                                sbuf.append((char) ch);   

                       }

                       else if ('a' <= ch && ch <= 'z')

                       {   

                                sbuf.append((char) ch);   

                       }

                       else if ('0' <= ch && ch <= '9')

                       {          

                                sbuf.append((char) ch);   

                       }

                       else if (ch == '-' || ch == '_'    

                                          || ch == '.' || ch == '!' || ch == '~' || ch == '*'   

                                          || ch == '\'' || ch == '(' || ch == ')')

                       {   

                                sbuf.append((char) ch);   

                       } else if (ch <= 0x007F)

                       {   

                                sbuf.append('%');   

                                sbuf.append(hex[ch]);   

                       } else

                       {   

                                sbuf.append('%');   

                                sbuf.append('u');   

                                sbuf.append(hex[(ch >>> 8)]);   

                                sbuf.append(hex[(0x00FF & ch)]);   

                       }   

             }   

             return sbuf.toString();   

    }   

  

 

    public static String unescape(String s)

    {   

             StringBuffer sbuf = new StringBuffer();   

             int i = 0;   

             int len = s.length();   

             while (i < len)

             {   

                       int ch = s.charAt(i);   

                       if ('A' <= ch && ch <= 'Z')

                       {   

                                sbuf.append((char) ch);   

                       }

                       else if ('a' <= ch && ch <= 'z')

                       {    

                                sbuf.append((char) ch);   

                       } else if ('0' <= ch && ch <= '9')

                       {

                                     sbuf.append((char) ch);   

                       }

                       else if (ch == '-' || ch == '_'|| ch == '.'

                                || ch == '!' || ch == '~' || ch == '*'

                                || ch == '\'' || ch == '(' || ch == ')')

                       {   

                           sbuf.append((char) ch);   

                       }

                       else if (ch == '%')

                       {   

                                int cint = 0;   

                                if ('u' != s.charAt(i + 1))

                                {   

                                         cint = (cint << 4) | val[s.charAt(i + 1)];   

                                         cint = (cint << 4) | val[s.charAt(i + 2)];   

                                         i += 2;   

                                } else

                                {   

                                         cint = (cint << 4) | val[s.charAt(i + 2)];   

                                         cint = (cint << 4) | val[s.charAt(i + 3)];   

                                         cint = (cint << 4) | val[s.charAt(i + 4)];   

                                         cint = (cint << 4) | val[s.charAt(i + 5)];   

                                         i += 5;   

                                }   

                                sbuf.append((char) cint);   

                       } else

                       {   

                                sbuf.append((char) ch);   

                       }   

                       i++;   

             }   

             return sbuf.toString();   

    }   

}

// 在Manifest.xml 中添加 一下来访问网络

<uses-permission android:name="android.permission.INTERNET" />

 

posted @ 2012-10-29 17:18  oftenlin  阅读(1756)  评论(0编辑  收藏  举报