Ir para conteúdo

Pesquisar na Comunidade

Mostrando resultados para as tags ''android''.

  • Pesquisar por Tags

    Digite tags separadas por vírgulas
  • Pesquisar por Autor

Tipo de Conteúdo


Todas as áreas do Fórum

  • Q&A Desenvolvimento
    • Perguntas e respostas rápidas
  • Desenvolvimento e Banco de Dados
    • HTML e CSS
    • Java
    • Javascript
    • .NET
    • PHP
    • Python
    • Ruby
    • Mobile
    • Ambientes de Desenvolvimento
    • Arquitetura e Métodos Ágeis
    • Banco de Dados
    • DevOps
    • Desenvolvimento de Games
    • E-Commerce e Pagamentos Online
    • SEO e Otimizações
    • WordPress
    • Algoritmos & Outras Tecnologias
  • Design e Produto
    • Fotografia
    • Photoshop
    • Design de interfaces e UX
    • Edição/Produção de Vídeos
    • Marketing Online
    • Desenho, Ilustração e 3D
  • Entretenimento e uso pessoal
    • Geral
    • Segurança & Malwares
    • Gadgets e wearable
    • Softwares e Apps
    • Entretenimento

Encontrar resultados em...

Encontrar resultados que...


Data de Criação

  • Início

    FIM


Data de Atualização

  • Início

    FIM


Filtrar pelo número de...

Data de Registro

  • Início

    FIM


Grupo


Google+


Hangouts


Skype


Twitter


deviantART


Github


Flickr


LinkedIn


Pinterest


Facebook


Site Pessoal


Localização


Interesses

