編輯:關於Android編程
網上有很多例子來演示Android客戶端和服務器端數據如何實現交互不過這些例子大多比較繁雜,對於初學者來說這是不利的,現在介紹幾種代碼簡單、邏輯清晰的交互例子,本篇博客介紹第四種:
一、服務器端:
代碼1:添加名為“AndroidServerServlet.java”的文件
package com.ghj.packageofservlet;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class AndroidServerServlet extends HttpServlet {
private static final long serialVersionUID = 6792396567928634227L;
public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {
response.setContentType(text/plain; charset=UTF-8);
request.setCharacterEncoding(UTF-8);
System.err.println(request.getParameter(clientData));
PrintWriter printWriter = response.getWriter();
printWriter.print(您好Android客戶端!);
printWriter.flush();
printWriter.close();
}
}
代碼2:修改名為“web.xml”的文件
AndroidServerServlet com.ghj.packageofservlet.AndroidServerServlet AndroidServerServlet /AndroidServerServlet
二、Android手機客戶端:
代碼1:下載名為android-async-http-1.4.6.jar的jar文件,下載地址:http://download.csdn.net/download/wangshuxuncom/8116169
代碼2:添加名為“AndroidClientActivity.java”的文件
package com.example.androidclient;
import org.apache.http.Header;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.Toast;
import com.loopj.android.http.AsyncHttpClient;
import com.loopj.android.http.AsyncHttpResponseHandler;
import com.loopj.android.http.RequestParams;
public class AndroidClientActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.android_client);
Button sendButton = (Button) findViewById(R.id.send_button);
sendButton.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v) {
RequestParams requestParams = new RequestParams();
requestParams.add(clientData, 您好服務器端!);
new AsyncHttpClient().post(http://172.16.99.207:8080/AndroidServer/AndroidServerServlet, requestParams, new AsyncHttpResponseHandler() {
@Override
public void onSuccess(int statusCode, Header[] headers, byte[] responseBody) {
if(statusCode == 200){
Toast.makeText(AndroidClientActivity.this, new String(responseBody), Toast.LENGTH_LONG).show();
}
}
@Override
public void onFailure(int statusCode, Header[] headers, byte[] responseBody, Throwable error) {
Toast.makeText(AndroidClientActivity.this, 沒有獲取到Android服務器端的響應!, Toast.LENGTH_LONG).show();
}
});
}
});
}
}
代碼3:添加名為“android_client.xml”的文件
Android自定義View實現水面上漲效果
實現效果如下:實現思路:1、如何實現圓中水面上漲效果:利用Paint的setXfermode屬性為PorterDuff.Mode.SRC_IN畫出進度所在的矩形與圓的交集
Android界面編程——對話框控件(四)
2.5對話框控件對話框是提示用戶作出決定或輸入額外信息的小窗口。對話框不會填充屏幕,通常用於需要用戶采取行動才能繼續執行的模式事件。Android中常見跟對話框相關控件有
已有Android工程集成ReactNative頁面
React Native出自Facebook之手, 而且剛剛更新了文檔, 差一點我就放棄它了, 然而又撈了回來, 相比其他, 畢竟還是大公司大品牌有保障. 不多說了, 想
Android 仿2016版京東篩選
京東篩選更新了,很好,很炫酷。那什麼,我們也不差是吧,於是就有了這個demo。話不多說,先看圖,不想看代碼的朋友,直接點底部下demo。 圖1裡面呢,就兩點,彈出的Po