Ir para conteúdo
Carcleo

Conexão com a INTERNET no Android Studio

Recommended Posts

Olá, tenho o form abaixo onde eu leio um json à partir de um endereço na web

http://www.hotplateprensas.com.br/ws/clientest.php

que me entrega uma string json do tipo

{
  "clientes":[
     {
       "idClientesT":"1",
       "tipo":"s",
       "nome":"Carlos"},
     {
       "idClientesT":"2",
       "tipo":"s",
       "nome":"Rogério"
     }
  ]
}

Então, pego ela no AndroidStudio com a Activity abaixo:

package carcleo.com.radiosingular;

import android.os.Bundle;
import android.os.StrictMode;
import android.support.v7.app.AppCompatActivity;
import android.util.Log;
import android.view.View;

import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;

import carcleo.com.radiosingular.classes.JsonClass;

public class form extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.form);
    }

    public void listaClientes (View View) {

        if (android.os.Build.VERSION.SDK_INT > 9){
            StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build();
            StrictMode.setThreadPolicy(policy);
        }
        
        String url = "http://hotplateprensas.com.br/ws/clientest.php";
        JsonClass json = new JsonClass();
        JSONObject clientesLista = json.getJSONFromUrl(url);

        clientes(clientesLista);
    }

    public void clientes(JSONObject jsonCli) {

        try {

            JSONArray arrayPlanetas = jsonCli.getJSONArray("clientes");

            for (int i = 0; i < arrayPlanetas.length(); i++) {

                JSONObject cliente = arrayPlanetas.getJSONObject(i);

                Log.d("idClientesT", cliente.getString("idClientesT"));
                Log.d("tipo", cliente.getString("tipo"));
                Log.d("nome", cliente.getString("nome"));

            }

        } catch (JSONException e) {
            e.printStackTrace();
        }
    }

}

Esse código funciona normalmente.Porém, é preciso colocar o trecho de código abaixo;

if (android.os.Build.VERSION.SDK_INT > 9){
   StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build();
   StrictMode.setThreadPolicy(policy);
}

Senão, a conexão com a internet NÃO é estabelecida. 

No entanto, eu já adicionei a permissão de acesso à INTERNET no AndroidManifest.

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

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

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        <activity android:name=".login">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity android:name=".principal" />
        <activity android:name=".form" />
        <activity android:name=".retrofit" />
    </application>

</manifest>

Mas não adianta.

Se eu retirar esse bloco de código

if (android.os.Build.VERSION.SDK_INT > 9){
   StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build();
   StrictMode.setThreadPolicy(policy);
}

A conexão com a INTERNET não acontece.

 

O problema é que quantas vezes eu precisar acessar à INTERNET será o mesmo número de vezes que terei que fazer uso desse trecho de código?

 

