public Excursionist(Context context, string[] Messages, string nrTel)
        {
            this.context = context;

            Nume         = Messages[2];
            Prenume      = Messages[3];
            TipCont      = Messages[4];
            NumarTelefon = Messages[5];
            Distanta     = Messages[7];
            Pozitie      = Messages[8];

            TcpClient     Client = new TcpClient(_Details.ServerIP, _Details.LargeFilesPort);
            NetworkStream ns     = Client.GetStream();

            using (MemoryStream ms = new MemoryStream())
            {
                _TcpDataExchange.WriteStreamString(ns, CryptDecryptData.CryptData(new string[] { _Details.GetProfilePic, NumarTelefon }));

                int    ReadedBytes;
                byte[] Buffer = new byte[1000];

                while ((ReadedBytes = ns.Read(Buffer, 0, Buffer.Length)) > 0)
                {
                    ms.Write(Buffer, 0, ReadedBytes);
                }

                Client.Close();
                ns.Dispose();

                Drawable PhotoDrawable = DrawableConverter.ByteArrayToDrawable(ms.ToArray(), context);
                Bitmap   PhotoBitmap   = ((BitmapDrawable)PhotoDrawable).Bitmap;

                Photo = new BitmapDrawable(context.Resources, RoundedBitmap.MakeRound(PhotoBitmap, PhotoBitmap.Width));
            }
        }
コード例 #2
0
        protected override void OnCreate(Bundle savedInstanceState)
        {
            RequestWindowFeature(WindowFeatures.NoTitle);
            Window.SetFlags(WindowManagerFlags.Fullscreen, WindowManagerFlags.Fullscreen);

            base.OnCreate(savedInstanceState);

            SetContentView(Resource.Layout.Utilizator_Trip_Galerie);

            PhotosContainer = FindViewById <GridView>(Resource.Id.GridViewLay);

            TcpClient     Client = new TcpClient(_Details.ServerIP, _Details.LargeFilesPort);
            NetworkStream ns     = Client.GetStream();

            _TcpDataExchange.WriteStreamString(ns, CryptDecryptData.CryptData(new string[] { _Details.GetGalleryCount, Utilizator_Trip.TripId }));

            int PhotosCount = int.Parse(CryptDecryptData.DecryptData(_TcpDataExchange.ReadStreamString(ns))[0]);

            List <Drawable> Poze = new List <Drawable>();

            for (int i = 0; i < PhotosCount; i++)
            {
                Poze.Add(null);
            }

            PhotosContainer.Adapter = new Utilizator_Trip_Galerie_GridViewAdapter(this, Poze.ToArray());

            new Thread(() => {
                for (int i = 0; i < PhotosCount; i++)
                {
                    Client = new TcpClient(_Details.ServerIP, _Details.LargeFilesPort);
                    ns     = Client.GetStream();

                    _TcpDataExchange.WriteStreamString(ns, CryptDecryptData.CryptData(new string[] { _Details.GetGalleryPhotoByIndex, Utilizator_Trip.TripId, i.ToString() }));

                    int ReadedBytes;
                    byte[] Buffer   = new byte[1000];
                    MemoryStream ms = new MemoryStream();

                    while ((ReadedBytes = ns.Read(Buffer, 0, Buffer.Length)) > 0)
                    {
                        ms.Write(Buffer, 0, ReadedBytes);
                    }

                    Client.Close();
                    ns.Dispose();

                    Drawable Photo = DrawableConverter.ByteArrayToDrawable(ms.ToArray(), this);

                    Poze[i] = Photo;

                    RunOnUiThread(() => {
                        PhotosContainer.Adapter = new Utilizator_Trip_Galerie_GridViewAdapter(this, Poze.ToArray());
                    });
                }
            }).Start();
        }