編輯:關於Android編程
package com.wzw.servlet; import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; /** * Servlet implementation class LoginServlet */ public class LoginServlet extends HttpServlet { private static final long serialVersionUID = 1L; /** * @see HttpServlet#HttpServlet() */ public LoginServlet() { super(); // TODO Auto-generated constructor stub } /** * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response) */ protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String username=request.getParameter("username"); String password=request.getParameter("password"); if(username.equals("admin")&&password.equals("123456")){ response.getWriter().println("success"); }else{ response.getWriter().println("failed"); } } /** * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) */ protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub
this.doGet(request,response); } }
package com.wzw.submitdata; import com.wzw.submitdata.utils.NetUtil; import android.os.Bundle; import android.app.Activity; import android.view.Menu; import android.view.View; import android.widget.EditText; import android.widget.Toast; public class MainActivity extends Activity { private EditText etUsername; private EditText etPassword; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); etUsername = (EditText) findViewById(R.id.et_username); etPassword = (EditText) findViewById(R.id.et_password); } public void doGet(View v){ final String username=etUsername.getText().toString(); final String password=etPassword.getText().toString(); new Thread(new Runnable() { @Override public void run() { //訪問網絡要在子線程中實現,使用get取數據 final String state=NetUtil.loginOfGet(username, password); //執行在主線程上 runOnUiThread(new Runnable() { public void run() { //就是在主線程上操作,彈出結果 Toast.makeText(MainActivity.this, state, 0).show(); } }); } }).start(); } public void doPost(View v){ final String username=etUsername.getText().toString(); final String password=etPassword.getText().toString(); new Thread(new Runnable() { @Override public void run() { final String state=NetUtil.LoginOfPost(username, password); //執行在主線程上 runOnUiThread(new Runnable() { public void run() { //就是在主線程上操作,彈出結果 Toast.makeText(MainActivity.this, state, 0).show(); } }); } }).start(); } }
package com.wzw.submitdata.utils; import java.io.ByteArrayOutputStream; import java.io.InputStream; import java.io.OutputStream; import java.net.HttpURLConnection; import java.net.MalformedURLException; import java.net.URL; public class NetUtil { /** * 使用GET訪問去訪問網絡 * @param username * @param password * @return 服務器返回的結果 */ public static String loginOfGet(String username,String password){ HttpURLConnection conn=null; try { String data="username="+username+"&password="+password; URL url=new URL("http://192.168.1.4:8080/AndroidServer/LoginServlet?"+data); conn=(HttpURLConnection) url.openConnection(); conn.setRequestMethod("GET"); conn.setConnectTimeout(10000); conn.setReadTimeout(5000); conn.connect(); int code=conn.getResponseCode(); if(code==200){ InputStream is=conn.getInputStream(); String state=getStringFromInputStream(is); return state; } } catch (Exception e) { e.printStackTrace(); }finally{ if(conn!=null){ conn.disconnect(); } } return null; } /** * 使用POST訪問去訪問網絡 * @param username * @param password * @return */ public static String LoginOfPost(String username,String password){ HttpURLConnection conn=null; try { URL url=new URL("http://192.168.1.4:8080/AndroidServer/LoginServlet"); conn=(HttpURLConnection) url.openConnection(); conn.setRequestMethod("POST"); conn.setConnectTimeout(10000); conn.setReadTimeout(5000); conn.setDoOutput(true); //post請求的參數 String data="username="+username+"&password="+password; OutputStream out=conn.getOutputStream(); out.write(data.getBytes()); out.flush(); out.close(); conn.connect(); int code=conn.getResponseCode(); if(code==200){ InputStream is=conn.getInputStream(); String state=getStringFromInputStream(is); return state; } } catch (Exception e) { e.printStackTrace(); }finally{ if(conn!=null){ conn.disconnect(); } } return null; } /** * 根據輸入流返回一個字符串 * @param is * @return * @throws Exception */ private static String getStringFromInputStream(InputStream is) throws Exception{ ByteArrayOutputStream baos=new ByteArrayOutputStream(); byte[] buff=new byte[1024]; int len=-1; while((len=is.read(buff))!=-1){ baos.write(buff, 0, len); } is.close(); String html=baos.toString(); baos.close(); return html; } }
首先,附上程序運行後的效果,如下圖所示: 一.部署一個web項目到tomcat服務器上:1.這個小程序是結合網絡來播放一首音樂的,首先,把我們搞好的
EditText和AutoCompleteTextView設置文字選中顏色 大多數Android Rom上,文本選擇的背景色都是很好看的鮮綠色, 但是在某些垃圾的三星手機
在Java環境中我們使用JNI時可以使用printf函數打印,但是Android環境下使用JNI,printf函數就無效了,而我們使用IDE開發工具中的LogCat視圖以
可能開發安卓的人大多數都用過很多下拉刷新的開源組件,但是今天用了官方v4支持包的SwipeRefreshLayout覺得效果也蠻不錯的,特拿出來分享。簡介:SwipeRe