android用的java几什么版本_使用Java代码来比较Android客户端版本号

关键点

为什么不能使用string.compareto方法来比较客户端版本号?

举个例子,之前客户端版本号为:9.9.9,而服务器端最新的客户端版本号为:10.0.1,虽然10.0.1明显高于9.9.9,但是按照compareto方法,这个9.9.9是大于10.0.1的,导致客户端版本号比较错误。

java代码实现

扯了一些,最后还是要show一下代码的,以下是我的客户端版本号比较代码,欢迎吐槽。

public static int compareversion(string version1, string version2) {

if (version1.equals(version2)) {

return 0;

}

string[] version1array = version1.split("\\.");

string[] version2array = version2.split("\\.");

int index = 0;

int minlen = math.min(version1array.length, version2array.length);

int diff = 0;

while (index < minlen && (diff = integer.parseint(version1array[index]) - integer.parseint(version2array[index])) == 0) {

index ++;

}

if (diff == 0) {

for (int i = index; i < version1array.length; i ++) {

if (integer.parseint(version1array[i]) > 0) {

return 1;

}

}

for (int i = index; i < version2array.length; i ++) {

if (integer.parseint(version2array[i]) > 0) {

return -1;

}

}

return 0;

} else {

return diff > 0 ? 1 : -1;

}

}

希望与广大网友互动??

点此进行留言吧!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Android Studio实现Socket服务器需要以下几个步骤: 1. 创建一个Android项目:打开Android Studio,点击“创建新项目”。按照向导选择项目的名称、包名等信息,并选择一个适合的最低API级别。 2. 添加权限:在项目的AndroidManifest.xml文件中,添加以下权限: ``` <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> ``` 这些权限是为了允许应用程序进行网络通信。 3. 创建Socket服务器:在项目的Activity或者Service中,创建Socket服务器的实例,并指定一个监听口。例如: ``` ServerSocket serverSocket = new ServerSocket(8080); ``` 这里创建了一个监听口为8080的ServerSocket实例。 4. 接收客户连接:使用serverSocket对象的accept()方法等待客户连接,并返回一个Socket对象。例如: ``` Socket clientSocket = serverSocket.accept(); ``` 这里通过accept()方法等待客户连接,并返回与客户通信的Socket对象。 5. 处理客户请求:通过输入流和输出流与客户进行通信,可以使用Socket对象的getInputStream()方法获取输入流,并使用getOutputStream()方法获取输出流。例如: ``` InputStream inputStream = clientSocket.getInputStream(); OutputStream outputStream = clientSocket.getOutputStream(); ``` 通过输入流和输出流,可以读取和写入客户发送和接收的数据。 6. 关闭Socket连接:在通信结束后,需要关闭Socket连接以及ServerSocket。例如: ``` clientSocket.close(); serverSocket.close(); ``` 以上就是使用Android Studio实现Socket服务器的基本步骤。当然,实际的服务器可能需要更多的操作和安全性措施,比如多线程处理客户连接、异常处理等。 ### 回答2: Android Studio是一个非常强大的开发工具,可以用来实现Socket服务器。要在Android Studio中实现Socket服务器,你需要按照以下步骤进行操作: 1. 创建一个新的Android项目:打开Android Studio,点击菜单栏中的“File”,然后选择“New”和“New Project”。在弹出的对话框中,填写项目的名称和位置,并选择合适的项目模板。点击“Next”按钮,然后按照向导进行设置,最后点击“Finish”。 2. 添加网络权限:在项目的AndroidManifest.xml文件中,添加以下代码,以获取网络访问权限: ```xml <uses-permission android:name="android.permission.INTERNET" /> ``` 3. 创建Socket服务器:在Android项目中的MainActivity类中创建一个Socket服务器。以下是一个简单的示例代码: ```java import java.io.IOException; import java.net.ServerSocket; import java.net.Socket; public class MainActivity extends AppCompatActivity { private ServerSocket serverSocket; private Socket clientSocket; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); try { // 创建ServerSocket对象,并指定口号 serverSocket = new ServerSocket(8888); // 接受客户的连接 clientSocket = serverSocket.accept(); } catch (IOException e) { e.printStackTrace(); } } @Override protected void onDestroy() { super.onDestroy(); try { // 关闭Socket连接和ServerSocket if (clientSocket != null) clientSocket.close(); if (serverSocket != null) serverSocket.close(); } catch (IOException e) { e.printStackTrace(); } } } ``` 上述代码中,我们创建了一个ServerSocket对象并指定口号为8888,然后调用accept()方法等待客户的连接。当客户连接后,可以在clientSocket对象上进行操作。 4. 运行和测试:将Android设备或模拟器与Android Studio连接,然后点击Android Studio工具栏中的“Run”按钮。这将编译并运行你的Socket服务器应用。 以上就是在Android Studio中实现Socket服务器的简单步骤。当然,在实际应用中,你还需要添加更多的逻辑和处理来确保服务器的稳定运行和数据交互。 ### 回答3: 在Android Studio中实现Socket服务器,首先需要新建一个Android项目。 1. 打开Android Studio,点击"Start a new Android Studio project",选择一个项目名称和位置,并选择一个最低支持的Android版本。 2. 在创建的项目中,打开"MainActivity.java"文件,添加以下代码: ```java import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.net.ServerSocket; import java.net.Socket; public class MainActivity extends AppCompatActivity { private ServerSocket serverSocket; private Socket clientSocket; private InputStream inputStream; private OutputStream outputStream; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // 创建一个新的线程 Thread thread = new Thread(new Runnable() { @Override public void run() { // 启动服务器 try { serverSocket = new ServerSocket(1234); clientSocket = serverSocket.accept(); inputStream = clientSocket.getInputStream(); outputStream = clientSocket.getOutputStream(); // 在这里可以进行Socket通信的相关操作 // 关闭连接 inputStream.close(); outputStream.close(); clientSocket.close(); serverSocket.close(); } catch (IOException e) { e.printStackTrace(); } } }); // 启动线程 thread.start(); } } ``` 上述代码中,我们在`onCreate()`方法中创建了一个新的线程,并在该线程内创建了一个`ServerSocket`,并开始监听连接请求。当接收到连接请求后,我们可以通过获取`InputStream`和`OutputStream`对象来进行Socket通信。这里只是简单创建了Socket服务器,并未实际进行通信。 3. 运行项目,点击运行按钮,选择一个模拟器或真机进行安装和运行。 以上就是使用Android Studio实现Socket服务器的简单示例。在实际使用中,可以根据需求进行修改和扩展。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值