Jump to content

Search the Community

Showing results for tags 'android'.

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • Comunidade
    • Sugestões, Críticas ou Dúvidas relativas ao P@P
    • Acerca do P@P
  • Comunidade a Trabalhar
    • Apresentação de Projectos de Programação
    • Downloads
    • Revista PROGRAMAR
  • Desenvolvimento Geral
    • C
    • C++
    • Java
    • Pascal
    • Python
    • Bases de Dados
    • Dispositivos Móveis
    • Outras Linguagens
  • Desenvolvimento Orientado para Web
    • PHP
    • HTML
    • CSS
    • Javascript
    • Outras Linguagens de WebDevelopment
    • Desenvolvimento Web
  • Desenvolvimento .NET
    • C#
    • Visual Basic .NET
    • ASP.NET
    • WPF & SilverLight
  • Software e Sistemas Operativos
    • Software de Produtividade
    • Sistemas Operativos
    • Apresentação de Software
  • Informática
    • Interfaces Visuais
    • Computação Gráfica
    • Algoritmia e Lógica
    • Segurança e Redes
    • Hardware
    • Electrónica e Automação Industrial
    • Matemática
    • Software de Contabilidade, Finanças e Admin. Pública
    • Dúvidas e Discussão de Programação
    • Tutoriais
    • Snippets / Armazém de Código
  • Outras Áreas
    • Notícias de Tecnologia
    • Dúvidas Gerais
    • Discussão Geral
    • Eventos
    • Anúncios de Emprego
  • Arquivo Morto
    • Projectos Descontinuados
    • System Empires

Blogs

  • Blog dos Moderadores
  • Eventos
  • Notícias de Tecnologia
  • Blog do Staff
  • Revista PROGRAMAR
  • Projectos
  • Wiki

Categories

  • Revista PROGRAMAR
  • Tutoriais
  • Textos Académicos
  • Exercícios Académicos
    • Exercícios c/ Solução
    • Exercícios s/ Solução
  • Bibliotecas e Aplicações
  • Outros

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


Website


GitHub


LinkedIn


Twitter


