安卓java leshan 连接onenet coap 服务器地址

安卓java leshan 连接onenet coap 服务器地址,第1张

1、首先打开安卓javaleshan。

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都是可以的,不管哪个行业都存在金字塔顶端的人,如果做好的话两者都是不错的方向。

希望对您有所帮助!~


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/708789.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-08-06
下一篇2023-08-06

发表评论

登录后才能评论

评论列表(0条)

    保存