javascript – Como fazer um JSONArray de um retorno com vários ojbetos

Tenho um projeto no Android Studio que preciso fazer um Get na minha API que fiz provisoriamente no NodeJS (tenho uma já bem trabalhada no AspNET), como quero ter um retorno com vários objetos e vou precisar retornar isso para a tela não estou conseguindo transformar para uma JSONArray, que recebo da API em outra no Android Studio, estou em grande dúvida nisso.

({"idPedido":"25771","cliente":"NAILSON","vendedor":"EDSON","dataOP":"01/07/2021","dataVL":"31/07/2021","valorTotal":"329","imp":"S","sit":"Fechado"},{"idPedido":"25760","cliente":"MACIA","vendedor":"EDSON","dataOP":"01/07/2021","dataVL":"31/07/2021","valorTotal":"1340,53","imp":"S","sit":"Aberto"})

Eu já consigo fazer isso se for um JSON individual, sem os colchetes também com a seguinte classe:

public class htp2 extends AsyncTask<Void, Void, Pedido> {
    private final String TAG = "Meu_App";
    @Override
    protected Pedido doInBackground(Void... voids) {

        StringBuilder resposta = new StringBuilder();
            try {
                URL url = new URL("https://mert1s.herokuapp.com/s");
                HttpURLConnection connection = (HttpURLConnection) url.openConnection();
                connection.setRequestMethod("GET");
                connection.setRequestProperty("Content-type", "application/json");
                connection.setRequestProperty("Accept", "application/json");
                connection.setDoOutput(true);
                connection.setConnectTimeout(5000);
                connection.connect();
                Scanner scanner = new Scanner(url.openStream());

                while (scanner.hasNext()) {
                    resposta.append(scanner.next());
                }

                connection.disconnect();
            } catch (MalformedURLException e) {
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            }
        return new Gson().fromJson(resposta.toString(), Pedido.class);
    }
}

Minha API:

    const express = require('express');
    const app = express();
    
    let pedido = ({
  "idPedido": "25771",
  "cliente": "NAILSON GONCALVES DE SANTANA",
  "vendedor": "EDSON FERREIRA DE BRITO",
  "dataOP": "01/07/2021",
  "dataVL": "31/07/2021",
  "valorTotal": "329",
  "imp": "S",
  "sit": "Fechado"
},
{
  "idPedido": "25760",
  "cliente": "MACIA ALENCAR SOUSA",
  "vendedor": "EDSON FERREIRA DE BRITO",
  "dataOP": "01/07/2021",
  "dataVL": "31/07/2021",
  "valorTotal": "1340,53",
  "imp": "S",
  "sit": "Aberto"
})
    
    app.get("https://pt.stackoverflow.com/", (req, res) => {
      res.send('Hello World');
    });
    app.get('/s', (req, res) => {
        res.send(pedido);
      });
    
    // Listen to the App Engine-specified port, or 8080 otherwise
    const PORT = process.env.PORT || 8080;
    app.listen(PORT, () => {
      console.log(`Server listening on port ${PORT}...`);
    });

Pensei em fazer a cópia da htp2 e colocar o parâmetro, tipo da função e retorno como List, mas a minha dúvida está em como posso fazer a leitura no while e assim que ele terminar de ler o primeiro Objeto no JSON, adicionar na List<Pedido>, depois fazer outra leitura e assim adiante até acabar os objetos retornados pela API
Como sou iniciante eu vi algumas postagens que algumas pessoas conseguiam colocar tipo “data”:(/* Todo o conteúdo do JSON*/), e não sei se isso vá fazer grande diferença no meu projeto.
Segue uma coisa que eu estava em mente como fazer eu estou com dúvida de como continuar:

