2、其次点击右上角设置进入到设置界面。
3、最后在设置界面找到服务器选择,将onenetcoap服务器地址输入,点击连接即可。
一、HTTP请求(APACHE的HttpClient实现)服务器端,就是普通的servlet、Strutus2就可以
移动端
protected static String get(String url, List<NameValuePair>params) {
String resultMsg
// 设置http请求配置
HttpParams parms = new BasicHttpParams()
parms.setParameter("charset", HTTP.UTF_8)
// 配置连接超时
HttpConnectionParams.setConnectionTimeout(parms, 10 * 1000)
// 设置请求超时
HttpConnectionParams.setSoTimeout(parms, 15 * 1000)
// 实例化HttpClient
HttpClient httpclient = new DefaultHttpClient(parms)
// 实例化HttpGet
HttpGet httpget = new HttpGet(url)
// 设置请求头
httpget.addHeader("Content-Type", "application/json")
httpget.addHeader("charset", HTTP.UTF_8)
try {
if (params.size() >0)
url = url + "?" + URLEncodedUtils.format(params, HTTP.UTF_8)
HttpResponse resp = httpclient.execute(httpget)
int statusCode = resp.getStatusLine().getStatusCode()
if (statusCode == HttpStatus.SC_OK) {
StringBuffer result = getResponse(resp)
resultMsg = result.toString()
} else {
resultMsg = "连接异常"
}
} catch (Exception e) {
resultMsg = "连接异常"
} finally {
// 关闭get
httpget.abort()
// 关闭连接 ,释放资源
httpclient.getConnectionManager().shutdown()
}
return resultMsg
}
protected static String post(String uri, Object params) {
String resultMsg
// 设置http请求配置
HttpParams hp = new BasicHttpParams()
hp.setParameter("charset", HTTP.UTF_8)
// 配置连接超时
HttpConnectionParams.setConnectionTimeout(hp, 10 * 1000)
HttpConnectionParams.setSoTimeout(hp, 15 * 1000)
// 实例化HttpClient
HttpClient httpclient = new DefaultHttpClient(hp)
// 实例化HttpPost请求
HttpPost httppost = new HttpPost(uri)
// 设置头信息
httppost.addHeader("Content-Type", "application/json")
httppost.addHeader("charset", HTTP.UTF_8)
try {
// 将参数进行json化
ObjectMapper mapper = new ObjectMapper()
String jsonStr = mapper.writeValueAsString(params)
Log.i(TAG, "URI=" + uri + ",BEAN=" + jsonStr)
// 定义消息实体
StringEntity se = new StringEntity(jsonStr, HTTP.UTF_8)
httppost.setEntity(se)
// 通信
HttpResponse resp = httpclient.execute(httppost)
int statusCode = resp.getStatusLine().getStatusCode()
Log.i(TAG, "StatusCode=" + statusCode)
if (statusCode == HttpStatus.SC_OK) {
StringBuffer result = getResponse(resp)
resultMsg = result.toString()
} else {
resultMsg = "连接异常"
}
} catch (Exception e) {
e.printStackTrace()
resultMsg = "连接异常"
} finally {
// 关闭get
httppost.abort()
// 关闭连接 ,释放资源
httpclient.getConnectionManager().shutdown()
}
Log.i(TAG, resultMsg)
return resultMsg
}
二、SOCKET连接
服务器端:
import java.io.BufferedReader
import java.io.IOException
import java.io.InputStreamReader
import java.io.PrintWriter
import java.net.ServerSocket
import java.net.Socket
public class service_java_test {
public static void main(String[] args) throws IOException {
ServerSocket server = new ServerSocket(10000)//绑定的端口号
Socket socket = server.accept() //连接不成功以至于下一行的"连接成功"
//在调试区显示不出来
System.out.println("连接成功")
BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream()))
PrintWriter out = new PrintWriter(socket.getOutputStream())
while (true) {
String msg = in.readLine()
System.out.println(msg)
out.println("Server received " + msg)//向接收方发送已接受到了的语句
out.flush()
if (msg.equals("bye")) { //若接收到"bye"则break
break
}
}
socket.close()
}
}
安卓客户端:
package com.example.t4_android
import java.net.Socket
import android.app.Activity
import android.os.Bundle
import android.widget.TextView
public class MainActivity extends Activity {
private TextView myTextView
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
myTextView = (TextView) findViewById(R.id.textView1)
Thread t = new Thread(new Runnable(){
public void run(){
try {
Socket sk = new Socket("192.168.253.1", 10000)//绑定套接字,这一行一直执行不成功
//以至于下一行在安卓页面的TextView上
//不显示“已连接”的字样
//"192.168.253.1"是我利用DOS命令查找
//的本机IP
myTextView.setText("已连接")
} catch (Exception e) {
e.printStackTrace()
}
}
})
t.start()
}
}
Android和Java的联系Android的应用层上的应用程序是用Java编写的,以Java作为开发语言,但是,Java并不等同于Android,因为Android SDK引用了Java SDK的大部分,少数部分被Android SDK所抛弃。所以,要想从事Android的开发,就必须有Java基础。
Android和Java区别
Android是主流智能手机的操作系统,Java是一种开发语言,两者没有好坏优势之分,只是两种职业岗位选择,学安卓从事移动互联方向开发,学Java从事软件方向开发,主要看个人选择,从学Java转移到安卓,学安卓转移到Java都是可以的。
Java和Android都能做手机开发吗?
这两个方面都是可以做手机开发的;在以前半智能机的时代,我们手机应用的最多的就是Java、塞班操作系统了,这两个操作系统在三年以前应该和今天的安卓、IOS系统差不多,当时认为很完美了,不过时至今日,Java系统相对较少,随着3G时代的到来,人们最重要的网络终端设备一定是手机,而移动终端设备中3G系统的Android手机又最多,Android手机又以Java为基础,所以二者都可以说能做手机开发。
学Java和学Android哪个好?
现在安卓占智能系统大半的市场份额,当然智能系统或者是移动终端不仅仅是指手机,还有平板电脑。但是其实Java和Android这两者并没有可比性,因为发展方向并不一样,侧重点也不一样,Java按照实际的开发产品来看,至少有三个方向可以发展;手机终端、电脑客户端、web服务器断,而Android只适用于手机终端,因此Java的发展范围相对要广一些,也就是我们所说的工作岗位更多一些,而Android范围小一些,但是从待遇上来看普遍稍高,各有各的好处,再说学习来看,从Android转Java和从Java转Android都是可以的,不管哪个行业都存在金字塔顶端的人,如果做好的话两者都是不错的方向。
希望对您有所帮助!~
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)