android网络传输问题..跪求大神解答

博主在实现安卓应用中使用Java程序进行服务器端验证时遇到闪退问题。点击登录按钮后程序崩溃,错误日志显示权限被拒绝导致socket连接失败。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


我写了一段方法是服务端和客户端传输数据用的
,java程序调用可正常执行,于是我想在安卓界面按下按钮 然后调用这个方法, 输入账号密码就通过这个方法由服务器端返回一个值,账号密码正确就跳转到一个界面,不正确就跳另一个界面,但是一点按钮就闪退,看了debug的Log,也在网上找了一些解决方法,都不行。跪求大神指点迷津......
以下是debug的错误报告还有我的代码:
I/System: core_booster, getBoosterConfig = false
W/System.err: java.net.SocketException: socket failed: EACCES (Permission denied)
W/System.err:     at libcore.io.IoBridge.socket(IoBridge.java:626)
W/System.err:     at java.net.PlainSocketImpl.create(PlainSocketImpl.java:198)
W/System.err:     at java.net.Socket.checkOpenAndCreate(Socket.java:740)
W/System.err:     at java.net.Socket.setSoTimeout(Socket.java:591)
W/System.err:     at com.android.okhttp.internal.http.SocketConnector.connectRawSocket(SocketConnector.java:159)
W/System.err:     at com.android.okhttp.internal.http.SocketConnector.connectCleartext(SocketConnector.java:67)
W/System.err:     at com.android.okhttp.Connection.connect(Connection.java:152)
W/System.err:     at com.android.okhttp.Connection.connectAndSetOwner(Connection.java:185)
W/System.err:     at com.android.okhttp.OkHttpClient$1.connectAndSetOwner(OkHttpClient.java:128)
W/System.err:     at com.android.okhttp.internal.http.HttpEngine.nextConnection(HttpEngine.java:341)
W/System.err:     at com.android.okhttp.internal.http.HttpEngine.connect(HttpEngine.java:330)
W/System.err:     at com.android.okhttp.internal.http.HttpEngine.sendRequest(HttpEngine.java:248)
W/System.err:     at com.android.okhttp.internal.huc.HttpURLConnectionImpl.execute(HttpURLConnectionImpl.java:433)
W/System.err:     at com.android.okhttp.internal.huc.HttpURLConnectionImpl.connect(HttpURLConnectionImpl.java:114)
W/System.err:     at com.android.okhttp.internal.huc.HttpURLConnectionImpl.getOutputStream(HttpURLConnectionImpl.java:245)
W/System.err:     at com.text.text2.connet(text2.java:24)
W/System.err:     at com.example.a12860.bupt.entry$1.onClick(entry.java:53)
W/System.err:     at android.view.View.performClick(View.java:5264)
W/System.err:     at android.view.View$PerformClick.run(View.java:21297)
W/System.err:     at android.os.Handler.handleCallback(Handler.java:743)
W/System.err:     at android.os.Handler.dispatchMessage(Handler.java:95)
W/System.err:     at android.os.Looper.loop(Looper.java:150)
W/System.err:     at android.app.ActivityThread.main(ActivityThread.java:5546)
W/System.err:     at java.lang.reflect.Method.invoke(Native Method)
W/System.err:     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:794)
W/System.err:     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:684)
W/System.err: Caused by: android.system.ErrnoException: socket failed: EACCES (Permission denied)
W/System.err:     at libcore.io.Posix.socket(Native Method)
W/System.err:     at libcore.io.BlockGuardOs.socket(BlockGuardOs.java:282)
W/System.err:     at libcore.io.IoBridge.socket(IoBridge.java:611)
W/System.err:  ... 25 more

public class entry extends Activity  {

    private Button btnentry;
    EditText username, password;
    private TextView infotv, regtv;
    private ProgressDialog dialog;
    private String info;
    private static Handler handler = new Handler();
     text2 tx = new text2();
    String t;
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.entry);
        StrictMode.setThreadPolicy(new StrictMode.ThreadPolicy.Builder().detectDiskReads().detectDiskWrites().detectNetwork().penaltyLog().build());
        username = (EditText) findViewById(R.id.et_account);
        password = (EditText) findViewById(R.id.et_password);
        infotv = (TextView) findViewById(R.id.infotv);
        regtv = (TextView) findViewById(R.id.regtv);
        btnentry = (Button) findViewById(R.id.btnentry);



        //btnentry.setOnClickListener(this);



        btnentry.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                String s =username.getText().toString();
                String s2 = password.getText().toString();
                try {
                    t=tx.connet(s,s2);
                } catch (Exception e) {
                    e.printStackTrace();
                }
                if(t.equals("true"))
                {Intent i = new Intent(entry.this,success.class);
                    startActivity(i);}
                else
                {

                    Intent p  = new Intent(entry.this,MainActivity.class);
                    startActivity(p);
                }


        }


    });
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值