Facebook

  1. Tenho uma aplicação simples em android que faz download do conteúdo de uma página web e envia para uma impressora portátil bluetooth. Esta aplicação estava a funcionar perfeitamente mas com as alterações da google neste momento não se consegue instalar em android a partir da versão 12. Fiz esta aplicação a partir de um exemplo de um fabricante de impressoras chines já há alguns anos e pouco mais mexi na app. Agora tenho que fazer alterações para colocar isto a funcionar mas estou com algumas dificuldades pois não sou especialista em android. Já alterei o TargetSdkVersion da app no android studio mas ao tentar fazer download do conteúdo da pagina web "estoura" e dá erro. Pelo que entendi o erro acontece porque a função que faz o download e enviar para bluetooth está na actitvity principal da app e isso agora não é permitido. Esta função é chamada a partir do evento de click num botão. public void onClick(View v) { if (v.getId() == R.id.btn_printdoc) { printdoc(); } //... } public void printdoc(){ try{ connectToPrinter(); } catch (Exception e) { e.printStackTrace(); } try{ //BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(new URL(uriToPrint).openConnection().getInputStream())); URL myUrl = new URL(uriToPrint); HttpURLConnection myCon = (HttpURLConnection) myUrl.openConnection(); InputStream stream = null; try { stream = myCon.getInputStream(); } catch(Exception ex){ ex.printStackTrace(); Toast.makeText(this, ex.getMessage(), Toast.LENGTH_SHORT).show(); } InputStreamReader reader = new InputStreamReader(stream); BufferedReader bufferedReader = new BufferedReader(reader); byte[] init = {0x1b,0x74,0x03}; woosim.controlCommand(init, init.length); //StringBuilder sb = new StringBuilder(); String line = null; while( ( line = bufferedReader.readLine() ) != null) { String noHTMLString = ConverCore(line); Pattern pattern = Pattern.compile("data=\"(.*?)\""); Matcher matcher = pattern.matcher(line); if (matcher.find()){ woosim.saveSpool(UTF_8, noHTMLString + "\n", 0x11, false); //Toast.makeText(this, Integer.parseInt(matcher.group(1)), Toast.LENGTH_SHORT).show(); }else{ pattern = Pattern.compile("data-src=\"(.*?)\""); matcher = pattern.matcher(line); if(matcher.find()){ try { downloadFile(matcher.group(1), Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS).getAbsolutePath() + "/sig.bmp"); int resp = this.PrintImage(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS) + "/sig.bmp", 0, 0, 0); }catch(Exception ex) { } }else { woosim.saveSpool(UTF_8, noHTMLString + "\n", 0, false); } } } bufferedReader.close(); byte[] ff ={0x0c}; woosim.controlCommand(ff, 1); woosim.printSpool(true); Toast.makeText(this, "Impressão concluida.", Toast.LENGTH_SHORT).show(); } catch (Exception e) { e.printStackTrace(); Toast.makeText(this, e.getMessage(), Toast.LENGTH_SHORT).show(); } } Agora estou com problemas a fazer o download através da InputStream e desconfio que irá acontecer também no envio vi bluetooth. Mas uma coisa de cada vez... Já li que poderia ser através de uma asyncTask mas isto parece que também já foi descontinuado. Também li qualquer coisa sobre Executors ou Threads mas ainda não entendi bem como posso fazer isto. Alguém me sabe dizer como posso fazer isto?
  2. Estou a tentar fazer um jogo. No qual eu tenho uma matriz 5x5. O objectivo é seleccionar a conta maio existente no tabuleiro. Por exemplo, se o utilizador quiser deslizar o no 5 o + e o 10 (primeira linha), deve simplesmente passar o dedo por cima dele para o fazer. Como é que consigo detetar por onde o utilizador passou o dedo?
  3. Desenvolvo um aplicativo Android (em blocos do KODULAR para celular SAMSUNG) e um software Windows (em VB.NET para NOTEBOOK E PC COM WINDOWS 10) Tenho que compartilhar via internet um arquivo texto CSV que usarei como base de dados. Pensei em uma rede local, mas não dá pois os celulares estarão em outro WIFI ou usarão rede de dados de operadoras de celulares. Pensei em usar um app de compartilhamento do clipboard mas não achei um facil, gratuito (sem propaganda) e bem pratico. Como fazer ?. Alguma ideia boa e pratica ?. Algum site de compartilhamento de arquivo que fornece um endereço que possa ser acessado pelos softwares e aplicativos ? Obrigado pela ajuda 🙂
  4. estou a seguir o seguinte tutorial: https://www.youtube.com/watch?v=pdFqfOTmd60 na tela do vídeo ele tem tudo alinhado e usando o flex:1 se eu uso flex 1 tudo que esta na tela, fica fora das bordas segue logo abaixo o meu código: import React, { useState, useEffect } from 'react'; import { View, Text, Image, TextInput, TouchableOpacity, StyleSheet, KeyboardAvoidingView, Animated } from 'react-native'; import { StatusBar } from 'react-native'; export default function App() { const [offset] = useState(new Animated.ValueXY({ x: 0, y: 80 })) useEffect(() => { Animated.spring(offset.y, { toValue: 0, speed: 4, bounciness: 30, useNativeDriver: true, }).start(); }, []); return ( <KeyboardAvoidingView style={styles.background}> <StatusBar hidden={true} translucent={false} networkActivityIndicatorVisible={true} /> <View style={styles.containerLogo}> <Image source={require('./images/logo1.png')} /> </View> <Animated.View style={[styles.container, { transform: [{ translateY: offset.y }] }]}> <TextInput style={styles.imput} placeholder="Email" autoCorrect={false} onChangeText={() => { }} /> <TextInput style={styles.imput} placeholder="Senha" autoCorrect={false} onChangeText={() => { }} /> <TouchableOpacity style={styles.btnSubmit}> <Text style={styles.submitText} >Entrar</Text> </TouchableOpacity> <TouchableOpacity style={styles.btnRegister}> <Text style={styles.RegisterText} >Criar Conta</Text> </TouchableOpacity> </Animated.View> </KeyboardAvoidingView> ); } const styles = StyleSheet.create({ background: { backgroundColor: 'black', alignItems: 'center', justifyContent: 'center', backgroundColor: '#191919' }, containerLogo: { justifyContent: 'center', alignItems: 'center', }, container: { paddingBottom: 50, alignItems: 'center', justifyContent: 'center', width: '90%', }, imput: { backgroundColor: '#FFF', width: '90%', marginBottom: 15, color: '#222', fontSize: 17, borderRadius: 7, padding: 10 }, btnSubmit: { color: 'blue', width: '90%', height: 45, alignItems: 'center', justifyContent: 'center', borderRadius: 7, }, submitText: { color: '#FFF', fontSize: 18 }, btnRegister: { marginTop: 10, }, RegisterText: { color: 'white' } }); esqueci de avisar que se eu tirar o flex 1,consigo ver somente metade da tela
  5. Olá malta; Tive uma ideia para desenvolver mas sou muito "verdinho" em Android e programação para a rede e na verdade, estou mesmo a mandar-me completamente para fora de pé, mas muitas vezes é assim que se aprende mais e gostava de ter a vossa opinião/sugestão relativamente a este projeto que imaginei. A ideia é esta: Os telemóveis são proibidos durante as provas académicas, mas e se fosse possível criar um ambiente virtual isolado, como um sistema operativo ou uma árvore de processos isolados nos telemóveis que se ligasse a uma rede interna criada e fornecida pela máquina do professor e este definisse quais as aplicações a que o aluno pode aceder. No caso do aluno saltar fora do sistema virtual, o professor receberia uma notificação. A ideia é: "queres usar o teu telemóvel durante a prova?", tudo bem; as condições são: tens que instalar esta aplicação e permanecer ligado à rede interna que o professor vai criar com autorizações para as aplicações que podem ser utilizadas. Será que é possível alcançar este objetivo? Com que bibliotecas teria que lidar? Obrigado amigos; abraço!
  6. Boa noite, Tenho poucos conhecimentos de programação, no entanto com ajuda de um livro comecei a explorar "programação para android" no entanto quando tento emular um projecto segue-se dois erros: Emulator: PANIC: Broken AVD system path. Check your ANDROID_SDK_ROOT value [C:\Android]! e The emulator process fir AVD Pixel_3_API_28 was killed Alguém me pode ajudar? ja tentei várias coisas na net e nada resulta. Poderá ser de ter quase o disco cheio?
  7. public class PrincipalActivity extends AppCompatActivity { private RecyclerView recyclerView; private List<MenuVertical> postagens = new ArrayList<>(); @SuppressLint("WrongConstant") @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_principal); recyclerView = findViewById(R.id.recyclerView); //Define layout LinearLayoutManager layoutManager = new LinearLayoutManager(this); layoutManager.setOrientation(LinearLayout.VERTICAL); //RecyclerView.LayoutManager layoutManager = new GridLayoutManager(this, 2); recyclerView.setLayoutManager(layoutManager); //Define adapter this.criarListagem(); Adapter adapter = new Adapter(postagens); recyclerView.setAdapter(adapter); } public void criarListagem() { MenuVertical p = new MenuVertical("Émerson Henrique", "Aqui ficam os Textos", R.drawable.miami, "Alguns eu escrevi e outros eu achei que devia colocar"); this.postagens.add(p); p = new MenuVertical("Usuário Henrique", "Aqui ficam algumas músicas", R.drawable.musica, "Musicas Selecionas por mim"); this.postagens.add(p); p = new MenuVertical("Usuário Émerson", "logo em breve vou fazer mais", R.drawable.manutencao, "Em manutenção"); this.postagens.add(p); } } public class Adapter extends RecyclerView.Adapter { private List<MenuVertical> postagens; public Adapter(List<MenuVertical> listaPostagens) { this.postagens = listaPostagens; } @NonNull @Override public MyViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { // tranformar o adapter xml em item view View itemLista = LayoutInflater.from(parent.getContext()).inflate(R.layout.adapter_lista_vertical, parent, false); return new MyViewHolder(itemLista); } @Override public void onBindViewHolder(@NonNull MyViewHolder holder, int position) { MenuVertical postagem = postagens.get(position); holder.nome.setText(postagem.getNome()); holder.subTitulo.setText(postagem.getSubTitulo()); holder.imagePostagem.setImageResource(postagem.getImagem()); holder.descricao.setText(postagem.getDescricao()); //holder.buttonProx.setOnClickListener((View.OnClickListener) postagem.getButtonProx()); //holder.genero.setText(filme.getGenero()); //holder.ano.setText(filme.getAno()); } @Override public int getItemCount() { return postagens.size(); } public class MyViewHolder extends RecyclerView.ViewHolder { private TextView nome; private TextView subTitulo; private ImageView imagePostagem; private TextView descricao; //Button buttonProx; public MyViewHolder(@NonNull View itemView) { super(itemView); nome = itemView.findViewById(R.id.textNome); subTitulo = itemView.findViewById(R.id.textSubTitulo); imagePostagem = itemView.findViewById(R.id.imagePostagem); descricao = itemView.findViewById(R.id.textDescricao); // buttonProx = itemView.findViewById(R.id.buttonProx); } } }
  8. Tenho a seguinte saída JSON vinda de uma API: { "status":"ok", "equipamentos": [ { "equipamento": "{ \"id\":7, \"cliente\":1, \"tipo\":\"Celular\", \"marca\":\"Motorola\", \"modelo\":\"Moto G 7\", \"serial\":\"Aparelho n\\u00e3o liga\", \"caracteristicas\":\"P\\u00c9SSIMO\" }" }, { "equipamento": "{ \"id\":8, \"cliente\":1, \"tipo\":\"Celular\", \"marca\":\"Motorola\", \"modelo\":\"Moto G 7\", \"serial\":\"Aparelho n\\u00e3o liga\", \"caracteristicas\":\"P\\u00c9SSIMO\" }" } ] } E o seguinte método para gerar um novo objeto à partir do índice "equipamentos" gerado do JSON recebido da API @Override protected void onPostExecute(String str) { progressDialog.cancel(); JSONObject retorno = null; try { retorno = new JSONObject(str); if ( retorno.has("equipamentos")) preencherComboEquipamentos(retorno.getJSONObject("equipamentos")); } catch (JSONException e) { e.printStackTrace(); } } Com ele, o método preencherComboEquipamentos receberá um objeto como abaixo: [ { "equipamento": "{ \"id\":7, \"cliente\":1, \"tipo\":\"Celular\", \"marca\":\"Motorola\", \"modelo\":\"Moto G 7\", \"serial\":\"Aparelho n\\u00e3o liga\", \"caracteristicas\":\"P\\u00c9SSIMO\" }" }, { "equipamento": "{ \"id\":8, \"cliente\":1, \"tipo\":\"Celular\", \"marca\":\"Motorola\", \"modelo\":\"Moto G 7\", \"serial\":\"Aparelho n\\u00e3o liga\", \"caracteristicas\":\"P\\u00c9SSIMO\" }" } ] Agora preciso criar um JSONArray de JSONObjects com apenas 2 campos trazidos do JSONObject anterior que são id e cliente. Estou tentando assim mas não está dando certo private void preencheComboClientes(JSONObject JSClientes) throws JSONException { JSONObject clientes = null; ArrayList<JSONObject> clientesList = null; for (int i = 0; i < JSClientes.length(); i++) { clientes.put("id", JSClientes.getJSONObject(i).getInt("id")); clientes.put("nome", JSClientes.getJSONObject(i).getInt("nome")); clientesList[clientes]; } ArrayAdapter<String> spinnerArrayAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, clientes); spinnerArrayAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); spCliente.setAdapter(spinnerArrayAdapter); } A ideia é preencher um spinner.
  9. Pessoal, tenha a seguinte classe java que é a principal que abre o APP package br.net.concertacell; import android.os.Bundle; import android.os.StrictMode; import android.util.Log; import android.view.View; import android.widget.EditText; import android.widget.TextView; import androidx.appcompat.app.AppCompatActivity; import java.io.IOException; import br.net.concertacell.classes.Login; import br.net.concertacell.classes.HttpService; public class Logon extends AppCompatActivity { private EditText login; private EditText senha; private TextView resposta; private String responseJson; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.logon); if (android.os.Build.VERSION.SDK_INT > 9) { StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build(); StrictMode.setThreadPolicy(policy); } this.login = (EditText) findViewById(R.id.etLogin); this.senha = (EditText) findViewById(R.id.etSenha); this.resposta = (TextView) findViewById(R.id.tvResposta); } private String token () throws IOException { String login = this.login.getText().toString(); String senha = this.senha.getText().toString(); Login dados = new Login(login, senha); HttpService HttpService = new HttpService("https://acweb.net.br/api/orcamentos/login", dados); String retorno = HttpService.execute().toString(); Log.i("Retosno", retorno.toString()); return retorno; } public void acessar (View view) throws IOException { if (this.login.getText().toString().equals("")) this.resposta.setText("Preenha Login, campo obrigatório!"); else if (this.senha.getText().toString().equals("")) { this.resposta.setText("Preenha Senha, campo obrigatório!"); } else { //abre novo activity if (this.token() == "ok") this.resposta.setText("Prosseguimos!"); else this.resposta.setText("Erro no acesso"); } } } No método token dessa classe tenho a instanciação de uma nova classe que extends AssyncTask. package br.net.concertacell.classes; import android.app.ProgressDialog; import android.content.Context; import android.os.AsyncTask; import android.util.Log; import com.google.gson.Gson; import org.json.JSONArray; import org.json.JSONException; import org.json.JSONObject; import java.io.BufferedInputStream; import java.io.BufferedReader; import java.io.DataOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.OutputStream; import java.io.OutputStreamWriter; import java.io.UnsupportedEncodingException; import java.net.HttpURLConnection; import java.net.MalformedURLException; import java.net.URL; import java.net.URLConnection; import java.util.Scanner; import br.net.concertacell.classes.Login; public class HttpService extends AsyncTask<String, Integer, String> { private String url; private String jo; public HttpService (String _url, Login _login) { this.url = _url; this.jo = this.gerarString(_login.getLogin(), _login.getSenha() ); } private String gerarString (String login, String senha) { JSONObject jo = new JSONObject(); try { jo.put("login", login); jo.put("senha", senha); } catch (JSONException e) { e.printStackTrace(); } return jo.toString(); } @Override protected String doInBackground(String... args) { String resposta = ""; try { URL url = new URL(this.url); HttpURLConnection conn = (HttpURLConnection) url.openConnection(); conn.setRequestMethod("POST"); conn.setRequestProperty("Content-Type", "application/json;charset=UTF-8"); conn.setRequestProperty("Accept","application/json"); //conn.setRequestProperty("Authorization", key); conn.setDoOutput(true); conn.setDoInput(true); DataOutputStream os = new DataOutputStream(conn.getOutputStream()); os.writeBytes(this.jo); os.flush(); os.close(); BufferedReader in = new BufferedReader(new InputStreamReader(conn.getInputStream())); String inputLine; String linha=""; while ((inputLine = in.readLine()) != null) { resposta += inputLine; } in.close(); System.out.println(resposta); conn.disconnect(); } catch (Exception e) { e.printStackTrace(); } return resposta; } @Override protected void onPostExecute(String resp) { //dialog.dismiss(); //Toast.makeText(context, resp, Toast.LENGTH_LONG).show(); } @Override protected void onPreExecute() { //dialog = ProgressDialog.show(context, "Aguarde", "Enviando alunos...", true, true); } @Override protected void onProgressUpdate(Integer... text) { // your code } } Aqui eu tenho o problemas: O retorno de String retorno = HttpService.execute().toString();, conforme a assinatura do método, protected String doInBackground(String... args) , deveria ser uma String. No entanto, o que aparece quando eu mando mostrar Log.i("Retosno", retorno.toString()); é I/Retosno: br.net.concertacell.classes.HttpService@c61c842 Porque não aparece String retorno = HttpService.execute().toString();, o retorno de protected String doInBackground(String... args)?
  10. Boa tarde estou com um grave problema porque não sei como hei de enviar a longitude e latitude obtida a partir do meu smartphone de uma app que desonvolvi no android studio e receba esses dados no meu servidor para inserir na base de dados mysql....
  11. Boas pessoal. Vou fazer pela primeira vez uma aplicação android para gestão de um pequeno jogo de um grupo de amigos. Nessa aplicação, para além da lógica inerente ao problema que a aplicação tem de ter, precisava de obter os números do euro milhões através do site oficial da santa casa. Ora, eu não sei se isto é possivel, sei que nos tempos de faculdade através de servicos SOAP e REST que a API da dropbox disponibilizava, consegui fazer um programa que acedia diretamente a dropbox a partir do código java. Sobre os básicos de uma aplicação android, imagino que haja muita informação por ai, por isso não quero perder o vosso tempo a revisitar temas que já foram falados (google it resolve esse problema). Qual seria a melhor forma de resolver este problema? Obrigado.
  12. Em uma tentativa (sem êxito) de ler uma string em formato JSON fiz assim: package carcleo.com.radiosingular; import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import android.util.Log; 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); String url = "http://hotplateprensas.com.br/ws/clientest.php"; JSONObject clientesLista = null; JsonClass json = new JsonClass(); 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(); } } } A URL me retorna: {"clientes":[{"idClientesT":"1","tipo":"s","nome":"Carlos"},{"idClientesT":"2","tipo":"s","nome":"Rogério"}]} e a classe JsonClass package carcleo.com.radiosingular.classes; import android.util.Log; import org.json.JSONException; import org.json.JSONObject; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.UnsupportedEncodingException; import cz.msebera.android.httpclient.HttpEntity; import cz.msebera.android.httpclient.HttpResponse; import cz.msebera.android.httpclient.client.ClientProtocolException; import cz.msebera.android.httpclient.client.methods.HttpPost; import cz.msebera.android.httpclient.impl.client.DefaultHttpClient; public class JsonClass { InputStream input = null; JSONObject jObect = null; String json = ""; //Recebe sua url public JSONObject getJSONFromUrl(String url) { //HTTP request try { // default HttpClient DefaultHttpClient httpClient = new DefaultHttpClient(); HttpPost httpPost = new HttpPost(url); HttpResponse httpResponse = httpClient.execute(httpPost); HttpEntity httpEntity = httpResponse.getEntity(); input = httpEntity.getContent(); } catch (UnsupportedEncodingException e) { e.printStackTrace(); } catch (ClientProtocolException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } try { BufferedReader reader = new BufferedReader(new InputStreamReader( input, "iso-8859-1"), 8); StringBuilder sb = new StringBuilder(); String line = null; while ((line = reader.readLine()) != null) { sb.append(line + "\n"); } input.close(); json = sb.toString(); Log.i("JRF", json); } catch (Exception e) { Log.e("Buffer Error", "Error converting result " + e.toString()); } // Transforma a String de resposta em um JSonObject try { jObect = new JSONObject(json); } catch (JSONException e) { Log.e("JSON Parser", "Error parsing data " + e.toString()); } // retorna o objeto return jObect; } } Isso me dá o seguinte erro: 12/14 14:25:05: Launching app $ adb install-multiple -r -t -p carcleo.com.radiosingular D:\Trabalhos\AndroidStudio\RadioSingular\app\build\intermediates\split-apk\debug\slices\slice_8.apk Split APKs installed in 1 s 53 ms $ adb shell am start -n "carcleo.com.radiosingular/carcleo.com.radiosingular.login" -a android.intent.action.MAIN -c android.intent.category.LAUNCHER Client not ready yet..Connected to process 13274 on device motorola-moto_g_play-0027377835 Capturing and displaying logcat messages from application. This behavior can be disabled in the "Logcat output" section of the "Debugger" settings page. W/System: ClassLoader referenced unknown path: /data/app/carcleo.com.radiosingular-2/lib/arm I/InstantRun: starting instant run server: is main process I/Adreno-EGL: <qeglDrvAPI_eglInitialize:379>: EGL 1.4 QUALCOMM build: Nondeterministic_AU_msm8916_32_LA.BR.1.2.9_RB1__release_AU (I750f7f2fa6) OpenGL ES Shader Compiler Version: XE031.09.00.03 Build Date: 02/18/17 Sat Local Branch: Remote Branch: quic/LA.BR.1.2.9_rb1.12 Local Patches: NONE Reconstruct Branch: NOTHING I/OpenGLRenderer: Initialized EGL, version 1.4 D/OpenGLRenderer: Swap behavior 1 W/Adreno-ES20: <get_gpu_clk:229>: open failed: errno 13 W/art: Before Android 4.1, method android.graphics.PorterDuffColorFilter android.support.graphics.drawable.VectorDrawableCompat.updateTintFilter(android.graphics.PorterDuffColorFilter, android.content.res.ColorStateList, android.graphics.PorterDuff$Mode) would have incorrectly overridden the package-private method in android.graphics.drawable.Drawable I/art: Rejecting re-init on previously-failed class java.lang.Class<android.support.v4.view.ViewCompat$OnUnhandledKeyEventListenerWrapper>: java.lang.NoClassDefFoundError: Failed resolution of: Landroid/view/View$OnUnhandledKeyEventListener; I/art: at void android.support.v4.view.ViewCompat.setBackground(android.view.View, android.graphics.drawable.Drawable) (ViewCompat.java:2341) at void android.support.v7.widget.ActionBarContainer.<init>(android.content.Context, android.util.AttributeSet) (ActionBarContainer.java:62) at java.lang.Object java.lang.reflect.Constructor.newInstance0!(java.lang.Object[]) (Constructor.java:-2) at java.lang.Object java.lang.reflect.Constructor.newInstance(java.lang.Object[]) (Constructor.java:430) at android.view.View android.view.LayoutInflater.createView(java.lang.String, java.lang.String, android.util.AttributeSet) (LayoutInflater.java:645) at android.view.View android.view.LayoutInflater.createViewFromTag(android.view.View, java.lang.String, android.content.Context, android.util.AttributeSet, boolean) (LayoutInflater.java:787) at android.view.View android.view.LayoutInflater.createViewFromTag(android.view.View, java.lang.String, android.content.Context, android.util.AttributeSet) (LayoutInflater.java:727) at void android.view.LayoutInflater.rInflate(org.xmlpull.v1.XmlPullParser, android.view.View, android.content.Context, android.util.AttributeSet, boolean) (LayoutInflater.java:858) at void android.view.LayoutInflater.rInflateChildren(org.xmlpull.v1.XmlPullParser, android.view.View, android.util.AttributeSet, boolean) (LayoutInflater.java:821) at android.view.View android.view.LayoutInflater.inflate(org.xmlpull.v1.XmlPullParser, android.view.ViewGroup, boolean) (LayoutInflater.java:518) at android.view.View android.view.LayoutInflater.inflate(int, android.view.ViewGroup, boolean) (LayoutInflater.java:426) at android.view.View android.view.LayoutInflater.inflate(int, android.view.ViewGroup) (LayoutInflater.java:377) at android.view.ViewGroup android.support.v7.app.AppCompatDelegateImpl.createSubDecor() (AppCompatDelegateImpl.java:607) at void android.support.v7.app.AppCompatDelegateImpl.ensureSubDecor() (AppCompatDelegateImpl.java:518) at void android.support.v7.app.AppCompatDelegateImpl.setContentView(int) (AppCompatDelegateImpl.java:466) at void android.support.v7.app.AppCompatActivity.setContentView(int) (AppCompatActivity.java:140) at void carcleo.com.radiosingular.form.onCreate(android.os.Bundle) (form.java:18) at void android.app.Activity.performCreate(android.os.Bundle) (Activity.java:6687) at void android.app.Instrumentation.callActivityOnCreate(android.app.Activity, android.os.Bundle) (Instrumentation.java:1140) at android.app.Activity android.app.ActivityThread.performLaunchActivity(android.app.ActivityThread$ActivityClientRecord, android.content.Intent) (ActivityThread.java:2631) at void android.app.ActivityThread.handleLaunchActivity(android.app.ActivityThread$ActivityClientRecord, android.content.Intent, java.lang.String) (ActivityThread.java:2743) at void android.app.ActivityThread.-wrap12(android.app.ActivityThread, android.app.ActivityThread$ActivityClientRecord, android.content.Intent, java.lang.String) (ActivityThread.java:-1) at void android.app.ActivityThread$H.handleMessage(android.os.Message) (ActivityThread.java:1490) at void android.os.Handler.dispatchMessage(android.os.Message) (Handler.java:102) at void android.os.Looper.loop() (Looper.java:154) at void android.app.ActivityThread.main(java.lang.String[]) (ActivityThread.java:6165) at java.lang.Object java.lang.reflect.Method.invoke!(java.lang.Object, java.lang.Object[]) (Method.java:-2) at void com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run() (ZygoteInit.java:888) at void com.android.internal.os.ZygoteInit.main(java.lang.String[]) (ZygoteInit.java:778) Caused by: java.lang.ClassNotFoundException: Didn't find class "android.view.View$OnUnhandledKeyEventListener" on path: DexPathList[[zip file "/data/app/carcleo.com.radiosingular-2/base.apk", zip file "/data/app/carcleo.com.radiosingular-2/split_lib_dependencies_apk.apk", zip file "/data/app/carcleo.com.radiosingular-2/split_lib_slice_0_apk.apk", zip file "/data/app/carcleo.com.radiosingular-2/split_lib_slice_1_apk.apk", zip file "/data/app/carcleo.com.radiosingular-2/split_lib_slice_2_apk.apk", zip file "/data/app/carcleo.com.radiosingular-2/split_lib_slice_3_apk.apk", zip file "/data/app/carcleo.com.radiosingular-2/split_lib_slice_4_apk.apk", zip file "/data/app/carcleo.com.radiosingular-2/split_lib_slice_5_apk.apk", zip file "/data/app/carcleo.com.radiosingular-2/split_lib_slice_6_apk.apk", zip file "/data/app/carcleo.com.radiosingular-2/split_lib_slice_7_apk.apk", zip file "/data/app/carcleo.com.radiosingular-2/split_lib_slice_8_apk.apk", zip file "/data/app/carcleo.com.radiosingular-2/split_lib_slice_9_ at java.lang.Class dalvik.system.BaseDexClassLoader.findClass(java.lang.String) (BaseDexClassLoader.java:56) at java.lang.Class java.lang.ClassLoader.loadClass(java.lang.String, boolean) (ClassLoader.java:380) at java.lang.Class java.lang.ClassLoader.loadClass(java.lang.String) (ClassLoader.java:312) at void android.support.v4.view.ViewCompat.setBackground(android.view.View, android.graphics.drawable.Drawable) (ViewCompat.java:2341) at void android.support.v7.widget.ActionBarContainer.<init>(android.content.Context, android.util.AttributeSet) (ActionBarContainer.java:62) at java.lang.Object java.lang.reflect.Constructor.newInstance0!(java.lang.Object[]) (Constructor.java:-2) at java.lang.Object java.lang.reflect.Constructor.newInstance(java.lang.Object[]) (Constructor.java:430) at android.view.View android.view.LayoutInflater.createView(java.lang.String, java.lang.String, android.util.AttributeSet) (LayoutInflater.java:645) at android.view.View android.view.LayoutInflater.createViewFromTag(android.view.View, java.lang.String, android.content.Context, android.util.AttributeSet, boolean) (LayoutInflater.java:787) at android.view.View android.view.LayoutInflater.createViewFromTag(android.view.View, java.lang.String, android.content.Context, android.util.AttributeSet) (LayoutInflater.java:727) at void android.view.LayoutInflater.rInflate(org.xmlpull.v1.XmlPullParser, android.view.View, android.content.Context, android.util.AttributeSet, boolean) (LayoutInflater.java:858) at void android.view.LayoutInflater.rInflateChildren(org.xmlpull.v1.XmlPullParser, android.view.View, android.util.AttributeSet, boolean) (LayoutInflater.java:821) at android.view.View android.view.LayoutInflater.inflate(org.xmlpull.v1.XmlPullParser, android.view.ViewGroup, boolean) (LayoutInflater.java:518) at android.view.View android.view.LayoutInflater.inflate(int, android.view.ViewGroup, boolean) (LayoutInflater.java:426) at android.view.View android.view.LayoutInflater.inflate(int, android.view.ViewGroup) (LayoutInflater.java:377) at android.view.ViewGroup android.support.v7.app.AppCompatDelegateImpl.createSubDecor() (AppCompatDelegateImpl.java:607) at void android.support.v7.app.AppCompatDelegateImpl.ensureSubDecor() (AppCompatDelegateImpl.java:518) at void android.support.v7.app.AppCompatDelegateImpl.setContentView(int) (AppCompatDelegateImpl.java:466) at void android.support.v7.app.AppCompatActivity.setContentView(int) (AppCompatActivity.java:140) at void carcleo.com.radiosingular.form.onCreate(android.os.Bundle) (form.java:18) at void android.app.Activity.performCreate(android.os.Bundle) (Activity.java:6687) at void android.app.Instrumentation.callActivityOnCreate(android.app.Activity, android.os.Bundle) (Instrumentation.java:1140) at android.app.Activity android.app.ActivityThread.performLaunchActivity(android.app.ActivityThread$ActivityClientRecord, android.content.Intent) (ActivityThread.java:2631) at void android.app.ActivityThread.handleLaunchActivity(android.app.ActivityThread$ActivityClientRecord, android.content.Intent, java.lang.String) (ActivityThread.java:2743) at void android.app.ActivityThread.-wrap12(android.app.ActivityThread, android.app.ActivityThread$ActivityClientRecord, android.content.Intent, java.lang.String) (ActivityThread.java:-1) at void android.app.ActivityThread$H.handleMessage(android.os.Message) (ActivityThread.java:1490) at void android.os.Handler.dispatchMessage(android.os.Message) (Handler.java:102) at void android.os.Looper.loop() (Looper.java:154) at void android.app.ActivityThread.main(java.lang.String[]) (ActivityThread.java:6165) at java.lang.Object java.lang.reflect.Method.invoke!(java.lang.Object, java.lang.Object[]) (Method.java:-2) at void com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run() (ZygoteInit.java:888) at void com.android.internal.os.ZygoteInit.main(java.lang.String[]) (ZygoteInit.java:778) D/NetworkSecurityConfig: No Network Security Config specified, using platform default D/AndroidRuntime: Shutting down VM E/AndroidRuntime: FATAL EXCEPTION: main Process: carcleo.com.radiosingular, PID: 13274 java.lang.RuntimeException: Unable to start activity ComponentInfo{carcleo.com.radiosingular/carcleo.com.radiosingular.form}: android.os.NetworkOnMainThreadException at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2678) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2743) at android.app.ActivityThread.-wrap12(ActivityThread.java) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1490) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:154) at android.app.ActivityThread.main(ActivityThread.java:6165) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:888) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:778) Caused by: android.os.NetworkOnMainThreadException at android.os.StrictMode$AndroidBlockGuardPolicy.onNetwork(StrictMode.java:1317) at java.net.Inet6AddressImpl.lookupHostByName(Inet6AddressImpl.java:86) at java.net.Inet6AddressImpl.lookupAllHostAddr(Inet6AddressImpl.java:74) at java.net.InetAddress.getAllByName(InetAddress.java:752) at cz.msebera.android.httpclient.impl.conn.SystemDefaultDnsResolver.resolve(SystemDefaultDnsResolver.java:44) at cz.msebera.android.httpclient.impl.conn.DefaultClientConnectionOperator.resolveHostname(DefaultClientConnectionOperator.java:259) at cz.msebera.android.httpclient.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:159) at cz.msebera.android.httpclient.impl.conn.ManagedClientConnectionImpl.open(ManagedClientConnectionImpl.java:304) at cz.msebera.android.httpclient.impl.client.DefaultRequestDirector.tryConnect(DefaultRequestDirector.java:611) at cz.msebera.android.httpclient.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:446) at cz.msebera.android.httpclient.impl.client.AbstractHttpClient.doExecute(AbstractHttpClient.java:860) at cz.msebera.android.httpclient.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:82) at cz.msebera.android.httpclient.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:106) at carcleo.com.radiosingular.classes.JsonClass.getJSONFromUrl(JsonClass.java:35) at carcleo.com.radiosingular.form.onCreate(form.java:23) at android.app.Activity.performCreate(Activity.java:6687) at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1140) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2631) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2743) at android.app.ActivityThread.-wrap12(ActivityThread.java) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1490) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:154) at android.app.ActivityThread.main(ActivityThread.java:6165) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:888) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:778)
  13. Boas, Estou a desenvolver uma aplicação que permite registar os cartões via NFC, ou seja, são dados da entrada e saídas e esses são guardados no ficheiro em txt. Pretendo enviar esse mesmo ficheiro para o nosso domínio, qual a melhor forma de se fazer de forma segura? sftp? serviço de partilha de ficheiros online? Alguns de vocês já fizeram coisa parecida? Tentei fazer com OneDrive (Escolhi ao acaso pois teve mais informações no google do que o google drive), só que ao enviar o ficheiro, ela abre-me uma nova atividade para a aplicação oneDrive para escolher a pasta que quero guardar. Há alguma forma de indicar o caminho da pasta no OneDrive sem abrir uma nova atividade? Se sim, como? Tentei procurar metodos que permite inserir o nome da pasta que está no OneDrive mas sem sucesso. Posso partilhar o código que tenho no Dialog após o utilizador clicar "sim": public void onClick(DialogInterface dialog, int which) { final Activity activity = (Activity) view.getContext(); //uploadFiles(); // create example file to save to OneDrive final String filename = formatter.format(date) + ".txt"; final File f = new File(filePathSends, filename); // create and launch the saver mSaver = Saver.createSaver(API_KEY); mSaver.startSaving((Activity) view.getContext(), filename, Uri.parse("file://"+f)); } Aceito ideias e sugestões. Abraço
  14. Olá, estou com um problema com meu compilador Pascal, sou novo na área da programação e perdi meu notebook recentemente, mas, como eu queria muito usar o programa para testar meus conhecimentos eu pensei em procurar por aplicativos para utilizar o programa no celular, e encontrei, mas, por ser feito no celular, aparecem alguns erros que não apareceriam se fosse testado no computador. Preciso de ajuda! Estou tendo problemas para usar os comandos goto e label, pois o compilador (Pascal Gui) sempre diz que estes não são suportados. Deixarei o código de um programa simples que eu estava fazendo e a mensagem que aparece quando executo ou compilo o programa. O objetivo é fazer com que toda vez que apertar qualquer tecla o writeln seja ativado para dizer Ok. Se descobrirem algo sobre como usar o Pascal no Android, mais relatos sobre isso, por favor, informe aqui, e se puder e souber como resolver o meu problema, desde já agradeço. Ps: Em breve poderão vir novas perguntas. {O programa} program IrPara; uses crt; label C; begin C: writeln('Ok'); readkey; goto C; end. {O erro} temp.pas(3,7) Error: GOTO and LABEL are not supported (use switch - Sg) temp.pas(8,2) Error: GOTO and LABEL are not supported (use switch - Sg) temp.pas(9,4) Fatal: There were 2 errors compiling module, stopping Fatal: Compilation aborted
  15. Título do Projecto: Zion Wars Última Versão: 1.0 Site Oficial: http://www.zionwars.com Screenshots: O Zion Wars é uma evolução do System Empires desenvolvida de raiz para dispositivos móveis. Nele os jogadores podem evoluir o seu território, aumentar a sua produção, a sua frota e combater outros jogadores. Características: Treina uma frota de naves e utiliza-as em território inimigo para ganhares grandes batalhas Personaliza a tua Nave Mãe e utiliza-a em batalha para aumentar a moral e poder da tua frota Aplica poderes em batalha e vira a maré a teu favor Defende a teu território com canhões e minas aéreas Testa a tua estratégia nos níveis das zonas de treino e no alvo diário Testa a tua defesa atacando o teu território em combate simulado Troca recursos em excesso por outros em falta no Mercado Download: iOS: https://itunes.apple.com/app/id1383423235 Android: https://play.google.com/store/apps/details?id=com.zionwars.game Comentários e sugestões são bem vindas 😀
  16. João Vieira

    Web SMS

    Boa tarde, Estou neste momento a desenvolver o meu projeto final de curso que consiste no desenvolvimento de uma aplicação móvel para Web SMS. Terei de ser capaz de mandar mensagens através do computador fazendo a importação de contactos etc... (basicamente, terei que fazer uma pagina web para mandar mensagens à semelhança do MightyText) Entre alguma da pesquisa que já fiz apareceu o seguinte segmento de código <?php $to = "5555555555@vtext.com"; $from = "xxxx@yourdomain.com"; $message = "This is a text message\nNew line..."; $headers = "From: $from\n"; mail($to, '', $message, $headers); ?> Daqui surge-me uma dúvida O domain do número de telefone de envio é de uma operadora norte americano, eu consigo ter acesso aos domains das operadoras portuguesas para fazer com que este pedaço de código funcione sem problemas em Portugal? Eu compreendo que existe vários sites que fornecem este serviço o problema é que é pago. O objetivo seria usar o tarifário do telemóvel para enviar a mensagem. Também tenho dúvidas que isto realmente funcione... Se alguém me conseguisse ajudar com este projeto agradecia imenso. Cumprimentos
  17. Boa noite, estou a fazer um projeto para a escola e detive-me com este problema. O meu projeto é uma aplicação movel em que eu vou buscar dados à base de dados através da API. Na BD a variável imagem está a String, o meu problema é que a função "setImageResource" pede um Int. Este é o enxerto do código que estou com dificuldade, se alguém poder ajudar agradeço imenso! String ParteFinalNome = artigo.getImagem(); viewHolder.imagem.setImageResource(contexto.getApplicationInfo().dataDir + "/drawable/" + ParteFinalNome.toString());
  18. staff

    DevFest Coimbra 2017

    Depois da primeira edição, chegou a altura da versão 2.0! O DevFest Coimbra está de volta e vai realizar-se no dia 9 de Dezembro. Este ano vamos abrir as portas a 350 pessoas que terão a possibilidade de participar em duas sessões a decorrer em paralelo durante todo o dia – uma dedicada a palestras e outra a workshops. Em ambas serão abordados vários temas – desde desenvolvimento móvel, web, design, segurança, blockchain, IoT e hardware. O evento tem um custo associado de 5€ para os primeiros 150 inscritos e 10€ para os restantes, que revertem totalmente para uma instituição solidária. Podem adquirir os bilhetes aqui: https://devfest-coimbra.eventbrite.pt +Info Site: http://devfest.gdgcoimbra.xyz Tickets: https://devfest-coimbra.eventbrite.pt Facebook: fb.me/GDGCoimbra Google+: https://plus.google.com/+GDGCoimbra Twitter: @GDGCoimbra Medium: @GDGCoimbra Email: gdgcoimbra@gmail.com
  19. Bom dia, Gostaria de pedir uma opinião e certamente que no decorrer da implementação surgiram novas dúvidas paras as quais pedirei esclarecimentos aos expert's na matéria. Vou necessitar de criar uma app Android que fará as operações CRUD numa BD MySql alojada num host. Para isto e uma vez que o host não tem suporte para java irei usar webservices REST em PHP. A minha dúvida é, que tecnologia usar do lado do client-side, ou seja do lado do Android. Uns falam do uso do retrofit, outros do volley, e vejo ainda exemplos a usar o pedido http diretos (penso que esta opção já esteja deprecated). Gostaria de saber a vossa opinião, sobre qual o caminho melhor e mais simples a seguir uma vez que sou um principiante nestas matérias, quer do PHP quer do Android. Atenciosamente Nuno Santos
  20. Estoudesenvolvendo um app em delphi xe5 paraandroid só que quando abro no meu tablet e digito algo na edit ele repete o que eu digito.... Ex.: digito N e quando digito A depois aparece na Edit NNA ao invés de NA... Alguém me ajuda ai???
  21. Olá pessoal, gostaria de ajuda de vocês com um problema, desenvolvi um aplicativo android utilizando ionic 1 com angulajs1 e preciso fazer um applink para outro app no meu device uma URI com parâmetros nessa requisição, tentei fazer isto com o código abaixo mas não funciona. Alguém já fez isso ? window.open('app://payment?scheme=exe&key=DFJSOIHFD54654DFSDGDSF54654&amount=100');
  22. Estou com uma "dúvida existencial" que gostava de discutir e esclarecer quanto ao acesso a dispositivos Android. Vou explicar por analogia porque me parece mais fácil. Tendo um PC, posso meter uma pen USB com um Linux, arrancar o PC (estou a ignorar o facto de poder ser necessário ir à BIOS configurar a ordem de arranque) e aceder a todos os recursos do PC, em particular ao disco rígido que o mesmo tem. Transportando a ideia para Android, é possível fazer o mesmo? Meter um cartão micro SD, arrancar o dispositivo e e ganhar acesso (eventualmente root) ao dispositivo (inclusive ler mensagens, contactos, agenda, etc.)?
  23. Boas amigos, então eu nem sei bem explicar mas acontece que o seguinte: O meu projeto tem layouts, layouts normais, e a uma certa altura eu precisava de criar mais layouts e deu ate aqui tudo normal, bem acontece que quando vou para chamar o layout que acabo de criar a maquina diz me que ele nao existe, no entanto eu consigo ve-lo ali na pasata dos projetos, e consigo abrir e fazer tudo com ele o unico problema e que ele nao existe, alguem me consegue ajudar? sera que a um limite para a quantidade de layouts no xamarin?(apesar de isso nao fazer sentido ) esepro ajuda obrigado :/
  24. Boas. O título acho que diz tudo mas eu vou explicar melhor o que pretendo. Ando a tentar criar a minha própria versão de uma modded apk e para isso necessito de alterar o código presente em alguns ficheiros DLL que existem dentro de uma aplicação apk. O pessoal em Windows usa o dnSpy e ao abrirem/decompilarem um DLL desses podem ver código estilo c/c#/c++. Eu em Linux ainda não conseguir encontrar um programa que faça o mesmo que este dnSpy. Já tentei o dnSpyPython mas ainda não o consegui instalar devdo a vários erros do script de instalação e por isso continua a busca por uma alternativa.
  25. Boas pessoal eu gostava de liagar o meu programa a uma base de dados eu ainda nao tentei nada pq sempre que eu vou a procura de como se faz aparece uma maneira diferenete de ligar a base de dados e eu queria saber se sabem qual é a melhor maneira de fazer e se possivel se me podiam dar algum exemplo por onde eu me podesse seguir obrigado
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.