public class htp3 extends AsyncTask<Void, Void, List<Pedido>> {
    private String TAG = "Meu_App";
    List<Pedido> Pl = new ArrayList<>();
    Gson gson = new Gson();
    @Override
    protected List<Pedido> doInBackground(Void... voids) {
        StringBuilder resposta = new StringBuilder();
            try {
                URL url = new URL("https://mert1s.herokuapp.com/s");
                HttpURLConnection connection = (HttpURLConnection) url.openConnection();
                connection.setRequestMethod("GET");
                connection.setRequestProperty("Content-type", "application/json");
                connection.setRequestProperty("Accept", "application/json");
                connection.setDoOutput(true);
                connection.setConnectTimeout(5000);
                connection.connect();
                Scanner scanner = new Scanner(url.openStream());
                //Algo Assim do tipo
                while (scanner.hasNext()) {
                    resposta.append(scanner.next());
                    Pl.add(gson.fromJson(resposta.toString(), Pedido.class));
                }
                connection.disconnect();
            } catch (MalformedURLException e) {
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            }
        return Pl;
    }
}

sql server – nao consigo fazer insert na tabela fato

sql server – nao consigo fazer insert na tabela fato – Stack Overflow em Português

retorna o ultimo id da tabela usando php e como posso fazer?

if($_SERVER('REQUEST_METHOD') === 'POST'){
    // gravar informações
    $data = json_decode(file_get_contents("php://input"));
    $dataAgora = date('d/m/Y');
    $qr = mysqli_insert_id($con);
    $sql = $con->query("insert into servico(descricao, data, valor,Cliente_id) 
    values ('".$data->descricao."','".$data->$dataAgora."','".$data->valor."','".$data->$qr."')");
    if($sql){
        $data->id = $con->insert_id;
        exit(json_encode($data));
    }else{
        exit(json_decode(array('status' => 'Não Funcionou')));
    }
}

inserir a descrição da imagem aqui

c# – Erro ao fazer uma consulta no dapper

quero fazer uma consulta com o dapper
e me deparei com o seguinte erro…

“Não é possível converter a expressão lambda para digitar ‘string’ porque ela não é um tipo delegado
Eu estou usando uma expressão lambq LINQ da seguinte forma:”

segue meu codigo

using (SqlConnection connection = new SqlConnection(_configuration.GetConnectionString("XXXXX")))
        {
            sSQL = "select * from Usuario";
            var query = await connection.QueryAsync<User>(()=>new { id = default(string) }, sSQL);

            if (query != null)
            {
                usuarios = query.ToList();
            }


        }

inserir a descrição da imagem aqui

acho que falta algum using..
alguém pode me ajudar?

java – Como fazer com que getFilter() funcione?

Estou querendo realizar uma filtragem com os dados listados na página ListarDonos.java que possui relação com a página DonoAdapter.java.

Porém eu não sei o que fazer para que recyclerAdapter = new DonoAdapter(); pois nele está o erro, eu não sei o que passar dentro dos parenteses

public class ListarDonos extends AppCompatActivity {

    RecyclerView recyclerView;
    DonoAdapter recyclerAdapter;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_listar_donos);
        setTitle("Listar donos");

        recyclerView = findViewById(R.id.recyclerView);
        recyclerAdapter = new DonoAdapter(); // ERRO
        recyclerView.setAdapter(recyclerAdapter);
        recyclerView.setLayoutManager(new LinearLayoutManager(this)); 
        recyclerView.setHasFixedSize(true);

        Conexao conexao = new Conexao(this);
        List<Dono> donos = conexao.ReadDonos();
        
        if (donos.size() > 0){
            DonoAdapter donoadapter = new DonoAdapter(donos,ListarDonos.this);
            recyclerView.setAdapter(donoadapter);
        } else {
            Toast.makeText(this, "Não existem donos no banco de dados.", Toast.LENGTH_SHORT).show();
        }
    }
    
    @Override
    public boolean onCreateOptionsMenu(Menu menu){
        getMenuInflater().inflate(R.menu.pesquisar_dono,menu);
        MenuItem menuItem = menu.findItem(R.id.buscar_dono);
        SearchView searchView = (SearchView) menuItem.getActionView();
        searchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
            @Override
            public boolean onQueryTextSubmit(String query) {
                return false;
            }
            @Override
            public boolean onQueryTextChange(String newText) {
                recyclerAdapter.getFilter().filter(newText);
                return false;
            }
        });
        return super.onCreateOptionsMenu(menu);
    }
}
public class DonoAdapter extends RecyclerView.Adapter<DonoAdapter.ViewHolder> implements Filterable {

