2012-04-17 4 views
0

Base64 문자열로 변환하려고하는 안드로이드에 ArrayList가 있습니다. 그런 다음 JSON과 wcf 서비스가 wcf 서비스를 사용하여 문자열을 데이터베이스에 삽입합니다 . 그런 다음 데이터베이스에서 읽을 수 있어야하고 .NET 응용 프로그램에서 deserialize 할 수 있어야합니다. 나는 Base64로 문자열을 가지고 (모양의) 목록에 직렬화 및 해당 직렬화하기 위해 노력하고있어 WCF 서비스에서 다음WCF에서 객체 목록을 직렬화하고 역 직렬화

private String convertByteArrayToSave(byte[] b){ 
    if(b != null){ 
     return Base64.encodeToString(b,0,b.length,Base64.DEFAULT); 
    }else{ 
     return ""; 
    } 
} 

private String convertListToStringToSave(ArrayList<myClasses.Shape> myList){ 
    ByteArrayOutputStream b = new ByteArrayOutputStream(); 
    ObjectOutputStream out; 
    try { 
     out = new ObjectOutputStream (b); 
     out.writeObject(myList); 
    } catch (IOException e) { 
     // TODO Auto-generated catch block 
     e.printStackTrace(); 
    } 

    return convertByteArrayToSave(b.toByteArray()); 
} 

:

이 내가 안드로이드에서 ArrayList를 직렬화하고 어떻게 그것을 데이터베이스에 삽입하십시오.

Private Function ConvertAndroidByteToDotNet(ByVal s As String) As Byte() 
    Dim result As Byte() = Nothing 
    Dim b As Byte() = CType(System.Convert.FromBase64String(s), Byte()) 
    Dim msTest As New MemoryStream(b) 
    msTest.Seek(0, SeekOrigin.Begin) 
    msTest.Position = 0 
    Dim formatter As New Runtime.Serialization.Formatters.Binary.BinaryFormatter() 
    formatter.AssemblyFormat = Runtime.Serialization.Formatters.FormatterAssemblyStyle.Simple 
    formatter.Binder = New BindChanger() 
    Dim shapelist As List(Of ColbyDataTypes.Shape) = DirectCast(formatter.Deserialize(msTest), List(Of ColbyDataTypes.Shape)) 
    msTest.Close() 

    Dim bin As New Runtime.Serialization.Formatters.Binary.BinaryFormatter() 
    bin.AssemblyFormat = Runtime.Serialization.Formatters.FormatterAssemblyStyle.Simple 
    bin.Serialize(msTest, shapelist) 

    result = msTest.ToArray() 

    Return result 
End Function 

궁극적 인 목표는 상관없이 어디 .NET 응용 프로그램 또는 안드로이드 응용 프로그램에서 이러한 형태의 목록을 작성하고 .NET 응용 프로그램 및 안드로이드 응용 프로그램의 목록을 읽을 수있을 수있을 수 없을 것입니다 그것은에서 창조되었다. 저는 .NET에서 Shape을 만들고 WCF를 사용하여 android로 읽을 때 그것을 할 수 있습니다. 그러나 Android에서 만드는 것은 내가 갇혀있는 곳입니다. 정말 고마워. 고마워.

답변