Será que não existe um arquivo de configuração geral para isso no AndroidStudio?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora

  • Conteúdo Similar

    • Por gregory freire
      Boa tarde,
       
      Desenvolvi um aplicativo e gostaria de saber se existe alguma forma de forçar a execução dele para que o mesmo não pare o processo quando estiver em segundo plano no Sistema Android, da forma que funciona hoje, após 5 minutos o aplicativo é fechado se estiver em segundo plano. Se fazendo necessário novo login. 
      Outra duvida seria, quando o aplicativo está em segundo plano, como fazer para informações enviadas para o aplicativo sobreporem a tela do aparelho. 
       
      att,
       
      Gregory Freire
    • Por Motta
      Prezada(o)s
       
      Fiz uma besteira.
      Troquei o celular , achei que os contatos estavam no chip mas não estavam , inicializei o antigo.
      Perdi os contatos em resumo.
       
      Tem como :
      1) Importar um arquivo antigo .vcf que tenho no Windows ?
      2) Restaurar os contatos do antigo
       
      antigo samsung 7
      novo moto g 6
       
      grato
    • Por breno2019
      Olá pessoal, pretendo criar um aplicativo que precisará conter um chat interno enviando mensagens uma a uma, a idéia do aplicativo é a mesma que uber, a pessoa estará disponível para oferecer carona e quem se interessar em aceitar vai abrir o chat. Mas o foco da minha pergunta está no chat, como eu faria esse chat?
      Detalhe, estou usando android studio para desenvolver o app, beckend em php + mysql para api e estou consumindo o webservice com o retrofit.
    • Por Lenon John
      Observação: As imagens que estão na pasta drawable, eu adicionei manualmente,(CTRL + C) (CTRL + V)
      public View getView(int position, View convertView, ViewGroup parent) { Bitmap raw; byte[] fotoArray; View v = View.inflate(context,R.layout.activity_produto_item,null); TextView nome = (TextView)v.findViewById(R.id.tvNome); ImageView imagem = (ImageView)v.findViewById(R.id.tvImagem); nome.setText(lista_exibicao.get(position).getNome()); fotoArray = lista_exibicao.get(position).getImagem(); if(fotoArray!=null){ raw = BitmapFactory.decodeByteArray(fotoArray,0,fotoArray.length); imagem.setImageBitmap(raw); } v.setTag(lista_exibicao.get(position).getId()); return v; }
    • Por lucas.sardelari
      Olá
      Estou tendo um problema ao compilar uma biblioteca no Android Studio pelo NDK Quando executo o comando ndk-build, um problema é lançado:
       
      Android NDK: Found platform level in ./project.properties. Setting APP_PLATFORM to android-19. Android NDK: WARNING: APP_PLATFORM android-19 is higher than android:minSdkVersion 1 in ./AndroidManifest.xml. NDK binaries will *not* be compatible with devices older than android-19. See https://android.googlesource.com/platform/ndk/+/master/docs/user/common_p roblems.md for more information. [arm64-v8a] Compile : FerrugemLib <= FerrugemLib.c In file included from jni/FerrugemLib.c:15: In file included from jni\CL/cl.h:32: jni\CL/cl_version.h:34:9: warning: cl_version.h: CL_TARGET_OPENCL_VERSION is not defined. Defaulting to 220 (OpenCL 2.2) [-W#pragma-messages] #pragma message("cl_version.h: CL_TARGET_OPENCL_VERSION is not defined. Defaulting to 220 (OpenCL 2.2)") ^ jni/FerrugemLib.c:346:1: warning: control reaches end of non-void function [-Wreturn-type] } ^ jni/FerrugemLib.c:535:1: warning: control reaches end of non-void function [-Wreturn-type] } ^ jni/FerrugemLib.c:733:25: warning: 'clCreateCommandQueue' is deprecated [-Wdeprecated-declarations] openCLObjects->queue = clCreateCommandQueue(openCLObjects->context, openCLObjects->device, 0, &err); ^ jni\CL/cl.h:1760:72: note: 'clCreateCommandQueue' has been explicitly marked deprecated here cl_int * /* errcode_ret */) CL_EXT_SUFFIX__VERSION_1_2_DEPRECATED; ^ jni\CL/cl_platform.h:91:70: note: expanded from macro 'CL_EXT_SUFFIX__VERSION_1_2_DEPRECATED' #define CL_EXT_SUFFIX__VERSION_1_2_DEPRECATED __attribute__((deprecated)) ^ jni/FerrugemLib.c:839:1: warning: control reaches end of non-void function [-Wreturn-type] } ^ jni/FerrugemLib.c:944:1: warning: control reaches end of non-void function [-Wreturn-type] } ^ jni/FerrugemLib.c:1977:1: warning: control reaches end of non-void function [-Wreturn-type] } ^ jni/FerrugemLib.c:2034:1: warning: control reaches end of non-void function [-Wreturn-type] } ^ 8 warnings generated. [arm64-v8a] SharedLibrary : libFerrugemLib.so C:/Android/Sdk/ndk-bundle/build//../toolchains/aarch64-linux-android-4.9/prebuilt/windows-x86_64/lib/gcc/aarch64-linux-android/4.9.x/../../../../aarch64-linux-android/bin\ld: cannot find OpenCL: No such file or directory clang++.exe: error: linker command failed with exit code 1 (use -v to see invocation) make: *** [obj/local/arm64-v8a/libFerrugemLib.so] Error 1 Meu Android.mk
      LOCAL_PATH := $(call my-dir)
      LOCAL_C_INCLUDES += PATH_TO_CL_FOLDER
       
      include $(CLEAR_VARS) LOCAL_MODULE := decodeYUV420SP LOCAL_SRC_FILES := decodeYUV420SP.c LOCAL_LDLIBS := -llog -ljnigraphics include $(BUILD_SHARED_LIBRARY) include $(CLEAR_VARS) LOCAL_MODULE := FerrugemLib LOCAL_SRC_FILES := FerrugemLib.c LOCAL_LDLIBS := -lOpenCL LOCAL_LDLIBS += -llog -ljnigraphics LOCAL_ALLOW_UNDEFINED_SYMBOLS := true include $(BUILD_SHARED_LIBRARY) APP_OPTIM := debug LOCAL_CFLAGS := $(call my-dir) Alguem poderia ajudar em como eu conseguir fazer dar o build com este comando: -lOpenCL
      Me propuseram a trocar o -lOpenCL por -framework OpenCL porem sem sucesso.
      Obrigado.
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.