Android TCP客户端通信软件开发(新人,不喜勿喷,附源码)

当通过Android Studio开发TCP通讯软件时,我们可以利用Android Studio提供的丰富功能和工具来简化开发过程。下面是一个详细的步骤指南:

1.下载和安装Android Studio:你可以从Android开发者官网(https://developer.android.com/studio)下载最新版本的Android Studio。根据操作系统的要求进行安装。
2.创建新项目:打开Android Studio后,点击“Start a new Android Studio project”或选择“File”菜单中的“New”选项来创建一个新项目。提供项目名称和存储位置,并选择目标设备的最低API级别。
3.设计用户界面:使用Android Studio提供的可视化界面设计器(Layout Editor)可以快速创建应用程序的用户界面。通过拖放和调整布局组件,你可以轻松地设计界面并预览其外观。
4.添加网络权限:在AndroidManifest.xml文件中,确保添加网络权限。在标签内添加以下代码:

<uses-permission android:name="android.permission.INTERNET"/>

这将允许你的应用程序进行网络通信。

5.创建TCP连接:在代码中,你需要创建一个Socket类的对象来建立TCP连接。这个对象将用于发送和接收数据。

Socket socket = new Socket(IP_ADDRESS, PORT_NUMBER);

其中,IPADDRESS代表服务器的IP地址,PORTNUMBER是服务器监听的端口号。

6.发送和接收数据:使用输入/输出流来发送和接收数据。可以使用BufferedReader和PrintWriter等类来读取和写入数据。

// 发送数据
PrintWriter out = new PrintWriter(socket.getOutputStream(), true);
out.println("Hello, server!");

// 接收数据
BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
String response = in.readLine();


7.关闭连接:在通信完成后,记得关闭连接以释放资源。

socket.close();

明确自己要修改的地方,其中在进行创建新的项目的时候会出现如下图的目录栏:

 AndroidManifest.xml代码如下:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools">

    <uses-permission android:name="android.permission.INTERNET"/>

    <application
        android:usesCleartextTraffic="false"
        android:allowBackup="true"
        android:label="@string/app_name"
        android:icon="@drawable/tcp"
        android:roundIcon="@drawable/tcp"
        android:supportsRtl="true"
        android:theme="@style/Theme.An_1"
        tools:ignore="UnusedAttribute">
        <activity android:name=".MainActivity" />
        <activity
            android:name=".MainActivity_1"
            android:exported="true">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>
</manifest>

代码解释 

  1. <manifest>:这是XML文件的根元素,它标识了该文件是一个Android清单文件。

  2. xmlns:android="http://schemas.android.com/apk/res/android":定义了XML文件中使用的命名空间,其中android命名空间包含了Android特定的元素和属性。

  3. xmlns:tools="http://schemas.android.com/tools":定义了tools命名空间,可以通过该命名空间引用Android Studio提供的辅助工具。

  4. <uses-permission android:name="android.permission.INTERNET"/>:声明应用程序需要使用Internet权限,允许应用程序进行网络通信。

  5. <application>:代表应用程序元素,它包含了应用程序的配置信息。

    • android:usesCleartextTraffic="false":禁止应用程序使用明文流量进行网络通信。
    • android:allowBackup="true":允许应用程序进行备份和恢复。
    • android:label="@string/app_name":指定应用程序的显示名称,这个字符串可以在字符串资源文件中定义。
    • android:icon="@drawable/tcp":指定应用程序的图标,它引用了一个名为“tcp”的drawable资源。
    • android:roundIcon="@drawable/tcp":指定应用程序的圆形图标,同样引用了“tcp”的drawable资源。
    • android:supportsRtl="true":支持从右到左的布局,适用于支持从右到左的语言(如阿拉伯语)。
    • android:theme="@style/Theme.An_1":指定应用程序使用的主题样式,它可以在styles.xml文件中定义。
    • tools:ignore="UnusedAttribute":忽略在构建时未使用的属性的警告。
  6. <activity>:定义了一个应用程序的Activity组件,用于展示用户界面。

    • android:name=".MainActivity":指定了一个名为MainActivity的类作为活动组件。
    • android:name=".MainActivity_1":指定了另一个名为MainActivity_1的类作为活动组件。
    • android:exported="true":代表该活动可以被其他应用程序组件访问。
    • <intent-filter>:指定了活动的意图过滤器,用于指定Activity作为应用程序的启动器(launcher)。
    • <action android:name="android.intent.action.MAIN" />:指定了Action为MAIN,表示活动可以作为应用程序的主要入口点。
    • <category android:name="android.intent.category.LAUNCHER" />:指定了Category为LAUNCHER,表示活动可以作为应用程序的启动器图标。

MainActivity.java代码如下:

package com.example.an_1;

import android.annotation.SuppressLint;
import android.content.Context;
import android.content.SharedPreferences;
import android.graphics.Color;
import android.os.Bundle;
import android.text.Editable;
import android.text.SpannableString;
import android.text.Spanned;
import android.text.TextUtils;
import android.text.TextWatcher;
import android.text.style.ForegroundColorSpan;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ScrollView;
import android.widget.Switch;
import android.widget.TextView;
import android.widget.Toast;

import androidx.appcompat.app.ActionBar;
import androidx.appcompat.app.AppCompatActivity
  • 13
    点赞
  • 35
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

骇客黑

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值