Encontrado 143 registros

  1. Da noite para o dia meu android studio começou a dar esse erro, não mechi em nada, eu tenho o código fonte, msmo se eu extrair um novo projeto sem nem ter mechido ele da esse erro, antes não dava. Error:No signature of method: com.crashlytics.tools.gradle.CrashlyticsPlugin.findObfuscationTransformTask() is applicable for argument types: (java.lang.String) values: [Debug] Me ajudem pfv.
  2. Tenho um projeto que compila na versão compileSdkVersion 28, e coloquei a mínima para minSdkVersion 18, utilizo o celular para testar o app e funciona perfeito o meu é android 8.0 e estou tentando testar em um celular com android 4.3. Ele instala mas ao abrir diz: app parou, o que seria isso?
  3. Vitor Pereira dos Santos

    Setar imagem usando banco Firebase

    Preciso que a imagem que está guardada no Storage firebase apareça na listview customizada, no entanto não consigo setar a imagem no formato gs://, ja tentei utilizar o Picasso e o Glide, mas ambos precisam da URL da imagem, ou seja: http://.. E Não consigo pegar essa url. O código é esse: https://github.com/VitorSantos1996/LivrariaFireBase Se tiver como estar a imagem no formato gs://.. ficará mais fácil.
  4. 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
  5. 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.
  6. 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
  7. Carcleo

    Conexão com a INTERNET no Android Studio

    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?
  8. Eu preciso inserir mais de 3000 itens no ArrayList, o que gera o erro: method code too large. Acredito que usando um TXT como "BANCO DE DADOS" vai resolver o meu problema. Atualmente eu faço assim: ----------------------------------------------------- ArrayList lista = new ArrayList(); // inserindo os itens no ArrayList lista.add(new produtoItem(R.drawable.imagem, "AA", "AA", "AA", "AA")); adapter = new produtoAdapter(this, lista); ListView listView = (ListView) findViewById(R.id.listView1); listView.setAdapter(adapter); ----------------------------------------------------- Como pegar os dados de um TXT e inserir no meu arrayList? OBS: Esse APP precisa funcionar sem a necessidade de internet. Ou seja, não posso usar um banco dados externo.
  9. JuninhoDrak

    ionic native-serial retorna device not found

    O problema é: eu quero estabelecer comunicação entre o meu desktop e meu dispositivo inteligente android. Estou tentando um passo simples mas recebo "device not found" como retorno é aqui que baseio minha codificação: https://ionicframework.com/docs/native/serial/ Este é o código Há poucos conteúdo sobre esse recurso na internet.
  10. 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; }
  11. 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.mkLOCAL_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.
  12. Carcleo

    Buffering em MediaPlayer

    Tenho um objeto MediaPlayer mPlayer = new MediaPlayer(); Objetivo: Tocar o Streaming de uma Web Rádio e funciona corretamente. Porém, quando clico em Play, leva um tempo até que a Rádio Web comece a tocar. Existe alguma forma de enquanto o streaming estiver carregando, eu pegar o percentual para passar para uma SeekBar por exemplo?, Como? Segue o que eu já fiz: package carcleo.com.player; import android.app.NotificationManager; import android.app.PendingIntent; import android.app.ProgressDialog; import android.app.TaskStackBuilder; import android.content.Context; import android.content.Intent; import android.media.AudioManager; import android.media.MediaPlayer; import android.media.MediaPlayer.OnBufferingUpdateListener; import android.os.AsyncTask; import android.os.Build; import android.support.annotation.RequiresApi; import android.support.v4.app.NotificationCompat; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.util.Log; import android.view.View; import android.widget.Button; import android.widget.SeekBar; import android.widget.TextView; import java.io.IOException; public class player extends AppCompatActivity implements OnBufferingUpdateListener{ private MediaPlayer mPlayer; private String URL; private Button btnPlayPause; private Boolean conexao = false; private SeekBar sb; private TextView textView; private TextView textView2; private TextView textView3; private NotificationManager mNotificationManager; private AudioManager audioManager; private ProgressDialog progressDialog; @RequiresApi(api = Build.VERSION_CODES.LOLLIPOP) @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.player); sb = findViewById(R.id.seekBar); textView = findViewById(R.id.textView); textView2 = findViewById(R.id.textView2); textView3 = findViewById(R.id.textView3); progressDialog = new ProgressDialog(this); btnPlayPause = (Button) findViewById(R.id.btnPlayPause); btnPlayPause.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { try { tocaPausa(); } catch (IOException e) { e.printStackTrace(); } } }); configuraAudioManager(); } private void tocaPausa() throws IOException { if (conexao == true) { if (!mPlayer.isPlaying()) { mPlayer.start(); btnPlayPause.setBackgroundResource(R.drawable.pause); } else { mPlayer.pause(); btnPlayPause.setBackgroundResource(R.drawable.play); } } else { String url = "rtsp://cdn-the-2.musicradio.com:80/LiveAudio/Capital"; // your URL here new Play().execute(url); } } private void configuraAudioManager() { audioManager = (AudioManager) getSystemService(Context.AUDIO_SERVICE); int maxVolume = audioManager.getStreamMaxVolume(AudioManager.STREAM_MUSIC); int volume = audioManager.getStreamVolume(AudioManager.STREAM_MUSIC); sb.setMax(maxVolume); sb.setProgress(volume); sb.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() { @Override public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) { audioManager.setStreamVolume(AudioManager.STREAM_MUSIC, progress, AudioManager.FLAG_SHOW_UI); Double total = progress * 6.666666666666667; String valor =Integer.toString(Integer.valueOf(total.intValue())); textView.setText(valor+" %"); } @Override public void onStartTrackingTouch(SeekBar seekBar) {} @Override public void onStopTrackingTouch(SeekBar seekBar) {} }); } @RequiresApi(api = Build.VERSION_CODES.JELLY_BEAN) private void notificacao (){ NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(this) .setSmallIcon(R.drawable.home) .setContentTitle("Rádio Capital") .setContentText("Agora deu"); Intent resultIntent = new Intent(this, player.class); TaskStackBuilder stackBuilder = TaskStackBuilder.create(this); stackBuilder.addParentStack(player.class); stackBuilder.addNextIntent(resultIntent); PendingIntent resultPendingIntent = stackBuilder.getPendingIntent(0, PendingIntent.FLAG_UPDATE_CURRENT); mBuilder.setContentIntent(resultPendingIntent); mNotificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE); mNotificationManager.notify(1, mBuilder.build()); } private void contaBuffer () { textView2.setText(Integer.toString(mPlayer.getDuration())); mPlayer.setOnBufferingUpdateListener( new MediaPlayer.OnBufferingUpdateListener() { public void onBufferingUpdate(MediaPlayer mp, int percent) { double ratio = percent / 100.0; int bufferingLevel = (int)(mp.getDuration() * ratio); sb.setSecondaryProgress(bufferingLevel); textView2.setText(Integer.toString(bufferingLevel)); } } ); } public void mostraBuffer() { mPlayer.setOnPreparedListener(new MediaPlayer.OnPreparedListener() { @Override public void onPrepared(MediaPlayer mediaPlayer) { mediaPlayer.setOnInfoListener(new MediaPlayer.OnInfoListener() { @Override public boolean onInfo(MediaPlayer mp, int what, int extra) { if (what == MediaPlayer.MEDIA_INFO_BUFFERING_END){ progressDialog.dismiss(); return true; } else if(what == MediaPlayer.MEDIA_INFO_BUFFERING_START){ progressDialog.show(); } return false; } }); } }); } @Override public void onBufferingUpdate(MediaPlayer mp, int percent) { textView3.setText(Integer.toString(percent)); } class Play extends AsyncTask<String, Void ,Boolean > { @Override protected void onPreExecute() { btnPlayPause.setBackgroundResource(R.drawable.carregando); btnPlayPause.setEnabled(false); } @Override protected Boolean doInBackground(String... params) { try { mPlayer = new MediaPlayer(); mPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC); mPlayer.setDataSource(params[0]); mostraBuffer(); mPlayer.prepare(); // might take long! (for buffering, etc) return true; } catch (IOException e) { e.printStackTrace(); } return false; } @Override protected void onPostExecute(Boolean result) { if (result == true){ btnPlayPause.setEnabled(true); mPlayer.start(); conexao = true; btnPlayPause.setBackgroundResource(R.drawable.pause); contaBuffer(); } else { conexao = false; } } } }
  13. Estou desenvolvendo um jogo RPG para mobile e preciso de membros para formar a equipe, estou precisando pessoas que possam: fazer pixel art, logos, desenhos, ícones, efeitos sonoros, músicas. Programadores experientes também são bem vindos. interessados favor deixar seu skype nos comentários. Segue o GDD(ainda imcompleto) https://drive.google.com/open?id=1gNtg7URzmi1n9UYMmjiyKe_WXDmjHVkZkQFLCeWq_Wo
  14. Emerson.Oliveira

    Criando Simples APP

    estou fazendo um simples APP web view, quero que quando o usuário acessar o APP apareça uma logo e em baixo icone de carregando, nessa logo nesse gif carregando vai ter uma verificação se a pessoa está conectado a uma internet ou não, se tiver conectado manda para web view, se não tiver conectado aparece uma mensagem vermelho que o celular está sem conexão no momento, como fazer isso se alguém tiver alguma ideia não manjo muito em fazer APP
  15. Alex Oliveira Dos Santos

    Recyclerview alterando informações a cada 10 linhas automaticamente

    Boa tarde, estou criando um carrinho de compras onde tem uma recyclerview listando os produtos, ao lado de cada produto tem um campo de quantidade + ou - que teram a função de adicionar e aumentar a quantidade de produto, mas o problema é que quando eu altero a quantidade de um produto automaticamente esta quantidade tambem vai para outras linhas, intercaladas de 10 em 10, sei que isso é porque o recyclerview meio que carrega de 10 em 10 e vai limpando, soque eu nao sei como resolver isso, segue código e abaixo imagem de referencia public class ProdutosCodBarrasAdapter extends RecyclerView.Adapter<ProdutosCodBarrasAdapter.ViewHolderProdutos> { private List<Produto> dados; private List<PedidoItens> dados2; public Button actionProdMais; public Button actionProdMenos; public TextView txtQtd; private TabelaPreco tabelaPreco; private TabelaPrecoProdutoRepositorio tabelaPrecoProdutoRepositorio; public Double varBaseValor; public int varCodProduto; public Double passaQtd; public Produto[] produto; public String varprecoBaseNovoAjuste; public int varCodProdutoExcluir; public int varCodProdutoItemExcluir; private SQLiteDatabase conexao; private DadosOpenHelper dadosOpenHelper; public int varB; public int varC; public int varD; public String varE; public static final String NOME_PREFERENCE = "INFORMACOES_LOGIN_AUTOMATICO"; public int cli_emp_id; public ProdutosCodBarrasAdapter(List<Produto> dados){ this.dados = dados; } @NonNull @Override public ProdutosCodBarrasAdapter.ViewHolderProdutos onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { LayoutInflater layoutInflater = LayoutInflater.from(parent.getContext()); View view = layoutInflater.inflate(R.layout.linha_carrinho_add, parent,false);//R.layout.linha_produtos, parent,false ViewHolderProdutos holderProdutos = new ViewHolderProdutos(view, parent.getContext()); view.setBackgroundColor(0xFFF0F0F0); return holderProdutos; } @Override public void onBindViewHolder(@NonNull ProdutosCodBarrasAdapter.ViewHolderProdutos holder, int position) { if((dados != null) && (dados.size() > 0)) { DecimalFormat formatoDois = new DecimalFormat("##,###,###,##0.00", new DecimalFormatSymbols(new Locale("pt", "BR"))); formatoDois.setMinimumFractionDigits(2); formatoDois.setParseBigDecimal (true); //CARREGAR NA BINDVIEW aqui ele gera de 10 em 10, sempre ir atualizano a lista com as alterações (dados) Produto produto = dados.get(position); holder.listNomeProd.setText(produto.tab_id + " : " + produto.est_descricao_cor + " - " + produto.est_tam + " posição: "+position);//aqui morre //holder.listRefProd.setText(produto.prod_referencia.toString());// varprecoBaseNovoAjuste = new String(formatoDois.format(produto.tab_preco_final)); varB = Integer.parseInt(produto.varCodPed);//codigo do pedido varC = Integer.parseInt(String.valueOf(produto.codigo_prod));//codigo produto varD = Integer.parseInt(String.valueOf(produto.est_id_cor));//codigo da cor varE = String.valueOf(produto.est_tam);//tamanho holder.listPrecoProd.setText(varprecoBaseNovoAjuste);//aqui? holder.listPrecoProd.setText(formatoDois.format(produto.tab_preco_final.toString())); varCodProdutoItemExcluir = produto.prod_id; holder.listPegaCodPedidoItem2.setText(String.valueOf(varCodProdutoItemExcluir)); varBaseValor = produto.tab_preco_final; varCodProduto = produto.prod_id; } } @Override public int getItemCount() { return dados.size(); } public class ViewHolderProdutos extends RecyclerView.ViewHolder implements View.OnClickListener { private TextView listNomeProd; private TextView listPrecoProd; private ImageView idImagen; private TextView txtQtd; private double pegaQtd; private TextView listPegaCodPedidoItem2; public ViewHolderProdutos(@NonNull View itemView, final Context context) { super(itemView); listNomeProd = (TextView) itemView.findViewById(R.id.listNomeProd); listPrecoProd = (TextView) itemView.findViewById(R.id.listPrecoProd); txtQtd = (TextView) itemView.findViewById(R.id.txtQtd); passaQtd = Double.valueOf(txtQtd.getText().toString()); listPegaCodPedidoItem2 = (TextView) itemView.findViewById(R.id.listPegaCodPedidoItem2); actionProdMais = (Button) itemView.findViewById(R.id.actionProdMais); actionProdMais.setOnClickListener(this); actionProdMenos = (Button) itemView.findViewById(R.id.actionProdMenos); actionProdMenos.setOnClickListener(this); //ATUALIZAR ELE NA VIEW // actionProdMenos.setOnClickListener(new View.OnClickListener(){ @Override public void onClick(View v) { // get position int pos = getAdapterPosition(); // check if item still exists if(pos != RecyclerView.NO_POSITION){ Produto produto = dados.get(pos); Double pegaQtd2 = Double.valueOf(txtQtd.getText().toString()); if(pegaQtd2 > 1.00){pegaQtd2--;} txtQtd.setText(pegaQtd2.toString()); Double pegaPrecoProd2 = pegaQtd2 * varBaseValor; DecimalFormat formatoDois2 = new DecimalFormat("##,###,###,##0.00", new DecimalFormatSymbols(new Locale("pt", "BR"))); formatoDois2.setMinimumFractionDigits(2); formatoDois2.setParseBigDecimal (true); listPrecoProd.setText(formatoDois2.format(pegaPrecoProd2).toString()); passaQtd = Double.valueOf(pegaQtd2.toString()); Toast.makeText(v.getContext(), "TAM: " + produto.est_tam + "QTD: " + passaQtd, Toast.LENGTH_SHORT).show(); //ProdutosCodBarrasAdapter.this.notifyItemChanged(pos, "payload " + pos); //Toast.makeText(v.getContext(), "You clicked " + produto.est_tam, Toast.LENGTH_SHORT).show(); } } }); // // actionProdMais.setOnClickListener(new View.OnClickListener(){ @Override public void onClick(View v) { // get position int pos = getAdapterPosition(); // check if item still exists if(pos != RecyclerView.NO_POSITION){ Produto produto = dados.get(pos); Double pegaQtd = Double.valueOf(txtQtd.getText().toString()); pegaQtd++; txtQtd.setText(pegaQtd.toString()); Double pegaPrecoProd = pegaQtd * varBaseValor; DecimalFormat formatoDois = new DecimalFormat("##,###,###,##0.00", new DecimalFormatSymbols(new Locale("pt", "BR"))); formatoDois.setMinimumFractionDigits(2); formatoDois.setParseBigDecimal (true); listPrecoProd.setText(formatoDois.format(pegaPrecoProd).toString()); passaQtd = Double.valueOf(pegaQtd.toString()); Toast.makeText(v.getContext(), "TAM: " + produto.est_tam + "QTD: " + passaQtd, Toast.LENGTH_SHORT).show(); } } }); // } @Override public void onClick(View view) { switch (view.getId()) { case R.id.actionProdMais: break; case R.id.actionProdMenos: break; default: break; } } } }
  16. RodrigoAF

    conexão do android studio com API do GOOGLE DRIVE

    Galera, sou novo em desenvolvimento android, porém gostaria de saber se podem me ajudar em meu aplicativo. Basicamente, anexo um arquivo (texto, imagem) em meu app e envio para o Google drive, onde ele cria uma pasta com o nome deste arquivo e realiza o upload dele nesta pasta. Bem, não consigo nem me conectar com o Google drive, tentei já com outras API's e deu certo, alguém pode me ajudar ? Estou uma semana tentando realizar este procedimento rs Tento ver a documentação do Google mesmo, mas é muito confuso. E outros sites tentei mas são versões bem inferiores, ou já é com o Kotlin. Agradeço a ajuda, Rodrigo A.F.
  17. Olá pessoal, meu tablet iniciou um comportamento estranho, após desligar e ligar apareceu uma mensagem do sistema dizendo algo como "O caminho de .com.ugc.android.activitys. está errado", pelo pouco que entendo sei que "activitys" se escreve activities, talvez seja esse o motivo da mensagem. Após isso, todos os apps e tarefas ficam com aquela mensagem de "O aplicativo parou de funcionar". Tentei formatar pelo reset padrão do android e o procedimento ocorre normalmente mas quando ao final, quando o sistema reinicia tudo está como mantes, nada foi formatado, todos os arquivos estão intactos juntamente com o erro. Tentei formatar por aquele reset apertando o power e o volume, coloquei para redefinir para as configurações de fábrica e acontece a mesma coisa de antes, reinicia com tudo igual. Quando conecto no pc e tento alterar algo nos arquivos do tablet pelo pc ele retorna uma mensagem dizendo que o dispositivo foi desconectado, sendo que ainda consigo mexer. Ficarei extremamente agradecido caso alguém que tenha alguma ideia e que possa me dar uma luz. Tablet Multilaser M7 O mesmo desde anúncio: https://www.walmart.com.br/tablet-multilaser-preto-m7-3g-quad-core-camera-wi-fi-tela-hd-7-memoria-8gb-dual-chip-nb223/4280776/pr?utm_source=google-5&amp;utm_medium=sem&amp;utm_campaign=institucional-marca
  18. Carcleo

    Campos sobrepostos e gira e some botão

    Boa Noite! Estou iniciando na arte do Android Studio e estou apanhando bastante e venho em busca de ajuda. Tenho um formulário (Activity) de login. 2 campos: login e senha e 1 botão Quando compilo os campos ficam um sobre o outro. Eis o xml <?xml version="1.0" encoding="utf-8"?> <android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".Login"> <TextView android:id="@+id/textView" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="LOGON" tools:layout_editor_absoluteX="162dp" tools:layout_editor_absoluteY="16dp" /> <EditText android:id="@+id/editText" android:layout_width="wrap_content" android:layout_height="wrap_content" android:ems="10" android:inputType="textPersonName" android:text="Usuário" tools:layout_editor_absoluteX="83dp" tools:layout_editor_absoluteY="61dp" /> <EditText android:id="@+id/editText2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:ems="10" android:inputType="textPassword" tools:layout_editor_absoluteX="80dp" tools:layout_editor_absoluteY="129dp" /> <Button android:id="@+id/button" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Login" tools:layout_editor_absoluteX="147dp" tools:layout_editor_absoluteY="201dp" /> </android.support.constraint.ConstraintLayout> E o .java package carcleo.com.cadastrodeclientes; import android.app.Activity; import android.os.Bundle; public class Login extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.login); } } O que estou errando?
  19. First

    Stickers WhatsApp

    Olá a todos! Ultimamente os famosos Stickers para o WhatsApp entrou em "febre". Estive pesquisando no Google como que eu poderia criar um aplicativo para armazenar os meus Stickers e publicar o app na Play Store, achei alguns conteúdos e acho que entendi como funciona, mais ou menos, mas a questão é que eu não faço a miníma ideia de como publicar o aplicativo. Peço a ajuda de vocês para me instruir nessa questão, se puderem, é claro. Criando adesivos (Stickers) para o WhatsApp https://faq.whatsapp.com/en/android/26000226/?category=5245251 Lá contem algumas informações bem concretas, e possuí um repositório no GitHub onde contém o "aplicativo para stickers de exemplo, pronto para serem publicados em alguma loja, como Google Play Store ou Apple Store". Repositório de adesivos (Stickers) para o WhatsApp - GitHub https://github.com/WhatsApp/stickers Agora a princípio eu tenho a seguinte dúvida, como que eu posso fazer meus próprios adesivos (stickers) e publicar na Google Play Store?! Desde já agradeço o tempo de vocês, deixo o meu muito obrigado.
  20. Usuario11

    Jogo Sliding Pipes (tubos deslizantes)

    Pessoal, noa noite. Desenvolvi esse jogo para android e estou divulgando. Já esta disponível para download na loja da google play store. Gostaria da ajuda de vocês para avaliar, é claro, quem puder e quiser Muito obrigado!
  21. Fábão Ramos

    Procuro um proficional para deselvolver um app

    Olá sei que não é o caso mas preciso de alguem que faça um app para mim nada muito complicado mas com integração com o meu sql server 2012. app envolve: compra de moedas virtual para o meu game já pre cadastradas pelo gplay e suporte ao cliente. que tenha alertas de app desculpe se não é o local adequado para isso mas estou pesquisando muito e nao sei o trabalho que isso daria mas acredito que não seja um dos mais trabalhosos.
  22. Aprendendo a usar o android studio e seguindo um curso da udacity, importei um projeto do curso e na hora de rodar da esse erro. Já aconteceu com alguém? Alguém sabe como resolver?
  23. Bom dia pessoal, estou quase concluindo um aplicativo, porém estou empacado nessa situação. Fiz um sistema simples de registro e login apenas pra guardar valores do celular no mysql, ele guarda todos os valores certinhos, também fiz um sistema simples de ranking usando Android, MySql e PHP, ele retorna tudo perfeito. Porém quando eu tento fazer o login comparando o usuario e senha do banco de dados pelo android, ele me retorna como valor nulo, sendo que se eu editar o php com usuario e senha, ele retorna no browser os dados referente ao usuário, alguém saberia o por que? Sistema de Registrar: public void registrarConta(View v) { final String nome = profilename.getText().toString(); final String senha = profilepass.getText().toString(); final String email = profileemail.getText().toString(); String id = profileid.getText().toString(); String url = HOST + "/criartapball.php"; if(nome.isEmpty()) { profilename.setError("Digite seu Nome!"); } //else if() else if(senha.isEmpty()) { profilepass.setError("Digite uma Senha!"); } else if(email.isEmpty()) { profileemail.setError("Digite seu Email!"); } else if(id.isEmpty()) { final Future<JsonObject> jsonObjectFuture = Ion.with(registrar.this) .load(url) .setBodyParameter("NOME", nome) .setBodyParameter("SENHA", senha) .setBodyParameter("EMAIL", email) .setBodyParameter("DINHEIRO", "0") .setBodyParameter("RECORDE", "0") .setBodyParameter("CLIQUES", "0") .setBodyParameter("MAIOR_NIVEL", "0") .setBodyParameter("TOTAL_GANHO", "0") .setBodyParameter("REGISTRADO", "1") .asJsonObject() .setCallback(new FutureCallback<JsonObject>() { @Override public void onCompleted(Exception e, JsonObject result) { if(result == null) { Toast.makeText(registrar.this, "Não foi possível! Verifique sua conexão.", Toast.LENGTH_LONG).show(); } else { if (result.get("CREATE").getAsString().equals("OK")) { int idRetornado = Integer.parseInt(result.get("ID").getAsString()); //-------- SISTEMA DE DADOS OFFLINE SALVOS NO CELULAR SharedPreferences settings = getSharedPreferences("GAME_DATA", Context.MODE_PRIVATE); SharedPreferences.Editor editor = settings.edit(); editor.putInt("TOTAL_GANHO", 0); editor.putInt("DINHEIRO_ATUAL", 0); editor.putInt("CLIQUES_FEITOS", 0); editor.putInt("HIGH_SCORE", 0); editor.putInt("MAIOR_LEVEL", 0); editor.putString("NOME", nome); editor.putString("SENHA", senha); editor.putString("EMAIL", email); editor.putInt("REGISTRADO", 1); editor.putInt("ID_REGISTRO", idRetornado); editor.commit(); Toast.makeText(registrar.this, "Jogador " + nome + " criado com Sucesso! ID: " + idRetornado, Toast.LENGTH_LONG).show(); Log.d(TAG, "Usuário Registrado:>>> " + nome + " - ID: " + idRetornado + " <<<"); startActivity(new Intent(getApplicationContext(), start.class)); } else { Toast.makeText(registrar.this, "Nome já utilizado!", Toast.LENGTH_LONG).show(); } } } }); } } PHP do registro: <?php include "conexaotapball.php"; $nome = $_POST['NOME']; $senha = $_POST['SENHA']; $email = $_POST['EMAIL']; $dinheiro = $_POST['DINHEIRO']; $record = $_POST['RECORDE']; $cliques = $_POST['CLIQUES']; $maior_nivel = $_POST['MAIOR_NIVEL']; $total_ganho = $_POST['TOTAL_GANHO']; $registrado = $_POST['REGISTRADO']; $sql_insert = "INSERT INTO jogadores (NOME, SENHA, EMAIL, DINHEIRO, RECORDE, CLIQUES, MAIOR_NIVEL, TOTAL_GANHO, REGISTRADO) VALUES (:NOME, :SENHA, :EMAIL, :DINHEIRO, :RECORDE, :CLIQUES, :MAIOR_NIVEL, :TOTAL_GANHO, :REGISTRADO)"; $stmt = $PDO->prepare($sql_insert); $stmt->bindParam(':NOME',$nome); $stmt->bindParam(':SENHA',$senha); $stmt->bindParam(':EMAIL',$email); $stmt->bindParam(':DINHEIRO',$dinheiro); $stmt->bindParam(':RECORDE',$record); $stmt->bindParam(':CLIQUES',$cliques); $stmt->bindParam(':MAIOR_NIVEL',$maior_nivel); $stmt->bindParam(':TOTAL_GANHO',$total_ganho); $stmt->bindParam(':REGISTRADO',$registrado); if($stmt->execute()) { $id = $PDO->lastInsertId(); $dados = array("CREATE"=>"OK", "ID"=>$id); } else { $dados = array("CREATE"=>"ERRO"); //echo $dados->getMessage(); } echo json_encode($dados); ?> Sistema de Logar: public void logarConta(View v) { final String nome = profilename.getText().toString(); final String senha = profilepass.getText().toString(); final String url = HOST + "/login.php"; if(nome.isEmpty()) { profilename.setError("Digite seu Nome!"); } else if(senha.isEmpty()) { profilepass.setError("Digite sua Senha!"); } else { final Future<JsonObject> jsonObjectFuture = Ion.with(logar.this) .load(url) .setBodyParameter("NOME", nome) .setBodyParameter("SENHA", senha) .asJsonObject() .setCallback(new FutureCallback<JsonObject>() { @Override public void onCompleted(Exception e, JsonObject result) { //atualizarDados(); if(result == null) { Toast.makeText(logar.this, "Não foi possível! Verifique sua conexão.", Toast.LENGTH_LONG).show(); } else { if (result.get("LOGAR").getAsString().equals("OK")) { JsonObject obj = result.get(result.get("ID").getAsString()).getAsJsonObject(); rankingrecorde r = new rankingrecorde(); r.setID(Integer.valueOf(obj.get("ID").getAsString())); r.setNome(obj.get("NOME").getAsString()); r.setSenha(obj.get("SENHA").getAsString()); r.setEmail(obj.get("EMAIL").getAsString()); r.setDinheiro(obj.get("DINHEIRO").getAsString()); r.setRecord(obj.get("RECORDE").getAsString()); r.setTotal_ganho(obj.get("TOTAL_GANHO").getAsString()); r.setMaior_nivel(obj.get("MAIOR_NIVEL").getAsString()); r.setCliques(obj.get("CLIQUES").getAsString()); r.setRegistrado(obj.get("REGISTRADO").getAsString()); //-------- SISTEMA DE DADOS OFFLINE SALVOS NO CELULAR SharedPreferences settings = getSharedPreferences("GAME_DATA", Context.MODE_PRIVATE); SharedPreferences.Editor editor = settings.edit(); editor.putInt("TOTAL_GANHO", Integer.valueOf(r.getTotal_ganho())); editor.putInt("DINHEIRO_ATUAL", Integer.valueOf(r.getDinheiro())); editor.putInt("CLIQUES_FEITOS", Integer.valueOf(r.getCliques())); editor.putInt("HIGH_SCORE", Integer.valueOf(r.getRecord())); editor.putInt("MAIOR_LEVEL", Integer.valueOf(r.getMaior_nivel())); editor.putString("NOME", r.getNome()); editor.putString("SENHA", r.getSenha()); editor.putString("EMAIL", r.getEmail()); editor.putInt("REGISTRADO", Integer.valueOf(r.getRegistrado())); editor.putInt("ID_REGISTRO", r.getID()); editor.commit(); Toast.makeText(logar.this, "Jogador " + obj.get("NOME").getAsString() + " logado com Sucesso!", Toast.LENGTH_LONG).show(); startActivity(new Intent(getApplicationContext(), start.class)); } else if (result.get("LOGAR").getAsString().equals("NAOEXISTE")) { Toast.makeText(logar.this, "Nome ou senha incorretos!", Toast.LENGTH_LONG).show(); } else { Toast.makeText(logar.this, "Nome já utilizado!", Toast.LENGTH_LONG).show(); } } } }); } } PHP do Login: <?php include "conexaotapball.php"; $host = "localhost"; $db = "id7211556_tapballusers"; $usuario = "id7211556_zotinfotapball"; $senhadb = "tapballthegame"; $con = mysqli_connect($host,$usuario,$senhadb,$db); $nome = "teste"; //$_POST['NOME']; $senha = "teste";// $_POST['SENHA']; $sql_login = "SELECT * FROM jogadores WHERE NOME = '$nome' AND SENHA = '$senha'"; $dados_login = $PDO->query($sql_login); $resultado_login = array(); $result = mysqli_fetch_array(mysqli_query($con,$sql_login)); if(isset($result)) { //$dados = array("LOGAR"=>"OK"); while($jogador = $dados_login->fetch(PDO::FETCH_OBJ)){ $resultado_login[] = array("ID"=>$jogador->ID, "NOME"=>$jogador->NOME, "SENHA"=>$jogador->SENHA, "EMAIL"=>$jogador->EMAIL, "DINHEIRO"=>$jogador->DINHEIRO, "RECORDE"=>$jogador->RECORDE, "CLIQUES"=>$jogador->CLIQUES, "MAIOR_NIVEL"=>$jogador->MAIOR_NIVEL, "TOTAL_GANHO"=>$jogador->TOTAL_GANHO, "REGISTRADO"=>$jogador->REGISTRADO,"LOGAR"=>"OK"); } } else { $resultado_login = array("LOGAR"=>"NAOEXISTE"); } echo json_encode($resultado_login); //echo json_encode($dados); mysqli_close($con); ?> Sistema do Ranking: private void listaRanking(){ String url = HOST + "/rankrecorde.php"; Ion.with(getBaseContext()) .load(url) .asJsonArray() .setCallback(new FutureCallback<JsonArray>() { @Override public void onCompleted(Exception e, JsonArray result) { if(result == null) { Toast.makeText(rankrecorde.this, "Não foi possível! Verifique sua conexão.", Toast.LENGTH_LONG).show(); } else { for (int i = 0; i < result.size(); i++) { JsonObject obj = result.get(i).getAsJsonObject(); rankingrecorde r = new rankingrecorde(); r.setNome(obj.get("NOME").getAsString()); r.setRecord(obj.get("RECORDE").getAsString()); lista.add(r); } rankAdapter.notifyDataSetChanged(); } } }); } PHP que faz a função do ranking: <?php include "conexaotapball.php"; $sql_read = "SELECT * FROM jogadores ORDER BY RECORDE * 1 DESC LIMIT 10"; //$sql_readrecord = "SELECT NAME, RECORDE FROM jogadores ORDER BY RECORDE DESC"; $dados = $PDO->query($sql_read); //$dados = $PDO->query($sql_readrecord); $resultado = array(); while($jogador = $dados->fetch(PDO::FETCH_OBJ)){ $resultado[] = array("ID"=>$jogador->ID, "NOME"=>$jogador->NOME, "RECORDE"=>$jogador->RECORDE); } echo json_encode($resultado); ?> Site que estou utilizando para testes: https://zotinfogames.000webhostapp.com/tapball/logartapball.php Aqui está a saida utilizando usuario teste direto no php de login: [ { ID: "4", NOME: "teste", SENHA: "teste", EMAIL: "teste", DINHEIRO: "205", RECORDE: "165", CLIQUES: "64", MAIOR_NIVEL: "3", TOTAL_GANHO: "205", REGISTRADO: "1", LOGAR: "OK" } ] Obrigado por qualquer ajuda que vier.
  24. luiz_paulo_andrade

    Download dentro de um iframe no android

    Estou desenvolvendo um app com ionic que tem uma página webview dentro de um iframe, nessa webview existe um botão de download que funciona normalmente no browser, mas no android não funciona. Creio que o Android esteja bloqueando esse download, gostaria de saber como habilitar para que o download seja feito diretamente, como faz no browser.
  25. Bruno S. Ferreira

    Android vs IOS

    Boa noite. Estou com uma dúvida e já vi vídeos no youtube que só enrolam e o que encontrei no google não fui capaz de captar corretamente. Eu sei fazer app para android (básico e tal) Mas seu eu quero publicar para iphone eu tenho estas dúvidas: ---Eu preciso ter obrigatoriamente um macbook? ---Eu preciso criar todo o app do zero ou poderia uma o app do android?(sei que tem o lance da chave de lá tb mas basicamente a estrutura) O iphone teria a opção de instalar diretamente o app sem a necessidade de estar publicado na apple store, como da pra fazer no android (onde desabilita uma opção de segurança) pq das duvidas... eu não tenho mac, não posso comprar um agora, Eu uso o celular para rodar os app android e testá-los pq se eu usar o próprio pc ele trava por falta de memória e como não tenho um iphone e não compraria só pra verificar se o app fuinciona estaria fora de cogitação tb obrigado quem puder responder
×

Informação importante

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