編輯:關於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 stubthis.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;
}
}
Android之通過網絡播放一首簡單的音樂
首先,附上程序運行後的效果,如下圖所示: 一.部署一個web項目到tomcat服務器上:1.這個小程序是結合網絡來播放一首音樂的,首先,把我們搞好的
Android中EditText和AutoCompleteTextView設置文字選中顏色方法
EditText和AutoCompleteTextView設置文字選中顏色 大多數Android Rom上,文本選擇的背景色都是很好看的鮮綠色, 但是在某些垃圾的三星手機
Android NDK學習筆記12-JNI日志打印
在Java環境中我們使用JNI時可以使用printf函數打印,但是Android環境下使用JNI,printf函數就無效了,而我們使用IDE開發工具中的LogCat視圖以
Android官方下拉刷新控件SwipeRefreshLayout使用詳解
可能開發安卓的人大多數都用過很多下拉刷新的開源組件,但是今天用了官方v4支持包的SwipeRefreshLayout覺得效果也蠻不錯的,特拿出來分享。簡介:SwipeRe