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" />