    List<Dono> donos;
    List<Dono> donos2;
    Context context;
    Conexao conexao;

    public DonoAdapter(List<Dono> donos, Context context) {
        this.donos = donos;
        this.donos2 = new ArrayList<>(donos);
        this.context = context;
        conexao = new Conexao(context);
    }
    // Método para obter o resultado da filtragem
    @Override
    public Filter getFilter() {
        return filter;
    }
    // Realiza a filtragem
    Filter filter = new Filter() {
        @Override
        protected FilterResults performFiltering(CharSequence charSequence) {
            List<Dono> filtro_donos = new ArrayList<>();
            if (charSequence.toString().isEmpty()){
                filtro_donos.addAll(donos2);
            } else {
                for (Dono doninho: donos2){
                    if (doninho.getNome_dono().toLowerCase().contains(charSequence.toString().toLowerCase())){
                        filtro_donos.add(doninho);
                    }
                }
            }
            FilterResults filterResults = new FilterResults();
            filterResults.values = filtro_donos;
            return filterResults;
        }
        @Override
        protected void publishResults(CharSequence constraint, FilterResults filterResults) {
            donos.clear();
            donos.addAll((Collection<? extends Dono>) filterResults.values);
            notifyDataSetChanged();
        }
    };
}

Não consigo fazer autenticação do firebase seguindo os steps

private lateinit var auth: FirebaseAuth

class MainActivity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        auth = Firebase.auth
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
        supportActionBar?.hide()

        val menuNavBottom: BottomNavigationView = findViewById(R.id.bottomNavigationView)
        val navController = findNavController(R.id.FragmentContainerView)
        menuNavBottom.setupWithNavController(navController)
    }

    public override fun onStart() {
        super.onStart()
        // Check if user is signed in (non-null) and update UI accordingly.
        val currentUser = auth.currentUser
        if (currentUser != null) {
            reload();
        }
    }


}

 O erro é unresolved reference em ambos

java – Como fazer a camera funcionar em modo “stream” em um uma Webview feita no Android Studio?

Olá. Tenho um app web que basicamente utiliza a bibioteca QuaggaJS para escanear um código de barras utilizando a câmera do Celular.

A câmera em meu app é utilizada em modo stream, exatamente como no site exemplo abaixo:

https://serratus.github.io/quaggaJS/examples/live_w_locator.html

Porém, ao abrir a webview, a câmera nãao inicia e fica conforme o print a seguir:
https://empsis.com.br/img/Screenshot_20210707-141619_SaviskiEtiquetas.jpg

Minha MainActivity.java:

package br.com.empsis.saviskietiquetas;

import android.annotation.SuppressLint;
import android.annotation.TargetApi;
import android.content.DialogInterface;
import android.net.http.SslError;
import android.os.Build;
import android.os.Bundle;
import android.util.Log;
import android.webkit.PermissionRequest;
import android.webkit.SslErrorHandler;
import android.webkit.WebChromeClient;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;

import androidx.appcompat.app.AlertDialog;
import androidx.appcompat.app.AppCompatActivity;

public class MainActivity extends AppCompatActivity {

    WebView webView;
    //String url = "http://192.168.1.240";
    String url = "https://serratus.github.io/quaggaJS/examples/live_w_locator.html";


    @SuppressLint("SetJavaScriptEnabled")
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        WebView webView = findViewById(R.id.webview);
        webView.getSettings().setDomStorageEnabled(true);
        webView.getSettings().setJavaScriptEnabled(true);
        webView.getSettings().setAllowContentAccess(true);
        webView.getSettings().setAppCacheEnabled(true);
        webView.getSettings().setSaveFormData(true);
        webView.getSettings().setSavePassword(true);
        webView.getSettings().setAllowFileAccess(true);
        webView.getSettings().setAllowFileAccessFromFileURLs(true);
        webView.getSettings().setAllowUniversalAccessFromFileURLs(true);
        webView.getSettings().setJavaScriptCanOpenWindowsAutomatically(true);
        webView.getSettings().setBuiltInZoomControls(true);
        webView.getSettings().setSupportZoom(true);

        webView.setWebViewClient(new myClientWebView());
        webView.setWebChromeClient(new WebChromeClient() {

            @Override
            public void onPermissionRequest(final PermissionRequest request) {
                if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
                    request.grant(request.getResources());
                }
            }

        });
        webView.loadUrl(url);


    }


    private class myClientWebView extends WebViewClient {
        @Override
        public void onReceivedSslError(WebView view, final SslErrorHandler handler, SslError error) {
            handler.proceed();
        }
    }
}

meu AndroidManifest.xml:

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

    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.CAMERA"/>
    <uses-feature android:name="android.hardware.camera" />
    <uses-feature android:name="android.hardware.camera.autofocus" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.webkit.PermissionRequest" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />


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

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

</manifest>

php – Você é programador OO (C#, .NEt, Java, etc )? Conhece Salesforce (Sf)? Venha fazer academia SF sem custo com a Etho e já saia atuando


Sua privacidade


Ao clicar em “Aceitar todos os cookies”, você concorda que a Stack Exchange pode guardar cookies no seu dispositivo e utilizar essas informações de acordo com a nossa Política de Cookies.




Como fazer uma caixa de texto aparecer ao por o mouse sobre um nome em um código feito com HTML?

<html lang="pt-br">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
 <link rel="shortcut icon" href="html.ico" type="image/x-icon">

    <title>Mouse</title>
</head>

<ul>
    <li>Parágrafos </li>
    <li>Textos</li>
    <li>Formatações</li>
</ul>
<body>

Ao passar o mouse sobre o nome “Parágrafos” deve exibir: “Parágrafos”.
Ao passar o mouse sobre “Textos”, deve exibir: “Textos”
Ao passar o mouse sobre “Formatações”, deve exibir: “Formatações”

python – Como Fazer Deploy Programado na Heroku

Olá, esse mês fiz um twitter bot em python, que tweta todos os dias às 11h, quantos dias faltam para o vestibular. No código, estabeleci uma rotina, que faz o código rodar a cada 15 segundos, e verificar se já deu o horário de postar. Até ai tudo bem, hospedei o bot na heroku, e depois de 23 dias ele parou de rodar, porque eu descobri que tem um limite de 550 horas, e como o bot ficava o tempo todo rodando, gastei todas as horas grátis que tinha.

Então, queria saber se existe alguma forma de fazer o código do meu bot rodar apenas uma vez ao dia, em um horário especifico pra não acontecer esse tipo de problema?

Log do projeto na heroku

DreamProxies - Cheapest USA Elite Private Proxies 100 Private Proxies 200 Private Proxies 400 Private Proxies 1000 Private Proxies 2000 Private Proxies 5000 Private Proxies ExtraProxies.com - Buy Cheap Private Proxies Buy 50 Private Proxies Buy 100 Private Proxies Buy 200 Private Proxies Buy 500 Private Proxies Buy 1000 Private Proxies Buy 2000 Private Proxies ProxiesLive.com Proxies-free.com New Proxy Lists Every Day Proxies123.com Buy Cheap Private Proxies; Best Quality USA Private Proxies