Jump to content

Search the Community

Showing results for tags 'android'.



More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • Bem-vindos ao Portugal-a-Programar
    • Sugestões, Críticas ou Dúvidas relativas ao P@P
    • Acerca do P@P
  • Comunidade a Trabalhar
    • Wiki P@P
    • Apresentação de Projectos de Programação
    • Downloads
  • Revista PROGRAMAR
    • Revista PROGRAMAR
  • Desenvolvimento Geral
    • C
    • C++
    • Java
    • Haskell
    • 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
    • Automação Industrial
    • Matemática
    • Dúvidas e Discussão de Programação
    • Notícias de Tecnologia
  • Outras Áreas
    • Dúvidas Gerais
    • Discussão Geral
    • Eventos
    • Anúncios de Emprego
    • Tutoriais
    • Snippets / Armazém de Código
  • 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...

Found 156 results

  1. Rui Carlos

    GDG DevFest Lisbon '16 - 24/Set

    O GDG DevFest Lisbon'16 é um evento promovido pelo Google Developers Group Lisbon (GDGLx) em parceria com a HackerSchool, que se realizará no próximo dia 24 de Setembro, no IST – Instituto Superior Técnico. A GDGLx é uma comunidade de developers e entusiastas de tecnologias Google que tem vindo a realizar diversas conferências, eventos, workshops tech abertos a toda a comunidade, sejam developers ou apenas curiosos, recebendo entre dezenas a centenas de pessoas. Este evento, focado em Android, mas também aberto a outras áreas como Web, Cloud, Gaming, Design e soft-skills, enquadra-se no DevFest, que se encontra dentro de uma temporada de conferências nacionais e internacionais da Google. Pretendendo acolher 100 participantes, conta com oradores bem conhecidos do sector tecnológico, como Francisco Franco (criador do popular Franco Kernel), Ivan Kutil (AppSatori), Gonçalo Silva (Todoist), Carlos Mota (Wit), Fabio Carballo (Hole19), Sérgio Almeida (Growin) e Bruno Oliveira (Faber Ventures). Para além das talks irá contemplar também um Workshop em Firebase e um Firechat, um espaço aberto à discussão entre os participantes e os speakers. É de salientar que o valor dos bilhetes será devolvido depois do evento, aos participantes que comparecerem. Se te interessas por Android, Web, Cloud, Gaming, e Design, terás certamente várias sessões que te irão interessar. Para mais informações: Site/Tickets: gdglisbon.xyz Facebook: /gdglisbon Twitter: @GDGLisbon
  2. 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); } } }
  3. Viva, Estou à procura de informação sobre o preço estimado para uma aplicação para o Android. Caso o preço esteja ao meu alcance, partirei para o seu desenvolvimento com a contratação do trabalho de alguém. Resumo da aplicação: - Aplicação destinada aos equipamentos com Android; - Não é necessário a aplicação ser adicionada ao Google Play. Conteúdo da aplicação: - Directório de outras aplicações, organizado por categorias. Algo idêntico à apresentação das aplicações no Google Play. - A forma como depois a aplicação se actualizaria seria uma coisa a pensar (eu não faço ideia como se pode actualizar. Possivelmente terá muito a ver com a maneira de como será construída. Terá de ser algo relativamente fácil de actualizar, uma vez que será actualizada diariamente com variado conteúdo). Para quem está por dentro da área, qual o valor que poderá andar o desenvolvimento de uma aplicação como esta? [Opiniões sobre o preço serão muito bem recebidas, orçamentos igualmente.] Obrigado.
  4. Carlos Rocha

    Preencher Spinner

    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.
  5. Carlos Rocha

    Enviar json à API

    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)?
  6. 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....
  7. 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.
  8. Carlos Rocha

    Tratar JSON no Android Studio

    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)
  9. 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
  10. 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
  11. 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 :/
  12. 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 😀
  13. 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
  14. Jéssica Grácio

    Caminho para a pasta drawable

    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());
  15. 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
  16. 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
  17. clovisystem

    Edit repete caracteres

    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???
  18. Flavio Nash

    Applink Android com Ionic

    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');
  19. 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.)?
  20. PsySc0rpi0n

    Alternativa Linux para dnSpy

    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.
  21. Minmoas

    ligar a base de dados ao xamarin

    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
  22. Boas eu to a criar uma aplicaçao e preciso de carregar num botao, quando carrego nesse botao quero poder ir a galeria do telemovel e escolher a foto e fazer com que ela aparece numa listView alguem consegue ajudar ando nisto a 1 semana ta ai o meu layout <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent" android:minWidth="25px" android:minHeight="25px"> <Button android:text="fotografar" android:layout_width="match_parent" android:layout_height="wrap_content" android:id="@+id/button1" android:layout_marginTop="10dp" android:layout_marginBottom="5.0dp" /> <ImageView android:src="@android:drawable/ic_menu_gallery" android:layout_width="match_parent" android:layout_height="100.0dp" android:id="@+id/foto" android:layout_marginBottom="5.0dp" android:layout_marginTop="5.0dp" android:layout_marginRight="5.0dp" android:layout_marginLeft="5.0dp" /> <AutoCompleteTextView android:layout_width="match_parent" android:layout_height="299.5dp" android:id="@+id/autoCompleteTextView1" android:layout_marginBottom="5.0dp" android:layout_marginTop="5.0dp" android:layout_marginLeft="10dp" android:layout_marginRight="10dp" /> <Button android:text="Publicar" android:layout_width="match_parent" android:layout_height="wrap_content" android:id="@+id/btnPublicar" android:layout_marginBottom="10.0dp" android:layout_marginTop="5.0dp" android:layout_marginRight="5.0dp" android:layout_marginLeft="5.0dp" /> </LinearLayout> aqui esta o c#: sei que a coisas que estao erradas mas nao sei resolver namespace APP_Sport_Life { [Activity(Label = "yourMotions", MainLauncher = false, Icon = "@drawable/Logo")] public class yourMOTIONS_publicar : Activity { private Image mListView; private BaseAdapter<Image> mAdapter; private List<Image> mContacts; private ImageView mSelectedPic; protected override void OnCreate(Bundle bundle) { base.OnCreate(bundle); SetContentView(Resource.Layout.yourMotions_publicar); mListView = FindViewById<ImageView>(Resource.Id.foto); mContacts = new List<Image>(); Action<ImageView> action = PicSelected; mAdapter = new Foto(this, Resource.Layout.yourMotions_publicar, mContacts, action); mListView.Imagem = mAdapter; } private void PicSelected(ImageView selectedPic) { mSelectedPic = selectedPic; Intent intent = new Intent(); intent.SetType("image/"); intent.SetAction(Intent.ActionGetContent); this.StartActivityForResult(Intent.CreateChooser(intent, "Selecioa a foto"), 0); } protected override void OnActivityResult(int requestCode, Result resultCode, Intent data) { base.OnActivityResult(requestCode, resultCode, data); if(resultCode == Result.Ok) { Stream stream = ContentResolver.OpenInputStream(data.Data); mSelectedPic.SetImageBitmap(BitmapFactory.DecodeStream(stream)); } } } }
  23. Boa noite, Estou com alguma dificuldade em conseguir fazer o pedido das permissões em runtime, sendo que apenas o dialog de aceitação de permissões de uma das duas permissoes necessárias é mostrado quando clico no button. /*Button PANIC Button @ Click this button to send a PANIC message to defined contact @ Inside the message go a PANIC message, name of person and GPS location */ Button button_panic = (Button) findViewById(R.id.button_panic); button_panic.setOnClickListener(new OnClickListener() { @RequiresApi(api = Build.VERSION_CODES.M) @Override public void onClick(View v) { if(ActivityCompat.checkSelfPermission(MainActivity.this, Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED && ActivityCompat.checkSelfPermission(MainActivity.this, Manifest.permission.SEND_SMS) != PackageManager.PERMISSION_GRANTED) { requestLocationPermission(); requestSMSPermission(); String Message = "GRANTED"; Log.i("Location permission", Message); } else { sendMsg(); } } }); } @RequiresApi(api = Build.VERSION_CODES.M) private void getLocation() { if (ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED) { // TODO: Consider calling // ActivityCompat#requestPermissions // here to request the missing permissions, and then overriding // public void onRequestPermissionsResult(int requestCode, String[] permissions, // int[] grantResults) // to handle the case where the user grants the permission. See the documentation // for ActivityCompat#requestPermissions for more details. //requestLocationPermission(); return; } locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE); location = locationManager.getLastKnownLocation(locationManager.GPS_PROVIDER); String longitudeString = String.valueOf(location.getLongitude()); String latitudeString = String.valueOf(location.getLatitude()); message = "PANIC - Preciso de Ajuda " + Nome + " " + Apelido + ". " + "Esta é a minha localização: Latitude: " + latitudeString + " Longitude: " + longitudeString; Log.e("Log Message", message); } @RequiresApi(api = Build.VERSION_CODES.M) private void sendMsg() { getLocation(); SmsManager smsManager = SmsManager.getDefault(); if (ActivityCompat.checkSelfPermission(this, Manifest.permission.SEND_SMS) != PackageManager.PERMISSION_GRANTED) { requestSMSPermission(); } if (location != null) { smsManager.sendTextMessage(Telefone, null, message, null, null); Toast.makeText(MainActivity.this, "Sent to " + Telefone, Toast.LENGTH_SHORT).show(); } else { smsManager.sendTextMessage(Telefone, null, "test", null, null); Toast.makeText(MainActivity.this, "Please open your location service", Toast.LENGTH_SHORT).show(); } } @RequiresApi(api = Build.VERSION_CODES.M) private void requestSMSPermission() { requestPermissions(new String[]{Manifest.permission.SEND_SMS}, REQUEST_PERMISSION_SEND_SMS_CODE); } @RequiresApi(api = Build.VERSION_CODES.M) private void requestLocationPermission() { requestPermissions(new String[]{Manifest.permission.ACCESS_FINE_LOCATION}, REQUEST_PERMISSION_FINE_LOCATION_CODE); requestPermissions(new String[]{Manifest.permission.ACCESS_COARSE_LOCATION}, REQUEST_PERMISSION_COARSE_LOCATION_CODE); } A questão das permissões ao executar o metodo onClickButton é apresentada de imediato o dialog para permitir a localização, mas apos permitir a app crasha e pelos logs reporta o seguinte erro referente à falta da permissão para SMS. No entanto se eu arrancar de novo a app, agora já com a permissão para a localização garantida, e executar de novo o metodo onClickButon é apresentada o dialog para a permissão do SMS. Além disso pelos log's eu consigo ver que a mensagem é gerada com sucesso, e pela impressão do Toast 'Sent to 93xxxxxxx' consigo perceber que foi executado o método mas na realidade a SMS nunca chega ao destino. Alguém me pode ajudar a ajeitar isto de forma a conseguir ter tudo funcional...
  24. Boa tarde, estou a tentar implementar um Search numa determinada listView, mas sem sucesso, será que me podem ajudar? O código que tenho até ao momento é o seguinte: Activity principal: public class CorposBombeirosActivity extends AppCompatActivity { ListView lv; DbHelper dbHelper; LVAdapter lvAdapter; ArrayList<CorpoBombeiros> listCorposBombeiros; //Variable Declaration private AdView mAdView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // remove title getSupportActionBar().hide(); getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN); //Bloquear Orientação Ecrã a Portrait setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); setContentView(R.layout.activity_corpos_bombeiros); //Publicity mAdView = (AdView) findViewById(R.id.adView); //mAdView.setAdSize(AdSize.BANNER); AdRequest adRequest = new AdRequest.Builder().build(); mAdView.loadAd(adRequest); //Método que desencadeia os métodos de cópia da BD na classe DbHelper para a pasta databases no Android DbHelper myDbHelper = new DbHelper(this); try { myDbHelper.createDataBase(); } catch (IOException ioe) { throw new Error("Unable to create database"); } try { myDbHelper.openDataBase(); } catch (SQLException sqle) { throw sqle; } dbHelper = new DbHelper(this); lv = (ListView) findViewById(R.id.listView); listCorposBombeiros = new ArrayList<CorpoBombeiros>(); listCorposBombeiros.addAll(dbHelper.getListaCorposBombeiros()); lvAdapter = new LVAdapter(this, R.layout.corpo__bombeiros_item, listCorposBombeiros); lv.setAdapter(lvAdapter); //Open Detail Activity lv.setOnItemClickListener(new AdapterView.OnItemClickListener() { public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) { Intent intent = new Intent(CorposBombeirosActivity.this, CorposBombeirosDetailActivity.class); CorpoBombeiros p = (CorpoBombeiros) lvAdapter.getItem(arg2); intent.putExtra("CORPO_BOMBEIROS_ID", p.getID()); startActivity(intent); } }); } Classe LvAdapter: public class LVAdapter extends BaseAdapter{ Context context; int layout_id; private final List<CorpoBombeiros> items; //Constructor public LVAdapter(final Context context, final int layout_id, final List<CorpoBombeiros> items){ this.context = context; this.layout_id = layout_id; this.items = items; } //Count items public int getCount(){ return this.items.size(); } public Object getItem(int arg0){ return this.items.get(arg0); } public long getItemId(int arg0){ return 0; } @Override public View getView(int arg0, View arg1, ViewGroup arg2) { final CorpoBombeiros row = this.items.get(arg0); View itemView = null; if (arg1 == null) { LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); itemView = inflater.inflate(layout_id, null); } else { itemView = arg1; } String cod_cb = Integer.toString(row.getCODIGO_CB()); TextView textViewCodigo_cb = (TextView)itemView.findViewById(R.id.textView_nome); textViewCodigo_cb.setText(cod_cb); TextView textViewCb = (TextView)itemView.findViewById(R.id.textView_cb); textViewCb.setText(row.getCB()); TextView textViewConcelho = (TextView)itemView.findViewById(R.id.textView_AOS); textViewConcelho.setText(row.getCONCELHO()); return itemView; } Alguém me pode ajudar e explicar como posso inserir aqui uma caixa de pesquisa do tipo search box que vá filtrando os items da listview a medida que vamos escrevendo algo na search box?
  25. Olá Estou a tentar implementar um autocomplete para uma pesquisa populada por uma base de dados Sqlite. Criei um metodo para devolver um ArrayList dos dados que quero usar no autocomplete que é o seguinte: //Get Concelhos to Search Autocomplete public ArrayList<String> getListConcelhos() { ArrayList<String> listaConcelhos = new ArrayList<>(); dbase = this.getReadableDatabase(); Cursor cursor = dbase.rawQuery("SELECT DISTINCT CONCELHO FROM " + TABLE_NAME, null); //cursor.moveToFirst(); while (cursor.moveToNext()) { String value = cursor.getString( cursor.getColumnIndex("CONCELHO")); listaConcelhos.add(value); } return listaConcelhos; } E então na activity chamar usando isto: dbHelper = new DbHelper(this); listaConcelhos = dbHelper.getListConcelhos(); String[] arrayConcelhos = listaConcelhos.toArray(new String[listaConcelhos.size()]); text=(AutoCompleteTextView)findViewById(R.id.autoCompleteTextView1); ArrayAdapter adapter = new ArrayAdapter(this,android.R.layout.simple_list_item_1,arrayConcelhos); text.setAdapter(adapter); text.setThreshold(1); No entanto isto não funciona, pois ao correr o autocomplete não retorna a dropdownlist com as opções... Usei um Log para verificar se o método estaria a retornar correctamente os dados e efectivamente o Log retorna a lista de concelhos. Log.e("LOG: ", listaConcelhos.toString()); No entanto se eu usar uma string estática, o AutoCompleteTextView é populado: String[] concelhos = {"Concelho 1", "Concelho2"}; text=(AutoCompleteTextView)findViewById(R.id.autoCompleteTextView1); ArrayAdapter adapter = new ArrayAdapter(this,android.R.layout.simple_list_item_1,concelhos); text.setAdapter(adapter); text.setThreshold(1); Desta forma funciona correctamente. Alguém me pode ajudar a perceber o que estarei a fazer de mal?
×
×
  • 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.