編輯:關於Android編程
//給請求頭添加post多出來的兩個屬性 String data = "name=" + URLEncoder.encode(name) + "&pass=" + pass; conn.setRequestProperty("Content-Type", "application/x-www-form-urlencoded"); conn.setRequestProperty("Content-Length", data.length() + "");
conn.setDoOutput(true);
OutputStream os = conn.getOutputStream(); os.write(data.getBytes());
public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } Handler handler = new Handler(){ public void handleMessage(android.os.Message msg) { Toast.makeText(MainActivity.this, (String)msg.obj, 0).show(); } }; public void click(View v){ EditText et_name = (EditText) findViewById(R.id.et_name); EditText et_pass = (EditText) findViewById(R.id.et_pass); final String name = et_name.getText().toString(); final String pass = et_pass.getText().toString(); Thread t = new Thread(){ @Override public void run() { //提交的數據需要經過url編碼,英文和數字編碼後不變 @SuppressWarnings("deprecation") String path = "http://192.168.13.13/Web2/servlet/LoginServlet"; try { URL url = new URL(path); HttpURLConnection conn = (HttpURLConnection) url.openConnection(); conn.setRequestMethod("POST"); conn.setConnectTimeout(5000); conn.setReadTimeout(5000); //拼接出要提交的數據的字符串 String data = "name=" + URLEncoder.encode(name) + "&pass=" + pass; //添加post請求的兩行屬性 conn.setRequestProperty("Content-Type", "application/x-www-form-urlencoded"); conn.setRequestProperty("Content-Length", data.length() + ""); //設置打開輸出流 conn.setDoOutput(true); //拿到輸出流 OutputStream os = conn.getOutputStream(); //使用輸出流往服務器提交數據 os.write(data.getBytes()); if(conn.getResponseCode() == 200){ InputStream is = conn.getInputStream(); String text = Utils.getTextFromStream(is); Message msg = handler.obtainMessage(); msg.obj = text; handler.sendMessage(msg); } } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } }; t.start(); } }
public static String getTextFromStream(InputStream is){ byte[] b = new byte[1024]; int len = 0; //創建字節數組輸出流,讀取輸入流的文本數據時,同步把數據寫入數組輸出流 ByteArrayOutputStream bos = new ByteArrayOutputStream(); try { while((len = is.read(b)) != -1){ bos.write(b, 0, len); } //把字節數組輸出流裡的數據轉換成字節數組 String text = new String(bos.toByteArray()); return text; } catch (IOException e) { e.printStackTrace(); } return null; }
前文常用的控件介紹了不少,現在就來討論一下手機開發中常用到的畫圖。要掌握Android的畫圖,首先就要了解一下,基本用到的如下一些圖形接口:1.Bitmap,可以來自資源
Android手機內存管理與性能優化視頻教程課程講師:xiao_q課程分類:Android適合人群:中級課時數量:34小節用到技術:Dalvik,DDMS,File Ex
當我們外出時,最尴尬的情景就是剩余電量不到10%,而且身邊還沒有移動電源和任何充電設備。此時,如果拯救剩余電量,並盡可延長手機的待機時間呢?很多Androi
compile 'com.android.support:design:22.2.0'AppBarLayout效果圖是這樣的AppBarLay