package dataplus.application.engine;
import java.io.File;
import java.io.FileInputStream;
import org.ksoap2.SoapEnvelope;
import org.ksoap2.serialization.SoapObject;
import org.ksoap2.serialization.SoapPrimitive;
import org.ksoap2.serialization.SoapSerializationEnvelope;
import org.ksoap2.transport.HttpTransportSE;
import org.xmlpull.v1.XmlPullParser;
import org.xmlpull.v1.XmlPullParserFactory;
import dataplus.application.connection.WsConnection;
import android.app.Activity;
import android.os.Environment;
import android.widget.Toast;
public class ExportarDados extends Activity {
WsConnection connection = new WsConnection();
String wResultConsulta;
public void exportarDados(){
try
{
exportarCliente();
exportarPedidos();
exportarPedidoItens();
} catch (Exception e) {
e.printStackTrace();
}
}
private void exportarCliente(){
try
{
connection.set_METHOD_NAME("SetCliente");
SoapObject request = new SoapObject(connection.get_NAMESPACE(), connection.get_METHOD_NAME());
File xmlFile = new File(Environment.getDataDirectory() + "/data/dataplus.application/cliente.xml");
FileInputStream is = new FileInputStream(xmlFile);
XmlPullParser parser = XmlPullParserFactory.newInstance().newPullParser();
parser.setInput(is, null);
int eventType = parser.getEventType();
String tag = "";
while(eventType != XmlPullParser.END_DOCUMENT) {
if(eventType==XmlPullParser.START_TAG){
tag=parser.getName();
if (tag.equals("Empresa"))
{
eventType = parser.next();
request.addProperty("empresa", parser.getText());
}
else if (tag.equals("Codigo"))
{
eventType = parser.next();
request.addProperty("codigo", parser.getText());
}
else if (tag.equals("Nome"))
{
eventType = parser.next();
request.addProperty("nome", parser.getText());
}
else if (tag.equals("Endereco"))
{
eventType = parser.next();
request.addProperty("endereco", parser.getText());
}
else if (tag.equals("Bairro"))
{
eventType = parser.next();
request.addProperty("bairro", parser.getText());
}
else if (tag.equals("Cidade"))
{
eventType = parser.next();
request.addProperty("cidade", parser.getText());
}
else if (tag.equals("Estado"))
{
eventType = parser.next();
request.addProperty("uf", parser.getText());
}
else if (tag.equals("CEP"))
{
eventType = parser.next();
request.addProperty("cep", parser.getText());
}
else if (tag.equals("FisJur"))
{
eventType = parser.next();
request.addProperty("fisjur", parser.getText());
}
else if (tag.equals("CNPJ"))
{
eventType = parser.next();
request.addProperty("cnpj", parser.getText());
}
else if (tag.equals("CPF"))
{
eventType = parser.next();
request.addProperty("cpf", parser.getText());
}
else if (tag.equals("InscEst"))
{
eventType = parser.next();
request.addProperty("inscEst", parser.getText());
}
else if (tag.equals("RG"))
{
eventType = parser.next();
request.addProperty("rg", parser.getText());
}
else if (tag.equals("Telefone"))
{
eventType = parser.next();
request.addProperty("telefone", parser.getText());
}
else if (tag.equals("Email"))
{
eventType = parser.next();
request.addProperty("email", parser.getText());
}
}
eventType = parser.next();
}
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
envelope.dotNet=true;
envelope.setOutputSoapObject(request);
HttpTransportSE androidHttpTransport = new HttpTransportSE(connection.get_URL());
androidHttpTransport.debug = true;
androidHttpTransport.call(connection.get_NAMESPACE() + "" + connection.get_METHOD_NAME(), envelope);
SoapPrimitive result = (SoapPrimitive) envelope.getResponse();
wResultConsulta = result.toString();
if(wResultConsulta.equals("true")){
xmlFile.delete();
}
} catch (Exception e) {
Toast.makeText(getBaseContext(), e.getMessage(), Toast.LENGTH_LONG).show();
}
}
private void exportarPedidos(){
try
{
connection.set_METHOD_NAME("SetPedido");
SoapObject request = new SoapObject(connection.get_NAMESPACE(), connection.get_METHOD_NAME());
File xmlFile = new File(Environment.getDataDirectory() + "/data/dataplus.application/pedido.xml");
FileInputStream is = new FileInputStream(xmlFile);
XmlPullParser parser = XmlPullParserFactory.newInstance().newPullParser();
parser.setInput(is, null);
int eventType = parser.getEventType();
String tag = "";
while(eventType != XmlPullParser.END_DOCUMENT) {
if(eventType==XmlPullParser.START_TAG){
tag=parser.getName();
if (tag.equals("Empresa"))
{
eventType = parser.next();
request.addProperty("empresa", parser.getText());
}
else if (tag.equals("Pedido"))
{
eventType = parser.next();
request.addProperty("pedido", parser.getText());
}
else if (tag.equals("Cliente"))
{
eventType = parser.next();
request.addProperty("cliente", parser.getText());
}
else if (tag.equals("DataPedido"))
{
eventType = parser.next();
request.addProperty("datapedido", parser.getText());
}
else if (tag.equals("TotalPedido"))
{
eventType = parser.next();
request.addProperty("totalpedido", parser.getText());
}
}
eventType = parser.next();
}
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
envelope.dotNet=true;
envelope.setOutputSoapObject(request);
HttpTransportSE androidHttpTransport = new HttpTransportSE(connection.get_URL());
androidHttpTransport.debug = true;
androidHttpTransport.call(connection.get_NAMESPACE() + "" + connection.get_METHOD_NAME(), envelope);
SoapPrimitive result = (SoapPrimitive) envelope.getResponse();
wResultConsulta = result.toString();
if(wResultConsulta.equals("true")){
xmlFile.delete();
}
} catch (Exception e) {
Toast.makeText(getBaseContext(), e.getMessage(), Toast.LENGTH_LONG).show();
}
}
private void exportarPedidoItens(){
try{
connection.set_METHOD_NAME("SetPedidoItens");
SoapObject request = new SoapObject(connection.get_NAMESPACE(), connection.get_METHOD_NAME());
File xmlFile = new File(Environment.getDataDirectory() + "/data/dataplus.application/pedidoitens.xml");
FileInputStream is = new FileInputStream(xmlFile);
XmlPullParser parser = XmlPullParserFactory.newInstance().newPullParser();
parser.setInput(is, null);
int eventType = parser.getEventType();
String tag = "";
while(eventType != XmlPullParser.END_DOCUMENT) {
if(eventType==XmlPullParser.START_TAG){
tag=parser.getName();
if (tag.equals("Empresa"))
{
eventType = parser.next();
request.addProperty("empresa", parser.getText());
}
else if (tag.equals("PedidoRef"))
{
eventType = parser.next();
request.addProperty("pedido", parser.getText());
}
else if (tag.equals("Item"))
{
eventType = parser.next();
request.addProperty("item", parser.getText());
}
else if (tag.equals("Produto"))
{
eventType = parser.next();
request.addProperty("produto", parser.getText());
}
else if (tag.equals("Quantidade"))
{
eventType = parser.next();
request.addProperty("qtde", parser.getText());
}
else if (tag.equals("ValorUnitario"))
{
eventType = parser.next();
request.addProperty("valorUnit", parser.getText());
}
}
eventType = parser.next();
}
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
envelope.dotNet=true;
envelope.setOutputSoapObject(request);
HttpTransportSE androidHttpTransport = new HttpTransportSE(connection.get_URL());
androidHttpTransport.debug = true;
androidHttpTransport.call(connection.get_NAMESPACE() + "" + connection.get_METHOD_NAME(), envelope);
SoapPrimitive result = (SoapPrimitive) envelope.getResponse();
wResultConsulta = result.toString();
if(wResultConsulta.equals("true")){
xmlFile.delete();
}
}catch (Exception e){
Toast.makeText(getBaseContext(), e.getMessage(), Toast.LENGTH_LONG).show();
}
}
}
package dataplus.application.engine;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import org.ksoap2.SoapEnvelope;
import org.ksoap2.serialization.PropertyInfo;
import org.ksoap2.serialization.SoapObject;
import org.ksoap2.serialization.SoapSerializationEnvelope;
import org.ksoap2.transport.HttpTransportSE;
import org.xmlpull.v1.XmlSerializer;
import android.app.Activity;
import android.os.Environment;
import android.util.Log;
import android.util.Xml;
import dataplus.application.connection.WsConnection;
public class ImportarDados extends Activity {
WsConnection connection = new WsConnection();
public void importarDados(){
try
{
importarCliente();
importarProduto();
criarArquivos();
} catch (Exception e) {
e.printStackTrace();
}
}
private void importarCliente(){
try
{
connection.set_METHOD_NAME("GetClientes");
SoapObject request = new SoapObject(connection.get_NAMESPACE(), connection.get_METHOD_NAME());
request.addProperty("empresa", 1);
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
envelope.dotNet=true;
envelope.setOutputSoapObject(request);
HttpTransportSE androidHttpTransport = new HttpTransportSE(connection.get_URL());
androidHttpTransport.call(connection.get_NAMESPACE() + "" + connection.get_METHOD_NAME(), envelope);
SoapObject listaDataSet = (SoapObject) envelope.getResponse();
int propertyGetRetornoWebCount = listaDataSet.getPropertyCount();
if (propertyGetRetornoWebCount > 0) {
SoapObject objResultSoapObject = new SoapObject(connection.get_NAMESPACE(),connection.get_METHOD_NAME());
SoapObject objSoapObject = new SoapObject(connection.get_NAMESPACE(),connection.get_METHOD_NAME());
objResultSoapObject = (SoapObject) listaDataSet.getProperty(1);
objSoapObject = (SoapObject) objResultSoapObject.getProperty(0);
int propertyResultCount = objSoapObject.getPropertyCount();
File newxmlfile = new File(Environment.getDataDirectory() + "/data/dataplus.application/cliente.xml");
try{
newxmlfile.createNewFile();
}
catch(IOException e){
Log.e("IOException", "Exception in create new File(");
}
FileOutputStream fileos = null;
try{
fileos = new FileOutputStream(newxmlfile);
}
catch(FileNotFoundException e){
Log.e("FileNotFoundException",e.toString());
}
if (propertyResultCount > 0){
XmlSerializer serializer = Xml.newSerializer();
serializer.setOutput(fileos, "UTF-8");
serializer.startDocument(null, Boolean.valueOf(true));
serializer.setFeature("http://xmlpull.org/v1/doc/features.html#indent-output", true);
serializer.startTag(null, "clientes");
for (int currentProperty = 0; currentProperty < propertyResultCount; currentProperty++) {
SoapObject obj = (SoapObject) objSoapObject.getProperty(currentProperty);
int attributeResultCount = obj.getPropertyCount();
serializer.startTag(null, "cliente");
for (int index = 0; index < attributeResultCount; index++){
PropertyInfo pi = new PropertyInfo();
obj.getPropertyInfo(index, pi);
String tag = pi.name;
String value = obj.getPropertyAsString(index).toString();
serializer.startTag(null, tag);
serializer.text(value);
serializer.endTag(null, tag);
}
serializer.endTag(null,"cliente");
}
serializer.endTag(null,"clientes");
serializer.endDocument();
serializer.flush();
fileos.close();
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
private void importarProduto(){
try{
connection.set_METHOD_NAME("GetProdutos");
SoapObject request = new SoapObject(connection.get_NAMESPACE(), connection.get_METHOD_NAME());
request.addProperty("empresa", 1);
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
envelope.dotNet=true;
envelope.setOutputSoapObject(request);
HttpTransportSE androidHttpTransport = new HttpTransportSE(connection.get_URL());
androidHttpTransport.call(connection.get_NAMESPACE() + "" + connection.get_METHOD_NAME(), envelope);
SoapObject listaDataSet = (SoapObject) envelope.getResponse();
int propertyGetRetornoWebCount = listaDataSet.getPropertyCount();
if (propertyGetRetornoWebCount > 0) {
SoapObject objResultSoapObject = new SoapObject(connection.get_NAMESPACE(),connection.get_METHOD_NAME());
SoapObject objSoapObject = new SoapObject(connection.get_NAMESPACE(),connection.get_METHOD_NAME());
objResultSoapObject = (SoapObject) listaDataSet.getProperty(1);
objSoapObject = (SoapObject) objResultSoapObject.getProperty(0);
int propertyResultCount = objSoapObject.getPropertyCount();
File newxmlfile = new File(Environment.getDataDirectory() + "/data/dataplus.application/produto.xml");
try{
newxmlfile.createNewFile();
}
catch(IOException e){
Log.e("IOException", "Exception in create new File(");
}
FileOutputStream fileos = null;
try{
fileos = new FileOutputStream(newxmlfile);
}
catch(FileNotFoundException e){
Log.e("FileNotFoundException",e.toString());
}
if (propertyResultCount > 0){
XmlSerializer serializer = Xml.newSerializer();
serializer.setOutput(fileos, "UTF-8");
serializer.startDocument(null, Boolean.valueOf(true));
serializer.setFeature("http://xmlpull.org/v1/doc/features.html#indent-output", true);
serializer.startTag(null, "produtos");
for (int currentProperty = 0; currentProperty < propertyResultCount; currentProperty++) {
SoapObject obj = (SoapObject) objSoapObject.getProperty(currentProperty);
int attributeResultCount = obj.getPropertyCount();
serializer.startTag(null, "produto");
for (int index = 0; index < attributeResultCount; index++){
PropertyInfo pi = new PropertyInfo();
obj.getPropertyInfo(index, pi);
String tag = pi.name;
String value = obj.getPropertyAsString(index).toString();
serializer.startTag(null, tag);
serializer.text(value);
serializer.endTag(null, tag);
}
serializer.endTag(null,"produto");
}
serializer.endTag(null,"produtos");
serializer.endDocument();
serializer.flush();
fileos.close();
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
private void criarArquivos(){
File xmlPedido = new File(Environment.getDataDirectory() + "/data/dataplus.application/pedido.xml");
File xmlPedidoItens = new File(Environment.getDataDirectory() + "/data/dataplus.application/pedidoitens.xml");
FileOutputStream fileos = null;
try{
if(!xmlPedido.exists()){
xmlPedido.createNewFile();
fileos = new FileOutputStream(xmlPedido);
XmlSerializer serializer = Xml.newSerializer();
serializer.setOutput(fileos, "UTF-8");
serializer.startDocument(null, Boolean.valueOf(true));
serializer.setFeature("http://xmlpull.org/v1/doc/features.html#indent-output", true);
serializer.startTag(null, "pedidos");
serializer.endTag(null,"pedidos");
serializer.endDocument();
serializer.flush();
fileos.close();
}
if(!xmlPedidoItens.exists()){
xmlPedidoItens.createNewFile();
fileos = new FileOutputStream(xmlPedidoItens);
XmlSerializer serializer = Xml.newSerializer();
serializer.setOutput(fileos, "UTF-8");
serializer.startDocument(null, Boolean.valueOf(true));
serializer.setFeature("http://xmlpull.org/v1/doc/features.html#indent-output", true);
serializer.startTag(null, "pedidoitem");
serializer.endTag(null,"pedidoitem");
serializer.endDocument();
serializer.flush();
fileos.close();
}
}
catch(IOException e){
Log.e("IOException", "Exception in create new File(");
}
}
}Rudrigo, bom dia.
On Tuesday, December 4, 2012 11:39:45 AM UTC-2, Rudrigo Lima wrote:
Caros amigo,
Alguem já passou por isso, exportar dados de um banco sqlite rodando no aparelho e tenha que extrair para um arquivo txt ou xml, se tiver uma dica ficarei no aguardo
--Rudrigo Lima.
Graduando em Sistema de Informação






0 comentários:
Postar um comentário