亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

我的應用程序正在我的Android模擬器上運行,但它無法在我的真實移動設備上工作

我的應用程序正在我的Android模擬器上運行,但它無法在我的真實移動設備上工作

一只名叫tom的貓 2022-09-01 16:28:26
我的問題是,當我在真正的移動設備上運行我的應用程序時,會顯示以下錯誤:com.android.volley.TimeoutError”。但是,通過使用Android工作室的模擬器,它可以完美地工作。由于此錯誤必須由連接問題引起,因此我是否為我的應用程序使用相應的ip?即“私有靜態字符串 URL_REGIST =”http://10.0.2.2:81/android_register_login/register.php“;"我是應用程序開發的新手,因此非常感謝任何幫助。以下是用于注冊的代碼.java它使用register.php用于執行注冊的腳本private EditText name,email,password,c_password;private Button btn_regist;private ProgressBar loading;private static String URL_REGIST ="http://10.0.2.2:81/android_register_login/register.php";@Overrideprotected void onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    setContentView(R.layout.activity_register);    loading = findViewById(R.id.loading);    name= findViewById(R.id.name);    email = findViewById(R.id.email);    password = findViewById(R.id.password);    c_password = findViewById(R.id.c_password);    btn_regist =findViewById(R.id.btn_regist);    btn_regist.setOnClickListener(new View.OnClickListener() {        @Override        public void onClick(View v) {            Regist();        }    });}private void Regist(){    loading.setVisibility(View.VISIBLE);    btn_regist.setVisibility(View.GONE);    final String name = this.name.getText().toString().trim();    final String email = this.email.getText().toString().trim();    final String password = this.password.getText().toString().trim();    StringRequest stringRequest = new StringRequest(Request.Method.POST, URL_REGIST,            new Response.Listener<String>() {                @Override                public void onResponse(String response) {                 try {                     JSONObject jsonObject = new JSONObject(response);                     String success = jsonObject.getString("success");                     if(success.equals("1")){                         Toast.makeText(RegisterActivity.this, "Account Created",Toast.LENGTH_SHORT).show();                         loading.setVisibility(View.GONE);                     }                 }
查看完整描述

3 回答

?
一只萌萌小番薯

TA貢獻1795條經驗 獲得超7個贊

如果您在Android 9 Pie中進行測試,那么您必須在清單標簽中設置網絡安全配置,以允許所有HTTP和HTTPS網絡連接。另外,請檢查您是否提供了INTERNET權限。application


<?xml version="1.0" encoding="utf-8"?>

<manifest ... >

    <application android:networkSecurityConfig="@xml/network_security_config">



    </application>

</manifest>

然后在您的xml文件夾中,您現在必須創建一個名為network_security_config的文件,就像您在清單中命名它的方式一樣,從那里開始,您的文件內容應該如下所示,以啟用所有請求而無需加密:


<?xml version="1.0" encoding="utf-8"?>

<network-security-config>

    <base-config cleartextTrafficPermitted="true">

        <trust-anchors>

            <certificates src="system" />

        </trust-anchors>

    </base-config>

</network-security-config>


查看完整回答
反對 回復 2022-09-01
?
白豬掌柜的

TA貢獻1893條經驗 獲得超10個贊

最有可能的是,該錯誤是由于連接問題造成的。https://10.0.2.2 必須是本地主機 IP 地址。在 Android 設備上運行的應用程序無法連接到本地主機服務器。

解決 方案:

  • 您可以使用 ngrok。基本上,它會創建一個到本地主機的隧道,您可以通過該隧道連接到本地主機服務器。我個人已經將其與本地主機上托管的Flask API一起使用

  • 您還可以在AWS(亞馬遜網絡服務),Hostinger或其他云服務上托管您的服務器。我使用Hostinger在PHP中托管我的API。


查看完整回答
反對 回復 2022-09-01
?
互換的青春

TA貢獻1797條經驗 獲得超6個贊

這是錯誤的 IP 地址。10.0.2.2 僅適用于模擬器,因為這是主機和模擬器之間專用網絡的 IP。對于wifi,您需要使用真實的IP地址,并確保wifi網絡設置為允許該IP /端口上的傳入連接。對于蜂窩網絡,您需要確保這種情況一直持續到您的ISP


查看完整回答
反對 回復 2022-09-01
  • 3 回答
  • 0 關注
  • 175 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號