当前位置: 编程技术>移动开发
本页文章导读:
▪字体依据屏幕自动换行 字体根据屏幕自动换行
String a = "\1阿第克搜房卡死的\2gsd\3阿萨德分呵可降低首付款及空间阿萨德akjsdkfklasdklfkl\2adsfkasdfklasdfklasdklfadsgfasdg\0呵可降低首付款及阿康鸡丝豆腐阿萨德发生的广泛.........
▪ 经过Wifi实现设备间的通信 通过Wifi实现设备间的通信
服务器端,建立监听(方法更新,可以同时连接多个Client)
public class Server extends ServerSocket {
private static ArrayList<String> mUserList = new ArrayList<String>();
priva.........
▪ 手机上网HTTP报文搜集 手机上网HTTP报文收集
--------Server accepted Header-------------header:Host value:211.136.107.36header:User-Agent value:defaut-usergentheader:Via value:WTP/1.1 BJBJ-PS-WAP2-GW03.bj2.monternet.com (Nokia WAP Gateway 4.0/CD3/4.1.29)header:X-Nok.........
[1]字体依据屏幕自动换行
来源: 互联网 发布时间: 2014-02-18
字体根据屏幕自动换行
String a = "\1阿第克搜房卡死的\2gsd\3阿萨德分呵可降低首付款及空间阿萨德akjsdkfklasdklfkl\2adsfkasdfklasdfklasdklfadsgfasdg\0呵可降低首付款及阿康鸡丝豆腐阿萨德发生的广泛撒的gas的广泛撒丁格\2adskjfkjaskdf呵可降低首付款及阿康速度\1aksdfklalsdklfklasdgklad是否快乐\0adsjfkjasdkjf阿奎奸杀副科级啊伤口揭开了圣诞快乐疯狂拉升";
a="阿奎讲空间阿萨德看来疯狂拉升到付款拉大手疯狂拉升德国ad搜房卡罗拉森林帝国法拉利岁的高龄拉萨ad搜房卡拉拉手断了的是卡夫卡独守空房卡死";
private Font font = Font.getDefaultFont();
private Vector contString = new Vector();
private void dealString(String string, Font font, int width) {
contString = new Vector();
int id = 0;
char temp=string.charAt(0);
if(temp!='\0'||temp!='\1'||temp!='\2'||temp!='\3'){
string="\0"+string;
}
StringBuffer sb = new StringBuffer();
while (id < string.length()) {
temp = string.charAt(id);
if (temp == '\0') {
if (sb.length() != 0) {
contString.addElement(sb.toString());
sb = new StringBuffer();
}
contString.addElement("" + 0);
} else if (temp == '\1') {
if (sb.length() != 0) {
contString.addElement(sb.toString());
sb = new StringBuffer();
}
contString.addElement("" + 1);
} else if (temp == '\2') {
if (sb.length() != 0) {
contString.addElement(sb.toString());
sb = new StringBuffer();
}
contString.addElement("" + 2);
} else if (temp == '\3') {
if (sb.length() != 0) {
contString.addElement(sb.toString());
sb = new StringBuffer();
}
contString.addElement("" + 3);
} else if (temp == '\n') {
if (sb.length() != 0) {
contString.addElement(sb.toString());
sb = new StringBuffer();
}
} else {
if (font.stringWidth(sb.toString()) < width) {
sb.append(temp);
if(id==string.length()-1){
contString.addElement(sb.toString());
}
} else {
contString.addElement(sb.toString());
sb = new StringBuffer();
sb.append(temp);
}
}
id++;
}
}
private void printString(Graphics g,int x,int y) {
g.setFont(font);
String temp="";
int count=0;
for(int i=0;i<contString.size();i++){
temp=contString.elementAt(i).toString();
if(temp=="0"){
g.setColor(0x0);
}else if(temp=="1"){
g.setColor(0xff0000);
}else if(temp=="2"){
g.setColor(0x00ff00);
}else if(temp=="3"){
g.setColor(0x0000ff);
}else{
g.drawString(temp, x, y+count*font.getHeight(), 0);
count++;
}
}
}
String a = "\1阿第克搜房卡死的\2gsd\3阿萨德分呵可降低首付款及空间阿萨德akjsdkfklasdklfkl\2adsfkasdfklasdfklasdklfadsgfasdg\0呵可降低首付款及阿康鸡丝豆腐阿萨德发生的广泛撒的gas的广泛撒丁格\2adskjfkjaskdf呵可降低首付款及阿康速度\1aksdfklalsdklfklasdgklad是否快乐\0adsjfkjasdkjf阿奎奸杀副科级啊伤口揭开了圣诞快乐疯狂拉升";
a="阿奎讲空间阿萨德看来疯狂拉升到付款拉大手疯狂拉升德国ad搜房卡罗拉森林帝国法拉利岁的高龄拉萨ad搜房卡拉拉手断了的是卡夫卡独守空房卡死";
private Font font = Font.getDefaultFont();
private Vector contString = new Vector();
private void dealString(String string, Font font, int width) {
contString = new Vector();
int id = 0;
char temp=string.charAt(0);
if(temp!='\0'||temp!='\1'||temp!='\2'||temp!='\3'){
string="\0"+string;
}
StringBuffer sb = new StringBuffer();
while (id < string.length()) {
temp = string.charAt(id);
if (temp == '\0') {
if (sb.length() != 0) {
contString.addElement(sb.toString());
sb = new StringBuffer();
}
contString.addElement("" + 0);
} else if (temp == '\1') {
if (sb.length() != 0) {
contString.addElement(sb.toString());
sb = new StringBuffer();
}
contString.addElement("" + 1);
} else if (temp == '\2') {
if (sb.length() != 0) {
contString.addElement(sb.toString());
sb = new StringBuffer();
}
contString.addElement("" + 2);
} else if (temp == '\3') {
if (sb.length() != 0) {
contString.addElement(sb.toString());
sb = new StringBuffer();
}
contString.addElement("" + 3);
} else if (temp == '\n') {
if (sb.length() != 0) {
contString.addElement(sb.toString());
sb = new StringBuffer();
}
} else {
if (font.stringWidth(sb.toString()) < width) {
sb.append(temp);
if(id==string.length()-1){
contString.addElement(sb.toString());
}
} else {
contString.addElement(sb.toString());
sb = new StringBuffer();
sb.append(temp);
}
}
id++;
}
}
private void printString(Graphics g,int x,int y) {
g.setFont(font);
String temp="";
int count=0;
for(int i=0;i<contString.size();i++){
temp=contString.elementAt(i).toString();
if(temp=="0"){
g.setColor(0x0);
}else if(temp=="1"){
g.setColor(0xff0000);
}else if(temp=="2"){
g.setColor(0x00ff00);
}else if(temp=="3"){
g.setColor(0x0000ff);
}else{
g.drawString(temp, x, y+count*font.getHeight(), 0);
count++;
}
}
}
[2] 经过Wifi实现设备间的通信
来源: 互联网 发布时间: 2014-02-18
通过Wifi实现设备间的通信
服务器端,建立监听(方法更新,可以同时连接多个Client)
客户端,发送消息
服务器端,建立监听(方法更新,可以同时连接多个Client)
public class Server extends ServerSocket {
private static ArrayList<String> mUserList = new ArrayList<String>();
private static ArrayList<Thread> mThreader = new ArrayList<Thread>();
private static LinkedList<String> mMessageArray = new LinkedList<String>();
private static int mThreadCounter = 0;
private static boolean isClear = true;
public Server(int port) throws IOException {
super(port);
new Broadcast();
try {
while (true) {
Socket socket = accept();
new CreateServerThread(socket);
}
} catch (IOException e) {
} finally {
close();
}
}
// --- CreateServerThread
class CreateServerThread extends Thread {
private Socket client;
private BufferedReader in;
private PrintWriter out;
private String username;
public CreateServerThread(Socket s) throws IOException {
client = s;
in = new BufferedReader(new InputStreamReader(
client.getInputStream(), "UTF8"));
out = new PrintWriter(client.getOutputStream(), true);
sendMessage("--- Welcome ---");
sendMessage("Input your nickname:");
start();
}
public void sendMessage(String msg) {
out.println(msg);
System.out.println(msg);
}
public void run() {
try {
int flag = 0;
mThreadCounter++;
String line = in.readLine();
while (line == null || !line.equals("bye")) {
if (line == null) {
// sendMessage("null");
line = in.readLine();
continue;
}
if (line.equals("l")) {
sendMessage(listOnlineUsers());
line = in.readLine();
continue;
}
if (flag++ == 0) {
username = line;
mUserList.add(username);
sendMessage(listOnlineUsers());
mThreader.add(this);
pushMessage("[< " + username + " come on in >]");
} else {
pushMessage("<" + username + ">" + line);
}
line = in.readLine();
}
sendMessage("--- See you, bye! ---");
client.close();
} catch (IOException e) {
} finally {
try {
client.close();
} catch (IOException e) {
}
mThreadCounter--;
mThreader.remove(this);
mUserList.remove(username);
pushMessage("[< " + username + " left>]");
}
}
private String listOnlineUsers() {
String s = "-+- Online list -+-1512";
for (int i = 0; i < mUserList.size(); i++) {
s += "[" + mUserList.get(i) + "]1512";
}
s += "-+---------------------+-";
return s;
}
private void pushMessage(String msg) {
mMessageArray.addLast(msg);
isClear = false;
}
}
// --- Broadcast
class Broadcast extends Thread {
public Broadcast() {
start();
}
public void run() {
while (true) {
if (!isClear) {
String tmp = mMessageArray.getFirst();
for (int i = 0; i < mThreader.size(); i++) {
CreateServerThread client = (CreateServerThread) mThreader
.get(i);
client.sendMessage(tmp);
}
mMessageArray.removeFirst();
isClear = mMessageArray.size() > 0 ? false : true;
}
}
}
}
}
客户端,发送消息
public class Client {
private Socket socket;
private BufferedReader in;
private PrintWriter out;
public Client(String domain, int port) {
connect(domain, port);
get(in);
}
private void connect(String domain, int port) {
try {
socket = new Socket(domain, port);
in = new BufferedReader(new InputStreamReader(
socket.getInputStream()));
out = new PrintWriter(socket.getOutputStream(), true);
} catch (UnknownHostException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
private void get(final BufferedReader in) {
new Thread(new Runnable() {
public void run() {
try {
String line = in.readLine();
while (true) {
line = in.readLine();
}
} catch (IOException e) {
e.printStackTrace();
}
}
}).start();
}
public void send(String msg) {
out.println(msg);
}
public void disconnect() {
try {
out.close();
in.close();
socket.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
[3] 手机上网HTTP报文搜集
来源: 互联网 发布时间: 2014-02-18
手机上网HTTP报文收集
--------Server accepted Header-------------
header:Host value:211.136.107.36
header:User-Agent value:defaut-usergent
header:Via value:WTP/1.1 BJBJ-PS-WAP2-GW03.bj2.monternet.com (Nokia WAP Gateway 4.0/CD3/4.1.29)
header:X-Nokia-gateway-id value:NWG/4.0/CD3/Build04
header:Connection value:close
header:Content-Length value:14
header:X-Forwarded-For value:10.14.136.43
header:X-Source-ID value:BJGGSN51BNk
header:X-Up-Bearer-Type value:GPRS
header:x-wap-profile value:defaut-uaprof
header:X-Up-Calling-Line-ID value:******
header:accept value:*/*
header:X-Nokia-CONNECTION_MODE value:TCP
--------Server accepted Header Over-----------
Header:connection;Value:Keep-Alive
Header:host;Value:wap.sjmen.cn
Header:accept;Value:application/vnd.wap.wmlscriptc, text/vnd.wap.wml, application/vnd.wap.xhtml+xml, application/xhtml+xml, text/html, multipart/mixed, */*
Header:accept-charset;Value:ISO-8859-1, US-ASCII, UTF-8; Q=0.8, ISO-10646-UCS-2;Q=0.6
Header:accept-language;Value:zh-CN
Header:via;Value:HTTP/1.1 GDGZ_WAP_GW06 (infoX-WISG, Huawei Technologies)
Header:x-up-calling-line-id;Value:861311*******
Header:x-forwarded-for;Value:10.128.109.237
Header:x-up-bear-type;Value:GPRS
Header:x-source-id;Value:uniwap
Header:user-agent;Value:Nokia6030/2.0 (5.11) Profile/MIDP-2.0 Configuration/CLDC-1.1
Header:x-wap-profile;Value:"http://nds1.nds.nokia.com/uaprof/N6030r100.xml"
Header:cookie2;Value:$Version="1"
Via: ZXWAP GateWay,ZTE Technologies
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,image/png,application/java-archive,application/java,application/x-java-archive,text/vnd.sun.j2me.app-descriptor,application/vnd.oma.drm.message,application/vnd.oma.drm.content,application/vnd.oma.dd+xml,application/vnd.oma.drm.rights+xml,application/vnd.oma.drm.rights+wbxml,application/x-nokia-widget,text/x-opml,application/vnd.nokia.headwrapper,*/*;q=0.5
Accept-Charset: iso-8859-1,utf-8;q=0.7,*;q=0.7
Accept-Encoding: gzip, deflate, x-gzip, identity; q=0.9
Accept-Language: zh-cn, zh;q=1.0,en;q=0.5,en;q=0.5,en;q=0.5
Host: wap.mzwu.com
Referer: http://nav.5k3g.com/
User-Agent: Mozilla/5.0 (SymbianOS/9.4; U; Series60/5.0 Nokia5800d-1/31.0.101; Profile/MIDP-2.1 Configuration/CLDC-1.1 ) AppleWebKit/413 (KHTML, like Gecko) Safari/413
X-Nokia-MusicShop-Bearer: GPRS/3G
X-Nokia-MusicShop-Version: 11.0842.9
x-up-bear-type: GPRS/EDGE
x-forwarded-for: 10.149.235.122
x-source-id: 10.145.0.3
x-wap-profile: "http://nds1.nds.nokia.com/uaprof/Nokia5800d-1r100-2G.xml "
x-up-calling-line-id: 8613616750548
AspFilterSessionId: S(ut4a4rniu4lf2b2i2qbyvsuv)
header:Host value:211.136.107.36
header:User-Agent value:defaut-usergent
header:Via value:WTP/1.1 BJBJ-PS-WAP2-GW03.bj2.monternet.com (Nokia WAP Gateway 4.0/CD3/4.1.29)
header:X-Nokia-gateway-id value:NWG/4.0/CD3/Build04
header:Connection value:close
header:Content-Length value:14
header:X-Forwarded-For value:10.14.136.43
header:X-Source-ID value:BJGGSN51BNk
header:X-Up-Bearer-Type value:GPRS
header:x-wap-profile value:defaut-uaprof
header:X-Up-Calling-Line-ID value:******
header:accept value:*/*
header:X-Nokia-CONNECTION_MODE value:TCP
--------Server accepted Header Over-----------
Header:connection;Value:Keep-Alive
Header:host;Value:wap.sjmen.cn
Header:accept;Value:application/vnd.wap.wmlscriptc, text/vnd.wap.wml, application/vnd.wap.xhtml+xml, application/xhtml+xml, text/html, multipart/mixed, */*
Header:accept-charset;Value:ISO-8859-1, US-ASCII, UTF-8; Q=0.8, ISO-10646-UCS-2;Q=0.6
Header:accept-language;Value:zh-CN
Header:via;Value:HTTP/1.1 GDGZ_WAP_GW06 (infoX-WISG, Huawei Technologies)
Header:x-up-calling-line-id;Value:861311*******
Header:x-forwarded-for;Value:10.128.109.237
Header:x-up-bear-type;Value:GPRS
Header:x-source-id;Value:uniwap
Header:user-agent;Value:Nokia6030/2.0 (5.11) Profile/MIDP-2.0 Configuration/CLDC-1.1
Header:x-wap-profile;Value:"http://nds1.nds.nokia.com/uaprof/N6030r100.xml"
Header:cookie2;Value:$Version="1"
Via: ZXWAP GateWay,ZTE Technologies
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,image/png,application/java-archive,application/java,application/x-java-archive,text/vnd.sun.j2me.app-descriptor,application/vnd.oma.drm.message,application/vnd.oma.drm.content,application/vnd.oma.dd+xml,application/vnd.oma.drm.rights+xml,application/vnd.oma.drm.rights+wbxml,application/x-nokia-widget,text/x-opml,application/vnd.nokia.headwrapper,*/*;q=0.5
Accept-Charset: iso-8859-1,utf-8;q=0.7,*;q=0.7
Accept-Encoding: gzip, deflate, x-gzip, identity; q=0.9
Accept-Language: zh-cn, zh;q=1.0,en;q=0.5,en;q=0.5,en;q=0.5
Host: wap.mzwu.com
Referer: http://nav.5k3g.com/
User-Agent: Mozilla/5.0 (SymbianOS/9.4; U; Series60/5.0 Nokia5800d-1/31.0.101; Profile/MIDP-2.1 Configuration/CLDC-1.1 ) AppleWebKit/413 (KHTML, like Gecko) Safari/413
X-Nokia-MusicShop-Bearer: GPRS/3G
X-Nokia-MusicShop-Version: 11.0842.9
x-up-bear-type: GPRS/EDGE
x-forwarded-for: 10.149.235.122
x-source-id: 10.145.0.3
x-wap-profile: "http://nds1.nds.nokia.com/uaprof/Nokia5800d-1r100-2G.xml "
x-up-calling-line-id: 8613616750548
AspFilterSessionId: S(ut4a4rniu4lf2b2i2qbyvsuv)
原文链接:http://blog.csdn.net/rrrfff/article/details/6672630
最新技术文章: