I am attempting to download a .db file from my organization's website within an Android application and have encountered difficulties. It says the download is unsuccessful.
Here is the code that handles the download:
package midamcorp.com.burgerkingapp;
import android.app.DownloadManager;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.net.Uri;
import android.util.Log;
import android.widget.Toast;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.MalformedURLException;
import java.net.URI;
import java.net.URISyntaxException;
import java.net.URL;
import javax.xml.validation.Schema;
import javax.xml.validation.SchemaFactory;
public class downloadReceiver extends BroadcastReceiver {
#Override
public void onReceive(Context c, Intent i) {
File localDBFile = new File(c.getFilesDir(), "bk.db");
try {
DownloadManager manager = (DownloadManager) c.getSystemService(Context.DOWNLOAD_SERVICE);
Uri uriTest = Uri.parse("http://www.midamcorp.com/bk.db");
DownloadManager.Request request = new DownloadManager.Request(uriTest);
if (localDBFile.exists()) {
localDBFile.delete();
}
manager.enqueue(request);
// }
}
catch(Exception ex) {
Log.e("Error", ex.getMessage());
}
}
}
Furthermore, when I navigate to this file in my browser, I receive a 404 error; however, I know the path is correct. I have a feeling it has to do with the file extension (.db). How can I fix this?
Thanks!
Furthermore, when I navigate to this file in my browser, I receive a 404 error; however, I know the path is correct
It is not correct, because you are getting 404. URL is invalid or for any other reasons you are not able to reach it, and so is DownloadManager
Related
I wanted to invoke a kotlin code that emulates an NFC card in a flutter app with the dart as the main language, I was able to invoke it, however, I get this error:
MissingPluginException(No implementation found for method startNfcEmulator on channel HCE)
I am having a hard time trying to fix it and I have tried all solutions I found on the internet and I would appreciate some help. here is the kotlin code(it is part of this project):
package com.example.my_project
import android.content.Intent
import android.nfc.NfcAdapter
import android.os.Bundle
import androidx.appcompat.app.AppCompatActivity
import com.mycompany.build1.KHostApduService
import io.flutter.embedding.engine.FlutterEngine
import io.flutter.plugin.common.MethodChannel
class CardEmulatorActivity : AppCompatActivity(){
private val CHANNEL = "HCE"
fun onCreate(savedInstanceState: Bundle?, flutterEngine: FlutterEngine) {
super.onCreate(savedInstanceState)
mNfcAdapter = NfcAdapter.getDefaultAdapter(this)
MethodChannel(flutterEngine.dartExecutor.binaryMessenger, CHANNEL).setMethodCallHandler{ methodCall, result ->
if (methodCall.method == "startNfcEmulator") {
val msg = methodCall.argument<String>("msg")
val intent = Intent(this#CardEmulatorActivity, KHostApduService::class.java)
intent.putExtra("ndefMessage", msg)
startService(intent)
}
}
}
}
and here is the flutter part(parts of it, the original is 1000+ line codes):
class _STHomeWidgetState extends State<STHomeWidget> with TickerProviderStateMixin {
static const platform = const MethodChannel('HCE');
...
startNfcEmulator(String msg) async {
await platform.invokeMethod('startNfcEmulator', {
"msg" : msg,
});
}
and here are all the imports if needed(it is a mess i know):
import '../auth/auth_util.dart';
import '../backend/backend.dart';
import '../flutter_flow/flutter_flow_animations.dart';
import '../flutter_flow/flutter_flow_expanded_image_view.dart';
import '../flutter_flow/flutter_flow_icon_button.dart';
import '../flutter_flow/flutter_flow_theme.dart';
import '../flutter_flow/flutter_flow_util.dart';
import '../flutter_flow/flutter_flow_widgets.dart';
import '../flutter_flow/instant_timer.dart';
import '../custom_code/actions/index.dart' as actions;
import 'package:flutter/material.dart';
import 'package:flutter/scheduler.dart';
import 'package:flutter_animate/flutter_animate.dart';
import 'package:flutter_spinkit/flutter_spinkit.dart';
import 'package:google_fonts/google_fonts.dart';
import 'package:local_auth/local_auth.dart';
import 'package:page_transition/page_transition.dart';
import 'package:flutter/services.dart';
I am stuck on an error I keep getting, I have isolated the area the error has developed but cant figure out the cause.
package guiProject;
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.File;
import java.util.Scanner;
import java.io.FileWriter;
import java.io.PrintWriter;
import java.io.IOException;
import java.nio.file.Paths;
import java.nio.file.Path;
import java.nio.file.Files;
import java.util.List;
import java.util.stream.Collectors;
import java.awt.EventQueue;
import javax.swing.JFrame;
import java.awt.CardLayout;
import javax.swing.JPanel;
import javax.swing.JButton;
import javax.swing.JLabel;
import java.awt.Font;
import javax.swing.JTextField;
import javax.swing.JPasswordField;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import javax.swing.JTree;
public class mainWindow {
// imports and class definition are before this point
private Path adminList =
Paths.get("src/guiProject/AdminList.txt").toAbsolutePath();
try {
List<String> admins = Files.lines(adminList).collect(Collectors.toList());
} catch (IOException e) {
}
// rest of code
The error is occurring at the end of the line that defines adminList. Any help is appreciated.
Put your code inside a method - say pullAdminList . Moreover private access of adminList works just fine, because, again your methods - member of class, can access it:
public List<String> pullAdminList()
{
List<String> admins;
try
{
admins = Files.lines(adminList).collect(Collectors.toList());
}
catch (IOException e) {
}
return admins;
}
I am trying to import csv file to xml file
i see apache has feature to do
from(in)
.to(out)
.split(body().tokenize("\n")).streaming()
.unmarshal().csv();
but i have a "cannot resolve method 'from(java.lang.String)' error
when I try to import then i cannot find any packages for camel
this one works:
import org.apache.camel.dataformat.bindy.csv.BindyCsvDataFormat;
what is the package to use "from" from org.apache.camel.???
this is my file:
import org.apache.camel.Exchange;
import org.apache.camel.dataformat.bindy.BindyAbstractDataFormat;
import org.apache.camel.dataformat.bindy.BindyAbstractFactory;
import org.apache.camel.dataformat.bindy.BindyFixedLengthFactory;
import org.apache.camel.dataformat.bindy.FormatFactory;
import org.apache.camel.dataformat.bindy.csv.BindyCsvDataFormat;
import org.apache.camel.dataformat.bindy.util.ConverterUtils;
import org.apache.camel.spi.DataFormat;
import org.apache.camel.util.IOHelper;
import org.apache.camel.util.ObjectHelper;
import org.apache.camel.CamelContext;
import org.apache.camel.builder.RouteBuilder;
import org.apache.camel.Exchange;
import org.apache.camel.Message;
import org.apache.camel.Processor;
import org.apache.camel.builder.RouteBuilder;
import org.apache.camel.impl.DefaultCamelContext;
public class Csvtoxml {
public static void convert(String in, String out) throws Exception {
DataFormat bindy = new BindyCsvDataFormat(Model.class);
from("myCsvFile.csv")
.to("myXmlFile.xml")
.split(body().tokenize("\n")).streaming()
.unmarshal().csv();
}
}
It is not imported from anywhere. In order to use it this way you have to inherit your class from org.apache.camel.builder.RouteBuilder
document4j looks like a great api and I'd love to use it. I just want to bulk convert docx to pdf on my mac (with Microsoft office installed).
I have written this but I get the error that the LocalConverter cannot be resolved. What am I doing wrong? Have I imported the correct jars?
package Input;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.URISyntaxException;
import java.sql.SQLException;
import java.text.ParseException;
import java.util.concurrent.Future;
import org.xml.sax.SAXException;
import com.documents4j.api.DocumentType;
import com.documents4j.api.IConverter;
public class TBB {
public static FileInputStream convert(InputStream docxInputStream) throws FileNotFoundException {
FileInputStream inputStream = null;
try (OutputStream outputStream = new FileOutputStream(new File("/Users/sebastianzeki/mydoc.docx"))) {
IConverter converter = LocalConverter.builder().build();
converter
.convert(docxInputStream).as(DocumentType.DOCX)
.to(outputStream).as(DocumentType.PDF)
.prioritizeWith(1000).schedule();
inputStream = new FileInputStream("/Users/sebastianzeki/mydoc.docx");
} catch (Exception e) {
e.getMessage();
}
return inputStream;
}
}
documents4j is not compatible with Mac. Look at your stacktrace and you will find something like: com.documents4j.throwables.ConverterAccessException: Unable to run script: /Applications/Tomcat-9.0.1/temp/1564683313105-0/word_start775650809.vbs Documents4j is running a generated vbScript under the hood. There is no way for mac to run vbScript as far as I know. I had to install a Windows vm with Word installed on my server and use the documents4j remote api to call into the windows vm to do the conversions.
I have to try Push Notifications. I follow all the instructions from this link.
Now I have to run App.java(It's server part, not client part, so is not an android application), but I have a problem.
When I run as java application, Eclipse show me an error window
saying:"Selection does not contain a main type".
How can I fix this problem?
This is App.java class:
package com.hmkcode;
import java.io.BufferedReader;
import java.io.DataOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.hmkcode.vo.Content;
public class App
{
public static void main( String[] args )
{
System.out.println( "Sending POST to GCM" );
String apiKey = "AIzaSyC..........";
Content content = createContent();
POST2GCM.post(apiKey, content);
}
public static Content createContent(){
Content c = new Content();
c.addRegId("APA91bE8R9nR.........");
c.createData("Test Title", "Test Message");
return c;
}
}